summaryrefslogtreecommitdiffstats
path: root/external/meta-openembedded
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-openembedded')
-rw-r--r--external/meta-openembedded/.gitignore2
-rw-r--r--external/meta-openembedded/README2
-rw-r--r--external/meta-openembedded/meta-filesystems/README13
-rw-r--r--external/meta-openembedded/meta-filesystems/conf/layer.conf2
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb21
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb22
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb7
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb3
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb14
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch25
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch46
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb71
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb80
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb35
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb3
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch8
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb9
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch32
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb16
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.0.bb13
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch62
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb19
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb18
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb8
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.2.bb47
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb72
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb78
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb13
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb15
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb2
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb22
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb24
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch32
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb20
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.13.0.bb19
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch37
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.0.bb18
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/fatresize/fatresize_1.0.2.bb15
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch54
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb34
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch52
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb40
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.9.bb41
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch79
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch40
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch30
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb68
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb76
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb29
-rw-r--r--external/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.3.bb29
-rw-r--r--external/meta-openembedded/meta-gnome/README30
-rw-r--r--external/meta-openembedded/meta-gnome/classes/gnome-help.bbclass69
-rw-r--r--external/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass10
-rw-r--r--external/meta-openembedded/meta-gnome/conf/layer.conf9
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb24
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.28.bb26
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.16.0.bb25
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb52
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend3
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch62
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch51
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch39
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_3.8.5.bb23
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/0001-Install-polkit-action-unconditionally-executable-pke.patch47
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/gparted_polkit10
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/org.yoctoproject.pkexec.run-gparted.policy20
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb40
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.1.0.bb39
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.74.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-meson.build-Give-note-if-sdl2-was-found.patch32
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.22.bb61
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.18.bb64
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb24
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gimp/mypaint/mypaint-brushes-1.0_git.bb12
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch180
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch39
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb142
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb17
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.34.2.bb17
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf/fix-meson-0.52.patch25
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb18
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.34.0.bb27
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb18
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb2
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch39
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch46
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb131
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch12
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-add-a-formatting-attribute-check.patch34
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-help-remove-YELP-macro.patch24
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-add-a-formatting-attribute-check.patch122
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb65
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.2.bb52
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb23
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb70
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc15
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch43
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch (renamed from external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch)10
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch (renamed from external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch)10
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0004-call-native-helpers.patch45
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/iconv-detect.h (renamed from external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/iconv-detect.h)0
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb2
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.5.bb28
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch48
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb56
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-Remove-help-directory-from-build.patch29
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-gedit-utils-qualify-handle_builder_error-with-format.patch31
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch31
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-workaround-void-pointer-arithmetic.patch57
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0002-suppress-string-format-literal-warning-to-fix-build-.patch38
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb33
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb44
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb20
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.1.bb19
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb17
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch33
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.7.bb37
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb17
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.34.0.bb17
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb19
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.1.bb24
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.34.1.bb33
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch45
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.34.5.bb55
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch45
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch40
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb28
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.5.bb36
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.34.2.bb34
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_3.34.0.bb25
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch42
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb42
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.34.0.bb51
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb29
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.32.0.bb18
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.34.1.bb35
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch37
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.34.1.bb28
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.34.2.bb39
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.2.bb59
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_3.34.2.bb29
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_3.34.5.bb64
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch28
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb34
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.1.bb32
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch35
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.34.2.bb37
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch41
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb32
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb29
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb13
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.8.3.bb11
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb6
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb32
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.4.0.bb26
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb70
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb87
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb12
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb33
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.12.bb33
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb19
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb14
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch (renamed from external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/files/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch)0
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb29
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb23
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb2
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb13
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb16
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.34.0.bb24
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb24
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.30.0.bb20
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.32.0.bb24
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb3
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb2
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb41
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.34.1.bb38
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch72
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb96
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch40
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb33
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.3.bb36
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb33
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch37
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.3.bb68
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_2.3.4.bb50
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch29
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch26
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch13
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_3.32.2.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.2.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb35
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb22
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-libsysprof-ui-Rename-environ-to-sys_environ.patch63
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch42
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch35
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/sysprof_3.34.1.bb37
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0001-musl-Hack-to-fix-build.patch36
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch46
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice_0.6.55.bb33
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.17.bb37
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb25
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus-native.bb34
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.bb37
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc36
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus/0001-Do-not-try-to-start-dbus-we-do-not-have-dbus-lauch.patch39
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb2
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/libhandy/libhandy_git.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch63
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch46
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb39
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch62
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb3
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_0.33.bb14
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb2
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb21
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-desktop.bb27
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch25
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch28
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb31
-rw-r--r--external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.113.bb29
-rw-r--r--external/meta-openembedded/meta-initramfs/README8
-rw-r--r--external/meta-openembedded/meta-initramfs/classes/klibc.bbclass4
-rw-r--r--external/meta-openembedded/meta-initramfs/conf/layer.conf2
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-Use-new-reboot-API-with-klibc.patch42
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-debug-image.bb (renamed from external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-debug-image.bb)2
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb (renamed from external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb)2
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-kexecboot-klibc-image.bb (renamed from external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-core/images/meta-initramfs-image.bb6
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-core/initrdscripts/files/init-debug.sh (renamed from external/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/files/init-debug.sh)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb (renamed from external/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/initramfs-debug_1.0.bb)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb18
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-dracut.sh-improve-udevdir.patch39
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch69
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb2
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb1
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb3
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch)4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch20
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb34
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.7.bb32
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch213
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch19
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch24
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch29
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch151
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb18
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.7.bb12
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc8
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.7.bb (renamed from external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb)0
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc28
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb24
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.7.bb26
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch2
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch6
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch2
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch13
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch8
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch6
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch2
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch10
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch5
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch5
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch14
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch10
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch161
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch8
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch11
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch7
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch10
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch46
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch21
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch9
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch13
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch2
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch4
-rw-r--r--external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb10
-rw-r--r--external/meta-openembedded/meta-multimedia/README10
-rw-r--r--external/meta-openembedded/meta-multimedia/conf/layer.conf6
-rw-r--r--external/meta-openembedded/meta-multimedia/licenses/BellBird25
-rw-r--r--external/meta-openembedded/meta-multimedia/licenses/CMU-Tex20
-rw-r--r--external/meta-openembedded/meta-multimedia/licenses/Fraunhofer_FDK_AAC_Codec_Library_for_Android92
-rw-r--r--external/meta-openembedded/meta-multimedia/licenses/Sun23
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc20
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb9
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.2.2.bb20
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.10.bb7
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.11.bb7
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna/move_vapigen.patch (renamed from external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/files/move_vapigen.patch)0
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd/0001-Swtich-to-new-GUPnP-API.patch101
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.4.bb14
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.5.bb16
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.0.bb13
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb13
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc14
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.0.2.bb8
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.2.bb8
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb15
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb68
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb69
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch26
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb5
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch176
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-allocate-space-for-buf-on-heap.patch46
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb30
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-Do-not-use-obsolete-pow10f-function.patch50
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/Avoid-ambiguity-in-div-invocation.patch32
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb31
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb27
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec/0001-define-BASELIB-make-variable.patch31
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb8
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb6
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer/0001-add-gupnp-1.2-API-support.patch123
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb4
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb3
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb101
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch30
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch32
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch44
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch27
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch13
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch24
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/ca-AB-Calgary48
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ATSC-center-frequencies-8VSB410
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CA-SF-Bay-Area81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CO-Denver116
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-HRC-center-frequencies-QAM256767
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-IRC-center_frequencies-QAM256767
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-HRC-center-frequencies-QAM256767
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-IRC-center-frequencies-QAM256767
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-Standard-center-frequencies-QAM256961
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ID-Boise38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MA-Boston68
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MI-Lansing32
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-NTSC-center-frequencies-8VSB410
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-PA-Philadelphia56
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/activy.rcmm53
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/galaxis.rcmm50
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge.rc524
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge2.rc540
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge_grey.rc539
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/mbo_81095-code_562.rc539
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_088.rc536
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_155.rc535
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips.rc532
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips1358.rc537
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/technotrend.rc541
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Innsbruck50
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabel-Braunau194
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabelsignal290
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-KarrerNet187
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Liwest227
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-SalzburgAG50
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Vienna10
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/be-IN.DI-Integan114
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/br-Net-Digital13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Bern-upc-cablecom11
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-GGA-Pratteln287
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Rega-Sense209
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Video200012
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Zuerich-upc-cablecom11
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-interGGA223
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-quickline-ewaarberg8
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-Moravianet108
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-UPC227
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Berlin26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Brandenburg-Havel226
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Hessen-Unitymedia343
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_BW23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_Deutschland-Hannover219
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Muenchen174
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-NetAachen292
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Primacom251
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Unitymedia260
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-iesy146
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-komro-Rosenheim226
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-neftv237
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Aarhus-Antenneforening9
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Copenhagen-AFDK67
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Odense66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-YouSee223
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/es-Euskaltel117
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-HTV234
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Joensuu-Tikka90
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Kaisa226
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-TTV18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Turku170
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-dna237
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-jkl66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-sonera196
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-vaasa-oncable90
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fr-noos-numericable314
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hr-B.net250
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hu-Digikabel144
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/lu-Ettelbruck-ACE132
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Delta15
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-REKAM-CAIW_Gouda18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Ziggo17
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-CanalDigital97
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-Get169
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ro-DigiTV201
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-Gothnet121
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-comhem248
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ABS1-75.0E66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC1-103w19
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC10_C-135W21
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC11_C-131W30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC16-85.0W27
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC18_C-105W20
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC4-101w59
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC5-79w19
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC6-72w331
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC8_C-139W57
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9-83.0W123
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9_C-83.0W49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Agila2_C-146.0E186
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amazonas-61.0W411
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amos-4w370
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1-107.3W35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1R_C-107.3W93
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F2_C-111.1W12
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F3-119W560
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Apstar6_C-134.0E36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat2_C-100.5E156
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat3S_C-105.5E326
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Asiasat4_C-122.2E76
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-19.2E10
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-23.5E450
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-28.2E863
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-1-12.5W270
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-3-5.0W364
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B1-75.0W67
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B2-65.0W251
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B4-70.0W291
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilsatB4-84.0W659
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ChinaSat5A-87.5E36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Echostar-10+11-110W281
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Estrela-do-Sul-63.0W195
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Eutelsat9-9.0E114
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/EutelsatW2-16E451
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Express-3A-11.0W11
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM1-40.0E26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM2-80.0E168
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM22-53.0E51
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy10R-123w59
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy13_C-127W39
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy14_C-125W30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy15_C-133W22
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy16_C-99.0W137
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17-91.0W370
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17_C-91.0W48
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19-97.0W130
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19_C-97.0W138
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy23_C-121W111
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy25-93.0W474
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy27-129w11
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28-89.0W315
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28_C-89.0W30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C-95.0W10
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C_C-95.0W29
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hispasat-30.0W297
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hotbird-13.0E778
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/IA7-129w11
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat2E_C-83.0E296
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat3A_C-93.5E206
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4A_C-83.0E296
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4B_C-93.5E156
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel4-72.0E34
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel904-60.0E90
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1002-1.0W146
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-11-43.0W11
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-12-45.0E106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1R-45.0W331
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-3R-43.0W259
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-6B-43.0W115
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-705-50.0W35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-707-53.0W19
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-903-34.5W35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-905-24.5W51
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-907-27.5W51
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat21_C-58.0W273
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat34_C-55.5W371
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat8_C-166.0E116
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/JCSat3A_C-128.0E46
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Measat3_C-91.5E166
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-10-37.5W75
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-7-22.0W179
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-806-40.5W843
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nahuel-1-71.8W67
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nilesat101+102-7.0W314
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusC1-156E146
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusD1-160.0E18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PAS-43.0W34
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PalapaC2_C-113.0E116
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SBS6-74w11
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES1_C-101W75
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2-87.0W59
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2_C-87.0W66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES3_C-103W111
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ST1_C-80.0E76
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-5-116.8W555
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-6-113.0W131
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Sirius-5.0E519
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telecom2-8.0W122
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telkom1_C-108.0E146
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar10_C-76.5E196
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar12-15.0W194
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar18_C-138.0E46
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom1A_C-120.0E66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom2_C-78.5E96
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom5_C-78.5E216
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thor-1.0W506
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Turksat-42.0E818
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Vinasat1_C-132.0E26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Yamal201-90.0E209
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ad-Andorra49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/at-All591
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Adelaide79
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-AdelaideFoothills66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Ballarat66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Bendigo326
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Brisbane79
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Cairns66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Canberra-Black-Mt66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Coonabarabran57
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Darwin65
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Devonport95
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-FraserCoast-Bundaberg66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-GoldCoast108
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Goulburn-Rocky_Hill664
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hervey_Bay-Ghost_Hill81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hobart66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Mackay68
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne88
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Selby66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Upwey66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-MidNorthCoast131
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Newcastle66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth_Roleystone66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SpencerGulf40
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SunshineCoast66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sutherland63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney82
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney_Kings_Cross68
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Tamworth200
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Townsville66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-WaggaWagga66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Wollongong149
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-canberra66
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-unknown13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Australia1209
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Default691
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Taiwan160
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-With167kHzOffsets1869
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ax-Smedsbole34
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/be-All62
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/bg-Sofia58
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-All339
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Citycable325
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Geneva147
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/co-All34
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/cz-All483
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Baden-Wuerttemberg194
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bayern237
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Berlin110
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Brandenburg50
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bremen74
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Dusseldorf144
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hamburg98
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hessen194
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Mecklenburg-Vorpommern110
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Niedersachsen270
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Nordrhein-Westfalen231
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Rheinland-Pfalz98
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Saarland50
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen134
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen-Anhalt122
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Schleswig-Holstein182
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Thueringen86
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/dk-All231
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ee-All393
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Albacete145
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alfabia145
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alicante85
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Almeria108
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alpicat73
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Asturias194
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-BaixoMinho81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Bilbao72
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Cadiz294
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Carceres108
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Collserola121
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Donostia122
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Granada73
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Huesca124
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Las_Palmas149
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Lugo74
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Madrid142
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Malaga73
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Muros-Noia85
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Mussara73
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Pamplona85
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-SC_Tenerife149
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santander50
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santiago_de_Compostela85
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Sevilla231
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Tenerife145
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valencia97
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valladolid61
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vilamarxant25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vitoria-Gasteiz74
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Zaragoza62
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski_Konginkangas23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ahtari13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Alajarvi23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Anjalankoski_Ruotila28
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Espoo38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Eurajoki38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hameenlinna38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hamina38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hausjarvi38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Helsinki38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jokioinen38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jyvaskyla38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kaarina38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kajaani38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kangasala38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Karkkila38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kiiminki38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kokkola38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kontiolahti38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kouvola38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kuopio38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lahti38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lappeenranta38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lohja38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Loviisa38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Mikkeli38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nousiainen38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nurmijarvi38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Porvoo38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Salo38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Savonlinna38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Seinajoki38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Tyrnava38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ulvila38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vaasa38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Valkeakoski38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vesilahti38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ylivieska38
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Ahovaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Hetta13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Kuttanen13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Espoo33
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Eurajoki28
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Fiskars23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Haapavesi23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenkyro_Kyroskoski23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenlinna_Painokangas18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hanko23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hartola18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinavesi18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinola23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Kyparavaara18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Paljakka18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyvinkaa23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ii_Raiskio13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Iisalmi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen_Riitiala23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Janispaa13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Naatamo13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ivalo_Saarineitamovaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jalasjarvi23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Halli23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Kaipola23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Matkosvuori23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Ouninpohja18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsankoski23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joensuu_Vestinkallio18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joroinen_Puukkola18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutsa_Lankia23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutseno28
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juupajoki_Kopsamo18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juva23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla33
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla_Vaajakoski18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaavi_Sivakkavaara18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kajaani_Pollyvaara18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kalajoki18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangaslampi23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangasniemi_Turkinmaki23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kankaanpaa23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karigasniemi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karkkila23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karstula18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karvia18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaunispaa13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kemijarvi_Suomutunturi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kerimaki23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu_Haapamaki23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kihnio23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kiihtelysvaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kilpisjarvi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kittila_Levitunturi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kolari_Vuolittaja13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Koli23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korpilahti_Vaarunvuori23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korppoo23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kruunupyy28
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Haukela18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Lentiira18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Niva18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Harjunsalmi23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Puukkoinen18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuopio28
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kurikka_Kesti23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kustavi_Viherlahti23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuusamo_Hamppulampi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kyyjarvi_Noposenaho18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lahti33
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lapua28
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa_Vihtavuori23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lavia18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lohja23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Loimaa23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luhanka23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luopioinen23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantta23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantyharju18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mikkeli23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Muonio_Olostunturi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Keski-Siikajarvi18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Pisa18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia_Siuro23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nummi-Pusula_Hyonola23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_Njallavaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_raja13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Konnanvaara23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Kortevaara18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Orivesi_Talviainen18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Oulu33
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki_Arrakoski23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Paltamo_Kivesvaara18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parainen_Houtskari23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parikkala23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parkano_Sopukallio23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello_Ratasvaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Perho23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pernaja18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pieksamaki_Halkokumpu18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pihtipudas18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Porvoo_Suomenkyla23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Posio13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Iso-Syote18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Kangasvaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Puolanka23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhatunturi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhavuori18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pylkonmaki_Karankajarvi18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Mestauskallio23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Piehinki18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Haasionmaa13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Leppiaho13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautavaara_Angervikko23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautjarvi_Simpele18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ristijarvi18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Kaihuanvaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Karhuvaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Marasenkallio13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Rantalaki13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sonka13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sorviselka13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruka18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruovesi_Storminiemi23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Kalmari18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Mahlu18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Hirvasvaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Ihistysjanka13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Naruska13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sallatunturi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sarivaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salo_Isokyla23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Martti13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Tanhua13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Siilinjarvi23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Simo_Viantie18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sipoo_Norrkulla23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Pittiovaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Vuotso13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sulkava_Vaatalanmaki18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ala-Vuokki13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ammansaari13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Juntusranta13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Myllylahti13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sysma_Liikola23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski_Taivalvaara13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammela28
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammisaari23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere33
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere_Pyynikki28
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tervola18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Turku33
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Nuvvus13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Outakoski13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Polvarniemi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Rovisuvanto13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Tenola13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Uusikaupunki_Orivo23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaala18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaasa18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Valtimo18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Jyranvuori23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Roismala18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Savi18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vantaa_Hakunila23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Varpaisjarvi_Honkamaki23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Virrat_Lappavuori23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vuokatti23
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Ainiovaara18
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Raanujarvi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllas13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllasjarvi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fr-All481
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/gr-Athens95
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hk-HongKong94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hr-All315
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Bekescsaba53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Budapest53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Csavoly-Kiskoros42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Debrecen-Komadi53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Fehergyarmat42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gerecse-Dorog-Tatabanya53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gyor53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kabhegy-Kaposvar-Tamasi42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karcag53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kecskemet53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Miskolc-Aggtelek-Fony53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Mor-Siofok-Veszprem-Zirc53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nagykanizsa-Barcs-Keszthely53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Pecs-Siklos42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Sopron-Koszeg53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szeged53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szekesfehervar53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szentes-Battonya42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szolnok53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar53
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-CairnHill26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ClermontCarn26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Dungarvan26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-HolywellHill26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Kippure26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Maghera26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-MountLeinster26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Mullaghanish26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-SpurHill26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ThreeRock26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Truskmore26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-WoodcockHill26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/il-All26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ir-Tehran25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/is-Reykjavik226
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/it-All761
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lt-All302
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lu-All49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lv-Riga92
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nl-All483
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/no-Trondelag_Stjordal39
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandInfill42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandWaiatarua42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Christchurch42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Dunedin42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Hamilton42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayMtErin42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayNapier42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Manawatu42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Tauranga42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Waikato42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonInfill42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonKaukau42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonNgarara42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Czestochowa46
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Gdansk25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krakow82
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krosno_Sucha_Gora35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Rzeszow13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Szczecin46
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Warszawa64
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Wroclaw13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pt-All85
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ro-Bucharest37
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Krasnodar26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Novosibirsk26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Volgodonsk26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aareavaara5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Adolfstrom5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Agnas5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Akersjon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alafors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Albacken5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Algsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alingsas_Mariedal35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvangen35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalen_Brunnsberg13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalsasen13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbacka5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbyn70
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Ribovardo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Tjultrask5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amot13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amotfors_Kroppstad5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-An5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Andersvattnet_Ersmyrberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ange_Snoberg63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angebo6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angelholm_Vegeholm35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angersjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Are35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjang35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjeplog_Galtispouda35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arosjokk5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvidsjaur_Jultrask35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvika_Orshultaberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-As5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asele_Aslia5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asmon_Sormoflo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aspeboda13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Atvidaberg35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Avesta_Krylbo35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backe5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backefors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bankeryd35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bengtsfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Berghamn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergshamra_Vaxtuna35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergsjo_Balleberget13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergvik13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Billsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bispfors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkliden_Tornehamn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorksele5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkvattnet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorna5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurberget_Hemtjarn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurtrask5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boberg5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boda_Fagerum35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boden_Skogsa5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bograngen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollebygd36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollnas63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bonhamn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Dalsjofors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Sjobo35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgafjall5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgholm_Ramsattra31
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgsjobyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borkan5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Idkerberget63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Nygardarna49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bortansbyn_Bortan5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bosebyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Botsmark5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bottnaryd_Ryd13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredaker5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Kubbe5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Vasterfannbyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredsjon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bromsebro35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bruzaholm13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bydalen_Hovdehogen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdetrask5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdsiljum5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Byxelkrok25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dadran5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dal5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalfors13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dals_Langed5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalstuga13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degeberga5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degerfors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary_Kolaboda5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Djura13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dorotea5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Drevdagen13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duved5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas_Basna13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edane5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsbyn13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsele5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsleskog_Hogheden5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Eksharad_Ekesberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ellos5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Emmaboda_Balshult36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enafors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enviken36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Erikslund_Bergasen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta_Jattasen35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falerum_Centrum13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falkenberg_Ringsegard5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faltrask5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falun_Lovberget36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farila13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farjestaden_Algutsrum35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkerstrask25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkestrask30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farosund_Bunge31
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fengersfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Filipstad_Klockarhojden36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Finnveden36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjal5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjallsta5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flarke5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Floda5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flurkmark5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyggsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Folsbyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsed5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo_Yttersel5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsnaset5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Frankrikegarden_Frankrike5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fransta5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredrika5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredriksberg13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredros5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fritsla13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fullsjon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Funasdalsberge35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Telestation5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Furudal13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gaddede5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallivare36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallsatter5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gardikfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gargnas5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Garpenberg_Kuppgarden13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gavle_Skogmur36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gillhov5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Glimakra5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnarp13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnesta25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnosjo_Marieholm13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gordalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Brudaremossen36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Slattadamm31
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Graninge5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmark5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmyr5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grebbestad35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grevie5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grovelsjon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grums5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg_Rodvattnet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gullbrandstorp13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gumhojden5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarn_Sorsjoliden35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbo13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarskog5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gusum13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hadanberg5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hagfors_Varmullsasen36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hakafot5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halaforsen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Haljeboda5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallan5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallaryd13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallastrom5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallbo13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halle5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halleviksstrand5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Hamnen31
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Oskarstrom36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hamburgsund5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harads5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harnosand_Harnon36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harrsjon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hassela13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Havdhem61
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hede35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedemora6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedenaset5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helgum5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helsingborg_Olympia36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemavan35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemson5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Henan5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hennan13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hestra_Aspas13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hjo_Grevback13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hofors36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogfors13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoglunda5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogsby_Virstad36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogvalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holjes5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hollviken_Stora_Hammar30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holsbybrunn_Holsbyholm13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horby_Sallerup36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horken13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hornon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hotagen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoting5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hovfjallet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Forsa36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Galgberget36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hummelholm5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hunnebostrand5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Huskvarna13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Husum5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idivuoma5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idre36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingatorp13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingvallsbenning6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik_319530
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ivarsbyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jakkvik_Frakenmyren5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jamjo25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarkvissle5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarnforsen13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarpen_Mellangardsberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvso13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvtrask5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Joestrom5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Nyborg35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Tjalmejaure36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jonkoping_Bondberget36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jormvattnet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jude5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Hamptjarnsberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Vallen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kagerod_Mollarp5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalarne5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalix36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallered5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallinge_Kalleberga35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallror5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kampersvik_Ekeberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karbole13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karesuando5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlanda5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlsborg_Vaberget13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlshamn36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Jamjo35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Vamo36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlstad_Sormon36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kasta_Ringkallen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxas5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxholmen_Vistakulle13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kinnastrom13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kiruna_Kirunavaara63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kisa70
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klingsta5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klovsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knared13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knavland5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopmanholmen63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopparberg35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Koppom35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Korstrask5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kottsjon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kovland5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Lugnvik36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Ostby5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krangede5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristineberg5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristinehamn_Utsiktsberget36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krokstrand5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kultsjon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungalv35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsater13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsbacka_Ojersbo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_GI13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_Gl5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungshamn35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kurravaara5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvarnsvedjan5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Arrevare5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Tavvevare5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kyrkesund5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lagfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laggarberg5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laisvall5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langa5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langsele5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan_Engelsfors6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxviken5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Asledsberget35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Karingberget13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lekvattnet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lerdala13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lesjofors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden_Osterstrom5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilla_Edet35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillogda5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillpite_Bastaberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilltjara_Digerberget13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Limedsforsen13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lindshammar_Ramkvilla13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linkoping_Vattentornet36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linsell5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lit5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn_319330
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungaverk5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungdalen35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljustorp5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljusvattnet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loderups_Strandbad5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loffstrand36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lofsdalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Logdealv5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lonneberga35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lorstrand13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lovanger5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ludvika_Bjorkasen36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lumsheden_Trekanten13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lycksele_Knaften36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mahult13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mala5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malmo_Jagersro36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malung36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Manserud5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mardsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mariannelund6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Markaryd_Hualtet49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matfors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matsdal5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Medstugan5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mittadalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjallom35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjosjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moliden5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molnbo_Tallstugan35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molndal_Vasterberget30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mora_Eldris63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Morkret5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moskosel5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Motala_Ervasteby70
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mullsjo_Torestorp35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkedal35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkfors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Muodoslompolo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nalden5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasaker5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasanget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nassjo63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasteln5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Navekvarn6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Naverede_Oberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Niemisel5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordanede5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordmaling5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norra_Rorum5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrahammar13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norraker5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrhassel5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrkoping_Krokek36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra_Bergen61
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norsjovallen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyhem5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nykoping13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyliden5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nynashamn_Vattentornet35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Odsmal5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olden_Telestation5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olkamangi5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olofstrom5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orebro_Lockhyttan70
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orkelljunga35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ornskoldsvik_As70
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oskarshamn35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osmo_Bjorsta10
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osterforse5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostergraninge5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostersund_Brattasen36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osthammar_Valo36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostmark5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overammer5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overhogdal5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overkalix36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overklinten5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overrissjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overtornea_Sarkivaara35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overturingen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oxberg13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pajala35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistom13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistrom5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pilgrimstad5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Porjus35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Puoltsa5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ragunda35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsele_Skavasen35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramundberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randijaure5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ransater5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rattvik6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rengsjo13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Renstrom5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Resele5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Risback5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rissna5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ritsem5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Robertsfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rojdafors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ronnang5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rorbacksnas13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rosson5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rusksele5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sadvaluspen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sagmyra13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saivomuotka5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salen13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salfjallet13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sarna_Mickeltemplet13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Satila13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savar_Sorbyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savast5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saxdalen13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seitevaare5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Selanger5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seltjarn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sidensjo_Aberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Siljansnas_Uvberget13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Simrishamn_Fabriksgatan35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalan5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalmsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarstad13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarvangen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skattungbyn13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skaulo_Pyhakielinen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skelleftea36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skene_Nycklarberget13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skillingsfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skorped5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skottsund5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skovde70
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skroven5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skymnas5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Slussfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Smedjebacken_Uvberget36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderhamn36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderkoping36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sodertalje_Ragnhildsborg36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Hallsta63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Multra63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soraker5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorbygden5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorflarke5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Nalovardo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Vattentornet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsjon13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soukolojarvi5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stalon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stigsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Marieberg36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Nacka71
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Hullsjon5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Intaget35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stomne_Skasas5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stora_Skedvi13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stordalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storfjaten13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storlien5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storuman36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromstad36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromsund_Grelsgard35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stugun5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Styrsjobo13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suddesjaur5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suijavaara5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sulvik5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundborn13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsbruk36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsvall_S_Stadsberget36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_As5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_Blabarskullen36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunnemo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svaneholm5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svanstein5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svardsosund_Svardso5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svartnas13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Brickan36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Ransjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svenstavik5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svinesund5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Syssleback35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Taberg13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tandadalen6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tannas_Vastra5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tanndalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnaby_Ryfjallet35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnamo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tasjo36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tavelsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tocksfors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tollsjo13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tormestorp5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tornetrask5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torpshammar35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torsby_Bada36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranas_Bredkarr35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranemo13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Transtrand_Bolheden36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Traryd_Betas36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trehorningsjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trelleborg_Gylle35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trollhattan36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trosa25
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tullinge_Hamra35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tyringe5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tystberga6
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Herrestad36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Kapelle5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uggleheden5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullanger_Skidsta5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullared13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulricehamn36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvohamn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvshyttan_Porjus13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umea_Mariehem5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umfors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umgransele_Granselelund5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Undersaker5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Rickomberga13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Vedyxa36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utansjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utanskog5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaddo_Elmsta36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valadalen5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valanger5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valdemarsvik36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valsjobyn5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vannas_Granlundsberget36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vansbro_Hummelberget13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varberg_Grimeton63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varmvattnet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varnamo_Alandsryd5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassbotten5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassijaure5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastansjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vasteras_Lillharad82
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastervik_Farhult36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vato5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaxbo13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vemdalsskalet5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vessigebro13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vetlanda_Nye13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vidsel5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vietas5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vikmanshyttan13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Viksjo5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vilhelmina35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Villands_Vanga5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindelgransele5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindeln_Renfors35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Virserum63
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Follingbo36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Hamnen65
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Havdhem35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visingso13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vislanda_Nydala36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitberget5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand_Vagsjofors5
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Voxna13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vuollerim35
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ystad_Metallgatan36
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Yttermalung13
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/si-Ljubljana27
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaBystrica30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaStiavnica30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bardejov30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bratislava48
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Cadca30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Detva30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Hnusta30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Kosice30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-KralovskyChlmec30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Krompachy30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Lucenec30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Medzev30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Namestovo30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Nitra30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Poprad42
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-PovazskaBystrica30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Presov30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Prievidza30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Revuca30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Roznava30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Ruzomberok30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Snina30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-StaraLubovna30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Sturovo30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Trencin30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Zilina30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/tw-All132
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kharkov49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kiev49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Lozovaya49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Odessa49
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ug-All45
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Aberdare81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Angus94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BeaconHill94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Belmont94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bilsdale94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BlackHill106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Blaenplwyf81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BluebellHill94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bressay81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrierleyHill93
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolIlchesterCrescent93
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolKingsWeston93
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bromsgrove81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrougherMountain94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Caldbeck94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CaradonHill94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Carmel81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chatton81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chesterfield81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Craigkelly106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CrystalPalace94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Darvel94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Divis94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Dover81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Durris94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Eitshal81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-EmleyMoor106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenham94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenton94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Ferryside57
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Guildford81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hannington94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hastings81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Heathfield81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HemelHempstead81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HuntshawCross81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Idle81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KeelylangHill81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Keighley81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KilveyHill81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KnockMore81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Lancaster81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-LarkStoke81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Limavady81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Llanddona81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Malvern81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Mendip94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Midhurst81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-MoelyParc94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Nottingham93
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-OliversMount81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Oxford106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PendleForest81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Plympton81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PontopPike106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Pontypool81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Preseli81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Redruth81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Reigate81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RidgeHill94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosemarkie81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosneath81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rowridge106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RumsterForest81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Saddleworth81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Salisbury81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SandyHeath94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Selkirk81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sheffield106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-StocklandHill81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Storeton93
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sudbury81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SuttonColdfield106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Tacolneston94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TheWrekin81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Torosay81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TunbridgeWells81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Waltham106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Wenvoe106
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WhitehawkHill81
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WinterHill94
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Hanoi26
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Thaibinh26
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb27
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb30
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch28
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb22
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch76
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb10
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc12
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch49
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch178
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch304
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb24
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb23
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/files/gerbera.service13
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb13
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mp3_0.10.31.bb14
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mpegdemux_0.10.85.bb12
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo.inc14
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb73
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/gcc_4.6.patch18
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/ptr-array.patch46
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax_0.10.1.bb35
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad/buffer-overflow-mp4.patch36
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb61
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch32
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch37
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch27
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch20
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb43
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch35
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch22
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb29
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch33
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch45
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0407-mulawdec-fix-integer-overrun.patch47
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb47
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0001-cdio-compensate-for-libcdio-s-recent-cd-text-api-cha.patch193
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0002-Fix-opencore-include-paths.patch58
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb35
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc29
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch38
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp_0.10.8.bb18
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch32
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch35
-rw-r--r--external/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--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/check_fix.patch19
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gst-inspect-check-error.patch16
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.c487
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.h194
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb50
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb38
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb40
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc21
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch32
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch15
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_1.0.bb3
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb33
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb7
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb3
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb19
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb3
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb3
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc29
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch83
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer_git.bb2
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb1
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb30
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb21
-rwxr-xr-xexternal/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb26
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.2.bb20
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb19
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa/libdvbcsa.pc10
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb19
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb29
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc1
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch6
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch36
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.16.bb2
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-StringBuffer-Include-cstddef-for-size_t.patch27
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0002-Include-stdexcept-for-runtime_error.patch38
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb2
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb37
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.34.bb37
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch194
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-dev_setup.sh-Remove-the-git-dependency.patch48
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-dev_setup.sh-Remove-the-TERM-dependency.patch37
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Ignore-missing-package-manager.patch31
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-pip-requirements-Don-t-install-requirements-with-pip.patch103
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0006-Use-python3-and-pip3-instead-of-python-and-pip.patch121
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0007-mycroft.conf-Use-pocketsphinx-by-default.patch30
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/dev_opts.json1
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft-setup.service12
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft.service14
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb87
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch33
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch31
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb20
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.19.1.bb25
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch32
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb42
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb49
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.10.bb2
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb52
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb4
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb4
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb4
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb2
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb2
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb9
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch46
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb27
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb21
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc113
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-Use-packageconfig-to-detect-mmal-support.patch61
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch13
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch17
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch46
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch19
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch17
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch234
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0009-Avcodec-swscale-use-AV_PIX_FMT-consistently.patch293
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0010-SWSCALE-fix-compilation-with-4.x.patch45
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_2.2.2.bb19
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.9.2.bb133
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch37
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb1
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch29
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch30
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch96
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch33
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb23
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb28
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb24
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc2
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch41
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch19
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch222
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/no-tests.patch24
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb27
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb4
-rw-r--r--external/meta-openembedded/meta-networking/MAINTAINERS6
-rw-r--r--external/meta-openembedded/meta-networking/README6
-rw-r--r--external/meta-openembedded/meta-networking/classes/waf-samba.bbclass6
-rw-r--r--external/meta-openembedded/meta-networking/conf/layer.conf3
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt41
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt1
-rw-r--r--external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt1
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.8.2.bb27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/adcli/files/Fixed-build-error-on-musl.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch81
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb60
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb41
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0002-include-missing-stdexcept-for-runtime_error.patch32
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb20
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb9
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/crda-4.14-python-3.patch101
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb14
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb24
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch45
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch74
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb3
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/firewalld.init48
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.3.bb89
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch44
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch58
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch24
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch186
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service5
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb223
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb237
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch83
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch14
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch40
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils20
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils23
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch17
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb206
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch89
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch34
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb52
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.7.bb67
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch44
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb42
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.6.bb43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch38
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20191006.bb50
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch975
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/1571.patch22
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/install-protocol.patch14
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb93
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.10.bb87
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb28
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb28
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb59
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb40
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb52
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch53
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch22
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch74
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch80
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch165
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch54
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch116
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch35
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-for-n-dhcp4.patch61
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch72
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-Fix-build-with-musl-systemd-specific.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch77
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch47
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd110
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb144
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.10.bb166
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-trojans-tncc-wrapper.py-convert-to-python3.patch71
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python3-networkmanager_2.1.bb13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch103
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch86
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch30
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch42
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch58
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch59
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch48
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.15.bb335
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb314
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc_1.18.bb31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch60
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init53
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/volatiles.99_snort2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb103
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.16.bb113
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb9
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch38
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch88
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch143
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch23
-rwxr-xr-xexternal/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d112
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service10
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb42
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb24
-rw-r--r--external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.4.0.bb21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb7
-rw-r--r--external/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb3
-rw-r--r--external/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb131
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb59
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb64
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch94
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch163
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch152
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Bug-fix-for-pid_t-not-found-on-musl.patch30
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch36
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch89
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch35
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch24
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb80
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb96
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch35
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb3
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init94
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service12
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb16
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/strncpy-truncation.patch39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb1
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb113
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.0.bb120
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb45
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.20.bb45
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch32
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb65
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.4.bb64
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher.bb34
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-function-saHpiSensorThresholds.patch35
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch67
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch67
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch76
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch23
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immom_python-convert-to-python3.patch50
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch100
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb74
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb77
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.3.1.bb12
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb18
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb7
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb22
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.49.bb20
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb5
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.18.bb5
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch506
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch20
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0002-smblib-fix-buffer-over-read.patch39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch22
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch12
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch40
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch8
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.27.bb115
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.9.bb117
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb5
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch46
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch71
-rw-r--r--external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb42
-rw-r--r--external/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-devtools/python/python3-ldap_3.2.0.bb31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf85
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb80
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb74
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch28
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-package-qa-error.patch32
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-make-Replace-cp-a-with-mode-preserving-options.patch51
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch49
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.7.bb64
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb60
-rw-r--r--external/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.15.bb23
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb35
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.0.bb33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb34
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb34
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch88
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb16
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb15
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.3.bb17
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch289
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch631
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch549
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb15
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.7.bb14
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb20
-rw-r--r--external/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.5.bb31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.5.bb32
-rw-r--r--external/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb34
-rw-r--r--external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb35
-rw-r--r--external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200319.bb25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb5
-rw-r--r--external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch71
-rw-r--r--external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb22
-rw-r--r--external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb36
-rw-r--r--external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch112
-rw-r--r--external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb9
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.8.3.bb27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.1.bb29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.1.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb139
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb139
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch60
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch42
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch58
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch50
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch177
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch212
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch51
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch129
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch45
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch51
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb90
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb101
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch168
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch10
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch42
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch15
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch15
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb66
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch57
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch28
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb32
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default)0
-rwxr-xr-xexternal/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch (renamed from external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch)0
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb77
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb76
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp/0001-Use-foreign-switch-for-automake.patch28
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb5
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc41
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb40
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb7
-rw-r--r--external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb8
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch42
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch77
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch37
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch112
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/0001-Fix-compilation-with-musl.patch29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.3.bb134
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.5.bb138
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils/0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb37
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch32
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb7
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb7
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema/files/LICENSE34
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc3
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb8
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.81.bb8
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf3
-rwxr-xr-xexternal/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb35
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb69
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.4.bb69
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch108
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.12.0.bb58
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.5.0.bb63
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.19-1.bb25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb24
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb11
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail/02_remove_SSLv3.patch1576
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.4.bb20
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/fping/fping_4.2.bb25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.10.bb36
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb37
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.0.bb39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.2.bb39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.8_typo.patch15
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_netlink-invalid-arg.patch16
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_typo.patch24
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/nlrequest.c_packet-too-small_fix.patch16
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric_0.3.bb17
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch10
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch86
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch115
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch249
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch1086
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch33
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch87
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch30
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch36
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch207
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch23
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch220
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch61
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf8
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample40
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service11
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb98
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.29.bb41
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.31.bb43
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch87
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch56
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch184
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch171
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb68
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.7.bb71
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch172
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch173
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb49
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.3.0.bb54
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch15
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch48
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb45
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb56
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch170
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch176
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.1.bb58
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb46
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch48
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch59
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch30
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/musl-no-on_exit.patch37
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb9
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb1
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger/0001-Fix-musl-build.patch31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger_1.5.0.bb24
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger_1.7.0.bb25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.10.bb52
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb52
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.93.bb25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.20.bb19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb36
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat/0001-Depend-on-haveuint128.h-for-umult64.c.patch44
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.31.bb27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb56
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb56
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/netcat/netcat/gettext.patch16
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb1
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2/0001-fetch-ocsp-response-use-python3.patch27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb41
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nis/nis.inc2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch45
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb62
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb63
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ntop/ntop/embed-libs.patch20
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb8
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch16
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb178
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb177
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp.socket9
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp@.service8
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb38
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/nvmetcli/nvmetcli_0.7.bb39
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch38
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.98.bb40
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.99.bb38
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch31
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch7
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch30
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb110
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.29.bb112
-rwxr-xr-xexternal/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn12
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.6.bb71
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.9.bb73
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/phytool/phytool.bb4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch264
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-endian.h-for-htole32-and-friends.patch25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-Remove-unused-include-for-execinfo.h.patch27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-neigh.c-Do-not-include-net-if_packet.h.patch26
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_18.1.bb30
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_28.0.bb42
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Fix-build-with-format-string-checks.patch29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Make-space-for-flags-from-environment.patch95
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-ruli_srv-Mark-prev_addr_list_size-as-unused.patch35
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ruli/files/Makefile.patch122
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ruli/files/float-conversion.patch19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb27
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.0.0.bb13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb13
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch25
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch96
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch36
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.8.0.bb20
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/spice/usbredir_git.bb21
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch8
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb134
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.4.bb135
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.49.bb37
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.56.bb37
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch61
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch9
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch31
-rwxr-xr-xexternal/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest4
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch30
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb52
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb51
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.bb19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb19
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.conf330
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service6
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb9
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.2.bb17
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.8.bb16
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-startup-scripts.patch78
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.4.bb46
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch29
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.6.10.bb94
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.4.bb81
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_0.9.bb16
-rw-r--r--external/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb18
-rw-r--r--external/meta-openembedded/meta-oe/README15
-rw-r--r--external/meta-openembedded/meta-oe/classes/breakpad.bbclass3
-rw-r--r--external/meta-openembedded/meta-oe/classes/gitpkgv.bbclass29
-rw-r--r--external/meta-openembedded/meta-oe/classes/gitver.bbclass2
-rw-r--r--external/meta-openembedded/meta-oe/classes/itstool.bbclass5
-rw-r--r--external/meta-openembedded/meta-oe/classes/scancode.bbclass10
-rw-r--r--external/meta-openembedded/meta-oe/conf/layer.conf20
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb14
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb35
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch40
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc.tmpfiles (renamed from external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lirc.tmpfiles)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc_options.conf (renamed from external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lirc_options.conf)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.conf (renamed from external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.conf)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.init (renamed from external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.init)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.service (renamed from external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.service)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircexec.init (renamed from external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircexec.init)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/pollfd.patch (renamed from external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/pollfd.patch)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.9.4d.bb (renamed from external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb)11
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend20
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch35
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch31
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch (renamed from external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch)10
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch56
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch41
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch66
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch29
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch (renamed from external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch)10
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch (renamed from external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch)12
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch19
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch26
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch52
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch54
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb76
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch33
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch41
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch35
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb (renamed from external/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb)17
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Port-build-to-python3.patch6897
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch33
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-fix-cross-compilation-on-i586-targets.patch38
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-do-not-create-python-environment.patch64
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0005-fix-cannot-find-link.patch (renamed from external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0006-workaround-autoconf-2.13-detection-failed.patch (renamed from external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0007-fix-do_compile-failed-on-mips.patch33
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0008-add-riscv-support.patch50
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0009-mozjs-fix-coredump-caused-by-getenv.patch (renamed from external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs-fix-coredump-caused-by-getenv.patch)0
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0010-format-overflow.patch21
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0011-To-fix-build-error-on-arm32BE.patch28
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0012-JS_PUBLIC_API.patch55
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0013-riscv-Disable-atomic-operations.patch38
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-fallback-to-2011-C++-standard.patch42
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch (renamed from external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch)37
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0001-support-musl.patch98
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0002-js-Fix-build-with-musl.patch31
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb135
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem/0001-smem-fix-support-for-source-option-python3.patch53
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb43
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend1
-rw-r--r--external/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb (renamed from external/meta-openembedded/meta-oe/recipes-support/debsums/debsums_2.2.2.bb)2
-rw-r--r--external/meta-openembedded/meta-oe/licenses/HDF592
-rw-r--r--external/meta-openembedded/meta-oe/licenses/OFL-1.099
-rw-r--r--external/meta-openembedded/meta-oe/licenses/SSPL-1557
-rw-r--r--external/meta-openembedded/meta-oe/licenses/read-edid17
-rw-r--r--external/meta-openembedded/meta-oe/licenses/safec26
-rw-r--r--external/meta-openembedded/meta-oe/licenses/ttf-mplus16
-rw-r--r--external/meta-openembedded/meta-oe/licenses/vim81
-rw-r--r--external/meta-openembedded/meta-oe/licenses/wxWidgets54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_git.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch69
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-update-the-interpreter-paths.patch13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/python3_shebangs.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.12.bb45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.17.bb47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2/python3.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/0001-let-system-headers-provide-pread64.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_484.bb119
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_489.bb121
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.6.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-huge_page_setup_helper-use-python3-interpreter.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-add-explicit-permissions-to-open-call.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.0.1.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch72
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch444
-rw-r--r--external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.16.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.36.bb43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-ch341a_spi-Avoid-deprecated-libusb-functions.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-platform-Add-riscv-to-known-platforms.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch69
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/sst26.patch198
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.0.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb20
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/init78
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/ldflags.patch87
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/musl.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb64
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0002-include-sys-select.h-and-sys-types.h.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_git.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch88
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb147
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb167
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/files/0001-Makefile-fix-bash-completion-install-path.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli/0001-fix-musl-compilation.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.10.1.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.6.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch70
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-filter-Rename-some-variables-to-tr_stdxxx.patch108
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_1.5.3.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch177
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch253
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch187
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0004-Prevent-installation-of-an-all-zero-TK.patch82
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0006-TDLS-Reject-TPK-TK-reconfiguration.patch135
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch85
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch79
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/hostapd-CVE-2018-14526.patch44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb59
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.6.bb54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.1.bb188
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.1.bb192
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.33.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch73
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.16.0.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.22.0.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.16.bb50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.17.bb50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch85
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-qmi-network-Don-t-create-invalid-wds-start-network-w.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.2.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.12.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch263
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.20.3.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.36.0.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.0.0.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.1.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/time_t_maybe_long_long.patch135
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.12.10.bb57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/0001-Fix-bug-of-free-with-musl.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.1.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.2.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.7.0.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_3.5.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.1.8.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch108
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-Use-toolchain-from-environment-variables.patch92
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0004-run-ranlib-per-library-and-use-AR.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial/musl-support.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Fix-narrowing-conversion-error.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch135
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/zabbix-agent.service5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb75
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb78
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.0.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.2.5.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_22.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/ell/ell/0001-dhcp-include-if_arp.h-from-libc-instead-of-linux-hea.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/ell/ell_0.8.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/emlog/emlog.inc13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/0001-Remove-modules_clean-from-clean-target.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch113
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/emlog.initd25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/emlog/kernel-module-emlog_git.bb10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.3.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.3.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.12.bb9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.1.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_git.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb120
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/plymouth/files/0002-Fix-build-with-glibc-2.28.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb68
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.1.bb21
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.1/run-ptest15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch413
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch163
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch63
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch432
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch442
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch227
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch153
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch97
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch99
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch62
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb69
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.1.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.14.0.bb51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.7.0.bb55
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.0.4.bb38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.2.bb92
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch73
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.16.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.25.1.bb28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.26.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/run-ptest10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch64
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch64
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb73
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.64.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch160
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch65
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.64.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_10.10.bb10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.3.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch115
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-db-write_thread.cc-Initialize-state.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb/0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch194
-rw-r--r--external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch74
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch189
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch61
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch242
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch59
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200211.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch433
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch113
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb271
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb246
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch (renamed from external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch)64
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch68
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch77
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch302
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch59
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb60
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb96
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb100
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch75
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.6.1.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch99
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch71
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch66
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch95
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch102
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb163
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb92
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb62
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.14.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php.inc263
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch1285
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch90
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch56
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch63
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch246
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch61
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch387
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch63
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb275
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch56
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb90
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb93
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.13.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.19.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.13.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb93
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb71
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb87
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb91
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch154
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200330.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.12.0.bb36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.12.0.bb72
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb72
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0006-libcollectdclient-Fix-string-overflow-errors.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.11.0.bb88
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.0.bb87
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20180621.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190808.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch94
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/204.patch148
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.4.bb62
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp/0001-Set-library-VERSION-and-SOVERSION.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.2.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/0001-Fix-builds-with-recent-gettext.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/figlet/figlet/0001-build-add-autotools-support-to-allow-easy-cross-comp.patch252
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/figlet/figlet_git.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb71
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb71
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.9.bb47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/0001-include-cups-ppd.h-for-missing-ppd-definitions.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch395
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/600-fix.patch10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/999-remove-lImageProcessor.patch69
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/configure.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb74
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb88
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Fix-builds-with-recent-gettext.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Makefile.am-remove-regression-dir.patch67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-src-indent.c-correct-the-check-for-locale.h.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.10.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.12.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.11.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.24.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libcec/files/0001-Explicitly-use-python3-in-pyCecClient.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-Enhance-reproducibility.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch181
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.35.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.0.0.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus/0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock-libs.patch (renamed from external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock.so-and-nfslock.so.0.patch)0
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch314
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.2.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.5.bb49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.6.1.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-Fix-formatting-for-modern-c-11-compilers.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch63
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch93
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch91
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch158
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch70
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch74
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb112
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Port-to-OpenSSL-1.1.0.patch162
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0002-Check-OpenSSL-version-number-to-allow-builds-with-ol.patch48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb72
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.5.bb73
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/run-ptest3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.3.bb189
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-Adapt-to-OpenSSL-1.1.1.patch879
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0002-Check-against-the-correct-OPENSSL_VERSION_NUMBER.patch365
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb64
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch93
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch232
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p1.patch194
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p2.patch153
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p3.patch53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch190
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb59
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/redis/redis/remove-atomics.patch72
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.8.bb57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/redis/redis_5.0.9.bb66
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.0.bb128
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb129
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-fix-jump-misses-init-error.patch71
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-increase-the-size-of-szHname.patch53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.16.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.5.0.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch118
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2002.0.bb201
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.37.0.bb165
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch80
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-os_linux.cpp-Use-realpath-BSD-POSIX-instead-of-canon.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.1.bb52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.7.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch96
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch108
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch359
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch141
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch144
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch66
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Replace-strncpy-with-memcpy.patch49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Use-stdint-types.patch139
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-using-Wno-maybe-uninitialized.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-include-sys-types.h-for-uint-definition.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-initialize-local-variables-before-use.patch57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-nmea_gps-Link-with-latomic.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.11.bb34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_0.24.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb82
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap10
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit19
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.6.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-standard_3.28.bb45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+.inc107
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff102
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.25.3.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch139
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.3.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb61
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-Explicit-typecast-to-avoid-implicit-double-to-float-.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0002-Makefile.am-remove-useless-and-breaking-code.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl_2.1.3-rc5.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb114
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb109
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch860
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch158
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake107
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi9533
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi19018
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.25.bb49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb77
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch73
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch114
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch68
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch81
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch80
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch118
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch64
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch63
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch192
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch187
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch62
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb83
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch147
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch96
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-openbox-xdg-autostart-convert-to-python3.patch138
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-6851.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-8112.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.42.1.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb130
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb131
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-error-with-input_event_sec-for-old-kernel.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch389
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.16.bb82
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb84
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20190815.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch238
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch111
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.5.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.1.bb9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch77
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_353.bb36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch196
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.3.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.4.bb120
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.8.bb118
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-vulnerabilities.patch133
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0003-channel-Fix-buffer-overflow.patch69
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch94
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0005-fru-sdr-Fix-id_string-buffer-overflows.patch142
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-Prevent-access-times-from-changing-resulting-gzip-md.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4/0001-Include-poll.h-instead-of-sys-poll.h.patch86
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.7.bb57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch79
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch131
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch89
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-use-python3.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/spidev-test/spidev-test.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.6.bb46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/riscv_ucontext.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_9.bb28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-Python-3.7-fixes-2126.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-example-clients-Use-c-compiler-for-jack_simdtests.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.14.bb53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.4.0.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.0.0.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_5.0.3.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch92
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb55
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb78
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb117
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire-0.2_git.bb65
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire_git.bb76
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch624
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.16.0.bb54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.1.bb56
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/geos/files/fix-gcc6-isnan.patch22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.2.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.3.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch (renamed from external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch)32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gps_shm_close-Free-privdata.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb137
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb137
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch (renamed from external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch)0
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/proj/proj_7.0.1.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters.inc81
-rw-r--r--external/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.27.2.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.0.1.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/keyutils/files/fix_library_install_path.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch41
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-security/keyutils/files/run-ptest3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.1.bb65
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch73
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Make-ndiff-support-python3.patch1720
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-configure.ac-make-ndiff-depend-on-python3.patch48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch78
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb60
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_git.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.10.2.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_58.bb36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.02.bb44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.1.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.2.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-add-sys-sysmacros.h-for-major-minor-macros.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-atop.daily-atop.init-atop-pm.sh-Avoid-using-bash.patch67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/atop/atop/remove-bashisms.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/atop/atop_2.3.0.bb57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb56
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.10.1.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.12.0.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch70
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.9.2.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch84
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.0.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb3
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.24.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.31.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cmark/cmark_git.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/colord/colord-native.bb64
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch166
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/colord/colord-native/Makefile48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/colord/colord.bb45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/colord/colord.inc13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/colord/colord/0001-Run-native-cd_idt8-cd_create_profile.patch59
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch201
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch103
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.16.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.7.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/daemonize/files/fix-ldflags-for-gnuhash.patch23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch68
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/dstat/dstat/0001-change-dstat-to-python3.patch89
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/epeg/epeg_git.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/espeak/files/0002-tr_languages-cast-string_ordinal-init-values.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/espeak/files/espeak-1.48-gcc-6-fix.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.1.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch182
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.2.0.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-annotate.c-gdft.c-Replace-strncpy-with-memccpy-to-fi.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2018-1000222.patch82
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.0.bb52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.2.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib/CVE-2018-17942.patch88
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/no-docs.patch18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/processcreds.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1.bb48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.6.bb5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-Fix-out-of-tree-builds.patch178
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-stdgsoap2-Fix-build-with-musl.patch63
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.103.bb42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.51.bb44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-configure.ac-Rename-to-configure.ac-and-use-external.patch703
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch68
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch50
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c975
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c991
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5lib_settings.c98
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Ask-for-python3-specifically.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb151
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.5.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb83
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb87
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch63
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser_4.1.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-Makefile.am-add-build-rule-for-README.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotify-nosys-fix-system-call-number.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotifywait-fix-compile-error-with-GCC-6.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/joe/joe_4.6.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.7.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch898
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch247
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb52
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb62
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.3.bb34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.2.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch63
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.2.2.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.5.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libfann/libfann_git.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.4.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.2.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.3.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.3.0.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.59.bb28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.70.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch67
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic/0001-mimetic-Check-for-MMAP_FAILED-return-from-mmap.patch49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb41
-rw-r--r--external/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--external/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/libnih_1.0.3-4ubuntu16.patch3593
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/explicit_linking.patch20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/new-readline-typedef.patch11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/read_bugfixes.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.1.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.1.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.4.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libssh2/files/CVE-2019-17498.patch131
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-use-python3-interpreter.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/run-ptest2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.30.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_6.2.0.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config/usbgx.default2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.initd143
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.16.bb53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/links/links_2.16.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/links/links_2.20.2.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch136
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.180.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.06.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch73
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.180.bb62
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.06.bb88
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.48.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/0001-gcov_merge.py-scov_merge.py-switch-to-python3.patch110
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/makefile-remove-ldflags.patch23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test_git.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_161.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_168.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/monit/monit/monit42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/monit/monit/monitrc44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/monit/monit_5.26.0.bb53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-tools-add-RDAC-SUN-ArrayStorage-to-hwtable.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-multipath-tools-remove-c-from-__cpluscplus-misspelle.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-multipath-tools-remove-emacs-autoconfig-of-kpartx-gp.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-multipath-tools-replace-FSF-address-with-a-www-point.patch191
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-multipath-tools-Remove-trailing-leading-whitespaces-.patch156
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-multipath-tools-fix-compilation-with-musl-libc.patch58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-multipath-tools-add-x-to-doc-preclean.pl-and-split-m.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch784
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-configure-hitachi-ams2000-and-hus100.patch56
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-libmultipath-don-t-reject-maps-with-undefined-prio.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-handle-errors-in-uxlsnr-as-fatal.patch57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-libmultipath-fix-error-parsing-find_multipaths-stric.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-libmultipath-print-correct-default-for-delay_-_check.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-multipath.conf.5-clarify-property-whitelist-handling.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0015-mpathpersist-add-all_tg_pt-option.patch317
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0016-libmultipath-remove-rbd-code.patch1093
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0017-mpathpersist-fix-aptpl-support.patch543
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0018-multipath-don-t-check-timestamps-without-a-path.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0019-libmultipath-fix-detect-alua-corner-case.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0020-multipath-fix-setting-conf-version.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch94
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch66
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch190
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch66
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.7.bb131
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.4.bb118
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nano/nano_3.0.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nano/nano_4.9.3.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch102
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch103
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/fix-build-on-x86_64.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/nspr.pc.in11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/remove-rpath-from-tests.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.25.bb197
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-Enable-uint128-on-mips64.patch48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/blank-cert9.dbbin0 -> 28672 bytes
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/blank-key4.dbbin0 -> 36864 bytes
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch110
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss.pc.in11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/riscv.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss/system-pkcs11.txt5
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/nss/nss_3.51.1.bb275
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch100
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ode/ode/install.patch23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/onig/files/configure.patch13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch36
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch94
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch78
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch115
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch135
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch135
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch742
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb105
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb116
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-multi-line-separator.patch36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Check-for-clang-before-using-isystem.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch8
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-g.patch55
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch10
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/download.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixpkgconfig.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.3.bb192
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb207
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/kill-icu.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.46.bb255
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.50.bb254
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch73
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.18.0.bb47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.20.0.bb48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/checkserverkey20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh118
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init131
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh53
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/p910nd/p910nd_0.95.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/p910nd/p910nd_0.97.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.26.bb58
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch118
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch50
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-sipe-consider-64bit-time_t-when-printing.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb117
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb118
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-riscv-Enable-double-operations-when-using-double-flo.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb99
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.4.bb103
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch100
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.70.1.bb59
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.88.0.bb52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pv/pv_1.5.3.bb11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/pv/pv_1.6.6.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/rdfind/files/reproducible_build.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.4.1.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-Do-not-install-license-file.patch17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.3.6.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sass/libsass_3.6.3.bb13
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.26.bb32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.11.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/glibc-2.28.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.45.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-recent-gettext.patch22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb7
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_git.bb12
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.5.0.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch116
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch872
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch123
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch1409
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch47
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch43
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch54
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch228
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch40
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-Add-linux-musleabi-to-ostable.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch44
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/shebang.patch18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng-tmp.conf1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.16.1.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch57
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch62
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.2.bb45
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-fix-compile-failed-with-libc-musl.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch34
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/tree/tree_1.7.0.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/tree/tree_1.8.0.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch89
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-include-sys-sysmacros.h.patch77
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch498
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.8.bb48
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb55
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.0.0.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch80
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uim/uim/JMP_BUF_GC_jmp_buf.patch15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb144
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb154
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/unicode-ucd/files/license.html98
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/unicode-ucd/unicode-ucd_12.1.0.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb29
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/upower/upower/0001-linux-lower-severity-of-unhandled-action-messages.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.11.bb35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.bb19
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.0.bb27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/usbpath/usbpath/configure.patch11
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/usbpath/usbpath_svn.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch79
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb6
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch (renamed from external/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch)0
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/remove-man-page-creation.patch (renamed from external/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch)0
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb1
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-mtview_git.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-4.18.patch33
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.18.bb78
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.6.bb81
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch42
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.1.0347.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/vim/vim_8.1.0347.bb118
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Fix-issue-599.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch155
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch600
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/disable-tests.patch51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/0001-Correct-clang-compiler-flags.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/0001-cmake-Use-GNUInstallDirs.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch23
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch132
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb15
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb38
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch656
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb25
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.0.11.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb20
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch52
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch27
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch40
-rwxr-xr-xexternal/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest85
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch30
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.30.bb65
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch148
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch75
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.11.bb97
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb99
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.7.3.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb28
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.6.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/catch2/catch2/0001-Fix-convert-from-char-on-ARM-build.patch46
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.4.1.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb14
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch9
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb4
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb21
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch41
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb18
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb17
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch22
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch84
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb36
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb39
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/gtest/gtest/Add-pkg-config-support.patch106
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb24
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb2
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch31
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch132
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb26
-rw-r--r--external/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb2
-rw-r--r--external/meta-openembedded/meta-perl/README8
-rw-r--r--external/meta-openembedded/meta-perl/conf/layer.conf2
-rw-r--r--external/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.19.bb78
-rw-r--r--external/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.20.bb80
-rw-r--r--external/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb2
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb3
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch34
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-base.bb7
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb5
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb5
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest (renamed from external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest)0
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch (renamed from external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch)0
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb (renamed from external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb)10
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb37
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb45
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb25
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.46.bb51
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libclass/libclass-method-modifiers-perl_2.12.bb28
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libclass/libclass-method-modifiers-perl_2.13.bb28
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.318.bb41
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb37
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb21
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb15
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb34
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb24
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb38
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb41
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb56
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb68
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.05.bb106
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libenv/libenv-perl_1.04.bb21
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb3
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.12.bb37
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.21.bb37
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb25
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb34
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb2
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurper-perl_0.012.bb36
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb22
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb29
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.060.bb47
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.068.bb47
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb34
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003004.bb44
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.004000.bb44
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.18.bb66
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.24.bb66
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb2
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb29
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.66.bb45
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb2
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000006.bb29
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.001004.bb29
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb38
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb45
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb48
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb2
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-uplevel-perl_0.2800.bb43
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb36
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb43
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.130.bb56
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-nowarnings-perl_1.04.bb37
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb46
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warnings-perl_0.028.bb29
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb26
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2019.001.bb55
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb47
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb71
-rw-r--r--external/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb52
-rw-r--r--external/meta-openembedded/meta-python/README10
-rw-r--r--external/meta-openembedded/meta-python/classes/bandit.bbclass63
-rw-r--r--external/meta-openembedded/meta-python/conf/layer.conf4
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb85
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.6.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-h2/python-h2.inc12
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-h2/python3-h2_3.1.1.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python-hpack.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_3.0.0.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python-hyperframe.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_5.2.0.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb (renamed from external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.16.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-priority/python-priority.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-priority/python3-priority_1.3.0.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb5
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb (renamed from external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.77.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.3.0.bb (renamed from external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python3-thrift_0.13.0.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-txws/python-txws_0.9.1.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/python-txws/python3-txws_0.9.1.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/parallel_make.patch (renamed from external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/remove_duplicate_install.patch (renamed from external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/telepathy-python_fix_for_automake_1.12.patch (renamed from external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3_0.15.19.bb34
-rw-r--r--external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb32
-rw-r--r--external/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb5
-rw-r--r--external/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb74
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/gyp/gyp.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_0.2.bb1
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/pamela_0.3.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs_1.4.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.24.0.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc31
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.5.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-attr.inc9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-attr_0.3.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_18.1.0.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc24
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.7.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc41
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-abc_0.4.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-behave.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-blinker.inc7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-blinker_1.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.2.1.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc33
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.8.13.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.5.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-constantly.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-constantly_15.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod.inc14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod_1.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc58
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/run-ptest2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.5.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb27
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.7.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb32
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.3.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.14.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework_3.9.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-dominate.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-editor.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-editor_1.0.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-fann2.inc9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter_0.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-feedparser_5.2.1.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel_0.11.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail_0.9.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.2.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav_0.6.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-navigation_0.2.0.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful_0.3.6.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script_2.0.6.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax_0.4.1.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-socketio.inc18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads_0.2.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user_0.6.19.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.14.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic_0.0.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-flask_1.0.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-functools32_3.2.3-2.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-future.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch26
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.14.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch42
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-html2text.inc12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_1.0.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly.inc25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink_18.0.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-idna-ssl.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb48
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata.inc14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental_17.5.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-inflection_0.3.1.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals_1.5.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ipy.inc19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc1
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.12.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.3.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous_0.24.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3_0.2.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.10.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_2.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc36
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.3.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-license-expression.inc29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-linecache2_1.0.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing.inc16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.30.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch110
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-meld3.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.5.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools.inc21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.5.1.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-netifaces.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-networkx.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-packaging.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pam_1.8.2.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery_1.1.1.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pint_0.8.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pip_18.0.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc26
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.11.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pocketsphinx.inc9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend_1.0.9.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc43
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb27
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_2.0.4.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.6.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.4.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyaudio.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez.inc21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.4.11.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus_0.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect_1.0.17.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata_1.0.3.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch69
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch134
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme_0.3.bb26
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyhamcrest_1.9.0.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.11.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify_0.9.6.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks.inc22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks_17.1.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc38
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.8.3.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.93.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.7.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux_1.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_18.0.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.2.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex-native_0.9.9.bb5
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex_0.9.9.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.5.2.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc42
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.8.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pystache.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pystache_0.5.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace_2016.7.10.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb5
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir_2016.8.20.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc35
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch32
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch51
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc20
-rwxr-xr-xexternal/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.5.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq.inc27
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_17.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.6.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc30
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch62
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch118
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3339-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch32
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3986-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch32
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987_1.3.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary_0.3.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc26
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.4.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt_0.8.6.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify.inc16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify_0.3.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.2.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-semver.inc12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-semver_2.8.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.25.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_2.1.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sh.inc32
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sh_1.12.14.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sijax.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sijax_0.3.2.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.11.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb31
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_4.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-snakefood_1.4.bb51
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.12.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sparts_0.7.3.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater_1.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.29.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339_0.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-subprocess32_3.2.7.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd/endian.patch14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado-redis_2.4.18.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_5.1.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-traceback2_1.4.0.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc30
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted/0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch38
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_18.4.0.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-twofish.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-twofish_0.3.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.5.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.23.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-visitor.inc6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.6.1.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth.inc8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth_0.1.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.8.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc47
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.14.1.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc24
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh_2.7.4.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.11.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.2.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome.inc17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome_4.7.0.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic.inc14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic_1.0.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-yappi.inc16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.5.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_2.2.3.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.4.0.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.6.2.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.2.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.5.2.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.4.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.9.2.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_0.24.0.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.3.0.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.1.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.5.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.3.3.bb33
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_3.0.1.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-atomicwrites_1.3.0.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-attr_0.3.1.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_18.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat/0001-setup.py-remove-the-dependency-on-m2r.patch (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.7.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.8.0.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.8.bb41
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.8.0.bb27
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.1.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.6.2.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.7.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.2.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.2.1.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.4.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-booleanpy_3.7.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.12.6.bb29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.1.0.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.2.1.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.2.bb26
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.14.0.bb35
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.8.13.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.11.28.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.5.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.0.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.4.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb26
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.23.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.3.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-coloredlogs_10.0.bb24
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.1.0.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_0.15.1.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_4.0.2.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.28.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-contextlib2_0.6.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.2.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.0.2.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-crcmod_1.7.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.8.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.8.bb65
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.14.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.5.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.8.1.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.3.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.2.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock_0.16.7.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbussy_1.2.1.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.4.2.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.3.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.5.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.14.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.7.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.16.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.3.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.1.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-dt-schema_git.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.4.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.3.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.12.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.0.1.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_0.7.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_1.3.0.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2/0001-setup.py-Don-t-hardcode-swig-and-fann2-binary-locati.patch28
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-fasteners_0.15.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.12.2.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.11.2.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jsonpify_1.5.0.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt_0.3.2.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.2.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.2.1.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.7.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.6.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.2.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.1.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.3.2.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.1.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.0.2.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.18.2.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.16.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.5.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.7.11.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.15.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-Fix-build-on-riscv32.patch65
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch74
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.27.1.bb35
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.0.4.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch46
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb30
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.2.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2019.8.11.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-httplib2_0.17.3.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_4.18.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_19.0.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_18.0.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna-ssl_1.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.8.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.6.0.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-importlib-metadata_1.5.2.bb5
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.10.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.5.4.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ipaddress_1.0.23.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy_1.00.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166_1.0.1.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.3.21.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.3.4.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_1.1.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_0.24.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.0.1.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.2.4.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb27
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.11.2.bb43
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsmin/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsmin_2.2.2.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.25.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.1.2.bb24
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.2.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_14.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.8.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.1.0.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.1.0.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.4.3.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.3.1.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-lockfile_0.12.2.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-lrparsing_1.0.16.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.12.0.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.4.0.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.5.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.1.1.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.2.1.bb37
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-meld3_1.0.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-monotonic_1.5.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.2.0.bb5
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.1.0.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.2.bb28
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.13.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.3.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_4.7.4.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.10.9.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.4.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.1.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.3.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.0.1.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.1.1.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-packaging_20.3.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-padaos_0.1.10.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-padatious_0.4.7.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.5.0.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.2.3.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.23.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.0.3.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse/run-ptest2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.15.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.8.4.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.2.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pathlib2_2.3.5.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_1.1.1.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_2.0.1.bb5
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-petact_0.1.2.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect/0001-FSM.py-change-shebang-from-python-to-python3.patch25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.8.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.0.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.5.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch37
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch61
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.2.1.bb38
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.11.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.8.1.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.1.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pocketsphinx_0.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_1.4.0.bb26
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_0.7.2.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.5.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.4.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_2.0.10.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_2.0.4.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.11.3.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.7.0.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.6.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_20.2.4.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.6.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.1.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.7.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.2.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.8.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.4.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.34.0.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.11.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.4.3.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.3.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.22.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_4.2.3.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.5.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.20.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto/0001-Replace-time.clock-with-time.process_time.patch34
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto_2.6.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.4.11.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.5.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.17.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.19.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.0.3.bb3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.1.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.1.1.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_1.9.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.11.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyinotify_0.9.6.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_17.1.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_19.0.0.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.4.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.7.1.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pykwalify_1.7.0.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.8.3.bb40
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.122.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.93.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.10.1.bb31
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.7.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.9.3.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pynetlinux_1.1.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_18.0.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.1.0.bb24
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.6.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.7.0.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.7.1.bb24
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2/run-ptest4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.12.bb37
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.15.7.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_3.2.3.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial/run-ptest4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb59
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.8.bb6
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.1.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pystache_0.5.4.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.7.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.10.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2016.7.10.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2019.1.8.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-html_1.6.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-metadata_1.8.0.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.2.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2016.8.20.bb7
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2019.10.12.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_1.3.4.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch36
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.3.5.bb38
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.7110.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml_0.1.21.bb30
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz/run-ptest3
-rwxr-xr-xexternal/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.5.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.3.bb36
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.3.1.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-raven_6.10.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.6.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2020.1.8.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-futures_0.9.5.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_1.3.0.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.23.0.bb28
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.1.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.8.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary/e31d5fdf2ea00ac6349e64580a20816783064dd4.patch45
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.4.bb28
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.5.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.8.1.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.14.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.25.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.28.bb27
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_2.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_3.3.3.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.12.14.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sijax_0.3.2.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval_0.9.10.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.0.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb34
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.3.0.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.1.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.5.1.bb28
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_1.9.4.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-speaklater_1.3.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.2.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.4.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.17.bb20
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/0001-sqlparse-change-shebang-to-python3.patch51
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.3.1.bb29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.29.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.31.0.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor/supervisor.service15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor/supervisord.conf31
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.1.0.bb30
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.5.1.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb1
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-tinyrecord_0.1.5.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.0.3.bb (renamed from external/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_5.1.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.43.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_1.13.0.bb11
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb67
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.10.0.bb65
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.8.0.bb19
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch38
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_2.7.1.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.2.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_2.0.0.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb32
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.5.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_3.0.1.bb14
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.23.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.7.bb23
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-versiontools_1.9.1.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-visitor_0.1.3.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.3.bb12
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.8.bb10
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.56.0.bb18
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.1.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.14.1.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.0.bb50
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb39
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.33.6.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb42
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.10.11.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.12.1.bb15
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.2.1.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.1.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.2.0.bb31
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb9
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.12.0.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.1.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.2.bb16
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.3.bb22
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_0.98.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.0.bb32
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl/run-ptest3
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.4.2.bb29
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-zipp_0.6.0.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.5.0.bb4
-rw-r--r--external/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.7.1.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch12
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch21
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch14
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch6
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch6
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch2
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch18
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch4
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch2
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch2
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch6
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch31
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch41
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb48
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.4.bb46
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch32
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch39
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb28
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb28
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-cson/python-cson_git.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-cson/python3-cson_git.bb21
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.47.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.48.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-pyephem/python-pyephem_3.7.6.0.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_3.7.7.0.bb17
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch10
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.22.bb25
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc2
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb8
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.3.bb (renamed from external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb)0
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc9
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb13
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb2
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.15.0.bb9
-rw-r--r--external/meta-openembedded/meta-webserver/README8
-rw-r--r--external/meta-openembedded/meta-webserver/conf/layer.conf3
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb7
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb3
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb38
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb14
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0001-support-apxs.in-force-destdir-to-be-empty-string.patch49
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch34
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb208
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.43.bb226
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch47
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb10
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.10.bb64
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb64
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/default_server.site14
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-fix-pidfile.patch99
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf139
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service10
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/proxy_params4
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc28
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.1.bb10
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.2.bb6
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.1.bb6
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.8.bb10
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb64
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.7.bb64
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb8
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.3.bb41
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.0.2.bb41
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.1.bb35
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.9.5.bb35
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch18
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb7
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb2
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch21
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-timeout-issue.patch42
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch27
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0002-Makefiles-does-not-build-contrib-dir.patch24
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb19
-rw-r--r--external/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb6
-rw-r--r--external/meta-openembedded/meta-xfce/README10
-rw-r--r--external/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass2
-rw-r--r--external/meta-openembedded/meta-xfce/classes/xfce-app.bbclass2
-rw-r--r--external/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass6
-rw-r--r--external/meta-openembedded/meta-xfce/conf/layer.conf7
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.13.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.6.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.1.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb41
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.1.bb41
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.1.bb19
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.2.bb16
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/orage/orage/0001-drop-setting-is_utc-member-of-icaltimetype.patch77
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb4
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/ristretto/files/0001-Fix-build-after-update-of-xfconf.patch40
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.10.0.bb16
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.3.bb16
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb21
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/files/0001-fix-Name-Comment-fields.patch34
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb14
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.3.bb14
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/files/fix-inner-dependency.patch28
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb22
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/files/0001-Fix-build-after-update-of-xfconf.patch61
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/xfce4-mixer_4.11.0.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.4.3.bb35
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.6.1.bb34
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/not-create-link-to-locale.patch22
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.10.bb30
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.8.bb28
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch60
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch14
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.10.bb27
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.3.bb22
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.7.bb22
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.1.bb10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.3.bb10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.4.bb12
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.9.2.bb14
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb2
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb2
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala/0001-configure.ac-Detect-vapidir-if-not-set-explicitly.patch31
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend1
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb2
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb31
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.8.1.bb33
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique_1.1.6.bb2
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb2
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.1.bb38
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.5.bb33
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb18
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb18
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb16
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb16
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.1.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.3.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.1.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/closebutton/xfce4-closebutton-plugin_git.bb4
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch121
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.1.bb1
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.0.5.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.1.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin/0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch30
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb12
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.2.bb10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.1.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.1.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.2.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb15
-rw-r--r--external/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--external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb12
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.7.0.bb12
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb13
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.1.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.3.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin/0001-Do-not-check-for-sys-class-power_supply-we-are-cross.patch44
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.97.bb27
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.3.92.bb26
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.1.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.3.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.2.bb10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.0.bb10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.1.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.10.1.bb13
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.0.bb13
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.0.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.4.4.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend1
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc6
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.0.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb11
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch29
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.11.bb41
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.3.bb36
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.4.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch23
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb30
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb32
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb34
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.14.0.bb10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb5
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb9
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.0.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.5.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.15.bb29
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.2.bb32
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch45
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb32
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.8.bb31
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.1.bb14
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.14.0.bb14
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.12.0.bb23
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.14.0.bb23
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-use-lxdm-to-replace-dm-tool.patch49
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.3.bb40
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.14.4.bb41
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb44
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.6.bb43
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb34
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.14.2.bb40
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch10
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0002-Fix-linking-to-dbus-glib-bug-13633.patch41
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.14.3.bb33
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb41
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb18
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.14.3.bb20
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.2.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.14.2.bb17
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch92
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb38
-rw-r--r--external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.14.2.bb39
5301 files changed, 170235 insertions, 104412 deletions
diff --git a/external/meta-openembedded/.gitignore b/external/meta-openembedded/.gitignore
index b093583d..c01df45e 100644
--- a/external/meta-openembedded/.gitignore
+++ b/external/meta-openembedded/.gitignore
@@ -1,3 +1,5 @@
+*.pyc
+*.pyo
/*.patch
*.swp
*.orig
diff --git a/external/meta-openembedded/README b/external/meta-openembedded/README
index a7168010..e8b30de3 100644
--- a/external/meta-openembedded/README
+++ b/external/meta-openembedded/README
@@ -1,6 +1,6 @@
Collection of layers for the OE-core universe
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+dunfell maintainer: Armin Kuster <akuster808@gmail.com>
This repository is a collection of layers to suppliment OE-Core
with additional packages, Each layer have designated maintainer
diff --git a/external/meta-openembedded/meta-filesystems/README b/external/meta-openembedded/meta-filesystems/README
index ac0035a9..4731d216 100644
--- a/external/meta-openembedded/meta-filesystems/README
+++ b/external/meta-openembedded/meta-filesystems/README
@@ -9,31 +9,28 @@ Dependencies
This layer depends on:
- URI: git://git.openembedded.org/bitbake
- branch: 1.40
-
URI: git://git.openembedded.org/openembedded-core
layers: meta
- branch: thud
+ branch: dunfell
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: thud
+ branch: dunfell
Patches
=======
Please submit any patches against the filesystems layer to the
OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
-with '[meta-filesystems][thud]' in the subject.
+with '[meta-filesystems][dunfell]' in the subject.
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+dunfell maintainer: Armin Kuster <akuster808@gmail.com>
When sending single patches, please use something like:
git send-email -1 -M \
--to openembedded-devel@lists.openembedded.org \
- --subject-prefix=meta-filesystems][thud][PATCH
+ --subject-prefix=meta-filesystems][dunfell][PATCH
Table of Contents
diff --git a/external/meta-openembedded/meta-filesystems/conf/layer.conf b/external/meta-openembedded/meta-filesystems/conf/layer.conf
index 002f0997..be1635de 100644
--- a/external/meta-openembedded/meta-filesystems/conf/layer.conf
+++ b/external/meta-openembedded/meta-filesystems/conf/layer.conf
@@ -15,4 +15,4 @@ LAYERVERSION_filesystems-layer = "1"
LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
-LAYERSERIES_COMPAT_filesystems-layer = "thud"
+LAYERSERIES_COMPAT_filesystems-layer = "thud warrior zeus dunfell"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
deleted file mode 100644
index 99bf2bed..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "read and write exFAT driver for FUSE"
-DESCRIPTION = "fuse-exfat is a read and write driver implementing the \
-extended file allocation table as a filesystem in userspace. A mounthelper \
-is provided under the name mount.exfat-fuse. \
-"
-HOMEPAGE = "http://code.google.com/p/exfat/"
-SECTION = "universe/otherosfs"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "${DEBIAN_MIRROR}/main/f/fuse-exfat/fuse-exfat_${PV}.orig.tar.gz \
-"
-DEPENDS = "fuse virtual/libc"
-RRECOMMENDS_${PN} = "util-linux-mount"
-
-inherit autotools pkgconfig
-
-SRC_URI[md5sum] = "fca71e6598f79d037a3c7c969cb5710c"
-SRC_URI[sha256sum] = "f2e06eba5a21c621aac1d6da21b12a5a324fdd1e20f9c8acd357dd463c2355d9"
-
-S = "${WORKDIR}/${PN}-${PV}"
-EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb
new file mode 100644
index 00000000..be2415f6
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "read and write exFAT driver for FUSE"
+DESCRIPTION = "fuse-exfat is a read and write driver implementing the \
+extended file allocation table as a filesystem in userspace. A mounthelper \
+is provided under the name mount.exfat-fuse. \
+"
+HOMEPAGE = "https://github.com/relan/exfat"
+SECTION = "universe/otherosfs"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
+
+UPSTREAM_CHECK_URI = "https://github.com/relan/exfat/releases"
+
+DEPENDS = "fuse virtual/libc"
+RRECOMMENDS_${PN} = "util-linux-mount"
+
+inherit autotools pkgconfig
+
+SRC_URI[md5sum] = "846b8c36bfa4684719f9e08e9d3a6bff"
+SRC_URI[sha256sum] = "07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3"
+
+EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb
new file mode 100644
index 00000000..c89b1e13
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb
@@ -0,0 +1,7 @@
+SUMMARY = "meta-filesystems build test image"
+
+IMAGE_INSTALL = "packagegroup-core-boot"
+
+LICENSE = "MIT"
+
+inherit core-image
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb
new file mode 100644
index 00000000..ca21d2a0
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb
@@ -0,0 +1,3 @@
+require meta-filesystems-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-filesystems"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
index addb4d35..6f5cb6ce 100644
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
@@ -34,10 +34,18 @@ 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
+ # Standard mount will execute the program /sbin/mount.TYPE when called.
+ # Add a symbolic link to let mount find ntfs.
+ ln -sf mount.ntfs-3g ${D}${base_sbindir}/mount.ntfs
rmdir ${D}${libdir}/ntfs-3g
+
+ # Handle when usrmerge is in effect. Some files are installed to /sbin
+ # regardless of the value of ${base_sbindir}.
+ if [ "${base_sbindir}" != /sbin ] && [ -d ${D}/sbin ]; then
+ mkdir -p ${D}${base_sbindir}
+ mv ${D}/sbin/* ${D}${base_sbindir}
+ rmdir ${D}/sbin
+ fi
}
# Satisfy the -dev runtime dependency
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch b/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch
new file mode 100644
index 00000000..e4d52a80
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch
@@ -0,0 +1,25 @@
+From dfeadd4eb43e829aafb0d10f611fa22ae81bfca4 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Sun, 20 Oct 2019 17:00:45 +0900
+Subject: [PATCH] Add build rule for README.
+
+fix do_configure error:
+Makefile.am: required file `./README' not found
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index e0c4ad6..0449321 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -35,3 +35,4 @@ rpmcvs: preparerpm
+ @LN_S@ -f `pwd`/@PACKAGE@-@VERSION@.tar.gz ${RPMDIR}/SOURCES/@PACKAGE@-@VERSION@_cvs_`date +"%Y%m%d"`.tar.gz
+ cd ${RPMDIR}/SPECS && @RPMBUILD@ -ba @PACKAGE@.spec --define 'cvs 1'
+
++README: README.md
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch b/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch
deleted file mode 100644
index 0a990ac6..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From dd1af7541f18399bcdcb129a8b6618c18ebd9d63 Mon Sep 17 00:00:00 2001
-From: Tomasz Torcz <tomek@pipebreaker.pl>
-Date: Sat, 17 Mar 2018 12:56:04 +0100
-Subject: [PATCH] include <sys/sysmacros.h> for major()
-
- Linux glibc ceased to include it in sys/types.h:
-https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 2 +-
- module/owlib/src/include/ow.h | 6 +++++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 86751bf7..d625d3f0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -180,7 +180,7 @@ m4_include([src/scripts/m4/acx_pthread.m4])
- # Checks for header files.
- AC_HEADER_DIRENT
- AC_HEADER_STDC
--AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h])
-+AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/sysmacros.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h])
- AC_CHECK_HEADERS([linux/limits.h linux/types.h netdb.h dlfcn.h])
- AC_CHECK_HEADERS(sys/event.h sys/inotify.h)
-
-diff --git a/module/owlib/src/include/ow.h b/module/owlib/src/include/ow.h
-index 9dbec5f3..0a310552 100644
---- a/module/owlib/src/include/ow.h
-+++ b/module/owlib/src/include/ow.h
-@@ -188,8 +188,12 @@
- #include <netdb.h> /* for getaddrinfo */
- #endif /* HAVE_NETDB_H */
-
-+#ifdef HAVE_SYS_SYSMACROS_H
-+#include <sys/sysmacros.h> /* for major() */
-+#endif /* HAVE_SYS_SYSMACROS_H */
-+
- #ifdef HAVE_SYS_MKDEV_H
--#include <sys/mkdev.h> /* for major() */
-+#include <sys/mkdev.h> /* for major() on Solaris */
- #endif /* HAVE_SYS_MKDEV_H */
-
- #include <stddef.h> // for offsetof()
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
deleted file mode 100644
index 50865ccc..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "1-Wire file system"
-DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim"
-HOMEPAGE = "http://www.owfs.org/"
-SECTION = "console/network"
-
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12a64df1cc87275e940cab05ee75c37d \
- file://COPYING.LIB;md5=16ff3ffebed582e19ea7a4f48ec77b42"
-
-DEPENDS = "fuse virtual/libusb0"
-# v3.2p2
-SRCREV = "93c1f36d9ac481075287da331d5184f590f8c0fa"
-SRC_URI = "git://github.com/owfs/owfs \
- file://owhttpd \
- file://owserver \
- file://0001-include-sys-sysmacros.h-for-major.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep update-rc.d pkgconfig
-
-EXTRA_OECONF = " \
- --with-fuseinclude=${STAGING_INCDIR} \
- --with-fuselib=${STAGING_LIBDIR} \
- --enable-owfs \
- --enable-owhttpd \
- --enable-w1 \
- --disable-swig \
- --disable-owtcl \
- --disable-owphp \
- --disable-owpython \
- --disable-owperl \
-"
-
-do_install_prepend() {
- install -d ${D}${sysconfdir}/default/
- install -d ${D}${sysconfdir}/init.d/
- install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
- install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver
-}
-
-PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
-
-DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
-DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
-DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
-DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
-DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
-DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
-DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
-DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
-DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
-
-FILES_owftpd = "${bindir}/owftpd"
-FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd"
-FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver"
-FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
- ${bindir}/owdir ${bindir}/owpresent \
- ${bindir}/owget ${bindir}/owside"
-FILES_owmon = "${bindir}/owmon"
-FILES_owtap = "${bindir}/owtap"
-FILES_libowcapi = "${libdir}/libowcapi-*"
-FILES_libow = "${libdir}/libow-*"
-FILES_libownet = "${libdir}/libownet-*"
-
-INITSCRIPT_PACKAGES = "owhttpd owserver"
-INITSCRIPT_NAME_owserver = "owserver"
-INITSCRIPT_NAME_owhttpd = "owhttpd"
-INITSCRIPT_PARAMS_owserver = "defaults 20"
-INITSCRIPT_PARAMS_owhttpd = "defaults 21"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb
new file mode 100644
index 00000000..41408444
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb
@@ -0,0 +1,80 @@
+SUMMARY = "1-Wire file system"
+DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim"
+HOMEPAGE = "http://www.owfs.org/"
+SECTION = "console/network"
+
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=628b867016631792781a8735a04760e5 \
+ file://COPYING.LIB;md5=9021b7435efdd9fb22beef8291134099"
+
+DEPENDS = "fuse virtual/libusb0"
+# v3.2p3
+SRCREV = "3744375dfaa350e31c9b360eb1e1a517bbeb5c47"
+SRC_URI = "git://github.com/owfs/owfs \
+ file://0001-Add-build-rule-for-README.patch \
+ file://owhttpd \
+ file://owserver \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep update-rc.d pkgconfig systemd
+
+EXTRA_OECONF = " \
+ --with-fuseinclude=${STAGING_INCDIR} \
+ --with-fuselib=${STAGING_LIBDIR} \
+ --enable-owfs \
+ --enable-owhttpd \
+ --enable-w1 \
+ --disable-swig \
+ --disable-owtcl \
+ --disable-owphp \
+ --disable-owpython \
+ --disable-owperl \
+"
+
+do_install_prepend() {
+ install -d ${D}${sysconfdir}/default/
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
+ install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver
+}
+
+PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
+
+DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
+DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
+DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
+DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
+DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
+DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
+DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
+
+FILES_owftpd = "${bindir}/owftpd ${systemd_system_unitdir}/owftpd.service"
+FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd \
+ ${systemd_system_unitdir}/owhttpd.service"
+FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver \
+ ${systemd_system_unitdir}/owserver.service \
+ ${systemd_system_unitdir}/owserver.socket"
+FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
+ ${bindir}/owdir ${bindir}/owpresent \
+ ${bindir}/owget ${bindir}/owside"
+FILES_owmon = "${bindir}/owmon"
+FILES_owtap = "${bindir}/owtap"
+FILES_libowcapi = "${libdir}/libowcapi-*"
+FILES_libow = "${libdir}/libow-*"
+FILES_libownet = "${libdir}/libownet-*"
+FILES_${PN} += "${systemd_system_unitdir}/owfs.service"
+
+INITSCRIPT_PACKAGES = "owhttpd owserver"
+INITSCRIPT_NAME_owserver = "owserver"
+INITSCRIPT_NAME_owhttpd = "owhttpd"
+INITSCRIPT_PARAMS_owserver = "defaults 20"
+INITSCRIPT_PARAMS_owhttpd = "defaults 21"
+
+SYSTEMD_SERVICE_${PN} = "owfs.service"
+SYSTEMD_SERVICE_${PN}-owftpd = "owftpd.service"
+SYSTEMD_SERVICE_${PN}-owhttpd = "owhttpd.service"
+SYSTEMD_SERVICE_${PN}-owserver = "owserver.service owserver.socket"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
new file mode 100644
index 00000000..86b1c9b3
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Meta-filesystem packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-filesystems \
+ packagegroup-meta-filesystems-support \
+ packagegroup-meta-filesystems-utls \
+'
+
+RDEPENDS_packagegroup-meta-filesystems = "\
+ packagegroup-meta-filesystems \
+ packagegroup-meta-filesystems-support \
+ packagegroup-meta-filesystems-utls \
+"
+
+RDEPENDS_packagegroup-meta-filesystems = "\
+ ntfs-3g-ntfsprogs ifuse sshfs-fuse \
+ logfsprogs owfs simple-mtpfs \
+ unionfs-fuse fuse-exfat yaffs2-utils \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "smbnetfs", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-filesystems-support = "\
+ physfs fuse \
+ "
+
+RDEPENDS_packagegroup-meta-filesystems-utils = "\
+ xorriso aufs-util xfsprogs \
+ f2fs-tools exfat-utils udevil \
+ xfsdump \
+ "
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
index f85977fd..595b3490 100644
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
@@ -7,7 +7,8 @@ DEPENDS = "fuse libmtp"
inherit autotools pkgconfig
+# 0.3.0
SRC_URI = "git://github.com/phatina/simple-mtpfs.git;protocol=https;branch=master"
-SRCREV = "a7ab64c7e4d7aca155cbc7ce9412aaf68ef6e404"
+SRCREV = "c9a691fc52fafaa55d26ac629856153c0514015a"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch b/external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
index 55275669..f22b389b 100644
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
@@ -1,9 +1,7 @@
-Index: git/configure.in
-===================================================================
---- git.orig/configure.ac 2014-06-18 16:06:16.040721349 +0000
-+++ git/configure.ac 2014-07-18 07:49:17.085552256 +0000
+--- a/configure.ac
++++ b/configure.ac
@@ -1,5 +1,5 @@
- AC_INIT([SMBNetFS],[0.6.1])
+ AC_INIT([SMBNetFS],[0.6.2])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_HEADERS([src/config.h])
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
index c72936c0..d94603b4 100644
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
@@ -11,15 +11,14 @@ HOMEPAGE ="http://sourceforge.net/projects/smbnetfs"
DEPENDS = "fuse samba"
DEPENDS_append_libc-musl = " libexecinfo"
+inherit autotools pkgconfig features_check
+
# samba depends on libpam
-inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "pam"
-inherit autotools gitpkgv pkgconfig
-
-PKGV = "${GITPKGVTAG}"
+PV = "0.6.1+git${SRCPV}"
-SRCREV = "bc6b94b015fdaf7c4dab56ccb996eecea8bc4373"
+SRCREV = "a117eec8de7ed7249871da73dcc350283ce72069"
SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \
file://configure.patch \
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch b/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch
deleted file mode 100644
index c434a03f..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e3cd445a4ee44a16faa646d7b642d02eea62b1f8 Mon Sep 17 00:00:00 2001
-From: Zoltan Kuscsik <zoltan.kuscsik@linaro.org>
-Date: Fri, 1 Jul 2016 09:30:31 +0200
-Subject: [PATCH] Makefile: fix path for sshfs.1
-
-Fix source path when build directory differs
-from the source dir.
-
-Upstream-Status: Accepted
-
-https://github.com/libfuse/sshfs/pull/24
-
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index f003bae..3d8f9cb 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -24,7 +24,7 @@ sshfs.1: sshfs.1.in
- $(AM_V_GEN)sed \
- -e 's,__IDMAP_DEFAULT__,$(IDMAP_DEFAULT),g' \
- -e 's,__UNMOUNT_COMMAND__,$(UNMOUNT_COMMAND),g' \
-- <sshfs.1.in >sshfs.1.tmp || exit 1; \
-+ <$(srcdir)/sshfs.1.in >sshfs.1.tmp || exit 1; \
- mv sshfs.1.tmp sshfs.1
-
- if SSH_NODELAY_SO
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb
deleted file mode 100644
index 64ccdace..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
-AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
-HOMEPAGE = "http://fuse.sourceforge.net/sshfs.html"
-SECTION = "console/network"
-LICENSE = "GPLv2"
-DEPENDS = "glib-2.0 fuse"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/libfuse/sshfs;tag=b2fa7593586b141298e6159f40f521d2b0f4f894 \
- file://0001-Makefile-fix-path-for-sshfs.1.patch"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${libdir}/sshnodelay.so"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.0.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.0.bb
new file mode 100644
index 00000000..bf9c34dc
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
+AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
+HOMEPAGE = "https://github.com/libfuse/sshfs"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+DEPENDS = "glib-2.0 fuse3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/libfuse/sshfs"
+SRCREV = "a7e1038203c856cc7e052d439d1da49fe131339f"
+S = "${WORKDIR}/git"
+
+inherit meson
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch b/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch
deleted file mode 100644
index 8f991cd3..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 10411fa8658621822ae394160daffaced4a4cd7f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 23:07:29 -0700
-Subject: [PATCH] unionfs: Define IOCPARM_LEN if undefined
-
-musl does not have sysctl.h which defines this
-for glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/unionfs.c | 8 --------
- src/unionfs.h | 15 +++++++++++++++
- 2 files changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/src/unionfs.c b/src/unionfs.c
-index a34d34e..51684a7 100644
---- a/src/unionfs.c
-+++ b/src/unionfs.c
-@@ -21,14 +21,6 @@
- #include "opts.h"
- #include "usyslog.h"
-
--#ifndef _IOC_SIZE
--#ifdef IOCPARM_LEN
--#define _IOC_SIZE(x) IOCPARM_LEN(x)
--#else
--#error "No mechanism for determining ioctl length found."
--#endif
--#endif
--
- static struct fuse_opt unionfs_opts[] = {
- FUSE_OPT_KEY("chroot=%s,", KEY_CHROOT),
- FUSE_OPT_KEY("cow", KEY_COW),
-diff --git a/src/unionfs.h b/src/unionfs.h
-index 8f5e0bf..b02de5a 100644
---- a/src/unionfs.h
-+++ b/src/unionfs.h
-@@ -17,6 +17,21 @@
- #define FUSE_META_FILE ".fuse_hidden"
- #define FUSE_META_LENGTH 12
-
-+#ifndef IOCPARM_MASK
-+#define IOCPARM_MASK 0x1FFF
-+#endif
-+#ifndef IOCPARM_LEN
-+#define IOCPARM_LEN(a) (((a) >> 16) & IOCPARM_MASK)
-+#endif
-+
-+#ifndef _IOC_SIZE
-+#ifdef IOCPARM_LEN
-+#define _IOC_SIZE(x) IOCPARM_LEN(x)
-+#else
-+#error "No mechanism for determining ioctl length found."
-+#endif
-+#endif
-+
- // file access protection mask
- #define S_PROT_MASK (S_ISUID| S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO)
-
---
-2.13.2
-
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb
deleted file mode 100644
index 6bedf16b..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A FUSE based implemention of unionfs"
-HOMEPAGE = "https://github.com/rpodgorny/unionfs-fuse"
-SECTION = "console/network"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32 \
- file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \
-"
-
-SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \
- file://0001-support-cross-compiling.patch \
- file://0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch \
- "
-SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5"
-
-DEPENDS = "fuse"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb
new file mode 100644
index 00000000..3dd5c82e
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "A FUSE based implemention of unionfs"
+HOMEPAGE = "https://github.com/rpodgorny/unionfs-fuse"
+SECTION = "console/network"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32 \
+ file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \
+"
+
+SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \
+ file://0001-support-cross-compiling.patch \
+ "
+SRCREV = "8d732962423c3ca5be1f14b7ec139ff464e10a51"
+
+DEPENDS = "fuse"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/external/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/external/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
index 6095e27a..7ecae4c1 100644
--- a/external/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
+++ b/external/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
@@ -19,7 +19,7 @@ SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \
file://0001-define-loff_t-if-not-already-defined.patch \
"
-SRCREV = "3439fa4e60dd9799766b2c101f799ed9e565b632"
+SRCREV = "b4ce1bb1b46accb1619dc07164ef6945feded9db"
UPSTREAM_CHECK_COMMITS = "1"
@@ -43,3 +43,9 @@ do_install() {
}
BBCLASSEXTEND = "native"
+
+# Fixed make clean error:
+#make -C /lib/modules/4.4.0-112-generic/build M=<snip>
+#make: *** /lib/modules/4.4.0-112-generic/build: No such file or directory. Stop.
+#make: *** [clean] Error 2
+CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.2.bb b/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.2.bb
new file mode 100644
index 00000000..24b17fc9
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.2.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
+DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
+ programs to export a virtual filesystem to the Linux kernel. FUSE \
+ also aims to provide a secure method for non privileged users to \
+ create and mount their own filesystem implementations. \
+ "
+HOMEPAGE = "https://github.com/libfuse/libfuse"
+SECTION = "libs"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
+ file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
+
+SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \
+"
+SRC_URI[sha256sum] = "6999b6d48e7c0a79628fa901f6e66def3513cab4ffdd8097821e7dc3cdeae08a"
+
+S = "${WORKDIR}/fuse-${PV}"
+
+UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
+UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
+
+inherit meson pkgconfig
+
+DEPENDS = "udev"
+
+PACKAGES =+ "fuse3-utils"
+
+RPROVIDES_${PN}-dbg += "fuse3-utils-dbg"
+
+RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils"
+
+FILES_${PN} += "${libdir}/libfuse3.so.*"
+FILES_${PN}-dev += "${libdir}/libfuse3*.la"
+
+EXTRA_OEMESON += " \
+ -Dexamples=false \
+"
+
+# Forbid auto-renaming to libfuse3-utils
+FILES_fuse3-utils = "${bindir} ${base_sbindir}"
+DEBIAN_NOAUTONAME_fuse3-utils = "1"
+DEBIAN_NOAUTONAME_${PN}-dbg = "1"
+
+do_install_append() {
+ rm -rf ${D}${base_prefix}/dev
+}
diff --git a/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb b/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb
deleted file mode 100644
index caa75c7f..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
-DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
- programs to export a virtual filesystem to the Linux kernel. FUSE \
- also aims to provide a secure method for non privileged users to \
- create and mount their own filesystem implementations. \
- "
-HOMEPAGE = "https://github.com/libfuse/libfuse"
-SECTION = "libs"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.gz \
- file://gold-unversioned-symbol.patch \
- file://aarch64.patch \
- file://0001-fuse-fix-the-return-value-of-help-option.patch \
- file://fuse.conf \
-"
-SRC_URI[md5sum] = "f365e848a82504edb0b7a33df790ca78"
-SRC_URI[sha256sum] = "5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3"
-
-UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
-UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>2(\.\d+)+).tar.gz"
-
-inherit autotools pkgconfig update-rc.d systemd
-
-INITSCRIPT_NAME = "fuse"
-INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
-
-SYSTEMD_SERVICE_${PN} = ""
-
-DEPENDS = "gettext-native"
-
-PACKAGES =+ "fuse-utils libulockmgr libulockmgr-dev"
-
-RPROVIDES_${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg"
-
-RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils"
-
-FILES_${PN} += "${libdir}/libfuse.so.*"
-FILES_${PN}-dev += "${libdir}/libfuse*.la"
-
-FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
-FILES_libulockmgr-dev += "${libdir}/libulock*.la"
-
-# Forbid auto-renaming to libfuse-utils
-FILES_fuse-utils = "${bindir} ${base_sbindir}"
-DEBIAN_NOAUTONAME_fuse-utils = "1"
-DEBIAN_NOAUTONAME_${PN}-dbg = "1"
-
-do_configure_prepend() {
- # Make this explicit so overriding base_sbindir propagates properly.
- export MOUNT_FUSE_PATH="${base_sbindir}"
-}
-
-do_install_append() {
- rm -rf ${D}${base_prefix}/dev
-
- # systemd class remove the sysv_initddir only if systemd_system_unitdir
- # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
- rm -rf ${D}${sysconfdir}/init.d/
- fi
-
- # Install systemd related configuration file
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/modules-load.d
- install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d
- fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb b/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
new file mode 100644
index 00000000..95e87069
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
@@ -0,0 +1,78 @@
+SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
+DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
+ programs to export a virtual filesystem to the Linux kernel. FUSE \
+ also aims to provide a secure method for non privileged users to \
+ create and mount their own filesystem implementations. \
+ "
+HOMEPAGE = "https://github.com/libfuse/libfuse"
+SECTION = "libs"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.gz \
+ file://gold-unversioned-symbol.patch \
+ file://aarch64.patch \
+ file://0001-fuse-fix-the-return-value-of-help-option.patch \
+ file://fuse.conf \
+"
+SRC_URI[md5sum] = "8000410aadc9231fd48495f7642f3312"
+SRC_URI[sha256sum] = "d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5"
+
+UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
+UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>2(\.\d+)+).tar.gz"
+
+inherit autotools pkgconfig update-rc.d systemd
+
+INITSCRIPT_NAME = "fuse"
+INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
+
+SYSTEMD_SERVICE_${PN} = ""
+
+DEPENDS = "gettext-native"
+
+PACKAGES =+ "fuse-utils libulockmgr libulockmgr-dev"
+
+RPROVIDES_${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg"
+
+RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils"
+
+FILES_${PN} += "${libdir}/libfuse.so.*"
+FILES_${PN}-dev += "${libdir}/libfuse*.la"
+
+FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
+FILES_libulockmgr-dev += "${libdir}/libulock*.la"
+
+# Forbid auto-renaming to libfuse-utils
+FILES_fuse-utils = "${bindir} ${base_sbindir}"
+DEBIAN_NOAUTONAME_fuse-utils = "1"
+DEBIAN_NOAUTONAME_${PN}-dbg = "1"
+
+do_configure_prepend() {
+ # Make this explicit so overriding base_sbindir propagates properly.
+ export MOUNT_FUSE_PATH="${base_sbindir}"
+}
+
+do_install_append() {
+ rm -rf ${D}/dev
+
+ # systemd class remove the sysv_initddir only if systemd_system_unitdir
+ # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
+ rm -rf ${D}${sysconfdir}/init.d/
+ fi
+
+ # Install systemd related configuration file
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/modules-load.d
+ install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d
+ fi
+}
+
+do_install_append_class-nativesdk() {
+ install -d ${D}${sysconfdir}
+ mv ${D}/etc/* ${D}${sysconfdir}/
+ rmdir ${D}/etc
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb b/external/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb
deleted file mode 100644
index cc97dead..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "PhysicsFS is a library to provide abstract access to various archives"
-HOMEAPAGE = "http://icculus.org/physfs"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2668e2fb051c3e564198e146a9a2d9f0"
-DEPENDS = "readline zlib"
-
-inherit cmake
-
-PE = "1"
-
-SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2"
-SRC_URI[md5sum] = "359f102bcbd62accf84ef32f4863255d"
-SRC_URI[sha256sum] = "b77b9f853168d9636a44f75fca372b363106f52d789d18a2f776397bf117f2f1"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb b/external/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb
new file mode 100644
index 00000000..a0033fab
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "PhysicsFS is a library to provide abstract access to various archives"
+HOMEAPAGE = "http://icculus.org/physfs"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=96801882d1120239dcafbf888e821a6e"
+DEPENDS = "readline zlib"
+
+inherit cmake
+
+PE = "1"
+
+SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2"
+SRC_URI[md5sum] = "dc751294aaf59d1359bbe34e693d1d87"
+SRC_URI[sha256sum] = "304df76206d633df5360e738b138c94e82ccf086e50ba84f456d3f8432f9f863"
+
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
index 6d71fc09..b4819d8f 100644
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
@@ -61,6 +61,6 @@ do_install_class-native () {
done
}
-RRECOMMENDS_${PN} += "kernel-module-aufs"
+RRECOMMENDS_${PN}_class-target += "kernel-module-aufs"
BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb
deleted file mode 100644
index 440f3361..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "utilities to create, check, label and dump exFAT filesystem"
-DESCRIPTION = "Utilities to manage extended file allocation table filesystem. \
-This package provides tools to create, check and label the filesystem. It \
-contains \
- - dumpexfat to dump properties of the filesystem \
- - exfatfsck / fsck.exfat to report errors found on a exFAT filesystem \
- - exfatlabel to label a exFAT filesystem \
- - mkexfatfs / mkfs.exfat to create a exFAT filesystem. \
-"
-HOMEPAGE = "http://code.google.com/p/exfat/"
-SECTION = "universe/otherosfs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
-
-DEPENDS = "virtual/libc"
-
-inherit pkgconfig autotools
-
-SRC_URI[md5sum] = "f4e564450aa8159e26dde2869563d242"
-SRC_URI[sha256sum] = "80d3b3f21242d60d36a38a4ddb05cb7cc3a7d4eef5793e8314814937b938fcea"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb
new file mode 100644
index 00000000..7f804a70
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "utilities to create, check, label and dump exFAT filesystem"
+DESCRIPTION = "Utilities to manage extended file allocation table filesystem. \
+This package provides tools to create, check and label the filesystem. It \
+contains \
+ - dumpexfat to dump properties of the filesystem \
+ - exfatfsck / fsck.exfat to report errors found on a exFAT filesystem \
+ - exfatlabel to label a exFAT filesystem \
+ - mkexfatfs / mkfs.exfat to create a exFAT filesystem. \
+"
+HOMEPAGE = "https://github.com/relan/exfat"
+SECTION = "universe/otherosfs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
+
+UPSTREAM_CHECK_URI = "https://github.com/relan/exfat/releases"
+
+DEPENDS = "virtual/libc"
+
+inherit pkgconfig autotools
+
+SRC_URI[md5sum] = "f8928571b152455e828ca0bd42af8b73"
+SRC_URI[sha256sum] = "dfebd07a7b907e2d603d3a9626e6440bd43ec6c4e8c07ccfc57ce9502b724835"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch
deleted file mode 100644
index cf844bf8..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3b3c6e6376babcd9a0b0db312b0e1e3bb3ab833e Mon Sep 17 00:00:00 2001
-From: Sven Ebenfeld <sven.ebenfeld@vaillant.de>
-Date: Wed, 26 Nov 2014 10:36:44 +0100
-Subject: [PATCH] Remove AC_CHECK_FILE for cross compilation
-
----
- configure.ac | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0111e72..8c286d4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -20,14 +20,9 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpatsubst(f2fs_tools_version,
- [\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]),
- [Minor version for f2fs-tools])
-
--AC_CHECK_FILE(.git,
-- AC_DEFINE([F2FS_TOOLS_DATE],
-- "m4_bpatsubst(f2fs_tools_gitdate,
-- [\([0-9-]*\)\(\w\|\W\)*], [\1])",
-- [f2fs-tools date based on Git commits]),
- AC_DEFINE([F2FS_TOOLS_DATE],
- "f2fs_tools_date",
-- [f2fs-tools date based on Source releases]))
-+ [f2fs-tools date based on Source releases])
-
- AC_CONFIG_SRCDIR([config.h.in])
- AC_CONFIG_HEADER([config.h])
---
-1.8.1.rc3
-
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb
deleted file mode 100644
index 2240049d..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb
+++ /dev/null
@@ -1,20 +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"
-
-# v1.11.0
-SRCREV = "b98fab3666e498c2e27ad9dcda6874c9b683f06b"
-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://0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch \
- "
-S = "${WORKDIR}/git"
-
-inherit pkgconfig autotools
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.13.0.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.13.0.bb
new file mode 100644
index 00000000..98bd478f
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.13.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
+
+# to provide libuuid
+DEPENDS = "util-linux"
+
+# v1.13.0
+SRCREV = "284f77f0075a16a2ad1f3b0fb89b7f64a1bc755d"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
+ file://0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch \
+ "
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch
new file mode 100644
index 00000000..fd8e22ab
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch
@@ -0,0 +1,37 @@
+From 14ef83291096e019ebc48040cf63530a2574a26d Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Sun, 19 Jan 2020 16:03:21 +0000
+Subject: [PATCH] Use unistd.h not argp.h for all POSIX systems
+
+getopt(3) is found in unistd.h on all POSIX systems and we make no use
+of any of the GNU specific argp extensions. Include unistd.h directly to
+allow building with musl on linux, whilst retaining compatibility with
+glibc and other unices.
+
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+Upstream-status: Pending
+---
+ src/fatcat.cpp | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/src/fatcat.cpp b/src/fatcat.cpp
+index ce23ca07bb99..b4427e465bde 100644
+--- a/src/fatcat.cpp
++++ b/src/fatcat.cpp
+@@ -1,14 +1,10 @@
+ #include <stdlib.h>
+-#include<string.h>
+-#ifdef __APPLE__
+-#include <unistd.h>
+-#else
++#include <string.h>
+ #ifdef __WIN__
+ #include <ctype.h>
+ #include "xgetopt/xgetopt.h"
+ #else
+-#include <argp.h>
+-#endif
++#include <unistd.h>
+ #endif
+
+ #include <stdio.h>
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.0.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.0.bb
new file mode 100644
index 00000000..c7267173
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "FAT filesystems explore, extract, repair, and forensic tool"
+DESCRIPTION = "This tool is designed to manipulate FAT filesystems, in order to \
+explore, extract, repair, recover and forensic them. It currently supports \
+FAT12, FAT16 and FAT32."
+HOMEPAGE = "https://github.com/Gregwar/fatcat"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=57fbbfebd0dd1d6ff21b8cecb552a03f"
+
+SRC_URI = "git://github.com/Gregwar/fatcat.git \
+ file://0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch \
+ "
+
+SRCREV = "b923172d97c578297964c062e3a92799e2a9eca4"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/fatresize/fatresize_1.0.2.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/fatresize/fatresize_1.0.2.bb
new file mode 100644
index 00000000..88d495b6
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/fatresize/fatresize_1.0.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Resize FAT partitions using libparted"
+SECTION = "console/tools"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "git://salsa.debian.org/parted-team/fatresize.git;protocol=https"
+SRCREV = "3f80afc76ad82d4a1b852a6c8dea24cd9f5e7a24"
+
+PV = "1.0.2-11"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "parted"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch
new file mode 100644
index 00000000..e69a3cf1
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch
@@ -0,0 +1,54 @@
+From 6cf6f5b9c39dfd0d46f2069c3baeab92ae980367 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 15 Dec 2019 00:58:13 -0800
+Subject: [PATCH] Replace u_intXX_t with kernel typedefs
+
+u_intXX_t requires including sys/types.h which might not work in kernel
+code, if this header is used in a kernel module
+
+Fixes
+| In file included from ufs.c:16:
+| In file included from ./ufs.h:9:
+| ./scsi_bsg_util.h:131:2: error: unknown type name 'u_int16_t'; did you mean 'uint16_t'?
+| u_int16_t result;
+| ^~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/westerndigitalcorporation/ufs-utils/pull/23]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scsi_bsg_util.h | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/scsi_bsg_util.h b/scsi_bsg_util.h
+index 3f8a482..497c3ae 100644
+--- a/scsi_bsg_util.h
++++ b/scsi_bsg_util.h
+@@ -121,15 +121,15 @@ struct ufs_bsg_reply {
+ #endif /* SCSI_BSG_UFS_H.*/
+
+ struct rpmb_frame {
+- u_int8_t stuff[196];
+- u_int8_t key_mac[32];
+- u_int8_t data[256];
+- u_int8_t nonce[16];
+- u_int32_t write_counter;
+- u_int16_t addr;
+- u_int16_t block_count;
+- u_int16_t result;
+- u_int16_t req_resp;
++ __u8 stuff[196];
++ __u8 key_mac[32];
++ __u8 data[256];
++ __u8 nonce[16];
++ __u32 write_counter;
++ __u16 addr;
++ __u16 block_count;
++ __u16 result;
++ __u16 req_resp;
+ };
+
+ #define BSG_REPLY_SZ (sizeof(struct ufs_bsg_reply))
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb
new file mode 100644
index 00000000..23583650
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Tool to access UFS (Universal Flash Storage) devices"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+PV = "1.6+git${SRCPV}"
+
+BRANCH ?= "dev"
+
+SRCREV = "a3cf93b66f4606a46354cf884d24aa966661f848"
+
+SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=git;branch=${BRANCH} \
+ file://0001-Replace-u_intXX_t-with-kernel-typedefs.patch \
+"
+
+UPSTREAM_CHECK_COMMITS = "1"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}""
+
+CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE"
+
+do_configure() {
+ sed -i -e "s|-static$||g" ${S}/Makefile
+}
+
+do_install() {
+ install -D -m 755 ${S}/ufs-utils ${D}${bindir}/ufs-utils
+}
+
+PROVIDES += "ufs-tool"
+
+RPROVIDES_${PN} += "ufs-tool"
+
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch
new file mode 100644
index 00000000..bfb25e87
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch
@@ -0,0 +1,52 @@
+From fea8c4634469784c16211e2597411c18c72dfa4a Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 5 Mar 2020 14:36:14 +0800
+Subject: [PATCH] xfsdump: support usrmerge
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ dump/Makefile | 6 +-----
+ restore/Makefile | 6 +-----
+ 2 files changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/dump/Makefile b/dump/Makefile
+index 66f00d3..cc2d973 100644
+--- a/dump/Makefile
++++ b/dump/Makefile
+@@ -97,12 +97,8 @@ default: depend $(LTCOMMAND)
+ include $(BUILDRULES)
+
+ install: default
+- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
+- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
+ $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
+- # skip symlink when /sbin is alread symlinked to /usr/sbin, like on Fedora
+- test $(PKG_ROOT_SBIN_DIR) -ef $(PKG_SBIN_DIR) || \
+- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND)
++ $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
+ install-dev:
+
+ .dep: $(COMMINCL) $(COMMON) $(INVINCL) $(INVCOMMON)
+diff --git a/restore/Makefile b/restore/Makefile
+index ac3f8c8..3c46394 100644
+--- a/restore/Makefile
++++ b/restore/Makefile
+@@ -111,12 +111,8 @@ default: depend $(LTCOMMAND)
+ include $(BUILDRULES)
+
+ install: default
+- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
+- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
+ $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
+- # skip symlink when /sbin is alread symlinked to /usr/sbin, like on Fedora
+- test $(PKG_ROOT_SBIN_DIR) -ef $(PKG_SBIN_DIR) || \
+- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND)
++ $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
+ install-dev:
+
+ .dep: $(COMMINCL) $(COMMON) $(INVINCL) $(INVCOMMON)
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb
deleted file mode 100644
index 54ab30cb..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "XFS Filesystem Dump Utility"
-DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \
- number of other utilities for administering XFS filesystems.\
- xfsdump examines files in a filesystem, determines which \
- need to be backed up, and copies those files to a \
- specified disk, tape or other storage medium."
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
-DEPENDS = "xfsprogs attr"
-
-SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
- file://remove-install-as-user.patch \
- "
-SRC_URI[md5sum] = "84d3bc287b4a2bb5d16b2320a47049a7"
-SRC_URI[sha256sum] = "ed14e67ae5b273c2698e767b43a46f033d361e540fe13feaaf9b110ee0edc585"
-
-inherit autotools-brokensep
-
-PARALLEL_MAKE = ""
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
-
-CFLAGS += "-D_FILE_OFFSET_BITS=64"
-
-EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1"
-
-do_configure () {
- export DEBUG="-DNDEBUG"
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- oe_runconf
-}
-
-do_install () {
- export DIST_ROOT=${D}
- oe_runmake install
- oe_runmake install-dev
-}
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.9.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.9.bb
new file mode 100644
index 00000000..3e18fba7
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.9.bb
@@ -0,0 +1,41 @@
+SUMMARY = "XFS Filesystem Dump Utility"
+DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \
+ number of other utilities for administering XFS filesystems.\
+ xfsdump examines files in a filesystem, determines which \
+ need to be backed up, and copies those files to a \
+ specified disk, tape or other storage medium."
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
+DEPENDS = "xfsprogs attr"
+
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
+ file://remove-install-as-user.patch \
+ ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \
+ "
+SRC_URI[md5sum] = "086f7582875b14c17522867ffe3e202b"
+SRC_URI[sha256sum] = "55aeede6232ddce6c9e79e2af88d6f808534df1552eb2bfaf7fb85b92add6dd1"
+
+inherit autotools-brokensep
+
+PARALLEL_MAKE = ""
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
+
+CFLAGS += "-D_FILE_OFFSET_BITS=64"
+
+EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1"
+
+do_configure () {
+ export DEBUG="-DNDEBUG"
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
+
+do_install () {
+ export DIST_ROOT=${D}
+ oe_runmake install
+ oe_runmake install-dev
+}
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
deleted file mode 100644
index 231da806..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From f8a22f16c03e51d3c779b12f37d362faaa0ecf31 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 31 Jan 2018 21:28:53 -0800
-Subject: [PATCH] build: Check for sync_file_range libc function
-
-glibc 2.27 now has sync_file_range()
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/builddefs.in | 1 +
- io/Makefile | 5 ++++-
- io/io.h | 2 +-
- io/sync_file_range.c | 3 +++
- 4 files changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/include/builddefs.in b/include/builddefs.in
-index b895949..a388c83 100644
---- a/include/builddefs.in
-+++ b/include/builddefs.in
-@@ -95,6 +95,7 @@ HAVE_FIEMAP = @have_fiemap@
- HAVE_PREADV = @have_preadv@
- HAVE_PWRITEV2 = @have_pwritev2@
- HAVE_COPY_FILE_RANGE = @have_copy_file_range@
-+HAVE_NR_COPY_FILE_RANGE = @have_nr_copy_file_range@
- HAVE_SYNC_FILE_RANGE = @have_sync_file_range@
- HAVE_SYNCFS = @have_syncfs@
- HAVE_READDIR = @have_readdir@
-diff --git a/io/Makefile b/io/Makefile
-index 00ede48..dd001b0 100644
---- a/io/Makefile
-+++ b/io/Makefile
-@@ -60,10 +60,13 @@ CFILES += inject.c resblks.c
- LCFLAGS += -DHAVE_INJECT -DHAVE_RESBLKS
- endif
-
--ifeq ($(HAVE_COPY_FILE_RANGE),yes)
-+ifeq ($(HAVE_NR_COPY_FILE_RANGE),yes)
- CFILES += copy_file_range.c
-+LCFLAGS += -DHAVE_NR_COPY_FILE_RANGE
-+ifeq ($(HAVE_COPY_FILE_RANGE),yes)
- LCFLAGS += -DHAVE_COPY_FILE_RANGE
- endif
-+endif
-
- ifeq ($(HAVE_SYNC_FILE_RANGE),yes)
- CFILES += sync_file_range.c
-diff --git a/io/io.h b/io/io.h
-index e1f3d95..fe2e6a2 100644
---- a/io/io.h
-+++ b/io/io.h
-@@ -151,7 +151,7 @@ extern void fiemap_init(void);
- #define fiemap_init() do { } while (0)
- #endif
-
--#ifdef HAVE_COPY_FILE_RANGE
-+#if defined(HAVE_NR_COPY_FILE_RANGE) && !defined(HAVE_COPY_FILE_RANGE)
- extern void copy_range_init(void);
- #else
- #define copy_range_init() do { } while (0)
-diff --git a/io/sync_file_range.c b/io/sync_file_range.c
-index 30bbc93..6c49d73 100644
---- a/io/sync_file_range.c
-+++ b/io/sync_file_range.c
-@@ -4,6 +4,7 @@
- * All Rights Reserved.
- */
-
-+#ifndef HAVE_COPY_FILE_RANGE
- #include "command.h"
- #include "input.h"
- #include "init.h"
-@@ -92,3 +93,5 @@ sync_range_init(void)
-
- add_command(&sync_range_cmd);
- }
-+
-+#endif
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch
new file mode 100644
index 00000000..84f4f88e
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch
@@ -0,0 +1,40 @@
+From e81633a276dd6a9f919e5e5c15481ac50a8e485d Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 30 Aug 2019 14:59:06 +0800
+Subject: [PATCH] support usrmerge
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4b7e4c8..f1afbd6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -110,8 +110,7 @@ AC_ARG_ENABLE(libicu,
+ # If the user specified a libdir ending in lib64 do not append another
+ # 64 to the library names.
+ #
+-base_libdir=`basename "$libdir"`
+-case $base_libdir in
++case `basename "$libdir"` in
+ lib64)
+ enable_lib64=no
+ esac
+@@ -125,8 +124,8 @@ esac
+ #
+ case $exec_prefix:$prefix in
+ NONE:NONE | NONE:/usr | /usr:*)
+- root_sbindir='/sbin'
+- root_libdir="/${base_libdir}"
++ root_sbindir="${base_sbindir}"
++ root_libdir="${base_libdir}"
+ ;;
+ *)
+ root_sbindir="${sbindir}"
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch
deleted file mode 100644
index c07b4b50..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2bd40e5ed4df0b0a42beff8806b1ec5daa372c48 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Thu, 19 Jul 2018 16:49:41 +0800
-Subject: [PATCH] Disable xfs_scrub build
-
-Disable xfs_scrub build since it is experimental.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 7ddfa31..cd60319 100644
---- a/Makefile
-+++ b/Makefile
-@@ -48,7 +48,7 @@ LIBFROG_SUBDIR = libfrog
- DLIB_SUBDIRS = libxlog libxcmd libhandle
- LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS)
- TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \
-- mdrestore repair rtcp m4 man doc debian spaceman scrub
-+ mdrestore repair rtcp m4 man doc debian spaceman
-
- ifneq ("$(PKG_PLATFORM)","darwin")
- TOOL_SUBDIRS += fsr
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb
deleted file mode 100644
index 0a1bacb9..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb
+++ /dev/null
@@ -1,68 +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://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \
- file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
-DEPENDS = "util-linux util-linux-native"
-SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
- file://remove_flags_from_build_flags.patch \
- file://0001-build-Check-for-sync_file_range-libc-function.patch \
- file://disable-xfs_scrub-build.patch \
- file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \
- file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
- "
-SRC_URI[md5sum] = "5f80b631b68df89a8b9283307e96d2e8"
-SRC_URI[sha256sum] = "397dc96f51aeeff73d021d3418d3172377b2685f2740ca60525096c070aa3df1"
-
-inherit autotools-brokensep
-
-PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
-
-DEPENDS += "util-linux"
-
-RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
-
-FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
-FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
-FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
-
-FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
-
-EXTRA_OECONF = "--enable-gettext=no \
- INSTALL_USER=root \
- INSTALL_GROUP=root \
- ac_cv_header_aio_h=yes \
- ac_cv_lib_rt_lio_listio=yes \
-"
-
-DISABLE_STATIC = ""
-EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
-
-PACKAGECONFIG ??= "readline blkid"
-
-PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
-PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
-
-export DEBUG="-DNDEBUG"
-export BUILD_VERBOSE="1"
-export tagname="CC"
-
-EXTRA_OEMAKE = "DIST_ROOT='${D}'"
-
-do_configure () {
- 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
- oe_runconf
-}
-
-do_install_append() {
- oe_runmake 'DESTDIR=${D}' install-dev
- rm ${D}${libdir}/*.la
- rmdir --ignore-fail-on-non-empty ${D}${libdir}
-}
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb
new file mode 100644
index 00000000..433ce477
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb
@@ -0,0 +1,76 @@
+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://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \
+ file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
+DEPENDS = "util-linux util-linux-native"
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
+ file://remove_flags_from_build_flags.patch \
+ file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \
+ file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
+ file://0001-support-usrmerge.patch \
+ "
+SRC_URI[md5sum] = "5ca3f79e76e3fb984a03d1b42a2e60ba"
+SRC_URI[sha256sum] = "7b500e148cebd08f99e37cf744c7843817b37e7be2a32c4dc57d6ea16e3019ae"
+
+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 \
+ --enable-scrub=no \
+ INSTALL_USER=root \
+ INSTALL_GROUP=root \
+ ac_cv_header_aio_h=yes \
+ ac_cv_lib_rt_lio_listio=yes \
+ OPTIMIZER='${SELECTED_OPTIMIZATION}' \
+"
+
+DISABLE_STATIC = ""
+EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
+
+PACKAGECONFIG ??= "readline blkid"
+
+PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
+PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
+
+export DEBUG="-DNDEBUG"
+export BUILD_VERBOSE="1"
+export tagname="CC"
+
+EXTRA_OEMAKE = "DIST_ROOT='${D}'"
+
+do_configure () {
+ 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
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
+
+do_install_append() {
+ oe_runmake 'DESTDIR=${D}' install-dev
+ rm ${D}${libdir}/*.la
+ rmdir --ignore-fail-on-non-empty ${D}${libdir}
+
+ if [ ${libdir} != ${base_libdir} ];then
+ ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a
+ ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so
+ fi
+}
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb
deleted file mode 100644
index b26709e9..00000000
--- a/external/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "xorriso copies file objects from POSIX compliant filesystems \
-into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise \
-manipulation of such filesystems"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "ec79fd2736b8da76e7a870e27cadf6fa"
-SRC_URI[sha256sum] = "0bd1e085015b28c24f57697d6def2fe84517967dc417554c0c3ccf1685ed0e56"
-
-PACKAGECONFIG ??= "acl attr zlib bzip2 readline"
-PACKAGECONFIG[acl] = "--enable-libacl,--disable-libacl,acl,"
-PACKAGECONFIG[attr] = "--enable-xattr,--disable-xattr,attr,"
-PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
-PACKAGECONFIG[bzip2] = "--enable-libbz2,--disable-libbz2,bzip2,"
-PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline,"
-
-inherit autotools-brokensep pkgconfig distro_features_check
-
-do_configure_prepend () {
- touch NEWS
-}
-
-RDEPENDS_${PN} = "tk"
-REQUIRED_DISTRO_FEATURES = "x11"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.3.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.3.bb
new file mode 100644
index 00000000..30224c20
--- /dev/null
+++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.3.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "xorriso copies file objects from POSIX compliant filesystems \
+into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise \
+manipulation of such filesystems"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "d6b16763a2ca23eec718cfac1761b40f"
+SRC_URI[sha256sum] = "97a9c9831fa1b053f781f74a17b79327e7402c6163f5c7973453ba881616aeb4"
+
+PACKAGECONFIG ??= "acl attr zlib bzip2 readline"
+PACKAGECONFIG[acl] = "--enable-libacl,--disable-libacl,acl,"
+PACKAGECONFIG[attr] = "--enable-xattr,--disable-xattr,attr,"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
+PACKAGECONFIG[bzip2] = "--enable-libbz2,--disable-libbz2,bzip2,"
+PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline,"
+
+inherit autotools-brokensep pkgconfig features_check
+
+do_configure_prepend () {
+ touch NEWS
+}
+
+RDEPENDS_${PN} = "tk"
+REQUIRED_DISTRO_FEATURES = "x11"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-gnome/README b/external/meta-openembedded/meta-gnome/README
index 84d4f73d..6fdc5cf7 100644
--- a/external/meta-openembedded/meta-gnome/README
+++ b/external/meta-openembedded/meta-gnome/README
@@ -1,38 +1,18 @@
-meta-gnome
-===========
-
-The recipe in this layer needs to have 'x11' in DISTRO_FEATURES
-to have effect. To enable them, add in configuration file the following line.
-
- DISTRO_FEATURES_append = " x11"
-
-If meta-gnome is included, but x11 is not enabled as a
-distro feature a warning is printed at parse time:
-
- You have included the meta-gnome layer, but
- 'x11' has not been enabled in your DISTRO_FEATURES.
-
-If you know what you are doing, this warning can be disabled by setting the following
-variable in your configuration:
-
- SKIP_META_GNOME_SANITY_CHECK = 1
-
-
Dependencies
------------
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: thud
+branch: dunfell
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: thud
+branch: dunfell
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][thud]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][dunfell]' 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][thud][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][dunfell][PATCH'
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/external/meta-openembedded/meta-gnome/classes/gnome-help.bbclass b/external/meta-openembedded/meta-gnome/classes/gnome-help.bbclass
new file mode 100644
index 00000000..967091ba
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/classes/gnome-help.bbclass
@@ -0,0 +1,69 @@
+# Class to pack gnome help files or delete them during install
+# There are the following cases:
+#
+# if 'helpfiles' not in DISTRO_FEATURES
+# delete all help contants during install
+# else
+# if PACKAGE_NO_HELP_SPLIT == 1
+# pack all help files to ${PN}-help
+# else
+# pack all help files to ${PN}-help-<lingua>
+
+FILES_${PN}-help = "${datadir}/*/translations"
+
+# Dummy to get yelp build & PACKAGE_NO_HELP_SPLIT set 1
+PACKAGES_append = " ${PN}-help"
+FILES_${PN}-help = "${datadir}/help"
+RRECOMMENDS_${PN}-help = "${@bb.utils.contains('DISTRO_FEATURES','helpfiles','yelp','',d)}"
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES','helpfiles','false','true',d)}; then
+ rm -rf ${D}${datadir}/help/*
+ fi
+}
+
+python gnome_do_split_help() {
+ if bb.utils.contains('DISTRO_FEATURES', 'helpfiles', False, True, d):
+ return
+
+ if (d.getVar('PACKAGE_NO_HELP_SPLIT') == '1'):
+ # all help files go to ${
+ bb.debug(1, "package requested not splitting help-files")
+ return
+
+ packages = (d.getVar('PACKAGES') or "").split()
+ datadir = d.getVar('datadir')
+ dvar = d.getVar('PKGD')
+ pn = d.getVar('PN')
+
+ if pn + '-help' in packages:
+ packages.remove(pn + '-help')
+
+ helpdir = os.path.join(dvar + datadir, 'help')
+
+ if not cpath.isdir(helpdir):
+ bb.warn("No help files in this package - remove gnome-help from inherit?")
+ return
+
+ helps = os.listdir(helpdir)
+
+ summary = d.getVar('SUMMARY') or pn
+ description = d.getVar('DESCRIPTION') or ""
+ locale_section = d.getVar('LOCALE_SECTION')
+ mlprefix = d.getVar('MLPREFIX') or ""
+ for l in sorted(helps):
+ ln = legitimize_package_name(l)
+ pkg = pn + '-help-' + ln
+ packages.append(pkg)
+ d.setVar('FILES_' + pkg, os.path.join(datadir, 'help', l))
+ d.setVar('RRECOMMENDS_' + pkg, '%syelp' % mlprefix)
+ d.setVar('SUMMARY_' + pkg, '%s - %s help' % (summary, l))
+ d.setVar('DESCRIPTION_' + pkg, '%s This package contains language help files for the %s locale.' % (description, l))
+ if locale_section:
+ d.setVar('SECTION_' + pkg, locale_section)
+
+ d.setVar('PACKAGES', ' '.join(packages))
+}
+
+PACKAGESPLITFUNCS_prepend = "gnome_do_split_help "
+
diff --git a/external/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass b/external/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass
deleted file mode 100644
index 331ea193..00000000
--- a/external/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass
+++ /dev/null
@@ -1,10 +0,0 @@
-addhandler gnome_bbappend_distrocheck
-gnome_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck"
-python gnome_bbappend_distrocheck() {
- skip_check = e.data.getVar('SKIP_META_GNOME_SANITY_CHECK') == "1"
- if 'x11' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check:
- bb.warn("You have included the meta-gnome layer, but \
-'x11' has not been enabled in your DISTRO_FEATURES. Some bbappend files \
-may not take effect. See the meta-gnome README for details on enabling \
-meta-gnome support.")
-}
diff --git a/external/meta-openembedded/meta-gnome/conf/layer.conf b/external/meta-openembedded/meta-gnome/conf/layer.conf
index e9d0785b..7aa9507e 100644
--- a/external/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/external/meta-openembedded/meta-gnome/conf/layer.conf
@@ -8,14 +8,13 @@ BBFILE_COLLECTIONS += "gnome-layer"
BBFILE_PATTERN_gnome-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_gnome-layer = "7"
+# auto-pack gnome help files
+IMAGE_LINGUAS_COMPLEMENTARY_append = " ${@bb.utils.contains('DISTRO_FEATURES','helpfiles','*-help-%s','',d)}"
+
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_gnome-layer = "1"
LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer"
-LAYERSERIES_COMPAT_gnome-layer = "thud"
-
-# Sanity check for meta-gnome layer.
-# Setting SKIP_META_GNOME_SANITY_CHECK to "1" would skip the bbappend files check.
-INHERIT += "sanity-meta-gnome"
+LAYERSERIES_COMPAT_gnome-layer = "thud warrior zeus dunfell"
diff --git a/external/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb b/external/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb
deleted file mode 100644
index bf5178cf..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A simple presentation tool for hackers"
-DESCRIPTION = "Pinpoint is a simple presentation tool that hopes to avoid audience death \
- by bullet point and instead encourage presentations containing beautiful \
- images and small amounts of concise text in slides."
-SECTION = "x11/multimedia"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
- file://pinpoint.c;beginline=6;endline=17;md5=201d438283607da393fae6aca085454c"
-
-DEPENDS = "glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-3.0 librsvg"
-
-inherit autotools gettext pkgconfig distro_features_check
-
-# cogl requires opengl
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-SRC_URI = "git://git.gnome.org/pinpoint"
-
-SRCREV = "80a056c57e819d0b75035424638813b0670830e1"
-PV = "0.1.4+gitr${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-RRECOMMENDS_${PN} = "gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-png"
diff --git a/external/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.28.bb b/external/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.28.bb
new file mode 100644
index 00000000..3b1698e7
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.28.bb
@@ -0,0 +1,26 @@
+SUMMARY = "NetworkManager GUI library"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "glib-2.0 gtk+3 networkmanager"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gobject-introspection gtk-doc gettext vala features_check
+
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG','gcr','x11','',d)}"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI[archive.md5sum] = "094c45d7694b153612cbdc3c713edcb5"
+SRC_URI[archive.sha256sum] = "4af69552d131a3b2b8b6a2df584044258bf588448dcdb4bddfa12a07c134b726"
+
+PACKAGECONFIG ?= "gcr iso_codes mobile_broadband_provider_info"
+PACKAGECONFIG[gcr] = "-Dgcr=true,-Dgcr=false,gcr"
+PACKAGECONFIG[iso_codes] = "-Diso_codes=true,-Diso_codes=false,iso-codes,iso-codes"
+PACKAGECONFIG[mobile_broadband_provider_info] = "-Dmobile_broadband_provider_info=true,-Dmobile_broadband_provider_info=false,mobile-broadband-provider-info,mobile-broadband-provider-info"
+
+# go introspection is not supported for mipsn32/riscv32, but vapi needs it
+#
+EXTRA_OEMESON_mipsarchn32_append = " -Dvapi=false"
+EXTRA_OEMESON_riscv32_append = " -Dvapi=false"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
diff --git a/external/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.16.0.bb b/external/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.16.0.bb
new file mode 100644
index 00000000..0cac52c0
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.16.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "GTK+ applet for NetworkManager"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "gtk+3 libnma libnotify libsecret networkmanager iso-codes nss"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit features_check gnomebase gsettings gtk-icon-cache gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "9652c2757e85d6caba657405cf794fbd"
+SRC_URI[archive.sha256sum] = "d6f98a455a271e7e169b5d35d290f4880f503cdf7593251572c9330941b5c3e5"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager"
+PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux"
+
+RDEPENDS_${PN} =+ "networkmanager"
+
+FILES_${PN} += " \
+ ${datadir}/nm-applet/ \
+ ${datadir}/libnma/wifi.ui \
+ ${datadir}/metainfo \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb b/external/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb
deleted file mode 100644
index 01840009..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb
+++ /dev/null
@@ -1,52 +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 \
-"
-
-GNOMEBASEBUILDCLASS = "autotools-brokensep"
-inherit distro_features_check gnomebase gsettings gtk-icon-cache gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "34923579b39360db64649342ee6735d8"
-SRC_URI[archive.sha256sum] = "23dc1404f1e0622b7c4718b6d978b101d5e4d9be0b92133b3863a4dc29786178"
-
-PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
-PACKAGECONFIG[mobile-provider-info] = "--enable-mobile-broadband-provider-info,--disable-mobile-broadband-provider-info,mobile-broadband-provider-info,mobile-broadband-provider-info"
-PACKAGECONFIG ??= ""
-
-EXTRA_OECONF = " \
- --without-selinux \
-"
-
-do_configure_append() {
- # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
- for i in $(find ${B} -name "Makefile") ; do
- sed -i -e s%-Werror[^[:space:]]*%%g $i
- done
-}
-
-# gobject-introspection related
-GI_DATA_ENABLED_libc-musl = "False"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs:${B}/src/libnm-gtk/.libs"
-}
-
-RDEPENDS_${PN} =+ "networkmanager"
-
-FILES_${PN} += " \
- ${datadir}/nm-applet/ \
- ${datadir}/libnm-gtk/wifi.ui \
- ${datadir}/libnma/wifi.ui \
- ${datadir}/metainfo \
-"
-
-# musl builds generate gir files which otherwise go un-packaged
-FILES_${PN}-dev += " \
- ${datadir}/gir-1.0 \
-"
diff --git a/external/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/external/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
deleted file mode 100644
index 1abb5bbc..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# networkmanager-applet requires glib support
-PACKAGECONFIG_append = " glib"
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch b/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch
deleted file mode 100644
index 03cb762c..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-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/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
deleted file mode 100644
index 1b24c39c..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From aed002cd9ff9e8f972120fbac33b4a65aba952e1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 25 Sep 2012 10:28:33 +0200
-Subject: [PATCH] gnome-doc-utils.make: sysrooted pkg-config
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-same approach as used used in gnome-disk-utility:
-
-In cross environment we have to prepend the sysroot to the path found by
-pkgconfig since the path returned from pkgconfig does not have sysroot prefixed
-it ends up using the files from host system. Now usually people have gnome installed
-so the build succeeds but if you dont have gnome installed on build host then
-it wont find the files on host system and packages using gnome-doc-utils wont
-compile.
-
-This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR
-will be empty
-
-Upstream-Status: pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- gnome-doc-utils.make | 10 +++++-----
- 1 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/gnome-doc-utils.make b/gnome-doc-utils.make
-index 42d9df3..f71bbfa 100644
---- a/gnome-doc-utils.make
-+++ b/gnome-doc-utils.make
-@@ -133,11 +133,11 @@ _DOC_ABS_SRCDIR = @abs_srcdir@
- _xml2po ?= `which xml2po`
- _xml2po_mode = $(if $(DOC_ID),mallard,docbook)
-
--_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
--_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
--_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
--_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
--_ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl
-+_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils`
-+_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
-+_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
-+_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
-+_ids ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
-
- if ENABLE_SK
- _ENABLE_SK = true
---
-1.7.6.5
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch b/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch
deleted file mode 100644
index f735ff81..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5aa3d2abb905fa8594f6c6572a87809da54c9342 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Mon, 5 Sep 2016 11:25:27 +0200
-Subject: [PATCH] fix gcc-6 build
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- gladeui/glade-editor-property.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/gladeui/glade-editor-property.c b/gladeui/glade-editor-property.c
-index a0c1039..5e9ac38 100644
---- a/gladeui/glade-editor-property.c
-+++ b/gladeui/glade-editor-property.c
-@@ -2703,6 +2703,8 @@ glade_eprop_object_view (gboolean radio)
- }
-
-
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
- static gchar *
- glade_eprop_object_dialog_title (GladeEditorProperty *eprop)
- {
-@@ -2731,6 +2733,7 @@ glade_eprop_object_dialog_title (GladeEditorProperty *eprop)
- return g_strdup_printf (format, g_type_name
- (eprop->klass->pspec->value_type));
- }
-+#pragma GCC diagnostic pop
-
-
- gboolean
---
-2.5.5
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_3.8.5.bb b/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_3.8.5.bb
deleted file mode 100644
index c3da3e9b..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_3.8.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Glade - A User Interface Designer"
-HOMEPAGE = "http://www.gnu.org/software/gnash"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
- file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
- file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "gtk+ gnome-doc-utils gnome-common libxml2 intltool-native"
-
-inherit distro_features_check autotools pkgconfig pythonnative gtk-icon-cache
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \
- file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch \
- file://0002-fix-gcc-6-build.patch \
- file://0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch \
- "
-SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f"
-SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735"
-
-EXTRA_OECONF += "--disable-scrollkeeper"
-
-FILES_${PN} += "${datadir}/icons"
diff --git a/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/0001-Install-polkit-action-unconditionally-executable-pke.patch b/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/0001-Install-polkit-action-unconditionally-executable-pke.patch
new file mode 100644
index 00000000..a7fc4d59
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/0001-Install-polkit-action-unconditionally-executable-pke.patch
@@ -0,0 +1,47 @@
+From 79fd11f1d8e4827ae8aee03420a5c92038fe4ef5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 26 Feb 2020 20:25:06 +0100
+Subject: [PATCH] Install polkit action unconditionally - executable pkexec is
+ not in our sysroot
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 17 +----------------
+ 1 file changed, 1 insertion(+), 16 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 43503ac..b339ee5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -24,22 +24,7 @@ dnl======================
+ dnl Find graphical privilege escalation program
+ dnl======================
+ dnl Check for pkexec >= 0.102 for it's ability to run X11 apps.
+-AM_CONDITIONAL([INSTALL_POLKIT_ACTIONS], false)
+-PKEXEC_REQUIRED_VERSION='0.102'
+-AC_MSG_CHECKING([for pkexec >= $PKEXEC_REQUIRED_VERSION])
+-PKEXEC_REQUIRED_INT=`echo "$PKEXEC_REQUIRED_VERSION" | $AWK -F. '{print $1 * 10000 + $2}'`
+-PKEXEC_VERSION_OUTPUT=`pkexec --version 2> /dev/null` ||
+- AC_MSG_RESULT([not found])
+-if test "x$PKEXEC_VERSION_OUTPUT" != 'x'; then
+- PKEXEC_FOUND_VERSION=`echo "$PKEXEC_VERSION_OUTPUT" | head -1 | cut -d' ' -f3`
+- PKEXEC_FOUND_INT=`echo "$PKEXEC_FOUND_VERSION" | $AWK -F. '{print $1 * 10000 + $2}'`
+- AC_MSG_RESULT([$PKEXEC_FOUND_VERSION found])
+- if test "$PKEXEC_FOUND_INT" -ge "$PKEXEC_REQUIRED_INT"; then
+- GKSUPROG='pkexec --disable-internal-agent'
+- AC_SUBST([GKSUPROG])
+- AM_CONDITIONAL([INSTALL_POLKIT_ACTIONS], true)
+- fi
+-fi
++AM_CONDITIONAL([INSTALL_POLKIT_ACTIONS], true)
+
+ dnl Check for alternative graphical privilege escalation programs.
+ if test "x$GKSUPROG" = 'x'; then
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/gparted_polkit b/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/gparted_polkit
deleted file mode 100644
index feabd0ee..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/gparted_polkit
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# polkit installed?
-if [ $(which pkexec) ]; then
- pkexec --disable-internal-agent "%sbindir%/gparted" "$@"
-else
- %sbindir%/gparted "$@"
-fi
-
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/org.yoctoproject.pkexec.run-gparted.policy b/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/org.yoctoproject.pkexec.run-gparted.policy
deleted file mode 100644
index 77a91923..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-extended/gparted/files/org.yoctoproject.pkexec.run-gparted.policy
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE policyconfig PUBLIC
- "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
- "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
-<policyconfig>
-
- <action id="org.yoctoproject.pkexec.run-gparted">
- <description>Run the GParted program</description>
- <message>Authentication is required to run the GParted Partition Editor</message>
- <icon_name>gparted</icon_name>
- <defaults>
- <allow_any>auth_admin</allow_any>
- <allow_inactive>auth_admin</allow_inactive>
- <allow_active>auth_admin</allow_active>
- </defaults>
- <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gparted</annotate>
- <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
- </action>
-
-</policyconfig>
diff --git a/external/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb b/external/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb
deleted file mode 100644
index 58beaf6c..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb
+++ /dev/null
@@ -1,40 +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 distro_features_check autotools pkgconfig gtk-icon-cache
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = " \
- ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
- file://org.yoctoproject.pkexec.run-gparted.policy \
- file://gparted_polkit \
-"
-SRC_URI[md5sum] = "c554cc5734c50459dd551bd3fa10710e"
-SRC_URI[sha256sum] = "3b7b49a434d9e4b397bc41a1f5acab8539b9ff402b472dfd83ad77b2decd07ba"
-
-DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native"
-
-do_install_append() {
- # Add a script which checks if polkit is installed.
- # If yes: a policy is requested from polkit / otherwise start as usual
- install ${WORKDIR}/gparted_polkit ${D}${sbindir}
- sed -i 's:%sbindir%:${sbindir}:g' ${D}${sbindir}/gparted_polkit
- # relink menu entry to use our script
- sed -i 's:${sbindir}/gparted:${sbindir}/gparted_polkit:g' ${D}${datadir}/applications/gparted.desktop
-
- install -d ${D}${datadir}/polkit-1/actions
- install ${WORKDIR}/org.yoctoproject.pkexec.run-gparted.policy ${D}${datadir}/polkit-1/actions/org.yoctoproject.pkexec.run-gparted.policy
-}
-
-EXTRA_OECONF = "--disable-scrollkeeper --disable-doc"
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/icons \
- ${datadir}/polkit-1 \
-"
-
-RDEPENDS_${PN} = "dosfstools mtools e2fsprogs"
diff --git a/external/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.1.0.bb b/external/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.1.0.bb
new file mode 100644
index 00000000..3aaec3cd
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.1.0.bb
@@ -0,0 +1,39 @@
+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 features_check autotools pkgconfig python3native gnome-help gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
+ file://0001-Install-polkit-action-unconditionally-executable-pke.patch \
+"
+SRC_URI[md5sum] = "0da45cb522d766dfb4886fb3bdbc2634"
+SRC_URI[sha256sum] = "e2fe7b7afbc07e930491c00a05200c2682cc0576ca8f6da87245a000257f5924"
+
+DEPENDS += " \
+ glib-2.0-native \
+ yelp-tools-native \
+ intltool-native \
+ glib-2.0 \
+ gtkmm3 \
+ parted \
+"
+
+FILES_${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/icons \
+"
+
+PACKAGES += "${PN}-polkit"
+FILES_${PN}-polkit = "${datadir}/polkit-1"
+
+RDEPENDS_${PN} = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', '${PN}-polkit', '', d)} \
+ dosfstools \
+ mtools \
+ e2fsprogs \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.74.bb b/external/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.74.bb
new file mode 100644
index 00000000..c470987b
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.74.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library"
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+GIR_MESON_OPTION = "enable-gir"
+
+inherit setuptools3 gnomebase gobject-introspection
+
+DEPENDS += "lcms"
+
+# https://bugs.llvm.org/show_bug.cgi?id=45555
+CFLAGS_append_toolchain-clang_mipsarch = " -ffp-exception-behavior=ignore "
+CFLAGS_append_toolchain-clang_riscv64 = " -ffp-exception-behavior=ignore "
+
+SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz"
+SRC_URI[md5sum] = "d032853f2678bc95054c39d4f02045c1"
+SRC_URI[sha256sum] = "9a710b6950da37ada94cd9e2046cbce26de12473da32a7b79b7d1432fc66ce0e"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-meson.build-Give-note-if-sdl2-was-found.patch b/external/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-meson.build-Give-note-if-sdl2-was-found.patch
new file mode 100644
index 00000000..6a49f1d7
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-meson.build-Give-note-if-sdl2-was-found.patch
@@ -0,0 +1,32 @@
+From 6bed199a73a7af39344cf8e799b665011553600c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 8 Feb 2020 14:29:52 +0100
+Subject: [PATCH] meson.build: Give note if sdl2 was found
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Configure output confused me a bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/meson.build b/meson.build
+index 9d5b484..296b5f3 100644
+--- a/meson.build
++++ b/meson.build
+@@ -374,6 +374,7 @@ message('\n'.join(['',
+ ' OpenEXR: @0@'.format(openexr.found()),
+ ' rsvg: @0@'.format(librsvg.found()),
+ ' SDL: @0@'.format(sdl1.found()),
++' SDL2: @0@'.format(sdl2.found()),
+ ' libraw: @0@'.format(libraw.found()),
+ ' Jasper: @0@'.format(jasper.found()),
+ ' av libs: @0@'.format(avlibs_found),
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.22.bb b/external/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.22.bb
new file mode 100644
index 00000000..ca73e66f
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.22.bb
@@ -0,0 +1,61 @@
+SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f1a8bfcbc85304df454b65d378b299c7"
+
+DEPENDS = " \
+ intltool-native \
+ babl \
+ glib-2.0 \
+ pango \
+ cairo \
+ expat \
+ zlib \
+ \
+ json-glib \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit features_check gnomebase vala gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SHPV = "${@gnome_verdir("${PV}")}"
+
+SRC_URI = " \
+ https://download.gimp.org/pub/${BPN}/${SHPV}/${BP}.tar.xz \
+ file://0001-meson.build-Give-note-if-sdl2-was-found.patch \
+"
+SRC_URI[md5sum] = "1776ac26792de0de3c3d680872e94b72"
+SRC_URI[sha256sum] = "1888ec41dfd19fe28273795c2209efc1a542be742691561816683990dc642c61"
+
+PACKAGECONFIG ??= "gexiv2 jpeg libpng librsvg sdl2"
+PACKAGECONFIG_class-native = "libpng librsvg"
+
+PACKAGECONFIG[jasper] = "-Djasper=enabled,-Djasper=disabled,jasper"
+PACKAGECONFIG[gexiv2] = "-Dgexiv2=enabled,-Dgexiv2=disabled,gexiv2"
+PACKAGECONFIG[graphviz] = "-Dgraphviz=enabled,-Dgraphviz=disabled,graphviz"
+PACKAGECONFIG[jpeg] = "-Dlibjpeg=enabled,-Dlibjpeg=disabled,jpeg"
+PACKAGECONFIG[lcms] = "-Dlcms=enabled,-Dlcms=disabled,lcms"
+PACKAGECONFIG[libav] = "-Dlibav=enabled,-Dlibav=disabled,libav"
+PACKAGECONFIG[libpng] = "-Dlibpng=enabled,-Dlibpng=disabled,libpng"
+PACKAGECONFIG[librsvg] = "-Dlibrsvg=enabled,-Dlibrsvg=disabled,librsvg"
+PACKAGECONFIG[sdl] = "-Dsdl1=enabled,-Dsdl1=disabled,virtual/libsdl"
+PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2"
+PACKAGECONFIG[tiff] = "-Dlibtiff=enabled,-Dlibtiff=disabled,tiff"
+PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,webp"
+
+# There are a couple of non-symlink .so files installed into libdir, which need to go into main package
+FILES_${PN} += " \
+ ${libdir}/*.so \
+ ${libdir}/gegl-${SHPV}/*.json \
+ ${libdir}/gegl-${SHPV}/*.so \
+"
+FILES_SOLIBSDEV = "${libdir}/libgegl-${SHPV}${SOLIBSDEV}"
+
+# Fails to build with thumb-1 (qemuarm)
+# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process':
+# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
+ARM_INSTRUCTION_SET = "arm"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.18.bb b/external/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.18.bb
new file mode 100644
index 00000000..13505733
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.18.bb
@@ -0,0 +1,64 @@
+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=c678957b0c8e964aa6c70fd77641a71e"
+
+DEPENDS = " \
+ gdk-pixbuf-native \
+ intltool-native \
+ libxslt-native \
+ gegl-native \
+ dbus-glib \
+ gtk+ \
+ babl \
+ gegl \
+ libmypaint \
+ mypaint-brushes-1.0 \
+ gexiv2 \
+ jpeg \
+ libpng \
+ libexif \
+ tiff \
+ lcms \
+ poppler \
+ poppler-data \
+ jasper \
+ bzip2 \
+ libgudev \
+ libmng \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)} \
+"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+inherit features_check gnomebase gtk-icon-cache gtk-doc mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SHPV = "${@gnome_verdir("${PV}")}"
+
+SRC_URI = "https://download.gimp.org/pub/${BPN}/v${SHPV}/${BP}.tar.bz2"
+SRC_URI[md5sum] = "096d04ffb2c4559cb2152f507ff31c9c"
+SRC_URI[sha256sum] = "65bfe111e8eebffd3dde3016ccb507f9948d2663d9497cb438d9bb609e11d716"
+
+EXTRA_OECONF = "--disable-python \
+ --without-webkit \
+ --without-wmf"
+
+EXTRA_OECONF_append_libc-musl_mipsarch = " --disable-vector-icons"
+EXTRA_OECONF_append_toolchain-clang_arm = " --disable-vector-icons"
+
+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_prepend() {
+ # Let native babl/gegl find their plugins
+ export BABL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'babl-*'`
+ export GEGL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'gegl-*'`
+}
+
+FILES_${PN} += "${datadir}/metainfo"
+
+RDEPENDS_${PN} += "mypaint-brushes-1.0"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb b/external/meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb
new file mode 100644
index 00000000..2ca80f3e
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gimp/mypaint/libmypaint_git.bb
@@ -0,0 +1,24 @@
+SUMMARY = "libmypaint is a library for making brushstrokes"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9d13203ab4013e5a14dd62105f75d58b"
+
+DEPENDS = " \
+ glib-2.0-native \
+ intltool-native \
+ glib-2.0 \
+ babl \
+ json-c \
+"
+
+inherit autotools gobject-introspection gettext python3native
+
+SRC_URI = "git://github.com/mypaint/libmypaint.git;protocol=https;branch=libmypaint-v1"
+SRCREV = "477cb94b596035b54a255faaf95d13f6a8ee3619"
+PV = "1.4.0"
+S = "${WORKDIR}/git"
+
+do_configure_append() {
+ # autogen uses python2 so generate headers ourselves
+ cd ${S}
+ python3 generate.py mypaint-brush-settings-gen.h brushsettings-gen.h
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-gimp/mypaint/mypaint-brushes-1.0_git.bb b/external/meta-openembedded/meta-gnome/recipes-gimp/mypaint/mypaint-brushes-1.0_git.bb
new file mode 100644
index 00000000..d4d08fe8
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gimp/mypaint/mypaint-brushes-1.0_git.bb
@@ -0,0 +1,12 @@
+SUMMARY = "MyPaint brushes"
+LICENSE = "CC0-1.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=65d3616852dbf7b1a6d4b53b00626032"
+
+inherit autotools allarch
+
+SRC_URI = "git://github.com/mypaint/mypaint-brushes.git;protocol=https;branch=v1.3.x"
+SRCREV = "be9fdf9ef6c54e29c7499992f04e29114857b3fc"
+PV = "1.3.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${datadir}/mypaint-data"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch
deleted file mode 100644
index 3731a23f..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From f6d0dc338fe867c1b064682ae7f15bffe019b306 Mon Sep 17 00:00:00 2001
-From: Hubert Figuiere <hub@figuiere.net>
-Date: Tue, 12 Apr 2016 02:55:47 +0000
-Subject: [PATCH] Bug 13770 - Require C++11 from now on.
-
-git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/trunk@35197 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ax_cxx_compile_stdcxx_11.m4 | 133 +++++++++++++++++++++++++++++++++++
- configure.ac | 1 +
- src/wp/ap/gtk/ap_UnixApp.cpp | 2 +-
- 3 files changed, 135 insertions(+), 1 deletion(-)
- create mode 100644 ax_cxx_compile_stdcxx_11.m4
-
-diff --git a/ax_cxx_compile_stdcxx_11.m4 b/ax_cxx_compile_stdcxx_11.m4
-new file mode 100644
-index 0000000..af37acd
---- /dev/null
-+++ b/ax_cxx_compile_stdcxx_11.m4
-@@ -0,0 +1,133 @@
-+# ============================================================================
-+# 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.
-+#
-+# The first 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 second argument, if specified 'mandatory' or if left unspecified,
-+# indicates that baseline C++11 support 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_CXX11 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>
-+#
-+# 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 3
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [
-+ template <typename T>
-+ struct check
-+ {
-+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+ };
-+
-+ typedef check<check<bool>> right_angle_brackets;
-+
-+ int a;
-+ decltype(a) b;
-+
-+ typedef check<int> check_type;
-+ check_type c;
-+ check_type&& cr = static_cast<check_type&&>(c);
-+
-+ auto d = a;
-+])
-+
-+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
-+ m4_if([$1], [], [],
-+ [$1], [ext], [],
-+ [$1], [noext], [],
-+ [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
-+ m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
-+ [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
-+ [$2], [optional], [ax_cxx_compile_cxx11_required=false],
-+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])dnl
-+ AC_LANG_PUSH([C++])dnl
-+ ac_success=no
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
-+ ax_cv_cxx_compile_cxx11,
-+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [ax_cv_cxx_compile_cxx11=yes],
-+ [ax_cv_cxx_compile_cxx11=no])])
-+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
-+ ac_success=yes
-+ fi
-+
-+ m4_if([$1], [noext], [], [dnl
-+ if test x$ac_success = xno; then
-+ for switch in -std=gnu++11 -std=gnu++0x; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
-+ $cachevar,
-+ [ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [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([$1], [ext], [], [dnl
-+ if test x$ac_success = xno; then
-+ for switch in -std=c++11 -std=c++0x; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
-+ $cachevar,
-+ [ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [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_cxx11_required = xtrue; then
-+ if test x$ac_success = xno; then
-+ AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
-+ fi
-+ else
-+ if test x$ac_success = xno; then
-+ HAVE_CXX11=0
-+ AC_MSG_NOTICE([No compiler with C++11 support was found])
-+ else
-+ HAVE_CXX11=1
-+ AC_DEFINE(HAVE_CXX11,1,
-+ [define if the compiler supports basic C++11 syntax])
-+ fi
-+
-+ AC_SUBST(HAVE_CXX11)
-+ fi
-+])
-diff --git a/configure.ac b/configure.ac
-index 48228be..f7be7de 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -131,6 +131,7 @@ win_pkgs="$enchant_req"
-
- AC_PROG_CC
- AC_PROG_CXX
-+AX_CXX_COMPILE_STDCXX_11(noext,mandatory)
- #AC_PROG_OBJC
- AC_PROG_INSTALL
- # For libtool 1.5.x compatability (AC_PROG_LIBTOOL is deprecated version of LT_INIT)
-diff --git a/src/wp/ap/gtk/ap_UnixApp.cpp b/src/wp/ap/gtk/ap_UnixApp.cpp
-index 061a304..260f8e5 100644
---- a/src/wp/ap/gtk/ap_UnixApp.cpp
-+++ b/src/wp/ap/gtk/ap_UnixApp.cpp
-@@ -863,7 +863,7 @@ static bool is_so (const char *file) {
- if (len < (strlen(G_MODULE_SUFFIX) + 2)) // this is ".so" and at least one char for the filename
- return false;
- const char *suffix = file+(len-3);
-- if(0 == strcmp (suffix, "."G_MODULE_SUFFIX))
-+ if(0 == strcmp (suffix, "." G_MODULE_SUFFIX))
- return true;
- return false;
- }
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch
deleted file mode 100644
index 0dff1411..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c646159ce817506131b58fdab1cdc1cd6364df7a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Sun, 7 Feb 2016 21:45:20 +0100
-Subject: [PATCH] plugins/aiksaurus/Makefile.am: remove uncomplete options
- WITH_BUILTIN_AIKSAURUS_GTK
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* with gtk2 we won't use it
-* it is missing in configure.ac causing
-
-| plugins/aiksaurus/Makefile.am:5: error: WITH_BUILTIN_AIKSAURUS_GTK does not appear in AM_CONDITIONAL
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- plugins/aiksaurus/Makefile.am | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/plugins/aiksaurus/Makefile.am b/plugins/aiksaurus/Makefile.am
-index d402c58..1034e2a 100644
---- a/plugins/aiksaurus/Makefile.am
-+++ b/plugins/aiksaurus/Makefile.am
-@@ -2,10 +2,6 @@ SUBDIRS =
-
- if TOOLKIT_GTK
-
--if WITH_BUILTIN_AIKSAURUS_GTK
--SUBDIRS += aiksaurusgtk3
--platform_lib = aiksaurusgtk3/libAiksaurusGtk3.la
--endif
-
- endif
-
---
-2.5.0
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
deleted file mode 100644
index 36b056fd..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
+++ /dev/null
@@ -1,142 +0,0 @@
-SUMMARY = "AbiWord is free word processing program similar to Microsoft(r) Word"
-HOMEPAGE = "http://www.abiword.org"
-SECTION = "x11/office"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ecd3ac329fca77e2d0e412bec38e1c20"
-DEPENDS = " \
- perl-native \
- gtk+ \
- gtkmathview \
- wv \
- fribidi \
- jpeg \
- libpng \
- librsvg \
- libwmf-native \
- asio \
- evolution-data-server \
- libxslt \
- ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'redland rasqal', '', d)} \
-"
-RDEPENDS_${PN}_append_libc-glibc = " \
- glibc-gconv-ibm850 glibc-gconv-cp1252 \
- glibc-gconv-iso8859-15 glibc-gconv-iso8859-1 \
-"
-RCONFLICTS_${PN} = "${PN}-embedded"
-
-SRC_URI = "http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \
- file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \
- file://0001-Bug-13770-Require-C-11-from-now-on.patch \
- "
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a"
-
-SRC_URI[md5sum] = "cda6dd58c747c133b421cc7eb18f5796"
-SRC_URI[sha256sum] = "afbfd458fd02989d8b0c6362ba8a4c14686d89666f54cfdb5501bd2090cf3522"
-
-#want 3.x from 3.x.y for the installation directory
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-inherit distro_features_check autotools-brokensep pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-PACKAGECONFIG ??= " \
- collab-backend-xmpp collab-backend-tcp \
- ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'libical', '', d)} \
-"
-PACKAGECONFIG[libical] = "--with-libical,--without-libical,libical raptor2"
-PACKAGECONFIG[spell] = "--enable-spell,--disable-spell,enchant"
-PACKAGECONFIG[collab-backend-xmpp] = "--enable-collab-backend-xmpp,--disable-collab-backend-xmpp,libgsf libxml2 loudmouth"
-PACKAGECONFIG[collab-backend-tcp] = "--enable-collab-backend-tcp,--disable-collab-backend-tcp,libgsf libxml2"
-PACKAGECONFIG[collab-backend-service] = "--enable-collab-backend-service,--disable-collab-backend-service,libgsf libxml2 libsoup-2.4 gnutls"
-PACKAGECONFIG[collab-backend-telepathy] = "--enable-collab-backend-telepathy,--disable-collab-backend-telepathy,libgsf libxml2 telepathy-glib telepathy-mission-control"
-PACKAGECONFIG[collab-backend-sugar] = "--enable-collab-backend-sugar,--disable-collab-backend-sugar,libgsf libxml2 dbus-glib"
-
-EXTRA_OECONF = " --disable-static \
- --enable-plugins \
- --enable-clipart \
- --enable-templates \
- --without-gnomevfs \
- --with-gtk2 \
- --with-libwmf-config=${STAGING_DIR} \
-"
-
-LDFLAGS += "-lgmodule-2.0"
-
-do_compile() {
- cd goffice-bits2
- make goffice-paths.h
- make libgoffice.la
- cd ${B}
- oe_runmake
-}
-
-PACKAGES += " ${PN}-clipart ${PN}-strings ${PN}-systemprofiles ${PN}-templates "
-
-FILES_${PN} += " \
- ${libdir}/lib${PN}-*.so \
- ${datadir}/mime-info \
- ${datadir}/icons/* \
- ${datadir}/${PN}-${SHRT_VER}/glade \
- ${datadir}/${PN}-${SHRT_VER}/scripts \
- ${datadir}/${PN}-${SHRT_VER}/system.profile-en \
- ${datadir}/${PN}-${SHRT_VER}/system.profile-en_GB \
- ${datadir}/${PN}-${SHRT_VER}/templates/normal.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/normal.awt-en_GB \
- ${datadir}/${PN}-${SHRT_VER}/templates/Employee-Directory.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Business-Report.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Fax-Coversheet.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Resume.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Two-Columns.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Memo.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Press-Release.awt \
- ${datadir}/${PN}-${SHRT_VER}/certs \
- ${datadir}/${PN}-${SHRT_VER}/ui \
- ${datadir}/${PN}-${SHRT_VER}/xsl* \
- ${datadir}/${PN}-${SHRT_VER}/mime-info \
- ${datadir}/${PN}-${SHRT_VER}/Pr*.xml \
-"
-
-# don't steal /usr/lib/libabiword-3.0.so from ${PN}
-# in this case it's needed in ${PN}
-FILES_${PN}-dev = " \
- ${includedir} \
- ${libdir}/pkgconfig \
- ${libdir}/${PN}*.la \
- ${libdir}/lib${PN}*.la \
- ${libdir}/${PN}-${SHRT_VER}/plugins/*.la \
-"
-FILES_${PN}-dbg += "${libdir}/${PN}-${SHRT_VER}/plugins/.debug"
-FILES_${PN}-doc += "${datadir}/${PN}-*/readme*"
-
-FILES_${PN}-strings += "${datadir}/${PN}-${SHRT_VER}/strings"
-FILES_${PN}-systemprofiles += "${datadir}/${PN}-${SHRT_VER}/system.profile*"
-FILES_${PN}-clipart += "${datadir}/${PN}-${SHRT_VER}/clipart"
-FILES_${PN}-strings += "${datadir}/${PN}-${SHRT_VER}/AbiWord/strings"
-FILES_${PN}-systemprofiles += "${datadir}/${PN}-${SHRT_VER}/AbiWord/system.profile*"
-FILES_${PN}-templates += "${datadir}/${PN}-${SHRT_VER}/templates"
-
-PACKAGES_DYNAMIC += "^${PN}-meta.* ^${PN}-plugin-.*"
-
-python populate_packages_prepend () {
- abiword_libdir = d.expand('${libdir}/${PN}-${SHRT_VER}/plugins')
- do_split_packages(d, abiword_libdir, '(.*)\.so$', 'abiword-plugin-%s', 'Abiword plugin for %s', extra_depends='')
-
- metapkg = "abiword-meta"
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- d.setVar('FILES_' + metapkg, "")
- blacklist = [ 'abiword-plugins-dbg', 'abiword-plugins', 'abiword-plugins-doc', 'abiword-plugins-dev', 'abiword-plugins-locale' ]
- metapkg_rdepends = []
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale") and not pkg.count("abiword-doc"):
- print("Modifying %s" % pkg)
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
- d.setVar('DESCRIPTION_' + metapkg, 'abiword-plugin meta package')
- packages.append(metapkg)
- d.setVar('PACKAGES', ' '.join(packages))
-}
-
-FILES_${PN}-plugin-openxml += "${datadir}/${PN}-${SHRT_VER}/omml_xslt"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb
deleted file mode 100644
index 70f917ea..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Configuration editor for dconf"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-DEPENDS = "dconf gtk+3"
-
-inherit gnomebase vala gettext gsettings bash-completion
-
-SRC_URI[archive.md5sum] = "cc9eb8020cc848812972d8519c3d05cf"
-SRC_URI[archive.sha256sum] = "455b53d827820efd28a176ee52e13eda5cda8cdf4e31e0145cfdd69931bf0c5a"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
-"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.34.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.34.2.bb
new file mode 100644
index 00000000..699511f7
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.34.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Configuration editor for dconf"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+DEPENDS = "dconf gtk+3"
+
+inherit gnomebase vala gettext gsettings bash-completion
+
+SRC_URI[archive.md5sum] = "2907205ad1a0e2774c981932cb7ff25b"
+SRC_URI[archive.sha256sum] = "cecc2a5cb44af68be80e970e83fb9e3e92e2a74df7c90b63324e6da19a929d5f"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf/fix-meson-0.52.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf/fix-meson-0.52.patch
new file mode 100644
index 00000000..485c4650
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf/fix-meson-0.52.patch
@@ -0,0 +1,25 @@
+With meson 0.52 the build fails due to duplicate symbols. There is a fix
+to meson but the dconf build also needs tweaking.
+
+https://gitlab.gnome.org/GNOME/dconf/issues/59
+https://github.com/mesonbuild/meson/pull/5936
+
+Despite the comments there about this being incorrect, libdconf is unchanged
+between 0.51 and 0.52 and this patch.
+
+Upstream-Status: Pending [under discussion, see above links]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: dconf-0.34.0/client/meson.build
+===================================================================
+--- dconf-0.34.0.orig/client/meson.build
++++ dconf-0.34.0/client/meson.build
+@@ -28,7 +28,7 @@ libdconf_client = static_library(
+
+ libdconf_client_dep = declare_dependency(
+ dependencies: gio_dep,
+- link_whole: libdconf_client,
++ link_with: libdconf_client,
+ )
+
+ libdconf = shared_library(
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb
deleted file mode 100644
index 99292a88..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "configuation database system"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-SECTION = "x11/gnome"
-
-SRC_URI[archive.md5sum] = "81faa8e68e5ea71ff0ee75050fc0759c"
-SRC_URI[archive.sha256sum] = "61d3b3865ef58b729c3b39aa0979f886c014aa8362f93dcfc74bf5648ed9c742"
-
-DEPENDS = "dbus glib-2.0 intltool-native"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gsettings bash-completion vala
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${libdir}/gio/modules/*.so \
-"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.34.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.34.0.bb
new file mode 100644
index 00000000..3c3802f3
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.34.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "configuation database system"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+SECTION = "x11/gnome"
+
+SRC_URI[archive.md5sum] = "a3ab18ed51a0494a1c8436fef20cc1b0"
+SRC_URI[archive.sha256sum] = "943a94ab16121de5580ceaed2605b87444d1bca1c6cd8beefb778bcb0aa2da52"
+
+DEPENDS = "dbus glib-2.0 intltool-native"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase bash-completion vala
+
+SRC_URI += "file://fix-meson-0.52.patch"
+
+# I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
+EXTRA_OEMESON = "-Dman=false"
+# no bash-completion for native
+EXTRA_OEMESON_append_class-native = "-Dbash_completion=false"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${libdir}/gio/modules/*.so \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb
deleted file mode 100644
index 57a8720f..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/desktop-file-utils"
-DESCRIPTION = "desktop-file-utils contains a few command line utilities for working with desktop entries:"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "glib-2.0"
-
-PR = "r1"
-
-SRC_URI = "http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-${PV}.tar.bz2"
-SRC_URI[md5sum] = "d966b743eb394650f98d5dd56b9aece1"
-SRC_URI[sha256sum] = "d9449956c1c8caa75281a3322b2bb433db42610942f0ceeaa65ccd9636c04231"
-
-inherit autotools pkgconfig
-
-CACHED_CONFIGUREVARS += "ac_cv_prog_EMACS=no"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb
index 6ef8e8a6..69c23d56 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb
@@ -14,7 +14,7 @@ SRC_URI = " \
SRC_URI[md5sum] = "26eed0b5b4af5c7e13c551eceaeab832"
SRC_URI[sha256sum] = "ecffc17c62b41e196b72340192a90c4223329df041f135e74c0990860595f828"
-inherit distro_features_check pkgconfig gettext
+inherit features_check pkgconfig gettext
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
deleted file mode 100644
index a821a14a..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 131b88a81aba3d72d566bc8a9d968941a98e0007 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Tue, 19 Dec 2017 16:37:20 +0100
-Subject: [PATCH] CMakeLists.txt: Remove TRY_RUN for iconv
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-| CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
-| _correct_iconv_EXITCODE (advanced)
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- CMakeLists.txt | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8d07772..a2396f2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -521,13 +521,8 @@ if(NOT HAVE_ICONV)
- endif(NOT HAVE_ICONV)
-
- set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBS})
--CHECK_C_SOURCE_RUNS("#include \"${CMAKE_SOURCE_DIR}/iconv-detect.c\"" _correct_iconv)
- unset(CMAKE_REQUIRED_LIBRARIES)
-
--if(NOT _correct_iconv)
-- message(FATAL_ERROR "You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv")
--endif(NOT _correct_iconv)
--
- # ******************************
- # Backtraces for debugging
- # ******************************
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch
deleted file mode 100644
index d3b0ac67..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 698a0e104dcbe4b630df848fd4af7c59f76cdc37 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 5 May 2018 17:46:52 -0700
-Subject: [PATCH] Use recommended way to handle the icu namespace
-
-Fixes build with icu >= 61
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libedataserver/e-alphabet-index-private.cpp | 2 ++
- src/libedataserver/e-transliterator-private.cpp | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/src/libedataserver/e-alphabet-index-private.cpp b/src/libedataserver/e-alphabet-index-private.cpp
-index d3e44f4..ddffd99 100644
---- a/src/libedataserver/e-alphabet-index-private.cpp
-+++ b/src/libedataserver/e-alphabet-index-private.cpp
-@@ -33,9 +33,11 @@
-
- /* ICU headers */
- #include <unicode/alphaindex.h>
-+#include <unicode/ustring.h>
-
- using icu::AlphabeticIndex;
- using icu::Locale;
-+using U_ICU_NAMESPACE::UnicodeString;
-
- struct _EAlphabetIndex {
- AlphabeticIndex *priv;
-diff --git a/src/libedataserver/e-transliterator-private.cpp b/src/libedataserver/e-transliterator-private.cpp
-index bb15593..573446f 100644
---- a/src/libedataserver/e-transliterator-private.cpp
-+++ b/src/libedataserver/e-transliterator-private.cpp
-@@ -33,8 +33,10 @@
-
- /* ICU headers */
- #include <unicode/translit.h>
-+#include <unicode/ustring.h>
-
- using icu::Transliterator;
-+using U_ICU_NAMESPACE::UnicodeString;
-
- struct _ETransliterator {
- Transliterator *priv;
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
deleted file mode 100644
index db5dca95..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
+++ /dev/null
@@ -1,131 +0,0 @@
-SUMMARY = "Evolution database backend server"
-HOMEPAGE = "http://www.gnome.org/projects/evolution/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
- file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
- file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543 \
- file://src/calendar/libecal/e-cal.h;endline=24;md5=e699ec3866f73f129f7a4ffffdcfc196"
-
-DEPENDS = " \
- intltool-native gperf-native \
- glib-2.0 gtk+3 gconf libgnome-keyring libgdata \
- dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
-"
-
-inherit distro_features_check gnomebase cmake gtk-doc gettext gobject-introspection perlnative pythonnative
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
- file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \
- file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
- file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
- file://iconv-detect.h \
- file://0004-Use-recommended-way-to-handle-the-icu-namespace.patch \
- "
-SRC_URI[archive.md5sum] = "ae7bbf543b2c3ff79af27e0edea5d472"
-SRC_URI[archive.sha256sum] = "e43aa1847ddc02965f560261ef88d18fb8704eddaa55555bf96b884a33e510ec"
-
-LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
-LKSTRFTIME_libc-musl = "HAVE_LKSTRFTIME=OFF"
-
-EXTRA_OECMAKE = " \
- -DWITH_KRB5=OFF \
- -DENABLE_GOA=OFF \
- -DENABLE_UOA=OFF \
- -DENABLE_GOOGLE_AUTH=OFF \
- -DENABLE_WEATHER=OFF \
- -D${LKSTRFTIME} \
-"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
-
-EXTRA_OECONF = "--with-libdb=${STAGING_DIR_HOST}${prefix} \
- --disable-nntp --disable-gtk-doc"
-
-# -ldb needs this on some platforms
-LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
-
-do_configure_append () {
- cp ${WORKDIR}/iconv-detect.h ${S}/src
-
- # fix native perl shebang
- sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
-}
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
-}
-
-
-PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
- libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
- libedataserver libedataserver-dev \
- libedataserverui libedataserverui-dev"
-
-FILES_${PN} =+ "${systemd_user_unitdir} \
- ${datadir}/dbus-1 \
- ${datadir}/evolution-data-server-*/ui/"
-RDEPENDS_${PN} += "perl"
-
-FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
-FILES_${PN}-dbg =+ "${libdir}/evolution-data-server*/camel-providers/.debug \
- ${libdir}/evolution-data-server*/calendar-backends/.debug \
- ${libdir}/evolution-data-server*/addressbook-backends/.debug \
- ${libdir}/evolution-data-server*/extensions/.debug/"
-
-RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
-
-FILES_libcamel = "${libdir}/libcamel-*.so.* \
- ${libdir}/libcamel-provider-*.so.* \
- ${libdir}/evolution-data-server*/camel-providers/*.so \
- ${libdir}/evolution-data-server*/camel-providers/*.urls"
-FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
- ${libdir}/pkgconfig/camel*pc \
- ${libdir}/evolution-data-server*/camel-providers/*.la \
- ${includedir}/evolution-data-server*/camel"
-
-FILES_libebook = "${libdir}/libebook-*.so.*"
-FILES_libebook-dev = "${libdir}/libebook-1.2.so \
- ${libdir}/pkgconfig/libebook-*.pc \
- ${includedir}/evolution-data-server*/libebook/*.h"
-RRECOMMENDS_libebook = "libedata-book"
-
-FILES_libecal = "${libdir}/libecal-*.so.* \
- ${datadir}/evolution-data-server-1.4/zoneinfo"
-FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
- ${includedir}/evolution-data-server*/libecal/*.h \
- ${includedir}/evolution-data-server*/libical/*.h"
-RRECOMMENDS_libecal = "libedata-cal tzdata"
-
-FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
- ${datadir}/dbus-1/services/*.AddressBook.service \
- ${libdir}/libedata-book-*.so.* \
- ${libdir}/evolution-data-server-*/extensions/libebook*.so \
- ${datadir}/evolution-data-server-1.4/weather/Locations.xml"
-FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
- ${libdir}/pkgconfig/libedata-book-*.pc \
- ${libdir}/evolution-data-server-*/extensions/libebook*.la \
- ${includedir}/evolution-data-server-*/libedata-book"
-
-FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
- ${datadir}/dbus-1/services/*.Calendar.service \
- ${libdir}/libedata-cal-*.so.* \
- ${libdir}/evolution-data-server-*/extensions/libecal*.so"
-FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
- ${libdir}/pkgconfig/libedata-cal-*.pc \
- ${includedir}/evolution-data-server-*/libedata-cal \
- ${libdir}/evolution-data-server-*/extensions/libecal*.la"
-
-FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
-FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
- ${libdir}/pkgconfig/libedataserver-*.pc \
- ${includedir}/evolution-data-server-*/libedataserver/*.h"
-
-FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution-data-server-1.4/glade/*.glade"
-FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
- ${libdir}/pkgconfig/libedataserverui-*.pc \
- ${includedir}/evolution-data-server-*/libedataserverui/*.h"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch
index de739c5b..32ca073f 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch
@@ -11,17 +11,17 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
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
+index 08053f0..0519b38 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;
+@@ -136,6 +136,7 @@ int _synctex_log(int level, const char * prompt, const char * reason,va_list arg
+ return result;
}
+__attribute__((__format__ (__printf__, 1, 0)))
int _synctex_error(const char * reason,...) {
- va_list arg;
- int result;
+ va_list arg;
+ int result;
--
-2.12.2
+2.20.1
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-add-a-formatting-attribute-check.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-add-a-formatting-attribute-check.patch
deleted file mode 100644
index e87da90b..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-add-a-formatting-attribute-check.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ef170dda7fbab53682c9bc287dec93fa86130bc9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 9 Sep 2018 21:49:59 -0700
-Subject: [PATCH] add a formatting attribute check
-
-Tell Clang that parameter is a printf style format using the
-attribute flag
-
-This helps in avoiding below warnings seen with clang
-
-unarr.c:106:22: error: format string is not a string literal
-[-Werror,-Wformat-nonliteral]
-| vfprintf(stderr, msg, args);
-| ^~~
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- cut-n-paste/unarr/common/unarr.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cut-n-paste/unarr/common/unarr.c b/cut-n-paste/unarr/common/unarr.c
-index 97ec92a..9e6e3ad 100644
---- a/cut-n-paste/unarr/common/unarr.c
-+++ b/cut-n-paste/unarr/common/unarr.c
-@@ -92,7 +92,7 @@ size_t ar_get_global_comment(ar_archive *ar, void *buffer, size_t count)
- return ar->get_comment(ar, buffer, count);
- }
-
--void ar_log(const char *prefix, const char *file, int line, const char *msg, ...)
-+void __attribute__((__format__ (__printf__, 4, 0))) ar_log(const char *prefix, const char *file, int line, const char *msg, ...)
- {
- va_list args;
- va_start(args, msg);
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-help-remove-YELP-macro.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-help-remove-YELP-macro.patch
deleted file mode 100644
index 592f4660..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-help-remove-YELP-macro.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 40921037d8e7205a3889d529fb4e06f79e1e88b0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 19 Feb 2016 16:52:18 +0200
-Subject: [PATCH] help: remove YELP macro
-
-Upstream-Status: Inappropriate [embedded-specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- help/Makefile.am | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/help/Makefile.am b/help/Makefile.am
-index 7835810..37c88ce 100644
---- a/help/Makefile.am
-+++ b/help/Makefile.am
-@@ -1,5 +1,3 @@
--@YELP_HELP_RULES@
--
- SUBDIRS = reference
-
- HELP_ID = evince
---
-2.7.0
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-add-a-formatting-attribute-check.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-add-a-formatting-attribute-check.patch
new file mode 100644
index 00000000..c374fc94
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-add-a-formatting-attribute-check.patch
@@ -0,0 +1,122 @@
+From ef170dda7fbab53682c9bc287dec93fa86130bc9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 9 Sep 2018 21:49:59 -0700
+Subject: [PATCH] add a formatting attribute check
+
+Tell Clang that parameter is a printf style format using the
+attribute flag
+
+This helps in avoiding below warnings seen with clang
+
+unarr.c:106:22: error: format string is not a string literal
+[-Werror,-Wformat-nonliteral]
+| vfprintf(stderr, msg, args);
+| ^~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cut-n-paste/unarr/common/unarr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/cut-n-paste/unarr/common/unarr.c
++++ b/cut-n-paste/unarr/common/unarr.c
+@@ -92,7 +92,7 @@ size_t ar_get_global_comment(ar_archive
+ return ar->get_comment(ar, buffer, count);
+ }
+
+-void ar_log(const char *prefix, const char *file, int line, const char *msg, ...)
++void __attribute__((__format__ (__printf__, 4, 5))) ar_log(const char *prefix, const char *file, int line, const char *msg, ...)
+ {
+ va_list args;
+ va_start(args, msg);
+--- a/cut-n-paste/synctex/synctex_parser_utils.c
++++ b/cut-n-paste/synctex/synctex_parser_utils.c
+@@ -87,11 +87,11 @@ void _synctex_free(void * ptr) {
+ # include <syslog.h>
+ #endif
+
+-int _synctex_error(const char * reason, ...) __attribute__((__format__ (__printf__, 1, 2)));
+-int _synctex_log(int level, const char * prompt, const char * reason, va_list arg) __attribute__((__format__ (__printf__, 3, 0)));
+-
+-int _synctex_log(int level, const char * prompt, const char * reason,va_list arg) {
++static int _synctex_log(int level, const char * prompt, const char * reason, ...) SYNCTEX_PRINTF_FORMAT(3, 0);
++static int _synctex_log(int level, const char * prompt, const char * reason, ...) {
++ va_list arg;
+ int result;
++ va_start(arg, reason);
+ # ifdef SYNCTEX_RECENT_WINDOWS
+ {/* This code is contributed by William Blum.
+ As it does not work on some older computers,
+@@ -133,10 +133,10 @@ int _synctex_log(int level, const char *
+ result += vfprintf(where, reason, arg);
+ result += fprintf(where,"\n");
+ # endif
++ va_end(arg);
+ return result;
+ }
+
+-__attribute__((__format__ (__printf__, 1, 0)))
+ int _synctex_error(const char * reason,...) {
+ va_list arg;
+ int result;
+@@ -355,6 +355,7 @@ char * _synctex_merge_strings(const char
+ size_t len = strlen(temp);
+ if(UINT_MAX-len<size) {
+ _synctex_error("! _synctex_merge_strings: Capacity exceeded.");
++ va_end(arg);
+ return NULL;
+ }
+ size+=len;
+@@ -374,6 +375,7 @@ char * _synctex_merge_strings(const char
+ if(dest != strncpy(dest,temp,size)) {
+ _synctex_error("! _synctex_merge_strings: Copy problem");
+ free(result);
++ va_end(arg);
+ result = NULL;
+ return NULL;
+ }
+--- a/cut-n-paste/synctex/synctex_parser.c
++++ b/cut-n-paste/synctex/synctex_parser.c
+@@ -8411,6 +8411,7 @@ struct synctex_updater_t {
+ int length; /* the number of chars appended */
+ };
+
++static int _synctex_updater_print(synctex_updater_p updater, const char * format, ...) SYNCTEX_PRINTF_FORMAT(2, 3);
+ static int _synctex_updater_print(synctex_updater_p updater, const char * format, ...) {
+ int result = 0;
+ if (updater) {
+@@ -8447,6 +8448,7 @@ static int vasprintf(char **ret,
+ /**
+ * gzvprintf is not available until OSX 10.10
+ */
++static int _synctex_updater_print_gz(synctex_updater_p updater, const char * format, ...) SYNCTEX_PRINTF_FORMAT(2, 3);
+ static int _synctex_updater_print_gz(synctex_updater_p updater, const char * format, ...) {
+ int result = 0;
+ if (updater) {
+--- a/cut-n-paste/synctex/synctex_parser_utils.h
++++ b/cut-n-paste/synctex/synctex_parser_utils.h
+@@ -85,7 +85,11 @@ extern "C" {
+ # else
+ # define SYNCTEX_ARE_PATH_CHARACTERS_EQUAL(left,right) (toupper(left) != toupper(right))
+ # endif
+-
++# ifdef __GNUC__
++# define SYNCTEX_PRINTF_FORMAT(si, ftc) __attribute__ ((format (printf, si, ftc)))
++# else
++# define SYNCTEX_PRINTF_FORMAT(si, ftc)
++# endif
+ /* This custom malloc functions initializes to 0 the newly allocated memory.
+ * There is no bzero function on windows. */
+ void *_synctex_malloc(size_t size);
+@@ -97,8 +101,8 @@ void _synctex_free(void * ptr);
+ /* This is used to log some informational message to the standard error stream.
+ * On Windows, the stderr stream is not exposed and another method is used.
+ * The return value is the number of characters printed. */
+- int _synctex_error(const char * reason,...);
+- int _synctex_debug(const char * reason,...);
++ int _synctex_error(const char * reason,...) SYNCTEX_PRINTF_FORMAT(1, 2);
++ int _synctex_debug(const char * reason,...) SYNCTEX_PRINTF_FORMAT(1, 2);
+
+ /* strip the last extension of the given string, this string is modified!
+ * This function depends on the OS because the path separator may differ.
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
deleted file mode 100644
index 8bf8a04e..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
+++ /dev/null
@@ -1,65 +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 ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} poppler gstreamer1.0-plugins-base orc adwaita-icon-theme intltool-native gnome-common-native"
-
-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 \
- file://0001-add-a-formatting-attribute-check.patch \
- "
-SRC_URI[archive.md5sum] = "66aa1766eaaa37536e48def11a0e67a3"
-SRC_URI[archive.sha256sum] = "0955d22d85c9f6d322b6cbb464f1cc4c352db619017ec95dad4cc5c3440f73e1"
-
-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}/metainfo \
- ${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/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.2.bb
new file mode 100644
index 00000000..b792d4fc
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.2.bb
@@ -0,0 +1,52 @@
+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 = " \
+ gnome-common-native \
+ yelp-tools-native \
+ appstream-glib \
+ gtk+3 \
+ gspell \
+ libsecret \
+ poppler \
+ gstreamer1.0-plugins-base \
+ orc \
+ adwaita-icon-theme \
+ ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} \
+"
+
+inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection upstream-version-is-even gettext features_check mime-xdg
+
+SRC_URI[archive.md5sum] = "9e9e82fa8f6045ad7817157d9335d185"
+SRC_URI[archive.sha256sum] = "3cc0955f11204e3a2db1c7ab99b866692749592257485b87304134ad69da0617"
+SRC_URI += " \
+ file://0001-Add-format-attribute-to-_synctex_malloc.patch \
+ file://0002-add-a-formatting-attribute-check.patch \
+"
+
+EXTRA_OECONF = " \
+ --enable-thumbnailer \
+ --without-systemduserunitdir \
+"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs"
+}
+
+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}/metainfo \
+ ${datadir}/thumbnailers \
+"
+FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so"
+FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb
new file mode 100644
index 00000000..681a61c3
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb
@@ -0,0 +1,23 @@
+require ${BPN}.inc
+
+inherit native
+
+DEPENDS = "glib-2.0-native"
+
+# build native helpers
+do_compile() {
+ cd ${S}/src/camel
+ sed -i 's:#include "evolution-data-server-config.h"::g' camel-gen-tables.c
+ ${CC} -o ${B}/camel-gen-tables camel-gen-tables.c ${CFLAGS} ${LDFLAGS}
+
+ LDFLAGS_glib=`pkg-config glib-2.0 --libs`
+ CFLAGS_glib=`pkg-config glib-2.0 --cflags`
+ cd ${S}/src/addressbook/libebook-contacts
+ sed -i 's:#include "evolution-data-server-config.h"::g' gen-western-table.c
+ ${CC} -o ${B}/gen-western-table gen-western-table.c ${CFLAGS} ${CFLAGS_glib} ${LDFLAGS} ${LDFLAGS_glib}
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 755 ${B}/* ${D}${bindir}
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
new file mode 100644
index 00000000..7f267b49
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
@@ -0,0 +1,70 @@
+require ${BPN}.inc
+
+DEPENDS = " \
+ ${BPN}-native intltool-native gperf-native \
+ glib-2.0 gtk+3 libgdata \
+ dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
+"
+
+inherit gsettings gobject-introspection features_check cmake gtk-doc gettext perlnative
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " \
+ file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \
+ file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
+ file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
+ file://0004-call-native-helpers.patch \
+ file://iconv-detect.h \
+"
+
+LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
+LKSTRFTIME_libc-musl = "HAVE_LKSTRFTIME=OFF"
+
+# For arm qemu-arm runs at 100% CPU load and never returns - so disable introspection for now
+GI_DATA_ENABLED="False"
+
+EXTRA_OECMAKE = " \
+ -DSYSCONF_INSTALL_DIR=${sysconfdir} \
+ -DWITH_KRB5=OFF \
+ -DENABLE_GOA=OFF \
+ -DENABLE_UOA=OFF \
+ -DENABLE_GOOGLE_AUTH=OFF \
+ -DENABLE_WEATHER=OFF \
+ -DENABLE_INTROSPECTION=${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'ON', 'OFF', d)} \
+ -D${LKSTRFTIME} \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+"
+
+PACKAGECONFIG[canberra] = "-DENABLE_CANBERRA=ON,-DENABLE_CANBERRA=OFF,libcanberra"
+PACKAGECONFIG[oauth] = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,webkitgtk json-glib"
+
+# BROKEN: due missing pkg-config in openldap eds' cmake finds host-libs when
+# searching for openldap-libs
+PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
+
+# -ldb needs this on some platforms
+LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
+
+do_configure_append () {
+ cp ${WORKDIR}/iconv-detect.h ${S}/src
+
+ # fix native perl shebang
+ sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
+
+ # fix abs path for g-ir-scanner-wrapper
+ sed -i ${B}/build.ninja \
+ -e 's: ${bindir}/g-ir-scanner-wrapper: ${STAGING_BINDIR}/g-ir-scanner-wrapper:g'
+}
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
+}
+
+FILES_${PN} =+ " \
+ ${datadir}/dbus-1 \
+ ${datadir}/evolution-data-server-*/ui/ \
+ ${systemd_user_unitdir} \
+"
+
+RDEPENDS_${PN} += "perl"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
new file mode 100644
index 00000000..4da3f825
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
@@ -0,0 +1,15 @@
+SUMMARY = "Evolution database backend server"
+HOMEPAGE = "http://www.gnome.org/projects/evolution/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
+ file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
+ file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543"
+
+inherit gnomebase upstream-version-is-even
+
+SRC_URI[archive.md5sum] = "23293554e9d92c6c0c78b5568b286efd"
+SRC_URI[archive.sha256sum] = "985c4b4b613c50c999a4ca5e9d52478acbea85e1e99bab3a8b6e57ba7eace8f3"
+PV = "3.34.4"
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
new file mode 100644
index 00000000..e8c6d6a7
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
@@ -0,0 +1,43 @@
+From 131b88a81aba3d72d566bc8a9d968941a98e0007 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 31 Mar 2019 18:11:55 +0200
+Subject: [PATCH] CMakeLists.txt: Remove TRY_RUN for iconv
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
+| _correct_iconv_EXITCODE (advanced)
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ CMakeLists.txt | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1672daf..0b3e4e0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -524,17 +524,6 @@ if(NOT HAVE_ICONV)
+ message(FATAL_ERROR "You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv")
+ endif(NOT HAVE_ICONV)
+
+-set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBS})
+-file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/" _binary_dir_with_separator)
+-CHECK_C_SOURCE_RUNS("#define ICONV_DETECT_BUILD_DIR \"${_binary_dir_with_separator}\"
+- #include \"${CMAKE_SOURCE_DIR}/iconv-detect.c\"" _correct_iconv)
+-unset(_binary_dir_with_separator)
+-unset(CMAKE_REQUIRED_LIBRARIES)
+-
+-if(NOT _correct_iconv)
+- message(FATAL_ERROR "You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv")
+-endif(NOT _correct_iconv)
+-
+ # ******************************
+ # Backtraces for debugging
+ # ******************************
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch
index c8dc7e12..23c3a96d 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch
@@ -1,7 +1,7 @@
-From 210b204d9edd71202454ff04013cc52b23c598e4 Mon Sep 17 00:00:00 2001
+From 20bd8946a5c73290d961df151e82033171639c0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 19 Dec 2017 16:55:13 +0100
-Subject: [PATCH] CMakeLists.txt: remove CHECK_C_SOURCE_RUNS check
+Subject: [PATCH 2/7] CMakeLists.txt: remove CHECK_C_SOURCE_RUNS check
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -15,10 +15,10 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 23 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a2396f2..f3b271b 100644
+index ed99904..9a2e99f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -573,29 +573,6 @@ CHECK_C_SOURCE_COMPILES("#include <langinfo.h>
+@@ -579,29 +579,6 @@ CHECK_C_SOURCE_COMPILES("#include <langinfo.h>
CHECK_C_SOURCE_COMPILES("#include <langinfo.h>
int main(void) { char *detail = nl_langinfo (_NL_ADDRESS_COUNTRY_AB2); return 0; }" HAVE__NL_ADDRESS_COUNTRY_AB2)
@@ -49,5 +49,5 @@ index a2396f2..f3b271b 100644
# system mail stuff
# ******************************
--
-2.14.3
+2.21.0
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch
index 3cdfa8b6..c9e6f96f 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch
@@ -1,14 +1,14 @@
-From 4df8bd8ae4258289663b27af1207027c7ee06340 Mon Sep 17 00:00:00 2001
+From d616eddf3a214a49900344f4455155879d3b82db Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 4 Aug 2013 09:13:25 +0200
-Subject: [PATCH 1/5] contact: Replace the Novell sample contact with something
+Subject: [PATCH 3/7] contact: Replace the Novell sample contact with something
more appropriate
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
- src/addressbook/libedata-book/ximian-vcard.h | 179 ++++++++++++++++++-------------
- 2 files changed, 103 insertions(+), 77 deletions(-)
+ src/addressbook/libedata-book/ximian-vcard.h | 179 +++++++++++--------
+ 1 file changed, 102 insertions(+), 77 deletions(-)
diff --git a/src/addressbook/libedata-book/ximian-vcard.h b/src/addressbook/libedata-book/ximian-vcard.h
index 782d37b..5b0b250 100644
@@ -198,5 +198,5 @@ index 782d37b..5b0b250 100644
+" gQIUKE+H+C/wMGX8Ias1s6CQAAAABJRU5ErkJggg==\n" \
"END:VCARD"
--
-1.8.3.2
+2.21.0
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0004-call-native-helpers.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0004-call-native-helpers.patch
new file mode 100644
index 00000000..e320f634
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0004-call-native-helpers.patch
@@ -0,0 +1,45 @@
+From 9c375e3fcf8ff778a5010a07a7da4b6a58adec7c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 31 Mar 2019 19:11:31 +0200
+Subject: [PATCH] call native helpers
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate[oe-specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/addressbook/libebook-contacts/CMakeLists.txt | 2 +-
+ src/camel/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/addressbook/libebook-contacts/CMakeLists.txt b/src/addressbook/libebook-contacts/CMakeLists.txt
+index e9e3259..e749d1b 100644
+--- a/src/addressbook/libebook-contacts/CMakeLists.txt
++++ b/src/addressbook/libebook-contacts/CMakeLists.txt
+@@ -25,7 +25,7 @@ target_link_libraries(gen-western-table
+
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
+- COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gen-western-table "${CMAKE_CURRENT_SOURCE_DIR}/e-name-western-tables.h.in" >${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
++ COMMAND gen-western-table "${CMAKE_CURRENT_SOURCE_DIR}/e-name-western-tables.h.in" >${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
+ DEPENDS gen-western-table e-name-western-tables.h.in
+ )
+
+diff --git a/src/camel/CMakeLists.txt b/src/camel/CMakeLists.txt
+index be626a8..14ac8b8 100644
+--- a/src/camel/CMakeLists.txt
++++ b/src/camel/CMakeLists.txt
+@@ -10,7 +10,7 @@ target_include_directories(camel-gen-tables PUBLIC
+
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
+- COMMAND ${CMAKE_CURRENT_BINARY_DIR}/camel-gen-tables >${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
++ COMMAND camel-gen-tables >${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
+ DEPENDS camel-gen-tables
+ )
+
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/iconv-detect.h b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/iconv-detect.h
index 46f476d5..46f476d5 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/iconv-detect.h
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/iconv-detect.h
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb
index a39b1a0c..561b094a 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb
@@ -8,7 +8,7 @@ inherit allarch gtk-icon-cache
S = "${WORKDIR}"
-SRC_URI = "http://faenza-icon-theme.googlecode.com/files/${PN}_${PV}.zip"
+SRC_URI = "http://faenza-icon-theme.googlecode.com/files/${BPN}_${PV}.zip"
SRC_URI[md5sum] = "e9bd6106d13017ce06d24b586259ae9c"
SRC_URI[sha256sum] = "d4486fda0413f8a81a87e0dd2329f50f2a8a7cb4147b48cf147f0160add8174a"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.5.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.5.bb
new file mode 100644
index 00000000..2070f18a
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.5.bb
@@ -0,0 +1,28 @@
+SUMMARY = "An archive manager utility for the GNOME Environment"
+LICENSE="GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+DEPENDS = " \
+ glib-2.0-native \
+ gtk+3 \
+ libarchive \
+ libnotify \
+"
+
+inherit gnomebase gsettings itstool gnome-help gettext upstream-version-is-even mime-xdg
+
+SRC_URI[archive.md5sum] = "2afc688ac66a50213f6c42ee99479a96"
+SRC_URI[archive.sha256sum] = "d53d30b4b45f61158b7e550b71a8a5556e877695f43a2ceb88be895960e54176"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'packagekit', '', d)}"
+
+PACKAGECONFIG[nautilus] = "-Dnautilus-actions=true,-Dnautilus-actions=false,nautilus"
+PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${libdir}/nautilus \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch
new file mode 100644
index 00000000..6362d5ee
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch
@@ -0,0 +1,48 @@
+From f7bba53adf8a26f900442a05bb98326747c392b4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 3 Dec 2019 00:24:27 +0100
+Subject: [PATCH] Ensure pam-file installation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+All the detection magic does not work for us
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ data/Makefile.am | 12 +-----------
+ 1 file changed, 1 insertion(+), 11 deletions(-)
+
+diff --git a/data/Makefile.am b/data/Makefile.am
+index bda9160..dbc3ea3 100644
+--- a/data/Makefile.am
++++ b/data/Makefile.am
+@@ -296,22 +296,12 @@ endif
+ chown root:root $(DESTDIR)$(logdir) || : ; \
+ fi
+
+- system=`uname`; \
+- if test -f /usr/include/security/pam_appl.h; then \
+- if test '!' -d $(DESTDIR)$(PAM_PREFIX)/pam.d; then \
+ $(mkinstalldirs) $(DESTDIR)$(PAM_PREFIX)/pam.d; \
+ chmod 755 $(DESTDIR)$(PAM_PREFIX)/pam.d; \
+- fi; \
+- if test $$system = Linux; then \
+ for pamfile in $(pam_files); do \
+ bn=$$(basename $$pamfile .pam); \
+ $(INSTALL_DATA) $(srcdir)/$$pamfile $(DESTDIR)$(PAM_PREFIX)/pam.d/$$bn; \
+- done; \
+- fi; \
+- if test $$system = SunOS; then \
+- echo "Please add PAM authentication for gdm, gdm-autologin and gdm-welcome in $(PAM_PREFIX)/pam.conf!"; \
+- fi; \
+- fi
++ done;
+
+ if test '!' -d $(DESTDIR)$(xauthdir); then \
+ $(mkinstalldirs) $(DESTDIR)$(xauthdir); \
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb
new file mode 100644
index 00000000..a47bf6fc
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb
@@ -0,0 +1,56 @@
+SUMMARY = "GNOME Display Manager"
+LICENSE="GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = " \
+ dconf-native \
+ gtk+3 \
+ accountsservice \
+ libcanberra \
+ libpam \
+"
+
+REQUIRED_DISTRO_FEATURES = "x11 systemd pam"
+
+inherit gnomebase gsettings gobject-introspection gettext systemd useradd upstream-version-is-even features_check
+
+SRC_URI[archive.md5sum] = "65d1fd4bb85e8b133d1cbffb80ecf62e"
+SRC_URI[archive.sha256sum] = "e85df657aa8d9361af4fb122014d8f123a93bfe45a7662fba2b373d839dbd8d3"
+SRC_URI += "file://0001-Ensure-pam-file-installation.patch"
+
+EXTRA_OECONF = " \
+ --without-plymouth \
+ --with-default-pam-config=openembedded \
+ --with-pam-mod-dir=${base_libdir}/security \
+"
+
+do_install_append() {
+ rm -rf ${D}/run ${D}${localstatedir}/run
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+# Some gnome components - as gnome-panel and gnome-shell (!!) - require gdm
+# components. To allow gnome-images using different display-manager, split them
+# out into a seperate package.
+PACKAGE_BEFORE_PN = "${PN}-base"
+FILES_${PN}-base = " \
+ ${datadir}/glib-2.0 \
+ ${datadir}/gnome-session \
+ ${libdir}/lib*${SOLIBS} \
+ ${libdir}/girepository-1.0 \
+"
+
+CONFFILES_${PN} += "${sysconfdir}/gdm/custom.conf"
+FILES_${PN} += " \
+ ${datadir}/dconf \
+ ${base_libdir}/security/pam_gdm.so \
+ ${localstatedir} \
+ ${systemd_unitdir} \
+"
+
+RDEPENDS_${PN} += "${PN}-base"
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-Remove-help-directory-from-build.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-Remove-help-directory-from-build.patch
deleted file mode 100644
index 4ad57eff..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-Remove-help-directory-from-build.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1d2e6165e3154e27ecde329a40c05f0880afb9e0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 17 May 2016 14:14:03 +0300
-Subject: [PATCH] Remove help directory from build
-
-It hardcodes the use of xml2po utility, which is provided by obsolete gnome-doc-utils
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Makefile.am | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index e57b203..a88152d 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -3,9 +3,6 @@ ACLOCAL_AMFLAGS = -I m4
-
- SUBDIRS = gedit pixmaps po data plugin-loaders plugins docs tests win32 osx
-
--if !OS_OSX
--SUBDIRS += help
--endif
-
- distuninstallcheck_listfiles = find . -type f -print | grep -v scrollkeeper
-
---
-2.8.1
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-gedit-utils-qualify-handle_builder_error-with-format.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-gedit-utils-qualify-handle_builder_error-with-format.patch
deleted file mode 100644
index 4885c451..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-gedit-utils-qualify-handle_builder_error-with-format.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-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/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch
deleted file mode 100644
index 11afe75c..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-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/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-workaround-void-pointer-arithmetic.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-workaround-void-pointer-arithmetic.patch
deleted file mode 100644
index a28808b8..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-workaround-void-pointer-arithmetic.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 8e0cbfac142d38320dd02416601e14c65585cd17 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Sat, 9 Mar 2013 12:47:06 +0100
-Subject: [PATCH] workaround void pointer arithmetic
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-fixes errors like:
-error: pointer of type 'void *' used in arithmetic [-Werror=pointer-arith]
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- gedit/gedit-document-input-stream.c | 4 ++--
- gedit/gedit-smart-charset-converter.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/gedit/gedit-document-input-stream.c b/gedit/gedit-document-input-stream.c
-index 5a1f961..38316e7 100644
---- a/gedit/gedit-document-input-stream.c
-+++ b/gedit/gedit-document-input-stream.c
-@@ -426,7 +426,7 @@ gedit_document_input_stream_read (GInputStream *stream,
-
- do
- {
-- n = read_line (dstream, buffer + read, space_left);
-+ n = read_line (dstream, ((char*)buffer) + read, space_left);
- read += n;
- space_left -= n;
- } while (space_left > 0 && n != 0 && dstream->priv->bytes_partial == 0);
-@@ -451,7 +451,7 @@ gedit_document_input_stream_read (GInputStream *stream,
-
- newline = get_new_line (dstream);
-
-- memcpy (buffer + read, newline, newline_size);
-+ memcpy (((char*)buffer) + read, newline, newline_size);
-
- read += newline_size;
- dstream->priv->newline_added = TRUE;
-diff --git a/gedit/gedit-smart-charset-converter.c b/gedit/gedit-smart-charset-converter.c
-index e32b0b1..6745ce3 100644
---- a/gedit/gedit-smart-charset-converter.c
-+++ b/gedit/gedit-smart-charset-converter.c
-@@ -153,7 +153,7 @@ try_convert (GCharsetConverter *converter,
- do
- {
- res = g_converter_convert (G_CONVERTER (converter),
-- inbuf + nread,
-+ ((const char*)inbuf) + nread,
- inbuf_size - nread,
- out + nwritten,
- out_size - nwritten,
---
-1.7.4.4
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0002-suppress-string-format-literal-warning-to-fix-build-.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0002-suppress-string-format-literal-warning-to-fix-build-.patch
deleted file mode 100644
index a5d23101..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0002-suppress-string-format-literal-warning-to-fix-build-.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 4ebdf8023f763f75a7e1b548894de2e8b784f4a8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 29 Jul 2016 23:19:40 +0200
-Subject: [PATCH] suppress string format literal warning to fix build with gcc6
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- plugins/time/gedit-time-plugin.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/plugins/time/gedit-time-plugin.c b/plugins/time/gedit-time-plugin.c
-index d2ffdb9..441d9f9 100644
---- a/plugins/time/gedit-time-plugin.c
-+++ b/plugins/time/gedit-time-plugin.c
-@@ -473,12 +473,15 @@ get_time (const gchar* format)
- clock = time (NULL);
- now = localtime (&clock);
-
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
- do
- {
- out_length += 255;
- out = g_realloc (out, out_length);
- }
- while (strftime (out, out_length, locale_format, now) == 0);
-+#pragma GCC diagnostic pop
-
- g_free (locale_format);
-
---
-2.5.5
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
deleted file mode 100644
index ea6439d9..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "GNOME editor"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2+"
-PR = "r2"
-
-DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 gtk+ \
- gtksourceview2 iso-codes intltool-native gnome-common-native \
- libice python3-six-native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit distro_features_check gnome gettext python3native
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
- file://0001-workaround-void-pointer-arithmetic.patch \
- file://0001-Remove-help-directory-from-build.patch \
- 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"
-
-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/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb
new file mode 100644
index 00000000..850ba4df
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb
@@ -0,0 +1,44 @@
+SUMMARY = "GNOME editor"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+DEPENDS = " \
+ yelp-tools-native \
+ libxml2-native \
+ gdk-pixbuf-native \
+ iso-codes \
+ gtk+3 \
+ gsettings-desktop-schemas \
+ gtksourceview4 \
+ libpeas \
+ libsoup-2.4 \
+ gspell \
+ gtksourceview4 \
+"
+
+inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc vala gettext features_check upstream-version-is-even mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "4bca1d0a13db186cd84619b4bff42238"
+SRC_URI[archive.sha256sum] = "ebf9ef4e19831699d26bb93ce029edfed65416d7c11147835fc370d73428d5c6"
+
+GTKDOC_MESON_OPTION = "documentation"
+
+PACKAGECONFIG ??= "gvfs"
+PACKAGECONFIG[gvfs] = "-Denable-gvfs-metadata=yes,-Denable-gvfs-metadata=no,,gvfs"
+
+PACKAGES += "${PN}-python"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+"
+
+FILES_${PN}-python += " \
+ ${PYTHON_SITEPACKAGES_DIR} \
+"
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb
new file mode 100644
index 00000000..c0f3c27a
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A convenience library for the geocoding"
+
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
+
+GNOMEBASEBUILDCLASS = "meson"
+GIR_MESON_OPTION = "enable-introspection"
+GTKDOC_MESON_OPTION = "enable-gtk-doc"
+
+inherit gnomebase gobject-introspection gettext gtk-doc upstream-version-is-even
+
+DEPENDS = " \
+ json-glib \
+ libsoup-2.4 \
+"
+
+SRC_URI[archive.md5sum] = "e1ef140a11a543643d170dc701009e39"
+SRC_URI[archive.sha256sum] = "01fe84cfa0be50c6e401147a2bc5e2f1574326e2293b55c69879be3e82030fd1"
+
+EXTRA_OEMESON = "-Denable-installed-tests=false"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.1.bb
new file mode 100644
index 00000000..12ea5938
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A GObject-based Exiv2 wrapper"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
+
+DEPENDS = "exiv2"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+inherit gnomebase gobject-introspection gtk-doc
+
+SRC_URI[archive.md5sum] = "44a3cfeab1afd83a71e852835d24e656"
+SRC_URI[archive.sha256sum] = "8aeafd59653ea88f6b78cb03780ee9fd61a2f993070c5f0d0976bed93ac2bd77"
+
+EXTRA_OEMESON = " \
+ -Dvapi=false \
+ -Dpython2_girdir=no \
+ -Dpython3_girdir=no \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb
new file mode 100644
index 00000000..cf33ebdf
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "GHex - a hex editor for GNOME"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+DEPENDS = " \
+ glib-2.0-native \
+ gtk+3 \
+"
+
+inherit gnomebase gsettings gtk-icon-cache gnome-help gettext upstream-version-is-even
+
+SRC_URI[archive.md5sum] = "7e6ed808766bc18285bdc6999bdf0f15"
+SRC_URI[archive.sha256sum] = "c2d9c191ff5bce836618779865bee4059db81a3a0dff38bda3cc7a9e729637c0"
+
+FILES_${PN} += "${datadir}/metainfo"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch
new file mode 100644
index 00000000..0953214f
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch
@@ -0,0 +1,33 @@
+From 95379de2132786f855e8caec1fd5869225774d02 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 18 May 2019 01:14:07 +0200
+Subject: [PATCH] Disable tests on host
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fa4e136..056e96e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -335,9 +335,7 @@ AS_IF([test "x$with_dbus_tests" != "xno"], [
+ ])
+ AM_CONDITIONAL([DBUS_TESTS], [test "x$with_dbus_tests" != "xno"])
+
+-AC_MSG_CHECKING([for a suitable UTF-8 locale to run the tests in])
+-TESTS_LOCALE=$($srcdir/build/choose-tests-locale.sh)
+-AC_MSG_RESULT([$TESTS_LOCALE])
++TESTS_LOCALE=C
+ AC_SUBST([TESTS_LOCALE])
+
+ AC_SUBST([gjsjsdir], [\${datadir}/gjs-1.0])
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.7.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.7.bb
new file mode 100644
index 00000000..58342b6c
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.7.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Javascript bindings for GNOME"
+LICENSE = "MIT & LGPLv2+"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=beb29cf17fabe736f0639b09ee6e76fa \
+ file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7 \
+"
+
+GNOMEBASEBUILDCLASS = "autotools"
+
+DEPENDS = "mozjs gtk+3"
+
+inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even
+
+SRC_URI[archive.md5sum] = "c8c530d4593133f496ae69098273a675"
+SRC_URI[archive.sha256sum] = "2014509019ea4e7a8ab8e0dd0c472bbcf0ad3067928af88c29f5e2879c58c7a9"
+SRC_URI += "file://0001-Disable-tests-on-host.patch"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection"
+
+EXTRA_OECONF = " \
+ --without-dbus-tests \
+ --disable-installed-tests \
+"
+
+do_configure_prepend() {
+ # make configure find gobject-introspection test code. Although we set
+ # --disable-installed-tests gjs builds them
+ sed -i 's|:$GI_DATADIR|:${STAGING_DIR_NATIVE}$GI_DATADIR|g' ${S}/configure.ac
+}
+
+FILES_${PN} += "${datadir}/gjs-1.0/lsan"
+
+PACKAGES =+ "${PN}-valgrind"
+FILES_${PN}-valgrind = "${datadir}/gjs-1.0/valgrind"
+RSEPENDS_${PN}-valgrind += "valgrind"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb
new file mode 100644
index 00000000..afeda3e9
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "GNOME archive library"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+ gtk+3 \
+ libarchive \
+"
+
+inherit gnomebase gobject-introspection gtk-doc vala
+
+SRC_URI[archive.md5sum] = "36ab263f477eeee3c95c9381766eb3c2"
+SRC_URI[archive.sha256sum] = "0a34c377f8841abbf4c29bc848b301fbd8e4e20c03d7318c777c58432033657a"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs"
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.34.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.34.0.bb
new file mode 100644
index 00000000..2350a7df
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.34.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "GNOME wallpapers"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+SECTION = "x11/gnome"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase allarch gettext upstream-version-is-even allarch
+
+SRC_URI[archive.md5sum] = "f350804df16cdc9ef5306087157cf31b"
+SRC_URI[archive.sha256sum] = "c2b7fb6db98c05e205053daaa7f58c7f06ff91b45c4006052af17c578ae7b47f"
+
+FILES_${PN} += " \
+ ${datadir}/backgrounds \
+ ${datadir}/gnome-background-properties \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
deleted file mode 100644
index 8cfd65af..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "GNOME bluetooth manager"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
- file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
-"
-
-SECTION = "x11/gnome"
-
-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 distro_features_check
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "75d09c924468ec0c687f9ab3acf7f113"
-SRC_URI[archive.sha256sum] = "d8df073c331df0f97261869fb77ffcdbf4e3e4eaf460d3c3ed2b16e03d9c5398"
-
-FILES_${PN}-dbg += "${libdir}/gnome-bluetooth/plugins/.debug/"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.1.bb
new file mode 100644
index 00000000..77c89d95
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "GNOME bluetooth manager"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
+ file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+"
+
+SECTION = "x11/gnome"
+
+DEPENDS = "udev gtk+3 libnotify libcanberra bluez5"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+# gtk-icon-cache bbclass will take care of this for us.
+EXTRA_OEMESON = "-Dicon_update=false"
+
+SRC_URI[archive.md5sum] = "09b6bab7ceaafb35da766a5476fbc466"
+SRC_URI[archive.sha256sum] = "3ec91076c2822cd1f9abdc8e27663c3bda4c9c8a7a9773f9e92bfbf2b745d386"
+
+RDEPENDS_${PN} += "bluez5"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.34.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.34.1.bb
new file mode 100644
index 00000000..b09e34d4
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.34.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "GNOME calculator"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SECTION = "x11/gnome"
+
+DEPENDS = " \
+ yelp-tools-native \
+ gtk+3 \
+ libsoup-2.4 \
+ libgee \
+ libmpc \
+ gtksourceview4 \
+"
+
+GIR_MESON_OPTION = 'disable-introspection'
+GIR_MESON_ENABLE_FLAG = 'false'
+GIR_MESON_DISABLE_FLAG = 'true'
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gobject-introspection gnome-help vala gtk-icon-cache gettext features_check upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "9157b93a3f41fdad80df26c062b95c7b"
+SRC_URI[archive.sha256sum] = "4d5348c2fbf01d040a2cb5e84de812c503911e1ea498a83e7eefff52c4417051"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/gnome-shell \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch
new file mode 100644
index 00000000..7f82a152
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch
@@ -0,0 +1,45 @@
+From ba8aebe1259ae3f7f5a4827e5a47bb95c568b218 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 21 May 2019 16:07:46 +0200
+Subject: [PATCH] Add meson option to pass sysroot
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We need to pass this to meson to help it finding gdesktop-enums.h:
+
+| panels/background/meson.build:38:0: ERROR: File /usr/include/gsettings-desktop-schemas/gdesktop-enums.h does not exist.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson_options.txt | 1 +
+ panels/background/meson.build | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index a347168..2cd8121 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,3 +1,4 @@
++option('oe_sysroot', type: 'string', value: '', description: 'Directory for OE-sysroot')
+ option('cheese', type: 'boolean', value: true, description: 'build with cheese webcam support')
+ option('documentation', type: 'boolean', value: false, description: 'build documentation')
+ option('gnome_session_libexecdir', type: 'string', value: '', description: 'Directory for gnome-session\'s libexecdir')
+diff --git a/panels/background/meson.build b/panels/background/meson.build
+index bb34b69..f22722e 100644
+--- a/panels/background/meson.build
++++ b/panels/background/meson.build
+@@ -36,7 +36,7 @@ common_sources = []
+
+ enums = 'gdesktop-enums-types'
+ enums_header = files(
+- gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
++ get_option('oe_sysroot') + gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h',
+ 'cc-background-item.h'
+ )
+
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.34.5.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.34.5.bb
new file mode 100644
index 00000000..bf8ec335
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.34.5.bb
@@ -0,0 +1,55 @@
+SUMMARY = "GNOME Settings"
+DESCRIPTION = "GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gettext vala upstream-version-is-even bash-completion features_check
+
+DEPENDS = " \
+ gdk-pixbuf-native \
+ colord-gtk \
+ udisks2 \
+ upower \
+ polkit \
+ pulseaudio \
+ accountsservice \
+ samba \
+ gsettings-desktop-schemas \
+ gnome-settings-daemon \
+ gnome-desktop3 \
+ gnome-online-accounts \
+ libnma \
+ gnome-bluetooth \
+ grilo \
+ libgtop \
+ gsound \
+ libpwquality \
+"
+
+REQUIRED_DISTRO_FEATURES += "polkit pulseaudio systemd x11"
+
+SRC_URI[archive.md5sum] = "ca92151a2a58cc3e0a73e88379e96ce2"
+SRC_URI[archive.sha256sum] = "b30d0afb99252f150e37d5ca4bc83b89bf4aa6d18c5d367230053278634e0c47"
+SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch"
+
+PACKAGECONFIG ??= "ibus ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
+PACKAGECONFIG[ibus] = "-Dibus=true, -Dibus=false, ibus"
+PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false, wayland"
+
+# Once we have (lib)cheese we can make cheese a PACKAGECONFIG
+EXTRA_OEMESON = " \
+ -Doe_sysroot=${STAGING_DIR_HOST} \
+ -Dcheese=false \
+"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/gnome-shell \
+ ${datadir}/metainfo \
+"
+
+FILES_${PN}-dev += "${datadir}/gettext"
+
+RDEPENDS_${PN} += "gsettings-desktop-schemas"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch
deleted file mode 100644
index aa11e8a6..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 96753d85d8b53dd8f87b8f444892efffdbfab388 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 5 Oct 2017 14:54:17 +0300
-Subject: [PATCH] Disable libseccomp (sycall filtering mechanism)
-
-Upstream forgot to make it optional, and it is not currently used in Yocto
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- configure.ac | 20 --------------------
- 1 file changed, 20 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 118d04f..47c8894 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -151,26 +151,6 @@ fi
-
- SECCOMP_PKG=""
- enable_seccomp="no"
--dnl Check for bubblewrap compatible platform
--case $host_os in
-- linux*)
-- case $host_cpu in
-- alpha|ia64|m68k|sh4|sparc64)
-- enable_seccomp="no (not available on this architecture)"
-- AC_MSG_WARN("seccomp not available on this architecture")
-- ;;
-- *)
-- PKG_CHECK_MODULES(LIBSECCOMP, [libseccomp])
-- SECCOMP_PKG="libseccomp"
-- AC_DEFINE([ENABLE_SECCOMP], [1], [Define if using seccomp])
-- enable_seccomp="yes"
-- ;;
-- esac
-- AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define to include GNU extensions])
-- AC_DEFINE_UNQUOTED(HAVE_BWRAP, 1, [Define to 1 if Bubblewrap support is available])
-- AC_DEFINE_UNQUOTED(INSTALL_PREFIX, "$prefix", [Path to library install prefix])
-- ;;
--esac
-
- dnl pkg-config dependency checks
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch
new file mode 100644
index 00000000..4b3894f0
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch
@@ -0,0 +1,40 @@
+From de0d33b068a5d8e61cc0c82d88d15b9a8aa97977 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 6 Apr 2019 18:07:17 +0200
+Subject: [PATCH] meson.build: Disable libseccomp for all archs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It does not seem mandatory and can cause unsatisfied dependency [1].
+
+[1] https://errors.yoctoproject.org/Errors/Details/235565/
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson.build | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 2e7160d..f83677d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -58,12 +58,7 @@ udev_dep = dependency('libudev', required: get_option('udev'))
+ host_os = host_machine.system()
+ host_cpu = host_machine.cpu()
+ supported_os = ['linux']
+-unsupported_cpus = ['alpha', 'ia64', 'm68k', 'riscv64', 'sh4', 'sparc', 'sparc64']
+-if supported_os.contains(host_os) and not unsupported_cpus.contains(host_cpu)
+- seccomp_dep = dependency('libseccomp')
+-else
+- seccomp_dep = dependency('', required: false)
+-endif
++seccomp_dep = dependency('', required: false)
+ fontconfig_cache_path = fontconfig_dep.get_pkgconfig_variable('cachedir')
+
+ xkb_base = xkb_config_dep.get_pkgconfig_variable('xkb_base')
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb
deleted file mode 100644
index 39b3491f..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "GNOME library for reading .desktop files"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-BPN = "gnome-desktop"
-
-inherit gnome pkgconfig upstream-version-is-even gobject-introspection
-SRC_URI[archive.md5sum] = "bcbf906d94eb08060c60a7364384d678"
-SRC_URI[archive.sha256sum] = "78a397a2be47586e6dc075d6a7fc5659aae3d10713d76994ce1b46086e7ecb9a"
-
-SRC_URI += " \
- file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \
- file://0001-Disable-libseccomp-sycall-filtering-mechanism.patch \
- "
-
-DEPENDS += "intltool-native gsettings-desktop-schemas gconf virtual/libx11 gtk+3 glib-2.0 startup-notification xkeyboard-config iso-codes udev"
-
-inherit distro_features_check gtk-doc
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF = "--disable-desktop-docs"
-
-PACKAGES =+ "libgnome-desktop3"
-FILES_libgnome-desktop3 = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml"
-
-RRECOMMENDS_libgnome-desktop3 += "gsettings-desktop-schemas"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.5.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.5.bb
new file mode 100644
index 00000000..63a96c8e
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.5.bb
@@ -0,0 +1,36 @@
+SUMMARY = "GNOME library for reading .desktop files"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+BPN = "gnome-desktop"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+SRC_URI[archive.md5sum] = "1cbcb9d9a5159447b9a45079c6157ca5"
+SRC_URI[archive.sha256sum] = "ef13203bed721d271227d9928d91937733c312ef79b6f5c00b6c02e8e0b2fa21"
+
+SRC_URI += " \
+ file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \
+ file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \
+"
+
+DEPENDS += "gsettings-desktop-schemas virtual/libx11 gtk+3 startup-notification xkeyboard-config iso-codes udev"
+
+inherit features_check gtk-doc
+REQUIRED_DISTRO_FEATURES += "x11"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+EXTRA_OEMESON = "-Ddesktop_docs=false"
+
+PACKAGES =+ "libgnome-desktop3"
+FILES_libgnome-desktop3 = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml"
+
+RRECOMMENDS_libgnome-desktop3 += "gsettings-desktop-schemas"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.34.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.34.2.bb
new file mode 100644
index 00000000..3da8629c
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.34.2.bb
@@ -0,0 +1,34 @@
+SUMMARY = "GNOME Flashback (GNOME 2) session"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit gnomebase gsettings gtk-icon-cache gettext upstream-version-is-even features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
+
+DEPENDS += " \
+ upower \
+ ibus \
+ libxkbfile \
+ polkit \
+ metacity \
+ gnome-desktop3 \
+ gnome-bluetooth \
+"
+
+SRC_URI[archive.md5sum] = "251b51bad322c41d34d06fdb8f1799d4"
+SRC_URI[archive.sha256sum] = "3be65388cd2c8f39741bcc05da87ef40035183a9a39502d67696242c2aeb469c"
+
+do_install_append() {
+ # no oe-layer has compiz -> remove dead session
+ rm -f ${D}${datadir}/xsessions/gnome-flashback-compiz.desktop
+}
+
+FILES_${PN} += " \
+ ${datadir}/xsessions \
+ ${datadir}/desktop-directories \
+ ${datadir}/gnome-session \
+ ${systemd_user_unitdir} \
+"
+
+RDEPENDS_${PN} += "metacity gnome-panel"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_3.34.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_3.34.0.bb
new file mode 100644
index 00000000..cf202256
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_3.34.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "GNOME font viewer"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SECTION = "x11/gnome"
+
+DEPENDS = " \
+ gtk+3 \
+ gnome-desktop3 \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "76004a8986ea622b09c408b01a6f42e5"
+SRC_URI[archive.sha256sum] = "aa6f0583e5f93aec095e537f0638b29de3d02491f0131ef584a7c55d39d6b98b"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/thumbnailers \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch
new file mode 100644
index 00000000..32eecf8f
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch
@@ -0,0 +1,42 @@
+From e6464e01bc1cdf5496be2942d1bac41aa609f47e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 23 May 2019 23:44:06 +0200
+Subject: [PATCH] Set paths to ssh-agent and ssh-add by configure options
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We have no executables in our sysroot so configuration won't find them.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4b83664..eda0c96 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -351,8 +351,15 @@ if test "$enable_ssh_agent" = "no"; then
+ SSH_AGENT=false
+ SSH_ADD=false
+ else
+- AC_PATH_PROG([SSH_AGENT], [ssh-agent], [no])
+- AC_PATH_PROG([SSH_ADD], [ssh-add], [no])
++ AC_ARG_WITH([ssh-agent-path],
++ [AC_HELP_STRING([--with-ssh-agent-path=PATH],
++ [path to ssh-agent])],
++ [SSH_AGENT=$with_ssh_agent_path], [SSH_AGENT=no])
++ AC_ARG_WITH([ssh-add-path],
++ [AC_HELP_STRING([--with-ssh-add-path=PATH],
++ [path to ssh-add])],
++ [SSH_ADD=$with_ssh_add_path], [SSH_ADD=no])
++
+ if test "$SSH_AGENT" = "no" -o "$SSH_ADD" = "no"; then
+ AC_MSG_ERROR([the ssh-agent and ssh-add commands were not found])
+ else
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb
deleted file mode 100644
index 55640625..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Password and keyring managing daemon"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "x11/gnome"
-
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit distro_features_check gnomebase remove-libtool
-
-DEPENDS = " \
- intltool-native \
- glib-2.0-native \
- gtk+3 \
- gcr \
- libgcrypt \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
-"
-
-SRC_URI[archive.md5sum] = "e09efe8021944dae404736b5a2adb98e"
-SRC_URI[archive.sha256sum] = "bc17cecd748a0e46e302171d11c3ae3d76bba5258c441fabec3786f418e7ec99"
-SRC_URI += "file://musl.patch"
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils"
-
-EXTRA_OECONF = " \
- --disable-doc \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)} \
-"
-
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/services \
- ${datadir}/p11-kit \
- ${base_libdir}/security/*${SOLIBSDEV} \
- ${libdir}/pkcs11/gnome-keyring-pkcs11.so \
-"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.34.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.34.0.bb
new file mode 100644
index 00000000..52c254b2
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.34.0.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Password and keyring managing daemon"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = " \
+ glib-2.0-native \
+ gtk+3 \
+ gcr \
+ libgcrypt \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
+"
+
+inherit gnomebase gsettings features_check remove-libtool gettext upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "7c8fd85e46ed4ba1add0288b2ead9aec"
+SRC_URI[archive.sha256sum] = "e9cda9542a3e37c61636145e7e9e2513c569092ea8020752a834e1f40ad41943"
+SRC_URI += " \
+ file://0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch \
+ file://musl.patch \
+"
+
+PACKAGECONFIG ??= "ssh-agent"
+PACKAGECONFIG[ssh-agent] = "--enable-ssh-agent --with-ssh-agent-path=${bindir}/ssh-agent --with-ssh-add-path=${bindir}/ssh-add,--disable-ssh-agent,,openssh-misc"
+
+EXTRA_OECONF = " \
+ --disable-doc \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)} \
+"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/services \
+ ${datadir}/p11-kit \
+ ${base_libdir}/security/*${SOLIBSDEV} \
+ ${libdir}/pkcs11/gnome-keyring-pkcs11.so \
+"
+
+# fix | gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used
+# This does not make it through pseudo so perform on-target - sigh
+pkg_postinst_ontarget_${PN} () {
+ setcap cap_ipc_lock+ep `which gnome-keyring-daemon`
+}
+RDEPENDS_${PN} += "libcap-bin"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb
deleted file mode 100644
index ba69e2e0..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Compatibility library for accessing secrets"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=0914b9d3ebaba41ef2e3e0ae16f296cf \
- file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
-"
-SECTION = "x11/gnome/libs"
-
-inherit gnomebase gtk-doc gobject-introspection
-
-DEPENDS = "dbus libgcrypt glib-2.0 glib-2.0-native intltool-native"
-
-SRC_URI[archive.md5sum] = "6696e4f2e9aed4625cdc3af30bd8c238"
-SRC_URI[archive.sha256sum] = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783"
-
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:823: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
-#| {standard input}:823: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#13'
-#| {standard input}:824: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#29'
-#| {standard input}:824: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#19'
-#| {standard input}:825: Error: lo register required -- `orr r10,r10,r10'
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv4 = "arm"
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
deleted file mode 100644
index 647ae914..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "GNOME menus"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-DEPENDS = "python libxml2 gconf popt gtk+3 intltool-native gnome-common-native"
-
-inherit distro_features_check gnomebase pkgconfig python-dir pythonnative gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-BPN = "gnome-menus"
-
-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"
-
-FILES_${PN} += "${datadir}/desktop-directories/"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.32.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.32.0.bb
new file mode 100644
index 00000000..24d64519
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.32.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "GNOME menus"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+DEPENDS = "python3 libxml2 popt gtk+3 gnome-common-native"
+
+inherit features_check gnomebase gettext pkgconfig gobject-introspection upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+BPN = "gnome-menus"
+
+SRC_URI[archive.md5sum] = "4262208c13f266d9ada7d356aada9e1b"
+SRC_URI[archive.sha256sum] = "c850c64b2074265fe59e099a340b8689cf3dd4658dc9feddd2ab5e95f1a74b74"
+
+FILES_${PN} += "${datadir}/desktop-directories/"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.34.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.34.1.bb
new file mode 100644
index 00000000..74d71ec8
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.34.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36"
+
+GNOMEBASEBUILDCLASS = "autotools"
+
+inherit gnomebase gsettings gobject-introspection gsettings gtk-doc vala gettext upstream-version-is-even features_check
+
+# for webkitgtk
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS = "glib-2.0"
+
+SRC_URI[archive.md5sum] = "aa94d1dd07ca53729a036b5df1c78c05"
+SRC_URI[archive.sha256sum] = "4832ca8e48d3a497fc676e7b6f146009ab4206995362977b9805aa39f164783a"
+
+# backend is required for gnome-control-center
+PACKAGECONFIG = "backend other"
+
+PACKAGECONFIG[backend] = "--enable-backend,--disable-backend,gtk+3 webkitgtk libsoup-2.4 json-glib libsecret rest libxml2"
+PACKAGECONFIG[krb5] = "--enable-kerberos, --disable-kerberos , krb5 gcr"
+
+# no extra dependencies!
+PACKAGECONFIG[other] = " \
+ --enable-facebook --enable-foursquare --enable-exchange --enable-flickr --enable-google --enable-imap-smtp --enable-owncloud --enable-windows-live,\
+ --disable-facebook --disable-foursquare --disable-exchange --disable-flickr --disable-google --disable-imap-smtp --disable-owncloud --disable-windows-live, \
+"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${libdir}/goa-1.0/web-extensions/*.so \
+"
+
+# looked into pkg-config file: it is not a bug - they mean it
+FILES_${PN}-dev += "${libdir}/goa-1.0/include"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch
new file mode 100644
index 00000000..6ab4daf0
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch
@@ -0,0 +1,37 @@
+From d4b2f0922dfdd6040e5e9f62a2565452cf855c42 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 21 Oct 2019 22:10:56 +0200
+Subject: [PATCH] Do not try to find ZONEINFO - it tries to run compiled code
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Missing configutation does not cause issues: The fallback in modules/clock/system-timezone.c
+matches our default.
+
+Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c75a9fa..0c9d945 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -249,11 +249,6 @@ dnl yelp-tools stuff
+
+ YELP_HELP_INIT
+
+-dnl **************************************************************************
+-dnl Find zoneinfo directory
+-dnl **************************************************************************
+-
+-AX_ZONEINFO
+
+ dnl **************************************************************************
+ dnl Process .in files
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.34.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.34.1.bb
new file mode 100644
index 00000000..4d5fdb65
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.34.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "GNOME flashback panel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gtk-doc gettext upstream-version-is-even features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
+
+DEPENDS += " \
+ yelp-tools-native \
+ libwnck3 \
+ polkit \
+ dconf \
+ libgweather \
+ gnome-menus3 \
+ gnome-desktop3 \
+ gdm \
+"
+
+SRC_URI[archive.md5sum] = "cfd5d3fd548a2afdd8bd3bbdf9646bbd"
+SRC_URI[archive.sha256sum] = "a6bc0255252eeb4b964bcbe55fd7908b69f914c062c5ec8dff5ac0262d29b90d"
+SRC_URI += " \
+ file://0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch \
+"
+
+PACKAGECONFIG[eds] = "--enable-eds,--disable-eds,evolution-data-server"
+
+RDEPENDS_${PN} += "gdm-base"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.34.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.34.2.bb
new file mode 100644
index 00000000..15bf489c
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.34.2.bb
@@ -0,0 +1,39 @@
+SUMMARY = "GNOME session"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = " \
+ glib-2.0-native \
+ libxslt-native \
+ xmlto-native \
+ xtrans \
+ libice \
+ libsm \
+ virtual/libx11 \
+ gtk+3 \
+ gnome-desktop3 \
+ gsettings-desktop-schemas \
+ json-glib \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext gsettings upstream-version-is-even features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
+
+SRC_URI[archive.md5sum] = "38dcdb844a0349cc2fb10998095543e4"
+SRC_URI[archive.sha256sum] = "8bb77381650a03ae4be7260751363bd27da93f09bac1ddbc885f4ce44ebaf8e1"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit',d)}"
+
+PACKAGECONFIG[consolekit] = "-Dconsolekit=true, -Dconsolekit=false, consolekit"
+PACKAGECONFIG[systemd] = "-Dsystemd=true -Dsystemd_journal=true, -Dsystemd=false -Dsystemd_journal=false, systemd"
+
+FILES_${PN} += " \
+ ${datadir}/xsessions \
+ ${datadir}/wayland-sessions \
+ ${systemd_user_unitdir} \
+"
+
+RDEPENDS_${PN} += "gnome-shell gnome-settings-daemon gsettings-desktop-schemas"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.2.bb
new file mode 100644
index 00000000..0b6865d2
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.2.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Window navigation construction toolkit"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even
+
+SRC_URI[archive.md5sum] = "528b0b7cc2dd22c6026a9c8739c71fa7"
+SRC_URI[archive.sha256sum] = "7ce4979817866911a94ecb75b36db56797e038c0c524c5c1a81aefccafc17337"
+
+DEPENDS = " \
+ colord \
+ geocode-glib \
+ gcr \
+ gnome-desktop3 \
+ libgweather \
+ lcms \
+ libcanberra \
+ geoclue \
+ libnotify \
+ upower \
+ libwacom \
+ virtual/libx11 \
+"
+
+# all these are mandatory
+REQUIRED_DISTRO_FEATURES = "x11 polkit pulseaudio systemd gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+SRC_URI[archive.md5sum] = "493332fa0f36645188468fed41c0060b"
+SRC_URI[archive.sha256sum] = "9fbae67e217e53b99e4f9e7d392c91ffbe31253941c9b136ef09c2d9db7ad7ed"
+
+# allow cross build mixed with build of native tools
+do_write_config_append() {
+ cat >${WORKDIR}/meson.native <<EOF
+[binaries]
+pkgconfig = 'pkg-config-native'
+EOF
+}
+EXTRA_OEMESON = "--native-file ${WORKDIR}/meson.native"
+
+PACKAGECONFIG ??= " \
+ cups nm \
+ alsa gudev \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
+"
+PACKAGECONFIG[alsa] = "-Dalsa=true,-Dalsa=false,alsa-lib"
+PACKAGECONFIG[cups] = "-Dcups=true,-Dcups=false,cups"
+PACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev"
+PACKAGECONFIG[nm] = "-Dnetwork_manager=true,-Dnetwork_manager=false,networkmanager"
+PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland"
+
+FILES_${PN} += " \
+ ${systemd_user_unitdir} \
+ ${libdir}/gnome-settings-daemon-3.0/libgsd.so \
+"
+
+RDEPEND_${PN} += "gdbus"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_3.34.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_3.34.2.bb
new file mode 100644
index 00000000..52e50705
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_3.34.2.bb
@@ -0,0 +1,29 @@
+SUMMARY = "GNOME Shell Extensions"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cb3a392cbf81a9e685ec13b88c4c101"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext gsettings features_check upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
+
+SRC_URI[archive.md5sum] = "d3a69cde0c3e3dc0b0c243af026c4b7a"
+SRC_URI[archive.sha256sum] = "a1e16e75a06ea511435a6f7478de92aff21d02d4e1d59ec8ce7fb6396819b4b8"
+
+DEPENDS += " \
+ sassc-native \
+"
+
+EXTRA_OEMESON += " \
+ -Dextension_set=all \
+ -Dclassic_mode=true \
+"
+
+RDEPENDS_${PN} += "gnome-shell"
+
+FILES_${PN} += " \
+ ${datadir}/gnome-shell \
+ ${datadir}/gnome-session \
+ ${datadir}/xsessions \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_3.34.5.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_3.34.5.bb
new file mode 100644
index 00000000..9619628c
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_3.34.5.bb
@@ -0,0 +1,64 @@
+SUMMARY = "GNOME Shell is the graphical shell of the GNOME desktop environment"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gettext gobject-introspection features_check upstream-version-is-even bash-completion
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
+
+DEPENDS = " \
+ libxml2-native \
+ sassc-native \
+ gtk+3 \
+ mutter \
+ evolution-data-server \
+ gcr \
+ gjs \
+ gnome-autoar \
+ polkit \
+ libcroco \
+ startup-notification \
+ ibus \
+ gsettings-desktop-schemas \
+"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+SRC_URI[archive.md5sum] = "4bd27c8a91d30fde78cb69b94677cf1f"
+SRC_URI[archive.sha256sum] = "d296f318a74a6d7883358a6ce1c4d8808b7903dbbb4f9c61ab4230f18e6d7550"
+
+PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth"
+PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false, networkmanager"
+PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
+
+EXTRA_OEMESON = " \
+ -Dman=false \
+"
+
+do_install_append() {
+ # fix shebangs
+ for tool in `find ${D}${bindir} -name '*-tool'`; do
+ sed -i 's:#!${PYTHON}:#!${bindir}/${PYTHON_PN}:' $tool
+ done
+}
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/gnome-control-center \
+ ${datadir}/xdg-desktop-portal \
+ ${systemd_user_unitdir} \
+"
+
+RDEPENDS_${PN} += "gsettings-desktop-schemas gdm-base librsvg-gtk"
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*-tool"
+RDEPENDS_${PN}-tools = "python3-core"
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch
deleted file mode 100644
index 57b60a0d..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4a3ee8b46d25b3d310448bfa4446e15a686fc685 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Fri, 23 Mar 2018 13:50:18 +0100
-Subject: [PATCH] help: remove YELP macro
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [embedded-specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- help/Makefile.am | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/help/Makefile.am b/help/Makefile.am
-index c5cd0d3..4b83adf 100644
---- a/help/Makefile.am
-+++ b/help/Makefile.am
-@@ -1,5 +1,3 @@
--@YELP_HELP_RULES@
--
- HELP_ID = gnome-system-monitor
-
- HELP_FILES = \
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb
deleted file mode 100644
index 9b6ce17c..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Gnome system monitor"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = " \
- intltool-native \
- gnome-common-native \
- glib-2.0-native \
- gtkmm3 \
- libgtop \
- librsvg \
- libwnck3 \
-"
-
-inherit gnomebase distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "fcd59867c07f8c4853b1e28d60cbc037"
-SRC_URI[archive.sha256sum] = "f848a8c2ca5e164cf09d3a205dd49e4e4bf4b60d43b0969c10443eb519d0e6b3"
-SRC_URI += "file://0001-help-remove-YELP-macro.patch"
-
-RRECOMMENDS_${PN} = "adwaita-icon-theme"
-
-FILES_${PN} += " \
- ${datadir}/icons \
- ${datadir}/dbus-1 \
- ${datadir}/gnome/autostart \
-"
-
-FILES_${PN}-doc += " \
- ${datadir}/omf \
- ${datadir}/gnome/help \
-"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.1.bb
new file mode 100644
index 00000000..f30edee6
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Gnome system monitor"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = " \
+ gnome-common-native \
+ libxml2-native \
+ glib-2.0-native \
+ gtkmm3 \
+ libgtop \
+ librsvg \
+ polkit \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit"
+
+SRC_URI[archive.md5sum] = "37356a1b8c20939adc6f47f739d2e49a"
+SRC_URI[archive.sha256sum] = "48c131335091bd927862f40ef56400f997981df2acfc82abea662bf91a1ea4f1"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
+
+RRECOMMENDS_${PN} = "adwaita-icon-theme"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
new file mode 100644
index 00000000..a69390eb
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
@@ -0,0 +1,35 @@
+From f231cecc151930fd5b6309da317a8c5bc6001f38 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 17 Nov 2019 15:55:54 +0100
+Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/terminal.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/terminal.c b/src/terminal.c
+index d06ce35..6284e4c 100644
+--- a/src/terminal.c
++++ b/src/terminal.c
+@@ -47,6 +47,12 @@
+ GS_DEFINE_CLEANUP_FUNCTION0(TerminalOptions*, gs_local_options_free, terminal_options_free)
+ #define gs_free_options __attribute__ ((cleanup(gs_local_options_free)))
+
++/* fix for musl */
++#ifndef W_EXITCODE
++#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
++#endif
++
++
+ /* Wait-for-exit helper */
+
+ typedef struct {
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.34.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.34.2.bb
new file mode 100644
index 00000000..ba9a79d8
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.34.2.bb
@@ -0,0 +1,37 @@
+SUMMARY = "GNOME terminal"
+LICENSE = "GPLv3 & GFDL-1.3"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
+ file://COPYING.GFDL;md5=a22d0be1ce2284b67950a4d1673dd1b0 \
+"
+
+inherit gnomebase gsettings gnome-help gettext itstool upstream-version-is-even
+
+DEPENDS = " \
+ glib-2.0-native \
+ intltool-native \
+ yelp-tools-native \
+ desktop-file-utils-native \
+ gtk+3 \
+ gsettings-desktop-schemas \
+ vte \
+ dconf \
+ libpcre2 \
+"
+
+SRC_URI[archive.md5sum] = "13fa9f5f459481c7f05b6964c470ef16"
+SRC_URI[archive.sha256sum] = "3bd723f4058ec014da4715db4181b7d73eccc797b85ad5e6236996951c01803d"
+SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
+
+EXTRA_OECONF += " \
+ --disable-search-provider \
+ --without-nautilus-extension \
+"
+
+FILES_${PN} += " \
+ ${datadir}/metainfo \
+ ${datadir}/dbus-1 \
+ ${systemd_user_unitdir} \
+"
+
+RRECOMMENDS_${PN} += "vte-prompt gsettings-desktop-schemas"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch
new file mode 100644
index 00000000..8129f85a
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch
@@ -0,0 +1,41 @@
+From db94983c93f38bd8494b47d9fa1b3e5368dc9abe Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 11 Dec 2019 01:34:01 +0100
+Subject: [PATCH] Make python path configurable
+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@gmail.com>
+---
+ meson.build | 2 +-
+ meson_options.txt | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+ create mode 100644 meson_options.txt
+
+diff --git a/meson.build b/meson.build
+index b7da518..d58fb5b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -13,7 +13,7 @@ bindir = join_paths(prefix, get_option('bindir'))
+ datadir = join_paths(prefix, get_option('datadir'))
+ libexecdir = join_paths(prefix, get_option('libexecdir'))
+ localedir = join_paths(prefix, get_option('localedir'))
+-pythondir = join_paths(prefix, python3.sysconfig_path('purelib'))
++pythondir = get_option('python_site_dir')
+
+ pkgdatadir = join_paths(datadir, meson.project_name())
+
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 0000000..03455ca
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1,2 @@
++option('python_site_dir', type: 'string', value: '')
++
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb
new file mode 100644
index 00000000..af4c8c64
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "GNOME tweaks: Advanced options for GNOME 3 session"
+LICENSE = "GPLv3 & CC0-1.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSES/CC0-1.0;md5=65d3616852dbf7b1a6d4b53b00626032 \
+ file://LICENSES/GPL-3.0;md5=9eef91148a9b14ec7f9df333daebc746 \
+"
+
+DEPENDS = "libhandy"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gtk-icon-cache gobject-introspection features_check upstream-version-is-even
+
+# same as gnome-shell
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+SRC_URI[archive.md5sum] = "a625d8b167c5549c68e1c6ac7a87d369"
+SRC_URI[archive.sha256sum] = "003326fab46e6faad9485924bca503f0c583e3b4553d6f673406eda396205250"
+SRC_URI += "file://0001-Make-python-path-configurable.patch"
+
+EXTRA_OEMESON = "-Dpython_site_dir=${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_${PN} += " \
+ ${datadir}/metainfo \
+ ${PYTHON_SITEPACKAGES_DIR} \
+"
+
+RDEPENDS_${PN} += "gnome-shell python3-core python3-logging libhandy"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb
new file mode 100644
index 00000000..e3fd6717
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Grilo is a framework forsearching media content from various sources"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = " \
+ libxml2 \
+ glib-2.0 \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gobject-introspection gtk-doc gettext vala
+
+SRC_URI[archive.md5sum] = "f02bf585d1a48dc65be8b90ae3b08330"
+SRC_URI[archive.sha256sum] = "7e44b2e74c31ed24eb97e43265a9e41effe8660287b02295111805c7bda7f1e8"
+
+GIR_MESON_OPTION = "enable-introspection"
+GTKDOC_MESON_OPTION = "enable-gtk-doc"
+
+# Note: removing 'net' from PACKAGECONFIG causes
+# | bindings/vala/meson.build:15:0: ERROR: Unknown variable "grlnet_gir".
+PACKAGECONFIG ??= "net"
+
+PACKAGECONFIG[net] = "-Denable-grl-net=true, -Denable-grl-net=false, libsoup-2.4"
+PACKAGECONFIG[test-ui] = "-Denable-test-ui=true, -Denable-test-ui=false, gtk+3 liboauth"
+
+# Once we have a recipe for 'totem-plparser' this can turn into a PACKAGECONFIG
+EXTRA_OEMESON = "-Denable-grl-pls=false"
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb
new file mode 100644
index 00000000..e4478e14
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Small gobject library for playing system sounds"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=447b837ae57f08b7060593ac6256163f"
+
+DEPENDS = " \
+ glib-2.0 \
+ libcanberra \
+"
+
+inherit gnomebase gettext gobject-introspection vala
+
+SRC_URI[archive.md5sum] = "c26fd21c21b9ef6533a202a73fab21db"
+SRC_URI[archive.sha256sum] = "bba8ff30eea815037e53bee727bbd5f0b6a2e74d452a7711b819a7c444e78e53"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.8.3.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.8.3.bb
new file mode 100644
index 00000000..44cdefc3
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.8.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "gspell adds spell-checking to a GTK+ applications"
+HOMEPAGE = "https://wiki.gnome.org/Projects/gspell"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8c2e1ec1540fb3e0beb68361344cba7e"
+
+DEPENDS = "gtk+3 iso-codes enchant2"
+
+inherit gnomebase gettext gobject-introspection
+
+SRC_URI[archive.md5sum] = "d0892000d944e87fd74e8611ef400cdb"
+SRC_URI[archive.sha256sum] = "5ae514dd0216be069176accf6d0049d6a01cfa6a50df4bc06be85f7080b62de8"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb
index e7dc0f86..bcc3106d 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb
@@ -9,13 +9,13 @@ SRC_URI = "file://classic-light.xml"
S = "${WORKDIR}"
do_install() {
- install -d ${D}${datadir}/gtksourceview-2.0/styles
- install -m 0644 ${WORKDIR}/classic-light.xml ${D}${datadir}/gtksourceview-2.0/styles/
install -d ${D}${datadir}/gtksourceview-3.0/styles
install -m 0644 ${WORKDIR}/classic-light.xml ${D}${datadir}/gtksourceview-3.0/styles/
+ install -d ${D}${datadir}/gtksourceview-4/styles
+ install -m 0644 ${WORKDIR}/classic-light.xml ${D}${datadir}/gtksourceview-4/styles/
}
FILES_${PN} = " \
- ${datadir}/gtksourceview-2.0/styles \
${datadir}/gtksourceview-3.0/styles \
+ ${datadir}/gtksourceview-4/styles \
"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
deleted file mode 100644
index 012f8e3b..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Portable C library for multiline text editing"
-HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "gtk+ libxml2 intltool-native gnome-common-native glib-2.0-native"
-
-PNAME = "gtksourceview"
-
-S = "${WORKDIR}/${PNAME}-${PV}"
-
-inherit gnomebase lib_package gettext distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# overrule SRC_URI from gnome.conf
-SRC_URI = "${GNOME_MIRROR}/${PNAME}/${@gnome_verdir("${PV}")}/${PNAME}-${PV}.tar.bz2;name=archive \
- file://gtk-doc.make \
- file://suppress-string-format-literal-warning.patch \
- file://0001-test-widget.c-fix-non-literal-format-string-issues.patch \
- "
-SRC_URI[archive.md5sum] = "1219ad1694df136f126507466aeb41aa"
-SRC_URI[archive.sha256sum] = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"
-
-do_configure_prepend() {
- cp ${WORKDIR}/gtk-doc.make ${S}/
- sed -i -e s:docs::g ${S}/Makefile.am
- echo "EXTRA_DIST = version.xml" > gnome-doc-utils.make
-}
-
-FILES_${PN} += " ${datadir}/gtksourceview-2.0"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb
new file mode 100644
index 00000000..13f81b4c
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/${PNAME}-${PV}.tar.xz"
+SRC_URI[md5sum] = "b748da426a7d64e1304f0c532b0f2a67"
+SRC_URI[sha256sum] = "691b074a37b2a307f7f48edc5b8c7afa7301709be56378ccf9cc9735909077fd"
+
+FILES_${PN} += " ${datadir}/gtksourceview-3.0"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb
deleted file mode 100644
index 7cb88665..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Portable C library for multiline text editing"
-HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
-
-PNAME = "gtksourceview"
-
-S = "${WORKDIR}/${PNAME}-${PV}"
-
-inherit gnomebase lib_package gettext distro_features_check gtk-doc gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/${PNAME}-${PV}.tar.xz"
-SRC_URI[md5sum] = "52f8c83ad21ad75e9ee6cca03ce2e63f"
-SRC_URI[sha256sum] = "1e9bb8ff190db705deb916dd23ff681f0e8803aec407bf0fd64c7e615ac436fe"
-
-FILES_${PN} += " ${datadir}/gtksourceview-3.0"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.4.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.4.0.bb
new file mode 100644
index 00000000..bb49550c
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.4.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection vala
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/4.4/${PNAME}-${PV}.tar.xz"
+SRC_URI[md5sum] = "5c47e314517692f2622a0b724c65e628"
+SRC_URI[sha256sum] = "9ddb914aef70a29a66acd93b4f762d5681202e44094d2d6370e51c9e389e689a"
+
+GIR_MESON_OPTION = 'gir'
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+FILES_${PN} += "${datadir}/gtksourceview-4"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb
deleted file mode 100644
index ca1eb6aa..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-DESCRIPTION = "gvfs is a userspace virtual filesystem"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnome bash-completion gettext
-
-DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2 polkit shadow-native"
-
-SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
-
-SRC_URI[archive.md5sum] = "4c68899cfd80d57a153771534193bb9a"
-SRC_URI[archive.sha256sum] = "6e7213570389b17b67433695f515f3b17705ba976168a4c8828fc177cce50223"
-
-
-EXTRA_OEMESON = " \
- -Dbluray=false \
- -Dgdu=false \
- -Dgoa=false \
- -Dgoogle=false \
- -Dnfs=false \
- -Dudisks2=true \
- -Ddocumentation=false \
-"
-
-PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
-
-FILES_${PN} += " \
- ${datadir}/glib-2.0 \
- ${datadir}/GConf \
- ${datadir}/dbus-1/services \
- ${libdir}/gio/modules/*.so \
- ${libdir}/tmpfiles.d \
- ${systemd_user_unitdir} \
-"
-RDEPENDS_${PN} = "udisks2"
-
-FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
-FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
-
-FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
-FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
-FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
-
-RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
-
-PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
-PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
-PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
-PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr"
-PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4"
-PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
-PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
-PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
-PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
-PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
-
-# needs meta-filesystems
-PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse"
-
-# libcdio-paranoia recipe doesn't exist yet
-PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
-
-# Fix up permissions on polkit rules.d to work with rpm4 constraints
-do_install_append() {
- chmod 700 ${D}/${datadir}/polkit-1/rules.d
- chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
-}
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb
new file mode 100644
index 00000000..f04246f1
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb
@@ -0,0 +1,87 @@
+DESCRIPTION = "gvfs is a userspace virtual filesystem"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check useradd
+
+DEPENDS += "libsecret glib-2.0 glib-2.0-native libgudev shadow-native \
+ gsettings-desktop-schemas dbus"
+
+SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
+SRC_URI[archive.md5sum] = "8dea2f6a3f327a814a347758d4350e4b"
+SRC_URI[archive.sha256sum] = "b57af97573bd295aa50037eed29c6ba7a36188230c515e007c3018855a5cf949"
+
+# depends on gsettings-desktop-schemas->gcr->gtk+3-> x11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OEMESON = " \
+ -Dbluray=false \
+ -Dgoa=false \
+ -Dgoogle=false \
+ -Dnfs=false \
+"
+
+PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
+
+FILES_${PN} += " \
+ ${datadir}/glib-2.0 \
+ ${datadir}/GConf \
+ ${datadir}/dbus-1/services \
+ ${libdir}/gio/modules/*.so \
+ ${libdir}/tmpfiles.d \
+ ${systemd_user_unitdir} \
+"
+
+FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
+FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
+
+FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
+FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
+FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
+
+RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
+
+PACKAGECONFIG ?= "libgphoto2 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \
+ "
+
+PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2"
+PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit"
+PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
+PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
+PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
+PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr"
+PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4"
+PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
+PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
+PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
+PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
+PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
+
+# needs meta-filesystems
+PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse"
+
+# libcdio-paranoia recipe doesn't exist yet
+PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then
+ # Fix up permissions on polkit rules.d to work with rpm4 constraints
+ chmod 700 ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+ fi
+
+ # After rebuilds (not from scracth) it can happen that the executables in
+ # libexec ar missing executable permission flag. Not sure but it came up
+ # during transition to meson. Looked into build files and logs but could
+ # not find suspicious
+ for exe in `find ${D}/${libexecdir}`; do
+ chmod +x $exe
+ done
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
new file mode 100644
index 00000000..90e55330
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
@@ -0,0 +1,12 @@
+SUMMARY = "libchamplain is a Gtk widget displaying zoomable and pannable maps"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+DEPENDS = "glib-2.0 gtk+3 gdk-pixbuf clutter-1.0 clutter-gtk-1.0 libsoup-2.4"
+
+inherit meson gobject-introspection
+
+SRCREV = "145e417f32e507b63c21ad4e915b808a6174099e"
+SRC_URI = "git://github.com/gnome/libchamplain.git"
+
+S = "${WORKDIR}/git"
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
deleted file mode 100644
index 80cbae39..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "GLib-based library for accessing online service APIs using the GData protocol"
-HOMEPAGE = "http://live.gnome.org/libgdata"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2.1"
-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 = "gnome-common-native libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib"
-
-inherit distro_features_check gnomebase pkgconfig autotools-brokensep gettext gtk-doc vala gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_configure_prepend_class-target () {
- # introspection.m4 pre-packaged with upstream tarballs does not yet
- # have our fixes
- rm -f ${S}/introspection.m4
-
- # remove the pre-built gtk-doc files, as they're installed (or attempted to be installed)
- # even if gtk-doc is explicitly disabled
- rm -rf ${S}/docs/reference/html
-}
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs"
-}
-
-EXTRA_OECONF += "--disable-goa --disable-tests --disable-gtk-doc"
-
-SRC_URI[archive.md5sum] = "eb552a8a8482e4231a3d1baf7262e64d"
-SRC_URI[archive.sha256sum] = "8740e071ecb2ae0d2a4b9f180d2ae5fdf9dc4c41e7ff9dc7e057f62442800827"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.12.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.12.bb
new file mode 100644
index 00000000..25bc202a
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.12.bb
@@ -0,0 +1,33 @@
+SUMMARY = "GLib-based library for accessing online service APIs using the GData protocol"
+HOMEPAGE = "http://live.gnome.org/libgdata"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2.1"
+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"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages features_check
+
+# gcr
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs"
+}
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false"
+PACKAGECONFIG[goa] = "-Dgoa=enabled,-Dgoa=disabled,gnome-online-accounts"
+PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
+PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
+
+EXTRA_OEMESON = "-Dalways_build_tests=false"
+
+SRC_URI[archive.md5sum] = "9d5692a2308bb949af801be66989e164"
+SRC_URI[archive.sha256sum] = "a0fd6f8820e8bae019c1f6ffab5af7fcd6d7f147915bb968b56df3ad61b42318"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb
deleted file mode 100644
index 456a744f..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "GNOME keyboard library"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
-
-SECTION = "x11/gnome/libs"
-
-DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
-
-inherit distro_features_check gnome gobject-introspection gettext
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-GNOME_COMPRESS_TYPE = "xz"
-
-SRC_URI[archive.md5sum] = "8b9d13d46255cde910b3db5a6ebb4727"
-SRC_URI[archive.sha256sum] = "ea3b418c57c30615f7ee5b6f718def7c9d09ce34637324361150744258968875"
-
-EXTRA_OECONF_remove = "--disable-schemas-install"
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
new file mode 100644
index 00000000..2a2db9c1
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "GNOME keyboard library"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
+
+SECTION = "x11/gnome/libs"
+
+DEPENDS = "glib-2.0 gtk+3 libxklavier"
+
+inherit features_check gnomebase gobject-introspection gsettings gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "98040022484406e7ebe25f82cef93344"
+SRC_URI[archive.sha256sum] = "f7ca02631576e9b88aee1b1bae37ac1488b80ee7975f20a97f29e761a7172679"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/files/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch
index bc0090e1..bc0090e1 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/files/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
deleted file mode 100644
index f5e2f1dd..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "GNOME Structured File Library"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dc7371b50816c96e145fa0f8ade8e24d \
- file://COPYING.LIB;md5=61464cfe342798eeced82efe9ae55f63"
-
-SECTION = "libs"
-
-DEPENDS= "libxml2 bzip2 glib-2.0 zlib intltool-native gnome-common-native"
-
-inherit autotools pkgconfig gnome gconf gobject-introspection
-
-SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch"
-
-SRC_URI[archive.md5sum] = "3056b94bb3281dbc8311371bfc23cf72"
-SRC_URI[archive.sha256sum] = "4d8bca33424eb711acdb6a060cb488b132063d699c4fa201db24c2c89c62529c"
-
-GNOME_COMPRESS_TYPE = "xz"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf"
-
-EXTRA_OECONF = "\
- --disable-gtk-doc \
- --with-bz2 \
-"
-
-RDEPENDS_${PN} = "gconf"
-
-FILES_${PN} += "${datadir}/thumbnailers"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb
new file mode 100644
index 00000000..6d82b35e
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb
@@ -0,0 +1,23 @@
+SUMMARY = "GNOME Structured File Library"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dc7371b50816c96e145fa0f8ade8e24d \
+ file://COPYING.LIB;md5=61464cfe342798eeced82efe9ae55f63"
+
+SECTION = "libs"
+
+DEPENDS= "libxml2 bzip2 glib-2.0 zlib gnome-common-native"
+
+inherit gnomebase gobject-introspection gettext gtk-doc
+
+SRC_URI[archive.md5sum] = "20bf9933128210d7a9f920a34198d22f"
+SRC_URI[archive.sha256sum] = "d188ebd3787b5375a8fd38ee6f761a2007de5e98fa0cf5623f271daa67ba774d"
+SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf"
+
+EXTRA_OECONF = "\
+ --with-bz2 \
+"
+
+FILES_${PN} += "${datadir}/thumbnailers"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
index a7c8a6fc..a990bfcf 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
@@ -5,7 +5,7 @@ LICENSE = "LGPL-2.0+"
LIC_FILES_CHKSUM = "file://tap.c;beginline=1;endline=20;md5=71756eeb144e9eeb177c69aa672b1635"
PR = "r4"
-inherit distro_features_check autotools pkgconfig
+inherit features_check autotools pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb
deleted file mode 100644
index 494934fe..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "LibGTop2"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit gnomebase lib_package gtk-doc distro_features_check gobject-introspection gettext
-
-# depends on libxau
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "bb0ce7de6b28694b40405eedac8a31b5"
-SRC_URI[archive.sha256sum] = "4f6c0e62bb438abfd16b4559cd2eca0251de19e291c888cdc4dc88e5ffebb612"
-
-DEPENDS = "glib-2.0 libxau"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb
new file mode 100644
index 00000000..f0c9cdb0
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "LibGTop2"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-version-is-even
+
+# depends on libxau
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "c6d67325cd97b2208b41e07e6cc7b947"
+SRC_URI[archive.sha256sum] = "78f3274c0c79c434c03655c1b35edf7b95ec0421430897fb1345a98a265ed2d4"
+
+DEPENDS = "glib-2.0 libxau"
+
+EXTRA_OEMAKE += "LIBGTOP_LIBS="
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.34.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.34.0.bb
new file mode 100644
index 00000000..d72b6ce2
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.34.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A library to access weather information from online services"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gobject-introspection gettext gtk-doc vala features_check upstream-version-is-even
+
+SRC_URI[archive.md5sum] = "52c3b1e27887fc88f862c92c42d930c1"
+SRC_URI[archive.sha256sum] = "02245395d639d9749fe2d19b7e66b64a152b9509ab0e5aad92514538b9c6f1b9"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+DEPENDS = " \
+ gtk+3 \
+ json-glib \
+ libsoup-2.4 \
+ geocode-glib \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb
deleted file mode 100644
index 957d7d02..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "Time zone map widget for Gtk+"
-HOMEPAGE = "https://launchpad.net/timezonemap"
-SECTION = "devel/lib"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/libt/${BPN}/${BPN}_${PV}.tar.gz \
-"
-SRC_URI[md5sum] = "054306fa998fe580f17b68aa1e16551b"
-SRC_URI[sha256sum] = "327e64a17c676c1bcda3b6ba3394d3d01250e5ac9a49222b9ff5737d90b15383"
-
-
-DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native \
-"
-
-B = "${S}"
-
-inherit distro_features_check autotools pkgconfig gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_configure_prepend() {
- (cd ${S}; NOCONFIGURE="yes" . ${S}/autogen.sh)
-}
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
new file mode 100644
index 00000000..a0874521
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Time zone map widget for Gtk+"
+HOMEPAGE = "https://launchpad.net/timezonemap"
+SECTION = "devel/lib"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/libt/${BPN}/${BPN}_${PV}.tar.gz"
+SRC_URI[md5sum] = "f85a21994a397fb1ff2d3ec404bdd592"
+SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195"
+
+DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native"
+
+B = "${S}"
+
+inherit features_check autotools pkgconfig gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_configure_prepend() {
+ (cd ${S}; NOCONFIGURE="yes" . ${S}/autogen.sh)
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.30.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.30.0.bb
deleted file mode 100644
index 9cee9c96..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.30.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-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 gettext
-
-SRC_URI[archive.md5sum] = "60109c2ab0b07da1099ee57980054de1"
-SRC_URI[archive.sha256sum] = "ac6d0d2646aa80676d3066651e73abb7bff7ed79be238c9b21a0083e2adc3439"
-
-inherit distro_features_check
-# libxres means x11 only
-REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.32.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.32.0.bb
new file mode 100644
index 00000000..d88161a3
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.32.0.bb
@@ -0,0 +1,24 @@
+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] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk_doc"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+inherit gnomebase gobject-introspection gtk-doc gettext features_check
+
+SRC_URI[archive.md5sum] = "89dbe5a1843fd3745b8b64b34a2ef55d"
+SRC_URI[archive.sha256sum] = "9595835cf28d0fc6af5526a18f77f2fcf3ca8c09e36741bb33915b6e69b8e3ca"
+
+# libxres means x11 only
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
index ea4c8df5..9eb041c2 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
@@ -8,10 +8,9 @@ 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"
-inherit gnomebase gobject-introspection distro_features_check
+inherit gnomebase gobject-introspection features_check
REQUIRED_DISTRO_FEATURES = "x11"
-GNOME_COMPRESS_TYPE = "xz"
SRC_URI[archive.md5sum] = "f03e1139296e2a3a92e3b65a3080cd32"
SRC_URI[archive.sha256sum] = "83f732d20781fc88b22cdc6aaf2d4f388db6d3d4ff28d1a8fd45be9fb7743a9e"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb
index 501a4497..3cef0d2e 100644
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
DEPENDS = "xkbcomp gtk+ iso-codes libxi libxml2"
-inherit autotools pkgconfig gettext gobject-introspection distro_features_check
+inherit autotools pkgconfig gettext gobject-introspection features_check
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb
deleted file mode 100644
index 189f6ec5..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SECTION = "x11/wm"
-SUMMARY = "Metacity is the boring window manager for the adult in you"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
- file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
-
-PE = "1"
-
-DEPENDS = "gsettings-desktop-schemas startup-notification \
- gnome-doc-utils gdk-pixbuf-native \
- gtk+3 glib-2.0 libcanberra libgtop intltool-native"
-
-inherit autotools gettext gnomebase distro_features_check
-# depends on startup-notification which depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "git://github.com/GNOME/metacity.git;branch=master \
- file://0001-drop-zenity-detection.patch \
-"
-
-S = "${WORKDIR}/git"
-SRCREV = "c0d4b2fc0fcd6f2d3c37da935923f9e9ed5eb99f"
-
-EXTRA_OECONF += "--disable-xinerama"
-
-PACKAGECONFIG ?= ""
-
-# enable as neccessary until new warnings are dealt with
-PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,,"
-
-do_configure_prepend() {
- cd ${S}
- aclocal --install || exit 1
- autoreconf --verbose --force --install -Wno-portability || exit 1
- cd -
-
-}
-
-FILES_${PN} += "${datadir}/themes ${datadir}/gnome-control-center ${datadir}/gnome"
-RDEPENDS_${PN} += "gsettings-desktop-schemas"
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.34.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.34.1.bb
new file mode 100644
index 00000000..d8c8b538
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.34.1.bb
@@ -0,0 +1,38 @@
+SECTION = "x11/wm"
+SUMMARY = "Metacity is the boring window manager for the adult in you"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
+ file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
+
+PE = "1"
+
+DEPENDS = " \
+ gdk-pixbuf-native \
+ gtk+3 \
+ gsettings-desktop-schemas \
+ startup-notification \
+ libcanberra \
+ libgtop \
+"
+
+
+# depends on startup-notification which depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+inherit gnomebase gsettings gettext upstream-version-is-even features_check
+
+SRC_URI[archive.md5sum] = "c0c10204e4d6d024cb413042c1de316b"
+SRC_URI[archive.sha256sum] = "31c7d1045c390afb3bf405735b0b26c459197cbf43af37c469eb8918ce3a453d"
+SRC_URI += "file://0001-drop-zenity-detection.patch"
+
+PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama"
+# enable as neccessary until new warnings are dealt with
+PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,,"
+
+FILES_${PN} += " \
+ ${datadir}/themes \
+ ${datadir}/gnome-control-center \
+ ${datadir}/gnome\
+"
+
+RDEPENDS_${PN} += "gsettings-desktop-schemas"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
new file mode 100644
index 00000000..b4fd0398
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
@@ -0,0 +1,72 @@
+From a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Sun, 20 Oct 2019 12:04:31 +0200
+Subject: [PATCH] EGL: Include EGL/eglmesaext.h
+
+The eglext.h shipped by libglvnd does not include the Mesa extensions,
+unlike the header shipped in Mesa.
+
+Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
+
+Upstream-Status: Applied [1]
+
+[1] https://gitlab.gnome.org/GNOME/mutter/-/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90
+---
+ cogl/cogl/meson.build | 2 +-
+ src/backends/meta-egl-ext.h | 1 +
+ src/backends/meta-egl.c | 1 +
+ src/backends/meta-egl.h | 1 +
+ 4 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
+index 261955796..b0e66bff3 100644
+--- a/cogl/cogl/meson.build
++++ b/cogl/cogl/meson.build
+@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
+ built_headers += [cogl_gl_header_h]
+
+ if have_egl
+- cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
++ cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
+ else
+ cogl_egl_includes_string = ''
+ endif
+diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
+index 8705e7d5b..db0b74f76 100644
+--- a/src/backends/meta-egl-ext.h
++++ b/src/backends/meta-egl-ext.h
+@@ -29,6 +29,7 @@
+
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+
+ /*
+ * This is a little different to the tests shipped with EGL implementations,
+diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
+index 6554be935..fdeff4f77 100644
+--- a/src/backends/meta-egl.c
++++ b/src/backends/meta-egl.c
+@@ -27,6 +27,7 @@
+
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <gio/gio.h>
+ #include <glib.h>
+ #include <glib-object.h>
+diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
+index f2a816445..4591e7d85 100644
+--- a/src/backends/meta-egl.h
++++ b/src/backends/meta-egl.h
+@@ -28,6 +28,7 @@
+
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <glib-object.h>
+
+ #define META_EGL_ERROR meta_egl_error_quark ()
+--
+2.21.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb
new file mode 100644
index 00000000..29b9fc62
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb
@@ -0,0 +1,96 @@
+SUMMARY = "Window and compositing manager based on Clutter"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = " \
+ xserver-xorg-cvt-native \
+ virtual/libx11 \
+ gtk+3 \
+ gdk-pixbuf \
+ cairo \
+ pango \
+ gsettings-desktop-schemas \
+ json-glib \
+ gnome-desktop3 \
+ gnome-settings-daemon \
+ libxtst \
+ libxkbfile \
+ xinerama \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even features_check
+
+SRC_URI[archive.md5sum] = "20913c458406e6efa3df005a3ce48c8e"
+SRC_URI[archive.sha256sum] = "23bde87d33b8981358831cec8915bb5ff1eaf9c1de74c90cd1660b1b95883526"
+SRC_URI += "file://0001-EGL-Include-EGL-eglmesaext.h.patch"
+
+# x11 is still manadatory - see meson.build
+REQUIRED_DISTRO_FEATURES = "x11"
+
+# systemd can be replaced by libelogind (not available atow - make systemd
+# mandatory distro feature)
+LOGIND ?= "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
+
+# profiler requires sysprof 3.34 which is not willing to build atow
+PACKAGECONFIG ??= " \
+ native-backend \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \
+ sm \
+ startup-notification \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
+"
+
+EXTRA_OEMESON += " \
+ -Dxwayland_path=${bindir}/Xwayland \
+"
+
+# combi-config - see meson_options.txt for more details
+PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev"
+PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl"
+PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false"
+PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom"
+PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire-0.2"
+PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm"
+PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof"
+PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification"
+PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland wayland-native, xserver-xorg-xwayland"
+PACKAGECONFIG[wayland-eglstream] = "-Dwayland_eglstream=true,-Dwayland_eglstream=false"
+
+# yes they changed from mutter-4 -> mutter-5 recently so be perpared
+MUTTER_API_NAME = "mutter-5"
+
+do_install_append() {
+ # Add gir links in standard paths. That makes dependents life much easier
+ # to find them
+ install -d ${D}${datadir}/gir-1.0
+ for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do
+ gir=`basename "$gir_full"`
+ ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir"
+ done
+}
+
+PACKAGES =+ "${PN}-tests"
+
+FILES_${PN} += " \
+ ${datadir}/gnome-control-center \
+ ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \
+ ${libdir}/${MUTTER_API_NAME}/*.typelib \
+ ${libdir}/${MUTTER_API_NAME}/plugins \
+"
+
+FILES_${PN}-tests += " \
+ ${datadir}/installed-tests \
+ ${datadir}/${MUTTER_API_NAME}/tests \
+ ${libexecdir}/installed-tests/${MUTTER_API_NAME} \
+"
+
+FILES_${PN}-dev += " \
+ ${libdir}/${MUTTER_API_NAME}/*.gir \
+ ${libdir}/${MUTTER_API_NAME}/lib*.so \
+"
+
+RDEPENDS_${PN} += "zenity"
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch
deleted file mode 100644
index f19eb497..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a4ed38e95cbe07f02028249b8b315565a5ac1e43 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 5 May 2018 22:32:45 -0700
-Subject: [PATCH] nautilus: drop gnome-desktop thumbnail API with new
- gdk-pixbuf
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If gdk-pixbuf >= 2.36.5 is available, its scaling API can do what we
-want, so we don’t need to use the deprecated gnome-desktop one.
-
-Also fixes compile errors seen on master
-nautilus-properties-window.c:5101: undefined reference to `gnome_desktop_thumbnail_scale_down_pixbuf'
-
-Upstream-Status: Backport
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/nautilus-properties-window.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
-index dea8b0f..fad9bd1 100644
---- a/src/nautilus-properties-window.c
-+++ b/src/nautilus-properties-window.c
-@@ -5098,10 +5098,11 @@ update_preview_callback (GtkFileChooser *icon_chooser,
- scale = (double)gdk_pixbuf_get_height (pixbuf) /
- gdk_pixbuf_get_width (pixbuf);
-
-- scaled_pixbuf = gnome_desktop_thumbnail_scale_down_pixbuf
-+ scaled_pixbuf = gdk_pixbuf_scale_simple
- (pixbuf,
- PREVIEW_IMAGE_WIDTH,
-- scale * PREVIEW_IMAGE_WIDTH);
-+ scale * PREVIEW_IMAGE_WIDTH,
-+ GDK_INTERP_HYPER);
- g_object_unref (pixbuf);
- pixbuf = scaled_pixbuf;
- }
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb
deleted file mode 100644
index bdb2f3c8..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "File manager for GNOME"
-SECTION = "x11/gnome"
-
-LICENSE="GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=36cf660aea2b8beffba7945f44a7e748 \
- file://COPYING.EXTENSIONS;md5=7579d6678402a1868631bf82c93ff0d4 \
- file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
-
-inherit distro_features_check autotools pkgconfig gobject-introspection
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/nautilus/${MAJ_VER}/nautilus-${PV}.tar.xz \
- file://0001-nautilus-drop-gnome-desktop-thumbnail-API-with-new-g.patch \
- "
-
-SRC_URI[md5sum] = "0f578bda5655c0ce204befafca5803d7"
-SRC_URI[sha256sum] = "60a927c0522b4cced9d8f62baed2ee5e2fd4305be4523eb5bc44805971a6cc15"
-
-DEPENDS = "gtk+3 gnome-desktop3 gsettings-desktop-schemas glib-2.0-native intltool-native pango"
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF = " \
- --disable-gtk-doc \
- --disable-update-mimedb \
- --disable-nst-extension \
- --enable-tracker=no \
- --disable-schemas-compile \
- --enable-xmp=no \
- --enable-libexif=no \
-"
-
-FILES_${PN} += "${datadir}/*"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.3.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.3.bb
new file mode 100644
index 00000000..e7541664
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.3.bb
@@ -0,0 +1,36 @@
+SUMMARY = "File manager for GNOME"
+SECTION = "x11/gnome"
+
+LICENSE="GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+DEPENDS = " \
+ fontconfig \
+ gtk+3 \
+ gnome-desktop3 \
+ gsettings-desktop-schemas \
+ gnome-autoar \
+ tracker \
+"
+
+inherit gnomebase gsettings gobject-introspection gtk-doc gettext features_check upstream-version-is-even mime-xdg
+
+SRC_URI[archive.md5sum] = "769053f14bb993605a2b60085c47b4cd"
+SRC_URI[archive.sha256sum] = "02d984b794f3a34a7aa66bf5c70cc2a7780de55bd900504fb1014931781db36d"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+PACKAGECONFIG = "extensions"
+PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/gnome-shell \
+"
+
+# mandatory - not checked during configuration:
+# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed
+RDEPENDS_${PN} += "tracker-miners"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb
new file mode 100644
index 00000000..33b8744e
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "library to access web services that claim to be "RESTful""
+HOMPAGE = "https://wiki.gnome.org/Projects/Librest"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+GNOMEBASEBUILDCLASS = "autotools"
+
+DEPENDS = " \
+ libxml2-native \
+ glib-2.0-native \
+ glib-2.0 \
+ libsoup-2.4 \
+"
+
+inherit gnomebase gobject-introspection gtk-doc vala
+
+SRC_URI[archive.md5sum] = "ece4547298a81105f307369d73c21b9d"
+SRC_URI[archive.sha256sum] = "0513aad38e5d3cedd4ae3c551634e3be1b9baaa79775e53b2dba9456f15b01c9"
+
+# * gnome environment requires libsoup build with in gnome PACKAGECONFIG
+# * libsoup-gnome support was removed upstream three years ago [1]
+# [1] https://gitlab.gnome.org/GNOME/librest/commit/8f904a8e2bb38a7bf72245cdf2f1ecad17e9a720
+EXTRA_OECONF = "--without-gnome"
+
+do_configure_prepend() {
+ # rest expects introspection.m4 at custom location (see aclocal.m4).
+ cp -f ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/build
+}
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/rest/.libs"
+}
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch
new file mode 100644
index 00000000..c9eb7994
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch
@@ -0,0 +1,37 @@
+From 54ea2cabf85ad1bd5695cdbd1935115c9495e80c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 1 Dec 2019 17:06:59 +0100
+Subject: [PATCH] meson.build: Just warn if we build without libseccomp
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+libseccomp lives in meta-security currently and we cannot make it a mandatory
+dependency. Once somebody moves libseccomp to meta-oe and adjusts all the
+target specific knobs this patch can go. For discussion see [1].
+
+[1] http://lists.openembedded.org/pipermail/openembedded-devel/2019-November/203234.html
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 71a9df4..1eaa1a0 100644
+--- a/meson.build
++++ b/meson.build
+@@ -279,7 +279,7 @@ cpu_supports_seccomp = not unsupported_cpus.contains(host_cpu)
+ seccomp_required = system_supports_seccomp and cpu_supports_seccomp
+
+ if not libseccomp.found() and seccomp_required
+- error('Libseccomp is mandatory for sandboxed metadata extraction')
++ warning('Building without Libseccomp might cause security issues!')
+ endif
+
+ ####################################################################
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.3.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.3.bb
new file mode 100644
index 00000000..b40787f3
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.3.bb
@@ -0,0 +1,68 @@
+SUMMARY = "Tracker miners and metadata extractors"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \
+ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+"
+
+DEPENDS = " \
+ intltool-native \
+ tracker \
+ zlib \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check
+
+SRC_URI[archive.md5sum] = "a317bc50c5e63dd0746a48af478fb92b"
+SRC_URI[archive.sha256sum] = "7472aa28d7862620d3ca2bbec3b103df547d7319c12e95a7f7aa9f9f6dee4b19"
+SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+PACKAGECONFIG ??= " \
+ ffmpeg \
+ flac \
+ gexiv2 \
+ gstreamer \
+ icu \
+ libexif \
+ libgsf \
+ jpeg \
+ png \
+ tiff \
+ xml \
+ pdf \
+"
+
+PACKAGECONFIG[ffmpeg] = ",,ffmpeg"
+PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
+PACKAGECONFIG[gexiv2] = ",,gexiv2"
+PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[gupnp] = ",,gupnp-dlna"
+PACKAGECONFIG[icu] = ",,icu"
+PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif"
+PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf"
+PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
+PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
+PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2"
+PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
+PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler"
+PACKAGECONFIG[upower] = ",,upower"
+
+# For security reasons it is strongly recommended to set add meta-security in
+# your layers and 'libseccomp' to PACKAGECONFIG".
+PACKAGECONFIG[libseccomp] = ",,libseccomp"
+# not yet in meta-gnome
+PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/tracker \
+ ${libdir}/tracker-miners-2.0 \
+ ${systemd_user_unitdir} \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_2.3.4.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_2.3.4.bb
new file mode 100644
index 00000000..ae907714
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_2.3.4.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Tracker is a file search engine"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \
+ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+"
+
+DEPENDS = " \
+ libxml2-native \
+ dbus-native \
+ glib-2.0 \
+ sqlite3 \
+ libarchive \
+ dbus \
+ icu \
+ json-glib \
+ libsoup-2.4 \
+ libstemmer \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check
+
+SRC_URI[archive.md5sum] = "9937cf4812ca85078907324c7cdf7dd8"
+SRC_URI[archive.sha256sum] = "577952244ab977c78b0b88e2f63c4197eaba16e4d66bff692b7f58993e06516d"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+PACKAGECONFIG ??= "fts"
+PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanger"
+# full text search requires sqlite3 build with PACKAGECONFIG[fts5] set
+PACKAGECONFIG[fts] = "-Dfts=true,-Dfts=false"
+
+# set required cross property sqlite3_has_fts5
+do_write_config[vardeps] += "PACKAGECONFIG"
+do_write_config_append() {
+ echo "[properties]" > ${WORKDIR}/meson-tracker.cross
+ echo "sqlite3_has_fts5 = '${@bb.utils.contains('PACKAGECONFIG', 'fts', 'true', 'false', d)}'" >> ${WORKDIR}/meson-tracker.cross
+}
+
+EXTRA_OEMESON = "--cross-file ${WORKDIR}/meson-tracker.cross"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${libdir}/tracker-2.0 \
+ ${systemd_user_unitdir} \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch
deleted file mode 100644
index a8c5bc79..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From eebe1f27f4b27b05eb4b9b55f9df1124acf4d092 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 1 Aug 2014 12:25:24 +0200
-Subject: [PATCH] configure: use 'foreign' mode to avoid errors with missing
- NEWS/AUTHORS/etc
-
-Upstream-status: Pending
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 3d7eef6..1784bdd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -41,7 +41,7 @@ VERSION=$WV_VERSION
- PACKAGE=wv
-
- dnl Initialize automake stuff
--AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
-+AM_INIT_AUTOMAKE([foreign])
-
- # Specify a configuration file
- AM_CONFIG_HEADER(config.h)
---
-1.9.0
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch
deleted file mode 100644
index 2fc3f367..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch b/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch
deleted file mode 100644
index 136d8934..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: wv-1.2.0/wv-1.0.pc.in
-===================================================================
---- wv-1.2.0.orig/wv-1.0.pc.in 2008-03-19 22:25:18.000000000 +0000
-+++ wv-1.2.0/wv-1.0.pc.in 2008-03-19 22:26:32.000000000 +0000
-@@ -6,5 +6,6 @@
- Name: wvWare
- Description: Word Document Filter library and utilities
- Version: @VERSION@
--Libs: -L${libdir} -lwv @WMF_LIBS@ @XML_LIBS@ @GLIB_LIBS@ @GSF_LIBS@ @PNG_LIBS@ @ZLIB_LIBS@ @LIBS@ -lm
--Cflags: -I${includedir}/wv @GSF_CFLAGS@
-+Requires: libgsf-1
-+Libs: -L${libdir} -lwv @WMF_LIBS@ @XML_LIBS@ @PNG_LIBS@ @ZLIB_LIBS@ @LIBS@ -lm
-+Cflags: -I${includedir}/wv
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
deleted file mode 100644
index 8ed1fcd1..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Programs for accessing Microsoft Word documents"
-HOMEPAGE = "http://wvware.sourceforge.net/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6cbca01f1c9178aca280e8ff64d85b2f"
-
-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"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/${PN}-${PV}"
-
-EXTRA_OECONF = ""
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_3.32.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_3.32.2.bb
new file mode 100644
index 00000000..af2bab38
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_3.32.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Collection of scripts and build utilities for documentation"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=d67c6f9f1515506abfea4f0d920c0774 \
+ file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
+"
+
+inherit gnomebase itstool
+
+DEPENDS += " \
+ libxslt-native \
+ libxml2-native \
+ yelp-xsl \
+"
+
+SRC_URI[archive.md5sum] = "7856f9ad0492aaf9adf097f5058bfc2e"
+SRC_URI[archive.sha256sum] = "183856b5ed0b0bb2c05dd1204af023946ed436943e35e789afb0295e5e71e8f9"
+
+RDEPENDS_${PN} += "yelp-xsl"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.2.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.2.bb
new file mode 100644
index 00000000..38947d1b
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "XSL stylesheets for the yelp help browser"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=3e2bad3c5e3990988f9fa1bc5785b147 \
+ file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
+ file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+"
+
+inherit gnomebase gettext itstool
+
+DEPENDS += "libxml2"
+
+SRC_URI[archive.md5sum] = "b9c1c53a9114b42054789f212ab37f59"
+SRC_URI[archive.sha256sum] = "0c3fe6146113df26fb1295901b1c7baed9f0fe67a87f4345e11543aefe7cb7ad"
+
+RDEPENDS_${PN}_append_class-target = " libxml2 itstool"
+
+# ensure our native consumers are forced to inherit itstool
+RDEPENDS_${PN}_append_class-native = " libxml2"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb
new file mode 100644
index 00000000..f0106166
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Help browser for the GNOME desktop"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=6e1b9cb787e76d7e6946887a65caa754 \
+"
+
+inherit gnomebase itstool autotools-brokensep gsettings gettext gtk-doc features_check mime-xdg
+
+# for webkitgtk
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "776e29bd16424c8712cbf340cfe6429b"
+SRC_URI[archive.sha256sum] = "e3d6527c5963d73206891b32f1f23363164be57de248555513bd0be77a7bd045"
+
+DEPENDS += " \
+ libxml2-native \
+ glib-2.0-native \
+ gtk+3 \
+ appstream-glib \
+ libxslt \
+ sqlite3 \
+ webkitgtk \
+ yelp-xsl \
+"
+
+do_configure_prepend() {
+ export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool
+}
+
+FILES_${PN} += " \
+ ${datadir}/metainfo \
+ ${datadir}/yelp-xsl \
+"
+
+RDEPENDS_${PN} += "yelp-xsl"
diff --git a/external/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb b/external/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb
new file mode 100644
index 00000000..c6883ae4
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Display dialog boxes from the command line and shell scripts"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+
+inherit gnomebase itstool gnome-help features_check gettext
+
+DEPENDS = " \
+ yelp-tools-native \
+ gtk+3 \
+"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "ba2b2a13248773b4ec0fd323d95e6d5a"
+SRC_URI[archive.sha256sum] = "e786e733569c97372c3ef1776e71be7e7599ebe87e11e8ad67dcc2e63a82cd95"
+
+do_install_append() {
+ # Remove gdialog compatibility helper - we don't want to pull in perl
+ rm ${D}${bindir}/gdialog
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-libsysprof-ui-Rename-environ-to-sys_environ.patch b/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-libsysprof-ui-Rename-environ-to-sys_environ.patch
new file mode 100644
index 00000000..1e2b3c92
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-libsysprof-ui-Rename-environ-to-sys_environ.patch
@@ -0,0 +1,63 @@
+From 4bd0d5d5dd6841fbac8385527617d18e7731244d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 15 Jan 2020 13:17:58 -0800
+Subject: [PATCH] libsysprof-ui: Rename environ to sys_environ
+
+This helps avoid namesapace conflict with glibc headers
+
+Fixes
+/usr/include/unistd.h:545:15: note: previous declaration is here
+
+extern char **environ;
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libsysprof-ui/sysprof-profiler-assistant.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/libsysprof-ui/sysprof-profiler-assistant.c b/src/libsysprof-ui/sysprof-profiler-assistant.c
+index 22e3e24..c55d551 100644
+--- a/src/libsysprof-ui/sysprof-profiler-assistant.c
++++ b/src/libsysprof-ui/sysprof-profiler-assistant.c
+@@ -235,7 +235,7 @@ sysprof_profiler_assistant_record_clicked_cb (SysprofProfilerAssistant *self,
+ {
+ g_auto(GStrv) argv = NULL;
+ g_auto(GStrv) env = NULL;
+- SysprofEnviron *environ;
++ SysprofEnviron *sys_environ;
+ const gchar *command;
+ gint argc;
+
+@@ -245,8 +245,8 @@ sysprof_profiler_assistant_record_clicked_cb (SysprofProfilerAssistant *self,
+ sysprof_profiler_set_spawn (profiler, TRUE);
+ sysprof_profiler_set_spawn_argv (profiler, (const gchar * const *)argv);
+
+- environ = sysprof_environ_editor_get_environ (self->environ_editor);
+- env = sysprof_environ_get_environ (environ);
++ sys_environ = sysprof_environ_editor_get_environ (self->environ_editor);
++ env = sysprof_environ_get_environ (sys_environ);
+ sysprof_profiler_set_spawn_env (profiler, (const gchar * const *)env);
+
+ sysprof_profiler_set_spawn_inherit_environ (profiler,
+@@ -405,7 +405,7 @@ sysprof_profiler_assistant_class_init (SysprofProfilerAssistantClass *klass)
+ static void
+ sysprof_profiler_assistant_init (SysprofProfilerAssistant *self)
+ {
+- g_autoptr(SysprofEnviron) environ = sysprof_environ_new ();
++ g_autoptr(SysprofEnviron) sys_environ = sysprof_environ_new ();
+
+ gtk_widget_init_template (GTK_WIDGET (self));
+
+@@ -445,7 +445,7 @@ sysprof_profiler_assistant_init (SysprofProfilerAssistant *self)
+ self,
+ G_CONNECT_SWAPPED);
+
+- sysprof_environ_editor_set_environ (self->environ_editor, environ);
++ sysprof_environ_editor_set_environ (self->environ_editor, sys_environ);
+ }
+
+ void
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch b/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch
new file mode 100644
index 00000000..23548922
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch
@@ -0,0 +1,42 @@
+From 43c39b5685445242d071b3706af2903efa508b4a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 14 Jan 2020 12:58:27 +0100
+Subject: [PATCH] meson.build: do not hardcode 'linux' as
+ host_machine().system() value
+
+In some build environmets such as OpenEmbedded this can be 'linux-gnueabi'
+or otherwise not exactly 'linux'.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/libsysprof/meson.build | 2 +-
+ src/tools/meson.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/libsysprof/meson.build b/src/libsysprof/meson.build
+index 3449961..3c2d186 100644
+--- a/src/libsysprof/meson.build
++++ b/src/libsysprof/meson.build
+@@ -84,7 +84,7 @@ libsysprof_deps = [
+ polkit_dep,
+ ]
+
+-if host_machine.system() == 'linux'
++if host_machine.system().contains('linux')
+ libsysprof_public_sources += [
+ 'sysprof-memory-source.c',
+ 'sysprof-perf-counter.c',
+diff --git a/src/tools/meson.build b/src/tools/meson.build
+index 670052a..3fb7f0c 100644
+--- a/src/tools/meson.build
++++ b/src/tools/meson.build
+@@ -2,7 +2,7 @@ tools_deps = [
+ libsysprof_capture_dep,
+ ]
+
+-if get_option('libsysprof') and host_machine.system() == 'linux'
++if get_option('libsysprof') and host_machine.system().contains('linux')
+ polkit_agent_dep = dependency('polkit-agent-1')
+ sysprof_cli = executable('sysprof-cli', 'sysprof-cli.c',
+ dependencies: tools_deps + [libsysprof_dep, polkit_dep, polkit_agent_dep],
diff --git a/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch b/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch
new file mode 100644
index 00000000..75aa86cd
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/files/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch
@@ -0,0 +1,35 @@
+From 3025d80aaacc5f67aa9eb1e6fde30f71d9c5b04b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 18 Jul 2011 16:00:17 -0700
+Subject: [PATCH 1/2] sysprof: Define NT_GNU_BUILD_ID if undefined
+
+On uclibc elf.h does not have GNU extentions but we need this define
+so we define it locally if its not getting it from elf.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+%% original patch: define-NT_GNU_BUILD_ID.patch
+---
+ src/libsysprof/elfparser.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/libsysprof/elfparser.h b/src/libsysprof/elfparser.h
+index 160e4c9..94fa5c0 100644
+--- a/src/libsysprof/elfparser.h
++++ b/src/libsysprof/elfparser.h
+@@ -18,6 +18,10 @@
+
+ #include <glib.h>
+
++#ifndef NT_GNU_BUILD_ID
++#define NT_GNU_BUILD_ID 3
++#endif
++
+ typedef struct ElfSym ElfSym;
+ typedef struct ElfParser ElfParser;
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/sysprof_3.34.1.bb b/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/sysprof_3.34.1.bb
new file mode 100644
index 00000000..ad69ab68
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-kernel/sysprof/sysprof_3.34.1.bb
@@ -0,0 +1,37 @@
+SUMMARY = "System-wide Performance Profiler for Linux"
+HOMEPAGE = "http://www.sysprof.com"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://src/sysprof/sysprof-application.c;endline=17;md5=a3de8df3b0f8876dd01e1388d2d4b607"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gettext systemd upstream-version-is-even gsettings mime mime-xdg
+
+DEPENDS += "glib-2.0 libxml2-native glib-2.0-native"
+
+SRC_URI[archive.md5sum] = "cc32455277b31afb1965d627ae3e3629"
+SRC_URI[archive.sha256sum] = "844bbb8d8b65071b3bca96f8e921319ceef81f2d2c51fcc9da63a4b355c893d0"
+SRC_URI += "file://0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch \
+ file://0001-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch \
+ file://0001-libsysprof-ui-Rename-environ-to-sys_environ.patch \
+ "
+
+PACKAGECONFIG ?= "sysprofd libsysprof ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
+PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3 libdazzle"
+PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
+PACKAGECONFIG[libsysprof] = "-Dlibsysprof=true,-Dlibsysprof=false,polkit"
+
+# Enablig this requries yelp
+EXTRA_OEMESON += "-Dhelp=false -Dsystemdunitdir=${systemd_unitdir}/system"
+
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service sysprof3.service', '', d)}"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/dbus-1/system.d \
+ ${datadir}/dbus-1/interfaces \
+ ${datadir}/metainfo \
+ "
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0001-musl-Hack-to-fix-build.patch b/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0001-musl-Hack-to-fix-build.patch
new file mode 100644
index 00000000..c2310fe4
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0001-musl-Hack-to-fix-build.patch
@@ -0,0 +1,36 @@
+From 2a1c7103839c20df5ca9ce2fa863535d802f8f3a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 8 Dec 2019 23:42:00 +0100
+Subject: [PATCH] musl: Hack to fix configure
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ meson.build | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 4465a26..726c9fe 100644
+--- a/meson.build
++++ b/meson.build
+@@ -82,8 +82,14 @@ if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', prefix: '#define _GNU_SOURC
+ elif cc.has_header_symbol('paths.h', '_PATH_WTMPX')
+ config_h.set('PATH_WTMP', '_PATH_WTMPX')
+ else
+- assert(run_command('test', '-e', '/var/log/utx.log').returncode() == 0, 'Do not know which filename to watch for wtmp changes')
+- config_h.set_quoted('PATH_WTMP', '/var/log/utx.log')
++ # musl: This is just a build fix hack.
++ # As usual they know better, consider all other projects crap and offer zero
++ # alternatives: So wtmp is a dead stub only [1] (= /dev/null/wtmp - taken
++ # from musl sources).
++ # Maybe a hero comes along and adds utmps [2] to make accountsservice useful for musl
++ # [1] https://wiki.musl-libc.org/faq.html#Q:-Why-is-the-utmp/wtmp-functionality-only-implemented-as-stubs?
++ # [2] https://github.com/skarnet/utmps
++ config_h.set_quoted('PATH_WTMP', '/dev/null/wtmp')
+ endif
+
+ # compiler flags
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch b/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch
new file mode 100644
index 00000000..14161804
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch
@@ -0,0 +1,46 @@
+From 820249ea8e38c568e6a36fbd9c852718c7665b56 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 9 Dec 2019 00:12:08 +0100
+Subject: [PATCH] musl: add missing fgetspent_r
+
+Stolen from void-linux
+
+Upstream-Status: Inappropriate [musl-specific]
+---
+ src/daemon.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/src/daemon.c b/src/daemon.c
+index c52bda3..a7676fe 100644
+--- a/src/daemon.c
++++ b/src/daemon.c
+@@ -164,6 +164,26 @@ remove_cache_files (const gchar *user_name)
+ g_remove (icon_filename);
+ }
+
++/* Musl libc does not support fgetspent_r(), write own
++ * wrapper
++ */
++static int fgetspent_r(FILE *fp, struct spwd *spbuf, char *buf, size_t buflen, struct spwd **spbufp) {
++ struct spwd *shadow_entry = fgetspent(fp);
++ if(!shadow_entry)
++ return -1;
++ size_t namplen = strlen(shadow_entry->sp_namp);
++ size_t pwdplen = strlen(shadow_entry->sp_pwdp);
++
++ if(namplen + pwdplen + 2 > buflen)
++ return -1;
++
++ *spbufp = memcpy(spbuf, shadow_entry, sizeof(struct spwd));
++ spbuf->sp_namp = strncpy(buf, shadow_entry->sp_namp, namplen + 1);
++ spbuf->sp_pwdp = strncpy(buf + namplen + 1, shadow_entry->sp_pwdp, pwdplen + 1);
++
++ return 0;
++}
++
+ static struct passwd *
+ entry_generator_fgetpwent (Daemon *daemon,
+ GHashTable *users,
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice_0.6.55.bb b/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice_0.6.55.bb
new file mode 100644
index 00000000..edc48900
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice_0.6.55.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "D-Bus interfaces for querying and manipulating user account information"
+HOMEPAGE = "https://www.freedesktop.org/wiki/Software/AccountsService/"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = " \
+ dbus \
+ polkit \
+"
+
+inherit meson gobject-introspection gtk-doc features_check systemd
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+SRC_URI = "https://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI_append_libc-musl = " \
+ file://0001-musl-Hack-to-fix-build.patch \
+ file://0002-musl-add-missing-fgetspent_r.patch \
+"
+SRC_URI[md5sum] = "6e4c6fbd490260cfe17de2e76f5d803a"
+SRC_URI[sha256sum] = "ff2b2419a7e06bd9cb335ffe391c7409b49a0f0130b890bd54692a3986699c9b"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false -Dsystemdsystemunitdir='no', systemd"
+
+SYSTEMD_SERVICE_${PN} = "accounts-daemon.service"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/polkit-1 \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.17.bb b/external/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.17.bb
new file mode 100644
index 00000000..eb60bd96
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.17.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Objects and helper methods to help reading and writing AppStream metadata"
+HOMEPAGE = "https://people.freedesktop.org/~hughsient/appstream-glib/index.htm"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+ gperf-native \
+ glib-2.0 \
+ gtk+3 \
+ libyaml \
+ libarchive \
+ libsoup-2.4 \
+ json-glib \
+ gdk-pixbuf \
+ freetype \
+ fontconfig \
+ libstemmer \
+"
+
+inherit meson gobject-introspection gettext bash-completion
+
+SRC_URI = "https://people.freedesktop.org/~hughsient/${BPN}/releases/${BP}.tar.xz"
+SRC_URI[md5sum] = "67d441fb0fb3e14551b47db656565fc4"
+SRC_URI[sha256sum] = "7ca7e91d4accefa1c0d2c6e310cb3fe2686c017810e23b3f82d9f5724345e549"
+
+EXTRA_OEMESON = " \
+ -Drpm=false \
+"
+
+FILES_${PN} += "${libdir}/asb-plugins-5"
+
+FILES_${PN}-dev += " \
+ ${datadir}/installed-tests \
+ ${datadir}/gettext \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb b/external/meta-openembedded/meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb
new file mode 100644
index 00000000..7845509b
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "GTK support library for colord"
+HOMEPAGE = "https://www.freedesktop.org/software/colord/"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+inherit meson gobject-introspection gettext gtk-doc features_check
+
+DEPENDS = " \
+ gtk+3 \
+ colord \
+"
+
+SRC_URI = "http://www.freedesktop.org/software/colord/releases/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "66d048803c8b89e5e63da4b461484933"
+SRC_URI[sha256sum] = "2a4cfae08bc69f000f40374934cd26f4ae86d286ce7de89f1622abc59644c717"
+
+EXTRA_OEMESON = "-Dman=false"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+
+# colord
+REQUIRED_DISTRO_FEATURES += "polkit"
+
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus-native.bb b/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus-native.bb
new file mode 100644
index 00000000..ca65114c
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus-native.bb
@@ -0,0 +1,34 @@
+require ${BPN}.inc
+
+inherit native
+
+DEPENDS += " \
+ glib-2.0-native \
+ dbus-native \
+ iso-codes \
+"
+
+PACKAGECONFIG = ""
+
+# for allarch iso-codes
+EXTRA_NATIVE_PKGCONFIG_PATH = ":${RECIPE_SYSROOT}${datadir_native}/pkgconfig"
+# for allarch unicode-ucd - just to make configure happy
+EXTRA_OECONF += "--with-ucd-dir=${RECIPE_SYSROOT}${datadir_native}/unicode/ucd"
+
+do_compile() {
+ cd src
+ # seems by moving to src we break dependency tracking so build what's
+ # necessary step by step
+ oe_runmake ibusenumtypes.h
+ oe_runmake ibusmarshalers.h
+ oe_runmake ibusenumtypes.c
+ oe_runmake unicode-parser
+}
+
+do_install() {
+ install -d ${D}/${libdir}
+ install -m 755 ${S}/src/.libs/libibus-*.so* ${D}/${libdir}
+
+ install -d ${D}/${bindir}
+ install -m 755 ${S}/src/.libs/unicode-parser ${D}/${bindir}
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.bb b/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.bb
new file mode 100644
index 00000000..caec455b
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.bb
@@ -0,0 +1,37 @@
+require ${BPN}.inc
+
+DEPENDS += " \
+ ${BPN}-native \
+ glib-2.0-native \
+ glib-2.0 \
+ dbus \
+ iso-codes \
+"
+
+inherit gtk-icon-cache bash-completion
+
+# for unicode-ucd
+EXTRA_OECONF += "--with-ucd-dir=${STAGING_DATADIR}/unicode/ucd"
+
+PACKAGECONFIG ??= " \
+ dconf vala \
+ ${@bb.utils.contains_any('DISTRO_FEATURES', [ 'wayland', 'x11' ], 'gtk3', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \
+"
+
+do_configure_prepend() {
+ # run native unicode-parser
+ sed -i 's:$(builddir)/unicode-parser:unicode-parser:g' ${S}/src/Makefile.am
+}
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/GConf \
+ ${datadir}/glib-2.0 \
+ ${libdir}/gtk-3.0 \
+"
+
+FILES_${PN}-dev += " \
+ ${datadir}/gettext \
+"
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc b/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc
new file mode 100644
index 00000000..0f4ae7d0
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc
@@ -0,0 +1,36 @@
+SUMMARY = "Intelligent Input Bus for Linux/Unix"
+HOMEPAGE = "https://github.com/ibus/ibus/wiki"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+inherit autotools-brokensep pkgconfig gobject-introspection gettext gtk-doc vala
+
+PV = "1.5.21"
+
+DEPENDS = "unicode-ucd"
+
+SRC_URI = " \
+ git://github.com/ibus/ibus.git \
+ file://0001-Do-not-try-to-start-dbus-we-do-not-have-dbus-lauch.patch \
+"
+SRCREV = "ae0040c73466bb6e78fce5e669a55fcce6ffd16d"
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG[appindicator] = "--enable-appindicator,--disable-appindicator,qtbase"
+PACKAGECONFIG[dconf] = "--enable-dconf,--disable-dconf,dconf"
+PACKAGECONFIG[gtk2] = "--enable-gtk2,--disable-gtk2,gtk+"
+PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3,gtk+3"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland"
+PACKAGECONFIG[vala] = "--enable-vala,--disable-vala"
+PACKAGECONFIG[x11] = "--enable-xim --enable-ui,--disable-xim --disable-ui,virtual/libx11"
+
+EXTRA_OECONF = " \
+ --disable-tests \
+ --disable-emoji-dict \
+ --disable-python2 \
+"
+
+do_configure_prepend() {
+ touch ${S}/ChangeLog
+ touch ${S}/ABOUT-NLS
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus/0001-Do-not-try-to-start-dbus-we-do-not-have-dbus-lauch.patch b/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus/0001-Do-not-try-to-start-dbus-we-do-not-have-dbus-lauch.patch
new file mode 100644
index 00000000..3701d19f
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/ibus/ibus/0001-Do-not-try-to-start-dbus-we-do-not-have-dbus-lauch.patch
@@ -0,0 +1,39 @@
+From f567bcbc2108d722faa90afeb03d3a3bcdf5f58b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 10 May 2019 14:30:08 +0200
+Subject: [PATCH] Do not try to start dbus - we do not have dbus-lauch
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ data/dconf/make-dconf-override-db.sh | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/data/dconf/make-dconf-override-db.sh b/data/dconf/make-dconf-override-db.sh
+index 9c650e97..02fbf059 100755
+--- a/data/dconf/make-dconf-override-db.sh
++++ b/data/dconf/make-dconf-override-db.sh
+@@ -12,10 +12,6 @@ export XDG_CACHE_HOME="$TMPDIR/cache"
+ export GSETTINGS_SCHEMA_DIR="$TMPDIR/schemas"
+ mkdir -p $XDG_CONFIG_HOME $XDG_CACHE_HOME $GSETTINGS_SCHEMA_DIR
+
+-eval `dbus-launch --sh-syntax`
+-
+-trap 'rm -rf $TMPDIR; kill $DBUS_SESSION_BUS_PID' ERR
+-
+ # in case that schema is not installed on the system
+ glib-compile-schemas --targetdir "$GSETTINGS_SCHEMA_DIR" "$PWD"
+
+@@ -46,5 +42,3 @@ for schema in $schemas; do
+ done
+
+ rm -rf $TMPDIR
+-
+-kill $DBUS_SESSION_BUS_PID
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb b/external/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb
index 0a0a3e6b..d567d00d 100644
--- a/external/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb
@@ -18,7 +18,7 @@ SRC_URI = "git://github.com/engla/keybinder.git;branch=keybinder-3.0 \
RDEPENDS_${PN} = "gtk+"
-inherit distro_features_check autotools gtk-doc gobject-introspection
+inherit features_check autotools gtk-doc gobject-introspection
REQUIRED_DISTRO_FEATURES = "x11"
do_configure_prepend() {
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/libhandy/libhandy_git.bb b/external/meta-openembedded/meta-gnome/recipes-support/libhandy/libhandy_git.bb
new file mode 100644
index 00000000..8c6159f9
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/libhandy/libhandy_git.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A library full of GTK+ widgets for mobile phones"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://source.puri.sm/Librem5/${BPN}.git;protocol=https"
+SRCREV = "ef7c4bf75ae239495141ada83d2fbaf034315563"
+S = "${WORKDIR}/git"
+PV = "0.0.12"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = 'gtk_doc'
+
+inherit meson gobject-introspection vala gettext gtk-doc features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+DEPENDS += "gtk+3"
+
+PACKAGES =+ "${PN}-examples"
+FILES_${PN}-examples = "${bindir}"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch b/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
new file mode 100644
index 00000000..73ebeb48
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
@@ -0,0 +1,63 @@
+From eacc9e9c62a3857ce1e2e24b81fc22d8ae91f422 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 9 May 2019 22:06:48 +0200
+Subject: [PATCH] Build so-lib
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] https://aur.archlinux.org/cgit/aur.git/commit/dynamiclib.patch?h=snowball-git&id=a9cbf4f42f3661e4b8f791cd4374233821716ea1
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ GNUmakefile | 7 +++++--
+ libstemmer/symbol.map | 6 ++++++
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+ create mode 100644 libstemmer/symbol.map
+
+diff --git a/GNUmakefile b/GNUmakefile
+index cbd6ff7..a85230b 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -142,10 +142,10 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o)
+ JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
+ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
+
+-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
++CFLAGS=-O2 -fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations
+ CPPFLAGS=-Iinclude
+
+-all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++all: snowball libstemmer.o libstemmer.so stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
+
+ clean:
+ rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \
+@@ -192,6 +192,9 @@ libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS)
+ libstemmer.o: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
+ $(AR) -cru $@ $^
+
++libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^
++
+ stemwords: $(STEMWORDS_OBJECTS) libstemmer.o
+ $(CC) $(CFLAGS) -o $@ $^
+
+diff --git a/libstemmer/symbol.map b/libstemmer/symbol.map
+new file mode 100644
+index 0000000..7a3d423
+--- /dev/null
++++ b/libstemmer/symbol.map
+@@ -0,0 +1,6 @@
++SB_STEMMER_0 {
++ global:
++ sb_stemmer_*;
++ local:
++ *;
++};
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch b/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch
new file mode 100644
index 00000000..69c1d670
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch
@@ -0,0 +1,46 @@
+From 23eacfbcc10c777ce47283a5285455ec83c8aa41 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 6 Oct 2019 13:05:08 +0200
+Subject: [PATCH] snowball/stemwords: do link with LDFLAGS set by build
+ environment
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Some (cross-)build systems as OpeneEmbedded are picky (for certain reasons) if
+their LDFLAGS are ignored.
+
+Upstream-Status: Submitted [1]
+
+[1] https://github.com/snowballstem/snowball/pull/120
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ GNUmakefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 76f6ae9..47c6077 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -179,7 +179,7 @@ clean:
+ -rmdir $(js_output_dir)
+
+ snowball: $(COMPILER_OBJECTS)
+- $(CC) $(CFLAGS) -o $@ $^
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+
+ $(COMPILER_OBJECTS): $(COMPILER_HEADERS)
+
+@@ -204,7 +204,7 @@ libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^
+
+ stemwords: $(STEMWORDS_OBJECTS) libstemmer.o
+- $(CC) $(CFLAGS) -o $@ $^
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+
+ csharp_stemwords: $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
+ $(MCS) -unsafe -target:exe -out:$@ $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb b/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb
new file mode 100644
index 00000000..96dd880b
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Snowball compiler and stemming algorithms"
+HOMEPAGE = "https://snowballstem.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2750797da77c1d784e7626b3f7d7ff3e"
+
+DEPENDS_class-target = "${BPN}-native"
+
+SRC_URI = "\
+ git://github.com/snowballstem/snowball.git \
+ file://0001-Build-so-lib.patch \
+ file://0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch \
+"
+SRCREV = "c70ed64f9d41c1032fba4e962b054f8e9d489a74"
+S = "${WORKDIR}/git"
+PV = "2.0.0"
+LIBVER = "0.0.0"
+
+inherit lib_package
+
+BBCLASSEXTEND = "native"
+
+do_compile_prepend_class-target() {
+ # use native tools
+ sed -i 's:./snowball :snowball :g' ${S}/GNUmakefile
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 755 ${S}/snowball ${D}${bindir}
+ install -m 755 ${S}/stemwords ${D}${bindir}
+
+ install -d ${D}${libdir}
+ install -m 755 ${S}/libstemmer.so.${LIBVER} ${D}${libdir}/
+ ln -s libstemmer.so.${LIBVER} ${D}${libdir}/libstemmer.so.0
+ ln -s libstemmer.so.${LIBVER} ${D}${libdir}/libstemmer.so
+
+ install -d ${D}${includedir}
+ install -m 644 ${S}/include/*.h ${D}${includedir}
+}
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch b/external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch
deleted file mode 100644
index 79756b9a..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From d0537cb7f2dc5877700ad78dfd191515379d4edc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 02:22:51 +0000
-Subject: [PATCH 1/2] Check for issetugid()
-
-If secure version of getenv is not there then we can use
-issetugid() as aid to call getenv()
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- configure.ac | 1 +
- lib/config.c | 12 +++++++++++-
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1ded1a2..ee19e1f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -125,6 +125,7 @@ AC_TYPE_OFF_T
- AC_TYPE_SIZE_T
-
- AC_CHECK_FUNCS([__secure_getenv secure_getenv])
-+AC_CHECK_FUNCS([issetugid])
-
- # Modify CFLAGS after all tests are run (some of them could fail because
- # of the -Werror).
-diff --git a/lib/config.c b/lib/config.c
-index 29e7120..30f9daf 100644
---- a/lib/config.c
-+++ b/lib/config.c
-@@ -44,8 +44,10 @@
- # define safe_getenv(string) secure_getenv(string)
- #elif defined(HAVE___SECURE_GETENV)
- # define safe_getenv(string) __secure_getenv(string)
-+#elif defined(HAVE_ISSETUGID)
-+# define safe_getenv(string) safe_getenv_issetugid(string)
- #else
--# error Neither secure_getenv not __secure_getenv are available
-+# error None of secure_getenv, __secure_getenv, or issetugid is available
- #endif
-
- struct config_config {
-@@ -59,6 +61,14 @@ struct config_key {
- GList *values;
- };
-
-+static const char*
-+safe_getenv_issetugid(const char* name)
-+{
-+ if (issetugid ())
-+ return 0;
-+ return getenv (name);
-+}
-+
- /* Compare two section names */
- static int
- compare_section_names(gconstpointer a, gconstpointer b)
---
-2.7.0
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb b/external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb
index 7ec54eb1..2c580f87 100644
--- a/external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb
@@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
SECTION = "base"
SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.xz \
- file://0001-Check-for-issetugid.patch \
file://0002-remove-unused-execinfo.h.patch \
file://0001-modules-files.c-parse_field-fix-string-formating-in-.patch \
"
@@ -22,7 +21,7 @@ SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3c
DEPENDS = "popt libpam glib-2.0 python3"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
inherit autotools gettext python3native python3-dir pkgconfig gtk-doc
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_0.33.bb b/external/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_0.33.bb
new file mode 100644
index 00000000..6fb3b82e
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_0.33.bb
@@ -0,0 +1,14 @@
+SUMMARY = "A tablet description library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
+
+DEPENDS = " \
+ libxml2-native \
+ libgudev \
+"
+
+inherit autotools pkgconfig
+
+SRC_URI = "git://github.com/linuxwacom/libwacom.git"
+SRCREV = "87cc710e21a6220e267dd08936bbec2932aa3658"
+S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb b/external/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb
index 4e49becc..1eb4a100 100644
--- a/external/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb
+++ b/external/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb
@@ -10,7 +10,7 @@ SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz
SRC_URI[md5sum] = "1a2fbe82e934f5b37841d17ff51e80e8"
SRC_URI[sha256sum] = "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865"
-inherit distro_features_check setuptools3 pkgconfig gtk-icon-cache gsettings
+inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb b/external/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb
new file mode 100644
index 00000000..0b900f0e
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb
@@ -0,0 +1,21 @@
+SUMMARY = "GNOME applications"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit packagegroup features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+RDEPENDS_${PN} = " \
+ evolution-data-server \
+ evince \
+ file-roller \
+ gedit \
+ ghex \
+ gnome-calculator \
+ gnome-font-viewer \
+ gnome-terminal \
+ libwnck3 \
+ nautilus \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'gnome-system-monitor', '', d)} \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-desktop.bb b/external/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-desktop.bb
new file mode 100644
index 00000000..3c333fe0
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-desktop.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Basic GNOME desktop"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit packagegroup features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
+
+RDEPENDS_${PN} = " \
+ adwaita-icon-theme \
+ adwaita-icon-theme-cursors \
+ evolution-data-server \
+ gnome-backgrounds \
+ gnome-bluetooth \
+ gnome-control-center \
+ gnome-desktop3 \
+ gnome-flashback \
+ gnome-keyring \
+ gnome-menus3 \
+ gnome-session \
+ gnome-settings-daemon \
+ gnome-shell \
+ gnome-shell-extensions \
+ gnome-tweaks \
+ gmime \
+ gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash \
+"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch b/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch
deleted file mode 100644
index 277f6e21..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 75539659396b18110d5a52a8a32845254b4d8eca Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 18:25:47 -0700
-Subject: [PATCH] Include sys/sysmacros.h for major/minor
-
-usermount.c:238: undefined reference to `major'
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- usermount.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/usermount.c b/usermount.c
-index 4107027..21ef77f 100644
---- a/usermount.c
-+++ b/usermount.c
-@@ -40,6 +40,7 @@
- #include <sys/stat.h>
- #include <sys/time.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <errno.h>
- #include <glob.h>
- #include <libintl.h>
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch b/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch
deleted file mode 100644
index 9db700e9..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 7cbc6441cd06e0c0bb51ac37c8f22b0fd51f12f2 Mon Sep 17 00:00:00 2001
-From: Jiri Kucera <jkucera@redhat.com>
-Date: Wed, 11 Apr 2018 17:13:44 +0200
-Subject: [PATCH] Missing \n in translated string
-
-Upstream-Status: Backport
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- po/tr.po | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/po/tr.po b/po/tr.po
-index 84e5021..a28e947 100644
---- a/po/tr.po
-+++ b/po/tr.po
-@@ -408,7 +408,7 @@ msgstr "Grafik pencere açılamadı ve uçbirim denetimi bulunamadı.\n"
- #: ../../po/../userpasswd.c:37
- #, c-format
- msgid "Unexpected command-line arguments\n"
--msgstr "Beklenmeyen komut satırı argümanları"
-+msgstr "Beklenmeyen komut satırı argümanları\n"
-
- #: ../../po/../userinfo.c:411
- #, c-format
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb b/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb
deleted file mode 100644
index 82ccf3ed..00000000
--- a/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \
-programs to be run with superuser privileges by ordinary users, and several \
-graphical tools for users: \
-* userinfo allows users to change their finger information. \
-* usermount lets users mount, unmount, and format filesystems. \
-* userpasswd allows users to change their passwords. \
-"
-HOMEPAGE = "https://pagure.io/usermode"
-LICENSE = "GPLv2+"
-DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
- gtk+ desktop-file-utils-native \
- startup-notification intltool-native \
- util-linux \
-"
-
-SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz \
- file://0001-fix-compile-failure-against-musl-C-library.patch \
- file://0001-Makefile.am-Link-with-libm-for-powl-API.patch \
- file://0001-Missing-n-in-translated-string.patch \
- file://0001-Include-sys-sysmacros.h-for-major-minor.patch \
- "
-SRC_URI[md5sum] = "a766a9f7600f573fb6de4655d4162196"
-SRC_URI[sha256sum] = "37c4d667209da14082c08df6e48fe955d1532efebd5322f13f94683c6cc10370"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit distro_features_check autotools gettext pkgconfig
-
-EXTRA_OEMAKE += "INSTALL='install -p'"
-
-REQUIRED_DISTRO_FEATURES = "x11 pam"
diff --git a/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.113.bb b/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.113.bb
new file mode 100644
index 00000000..a94440c9
--- /dev/null
+++ b/external/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.113.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \
+programs to be run with superuser privileges by ordinary users, and several \
+graphical tools for users: \
+* userinfo allows users to change their finger information. \
+* usermount lets users mount, unmount, and format filesystems. \
+* userpasswd allows users to change their passwords. \
+"
+HOMEPAGE = "https://pagure.io/usermode"
+LICENSE = "GPLv2+"
+DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
+ gtk+ desktop-file-utils-native \
+ startup-notification intltool-native \
+ util-linux \
+"
+
+SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz \
+ file://0001-fix-compile-failure-against-musl-C-library.patch \
+ file://0001-Makefile.am-Link-with-libm-for-powl-API.patch \
+ "
+SRC_URI[md5sum] = "eadfbff18578b645096b6fa61854b41d"
+SRC_URI[sha256sum] = "99fbfd248b411ed0e7c44d1957b0ecde699b5a968a4db5d37228e82e7b1ba092"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit features_check autotools gettext pkgconfig
+
+EXTRA_OEMAKE += "INSTALL='install -p'"
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
diff --git a/external/meta-openembedded/meta-initramfs/README b/external/meta-openembedded/meta-initramfs/README
index ba2ba5f5..6d927fff 100644
--- a/external/meta-openembedded/meta-initramfs/README
+++ b/external/meta-openembedded/meta-initramfs/README
@@ -12,7 +12,7 @@ Dependencies
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: thud
+branch: dunfell
revision: HEAD
@@ -20,12 +20,12 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-initramfs][thud]' in the subject.
+with '[meta-initramfs][dunfell]' 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][thud][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][dunfell][PATCH'
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+dunfell maintainer: Armin Kuster <akuster808@gmail.com>
License
diff --git a/external/meta-openembedded/meta-initramfs/classes/klibc.bbclass b/external/meta-openembedded/meta-initramfs/classes/klibc.bbclass
index b7b72b72..bba10f1b 100644
--- a/external/meta-openembedded/meta-initramfs/classes/klibc.bbclass
+++ b/external/meta-openembedded/meta-initramfs/classes/klibc.bbclass
@@ -8,9 +8,9 @@ CC_forcevariable_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS
CC_append_armv7ve = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
CC_append_armv7a = " ${@' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
-CPP_forcevariable = "${CC} -E"
-
# klcc uses own optimizations by default. See klcc(1) man file.
export CFLAGS="${TUNE_CCARGS}"
export CPPFLAGS="${TUNE_CCARGS}"
export LDFLAGS="${TUNE_CCARGS}"
+
+OVERRIDES =. "libc-klibc:"
diff --git a/external/meta-openembedded/meta-initramfs/conf/layer.conf b/external/meta-openembedded/meta-initramfs/conf/layer.conf
index bd92ddfb..634e0883 100644
--- a/external/meta-openembedded/meta-initramfs/conf/layer.conf
+++ b/external/meta-openembedded/meta-initramfs/conf/layer.conf
@@ -16,7 +16,7 @@ BBFILE_PATTERN_meta-initramfs := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-initramfs = "8"
LAYERDEPENDS_meta-initramfs = "core"
-LAYERSERIES_COMPAT_meta-initramfs = "thud"
+LAYERSERIES_COMPAT_meta-initramfs = "thud warrior zeus dunfell"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
dracut->virtual/kernel \
diff --git a/external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-Use-new-reboot-API-with-klibc.patch b/external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-Use-new-reboot-API-with-klibc.patch
new file mode 100644
index 00000000..52d622a2
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-Use-new-reboot-API-with-klibc.patch
@@ -0,0 +1,42 @@
+From a6d1678379df6142a68cc9bb76dae540a31b8fdb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Mar 2019 23:47:50 -0700
+Subject: [PATCH] kexecboot: Use new reboot() API with klibc
+
+Klibc has changed this API in
+https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=6b621b8705ce5901dcf49607c8a3523c9e521901
+
+therefore adopt the code
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/kexecboot.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/kexecboot.c b/src/kexecboot.c
+index cf49b40..c785fce 100644
+--- a/src/kexecboot.c
++++ b/src/kexecboot.c
+@@ -857,7 +857,7 @@ int process_ctx_menu(struct params_t *params, int action) {
+ #else
+ sync();
+ /* if ( -1 == reboot(LINUX_REBOOT_CMD_RESTART) ) { */
+- if ( -1 == reboot(RB_AUTOBOOT) ) {
++ if ( -1 == reboot(RB_AUTOBOOT, NULL) ) {
+ log_msg(lg, "Can't initiate reboot: %s", ERRMSG);
+ }
+ #endif
+@@ -874,7 +874,7 @@ int process_ctx_menu(struct params_t *params, int action) {
+ #else
+ sync();
+ /* if ( -1 == reboot(LINUX_REBOOT_CMD_POWER_OFF) ) { */
+- if ( -1 == reboot(RB_POWER_OFF) ) {
++ if ( -1 == reboot(RB_POWER_OFF, NULL) ) {
+ log_msg(lg, "Can't initiate shutdown: %s", ERRMSG);
+ }
+ #endif
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb b/external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
index 6d79e8f8..ed3dece3 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
@@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
PV = "0.6+git${SRCPV}"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/kexecboot/kexecboot.git"
-SRCREV = "4c01d6960aa6a9d03675605062469ab777fa2b01"
+SRC_URI_append_libc-klibc = " file://0001-kexecboot-Use-new-reboot-API-with-klibc.patch "
+
+SRCREV = "5a5e04be206140059f42ac786d424da1afaa04b6"
inherit autotools
EXTRA_OECONF = "--enable-textui --enable-delay=2 --enable-evdev-rate=1000,250"
diff --git a/external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-debug-image.bb b/external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-debug-image.bb
index be7350ad..c3dcd2b8 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-debug-image.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-debug-image.bb
@@ -11,8 +11,6 @@ IMAGE_FEATURES = ""
export IMAGE_BASENAME = "initramfs-debug-image"
IMAGE_LINGUAS = ""
-LICENSE = "MIT"
-
IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
inherit core-image
diff --git a/external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb b/external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb
index 2573eb48..9a686f36 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb
@@ -1,7 +1,5 @@
SUMMARY = "Initramfs image for kexecboot kernel"
DESCRIPTION = "This image provides kexecboot (linux as bootloader) and helpers."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit image
diff --git a/external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb b/external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-kexecboot-klibc-image.bb
index 3a8d9f74..3a8d9f74 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-core/images/initramfs-kexecboot-klibc-image.bb
diff --git a/external/meta-openembedded/meta-initramfs/recipes-core/images/meta-initramfs-image.bb b/external/meta-openembedded/meta-initramfs/recipes-core/images/meta-initramfs-image.bb
new file mode 100644
index 00000000..4c041eb5
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-core/images/meta-initramfs-image.bb
@@ -0,0 +1,6 @@
+SUMMARY = "meta-initramfs build test image"
+
+IMAGE_INSTALL = "packagegroup-core-boot \
+ packagegroup-meta-initramfs"
+
+inherit core-image
diff --git a/external/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/files/init-debug.sh b/external/meta-openembedded/meta-initramfs/recipes-core/initrdscripts/files/init-debug.sh
index 7edbd70c..7edbd70c 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/files/init-debug.sh
+++ b/external/meta-openembedded/meta-initramfs/recipes-core/initrdscripts/files/init-debug.sh
diff --git a/external/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/initramfs-debug_1.0.bb b/external/meta-openembedded/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb
index 667690f8..667690f8 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-bsp/initrdscripts/initramfs-debug_1.0.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb
diff --git a/external/meta-openembedded/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb b/external/meta-openembedded/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb
new file mode 100644
index 00000000..2955baea
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Meta-initramfs packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-initramfs \
+ packagegroup-meta-initramfs-devtools \
+'
+
+RDEPENDS_packagegroup-meta-initramfs = "\
+ packagegroup-meta-initramfs-devtools \
+"
+
+RDEPENDS_packagegroup-meta-initramfs-devtools = "\
+ dracut \
+ ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "grubby", "", d)} \
+ "
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-dracut.sh-improve-udevdir.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-dracut.sh-improve-udevdir.patch
new file mode 100644
index 00000000..06e0a094
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-dracut.sh-improve-udevdir.patch
@@ -0,0 +1,39 @@
+From 974f728410052bc8fa18d93dc0c1a991bcdb96e6 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 3 Apr 2019 15:24:47 +0800
+Subject: [PATCH] dracut.sh: improve udevdir
+
+In commit [9d1b81c dracut.sh: improve udevdir and systemdutildir
+fallback logic], it checked a common binary `collect' to localte
+udevdir.
+
+But upstream systemd drop binary `collect'.
+[https://github.com/systemd/systemd/commit/a168792c2d95695fd30c0371d4b3890a9df1eafb]
+
+So check binary `ata_id' to instead.
+
+Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/558]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ dracut.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 3dc2adc..cc8b01a 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1311,8 +1311,8 @@ done
+ [[ -d $udevdir ]] \
+ || udevdir="$(pkg-config udev --variable=udevdir 2>/dev/null)"
+ if ! [[ -d "$udevdir" ]]; then
+- [[ -e /lib/udev/collect ]] && udevdir=/lib/udev
+- [[ -e /usr/lib/udev/collect ]] && udevdir=/usr/lib/udev
++ [[ -e /lib/udev/ata_id ]] && udevdir=/lib/udev
++ [[ -e /usr/lib/udev/ata_id ]] && udevdir=/usr/lib/udev
+ fi
+
+ [[ -d $systemdutildir ]] \
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch
new file mode 100644
index 00000000..13d2cfa8
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch
@@ -0,0 +1,69 @@
+From 6e0da103effe64832eea52fad5c44a328f7141b7 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jun 2019 17:31:11 +0800
+Subject: [PATCH] set viriable _drv not local
+
+If shebang is set to /bin/sh and /bin/sh is a symlink to /bin/bash,
+bash turn on posix mode.
+
+Since bash is upgraded to 5.0, it follows 'IEEE 1003.2 POSIX Shell
+Standard', to implement 'functions do not have local traps or options,
+and it is not possible to define local variables'
+
+For more detail, see variables.c:push_posix_temp_var in the following commit
+http://git.savannah.gnu.org/cgit/bash.git/commit/?id=d233b485e83c3a784b803fb894280773f16f2deb
+
+The IEEE 1003.2 POSIX Shell Standard:
+https://www.cs.ait.ac.th/~on/O/oreilly/unix/ksh/appa_02.htm
+
+While /bin/sh points to bash 5.0, it caused the following issue:
+
+$ cat <<ENDOF>case.sh
+fsck_drv_com(){
+ echo "issuing \$_drv"
+}
+
+fsck_able() {
+ _drv="_drv=e2fsck fsck_drv_com"
+}
+
+fsck_single() {
+ local _drv
+ fsck_able
+ eval "\$_drv"
+}
+fsck_single
+ENDOF
+$ chmod a+x case.sh
+
+Unexpected:
+$ ./cash.sh
+issuing _drv=e2fsck fsck_drv_com
+
+Set viriable _drv not local, get expected result:
+$ ./case.sh
+issuing e2fsck
+
+Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/587]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ modules.d/99fs-lib/fs-lib.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
+index d39ca1b..60877ee 100755
+--- a/modules.d/99fs-lib/fs-lib.sh
++++ b/modules.d/99fs-lib/fs-lib.sh
+@@ -142,7 +142,7 @@ fsck_single() {
+ local _fs="${2:-auto}"
+ local _fsopts="$3"
+ local _fop="$4"
+- local _drv
++ _drv=""
+
+ [ $# -lt 2 ] && return 255
+ # if UUID= marks more than one device, take only the first one
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
index dd2e8bbb..13cf5f6d 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
@@ -12,6 +12,8 @@ PV = "049"
SRCREV = "225e4b94cbdb702cf512490dcd2ad9ca5f5b22c1"
SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \
file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \
+ file://0001-dracut.sh-improve-udevdir.patch \
+ file://0001-set-viriable-_drv-not-local.patch \
"
DEPENDS += "kmod"
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
index dc3a70bb..7403cf64 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
@@ -35,6 +35,7 @@ do_install_ptest() {
sed -i 's|./grubby|grubby|' ${D}${PTEST_PATH}/test.sh
}
+RDEPENDS_${PN} += "bash"
RDEPENDS_${PN}-ptest = "util-linux-getopt bash"
COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
index 8430b7e1..7248147a 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
@@ -25,7 +25,7 @@ RDEPENDS_${PN} += "dracut"
inherit autotools-brokensep ptest
-EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}'"
+EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}' 'PREFIX'=${@bb.utils.contains('DISTRO_FEATURES','usrmerge','/usr','',d)}"
LIBS_libc-musl = "-lexecinfo"
LIBS ?= ""
@@ -35,6 +35,7 @@ do_install_ptest() {
sed -i 's|./grubby|grubby|' ${D}${PTEST_PATH}/test.sh
}
+RDEPENDS_${PN} += "bash"
RDEPENDS_${PN}-ptest = "util-linux-getopt bash"
COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
index e7a0cce8..e7a0cce8 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
index eee144dc..eee144dc 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
index 181dcfb6..181dcfb6 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
index 1ba05a81..1ba05a81 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch
index de04d691..de04d691 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
index fcf4f891..fcf4f891 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch
index 46a23987..46a23987 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
index 04c97fc5..04c97fc5 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
index 94818e36..94818e36 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch
index 0768f6d5..0768f6d5 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
index 3d8d987c..3d8d987c 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch
index 3bc081d4..3bc081d4 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
index e8423530..4a334fa2 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
@@ -12,12 +12,10 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
usr/klibc/arch/arm/MCONFIG | 1 +
1 file changed, 1 insertion(+)
-diff --git a/usr/klibc/arch/arm/MCONFIG b/usr/klibc/arch/arm/MCONFIG
-index 53bc1dc..303c6ac 100644
--- a/usr/klibc/arch/arm/MCONFIG
+++ b/usr/klibc/arch/arm/MCONFIG
@@ -29,6 +29,7 @@ else
- KLIBCSHAREDFLAGS = -Ttext 0x01800200
+ KLIBCSHAREDFLAGS = -Ttext-segment 0x01800000
ifeq ($(CONFIG_AEABI),y)
KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
+KLIBCLDFLAGS += $(FIX_ARMV4_EABI_BX)
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch
index 5f47d3f2..5f47d3f2 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
new file mode 100644
index 00000000..3b7031e9
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
@@ -0,0 +1,20 @@
+meta-clang passes this option to compiler defaults
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/klcc/klcc.in
++++ b/klcc/klcc.in
+@@ -207,6 +207,12 @@ while ( defined($a = shift(@ARGV)) ) {
+ } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) {
+ # Override gcc encoded sysroot
+ push(@ccopt, $a);
++ } elsif ( $a eq '-no-integrated-as' ) {
++ # Allow clang options
++ push(@ccopt, $a);
++ } elsif ( $a =~ '--unwindlib=.*' ) {
++ # Allow clang options
++ push(@ccopt, $a);
+ } else {
+ die "$0: unknown option: $a\n";
+ }
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch
index eac128cc..eac128cc 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
deleted file mode 100644
index b285b2e8..00000000
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-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"
-
-# disable task already run in klibc recipe
-do_configure[noexec] = "1"
-
-do_compile() {
- oe_runmake 'INSTALLDIR=${STAGING_DIR_TARGET}${libdir}/klibc' klcc
-}
-
-do_install() {
- install -d ${D}${bindir_crossscripts}/
- install -m 0755 klcc/klcc ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
- # 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
-}
-
-SYSROOT_DIRS += "${bindir_crossscripts}"
-SSTATE_SCAN_FILES += "*-klcc"
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.7.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.7.bb
new file mode 100644
index 00000000..4011aa23
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.7.bb
@@ -0,0 +1,32 @@
+SUMMARY = "The klcc crosscompiler for klibc"
+
+require klibc.inc
+DEPENDS = "klibc"
+
+# no packaging for this crossscript
+PACKAGES = ""
+inherit nopackages
+
+SRC_URI += "file://use-env-for-perl.patch"
+
+# disable task already run in klibc recipe
+do_configure[noexec] = "1"
+
+do_compile() {
+ oe_runmake 'INSTALLDIR=${STAGING_DIR_TARGET}${libdir}/klibc' klcc
+}
+
+do_install() {
+ install -d ${D}${bindir_crossscripts}/
+ install -m 0755 klcc/klcc ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
+ # 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").replace("/", "\\\\/").replace("-", "\\\\-").replace(".", "\\\\.")}#${NATIVESYSROOT}#g;' \
+ -e 's#${@d.getVar("STAGING_DIR_TARGET").replace("/", "\\\\/").replace("-", "\\\\-").replace(".", "\\\\.")}#${TARGETSYSROOT}#g' \
+ ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
+}
+
+SYSROOT_DIRS += "${bindir_crossscripts}"
+SSTATE_SCAN_FILES += "*-klcc"
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch
deleted file mode 100644
index 2f7cd355..00000000
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From c034dceae17b7d8d437871afe5eba55a55434222 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Wed, 10 Oct 2018 00:48:31 +0200
-Subject: [PATCH] klibc-static-utils: do not build shared binaries
-
-We were building some shared utilities and this was leading to linker errors
-for x86 with security flags enabled.
-
-Fix
- i586-oe-linux-musl-ld.bfd: discarded output section: `.got.plt'
-
-Upstream-Status: Inappropriate [Embedded Specific]
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- usr/dash/Kbuild | 6 +-----
- usr/kinit/Kbuild | 4 +---
- usr/kinit/fstype/Kbuild | 4 +---
- usr/kinit/ipconfig/Kbuild | 4 +---
- usr/kinit/nfsmount/Kbuild | 4 +---
- usr/kinit/resume/Kbuild | 5 +----
- usr/kinit/run-init/Kbuild | 5 +----
- usr/utils/Kbuild | 7 ++-----
- 8 files changed, 9 insertions(+), 30 deletions(-)
-
-diff --git a/usr/dash/Kbuild b/usr/dash/Kbuild
-index 1a6920a..b3a4e64 100644
---- a/usr/dash/Kbuild
-+++ b/usr/dash/Kbuild
-@@ -25,12 +25,8 @@ gen-h-files := builtins.h nodes.h syntax.h token.h
-
- static-y := sh
-
--# The shared binary
--shared-y := sh.shared
--sh.shared-y := $(sh-y)
--
- # For cleaning
--targets := sh sh.g sh.shared sh.shared.g $(gen-o-files)
-+targets := sh sh.g $(gen-o-files)
-
- # explicit dependency for all generated files
- $(addprefix $(obj)/, $(sh-y)): $(addprefix $(obj)/, $(gen-h-files))
-diff --git a/usr/kinit/Kbuild b/usr/kinit/Kbuild
-index f7fdccd..8db06ab 100644
---- a/usr/kinit/Kbuild
-+++ b/usr/kinit/Kbuild
-@@ -18,8 +18,6 @@ kinit-y += fstype/
- kinit-y += resume/
-
- static-y := kinit
--shared-y := kinit.shared
--kinit.shared-y := $(kinit-y)
-
- # Additional include paths files
- KLIBCCFLAGS += -I$(srctree)/$(src)/fstype \
-@@ -29,7 +27,7 @@ KLIBCCFLAGS += -I$(srctree)/$(src)/fstype \
- -I$(srctree)/$(src)/run-init
-
- # Cleaning
--targets += kinit kinit.g kinit.shared kinit.shared.g
-+targets += kinit kinit.g
- subdir- := fstype ipconfig nfsmount resume run-init
-
-
-diff --git a/usr/kinit/fstype/Kbuild b/usr/kinit/fstype/Kbuild
-index 367611d..8d453ea 100644
---- a/usr/kinit/fstype/Kbuild
-+++ b/usr/kinit/fstype/Kbuild
-@@ -3,7 +3,6 @@
- #
-
- static-y := static/fstype
--shared-y := shared/fstype
-
- # common .o files
- objs := main.o fstype.o
-@@ -16,8 +15,7 @@ lib-y := $(objs)
-
- # .o files used to built executables
- static/fstype-y := $(objs)
--shared/fstype-y := $(objs)
-
- # Cleaning
--clean-dirs := static shared
-+clean-dirs := static
-
-diff --git a/usr/kinit/ipconfig/Kbuild b/usr/kinit/ipconfig/Kbuild
-index eb1d472..ef87e7e 100644
---- a/usr/kinit/ipconfig/Kbuild
-+++ b/usr/kinit/ipconfig/Kbuild
-@@ -3,7 +3,6 @@
- #
-
- static-y := static/ipconfig
--shared-y := shared/ipconfig
-
- # common .o files
- objs := main.o netdev.o packet.o
-@@ -22,8 +21,7 @@ lib-y := $(objs)
-
- # .o files used to built executables
- static/ipconfig-y := $(objs)
--shared/ipconfig-y := $(objs)
-
- # Cleaning
--clean-dirs := static shared
-+clean-dirs := static
-
-diff --git a/usr/kinit/nfsmount/Kbuild b/usr/kinit/nfsmount/Kbuild
-index ba31708..01bedce 100644
---- a/usr/kinit/nfsmount/Kbuild
-+++ b/usr/kinit/nfsmount/Kbuild
-@@ -4,7 +4,6 @@
-
- static-y := static/nfsmount
- #FIXME - build is broken static-y := dummypmap
--shared-y := shared/nfsmount
-
- objs := main.o mount.o portmap.o dummypmap.o sunrpc.o
-
-@@ -13,7 +12,6 @@ lib-y := $(objs)
-
- # .o files used for executables
- static/nfsmount-y := $(objs)
--shared/nfsmount-y := $(objs)
-
- # dummypmap uses a single .o file (rename src file?)
- dummypmap-y := dummypmap_test.o
-@@ -21,5 +19,5 @@ dummypmap-y := dummypmap_test.o
- # TODO - do we want a stripped version
- # TODO - do we want the static.g + shared.g directories?
-
--clean-dirs := static shared
-+clean-dirs := static
-
-diff --git a/usr/kinit/resume/Kbuild b/usr/kinit/resume/Kbuild
-index c1342e1..15b9590 100644
---- a/usr/kinit/resume/Kbuild
-+++ b/usr/kinit/resume/Kbuild
-@@ -3,7 +3,6 @@
- #
-
- static-y := static/resume
--shared-y := shared/resume
-
- # common .o files
- objs := resume.o resumelib.o
-@@ -20,9 +19,7 @@ KLIBCCFLAGS += -I$(srctree)/$(src)/..
- # .o files used to built executables
- static/resume-y := $(objs)
- static/resume-lib := ../lib.a
--shared/resume-y := $(objs)
--shared/resume-lib := ../lib.a
-
- # Cleaning
--clean-dirs := static shared
-+clean-dirs := static
-
-diff --git a/usr/kinit/run-init/Kbuild b/usr/kinit/run-init/Kbuild
-index c153b0a..a1ea834 100644
---- a/usr/kinit/run-init/Kbuild
-+++ b/usr/kinit/run-init/Kbuild
-@@ -3,7 +3,6 @@
- #
-
- static-y := static/run-init
--shared-y := shared/run-init
-
- # common .o files
- objs := run-init.o runinitlib.o
-@@ -24,9 +23,7 @@ KLIBCCFLAGS += -I$(srctree)/$(src)/..
- # .o files used to built executables
- static/run-init-y := $(objs)
- static/run-init-lib := ../lib.a
--shared/run-init-y := $(objs)
--shared/run-init-lib := ../lib.a
-
- # Cleaning
--clean-dirs := static shared
-+clean-dirs := static
-
-diff --git a/usr/utils/Kbuild b/usr/utils/Kbuild
-index 67d9486..1573363 100644
---- a/usr/utils/Kbuild
-+++ b/usr/utils/Kbuild
-@@ -7,7 +7,6 @@ progs += true false sleep ln mv nuke minips cat ls losetup
- progs += uname halt kill readlink cpio sync dmesg
-
- static-y := $(addprefix static/, $(progs))
--shared-y := $(addprefix shared/, $(progs))
-
- # The binary is placed in a subdir, so we need to tell kbuild this
- static/chroot-y := chroot.o
-@@ -62,13 +61,11 @@ static/losetup-y := losetup.o
- shared/losetup-y := losetup.o
-
- # Additionally linked targets
--always := static/reboot static/poweroff shared/reboot shared/poweroff
-+always := static/reboot static/poweroff
-
- $(obj)/static/reboot $(obj)/static/poweroff: $(obj)/static/halt
- $(call cmd,ln)
--$(obj)/shared/reboot $(obj)/shared/poweroff: $(obj)/shared/halt
-- $(call cmd,ln)
-
- # Clean deletes the static and shared dir
--clean-dirs := static shared
-+clean-dirs := static
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch
deleted file mode 100644
index 07703aa5..00000000
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-meta-clang passes this option to compiler defaults
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: git/klcc/klcc.in
-===================================================================
---- git.orig/klcc/klcc.in
-+++ git/klcc/klcc.in
-@@ -207,6 +207,9 @@ while ( defined($a = shift(@ARGV)) ) {
- } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) {
- # Override gcc encoded sysroot
- push(@ccopt, $a);
-+ } elsif ( $a eq '-no-integrated-as' ) {
-+ # Allow clang options
-+ push(@ccopt, $a);
- } else {
- die "$0: unknown option: $a\n";
- }
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
deleted file mode 100644
index f28cd542..00000000
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 1118cc971917abe19ddb029aa80417f6fd6bb343 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Sat, 6 Aug 2011 05:30:14 +0000
-Subject: [PATCH] klibc: initial commit of version 1.5.24
-
-Patch was imported from the OpenEmbedded git server
-(git://git.openembedded.org/openembedded)
-as of commit id b6764cf32ec93547531130dca364fb95e1c495f4
-Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
-
----
- defconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/defconfig b/defconfig
-index 04b98e9..0cb23d0 100644
---- a/defconfig
-+++ b/defconfig
-@@ -6,4 +6,4 @@ CONFIG_KLIBC_ZLIB=y
- CONFIG_REGPARM=y
- # ARM options
- # CONFIG_KLIBC_THUMB is not set
--# CONFIG_AEABI is not set
-+CONFIG_AEABI=y
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
deleted file mode 100644
index a5563b74..00000000
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1be2bc41f915922102a3ba671b54c2df6f0052e6 Mon Sep 17 00:00:00 2001
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Sun, 14 Mar 2010 18:41:56 +0000
-Subject: [PATCH] klibc_1.5.26: now build against linux-libc-headers
-
-commit 43adf69062254fb4f8d4d11fb5fe36a60ae25d5a
-
- Taken from debian "Fix klibc Debian specific build trouble"
- Adapted for klibc_2.0.2
-
----
- scripts/Kbuild.install | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/scripts/Kbuild.install b/scripts/Kbuild.install
-index 8af5697..d32a8a5 100644
---- a/scripts/Kbuild.install
-+++ b/scripts/Kbuild.install
-@@ -95,7 +95,9 @@ header:
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
-- $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
-+ $(Q)for x in ../../../include/asm ../../../include/asm-generic ../../../include/linux ../../../include/mtd; do \
-+ ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
-+ done
- $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
- $(Q)chmod -R a+rX,go-w $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
- $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
deleted file mode 100644
index 5c7a6625..00000000
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From 1892079b827cf8f8316305b6d6e0985db82441a2 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Sat, 6 Aug 2011 05:30:14 +0000
-Subject: [PATCH] klibc: initial commit of version 1.5.24
-
-Patch was imported from the OpenEmbedded git server
-(git://git.openembedded.org/openembedded)
-as of commit id eefb99a313bbcc8f34c8b32bf0c5aa2dd2580735
-Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
-
-Minor edits following upstream changes
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
-
----
- scripts/Kbuild.install | 4 ----
- usr/dash/Kbuild | 2 --
- usr/gzip/Kbuild | 2 --
- usr/kinit/Kbuild | 2 --
- usr/kinit/fstype/Kbuild | 2 --
- usr/kinit/ipconfig/Kbuild | 2 --
- usr/kinit/nfsmount/Kbuild | 2 --
- usr/kinit/resume/Kbuild | 2 --
- usr/kinit/run-init/Kbuild | 2 --
- usr/klibc/Kbuild | 2 --
- usr/utils/Kbuild | 2 --
- 11 files changed, 24 deletions(-)
-
-diff --git a/scripts/Kbuild.install b/scripts/Kbuild.install
-index d32a8a5..fda699d 100644
---- a/scripts/Kbuild.install
-+++ b/scripts/Kbuild.install
-@@ -88,19 +88,15 @@ else
- header:
- $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
- $(Q)mkdir -p $(INSTALLROOT)$(bindir)
-- $(Q)mkdir -p $(INSTALLROOT)$(mandir)/man1
-- $(Q)mkdir -p $(INSTALLROOT)$(SHLIBDIR)
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)
- $(Q)-rm -rf $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
-- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
- $(Q)for x in ../../../include/asm ../../../include/asm-generic ../../../include/linux ../../../include/mtd; do \
- ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
- done
- $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
- $(Q)chmod -R a+rX,go-w $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
-- $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
- $(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
-
- footer: header
-diff --git a/usr/dash/Kbuild b/usr/dash/Kbuild
-index 3a98c1f..1a6920a 100644
---- a/usr/dash/Kbuild
-+++ b/usr/dash/Kbuild
-@@ -92,5 +92,3 @@ $(obj)/syntax.c: $(obj)/mksyntax
- $(obj)/syntax.h: $(obj)/syntax.c
- $(Q):
-
--# Targets to install
--install-y := sh.shared
-diff --git a/usr/gzip/Kbuild b/usr/gzip/Kbuild
-index 9bbf0a4..c497d02 100644
---- a/usr/gzip/Kbuild
-+++ b/usr/gzip/Kbuild
-@@ -21,5 +21,3 @@ $(obj)/gunzip $(obj)/zcat: $(obj)/gzip
- # Cleaning
- targets := gzip gzip.g gunzip zcat
-
--# Targets to install
--install-y := gzip gunzip zcat
-diff --git a/usr/kinit/Kbuild b/usr/kinit/Kbuild
-index 5320127..f7fdccd 100644
---- a/usr/kinit/Kbuild
-+++ b/usr/kinit/Kbuild
-@@ -33,5 +33,3 @@ targets += kinit kinit.g kinit.shared kinit.shared.g
- subdir- := fstype ipconfig nfsmount resume run-init
-
-
--# install binary
--install-y := kinit kinit.shared
-diff --git a/usr/kinit/fstype/Kbuild b/usr/kinit/fstype/Kbuild
-index 9b20db1..367611d 100644
---- a/usr/kinit/fstype/Kbuild
-+++ b/usr/kinit/fstype/Kbuild
-@@ -21,5 +21,3 @@ shared/fstype-y := $(objs)
- # Cleaning
- clean-dirs := static shared
-
--# install binary
--install-y := $(shared-y)
-diff --git a/usr/kinit/ipconfig/Kbuild b/usr/kinit/ipconfig/Kbuild
-index 7f8d181..eb1d472 100644
---- a/usr/kinit/ipconfig/Kbuild
-+++ b/usr/kinit/ipconfig/Kbuild
-@@ -27,5 +27,3 @@ shared/ipconfig-y := $(objs)
- # Cleaning
- clean-dirs := static shared
-
--# install binary
--install-y := $(shared-y)
-diff --git a/usr/kinit/nfsmount/Kbuild b/usr/kinit/nfsmount/Kbuild
-index 461e6f3..ba31708 100644
---- a/usr/kinit/nfsmount/Kbuild
-+++ b/usr/kinit/nfsmount/Kbuild
-@@ -23,5 +23,3 @@ dummypmap-y := dummypmap_test.o
-
- clean-dirs := static shared
-
--# Install binary
--install-y := $(shared-y)
-diff --git a/usr/kinit/resume/Kbuild b/usr/kinit/resume/Kbuild
-index 034195d..c1342e1 100644
---- a/usr/kinit/resume/Kbuild
-+++ b/usr/kinit/resume/Kbuild
-@@ -26,5 +26,3 @@ shared/resume-lib := ../lib.a
- # Cleaning
- clean-dirs := static shared
-
--# install binary
--install-y := $(shared-y)
-diff --git a/usr/kinit/run-init/Kbuild b/usr/kinit/run-init/Kbuild
-index f7832b7..c153b0a 100644
---- a/usr/kinit/run-init/Kbuild
-+++ b/usr/kinit/run-init/Kbuild
-@@ -30,5 +30,3 @@ shared/run-init-lib := ../lib.a
- # Cleaning
- clean-dirs := static shared
-
--# install binary
--install-y := $(shared-y)
-diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild
-index eba6add..98caf2e 100644
---- a/usr/klibc/Kbuild
-+++ b/usr/klibc/Kbuild
-@@ -185,5 +185,3 @@ install-rule:
- $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib))
- $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
- $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib
-- $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
-- $(INSTALLROOT)$(SHLIBDIR)
-diff --git a/usr/utils/Kbuild b/usr/utils/Kbuild
-index 05aa794..67d9486 100644
---- a/usr/utils/Kbuild
-+++ b/usr/utils/Kbuild
-@@ -72,5 +72,3 @@ $(obj)/shared/reboot $(obj)/shared/poweroff: $(obj)/shared/halt
- # Clean deletes the static and shared dir
- clean-dirs := static shared
-
--# install only install the shared binaries
--install-y := $(shared-y) shared/reboot shared/poweroff
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
deleted file mode 100644
index 16778630..00000000
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "klibc utils for initramfs statically compiled"
-
-FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
-
-PACKAGES = "${PN}"
-FILES_${PN} = ""
-
-KLIBC_UTILS_VARIANT = "static"
-KLIBC_UTILS_PKGNAME = "klibc-static-utils"
-
-require klibc-utils.inc
-require klibc.inc
-
-SRC_URI += "file://0001-klibc-static-utils-do-not-build-shared-binaries.patch"
-
-# avoid textrel if linking with -pie
-SECURITY_CFLAGS = ""
-SECURITY_LDFLAGS = ""
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.7.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.7.bb
new file mode 100644
index 00000000..c835fd64
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.7.bb
@@ -0,0 +1,12 @@
+SUMMARY = "klibc utils for initramfs statically compiled"
+
+FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
+
+PACKAGES = "${PN}"
+FILES_${PN} = ""
+
+KLIBC_UTILS_VARIANT = "static"
+KLIBC_UTILS_PKGNAME = "klibc-static-utils"
+
+require klibc-utils.inc
+require klibc.inc
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
index 2aac9e6e..00cb86d3 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
@@ -2,11 +2,11 @@ do_install() {
install -d ${D}${base_bindir}
install -d ${D}${base_sbindir}
if [ "${KLIBC_UTILS_VARIANT}" = "shared" ]; then
- install -m 755 usr/kinit/kinit.shared ${D}${base_bindir}/kinit.shared
- install -m 755 usr/dash/sh.shared ${D}${base_bindir}/sh.shared
+ install -m 755 usr/kinit/shared/kinit ${D}${base_bindir}/kinit.shared
+ install -m 755 usr/dash/shared/sh ${D}${base_bindir}/sh.shared
else
- install -m 755 usr/dash/sh ${D}${base_bindir}/sh
- install -m 755 usr/kinit/kinit ${D}${base_bindir}/kinit
+ install -m 755 usr/dash/static/sh ${D}${base_bindir}/sh
+ install -m 755 usr/kinit/static/kinit ${D}${base_bindir}/kinit
install -m 755 usr/gzip/gzip ${D}${base_bindir}
ln -s gzip ${D}${base_bindir}/gunzip
ln -s gzip ${D}${base_bindir}/zcat
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.7.bb
index 06e71cb7..06e71cb7 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.7.bb
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index ec52e973..54cd3c24 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -5,12 +5,9 @@ SECTION = "libs"
LICENSE = "BSD-3-Clause & GPL-2.0 & MIT & Zlib"
LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b"
DEPENDS = "linux-libc-headers perl-native"
-SRCREV = "4d19974d7020488f63651244e1f9f51727c3f66c"
-SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \
+SRC_URI = "${KERNELORG_MIRROR}/linux/libs/klibc/2.0/klibc-${PV}.tar.xz \
${ARMPATCHES} \
- file://klibc-linux-libc-dev.patch \
- file://staging.patch \
file://klcc-consider-sysroot.patch \
file://klcc-cross-accept-clang-options.patch \
file://0001-dash-Specify-format-string-in-fmtstr.patch \
@@ -29,11 +26,18 @@ SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \
ARMPATCHES ?= ""
-ARMPATCHES_arm = "file://klibc-config-eabi.patch \
+ARMPATCHES_arm = " \
file://armv4-fix-v4bx.patch \
"
-S = "${WORKDIR}/git"
+SRC_URI[md5sum] = "712f8bc1a069e03d92584b7f5380c521"
+SRC_URI[sha256sum] = "abef2637ca823485d9c90ce9512e2b08a65047ec4da204635eeaef95a41a9122"
+
+S = "${WORKDIR}/klibc-${PV}"
+
+OPTFLAGS = "${TUNE_CCARGS} -Os"
+OPTFLAGS_append_toolchain-clang = " -fno-builtin-bcmp"
+OPTFLAGS_append_toolchain-clang_mipsarch = " -no-integrated-as"
PARALLEL_MAKE = ""
EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
@@ -45,11 +49,9 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'INSTALLDIR=${libdir}/klibc' \
'SHLIBDIR=${libdir}' \
'${KLIBCTHUMB}' \
- 'KLIBCOPTFLAGS=${TUNE_CCARGS} -Os' \
+ 'KLIBCOPTFLAGS=${OPTFLAGS}' \
V=1 \
"
-EXTRA_OEMAKE += "'EXTRA_KLIBCAFLAGS=${SECURITY_CFLAGS} -Wa,--noexecstack' \
- 'EXTRA_KLIBCLDFLAGS=${SECURITY_LDFLAGS} -z noexecstack'"
export FIX_ARMV4_EABI_BX = "${FIX_V4BX}"
KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}"
@@ -75,11 +77,5 @@ KLIBC_ARCH_x86 = "i386"
KLIBC_ARCH_x86-64 = "x86_64"
KLIBC_ARCH_powerpc = "ppc"
KLIBC_ARCH_powerpc64 = "ppc64"
+KLIBC_ARCH_powerpc64le = "ppc64"
THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})"
-
-GCCPIE ?= ""
-SECURITY_LDFLAGS = "${@'-z relro -z now -pie' if '${GCCPIE}' else ''}"
-SECURITY_LDFLAGS_mips = ""
-SECURITY_LDFLAGS_mipsel = ""
-SECURITY_LDFLAGS_mips64 = ""
-SECURITY_LDFLAGS_mips64el = ""
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb
deleted file mode 100644
index bc80f382..00000000
--- a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "klibc, a small C library for use with initramfs"
-
-do_install() {
- oe_runmake install
- # the crosscompiler is packaged by klcc-cross
- # remove klcc
- rm ${D}${bindir}/klcc
- # remove now empty dir
- rmdir ${D}${bindir}
- install -d ${D}${libdir}
- install -m 755 usr/klibc/klibc-*.so ${D}${libdir}
- (cd ${D}${libdir}; ln -s klibc-*.so klibc.so)
-}
-
-PACKAGES = "libklibc libklibc-staticdev libklibc-dev"
-
-FILES_libklibc = "${libdir}/klibc-*.so"
-FILES_libklibc-staticdev = "${libdir}/klibc/lib/libc.a"
-FILES_libklibc-dev = "${libdir}/klibc.so \
- ${libdir}/klibc/lib/* \
- ${libdir}/klibc/include/* \
- "
-
-require klibc.inc
diff --git a/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.7.bb b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.7.bb
new file mode 100644
index 00000000..7df0b0a3
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.7.bb
@@ -0,0 +1,26 @@
+SUMMARY = "klibc, a small C library for use with initramfs"
+
+do_install() {
+ oe_runmake install
+ # the crosscompiler is packaged by klcc-cross
+ # remove klcc
+ rm ${D}${bindir}/klcc
+ # remove now empty dir
+ rmdir ${D}${bindir}
+ install -d ${D}${libdir}
+ install -m 755 usr/klibc/klibc-*.so ${D}${libdir}
+ (cd ${D}${libdir}; ln -s klibc-*.so klibc.so)
+ rm -rf ${D}${exec_prefix}/man
+ rm -rf ${D}${libdir}/klibc/bin
+}
+
+PACKAGES = "libklibc libklibc-staticdev libklibc-dev"
+
+FILES_libklibc = "${libdir}/klibc-*.so"
+FILES_libklibc-staticdev = "${libdir}/klibc/lib/libc.a"
+FILES_libklibc-dev = "${libdir}/klibc.so \
+ ${libdir}/klibc/lib/* \
+ ${libdir}/klibc/include/* \
+ "
+
+require klibc.inc
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch
index 4744e7a3..34826bae 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch
@@ -1,4 +1,4 @@
-From d6af515cfcc8185f423860f80ff28719975b701f Mon Sep 17 00:00:00 2001
+From 2a62d7623e3d4c0eaa44434ab678274fe3a9edb1 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:00 +0200
Subject: [PATCH] force static build
@@ -11,7 +11,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
-index 54c206f..79188d8 100644
+index fb01134..dbf1fb6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -47,7 +47,7 @@ TARGET_CFLAGS = @TARGET_CFLAGS@
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
index 1d96a2b3..ec456f38 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
@@ -1,4 +1,4 @@
-From 0976d2d5be1ed44c2324b609c7d16c1e93181c4b Mon Sep 17 00:00:00 2001
+From 6843cefb1d1d0017a714a2752bb008efd844f3e4 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
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch
index ae9e7bbc..32035ca1 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch
@@ -1,4 +1,4 @@
-From 7f91875d65778154709e4fa0ccb23f3b2a98b0dc Mon Sep 17 00:00:00 2001
+From 7e202ea55e8dd803278d9d1eac7ffd355344d6be Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:00 +0200
Subject: [PATCH] kexec-elf-rel: use our elf.h
@@ -56,7 +56,7 @@ index 1acbd86..a60c66c 100644
#include "../../kexec-elf.h"
diff --git a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
-index 5f8e3f2..765bf6e 100644
+index 51b1354..c85f421 100644
--- a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
+++ b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
@@ -1,5 +1,5 @@
@@ -67,7 +67,7 @@ index 5f8e3f2..765bf6e 100644
#include "../../kexec.h"
#include "../../kexec-elf.h"
diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-index 7fdde73..cd5d729 100644
+index db85b44..761a4ed 100644
--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
@@ -1,5 +1,5 @@
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch
index 1080e8bb..27a1cc7a 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch
@@ -1,4 +1,4 @@
-From 8b9da93ac9a4ea79ae953f80f6fe6e4f080341f2 Mon Sep 17 00:00:00 2001
+From 720e24029fca7dcd8e1cd0b556f37aa1dc2b8fe8 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 10:57:23 +0200
Subject: [PATCH] kexec-elf-exec.c: replace with our elf.h
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch
index 4f7506d4..4604c2a5 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch
@@ -1,4 +1,4 @@
-From 1cfee75d9662c3382bb7cb8f1c952333837598ae Mon Sep 17 00:00:00 2001
+From 43fb9cec1749b337bfa252fc2c1b0288847e8fa7 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Wed, 18 Apr 2018 02:21:30 +0200
Subject: [PATCH] crashdump-elf.c: work around for _SC_NPROCESSORS_CONF
@@ -18,7 +18,7 @@ Upstream-Status: Inappropriate [klibc specific]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
- kexec/crashdump-elf.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ kexec/crashdump-elf.c | 92 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
diff --git a/kexec/crashdump-elf.c b/kexec/crashdump-elf.c
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch
index 3020f767..a607ce77 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch
@@ -1,4 +1,4 @@
-From 45a80fe7d247898d83edfeabe32b9de80a50a6be Mon Sep 17 00:00:00 2001
+From ab24f236cbc0aa8a3eadde5d71d9d7ea1d979a51 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Fri, 31 Aug 2018 11:33:51 +0200
Subject: [PATCH] kexec-syscall.h: work around missing syscall() wrapper
@@ -16,10 +16,10 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 21 insertions(+)
diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
-index 33638c2..204007d 100644
+index b96e02a..2a3794d 100644
--- a/kexec/kexec-syscall.h
+++ b/kexec/kexec-syscall.h
-@@ -74,11 +74,16 @@
+@@ -77,11 +77,16 @@
struct kexec_segment;
@@ -36,7 +36,7 @@ index 33638c2..204007d 100644
static inline int is_kexec_file_load_implemented(void) {
if (__NR_kexec_file_load != 0xffffffff)
-@@ -86,6 +91,21 @@ static inline int is_kexec_file_load_implemented(void) {
+@@ -89,6 +94,21 @@ static inline int is_kexec_file_load_implemented(void) {
return 0;
}
@@ -58,7 +58,7 @@ index 33638c2..204007d 100644
static inline long kexec_file_load(int kernel_fd, int initrd_fd,
unsigned long cmdline_len, const char *cmdline_ptr,
unsigned long flags)
-@@ -93,6 +113,7 @@ static inline long kexec_file_load(int kernel_fd, int initrd_fd,
+@@ -96,6 +116,7 @@ static inline long kexec_file_load(int kernel_fd, int initrd_fd,
return (long) syscall(__NR_kexec_file_load, kernel_fd, initrd_fd,
cmdline_len, cmdline_ptr, flags);
}
@@ -66,6 +66,3 @@ index 33638c2..204007d 100644
#define KEXEC_ON_CRASH 0x00000001
#define KEXEC_PRESERVE_CONTEXT 0x00000002
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch
index 3d446839..0ae90016 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch
@@ -1,4 +1,4 @@
-From e6bd7a1bcfbd3e54efc81fbd7d60d915f9af0632 Mon Sep 17 00:00:00 2001
+From 17e9da8d3c3c69f84e11c0457bd9fb8c4ee4274b Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 11:35:14 +0200
Subject: [PATCH] kexec.c: add guard around ENOTSUP
@@ -16,10 +16,10 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 2 insertions(+)
diff --git a/kexec/kexec.c b/kexec/kexec.c
-index 313d9fe..b5a8a1e 100644
+index 32ae56c..0764e85 100644
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
-@@ -1501,6 +1501,7 @@ int main(int argc, char *argv[])
+@@ -1517,6 +1517,7 @@ int main(int argc, char *argv[])
*/
case -EINVAL:
case -ENOEXEC:
@@ -27,7 +27,7 @@ index 313d9fe..b5a8a1e 100644
/*
* ENOTSUP can be unsupported image
* type or unsupported PE signature
-@@ -1513,6 +1514,7 @@ int main(int argc, char *argv[])
+@@ -1529,6 +1530,7 @@ int main(int argc, char *argv[])
* kernel bug
*/
case -ENOTSUP:
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch
index cfc51cf7..0ab7a1d7 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch
@@ -1,4 +1,4 @@
-From 12c7b09c3152f2b3475d081691a26bd1a5633256 Mon Sep 17 00:00:00 2001
+From 30b61da180286643bea68b09b092744346011801 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 11:38:42 +0200
Subject: [PATCH] kexec.c: replace missing BLKGETSIZE64
@@ -16,10 +16,10 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/kexec/kexec.c b/kexec/kexec.c
-index b5a8a1e..7842f8b 100644
+index 0764e85..157c577 100644
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
-@@ -54,6 +54,10 @@
+@@ -55,6 +55,10 @@
#define KEXEC_LOADED_PATH "/sys/kernel/kexec_loaded"
#define KEXEC_CRASH_LOADED_PATH "/sys/kernel/kexec_crash_loaded"
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch
index df980b11..8bc473cb 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch
@@ -1,4 +1,4 @@
-From ad598a71ffff6f86462211f252ac0c7b5de53869 Mon Sep 17 00:00:00 2001
+From 20e2c61fc04a291250acee649c2523d2546cedea Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 13:14:12 +0200
Subject: [PATCH] vmcore-dmesg.c: work around missing imaxdiv()
@@ -18,7 +18,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c
-index e340ef4..1b27b71 100644
+index 7972788..c63ac4f 100644
--- a/vmcore-dmesg/vmcore-dmesg.c
+++ b/vmcore-dmesg/vmcore-dmesg.c
@@ -575,8 +575,11 @@ static void dump_dmesg_structured(int fd)
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch
index cff1485e..4652f10a 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch
@@ -1,4 +1,4 @@
-From edefda702d906d472ee7a675f6b506d5cfca7ac8 Mon Sep 17 00:00:00 2001
+From 14d4dbd293c75bc81a0dde6e678f9bbefb40b6f1 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 13:48:25 +0200
Subject: [PATCH] fs2dt.c: work around missing getline()
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
index 636151be..5bbb178b 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
@@ -1,16 +1,17 @@
-From 9b6866b106eb3ad11115bd591a23e65a68dd847d Mon Sep 17 00:00:00 2001
+From b6ebe05dc389b9457e3707401411fd075230b10e Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 21 Aug 2018 16:31:44 +0200
-Subject: [PATCH 11/11] purgatory Makefile: adapt to klcc
+Subject: [PATCH] purgatory Makefile: adapt to klcc
Upstream-Status: Inappropriate [klibc specific]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
purgatory/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 49ce80a..72eefaa 100644
+index 49ce80a..1542b3a 100644
--- a/purgatory/Makefile
+++ b/purgatory/Makefile
@@ -47,7 +47,7 @@ purgatory/sha256.o: $(srcdir)/util_lib/sha256.c
@@ -33,6 +34,3 @@ index 49ce80a..72eefaa 100644
-Wl,-Map=$(PURGATORY_MAP)
$(PURGATORY): $(PURGATORY_OBJS)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch
index 20934da8..db0d7631 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch
@@ -1,4 +1,4 @@
-From 2d2ad16f9328a7cbb3f5b8479ae93eb923a0727f Mon Sep 17 00:00:00 2001
+From 9bb386018257e1e18ffe0e925201946515b31080 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Thu, 19 Apr 2018 00:28:14 +0200
Subject: [PATCH] purgatory/string.c: avoid inclusion of string.h
@@ -26,6 +26,3 @@ index f06c460..c5e978a 100644
size_t strnlen(const char *s, size_t max)
{
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch
index 5d1664f7..777cbcf9 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch
@@ -1,4 +1,4 @@
-From ec6000b9f287e62cb0746e26cfa4372c7ea528f4 Mon Sep 17 00:00:00 2001
+From 60098810e1c04be677794bff6a3935011af98934 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Thu, 19 Apr 2018 23:26:43 +0200
Subject: [PATCH] sha256.h: avoid inclusion of sys/types.h
@@ -31,6 +31,3 @@ index 467fb22..40fd3ed 100644
#include <stdint.h>
typedef struct
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
index ad212669..f4d0d5d9 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
@@ -1,7 +1,7 @@
-From b15e9610b4ab52c381e712241d50dea96d50d873 Mon Sep 17 00:00:00 2001
+From 04eec97b390621f2b3794b0d774b77429eb88cfd Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Wed, 2 May 2018 23:14:19 +0200
-Subject: [PATCH 14/14] add if_nameindex from musl
+Subject: [PATCH] add if_nameindex from musl
Taken from musl, minimal changes.
klibc lacks struct and func
@@ -20,10 +20,11 @@ to fix :
#define __bitwise __bitwise__
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/Makefile | 2 +-
- kexec/if_nameindex.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- kexec/if_nameindex.h | 15 ++++++++++++
+ kexec/if_nameindex.c | 64 ++++++++++++++++++++++++++++++++++++++++++++
+ kexec/if_nameindex.h | 15 +++++++++++
kexec/ifdown.c | 3 +++
4 files changed, 83 insertions(+), 1 deletion(-)
create mode 100644 kexec/if_nameindex.c
@@ -114,7 +115,7 @@ index 0000000..e586e41
+}
diff --git a/kexec/if_nameindex.h b/kexec/if_nameindex.h
new file mode 100644
-index 0000000..1725fbd
+index 0000000..cf1c061
--- /dev/null
+++ b/kexec/if_nameindex.h
@@ -0,0 +1,15 @@
@@ -147,6 +148,3 @@ index 82c6141..cc3ca9f 100644
/*
* First, we find all shaper devices and down them. Then we
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
index 0b88b94c..9b8107ae 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
@@ -1,17 +1,18 @@
-From 3294266c6a875c5009065c1ae5d0b86200c4147c Mon Sep 17 00:00:00 2001
+From a2679731a56748de58a4cf0a46b7a15d75543a88 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Sun, 29 Apr 2018 00:52:31 +0200
-Subject: [PATCH 6/6] vmcore-dmesg: fix warning
+Subject: [PATCH] vmcore-dmesg: fix warning
# define __bitwise
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
vmcore-dmesg/vmcore-dmesg.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c
-index e340ef4..91e4789 100644
+index c63ac4f..a4e3014 100644
--- a/vmcore-dmesg/vmcore-dmesg.c
+++ b/vmcore-dmesg/vmcore-dmesg.c
@@ -2,6 +2,9 @@
@@ -24,6 +25,3 @@ index e340ef4..91e4789 100644
#include <endian.h>
#include <byteswap.h>
#include <stdio.h>
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
new file mode 100644
index 00000000..bd728ccb
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
@@ -0,0 +1,161 @@
+From 7bd94a64cd5424e74ad49dbda65a15e83670268f Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Mon, 17 Dec 2018 11:25:20 +0100
+Subject: [PATCH] kexec-tools: fix non-device tree devices on mips
+
+Add additional argument '--no-dtb' which disables device tree
+search in currently loaded kernel.
+
+Taken from LEDE-DEV:
+https://patchwork.ozlabs.org/patch/852961/
+
+Rebased for kexec-tools 2.0.18
+Removed ppc change (unwanted ?)
+
+Signed-off-by: Konstantin Kuzov <master.nosferatu@gmail.com>
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ kexec/arch/mips/include/arch/options.h | 4 +-
+ kexec/arch/mips/kexec-elf-mips.c | 58 ++++++++++++++------------
+ kexec/arch/mips/kexec-mips.c | 4 ++
+ kexec/arch/mips/kexec-mips.h | 1 +
+ 4 files changed, 39 insertions(+), 28 deletions(-)
+
+diff --git a/kexec/arch/mips/include/arch/options.h b/kexec/arch/mips/include/arch/options.h
+index 416e224..18d2811 100644
+--- a/kexec/arch/mips/include/arch/options.h
++++ b/kexec/arch/mips/include/arch/options.h
+@@ -5,6 +5,7 @@
+ #define OPT_APPEND (OPT_ARCH_MAX+0)
+ #define OPT_DTB (OPT_ARCH_MAX+1)
+ #define OPT_RAMDISK (OPT_ARCH_MAX+2)
++#define OPT_NO_DTB (OPT_ARCH_MAX+3)
+
+ /* Options relevant to the architecture (excluding loader-specific ones),
+ * in this case none:
+@@ -14,7 +15,8 @@
+ {"command-line", 1, 0, OPT_APPEND}, \
+ {"append", 1, 0, OPT_APPEND}, \
+ {"dtb", 1, 0, OPT_DTB }, \
+- {"initrd", 1, 0, OPT_RAMDISK },
++ {"initrd", 1, 0, OPT_RAMDISK }, \
++ {"no-dtb", 0, 0, OPT_NO_DTB },
+
+
+ #define KEXEC_ARCH_OPT_STR KEXEC_OPT_STR ""
+diff --git a/kexec/arch/mips/kexec-elf-mips.c b/kexec/arch/mips/kexec-elf-mips.c
+index 849a7ba..5c0e535 100644
+--- a/kexec/arch/mips/kexec-elf-mips.c
++++ b/kexec/arch/mips/kexec-elf-mips.c
+@@ -141,35 +141,37 @@ int elf_mips_load(int argc, char **argv, const char *buf, off_t len,
+ else
+ cmdline_addr = 0;
+
+- /* MIPS systems that have been converted to use device tree
+- * passed through UHI will use commandline in the DTB and
+- * the DTB passed as a separate buffer. Note that
+- * CMDLINE_PREFIX is skipped here intentionally, as it is
+- * used only in the legacy method */
+-
+- if (arch_options.dtb_file) {
+- dtb_buf = slurp_file(arch_options.dtb_file, &dtb_length);
+- } else {
+- create_flatten_tree(&dtb_buf, &dtb_length, cmdline_buf + strlen(CMDLINE_PREFIX));
+- }
+
+- if (arch_options.initrd_file) {
+- initrd_buf = slurp_file(arch_options.initrd_file, &initrd_size);
++ if (!arch_options.no_dtb) {
++ /* MIPS systems that have been converted to use device tree
++ * passed through UHI will use commandline in the DTB and
++ * the DTB passed as a separate buffer. Note that
++ * CMDLINE_PREFIX is skipped here intentionally, as it is
++ * used only in the legacy method */
++
++ if (arch_options.dtb_file) {
++ dtb_buf = slurp_file(arch_options.dtb_file, &dtb_length);
++ } else {
++ create_flatten_tree(&dtb_buf, &dtb_length, cmdline_buf + strlen(CMDLINE_PREFIX));
++ }
+
+- /* Create initrd entries in dtb - although at this time
+- * they would not point to the correct location */
+- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_buf, initrd_buf + initrd_size);
++ if (arch_options.initrd_file) {
++ initrd_buf = slurp_file(arch_options.initrd_file, &initrd_size);
+
+- initrd_base = add_buffer(info, initrd_buf, initrd_size,
+- initrd_size, sizeof(void *),
+- _ALIGN_UP(kernel_addr + kernel_size + dtb_length,
+- pagesize), 0x0fffffff, 1);
++ /* Create initrd entries in dtb - although at this time
++ * they would not point to the correct location */
++ dtb_set_initrd(&dtb_buf, &dtb_length, initrd_buf, initrd_buf + initrd_size);
+
+- /* Now that the buffer for initrd is prepared, update the dtb
+- * with an appropriate location */
+- dtb_set_initrd(&dtb_buf, &dtb_length, initrd_base, initrd_base + initrd_size);
+- }
++ initrd_base = add_buffer(info, initrd_buf, initrd_size,
++ initrd_size, sizeof(void *),
++ _ALIGN_UP(kernel_addr + kernel_size + dtb_length,
++ pagesize), 0x0fffffff, 1);
+
++ /* Now that the buffer for initrd is prepared, update the dtb
++ * with an appropriate location */
++ dtb_set_initrd(&dtb_buf, &dtb_length, initrd_base, initrd_base + initrd_size);
++ }
++ }
+
+ /* This is a legacy method for commandline passing used
+ * currently by Octeon CPUs only */
+@@ -177,9 +179,11 @@ int elf_mips_load(int argc, char **argv, const char *buf, off_t len,
+ sizeof(cmdline_buf), sizeof(void *),
+ cmdline_addr, 0x0fffffff, 1);
+
+- add_buffer(info, dtb_buf, dtb_length, dtb_length, 0,
+- _ALIGN_UP(kernel_addr + kernel_size, pagesize),
+- 0x0fffffff, 1);
++ if (!arch_options.no_dtb) {
++ add_buffer(info, dtb_buf, dtb_length, dtb_length, 0,
++ _ALIGN_UP(kernel_addr + kernel_size, pagesize),
++ 0x0fffffff, 1);
++ }
+
+ return 0;
+ }
+diff --git a/kexec/arch/mips/kexec-mips.c b/kexec/arch/mips/kexec-mips.c
+index 415c2ed..e557f8b 100644
+--- a/kexec/arch/mips/kexec-mips.c
++++ b/kexec/arch/mips/kexec-mips.c
+@@ -89,6 +89,7 @@ void arch_usage(void)
+ " --append=STRING Set the kernel command line to STRING.\n"
+ " --dtb=FILE Use FILE as the device tree blob.\n"
+ " --initrd=FILE Use FILE as initial ramdisk.\n"
++ " --no-dtb Don't try to find device tree\n"
+ );
+ }
+
+@@ -121,6 +122,9 @@ int arch_process_options(int argc, char **argv)
+ case OPT_RAMDISK:
+ arch_options.initrd_file = optarg;
+ break;
++ case OPT_NO_DTB:
++ arch_options.no_dtb = 1;
++ break;
+ default:
+ break;
+ }
+diff --git a/kexec/arch/mips/kexec-mips.h b/kexec/arch/mips/kexec-mips.h
+index 222c815..90b21c3 100644
+--- a/kexec/arch/mips/kexec-mips.h
++++ b/kexec/arch/mips/kexec-mips.h
+@@ -22,6 +22,7 @@ struct arch_options_t {
+ char *dtb_file;
+ char *initrd_file;
+ int core_header_type;
++ int no_dtb;
+ };
+
+ extern struct memory_ranges usablemem_rgns;
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
index 24be4dd7..c2418d8f 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
@@ -1,7 +1,7 @@
-From 6f69f489a442b3a192e4c08748ee8c4d31c75dae Mon Sep 17 00:00:00 2001
+From 3fd4db2ce1710f45eb297ae6b2c10726b33204f3 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Sun, 29 Apr 2018 00:46:16 +0200
-Subject: [PATCH 5/6] arm64: crashdump-arm64.c: fix warning
+Subject: [PATCH] arm64: crashdump-arm64.c: fix warning
from ../git/kexec/kexec.h:6,
from ../git/kexec/arch/arm64/crashdump-arm64.c:18:
@@ -11,6 +11,7 @@ ng: "__bitwise" redefined
# define __bitwise
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/arch/arm64/crashdump-arm64.c | 3 +++
1 file changed, 3 insertions(+)
@@ -29,6 +30,3 @@ index 4fd7aa8..890d88f 100644
#include <linux/elf.h>
#include "kexec.h"
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
index b22ac3ac..df7b0a77 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
@@ -1,4 +1,4 @@
-From 10afeecd10499fbd64b2c68d3b076c6906df441f Mon Sep 17 00:00:00 2001
+From a99fc685214452aedabf9ac105bb99357006aa26 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Wed, 5 Sep 2018 17:07:48 +0200
Subject: [PATCH] kexec-arm64.c: workaround for getrandom() syscall
@@ -15,15 +15,15 @@ and
| ../git/kexec/arch/arm64/kexec-arm64.c:499:12: warning: implicit declaration of function 'getrandom'; did you mean 'srandom'? [-Wimplicit-function-declaration]
| result = getrandom(&fdt_val64,
-
Upstream-Status: Inappropriate [klibc specific]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/arch/arm64/kexec-arm64.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c
-index 7a12479..8a7f5c5 100644
+index b143e86..88d4168 100644
--- a/kexec/arch/arm64/kexec-arm64.c
+++ b/kexec/arch/arm64/kexec-arm64.c
@@ -16,7 +16,11 @@
@@ -54,8 +54,5 @@ index 7a12479..8a7f5c5 100644
+ GRND_NONBLOCK);
+#endif
if(result == -1) {
- dbgprintf("%s: Reading random bytes failed.\n",
+ fprintf(stderr, "%s: Reading random bytes failed.\n",
__func__);
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch
index 7decbac4..cdcecdf4 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch
@@ -1,7 +1,7 @@
-From af7d06a753a4c377b7ffe587da67a6ba56048bea Mon Sep 17 00:00:00 2001
+From c5e7928217ee73640d25c6471c4619601cb1ba19 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Thu, 19 Apr 2018 10:47:17 +0200
-Subject: [PATCH 2/2] kexec/arm64: image-header.h: add macro for le64toh
+Subject: [PATCH] kexec/arm64: image-header.h: add macro for le64toh
Fix
@@ -35,6 +35,3 @@ index 158d411..10ed2d6 100644
/**
* struct arm64_image_header - arm64 kernel image header.
*
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
index c6afdfae..5323a81e 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
@@ -1,15 +1,16 @@
-From 06b0d43c20f7c6200902d4c6db3d33416877f71c Mon Sep 17 00:00:00 2001
+From edf186f45d543e318400195cc25175387ff3f5c4 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Sun, 26 Aug 2018 21:40:06 +0200
-Subject: [PATCH 1/1] arm- backport from oe-core
+Subject: [PATCH] arm- backport from oe-core
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/arch/arm/crashdump-arm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
-index 2530b29..af2600d 100644
+index daa4788..3f72b38 100644
--- a/kexec/arch/arm/crashdump-arm.c
+++ b/kexec/arch/arm/crashdump-arm.c
@@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
@@ -39,6 +40,3 @@ index 2530b29..af2600d 100644
crash_kernel_mem.start,
crash_kernel_mem.end, -1, 0);
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch
index 95962636..2d1d64db 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch
@@ -1,4 +1,4 @@
-From 6dae4752a53973c152b3e91e8a4ca74a486dae8b Mon Sep 17 00:00:00 2001
+From 8ee92bc915d650e188caaa3df0a798ac2002f64e Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:00 +0200
Subject: [PATCH] use our elf.h header
@@ -17,7 +17,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
-index daa4788..2530b29 100644
+index 3f72b38..af2600d 100644
--- a/kexec/arch/arm/crashdump-arm.c
+++ b/kexec/arch/arm/crashdump-arm.c
@@ -21,7 +21,7 @@
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch
index 26d18eb6..3c2594a5 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch
@@ -1,4 +1,10 @@
-x86_64: Add support to build kexec-tools with x32 ABI
+From fd40eee42273220fb0050fe10744b10067adc0a7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Fri, 31 Aug 2018 17:31:50 +0200
+Subject: [PATCH] x86_64: Add support to build kexec-tools with x32 ABI
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
Summary of changes,
@@ -21,11 +27,11 @@ Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
purgatory/arch/x86_64/Makefile | 4 +++-
4 files changed, 20 insertions(+), 1 deletion(-)
-Index: kexec-tools-2.0.10/configure.ac
-===================================================================
---- kexec-tools-2.0.10.orig/configure.ac
-+++ kexec-tools-2.0.10/configure.ac
-@@ -56,6 +56,15 @@ case $target_cpu in
+diff --git a/configure.ac b/configure.ac
+index e05d601..c428146 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -54,6 +54,15 @@ case $target_cpu in
;;
ia64|x86_64|alpha|m68k )
ARCH="$target_cpu"
@@ -41,11 +47,11 @@ Index: kexec-tools-2.0.10/configure.ac
;;
* )
AC_MSG_ERROR([unsupported architecture $target_cpu])
-Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-+++ kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_eh
+diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+index 761a4ed..1c0e3f8 100644
+--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
++++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_ehdr *ehdr)
if (ehdr->ei_data != ELFDATA2LSB) {
return 0;
}
@@ -57,10 +63,10 @@ Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
return 0;
}
if (ehdr->e_machine != EM_X86_64) {
-Index: kexec-tools-2.0.10/kexec/kexec-syscall.h
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/kexec-syscall.h
-+++ kexec-tools-2.0.10/kexec/kexec-syscall.h
+diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
+index 2a3794d..3e67078 100644
+--- a/kexec/kexec-syscall.h
++++ b/kexec/kexec-syscall.h
@@ -31,8 +31,12 @@
#define __NR_kexec_load 268
#endif
@@ -74,11 +80,11 @@ Index: kexec-tools-2.0.10/kexec/kexec-syscall.h
#ifdef __s390x__
#define __NR_kexec_load 277
#endif
-Index: kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
-===================================================================
---- kexec-tools-2.0.10.orig/purgatory/arch/x86_64/Makefile
-+++ kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
-@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/
+diff --git a/purgatory/arch/x86_64/Makefile b/purgatory/arch/x86_64/Makefile
+index 7300937..4af11e4 100644
+--- a/purgatory/arch/x86_64/Makefile
++++ b/purgatory/arch/x86_64/Makefile
+@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/i386/console-x86.c
x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
new file mode 100644
index 00000000..6497fb41
--- /dev/null
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
@@ -0,0 +1,21 @@
+From 9c99b0748dd0ea1aaf3836378ee75fa5af099a19 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Mar 2019 00:22:40 -0700
+
+---
+ kexec/kexec.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kexec/kexec.c b/kexec/kexec.c
+index 157c577..5da0d67 100644
+--- a/kexec/kexec.c
++++ b/kexec/kexec.c
+@@ -901,7 +901,7 @@ static int my_exec(void)
+ if (xen_present())
+ xen_kexec_exec();
+ else
+- reboot(LINUX_REBOOT_CMD_KEXEC);
++ reboot(LINUX_REBOOT_CMD_KEXEC, NULL);
+ /* I have failed if I make it here */
+ fprintf(stderr, "kexec failed: %s\n",
+ strerror(errno));
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch
index c3b2071b..8fb9f443 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch
@@ -1,8 +1,7 @@
-From 709dfe457c07aa0275f3da14634cbce5cf1029dc Mon Sep 17 00:00:00 2001
+From 3683b3f3e318fa711f6018f154d950c51d5b597a Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Thu, 19 Apr 2018 19:26:53 +0200
-Subject: [PATCH 3/3] powerpc/purgatory: Makefile: remove unknown flags for
- powerpc
+Subject: [PATCH] powerpc/purgatory: Makefile: remove unknown flags for powerpc
Fix
@@ -12,6 +11,7 @@ Fix
Upstream-Status: Inappropriate [klibc specific]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
purgatory/arch/ppc/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -29,6 +29,3 @@ index c85c58a..cd44a16 100644
dist += purgatory/arch/ppc/Makefile $(ppc_PURGATORY_SRCS) \
purgatory/arch/ppc/purgatory-ppc.h purgatory/arch/ppc/ppc_asm.h
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch
index dc97d930..67a3cac1 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch
@@ -1,4 +1,4 @@
-From b19b68eab567aa534cf8dec79fe18e3dc0e14043 Mon Sep 17 00:00:00 2001
+From 6fec72bd7264478c214169b0f30f649304bd39ea Mon Sep 17 00:00:00 2001
From: Quanyang Wang <quanyang.wang@windriver.com>
Date: Tue, 16 Jun 2015 12:59:57 +0800
Subject: [PATCH] powerpc: change the memory size limit
@@ -16,15 +16,16 @@ locate_hole failed
Upstream-Status: Pending
Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
+
---
kexec/arch/ppc/kexec-ppc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/arch/ppc/kexec-ppc.h
-+++ kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
-@@ -42,7 +42,7 @@ void dol_ppc_usage(void);
+diff --git a/kexec/arch/ppc/kexec-ppc.h b/kexec/arch/ppc/kexec-ppc.h
+index 04e728e..6bae9ec 100644
+--- a/kexec/arch/ppc/kexec-ppc.h
++++ b/kexec/arch/ppc/kexec-ppc.h
+@@ -44,7 +44,7 @@ void dol_ppc_usage(void);
* During inital setup the kernel does not map the whole memory but a part of
* it. On Book-E that is 64MiB, 601 24MiB or 256MiB (if possible).
*/
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch
index 0d0ed23c..568f1975 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch
@@ -1,4 +1,4 @@
-From 5f47c30759684cea9a7a409646686c1a358b78ac Mon Sep 17 00:00:00 2001
+From 7823956149c78e1996c567d1965803456df090f8 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:05 +0200
Subject: [PATCH] replace basename() with sscanf()
@@ -13,7 +13,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
-index 6c7d260..7850083 100644
+index 6cda12c..5514c1c 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -304,9 +304,9 @@ static int add_edd_entry(struct x86_linux_param_header *real_mode,
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch
index 1c471f55..ecb0d85e 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch
@@ -1,4 +1,4 @@
-From 9de68ec5af8db2eff352f12da28145fe5e96244d Mon Sep 17 00:00:00 2001
+From e26fe77b0ac9acc2c8086586d267aa7160969d2d Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:05 +0200
Subject: [PATCH] do not build test
@@ -14,7 +14,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index fb01134..440730d 100644
+index dbf1fb6..440730d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -173,8 +173,8 @@ PSRCS:=$(foreach s, $(SRCS), $(PACKAGE_NAME)-$(PACKAGE_VERSION)/$(s))
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch
index 493f298a..ef9a411b 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch
@@ -1,4 +1,4 @@
-From a992ee014efacdc98d5658be9930dcab0eaadfd7 Mon Sep 17 00:00:00 2001
+From 444160260a11022ecd84cd605fe8c22b316e6546 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:04 +0200
Subject: [PATCH] i386: replace with our io.h
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch
index 2f0ad2ea..af8467a2 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch
@@ -1,4 +1,4 @@
-From 423c3f6f41fe04f4512e2a97a130f072d53dd4cf Mon Sep 17 00:00:00 2001
+From c6934455ec2337e6da7ea9fbc3486ce9beeb5d82 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:05 +0200
Subject: [PATCH] x86-linux-setup.c: replace vfscanf() with vsscanf()
@@ -13,7 +13,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
-index 7850083..e190356 100644
+index 5514c1c..bdb28c6 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -200,6 +200,8 @@ static int file_scanf(const char *dir, const char *file, const char *scanf_line,
diff --git a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
index cc1c5518..7ad55d8b 100644
--- a/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
+++ b/external/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
@@ -6,14 +6,14 @@ SECTION = "kernel/userland"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
-PV = "2.0.17+git${SRCPV}"
+PV = "2.0.18+git${SRCPV}"
DEPENDS = "zlib xz"
inherit klibc autotools
SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git"
-SRCREV = "b9de21ef51a7ceab7122a707c188602eae22c4ee"
+SRCREV = "5750980cdbbc33ef75bfba6660295b932376ce15"
BUILD_PATCHES = "file://0001-force-static-build.patch \
file://0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch"
@@ -31,7 +31,8 @@ KLIBC_PATCHES += " \
file://0012-purgatory-string.c-avoid-inclusion-of-string.h.patch \
file://0013-sha256.h-avoid-inclusion-of-sys-types.h.patch \
file://0014-add-if_nameindex-from-musl.patch \
- file://0015-vmcore-dmesg-fix-warning.patch"
+ file://0015-vmcore-dmesg-fix-warning.patch \
+ file://klibc-reboot.patch"
WARNING_FIXES = ""
FROM_OE_CORE = "file://arm_crashdump-fix-buffer-align.patch \
@@ -42,6 +43,9 @@ SRC_URI += "${BUILD_PATCHES} ${KLIBC_PATCHES} ${WARNING_FIXES} ${FROM_OE_CORE}"
SRC_URI_append_arm = " file://arm_crashdump.patch"
+SRC_URI_append_mips = " file://140-mips_disable_devicetree_support.patch"
+SRC_URI_append_mipsel = " file://140-mips_disable_devicetree_support.patch"
+
SRC_URI_append_x86 = " file://x86_sys_io.patch file://x86_basename.patch \
file://x86_vfscanf.patch file://x86_kexec_test.patch"
diff --git a/external/meta-openembedded/meta-multimedia/README b/external/meta-openembedded/meta-multimedia/README
index 050392d9..1c08f9d9 100644
--- a/external/meta-openembedded/meta-multimedia/README
+++ b/external/meta-openembedded/meta-multimedia/README
@@ -1,19 +1,19 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: thud
+branch: dunfell
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
layers: meta-oe
-branch: thud
+branch: dunfell
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][thud]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][dunfell]' 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][thud][PATCH
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][dunfell][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.
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+dunfell maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/external/meta-openembedded/meta-multimedia/conf/layer.conf b/external/meta-openembedded/meta-multimedia/conf/layer.conf
index e2a7701c..2d52fb93 100644
--- a/external/meta-openembedded/meta-multimedia/conf/layer.conf
+++ b/external/meta-openembedded/meta-multimedia/conf/layer.conf
@@ -17,6 +17,8 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "multimedia-layer"
BBFILE_PATTERN_multimedia-layer := "^${LAYERDIR}/"
+LICENSE_PATH += "${LAYERDIR}/licenses"
+
# Define the priority for recipes (.bb files) from this layer,
# choosing carefully how this layer interacts with all of the
# other layers.
@@ -27,6 +29,6 @@ BBFILE_PRIORITY_multimedia-layer = "6"
# cause compatibility issues with other layers
LAYERVERSION_multimedia-layer = "1"
-LAYERDEPENDS_multimedia-layer = "core"
+LAYERDEPENDS_multimedia-layer = "core meta-python"
-LAYERSERIES_COMPAT_multimedia-layer = "thud"
+LAYERSERIES_COMPAT_multimedia-layer = "thud warrior zeus dunfell"
diff --git a/external/meta-openembedded/meta-multimedia/licenses/BellBird b/external/meta-openembedded/meta-multimedia/licenses/BellBird
new file mode 100644
index 00000000..bc5c03fa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/licenses/BellBird
@@ -0,0 +1,25 @@
+(c) Copyright the authors of Bellbird. All rights reserved.
+
+Permission is hereby granted, free of charge, to use and distribute
+this software and its documentation without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of this work, and to
+permit persons to whom this work is furnished to do so, subject to
+the following conditions:
+ 1. The code must retain the above copyright notice, this list of
+ conditions and the following disclaimer.
+ 2. Any modifications must be clearly marked as such.
+ 3. Original authors' names are not deleted.
+ 4. The authors' names are not used to endorse or promote products
+ derived from this software without specific prior written
+ permission.
+
+THE CONTRIBUTORS TO THIS WORK
+DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT
+SHALL THE CONTRIBUTORS BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
diff --git a/external/meta-openembedded/meta-multimedia/licenses/CMU-Tex b/external/meta-openembedded/meta-multimedia/licenses/CMU-Tex
new file mode 100644
index 00000000..f5122285
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/licenses/CMU-Tex
@@ -0,0 +1,20 @@
+Copyright (C) 2001-2014 Carnegie Mellon University
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to process this file through TeX, or otherwise and
+print the results, provided the printed document carries copying
+permission notice identical to this one except for the removal of this
+paragraph (this paragraph not being relevant to the printed manual).
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation approved
+by the authors.
diff --git a/external/meta-openembedded/meta-multimedia/licenses/Fraunhofer_FDK_AAC_Codec_Library_for_Android b/external/meta-openembedded/meta-multimedia/licenses/Fraunhofer_FDK_AAC_Codec_Library_for_Android
new file mode 100644
index 00000000..05b32bde
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/licenses/Fraunhofer_FDK_AAC_Codec_Library_for_Android
@@ -0,0 +1,92 @@
+Software License for The Fraunhofer FDK AAC Codec Library for Android
+
+© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+Forschung e.V. All rights reserved.
+
+ 1. INTRODUCTION
+The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software
+that implements the MPEG Advanced Audio Coding ("AAC") encoding and decoding
+scheme for digital audio. This FDK AAC Codec software is intended to be used on
+a wide variety of Android devices.
+
+AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient
+general perceptual audio codecs. AAC-ELD is considered the best-performing
+full-bandwidth communications codec by independent studies and is widely
+deployed. AAC has been standardized by ISO and IEC as part of the MPEG
+specifications.
+
+Patent licenses for necessary patent claims for the FDK AAC Codec (including
+those of Fraunhofer) may be obtained through Via Licensing
+(www.vialicensing.com) or through the respective patent owners individually for
+the purpose of encoding or decoding bit streams in products that are compliant
+with the ISO/IEC MPEG audio standards. Please note that most manufacturers of
+Android devices already license these patent claims through Via Licensing or
+directly from the patent owners, and therefore FDK AAC Codec software may
+already be covered under those patent licenses when it is used for those
+licensed purposes only.
+
+Commercially-licensed AAC software libraries, including floating-point versions
+with enhanced sound quality, are also available from Fraunhofer. Users are
+encouraged to check the Fraunhofer website for additional applications
+information and documentation.
+
+2. COPYRIGHT LICENSE
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted without payment of copyright license fees provided that you
+satisfy the following conditions:
+
+You must retain the complete text of this software license in redistributions of
+the FDK AAC Codec or your modifications thereto in source code form.
+
+You must retain the complete text of this software license in the documentation
+and/or other materials provided with redistributions of the FDK AAC Codec or
+your modifications thereto in binary form. You must make available free of
+charge copies of the complete source code of the FDK AAC Codec and your
+modifications thereto to recipients of copies in binary form.
+
+The name of Fraunhofer may not be used to endorse or promote products derived
+from this library without prior written permission.
+
+You may not charge copyright license fees for anyone to use, copy or distribute
+the FDK AAC Codec software or your modifications thereto.
+
+Your modified versions of the FDK AAC Codec must carry prominent notices stating
+that you changed the software and the date of any change. For modified versions
+of the FDK AAC Codec, the term "Fraunhofer FDK AAC Codec Library for Android"
+must be replaced by the term "Third-Party Modified Version of the Fraunhofer FDK
+AAC Codec Library for Android."
+
+3. NO PATENT LICENSE
+
+NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without
+limitation the patents of Fraunhofer, ARE GRANTED BY THIS SOFTWARE LICENSE.
+Fraunhofer provides no warranty of patent non-infringement with respect to this
+software.
+
+You may use this FDK AAC Codec software or modifications thereto only for
+purposes that are authorized by appropriate patent licenses.
+
+4. DISCLAIMER
+
+This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright
+holders and contributors "AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
+including but not limited to the implied warranties of merchantability and
+fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary,
+or consequential damages, including but not limited to procurement of substitute
+goods or services; loss of use, data, or profits, or business interruption,
+however caused and on any theory of liability, whether in contract, strict
+liability, or tort (including negligence), arising in any way out of the use of
+this software, even if advised of the possibility of such damage.
+
+5. CONTACT INFORMATION
+
+Fraunhofer Institute for Integrated Circuits IIS
+Attention: Audio and Multimedia Departments - FDK AAC LL
+Am Wolfsmantel 33
+91058 Erlangen, Germany
+
+www.iis.fraunhofer.de/amm
+amm-info@iis.fraunhofer.de
+
diff --git a/external/meta-openembedded/meta-multimedia/licenses/Sun b/external/meta-openembedded/meta-multimedia/licenses/Sun
new file mode 100644
index 00000000..d125a165
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/licenses/Sun
@@ -0,0 +1,23 @@
+This source code is a product of Sun Microsystems, Inc. and is provided
+for unrestricted use. Users may copy or modify this source code without
+charge.
+
+SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
+THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+
+Sun source code is provided with no support and without any obligation on
+the part of Sun Microsystems, Inc. to assist in its use, correction,
+modification or enhancement.
+
+SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
+INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
+OR ANY PART THEREOF.
+
+In no event will Sun Microsystems, Inc. be liable for any lost revenue
+or profits or other special, indirect and consequential damages, even if
+Sun has been advised of the possibility of such damages.
+
+Sun Microsystems, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc
deleted file mode 100644
index 23f17edd..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Resource discovery and announcement over SSDP"
-DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP (Simpe Service Discovery Protocol)."
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-DEPENDS = "glib-2.0 libsoup-2.4"
-
-inherit autotools pkgconfig gobject-introspection vala
-
-# Copy vapigen.m4 so that it doesn't get removed by vala class
-# (normally this would be the right thing to do, but in gssdp the vapigen.m4 has only a custom macro)
-do_configure_prepend() {
- cp -f ${S}/m4/vapigen.m4 ${S}/m4/vapigen-custom.m4 || true
-}
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}"
-PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+"
-
-PACKAGES =+ "gssdp-tools"
-
-FILES_gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb
deleted file mode 100644
index b60d1ea4..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require gssdp.inc
-
-inherit gtk-doc
-
-PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3"
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/1.0/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "b30c9a406853c6a3a012d151d6e7ad2c"
-SRC_URI[sha256sum] = "a1e17c09c7e1a185b0bd84fd6ff3794045a3cd729b707c23e422ff66471535dc"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.2.2.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.2.2.bb
new file mode 100644
index 00000000..ddaddd20
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.2.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Resource discovery and announcement over SSDP"
+DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP (Simpe Service Discovery Protocol)."
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+DEPENDS = "glib-2.0 libsoup-2.4"
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/1.2/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "f00a470ebcba96f34def8f83ac5891ed"
+SRC_URI[sha256sum] = "cabb9e3b456b8354a55e23eb0207545d974643cda6d623523470ebbc4188b0a4"
+
+GTKDOC_MESON_OPTION = 'gtk_doc'
+
+inherit meson pkgconfig gobject-introspection vala gtk-doc
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'sniffer', '', d)}"
+PACKAGECONFIG[sniffer] = "-Dsniffer=true,-Dsniffer=false,gtk+3,"
+
+PACKAGES =+ "gssdp-tools"
+
+FILES_gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.10.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.10.bb
deleted file mode 100644
index cfd0227e..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.10.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require gupnp-av.inc
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "215f626508d76b767f5da7c9b92e87d8"
-SRC_URI[sha256sum] = "8038ef84dddbe7ad91c205bf91dddf684f072df8623f39b6555a6bb72837b85a"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.11.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.11.bb
new file mode 100644
index 00000000..1881656b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.11.bb
@@ -0,0 +1,7 @@
+require gupnp-av.inc
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "f09e99ae20271b0a8cadce806098ae8b"
+SRC_URI[sha256sum] = "689dcf1492ab8991daea291365a32548a77d1a2294d85b33622b55cca9ce6fdc"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/files/move_vapigen.patch b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna/move_vapigen.patch
index 9bfc31b8..9bfc31b8 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/files/move_vapigen.patch
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna/move_vapigen.patch
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd/0001-Swtich-to-new-GUPnP-API.patch b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd/0001-Swtich-to-new-GUPnP-API.patch
new file mode 100644
index 00000000..ff5a6d9c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd/0001-Swtich-to-new-GUPnP-API.patch
@@ -0,0 +1,101 @@
+From 63531558a16ac2334a59f627b2fca5576dcfbb2e Mon Sep 17 00:00:00 2001
+From: Jens Georg <mail@jensge.org>
+Date: Sat, 1 Dec 2018 21:33:21 +0100
+Subject: [PATCH] Swtich to new GUPnP API
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gupnp-igd/commit/63531558a16ac2334a59f627b2fca5576dcfbb2e]
+---
+ configure.ac | 2 +-
+ gupnp-igd-1.0-uninstalled.pc.in | 2 +-
+ gupnp-igd-1.0.pc.in | 2 +-
+ libgupnp-igd/Makefile.am | 2 +-
+ tests/gtest/gupnp-simple-igd.c | 6 ++++--
+ 5 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f03921f..aa7f0ca 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,7 +11,7 @@ AC_STDC_HEADERS
+ AC_PROG_LIBTOOL
+ AC_FUNC_MMAP
+
+-PKG_CHECK_MODULES(LIBGUPNP, glib-2.0 >= 2.26 gobject-2.0 >= 2.26 gssdp-1.0 gupnp-1.0 >= 0.18 gthread-2.0)
++PKG_CHECK_MODULES(LIBGUPNP, glib-2.0 >= 2.26 gobject-2.0 >= 2.26 gssdp-1.2 gupnp-1.2 >= 0.18 gthread-2.0)
+
+ # glib-genmarshal
+ GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
+diff --git a/gupnp-igd-1.0-uninstalled.pc.in b/gupnp-igd-1.0-uninstalled.pc.in
+index 483956f..6db3bee 100644
+--- a/gupnp-igd-1.0-uninstalled.pc.in
++++ b/gupnp-igd-1.0-uninstalled.pc.in
+@@ -5,7 +5,7 @@ includedir=${pcfiledir}/
+
+ Name: gupnp-igd-1.0
+ Description: GUPnP Simple IGD library
+-Requires: gupnp-1.0
++Requires: gupnp-1.2
+ Version: @VERSION@
+ Libs: ${libdir}/libgupnp-av-1.0.la
+ Cflags: -I${includedir}
+diff --git a/gupnp-igd-1.0.pc.in b/gupnp-igd-1.0.pc.in
+index 6660d63..aa74ed3 100644
+--- a/gupnp-igd-1.0.pc.in
++++ b/gupnp-igd-1.0.pc.in
+@@ -5,7 +5,7 @@ includedir=@includedir@
+
+ Name: gupnp-igd-1.0
+ Description: GUPnP Simple IGD library
+-Requires: gupnp-1.0
++Requires: gupnp-1.2
+ Version: @VERSION@
+ Libs: -L${libdir} -lgupnp-igd-1.0
+ Cflags: -I${includedir}/gupnp-igd-1.0
+diff --git a/libgupnp-igd/Makefile.am b/libgupnp-igd/Makefile.am
+index fe020b5..e10d857 100644
+--- a/libgupnp-igd/Makefile.am
++++ b/libgupnp-igd/Makefile.am
+@@ -60,7 +60,7 @@ GUPnPIgd_1_0_gir_VERSION = 1.0
+ GUPnPIgd_1_0_gir_LIBS = $(lib_LTLIBRARIES)
+ GUPnPIgd_1_0_gir_FILES = $(libgupnp_igd_1_0_la_SOURCES) $(libgupnp_igd_inc_HEADERS)
+ GUPnPIgd_1_0_gir_INCLUDES=GObject-2.0
+-GUPnPIgd_1_0_gir_PACKAGES=gupnp-1.0
++GUPnPIgd_1_0_gir_PACKAGES=gupnp-1.2
+ GUPnPIgd_1_0_gir_CFLAGS=-I$(srcdir) -I$(top_srcdir)
+
+ if HAVE_INTROSPECTION
+diff --git a/tests/gtest/gupnp-simple-igd.c b/tests/gtest/gupnp-simple-igd.c
+index 9b32b2a..d051d13 100644
+--- a/tests/gtest/gupnp-simple-igd.c
++++ b/tests/gtest/gupnp-simple-igd.c
+@@ -273,13 +273,14 @@ run_gupnp_simple_igd_test (GMainContext *mainctx, GUPnPSimpleIgd *igd,
+ GUPnPDeviceInfo *subdev1;
+ GUPnPDeviceInfo *subdev2;
+ const gchar *xml_path = ".";
++ GError *error = NULL;
+
+ g_signal_connect (igd, "context-available",
+ G_CALLBACK (ignore_non_localhost), NULL);
+
+ if (mainctx)
+ g_main_context_push_thread_default (mainctx);
+- context = gupnp_context_new (NULL, "lo", 0, NULL);
++ context = gupnp_context_new ("lo", 0, NULL);
+ g_assert (context);
+
+ if (g_getenv ("XML_PATH"))
+@@ -293,8 +294,9 @@ run_gupnp_simple_igd_test (GMainContext *mainctx, GUPnPSimpleIgd *igd,
+ gupnp_context_host_path (context, "WANPPPConnection.xml", "/WANPPPConnection.xml");
+ */
+
+- dev = gupnp_root_device_new (context, "InternetGatewayDevice.xml", xml_path);
++ dev = gupnp_root_device_new (context, "InternetGatewayDevice.xml", xml_path, &error);
+ g_assert (dev);
++ g_assert (error == NULL);
+
+ subdev1 = gupnp_device_info_get_device (GUPNP_DEVICE_INFO (dev),
+ "urn:schemas-upnp-org:device:WANDevice:1");
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.4.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.4.bb
deleted file mode 100644
index 0aa594dc..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
-
-DEPENDS = "glib-2.0 gupnp sqlite3"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.2/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "124371136b5a7b1056a3681780a62772"
-SRC_URI[sha256sum] = "38c4a6d7718d17eac17df95a3a8c337677eda77e58978129ad3182d769c38e44"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-EXTRA_OECONF = "--disable-python"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.5.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.5.bb
new file mode 100644
index 00000000..1a98ace8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.5.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
+
+DEPENDS = "glib-2.0 gssdp gupnp sqlite3"
+
+SRC_URI = "http://download.gnome.org/sources/${BPN}/0.2/${BPN}-${PV}.tar.xz \
+ file://0001-Swtich-to-new-GUPnP-API.patch \
+ "
+SRC_URI[md5sum] = "d164e096d0f140bb1f5d9503727b424a"
+SRC_URI[sha256sum] = "8b4a1aa38bacbcac2c1755153147ead7ee9af7d4d1f544b6577cfc35e10e3b20"
+
+inherit autotools pkgconfig gtk-doc gobject-introspection
+
+EXTRA_OECONF = "--disable-python"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.0.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.0.bb
new file mode 100644
index 00000000..bf84e7b7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Tools for GUPnP"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://src/network-light/main.c;beginline=1;endline=21;md5=2c39b3a000495dabd4932f231c7efed8"
+DEPENDS = "gupnp gupnp-av gtk+3 glib-2.0-native intltool-native"
+RRECOMMENDS_${PN} = "adwaita-icon-theme"
+
+SRC_URI = "http://download.gnome.org/sources/${BPN}/0.10/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "8c66d4aca756478615761a26ed7c8dba"
+SRC_URI[sha256sum] = "41da7ff5ba8e2425adcb64ca5e04c81f57ca20ec6fdb84923939fdad42c6a18d"
+inherit features_check meson pkgconfig gettext gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb
deleted file mode 100644
index 3ddb818d..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Tools for GUPnP"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://src/network-light/main.c;beginline=1;endline=21;md5=2c39b3a000495dabd4932f231c7efed8"
-DEPENDS = "gupnp gupnp-av gtk+3 intltool-native"
-RRECOMMENDS_${PN} = "adwaita-icon-theme"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.8/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "212d85ebce89b32468b59e1164050d40"
-SRC_URI[sha256sum] = "aa3decb9d532c0e2e505adc592f431fd81c0231ded2981129e87da13712479ed"
-inherit distro_features_check autotools pkgconfig gettext
-
-REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
index 6ce96316..2920581c 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
@@ -4,22 +4,16 @@ LICENSE = "LGPLv2+"
DEPENDS = "e2fsprogs gssdp libsoup-2.4 libxml2"
-inherit autotools pkgconfig vala gobject-introspection
-
-# Copy vapigen.m4 so that it doesn't get removed by vala class
-# (normally this would be the right thing to do, but in gupnp the vapigen.m4 has only a custom macro)
-do_configure_prepend() {
- cp -f ${S}/m4/vapigen.m4 ${S}/m4/vapigen-custom.m4 || true
-}
+inherit meson pkgconfig vala gobject-introspection
FILES_${PN} = "${libdir}/*.so.*"
-FILES_${PN}-dev += "${bindir}/gupnp-binding-tool"
+FILES_${PN}-dev += "${bindir}/gupnp-binding-tool*"
-RDEPENDS_${PN}-dev = "python-textutils python-xml"
+RDEPENDS_${PN}-dev = "python3 python3-xml"
SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess"
gupnp_sysroot_preprocess () {
install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/gupnp-binding-tool ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/gupnp-binding-tool* ${SYSROOT_DESTDIR}${bindir_crossscripts}/
}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.0.2.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.0.2.bb
deleted file mode 100644
index 1bdf7d79..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.0.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require gupnp.inc
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/1.0/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "afd96fe73856b38aaf1baf7526e08edd"
-SRC_URI[sha256sum] = "5173fda779111c6b01cd4a5e41b594322be9d04f8c74d3361f0a0c2069c77610"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.2.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.2.bb
new file mode 100644
index 00000000..e6034971
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.2.bb
@@ -0,0 +1,8 @@
+require gupnp.inc
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/1.2/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "2ade3d29c624ad98d70113e6e93908a5"
+SRC_URI[sha256sum] = "9a80bd953e5c8772ad26b72f8da01cbe7241a113edd6084903f413ce751c9989"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb
index 7a524f2d..339c07cd 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb
@@ -5,16 +5,21 @@ protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
supporting the Document Object Model (DOM) Level 2 API and an optional, \
integrated mini web server for serving UPnP related documents."
HOMEPAGE = "http://pupnp.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b3190d5244e08e78e4c8ee78544f4863"
+LIC_FILES_CHKSUM = "file://COPYING;md5=394a0f17b97f33426275571e15920434"
-PV = "1.8.2+git${SRCPV}"
-SRCREV = "56d6042abae861e8838a4e6b6b5b575b99e38f34"
+PV = "1.8.4+git${SRCPV}"
+# release-1.8.4
+SRCREV = "d5a01fc9895daae98a0c5a8c7d3afce46add529d"
SRC_URI = "git://github.com/mrjimenez/pupnp.git;protocol=https"
S="${WORKDIR}/git"
inherit autotools
-EXTRA_OECONF += "--enable-reuseaddr" \ No newline at end of file
+EXTRA_OECONF += "--enable-reuseaddr"
+
+# Enable LFS support ( for samples )
+CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
deleted file mode 100644
index 21331ffc..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-SUMMARY = "A UPnP AV media server and renderer"
-DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
-allow you to easily share audio, video and pictures to other devices. \
-Additionally, media player software may use Rygel to become a MediaRenderer \
-that may be controlled remotely by a UPnP or DLNA Controller."
-HOMEPAGE = "http://live.gnome.org/Rygel"
-
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3 intltool-native"
-RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
-RRECOMMENDS_${PN} = "rygel-plugin-media-export"
-
-GNOME_COMPRESS_TYPE = "xz"
-SRC_URI[archive.md5sum] = "7d8923324b280cd5452803d61176a34a"
-SRC_URI[archive.sha256sum] = "fbb2d46cbe4e750df6610b4c66b2278f06d1f71a257c7903e676ccb394dad418"
-
-inherit gnomebase vala gobject-introspection gettext systemd
-
-EXTRA_OECONF = "--disable-tracker-plugin --with-media-engine=gstreamer"
-
-PACKAGECONFIG ?= "external mpris ruih media-export gst-launch"
-
-PACKAGECONFIG_append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
-
-PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin"
-PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin"
-PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin"
-PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin"
-PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
-PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
-PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin"
-
-LIBV = "2.6"
-
-do_install_append() {
- # Remove .la files for loadable modules
- rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
- rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
- if [ -e ${D}${libdir}/systemd/user/rygel.service ]; then
- mkdir -p ${D}${systemd_unitdir}/system
- mv ${D}${libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system
- rmdir ${D}${libdir}/systemd/user ${D}${libdir}/systemd
- fi
-}
-
-FILES_${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
-FILES_${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
-
-PACKAGES += "${PN}-meta"
-ALLOW_EMPTY_${PN}-meta = "1"
-
-PACKAGES_DYNAMIC = "${PN}-plugin-*"
-
-SYSTEMD_SERVICE_${PN} = "rygel.service"
-
-python populate_packages_prepend () {
- rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
- postinst = d.getVar('plugin_postinst')
- pkgs = []
-
- pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), 'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
- pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), '(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
-
- metapkg = d.getVar('PN') + '-meta'
- d.setVar('RDEPENDS_' + metapkg, ' '.join(pkgs))
-}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb b/external/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb
new file mode 100644
index 00000000..3fc84505
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb
@@ -0,0 +1,69 @@
+SUMMARY = "A UPnP AV media server and renderer"
+DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
+allow you to easily share audio, video and pictures to other devices. \
+Additionally, media player software may use Rygel to become a MediaRenderer \
+that may be controlled remotely by a UPnP or DLNA Controller."
+HOMEPAGE = "http://live.gnome.org/Rygel"
+
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3 intltool-native"
+RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
+RRECOMMENDS_${PN} = "rygel-plugin-media-export"
+
+inherit gnomebase vala gobject-introspection gettext systemd
+
+SRC_URI[archive.md5sum] = "7f95401903a3f855b464d5152b9d4c07"
+SRC_URI[archive.sha256sum] = "08c21a577f7bdad26446a75ffa32778b26842c3b1188165f0b19818559747d00"
+
+EXTRA_OECONF = "--disable-tracker-plugin --with-media-engine=gstreamer"
+
+PACKAGECONFIG ?= "external mpris ruih media-export gst-launch"
+
+PACKAGECONFIG_append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
+
+PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin"
+PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin"
+PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin"
+PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin"
+PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
+PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
+PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin"
+
+LIBV = "2.6"
+
+do_install_append() {
+ # Remove .la files for loadable modules
+ rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
+ rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
+ if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then
+ mkdir -p ${D}${systemd_unitdir}/system
+ mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system
+ rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \
+ ${D}${nonarch_libdir}/systemd \
+ ${D}${nonarch_libdir}
+ fi
+}
+
+FILES_${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
+FILES_${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
+
+PACKAGES += "${PN}-meta"
+ALLOW_EMPTY_${PN}-meta = "1"
+
+PACKAGES_DYNAMIC = "${PN}-plugin-*"
+
+SYSTEMD_SERVICE_${PN} = "rygel.service"
+
+python populate_packages_prepend () {
+ rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
+ postinst = d.getVar('plugin_postinst')
+ pkgs = []
+
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), 'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), '(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+
+ metapkg = d.getVar('PN') + '-meta'
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(pkgs))
+}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch b/external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
deleted file mode 100644
index d3d89e33..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a372fe467495a674ad6244b67e83dfbfa8455f51 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 13:54:32 -0700
-Subject: [PATCH] include sys/sysmacros.h for major/minor definitions
-
-csctapi/ifd_db2com.c:27: undefined reference to `minor'
-collect2: error: ld returned 1 exit status
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- globals.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/globals.h b/globals.h
-index bd12244..9e10225 100644
---- a/globals.h
-+++ b/globals.h
-@@ -36,6 +36,7 @@
- #include <termios.h>
- #include <inttypes.h>
- #include <sys/utsname.h>
-+#include <sys/sysmacros.h>
-
- /*
- * The following hack is taken from Linux: include/linux/kconfig.h
diff --git a/external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
index a8aec113..5acdd7eb 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
@@ -4,12 +4,11 @@ HOMEPAGE = "http://www.streamboard.tv/oscam/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "libusb1 openssl10 pcsc-lite"
+DEPENDS = "libusb1 openssl pcsc-lite"
SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http \
- file://0001-include-sys-sysmacros.h-for-major-minor-definitions.patch \
"
-SRCREV = "11431"
+SRCREV = "11491"
PV = "1.10+${SRCPV}"
S = "${WORKDIR}/trunk"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch b/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch
new file mode 100644
index 00000000..59bd4ef0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch
@@ -0,0 +1,176 @@
+From 81f29b028473a3d8ac0aaeb126fc0336a98bb077 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Nov 2019 11:03:16 -0800
+Subject: [PATCH] adjust for 64bit time_t
+
+Break assumption about time_t being of certain size, and use intmax_t to
+print it where needed
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cron.c | 4 ++--
+ src/epggrab/module/psip.c | 2 +-
+ src/epggrab/otamux.c | 2 +-
+ src/parsers/parser_teletext.c | 2 +-
+ src/tvheadend.h | 6 +-----
+ src/webui/webui.c | 4 ++--
+ 6 files changed, 8 insertions(+), 12 deletions(-)
+
+--- a/src/cron.c
++++ b/src/cron.c
+@@ -329,9 +329,9 @@ cron_next ( cron_t *c, const time_t now,
+ *ret = mktime(&tmp);
+ if (*ret <= now) {
+ #ifndef CRON_TEST
+- tvherror(LS_CRON, "invalid time, now %"PRItime_t", result %"PRItime_t, now, *ret);
++ tvherror(LS_CRON, "invalid time, now %"PRItime_t", result %"PRItime_t, (intmax_t)now, (intmax_t)*ret);
+ #else
+- printf("ERROR: invalid time, now %"PRItime_t", result %"PRItime_t"\n", now, *ret);
++ printf("ERROR: invalid time, now %"PRItime_t", result %"PRItime_t"\n", (intmax_t)now, (intmax_t)*ret);
+ #endif
+ *ret = now + 600;
+ }
+--- a/src/epggrab/module/psip.c
++++ b/src/epggrab/module/psip.c
+@@ -383,14 +383,14 @@ _psip_eit_callback_channel
+
+ tvhtrace(LS_PSIP, " %03d: [%s] eventid 0x%04x at %"PRItime_t", duration %d, title: '%s' (%d bytes)",
+ i, ch ? channel_get_name(ch, channel_blank_name) : "(null)",
+- eventid, start, length,
++ eventid, (intmax_t)start, length,
+ lang_str_get(title, NULL), titlelen);
+
+ save2 = changes2 = 0;
+
+ ebc = epg_broadcast_find_by_time(ch, mod, start, stop, 1, &save2, &changes2);
+ tvhtrace(LS_PSIP, " eid=%5d, start=%"PRItime_t", stop=%"PRItime_t", ebc=%p",
+- eventid, start, stop, ebc);
++ eventid, (intmax_t)start, (intmax_t)stop, ebc);
+ if (!ebc) goto next;
+
+ save2 |= epg_broadcast_set_dvb_eid(ebc, eventid, &changes2);
+--- a/src/epggrab/otamux.c
++++ b/src/epggrab/otamux.c
+@@ -719,7 +719,7 @@ epggrab_ota_start_cb ( void *p );
+ static void
+ epggrab_ota_next_arm( time_t next )
+ {
+- tvhtrace(LS_EPGGRAB, "next ota start event in %li seconds", next - time(NULL));
++ tvhtrace(LS_EPGGRAB, "next ota start event in %jd seconds", (intmax_t)(next - time(NULL)));
+ gtimer_arm_absn(&epggrab_ota_start_timer, epggrab_ota_start_cb, NULL, next);
+ dbus_emit_signal_s64("/epggrab/ota", "next", next);
+ }
+--- a/src/parsers/parser_teletext.c
++++ b/src/parsers/parser_teletext.c
+@@ -625,7 +625,7 @@ tt_construct_unix_time(uint8_t *buf)
+ r[2] = mktime(&tm);
+
+ for(i = 0; i < 3; i++)
+- v[i] = labs(r[i] - t);
++ v[i] = (time_t)llabs((long long)(r[i] - t));
+
+ if(v[0] < v[1] && v[0] < v[2])
+ return r[0];
+--- a/src/tvheadend.h
++++ b/src/tvheadend.h
+@@ -332,11 +332,7 @@ void tvh_qsort_r(void *base, size_t nmem
+ # endif /* ULONG_MAX */
+ #endif /* __WORDSIZE */
+
+-#if __WORDSIZE == 32 && defined(PLATFORM_FREEBSD)
+-#define PRItime_t "d"
+-#else
+-#define PRItime_t "ld"
+-#endif
++#define PRItime_t "jd"
+
+ /* transcoding */
+ #define TVH_NAME_LEN 32
+--- a/src/webui/webui.c
++++ b/src/webui/webui.c
+@@ -886,9 +886,9 @@ http_dvr_list_playlist(http_connection_t
+ bandwidth = ((8*fsize) / (durration*1024.0));
+ strftime(buf, sizeof(buf), "%FT%T%z", localtime_r(&(de->de_start), &tm));
+
+- htsbuf_qprintf(hq, "#EXTINF:%"PRItime_t",%s\n", durration, lang_str_get(de->de_title, NULL));
++ htsbuf_qprintf(hq, "#EXTINF:%"PRItime_t",%s\n", (intmax_t)durration, lang_str_get(de->de_title, NULL));
+
+- htsbuf_qprintf(hq, "#EXT-X-TARGETDURATION:%"PRItime_t"\n", durration);
++ htsbuf_qprintf(hq, "#EXT-X-TARGETDURATION:%"PRItime_t"\n", (intmax_t)durration);
+ uuid = idnode_uuid_as_str(&de->de_id, ubuf);
+ htsbuf_qprintf(hq, "#EXT-X-STREAM-INF:PROGRAM-ID=%s,BANDWIDTH=%d\n", uuid, bandwidth);
+ htsbuf_qprintf(hq, "#EXT-X-PROGRAM-DATE-TIME:%s\n", buf);
+@@ -944,9 +944,9 @@ http_dvr_playlist(http_connection_t *hc,
+ strftime(buf, sizeof(buf), "%FT%T%z", localtime_r(&(de->de_start), &tm));
+
+ htsbuf_append_str(hq, "#EXTM3U\n");
+- htsbuf_qprintf(hq, "#EXTINF:%"PRItime_t",%s\n", durration, lang_str_get(de->de_title, NULL));
++ htsbuf_qprintf(hq, "#EXTINF:%"PRItime_t",%s\n", (intmax_t)durration, lang_str_get(de->de_title, NULL));
+
+- htsbuf_qprintf(hq, "#EXT-X-TARGETDURATION:%"PRItime_t"\n", durration);
++ htsbuf_qprintf(hq, "#EXT-X-TARGETDURATION:%"PRItime_t"\n", (intmax_t)durration);
+ uuid = idnode_uuid_as_str(&de->de_id, ubuf);
+ htsbuf_qprintf(hq, "#EXT-X-STREAM-INF:PROGRAM-ID=%s,BANDWIDTH=%d\n", uuid, bandwidth);
+ htsbuf_qprintf(hq, "#EXT-X-PROGRAM-DATE-TIME:%s\n", buf);
+--- a/src/dvr/dvr_rec.c
++++ b/src/dvr/dvr_rec.c
+@@ -723,7 +723,7 @@ static const char *
+ dvr_sub_start(const char *id, const char *fmt, const void *aux, char *tmp, size_t tmplen)
+ {
+ char buf[16];
+- snprintf(buf, sizeof(buf), "%"PRItime_t, (time_t)dvr_entry_get_start_time((dvr_entry_t *)aux, 0));
++ snprintf(buf, sizeof(buf), "%"PRItime_t, (intmax_t)dvr_entry_get_start_time((dvr_entry_t *)aux, 0));
+ return dvr_do_prefix(id, fmt, buf, tmp, tmplen);
+ }
+
+@@ -747,7 +747,7 @@ static const char *
+ dvr_sub_stop(const char *id, const char *fmt, const void *aux, char *tmp, size_t tmplen)
+ {
+ char buf[16];
+- snprintf(buf, sizeof(buf), "%"PRItime_t, (time_t)dvr_entry_get_stop_time((dvr_entry_t *)aux));
++ snprintf(buf, sizeof(buf), "%"PRItime_t, (intmax_t)dvr_entry_get_stop_time((dvr_entry_t *)aux));
+ return dvr_do_prefix(id, fmt, buf, tmp, tmplen);
+ }
+
+--- a/src/epggrab/module.c
++++ b/src/epggrab/module.c
+@@ -582,7 +582,7 @@ static void _epggrab_socket_handler ( ep
+
+ /* Process */
+ if ( data ) {
+- tvhinfo(mod->subsys, "%s: grab took %"PRItime_t" seconds", mod->id, tm2 - tm1);
++ tvhinfo(mod->subsys, "%s: grab took %"PRItime_t" seconds", mod->id, (intmax_t)(tm2 - tm1));
+ epggrab_module_parse(mod, data);
+
+ /* Failed */
+--- a/src/epggrab/module/opentv.c
++++ b/src/epggrab/module/opentv.c
+@@ -486,7 +486,7 @@ opentv_parse_event_section_one
+ 1, &save, &changes);
+ tvhdebug(LS_OPENTV, "find by time start %"PRItime_t " stop "
+ "%"PRItime_t " eid %d = %p",
+- ev.start, ev.stop, ev.eid, ebc);
++ (intmax_t)ev.start, (intmax_t)ev.stop, ev.eid, ebc);
+ save |= epg_broadcast_set_dvb_eid(ebc, ev.eid, &changes);
+ } else {
+ ebc = epg_broadcast_find_by_eid(ch, ev.eid);
+--- a/src/webui/simpleui.c
++++ b/src/webui/simpleui.c
+@@ -556,12 +556,12 @@ page_status(http_connection_t *hc,
+ "<title>%s</title>\n",
+ a.tm_year + 1900, a.tm_mon + 1, a.tm_mday,
+ a.tm_hour, a.tm_min,
+- de->de_start,
+- (time_t)dvr_entry_get_extra_time_pre(de),
++ (intmax_t)de->de_start,
++ (intmax_t)dvr_entry_get_extra_time_pre(de),
+ b.tm_year+1900, b.tm_mon + 1, b.tm_mday,
+ b.tm_hour, b.tm_min,
+- de->de_stop,
+- (time_t)dvr_entry_get_extra_time_post(de),
++ (intmax_t)de->de_stop,
++ (intmax_t)dvr_entry_get_extra_time_post(de),
+ buf);
+
+ rstatus = val2str(de->de_sched_state, recstatustxt);
diff --git a/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-allocate-space-for-buf-on-heap.patch b/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-allocate-space-for-buf-on-heap.patch
new file mode 100644
index 00000000..cbd76b6a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-allocate-space-for-buf-on-heap.patch
@@ -0,0 +1,46 @@
+From d4a405f87fc215c14e610a25b5a6b14060c1ef15 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Dec 2019 13:53:52 -0800
+Subject: [PATCH] allocate space for buf on heap
+
+Avoids
+| src/epggrab/module/xmltv.c:204:47: error: '%s' directive output may be truncated writing between 2 and 2147483645 bytes into a region of size 115 [-Werror=format-truncation=]
+| 204 | snprintf(buf, sizeof(buf)-1, "ddprogid://%s/%s", mod->id, s);
+| | ^~
+
+Upstream-Status: Submitted [https://github.com/tvheadend/tvheadend/pull/1324]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/epggrab/module/xmltv.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/epggrab/module/xmltv.c b/src/epggrab/module/xmltv.c
+index 34ab05bdb..b1a956614 100644
+--- a/src/epggrab/module/xmltv.c
++++ b/src/epggrab/module/xmltv.c
+@@ -197,11 +197,12 @@ static void parse_xmltv_dd_progid
+ (epggrab_module_t *mod, const char *s, char **uri, char **suri,
+ epg_episode_num_t *epnum)
+ {
+- char buf[128];
+ if (strlen(s) < 2) return;
+
++ char* buf = (char *)malloc(strlen(s) + strlen(mod->id) + 13);
++ buf[strlen(s) + strlen(mod->id) + 12] = '\0';
+ /* Raw URI */
+- snprintf(buf, sizeof(buf)-1, "ddprogid://%s/%s", mod->id, s);
++ snprintf(buf, strlen(s) + strlen(mod->id) + 12, "ddprogid://%s/%s", mod->id, s);
+
+ /* SH - series without episode id so ignore */
+ if (strncmp("SH", s, 2))
+@@ -219,6 +220,7 @@ static void parse_xmltv_dd_progid
+ if (buf[e+1]) sscanf(&buf[e+1], "%hu", &(epnum->e_num));
+ }
+ }
++ free(buf);
+ }
+
+ /**
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
new file mode 100644
index 00000000..20faef04
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Tvheadend: TV streaming server and recorder"
+HOMEPAGE = "https://tvheadend.org/"
+
+inherit autotools-brokensep gettext gitpkgv pkgconfig
+
+DEPENDS = "avahi cmake-native dvb-apps libdvbcsa libpcre2 openssl uriparser zlib"
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9cae5acac2e9ee2fc3aec01ac88ce5db"
+
+SRC_URI = "git://github.com/tvheadend/tvheadend.git \
+ file://0001-adjust-for-64bit-time_t.patch \
+ file://0001-allocate-space-for-buf-on-heap.patch \
+ "
+
+SRCREV = "fda89e85e0b6ae796d8a09e178d3937aa7869270"
+PV = "4.3+git${SRCPV}"
+PKGV = "4.3+git${GITPKGV}"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--arch=${TARGET_ARCH} \
+ --disable-hdhomerun_static \
+ --disable-ffmpeg_static \
+ --disable-libav \
+ --python=python3 \
+ "
+
+CLEANBROKEN = "1"
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-Do-not-use-obsolete-pow10f-function.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-Do-not-use-obsolete-pow10f-function.patch
deleted file mode 100644
index bd5e1b60..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-Do-not-use-obsolete-pow10f-function.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 0cc7362e171616dcfeb93c6e1576362761bf14e5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 31 Jan 2018 18:37:16 -0800
-Subject: [PATCH] Do not use obsolete pow10f() function
-
-exp10 name is standardized in TS 18661-4 and its
-available in glibc since version 2.1
-it has been now removed from glibc 2.27+
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- dsp/v4f_IIR2.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/dsp/v4f_IIR2.h b/dsp/v4f_IIR2.h
-index a68ecf5..ebd1234 100644
---- a/dsp/v4f_IIR2.h
-+++ b/dsp/v4f_IIR2.h
-@@ -33,7 +33,7 @@
- namespace DSP {
-
- #ifdef __APPLE__
--inline float pow10f(float f) {return pow(10,f);}
-+inline float exp10f(float f) {return __exp10f(f);}
- #endif
-
- class RBJv4
-@@ -142,7 +142,7 @@ class IIR2v4
- /* A = pow (10, gain / 40) */
- v4f_t A = (v4f_t) {.025,.025,.025,.025};
- A *= gain;
-- A = v4f_map<pow10f> (A);
-+ A = v4f_map<exp10f> (A);
-
- RBJv4 p (f, Q);
-
-@@ -429,7 +429,7 @@ class IIR2v4Bank
- /* A = pow (10, gain / 40) */
- v4f_t A = (v4f_t) {.025,.025,.025,.025};
- A *= gain[i];
-- A = v4f_map<pow10f> (A);
-+ A = v4f_map<exp10f> (A);
-
- RBJv4 p (f[i], Q[i]);
-
---
-2.16.1
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/Avoid-ambiguity-in-div-invocation.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/Avoid-ambiguity-in-div-invocation.patch
deleted file mode 100644
index 1a050af9..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/Avoid-ambiguity-in-div-invocation.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1ea09653692efdd6443fb6770e8523bf6c9e49b9 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Thu, 6 Oct 2016 11:54:07 -0300
-Subject: Avoid ambiguity in div invocation
-Organization: O.S. Systems Software LTDA.
-
-Patch from:
-https://anonscm.debian.org/cgit/pkg-multimedia/caps.git/commit/?id=9a99c225fb813ae69f146e3d90f7b47bdbd97708
-
-Upstream-Status: Pending
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- AutoFilter.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/AutoFilter.cc b/AutoFilter.cc
-index fc087d0..bd6b12f 100644
---- a/AutoFilter.cc
-+++ b/AutoFilter.cc
-@@ -69,7 +69,7 @@ AutoFilter::activate()
- void
- AutoFilter::cycle (uint frames)
- {
-- div_t qr = div (frames, blocksize);
-+ div_t qr = div ((int)frames, (int)blocksize);
- int blocks = qr.quot;
- if (qr.rem) ++blocks;
- double over_blocks = 1./blocks;
---
-2.1.4
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
deleted file mode 100644
index fe864c49..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "The CAPS Audio Plugin Suite - LADSPA plugin suite"
-HOMEPAGE = "http://quitte.de/dsp/caps.html"
-LICENSE = "GPL-3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://quitte.de/dsp/${PN}_${PV}.tar.bz2 \
- file://Avoid-ambiguity-in-div-invocation.patch \
- file://0001-basic.h-Use-c99-supported-stdint-types.patch \
- file://append_ldflags.patch \
- file://0001-Do-not-use-obsolete-pow10f-function.patch \
- "
-
-SRC_URI[md5sum] = "c1d634038dcb54702306c0e30cb1c626"
-SRC_URI[sha256sum] = "f746feba57af316b159f0169de5d78b4fd1064c2c0c8017cb5856b2f22e83f20"
-
-S = "${WORKDIR}/${PN}-${PV}"
-
-EXTRA_OEMAKE = " \
- CC='${CXX}' \
- CFLAGS='${CFLAGS} -ffast-math -funroll-loops -fPIC -DPIC' \
- ARCH='' \
-"
-do_compile() {
- oe_runmake all
-}
-
-do_install() {
- install -Dm 0644 caps.so ${D}${libdir}/ladspa/caps.so
-}
-
-FILES_${PN} = "${libdir}/ladspa/"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb
new file mode 100644
index 00000000..46bcf6c6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "The CAPS Audio Plugin Suite - LADSPA plugin suite"
+HOMEPAGE = "http://quitte.de/dsp/caps.html"
+LICENSE = "GPL-3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://quitte.de/dsp/${BPN}_${PV}.tar.bz2 \
+ file://0001-basic.h-Use-c99-supported-stdint-types.patch \
+ file://append_ldflags.patch \
+ "
+
+SRC_URI[md5sum] = "36b30c7c7db2d2bc5f4f54077e97b5ee"
+SRC_URI[sha256sum] = "e7496c5bce05abebe3dcb635926153bbb58a9337a6e423f048d3b61d8a4f98c9"
+
+EXTRA_OEMAKE = " \
+ CC='${CXX}' \
+ CFLAGS='${CFLAGS} -ffast-math -funroll-loops -fPIC -DPIC' \
+ ARCH='' \
+"
+do_compile() {
+ oe_runmake all
+}
+
+do_install() {
+ install -Dm 0644 caps.so ${D}${libdir}/ladspa/caps.so
+}
+
+FILES_${PN} = "${libdir}/ladspa/"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec/0001-define-BASELIB-make-variable.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec/0001-define-BASELIB-make-variable.patch
new file mode 100644
index 00000000..adce802b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec/0001-define-BASELIB-make-variable.patch
@@ -0,0 +1,31 @@
+From 18cc69460d2a0c756880bd54fda36afb0173ea02 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 19:47:36 -0800
+Subject: [PATCH] define BASELIB make variable
+
+This helps to override the default libdir from environment
+
+Upstream-Status: Submitted [https://github.com/foo86/dcadec/pull/61]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index a503698..8f323be 100644
+--- a/Makefile
++++ b/Makefile
+@@ -7,8 +7,9 @@ API_PATCH = 0
+ CFLAGS := -std=gnu99 -D_FILE_OFFSET_BITS=64 -Wall -Wextra -O3 -ffast-math -g -MMD $(CFLAGS)
+
+ PREFIX ?= /usr/local
++BASELIB ?= lib
+ BINDIR ?= $(PREFIX)/bin
+-LIBDIR ?= $(PREFIX)/lib
++LIBDIR ?= $(PREFIX)/$(BASELIB)
+ INCLUDEDIR ?= $(PREFIX)/include
+
+ SRC_DIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
index 45b53c11..1a51abc3 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
@@ -4,14 +4,16 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c"
SRCREV = "b93deed1a231dd6dd7e39b9fe7d2abe05aa00158"
-SRC_URI = "git://github.com/foo86/dcadec.git;protocol=http"
+SRC_URI = "git://github.com/foo86/dcadec.git;protocol=https \
+ file://0001-define-BASELIB-make-variable.patch \
+ "
S = "${WORKDIR}/git"
inherit lib_package
-EXTRA_OEMAKE = "CONFIG_SHARED=1"
+EXTRA_OEMAKE = "CONFIG_SHARED=1 PREFIX=${prefix} BASELIB=${baselib}"
do_install() {
- oe_runmake install DESTDIR="${D}" PREFIX="${prefix}"
+ oe_runmake install DESTDIR="${D}"
}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
index a3b27937..8939cd36 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
@@ -7,12 +7,14 @@ HOMEPAGE = "https://01.org/dleyna/"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://libdleyna/core/core.c;endline=21;md5=139cba0c634344abc9456694fbb5083b"
+ file://libdleyna/core/core.c;endline=21;md5=68602998351825b0844aae34c684c54e"
DEPENDS = "glib-2.0 gupnp"
+PV .= "+git${SRCPV}"
+
SRC_URI = "git://github.com/01org/${BPN}.git"
-SRCREV = "27a3786ec013f64fd58243410a60798f824acec3"
+SRCREV = "1c6853f5bc697dc0a8774fd70dbc915c4dbe7c5b"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer/0001-add-gupnp-1.2-API-support.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer/0001-add-gupnp-1.2-API-support.patch
new file mode 100644
index 00000000..8f54658a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer/0001-add-gupnp-1.2-API-support.patch
@@ -0,0 +1,123 @@
+From 7c945e7960cf7dffd9dd0bb5f7ec6bee4dc0bca3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Feb 2020 14:17:55 -0800
+Subject: [PATCH] add gupnp 1.2 API support
+
+Takes from https://git.archlinux.org/svntogit/packages.git/tree/trunk/gupnp-1.2.diff?h=packages/dleyna-renderer
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 +--
+ libdleyna/renderer/device.c | 51 +++++++++++++++++++++++++++++++++++--
+ libdleyna/renderer/upnp.c | 4 +--
+ 3 files changed, 53 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 271ee92..364659d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -38,8 +38,8 @@ LT_LANG([C])
+ PKG_PROG_PKG_CONFIG(0.16)
+ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28])
+ PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.28])
+-PKG_CHECK_MODULES([GSSDP], [gssdp-1.0 >= 0.13.2])
+-PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.20.5])
++PKG_CHECK_MODULES([GSSDP], [gssdp-1.2 >= 1.2.0])
++PKG_CHECK_MODULES([GUPNP], [gupnp-1.2 >= 1.2.0])
+ PKG_CHECK_MODULES([GUPNPAV], [gupnp-av-1.0 >= 0.11.5])
+ PKG_CHECK_MODULES([GUPNPDLNA], [gupnp-dlna-2.0 >= 0.9.4])
+ PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= 2.28.2])
+diff --git a/libdleyna/renderer/device.c b/libdleyna/renderer/device.c
+index 783fb52..c7b9fc3 100644
+--- a/libdleyna/renderer/device.c
++++ b/libdleyna/renderer/device.c
+@@ -2121,6 +2121,53 @@ exit:
+ return;
+ }
+
++typedef struct
++{
++ GMainLoop *loop;
++ GUPnPServiceIntrospection *introspection;
++ GError **error;
++} GetIntrospectionAsyncData;
++
++static void
++get_introspection_async_cb (GUPnPServiceInfo *info,
++ GUPnPServiceIntrospection *introspection,
++ const GError *error,
++ gpointer user_data)
++{
++ GetIntrospectionAsyncData *data = user_data;
++ data->introspection = introspection;
++ if (data->error)
++ *data->error = g_error_copy (error);
++ g_main_loop_quit (data->loop);
++}
++
++static GUPnPServiceIntrospection *
++_gupnp_service_info_get_introspection (GUPnPServiceInfo *info,
++ GError **error)
++{
++ GetIntrospectionAsyncData data;
++ GMainContext *context;
++
++ context = g_main_context_new ();
++ data.loop = g_main_loop_new (context, FALSE);
++ data.error = error;
++
++ g_main_context_push_thread_default (context);
++
++ gupnp_service_info_get_introspection_async (info,
++ get_introspection_async_cb,
++ &data);
++
++ g_main_loop_run (data.loop);
++
++ g_main_context_pop_thread_default (context);
++
++ g_main_loop_unref (data.loop);
++ g_main_context_unref (context);
++
++ return data.introspection;
++}
++
+ static gboolean prv_get_av_service_states_values(GUPnPServiceProxy *av_proxy,
+ GVariant **mpris_tp_speeds,
+ GPtrArray **upnp_tp_speeds,
+@@ -2147,7 +2194,7 @@ static gboolean prv_get_av_service_states_values(GUPnPServiceProxy *av_proxy,
+ weak_ref = av_proxy;
+ g_object_add_weak_pointer(G_OBJECT(av_proxy), &weak_ref);
+
+- introspection = gupnp_service_info_get_introspection(
++ introspection = _gupnp_service_info_get_introspection(
+ GUPNP_SERVICE_INFO(av_proxy),
+ &error);
+
+@@ -2215,7 +2262,7 @@ static gboolean prv_get_rc_service_states_values(GUPnPServiceProxy *rc_proxy,
+ weak_ref = rc_proxy;
+ g_object_add_weak_pointer(G_OBJECT(rc_proxy), &weak_ref);
+
+- introspection = gupnp_service_info_get_introspection(
++ introspection = _gupnp_service_info_get_introspection(
+ GUPNP_SERVICE_INFO(rc_proxy),
+ &error);
+
+diff --git a/libdleyna/renderer/upnp.c b/libdleyna/renderer/upnp.c
+index ac1b08a..b762226 100644
+--- a/libdleyna/renderer/upnp.c
++++ b/libdleyna/renderer/upnp.c
+@@ -243,8 +243,8 @@ static void prv_server_unavailable_cb(GUPnPControlPoint *cp,
+
+ udn = gupnp_device_info_get_udn((GUPnPDeviceInfo *)proxy);
+
+- ip_address = gupnp_context_get_host_ip(
+- gupnp_control_point_get_context(cp));
++ ip_address = gssdp_client_get_host_ip(
++ GSSDP_CLIENT(gupnp_control_point_get_context(cp)));
+
+ if (!udn || !ip_address)
+ goto on_error;
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
index b30aee9f..642f21bd 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
@@ -11,7 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
DEPENDS = "glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4 dleyna-core"
RDEPENDS_${PN} = "dleyna-connector-dbus"
-SRC_URI = "git://github.com/01org/${BPN}.git"
+SRC_URI = "git://github.com/01org/${BPN}.git \
+ file://0001-add-gupnp-1.2-API-support.patch \
+ "
SRCREV = "50fd1ec9d51328e7dea98874129dc8d6fe3ea1dd"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
index a8e5406d..e31b7aea 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
@@ -11,8 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
DEPENDS = "glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4 libxml2 dleyna-core"
RDEPENDS_${PN} = "dleyna-connector-dbus"
+PV .= "+git${SRCPV}"
SRC_URI = "git://github.com/01org/${BPN}.git"
-SRCREV = "776950d5d96ac9dbf5c5c47bde8ac06f50a3cf46"
+SRCREV = "eb895ae82715e9889a948ffa810c0f828b4f4c76"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
new file mode 100644
index 00000000..f354ef38
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
@@ -0,0 +1,101 @@
+SUMMARY = "Linux DVB API applications and utilities"
+HOMEPAGE = "http://www.linuxtv.org"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+SRCREV = "3d43b280298c39a67d1d889e01e173f52c12da35"
+
+SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \
+ file://dvb-scan-table \
+ file://0001-Fix-generate-keynames.patch \
+ file://0003-handle-static-shared-only-build.patch \
+ file://0004-Makefile-remove-test.patch \
+ file://0005-libucsi-optimization-removal.patch \
+ file://0006-CA_SET_PID.patch \
+ file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \
+ "
+
+S = "${WORKDIR}/${BPN}"
+
+inherit perlnative
+
+export enable_static="no"
+
+do_configure() {
+ sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh
+}
+do_install() {
+ make DESTDIR=${D} install
+ install -d ${D}/${bindir}
+ install -d ${D}/${docdir}/dvb-apps
+ install -d ${D}/${docdir}/dvb-apps/scan
+ install -d ${D}/${docdir}/dvb-apps/szap
+ chmod a+rx ${D}/${libdir}/*.so*
+ cp -R --no-dereference --preserve=mode,links ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/
+ cp -R --no-dereference --preserve=mode,links ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/
+ cp -R --no-dereference --preserve=mode,links ${WORKDIR}/dvb-scan-table/* ${D}/usr/share/dvb
+}
+
+PACKAGES =+ "dvb-evtest dvb-evtest-dbg \
+ dvbapp-tests dvbapp-tests-dbg \
+ dvbdate dvbdate-dbg \
+ dvbtraffic dvbtraffic-dbg \
+ dvbnet dvbnet-dbg \
+ dvb-scan dvb-scan-dbg dvb-scan-data \
+ dvb-azap dvb-azap-dbg \
+ dvb-czap dvb-czap-dbg \
+ dvb-szap dvb-szap-dbg \
+ dvb-tzap dvb-tzap-dbg \
+ dvb-femon dvb-femon-dbg \
+ dvb-zap-data"
+PACKAGES =+ "libdvbapi libdvbcfg libdvben50221 \
+ libesg libucsi libdvbsec"
+
+RDEPENDS_dvbdate =+ "libdvbapi libucsi"
+RDEPENDS_dvbtraffic =+ "libdvbapi"
+RDEPENDS_dvb-scan =+ "libdvbapi libdvbcfg libdvbsec"
+RDEPENDS_dvb-apps =+ "libdvbapi libdvbcfg libdvbsec libdvben50221 libucsi"
+RDEPENDS_dvb-femon =+ "libdvbapi"
+RDEPENDS_dvbnet =+ "libdvbapi"
+
+RCONFLICTS_dvb-evtest = "evtest"
+
+FILES_${PN} = "${bindir} ${datadir}/dvb"
+FILES_${PN}-doc = ""
+FILES_${PN}-dev = "${includedir}"
+FILES_dvb-evtest = "${bindir}/evtest"
+FILES_dvb-evtest-dbg = "${bindir}/.debug/evtest"
+FILES_dvbapp-tests = "${bindir}/*test* "
+FILES_dvbapp-tests-dbg = "${bindir}/.debug/*test*"
+FILES_dvbdate = "${bindir}/dvbdate"
+FILES_dvbdate-dbg = "${bindir}/.debug/dvbdate"
+FILES_dvbtraffic = "${bindir}/dvbtraffic"
+FILES_dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic"
+FILES_dvbnet = "${bindir}/dvbnet"
+FILES_dvbnet-dbg = "${bindir}/.debug/dvbnet"
+FILES_dvb-scan = "${bindir}/*scan "
+FILES_dvb-scan-dbg = "${bindir}/.debug/*scan"
+FILES_dvb-scan-data = "${docdir}/dvb-apps/scan"
+FILES_dvb-azap = "${bindir}/azap"
+FILES_dvb-azap-dbg = "${bindir}/.debug/azap"
+FILES_dvb-czap = "${bindir}/czap"
+FILES_dvb-czap-dbg = "${bindir}/.debug/czap"
+FILES_dvb-szap = "${bindir}/szap"
+FILES_dvb-szap-dbg = "${bindir}/.debug/szap"
+FILES_dvb-tzap = "${bindir}/tzap"
+FILES_dvb-tzap-dbg = "${bindir}/.debug/tzap"
+FILES_dvb-femon = "${bindir}/femon"
+FILES_dvb-femon-dbg = "${bindir}/.debug/femon"
+FILES_dvb-zap-data = "${docdir}/dvb-apps/szap"
+
+python populate_packages_prepend () {
+ dvb_libdir = bb.data.expand('${libdir}', d)
+ do_split_packages(d, dvb_libdir, '^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True)
+ do_split_packages(d, dvb_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, dvb_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, dvb_libdir, '^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True)
+}
+
+INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP_${PN}-dev = "ldflags"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch
new file mode 100644
index 00000000..498607d9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch
@@ -0,0 +1,30 @@
+Fix generate-keynames.sh script for cross-compilation
+
+generate-keynames.sh reads /usr/include/linux to find the keyname
+symbols. However, when cross-compiling, the include path points
+somewhere else. Allow the user to pass CROSS_ROOT to point to the
+root of the cross-compilation environment.
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+diff -rup dvb-apps-83c746462ccb.orig/util/av7110_loadkeys/generate-keynames.sh dvb-apps-83c746462ccb/util/av7110_loadkeys/generate-keynames.sh
+--- dvb-apps-83c746462ccb.orig/util/av7110_loadkeys/generate-keynames.sh 2012-12-06 10:38:07.000000000 +0100
++++ dvb-apps-83c746462ccb/util/av7110_loadkeys/generate-keynames.sh 2013-08-29 21:47:09.717991439 +0200
+@@ -18,7 +18,7 @@ echo "};" >> $1
+ echo >> $1
+ echo >> $1
+ echo "static struct input_key_name key_name [] = {" >> $1
+-for x in $(cat /usr/include/linux/input.h input_fake.h | \
++for x in $(cat ${CROSS_ROOT}/usr/include/linux/input.h input_fake.h | \
+ egrep "#define[ \t]+KEY_" | grep -v KEY_MAX | \
+ cut -f 1 | cut -f 2 -d " " | sort -u) ; do
+ echo " { \"$(echo $x | cut -b 5-)\", $x }," >> $1
+@@ -26,7 +26,7 @@ done
+ echo "};" >> $1
+ echo >> $1
+ echo "static struct input_key_name btn_name [] = {" >> $1
+-for x in $(cat /usr/include/linux/input.h input_fake.h | \
++for x in $(cat ${CROSS_ROOT}/usr/include/linux/input.h input_fake.h | \
+ egrep "#define[ \t]+BTN_" | \
+ cut -f 1 | cut -f 2 -d " " | sort -u) ; do
+ echo " { \"$(echo $x | cut -b 5-)\", $x }," >> $1
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch
new file mode 100644
index 00000000..9035b56f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch
@@ -0,0 +1,32 @@
+From d6817dbaf407f65dd4af12c51736153fae8b217f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 21 Dec 2019 08:36:11 -0800
+Subject: [PATCH] dvbdate: Remove Obsoleted stime API calls
+
+stime() has been deprecated in glibc 2.31+ its recommended to
+replaced with clock_settime()
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ util/dvbdate/dvbdate.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/util/dvbdate/dvbdate.c b/util/dvbdate/dvbdate.c
+index f0df437..492ed79 100644
+--- a/util/dvbdate/dvbdate.c
++++ b/util/dvbdate/dvbdate.c
+@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsigned int to)
+ */
+ int set_time(time_t * new_time)
+ {
+- if (stime(new_time)) {
++ struct timespec ts;
++ ts.tv_sec = &new_time;
++ ts.tv_nsec = 0;
++ if (clock_settime(CLOCK_REALTIME, &ts)) {
+ perror("Unable to set time");
+ return -1;
+ }
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch
new file mode 100644
index 00000000..4dc7c68a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch
@@ -0,0 +1,44 @@
+From a826c7c722db40bfedf00e51ce38411550ae8216 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Thu, 25 Dec 2014 19:22:16 +0100
+Subject: [PATCH] Make.rules: Handle static/shared only build
+
+Do not build .a library when enable_static is set to "no"
+Do not build .so library when enable_shared is set to "no"
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ Make.rules | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/Make.rules b/Make.rules
+index 3410d7b..d274e16 100644
+--- a/Make.rules
++++ b/Make.rules
+@@ -9,7 +9,13 @@ ifneq ($(lib_name),)
+ CFLAGS_LIB ?= -fPIC
+ CFLAGS += $(CFLAGS_LIB)
+
+-libraries = $(lib_name).so $(lib_name).a
++ifneq ($(enable_static),no)
++libraries += $(lib_name).a
++endif
++
++ifneq ($(enable_shared),no)
++libraries += $(lib_name).so
++endif
+
+ .PHONY: library
+
+@@ -23,7 +29,7 @@ prerequisites = $(subst .o,.d,$(objects)) $(addsuffix .d,$(binaries))
+
+ .PHONY: clean install
+
+-ifeq ($(static),1)
++ifneq ($(enable_static),no)
+ LDFLAGS += -static
+ endif
+
+--
+1.9.3
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch
new file mode 100644
index 00000000..45bfad91
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch
@@ -0,0 +1,27 @@
+From c578772d6abc5fdf3ec83f632c371373e5baf9f1 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Fri, 26 Dec 2014 01:04:58 +0100
+Subject: [PATCH] Makefile: remove test
+
+Tests needs static libraries, remove them for shared only build.
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 65a2273..105c460 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,7 +10,6 @@ DVB_API_MINOR := $(word 3, $(shell grep -m1 "DVB_API_VERSION_MINOR" $(VERSION_FI
+
+ all clean install:
+ $(MAKE) -C lib $@
+- $(MAKE) -C test $@
+ $(MAKE) -C util $@
+
+ update:
+--
+1.9.3
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch
new file mode 100644
index 00000000..f12d35bc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch
@@ -0,0 +1,13 @@
+diff -r 3d43b280298c lib/libucsi/endianops.h
+--- a/lib/libucsi/endianops.h Fri Mar 21 20:26:36 2014 +0100
++++ b/lib/libucsi/endianops.h Fri Jan 19 06:56:15 2018 +0000
+@@ -33,6 +33,9 @@
+ #define __ucsi_packed __attribute__((packed))
+
+
++#if __GNUC__ >= 6 + (0 >= __GNUC_MINOR__)
++#pragma GCC optimize ("O1")
++#endif
+
+
+ #if __BYTE_ORDER == __BIG_ENDIAN
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch
new file mode 100644
index 00000000..e100c659
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch
@@ -0,0 +1,24 @@
+Index: dvb-apps/util/dst-utils/dst_test.c
+===================================================================
+--- dvb-apps.orig/util/dst-utils/dst_test.c
++++ dvb-apps/util/dst-utils/dst_test.c
+@@ -35,7 +35,18 @@
+ #include <libdvben50221/en50221_app_tags.h>
+
+ #define CA_NODE "/dev/dvb/adapter0/ca0"
+-
++/*
++ Quick hack around the removal of ca_pid_t and CA_GET_PID in recent kernels
++ https://github.com/torvalds/linux/commit/833ff5e7feda1a042b83e82208cef3d212ca0ef1
++*/
++#ifndef CA_SET_PID
++typedef struct ca_pid {
++ unsigned int pid;
++ int index; /* -1 == disable*/
++} ca_pid_t;
++/* We should not be able to get it so a number that is unlikely to happen */
++#define CA_SET_PID 42424242
++#endif
+ static int dst_comms(int cafd, uint32_t tag, uint32_t function, struct ca_msg *msg)
+ {
+ if (tag) {
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/ca-AB-Calgary b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/ca-AB-Calgary
new file mode 100755
index 00000000..4602c2a1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/ca-AB-Calgary
@@ -0,0 +1,48 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20110502 1 0 ATSC CA </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Calgary AB, Canada OTA
+# date (yyyy-mm-dd) : 2014-01-18
+
+# provided by (opt) : shadowofdarkness@gmail.com
+#
+# A[2] <freq> <mod> [# comment]
+#------------------------------------------------------------------------------
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 515000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 563000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 581000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 617000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 635000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 683000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ATSC-center-frequencies-8VSB b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ATSC-center-frequencies-8VSB
new file mode 100755
index 00000000..e7448782
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ATSC-center-frequencies-8VSB
@@ -0,0 +1,410 @@
+# US ATSC center frequencies, use if in doubt
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 57028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 63028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 69028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 79028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 85028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 177028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 183028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 189028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 195028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 201028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 207028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 213028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 473028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 479028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 485028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 491028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 497028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 503028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 509028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 515028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 521028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 527028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 533028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 539028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 545028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 551028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 557028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 563028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 569028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 575028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 581028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 587028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 593028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 599028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 605028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 611028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 617028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 623028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 629028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 635028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 641028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 647028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 653028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 659028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 665028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 671028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 677028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 683028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 689028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 695028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 701028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 707028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 713028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 719028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 725028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 731028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 737028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 743028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 749028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 755028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 761028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 767028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 773028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 779028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 785028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 791028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 797028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 803028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CA-SF-Bay-Area b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CA-SF-Bay-Area
new file mode 100755
index 00000000..e48e6e22
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CA-SF-Bay-Area
@@ -0,0 +1,81 @@
+# initial tuning data for some frequencies of for the San Francisco Bay Area
+# includes San Francisco, San Jose, Oakland...
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 503000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 551000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 563000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 593000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 623000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 635000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 647000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 659000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 683000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 689000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 701000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 725000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 731000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CO-Denver b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CO-Denver
new file mode 100755
index 00000000..078ecb01
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CO-Denver
@@ -0,0 +1,116 @@
+# main channels in Denver
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 189028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 213028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 479028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 485028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 491028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 497028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 503028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 515028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 563028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 581028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 593028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 599028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 617028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 629028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 635028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 647028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 659028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 689028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 695028615
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-HRC-center-frequencies-QAM256 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-HRC-center-frequencies-QAM256
new file mode 100755
index 00000000..c541b1e1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-HRC-center-frequencies-QAM256
@@ -0,0 +1,767 @@
+# US EIA-542 Cable center frequencies
+# Harmonically Related Carriers (HRC)
+# Channels 1 to 125 are in ascending EIA/NCTA channel designation order
+
+#1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 73753600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 55752700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 61753000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 67753300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 77753900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 83754200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 175758700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 181759000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 187759300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 193759600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 199759900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 205760200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 211760500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 121756000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 127756300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 133756600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 139756900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 145757200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 151757500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#20
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 157757800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 163758100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 169758400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 217760800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 223761100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 229761400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 235761700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 241762000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 247762300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 253762600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#30
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 259762900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 265763200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 271763500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 277763800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 283764100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 289764400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 295764700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 301765000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 307765300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 313765600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 319765900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 325766200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 331766500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 337766800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 343767100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 349767400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 355767700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 361768000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 367768300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 373768600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#50
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 379768900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 385769200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 391769500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 397769800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 403770100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 409770400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 415770700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 421771000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 427771300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 433771600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#60
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 439771900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 445772200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 451772500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 457772800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 463773100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 469773400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 475773700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 481774000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 487774300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 493774600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#70
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 499774900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 505775200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 511775500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 517775800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 523776100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 529776400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 535776700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 541777000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 547777300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 553777600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#80
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 559777900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 565778200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 571778500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 577778800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 583779100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 589779400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 595779700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 601780000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 607780300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 613780600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#90
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 619780900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 625781200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 631781500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 637781800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 643782100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 91754500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 97754800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 103755100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 109775000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 115775000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#100
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 649782400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 655782700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 661783000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 667783300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 673783600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 679783900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 685784200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 691784500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 697784800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 703785100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#110
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 709785400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 715785700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 721786000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 727786300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 733786600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 739786900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 745787200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 751787500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 757787800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 763788100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#120
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 769788400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 775788700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 781789000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 787789300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 793789600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 799789900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-IRC-center_frequencies-QAM256 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-IRC-center_frequencies-QAM256
new file mode 100755
index 00000000..1aa2a11f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-IRC-center_frequencies-QAM256
@@ -0,0 +1,767 @@
+# US Cable EIA-542 center frequencies
+# Incrementally Related Carriers (IRC)
+# Channels 1-125 are in ascending EIA/NCTA channel designation order
+
+#1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 75012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 57025000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 63012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 69012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 79012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 85012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 177012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 183012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 189012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 195012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 201012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 207012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 213012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 123012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 129012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 135012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 141012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 147012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 153012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#20
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 159012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 165012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 171012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 219012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 225012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 231012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 237012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 243012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 249012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 255012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#30
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 261012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 267012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 273012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 279012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 285012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 291012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 297012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 303012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 309012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 315012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 321012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 327012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 333025000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 339012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 345012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 351012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 357012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 363012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 369012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 375012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#50
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 381012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 387012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 393012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 399012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 405012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 411012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 417012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 423012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 429012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 435012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#60
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 441012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 447012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 453012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 459012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 465012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 471012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 477012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 483012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 489012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 495012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#70
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 501012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 507012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 513012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 519012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 525012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 531012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 537012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 543012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 549012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 555012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#80
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 561012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 567012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 573012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 579012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 585012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 591012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 597012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 603012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 609012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 615012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#90
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 621012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 627012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 633012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 639012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 645012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 93012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 99012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 105012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 111012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 117012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#100
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 651012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 657012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 663012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 669012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 675012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 681012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 687012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 693012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 699012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 705012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#110
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 711012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 717012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 723012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 729012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 735012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 741012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 747012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 753012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 759012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 765012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#120
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 771012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 777012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 783012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 789012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 795012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 801012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-HRC-center-frequencies-QAM256 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-HRC-center-frequencies-QAM256
new file mode 100755
index 00000000..2e20b455
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-HRC-center-frequencies-QAM256
@@ -0,0 +1,767 @@
+# US Cable center frequencies
+# Harmonically Related Carriers (HRC)
+# Channels are in ascending EIA/NCTA channel designation order
+
+#1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 73753600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 55752700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 61753000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 67753300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 77753900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 83754200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 175758700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 181759000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 187759300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 193759600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 199759900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 205760200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 211760500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 121756000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 127756300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 133756600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 139756900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 145757200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 151757500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#20
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 157757800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 163758100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 169758400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 217760800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 223761100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 229761400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 235761700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 241762000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 247762300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 253762600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#30
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 259762900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 265763200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 271763500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 277763800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 283764100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 289764400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 295764700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 301765000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 307765300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 313765600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 319765900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 325766200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 331766500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 337766800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 343767100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 349767400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 355767700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 361768000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 367768300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 373768600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#50
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 379768900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 385769200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 391769500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 397769800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 403770100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 409770400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 415770700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 421771000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 427771300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 433771600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#60
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 439771900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 445772200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 451772500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 457772800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 463773100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 469773400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 475773700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 481774000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 487774300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 493774600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#70
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 499774900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 505775200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 511775500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 517775800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 523776100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 529776400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 535776700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 541777000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 547777300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 553777600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#80
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 559777900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 565778200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 571778500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 577778800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 583779100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 589779400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 595779700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 601780000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 607780300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 613780600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#90
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 619780900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 625781200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 631781500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 637781800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 643782100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 91754500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 97754800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 103755100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 109755400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 115755700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#100
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 649782400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 655782700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 661783000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 667783300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 673783600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 679783900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 685784200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 691784500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 697784800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 703785100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#110
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 709785400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 715785700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 721786000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 727786300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 733786600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 739786900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 745787200
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 751787500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 757787800
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 763788100
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#120
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 769788400
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 775788700
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 781789000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 787789300
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 793789600
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 799789900
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-IRC-center-frequencies-QAM256 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-IRC-center-frequencies-QAM256
new file mode 100755
index 00000000..cd8c4086
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-IRC-center-frequencies-QAM256
@@ -0,0 +1,767 @@
+# US Cable center frequencies
+# Incrementally Related Carriers (IRC)
+# Channels are in ascending EIA/NCTA channel designation order
+
+#1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 75000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 57000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 63000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 69000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 79000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 85000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 177000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 183000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 189000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 195000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 201000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 207000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 213000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 123000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 129000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 135000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 141000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 147000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 153000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#20
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 159000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 165000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 171000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 219000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 225000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 231000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 237000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 243000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 249000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 255000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#30
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 261000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 267000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 273000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 279000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 285000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 291000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 297000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 303000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 309000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 315000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 321000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 327000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 333000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 339000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 345000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 351000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 357000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 363000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 369000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 375000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#50
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 381000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 387000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 393000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 399000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 405000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 411000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 417000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 423000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 429000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 435000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#60
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 441000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 447000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 453000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 459000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 465000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 471000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 477000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 483000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 489000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 495000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#70
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 501000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 507000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 513000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 519000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 525000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 531000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 537000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 543000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 549000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 555000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#80
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 561000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 567000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 573000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 579000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 585000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 591000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 597000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 603000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 609000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 615000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#90
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 621000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 627000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 633000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 639000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 645000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 93000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 99000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 105000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 111000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 117000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#100
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 651000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 657000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 663000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 669000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 675000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 681000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 687000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 693000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 699000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 705000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#110
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 711000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 717000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 723000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 729000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 735000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 741000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 747000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 753000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 759000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 765000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#120
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 771000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 777000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 783000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 789000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 795000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 801000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-Standard-center-frequencies-QAM256 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-Standard-center-frequencies-QAM256
new file mode 100755
index 00000000..b4931287
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-Standard-center-frequencies-QAM256
@@ -0,0 +1,961 @@
+# US EIA/NCTA Standard Cable center frequencies
+# Channels are in ascending EIA/NCTA channel designation order
+
+#2
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 57000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 63000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 69000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 79000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 85000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 177000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 183000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 189000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 195000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 201000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 207000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 213000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 123012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 129012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 135012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 141000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 147000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 153000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#20
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 159000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 165000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 171000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 219000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 225000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 231012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 237012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 243012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 249012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 255012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#30
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 261012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 267012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 273012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 279012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 285012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 291012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 297012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 303012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 309012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 315012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 321012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 327012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 333025000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 339012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 345012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 351012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 357012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 363012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 369012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 375012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#50
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 381012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 387012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 393012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 399012500
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 405000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 411000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 417000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 423000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 429000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 435000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#60
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 441000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 447000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 453000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 459000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 465000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 471000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 477000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 483000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 489000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 495000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#70
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 501000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 507000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 513000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 519000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 525000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 531000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 537000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 543000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 549000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 555000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#80
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 561000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 567000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 573000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 579000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 585000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 591000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 597000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 603000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 609000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 615000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#90
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 621000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 627000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 633000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 639000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 645000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 93000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 99000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 105000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 111025000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 117025000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#100
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 651000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 657000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 663000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 669000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 675000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 681000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 687000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 693000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 699000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 705000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#110
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 711000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 717000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 723000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 729000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 735000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 741000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 747000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 753000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 759000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 765000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#120
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 771000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 777000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 783000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 789000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 795000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 801000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 807000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 813000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 819000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 825000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#121
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 831000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 837000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 843000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 849000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 855000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 861000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 867000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 873000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 879000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 885000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#122
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 891000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 897000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 903000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 909000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 915000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 921000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 927000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 933000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 939000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 945000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+#123
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 951000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 957000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 963000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 969000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 975000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 981000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 987000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 993000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_B
+ FREQUENCY = 999000000
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ID-Boise b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ID-Boise
new file mode 100755
index 00000000..dcef67cc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ID-Boise
@@ -0,0 +1,38 @@
+# Boise, ID, USA
+# A freq mod
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 195000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 213000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 515000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 533000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 545000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 557000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MA-Boston b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MA-Boston
new file mode 100755
index 00000000..2324402c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MA-Boston
@@ -0,0 +1,68 @@
+# initial tuning data for Boston, MA
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 503000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 509000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 527000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 563000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 569000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 575000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 581000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 623000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 635000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 641000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 647000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MI-Lansing b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MI-Lansing
new file mode 100755
index 00000000..41fb8d2c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MI-Lansing
@@ -0,0 +1,32 @@
+# initial tuning data for Lansing, MI
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 617000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 695000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 719000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 731000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 743000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-NTSC-center-frequencies-8VSB b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-NTSC-center-frequencies-8VSB
new file mode 100755
index 00000000..8f153aff
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-NTSC-center-frequencies-8VSB
@@ -0,0 +1,410 @@
+# US NTSC center frequencies, use if in doubt
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 57000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 63000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 69000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 79000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 85000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 177000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 183000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 189000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 195000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 201000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 207000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 213000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 473000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 479000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 485000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 491000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 497000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 503000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 509000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 515000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 521000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 527000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 533000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 539000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 545000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 551000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 557000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 563000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 569000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 575000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 581000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 587000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 593000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 599000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 605000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 611000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 617000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 623000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 629000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 635000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 641000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 647000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 653000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 659000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 665000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 671000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 677000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 683000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 689000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 695000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 701000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 707000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 713000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 719000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 725000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 731000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 737000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 743000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 749000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 755000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 761000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 767000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 773000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 779000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 785000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 791000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 797000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 803000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-PA-Philadelphia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-PA-Philadelphia
new file mode 100755
index 00000000..64a7e69f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-PA-Philadelphia
@@ -0,0 +1,56 @@
+# US NY state
+
+#A 183000000 8VSB
+#A 515000000 8VSB
+#A 545000000 8VSB
+#A 551000000 8VSB
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 575000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 581000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 593000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+#A 641000000 8VSB
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 647000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 713000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+#A 719000000 8VSB
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 773000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 785000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = ATSC
+ FREQUENCY = 791000000
+ MODULATION = VSB/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/activy.rcmm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/activy.rcmm
new file mode 100644
index 00000000..c7d72806
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/activy.rcmm
@@ -0,0 +1,53 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x0c KEY_POWER
+0x0a KEY_BACK
+
+0xfe KEY_SCROLLUP
+0xff KEY_SCROLLDOWN
+
+0x40 KEY_GOTO
+0x86 KEY_KEYBOARD
+
+0x87 KEY_RED
+0xda KEY_GREEN
+0xf3 KEY_YELLOW
+0x88 KEY_BLUE
+
+0x82 KEY_HOME
+0x54 KEY_MENU
+
+0x58 KEY_UP
+0x59 KEY_DOWN
+0x5a KEY_LEFT
+0x5b KEY_RIGHT
+
+0x5c KEY_OK
+
+0xf0 KEY_CHANNELUP
+0xef KEY_CHANNELDOWN
+
+0x10 KEY_VOLUMEUP
+0x11 KEY_VOLUMEDOWN
+
+0x81 KEY_INFO
+0x0d KEY_MUTE
+
+0x2f KEY_REWIND
+0x2c KEY_PLAYPAUSE
+0x2e KEY_FASTFORWARD
+0x37 KEY_RECORD
+
+0x21 KEY_PREVIOUS
+0x31 KEY_STOP
+0x20 KEY_NEXT
+0x42 KEY_EJECTCD
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/galaxis.rcmm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/galaxis.rcmm
new file mode 100644
index 00000000..38eb389e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/galaxis.rcmm
@@ -0,0 +1,50 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x0a KEY_MHP
+0x0c KEY_POWER
+0x0d KEY_MUTE
+0x0f KEY_INFO
+0x10 KEY_VOLUMEUP
+0x11 KEY_VOLUMEDOWN
+0x20 KEY_CHANNELUP
+0x21 KEY_CHANNELDOWN
+0x3c KEY_TEXT
+0x3f KEY_TV
+
+0x45 KEY_SETUP
+0x4b KEY_SUBTITLE
+0x4e KEY_LANGUAGE
+
+0x50 KEY_RADIO
+0x55 KEY_EXIT
+
+0x58 KEY_UP
+0x59 KEY_DOWN
+0x5a KEY_LEFT
+0x5b KEY_RIGHT
+0x5c KEY_OK
+
+0x6d KEY_RED
+0x6e KEY_GREEN
+0x6f KEY_YELLOW
+0x70 KEY_BLUE
+
+0x78 KEY_MENU
+0x79 KEY_LIST
+0xcc KEY_EPG
+
+0xc4 KEY_UP
+0xc5 KEY_UP
+0xc6 KEY_DOWN
+0xc7 KEY_DOWN
+
+0xff KEY_VCR
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge.rc5
new file mode 100644
index 00000000..f52eb854
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge.rc5
@@ -0,0 +1,24 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x0c KEY_RADIO
+0x0d KEY_MUTE
+0x0f KEY_TV
+
+0x10 KEY_VOLUMEUP
+0x11 KEY_VOLUMEDOWN
+0x1e KEY_VENDOR
+
+0x20 KEY_CHANNELUP
+0x21 KEY_CHANNELDOWN
+0x22 KEY_SELECT
+0x26 KEY_CYCLEWINDOWS
+0x2e KEY_SCREEN
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge2.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge2.rc5
new file mode 100644
index 00000000..663fea82
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge2.rc5
@@ -0,0 +1,40 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x10 KEY_VOLUMEUP
+0x11 KEY_VOLUMEDOWN
+0x1e KEY_VENDOR
+
+0x20 KEY_CHANNELUP
+0x21 KEY_CHANNELDOWN
+0x22 KEY_SELECT
+0x26 KEY_CYCLEWINDOWS
+
+0x3d KEY_POWER
+0x3b KEY_GOTO
+0x1f KEY_BACK
+0x0d KEY_MENU
+0x0b KEY_RED
+0x2e KEY_GREEN
+0x38 KEY_YELLOW
+0x25 KEY_OK
+0x29 KEY_BLUE
+0x0f KEY_MUTE
+0x0c KEY_AUX
+0x3c KEY_SCREEN
+0x32 KEY_REWIND
+0x35 KEY_PLAY
+0x34 KEY_FORWARD
+0x37 KEY_RECORD
+0x36 KEY_STOP
+0x30 KEY_PAUSE
+0x24 KEY_LEFT
+0x1e KEY_RIGHT
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge_grey.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge_grey.rc5
new file mode 100644
index 00000000..2bca524a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge_grey.rc5
@@ -0,0 +1,39 @@
+0x3d KEY_POWER
+0x3b KEY_GOTO
+
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x1f KEY_EXIT
+0x0d KEY_MENU
+
+0x0b KEY_RED
+0x2e KEY_GREEN
+0x38 KEY_YELLOW
+0x29 KEY_BLUE
+
+0x11 KEY_LEFT
+0x10 KEY_RIGHT
+0x20 KEY_UP
+0x21 KEY_DOWN
+0x25 KEY_OK
+
+0x0f KEY_MUTE
+0x0c KEY_INFO
+0x3c KEY_EPG
+0x32 KEY_REWIND
+0x35 KEY_PLAY
+0x34 KEY_FASTFORWARD
+0x37 KEY_RECORD
+0x36 KEY_STOP
+0x30 KEY_PAUSE
+0x24 KEY_PREVIOUS
+0x1e KEY_NEXT
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/mbo_81095-code_562.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/mbo_81095-code_562.rc5
new file mode 100644
index 00000000..357e4103
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/mbo_81095-code_562.rc5
@@ -0,0 +1,39 @@
+0x0c KEY_POWER
+
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+
+0x09 KEY_9
+0x00 KEY_0
+0x0a KEY_F11
+0x2b KEY_F12
+
+0x3f KEY_PROGRAM
+0x23 KEY_CONFIG
+0x0d KEY_MUTE
+
+0x11 KEY_VOLUMEDOWN
+0x10 KEY_VOLUMEUP
+0x20 KEY_CHANNELUP
+0x21 KEY_CHANNELDOWN
+0x29 KEY_TV
+
+0x1a KEY_RED
+0x1b KEY_GREEN
+0x2e KEY_YELLOW
+0x24 KEY_BLUE
+
+0x32 KEY_REWIND
+0x35 KEY_PLAY
+0x34 KEY_FORWARD
+0x37 KEY_RECORD
+
+0x36 KEY_STOP
+0x30 KEY_PAUSE
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_088.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_088.rc5
new file mode 100644
index 00000000..ebec3fef
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_088.rc5
@@ -0,0 +1,36 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x0b KEY_BACK
+0x0c KEY_POWER
+0x0d KEY_MUTE
+0x0e KEY_MENU
+0x0f KEY_TV
+
+0x10 KEY_VOLUMEUP
+0x11 KEY_VOLUMEDOWN
+0x12 KEY_UP
+0x13 KEY_DOWN
+0x14 KEY_RIGHT
+0x15 KEY_LEFT
+0x1e KEY_VENDOR
+
+0x20 KEY_CHANNELUP
+0x21 KEY_CHANNELDOWN
+0x22 KEY_SELECT
+0x23 KEY_OK
+0x26 KEY_CYCLEWINDOWS
+0x2e KEY_SCREEN
+
+0x37 KEY_RED
+0x36 KEY_GREEN
+0x34 KEY_BLUE
+0x32 KEY_YELLOW
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_155.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_155.rc5
new file mode 100644
index 00000000..416bbd90
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_155.rc5
@@ -0,0 +1,35 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x35 KEY_BACK
+0x0c KEY_POWER
+0x0d KEY_MUTE
+0x3f KEY_MENU
+0x0f KEY_TV
+
+0x10 KEY_VOLUMEUP
+0x11 KEY_VOLUMEDOWN
+0x12 KEY_UP
+0x13 KEY_DOWN
+0x14 KEY_RIGHT
+0x15 KEY_LEFT
+
+0x0a KEY_CHANNELUP
+0x0b KEY_CHANNELDOWN
+0x22 KEY_SELECT
+0x23 KEY_OK
+0x26 KEY_CYCLEWINDOWS
+0x2e KEY_SCREEN
+
+0x37 KEY_RED
+0x36 KEY_GREEN
+0x34 KEY_BLUE
+0x32 KEY_YELLOW
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips.rc5
new file mode 100644
index 00000000..68bc85d7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips.rc5
@@ -0,0 +1,32 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x0b KEY_MENU
+0x0c KEY_POWER
+0x0d KEY_MUTE
+0x0e KEY_OK
+0x0f KEY_MINUS
+0x10 KEY_VOLUMEUP
+0x11 KEY_VOLUMEDOWN
+
+0x20 KEY_CHANNELUP
+0x21 KEY_CHANNELDOWN
+0x26 KEY_INFO
+0x2d KEY_ZOOM
+0x2e KEY_CYCLEWINDOWS
+
+0x32 KEY_PLAY
+0x34 KEY_FORWARD
+0x36 KEY_STOP
+0x37 KEY_REWIND
+0x38 KEY_AUX
+0x3c KEY_TEXT
+0x3f KEY_SCREEN
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips1358.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips1358.rc5
new file mode 100644
index 00000000..805755ed
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips1358.rc5
@@ -0,0 +1,37 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+0x0C KEY_POWER
+0x0D KEY_MUTE
+0x0E KEY_OK
+0x0F KEY_DIGITS
+0x10 KEY_RIGHT
+0x11 KEY_LEFT
+0x1E KEY_STOP
+0x20 KEY_UP
+0x21 KEY_DOWN
+0x23 KEY_AB
+0x24 KEY_RECORD
+0x25 KEY_SUBTITLE
+0x26 KEY_INFO
+0x29 KEY_PLAY
+0x2A KEY_FORWARD
+0x2B KEY_PAUSE
+0x2C KEY_REWIND
+0x2D KEY_F4
+0x2E KEY_F3
+0x32 KEY_YELLOW
+0x34 KEY_BLUE
+0x36 KEY_GREEN
+0x37 KEY_RED
+0x38 KEY_AUX
+0x3C KEY_F2
+0x3D KEY_SCREEN
+0x3F KEY_F1
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/technotrend.rc5 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/technotrend.rc5
new file mode 100644
index 00000000..526fdc70
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/technotrend.rc5
@@ -0,0 +1,41 @@
+0x22 KEY_EPG
+0x1a KEY_RADIO
+0x19 KEY_TEXT
+
+0x0c KEY_0
+0x03 KEY_1
+0x04 KEY_2
+0x05 KEY_3
+0x06 KEY_4
+0x07 KEY_5
+0x08 KEY_6
+0x09 KEY_7
+0x0a KEY_8
+0x0b KEY_9
+
+0x0d KEY_UP
+0x11 KEY_DOWN
+0x25 KEY_VOLUMEUP
+0x26 KEY_VOLUMEDOWN
+
+0x23 KEY_CHANNELUP
+0x24 KEY_CHANNELDOWN
+
+0x01 KEY_POWER
+0x13 KEY_BACK
+0x02 KEY_MENU
+0x14 KEY_RED
+0x15 KEY_GREEN
+0x16 KEY_YELLOW
+0x0f KEY_OK
+0x17 KEY_BLUE
+0x18 KEY_MUTE
+0x3d KEY_REWIND
+0x3b KEY_PLAY
+0x3f KEY_FORWARD
+0x3a KEY_RECORD
+0x3c KEY_STOP
+0x3e KEY_PAUSE
+0x0e KEY_LEFT
+0x10 KEY_RIGHT
+0x12 KEY_INFO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Innsbruck b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Innsbruck
new file mode 100755
index 00000000..89833ea5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Innsbruck
@@ -0,0 +1,50 @@
+# scan config for Innsbruck Telesystem cable provider
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 546000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 554000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabel-Braunau b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabel-Braunau
new file mode 100755
index 00000000..4111c3ba
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabel-Braunau
@@ -0,0 +1,194 @@
+# Kabel Braunau
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6111000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6111000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6111000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6111000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6428000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6428000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 546000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 554000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6111000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 594000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabelsignal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabelsignal
new file mode 100755
index 00000000..a2730472
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabelsignal
@@ -0,0 +1,290 @@
+# kabelsignal
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 738000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 778000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 786000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 794000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 802000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 810000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-KarrerNet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-KarrerNet
new file mode 100755
index 00000000..371c63be
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-KarrerNet
@@ -0,0 +1,187 @@
+# Kabel St. Florian bei Linz/AT KarrerNet
+# 2009-01-10
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 538000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 546000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 554000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Liwest b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Liwest
new file mode 100755
index 00000000..f3b0cadc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Liwest
@@ -0,0 +1,227 @@
+# Kabel Linz/AT Liwest
+# 2006-08-01
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 538000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 546000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 554000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 594000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 634000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 642000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 650000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-SalzburgAG b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-SalzburgAG
new file mode 100755
index 00000000..0a9e364e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-SalzburgAG
@@ -0,0 +1,50 @@
+# scan config for Salzburg AG cable provider
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Vienna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Vienna
new file mode 100755
index 00000000..dbce4a99
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Vienna
@@ -0,0 +1,10 @@
+# Kabel Vienna
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 377750000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/be-IN.DI-Integan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/be-IN.DI-Integan
new file mode 100755
index 00000000..16ecffad
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/be-IN.DI-Integan
@@ -0,0 +1,114 @@
+# Integan DVB-C (Belgium, IN.DI region)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/br-Net-Digital b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/br-Net-Digital
new file mode 100755
index 00000000..19738343
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/br-Net-Digital
@@ -0,0 +1,13 @@
+# Net Digital
+# Just the initial transponder is enough
+
+# freq sr fec mod
+# Found on Sao Jose dos Campos, SP
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 573000000
+ SYMBOL_RATE = 5217000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Bern-upc-cablecom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Bern-upc-cablecom
new file mode 100755
index 00000000..2053d6cf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Bern-upc-cablecom
@@ -0,0 +1,11 @@
+# upc cablecom
+# Berne, Switzerland
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-GGA-Pratteln b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-GGA-Pratteln
new file mode 100755
index 00000000..2581d812
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-GGA-Pratteln
@@ -0,0 +1,287 @@
+# DVB-C transponder/muxes scan
+# GGA Pratteln, Switzerland
+# www.gga-pratteln.ch
+# Network ID: 186
+# 2012-12-17
+
+# freq sr fec mod Comment
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[Teleclub]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 594000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 602000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[Intertainment]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[Intertainment]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[Intertainment]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[Intertainment]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 738000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[Intertainment]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 778000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 786000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 794000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 802000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 810000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 818000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 826000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 834000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 842000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Rega-Sense b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Rega-Sense
new file mode 100755
index 00000000..6b5beff4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Rega-Sense
@@ -0,0 +1,209 @@
+# Rega Sense, Switzerland
+# freq sr fec mod
+
+# Pay TV
+[Teleclub]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+
+# Basis offer
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 125000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 634000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 642000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 650000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 618000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+
+# HDTV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 642000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Video2000 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Video2000
new file mode 100755
index 00000000..865c90ec
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Video2000
@@ -0,0 +1,12 @@
+# Cable Video2000
+# Canton of Neuchatel, Switzerland
+
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Zuerich-upc-cablecom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Zuerich-upc-cablecom
new file mode 100755
index 00000000..a639f823
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Zuerich-upc-cablecom
@@ -0,0 +1,11 @@
+# upc cablecom
+# Zurich, Switzerland
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-interGGA b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-interGGA
new file mode 100755
index 00000000..50457dcc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-interGGA
@@ -0,0 +1,223 @@
+# DVB-C transponder/muxes scan
+# interGGA, Switzerland
+# www.intergga-ag.ch
+# Network ID: 555
+# 2012-12-18
+
+# freq sr fec mod Comment
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 602000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 618000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 626000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 634000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 642000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 650000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 738000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-quickline-ewaarberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-quickline-ewaarberg
new file mode 100755
index 00000000..c516821c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-quickline-ewaarberg
@@ -0,0 +1,8 @@
+# Initial scan config for Swiss DVB-C provider Quickline in Aarberg (EWA)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-Moravianet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-Moravianet
new file mode 100755
index 00000000..457f83b5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-Moravianet
@@ -0,0 +1,108 @@
+# DVB-C Moravianet (http://www.moravia.net/)
+# Available in villages and cities around Brno:
+# Bohuslavice, Bukovany, Hrusovany u Brna, Hustopece, Ivancice, Jirikovice,
+# Kyjov, Moravsky Krumlov, Mutenice, Neslovice, Nove Branice, Oslavany,
+# Popuvky, Padochov, Troubsko, Rosice, Tisnov, Vojkovice, Svatoborice,
+# Slapanice, Zabcice, Zidlochovice
+# The same content is available also from NejTV where they provide DVB-C.
+# Currently it is in Havlickuv Brod, Breclav, Velke Mezirici
+#
+# 2008-12-03
+#
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 218000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 226000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 234000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 242000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 250000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 258000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 266000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 274000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 282000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 290000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 298000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-UPC b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-UPC
new file mode 100755
index 00000000..cd7fd291
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-UPC
@@ -0,0 +1,227 @@
+# UPC Česká republika | https://www.upc.cz/
+# Created from http://www.upczone.cz/download/seznam_muxu.htm
+# Last updated: 20/3/2016
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 554000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 602000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 618000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 626000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 634000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 642000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 650000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 738000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 778000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Berlin b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Berlin
new file mode 100755
index 00000000..b93ff6ba
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Berlin
@@ -0,0 +1,26 @@
+# Kabel Berlin
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 113000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Brandenburg-Havel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Brandenburg-Havel
new file mode 100755
index 00000000..d0417ad1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Brandenburg-Havel
@@ -0,0 +1,226 @@
+# Brandenburg an der Havel
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 538000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 546000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 554000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 594000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 602000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 618000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 626000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Hessen-Unitymedia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Hessen-Unitymedia
new file mode 100755
index 00000000..807c443b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Hessen-Unitymedia
@@ -0,0 +1,343 @@
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 162000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 170000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 114000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 122000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 130000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 138000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 146000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 154000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 778000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 786000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 794000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 802000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 810000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 818000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 826000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 834000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 850000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_BW b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_BW
new file mode 100755
index 00000000..f2015cfb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_BW
@@ -0,0 +1,23 @@
+# Kabel-BW, Stand 04/2007
+#
+# Nur eine Anfangsfrequenz ist noetig, um den Ball ins
+# Rollen zu bringen. Quasi als Einstiegspunkt fuer eine
+# umfassende Suche. Es besteht kein Grund, sich um all die
+# vielen anderen Frequenzen und deren aktuell verwendete
+# Parameter zu kuemmern und diese dann womoeglich auch
+# noch auf einem aktuellen Stand halten zu wollen. Bei der
+# schieren Anzahl der innerhalb des Ausbaugebiets durch
+# Kabel BW genutzten Frequenzen waere das nur zeitraubend
+# und fehleranfaellig... ;-)
+#
+# Dirk Ritter <dirk@GNUmatic.de>
+#
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 114000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_Deutschland-Hannover b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_Deutschland-Hannover
new file mode 100755
index 00000000..c4323845
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_Deutschland-Hannover
@@ -0,0 +1,219 @@
+# Kabel Deutschland
+# Created from http://helpdesk.kdgforum.de/sendb/belegung-188.html
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 114000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 122000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 130000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 538000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 618000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 626000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Muenchen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Muenchen
new file mode 100755
index 00000000..e6f63795
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Muenchen
@@ -0,0 +1,174 @@
+# 2008-06-22
+# Area: Muenchen City
+# Cable Provider: Kabel & Medien Service - http://www.atcable.de
+# Cable Content: Cablevista GmbH - http://www.cablevista.de
+#
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 113000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 121000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-NetAachen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-NetAachen
new file mode 100755
index 00000000..58ee5949
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-NetAachen
@@ -0,0 +1,292 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20120605 1 0 CABLE DE </w_scan>
+# Manually adjusted by reducing whitespace between fec and mod
+#------------------------------------------------------------------------------
+# location and provider: Germany, Aachen, NetAachen, http://www.netaachen.de/
+# date (yyyy-mm-dd) : 2013-04-11
+# provided by (opt) : Till Maas <opensource@till.name>
+#
+# C[2] [plp_id] [data_slice_id] [system_id] <freq> <sr> <fec> <mod> [# comment]
+#------------------------------------------------------------------------------
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 113000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 642000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 618000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 634000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 626000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 121000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 650000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 602000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 538000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[NetCologne]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 129000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[BetaDigital]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[BetaDigital]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[BetaDigital]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[BetaDigital]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[BetaDigital]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Primacom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Primacom
new file mode 100755
index 00000000..f89a86ef
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Primacom
@@ -0,0 +1,251 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20130331 1 0 CABLE DE </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Chemnitz Primacom
+# date (yyyy-mm-dd) : 2013-06-22
+# provided by (opt) : Sven Eckelmann <sven@narfation.org>
+#
+# C[2] [plp_id] [data_slice_id] [system_id] <freq> <sr> <fec> <mod> [# comment]
+#------------------------------------------------------------------------------
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 121000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 169000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 129000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 137000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 145000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 153000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[PrimaCom A.G.]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 161000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Unitymedia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Unitymedia
new file mode 100755
index 00000000..0323d1af
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Unitymedia
@@ -0,0 +1,260 @@
+# Unitymedia
+# Created from http://www.unitymedia.de/service/soforthilfe/frequenzen.html
+# and http://www.unitymedia.de/images/UnityDigitalTV_Lineup_01-07-2009.pdf
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 113000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 121000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 538000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 546000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 554000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 650000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-iesy b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-iesy
new file mode 100755
index 00000000..6b3630e8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-iesy
@@ -0,0 +1,146 @@
+# Unity Media (iesy Hessen, ish Nordrhein-Westfalen)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 113000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 121000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 538000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-komro-Rosenheim b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-komro-Rosenheim
new file mode 100755
index 00000000..49ffa5b9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-komro-Rosenheim
@@ -0,0 +1,226 @@
+# komro (Rosenheim)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 113000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 121000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 602000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 626000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 642000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 650000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 738000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 778000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-neftv b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-neftv
new file mode 100755
index 00000000..abf0f022
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-neftv
@@ -0,0 +1,237 @@
+# Cable conf for NEFtv
+# (Nuernberg, Erlangen, Fuerth and Herzogenaurach (herzomedia))
+
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 113000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+# The following channel is only available in Herzogenaurach
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 546000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 618000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 634000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 786000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 794000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 802000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 810000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Aarhus-Antenneforening b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Aarhus-Antenneforening
new file mode 100755
index 00000000..3d0ae13e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Aarhus-Antenneforening
@@ -0,0 +1,9 @@
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Copenhagen-AFDK b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Copenhagen-AFDK
new file mode 100755
index 00000000..1773cc30
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Copenhagen-AFDK
@@ -0,0 +1,67 @@
+# AFDK, Copenhagen
+# http://www.afdk.tv/
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 602000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 618000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 794000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Odense b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Odense
new file mode 100755
index 00000000..6fac9c87
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Odense
@@ -0,0 +1,66 @@
+# Glentevejs Antennelaug (Denmark / Odense)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 255000000
+ SYMBOL_RATE = 5000000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-YouSee b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-YouSee
new file mode 100755
index 00000000..54cadb5f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-YouSee
@@ -0,0 +1,223 @@
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 602000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 594000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 586000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 578000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 570000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 562000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 554000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 546000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 538000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 248000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 238000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 230000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 156000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 143000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 135000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/es-Euskaltel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/es-Euskaltel
new file mode 100755
index 00000000..bf5926b8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/es-Euskaltel
@@ -0,0 +1,117 @@
+# Scan config for Euskaltel (DVB-C)
+# Basque Country - Spain
+# file automatically generated by w_scan
+# (http://free.pages.at/wirbel4vdr/w_scan/index2.html)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 738000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 778000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 786000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 794000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 802000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 810000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 818000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-HTV b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-HTV
new file mode 100755
index 00000000..9b69de65
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-HTV
@@ -0,0 +1,234 @@
+# Generated from http://dvb.welho.fi/hel5-sidump1.xml
+# 2016-01-06 15:42:32.073637
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 274000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 250000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 290000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 298000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 178000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 186000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 194000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 202000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 210000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 218000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 226000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 242000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 258000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 266000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 162000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 154000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 146000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 170000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Joensuu-Tikka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Joensuu-Tikka
new file mode 100755
index 00000000..df8dbe11
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Joensuu-Tikka
@@ -0,0 +1,90 @@
+# DVB-C, Tikka Media, Joensuu, Finland
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 154000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 162000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 170000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Kaisa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Kaisa
new file mode 100755
index 00000000..91b869e9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Kaisa
@@ -0,0 +1,226 @@
+# Kaisanet Oy (Kajaani)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 170000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 146000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 162000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 308000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 154000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 290000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 308000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 282000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 274000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 266000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 250000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 258000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 186000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 194000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 202000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 210000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 218000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 226000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-TTV b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-TTV
new file mode 100755
index 00000000..310719cf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-TTV
@@ -0,0 +1,18 @@
+# TTV
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Turku b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Turku
new file mode 100755
index 00000000..d8c7da66
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Turku
@@ -0,0 +1,170 @@
+# Turun Kaapelitelevisio Oy (Turku)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 146000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 154000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 162000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 234000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 242000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 250000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 258000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 266000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 290000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 298000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-dna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-dna
new file mode 100755
index 00000000..40bdd634
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-dna
@@ -0,0 +1,237 @@
+# DNA network reference channels
+# updated 2011-04-08 Antti Palosaari <crope@iki.fi>
+# http://www.dna.fi/YKSITYISILLE/TV/KAAPELITV/Sivut/Taajuudet.aspx
+#
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 154000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 162000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 162000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 170000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 226000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 234000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 242000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 242000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 250000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 258000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 266000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 274000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 282000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 290000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 298000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 298000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-jkl b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-jkl
new file mode 100755
index 00000000..cdfd6783
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-jkl
@@ -0,0 +1,66 @@
+# OnCable (Finland / Jyväskylä)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 162000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/128
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-sonera b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-sonera
new file mode 100755
index 00000000..fa1326a1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-sonera
@@ -0,0 +1,196 @@
+# Sonera kaapeli-tv (Finland)
+# Maksuttomat kanavat ovat 242,250,314,370 ja 410 MHz:n muxeissa
+#
+# freq      sr      fec  mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 234000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 242000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 250000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 258000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 266000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 274000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 298000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-vaasa-oncable b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-vaasa-oncable
new file mode 100755
index 00000000..375180f0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-vaasa-oncable
@@ -0,0 +1,90 @@
+# OnCable (Finland / Vaasa)
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 143000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fr-noos-numericable b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fr-noos-numericable
new file mode 100755
index 00000000..1249b371
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fr-noos-numericable
@@ -0,0 +1,314 @@
+# Cable en France
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 123000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 131000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 139000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 147000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 155000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 163000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 171000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 179000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 187000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 195000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 203000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 211000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 219000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 227000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 235000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 243000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 251000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 259000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 267000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 275000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 283000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 291000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 299000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 315000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 323000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 339000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 347000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 738000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 748000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 834000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 842000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 850000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hr-B.net b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hr-B.net
new file mode 100755
index 00000000..ade8eb5d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hr-B.net
@@ -0,0 +1,250 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20130331 1 0 CABLE HR </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: <Croatia, B.net, http://www.bnet.hr/>
+# date (yyyy-mm-dd) : 2015-06-07
+# provided by (opt) : <gogo trebelnik2@gmail.com>
+#
+# C[2] [plp_id] [data_slice_id] [system_id] <freq> <sr> <fec> <mod> [# comment]
+#------------------------------------------------------------------------------
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 818000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 834000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 842000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 850000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 858000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 722000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 730000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 778000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 786000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 810000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 738000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 826000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 658000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 794000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 610000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hu-Digikabel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hu-Digikabel
new file mode 100755
index 00000000..08d506b8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hu-Digikabel
@@ -0,0 +1,144 @@
+# Digikabel, Hungary
+# For the following cities:
+# Budapest, Dorog, Hatvan, Kiskunhalas, Debrecen, Szekesfehervar, Pecs,
+# Veszprem, Dunaujvaros, Miskolc, Gyongyos, Tatabanya, Varpalota, Nagykanizsa,
+# Salgotarjan, Batonyterenye, Szolnok, Szentistvan, Nyiregyhaza, Gyor,
+# Szazhalombatta, Bekescsaba, Bekes, Eger, Komlo, Oroszlany
+# In some of the cities not all the frequencies are available.
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 121000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 746000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 754000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 762000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 778000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 786000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 794000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 850000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/lu-Ettelbruck-ACE b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/lu-Ettelbruck-ACE
new file mode 100755
index 00000000..4a567fee
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/lu-Ettelbruck-ACE
@@ -0,0 +1,132 @@
+# Scan config for Antenne Collective Ettelbruck a.s.b.l.
+# (http://antenne-ettelbruck.lu)
+# Luxembourg - Ettelbruck
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 634000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 642000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 650000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 666000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 674000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 714000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 656000000
+ SYMBOL_RATE = 3450000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 660000000
+ SYMBOL_RATE = 3450000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 720000000
+ SYMBOL_RATE = 3450000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 732000000
+ SYMBOL_RATE = 3450000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 724000000
+ SYMBOL_RATE = 3450000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 728000000
+ SYMBOL_RATE = 3450000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Delta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Delta
new file mode 100755
index 00000000..d278f8da
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Delta
@@ -0,0 +1,15 @@
+# Initial Tuning file for nl-DELTA
+# This file only lists the main
+# frequency. You still need to do
+# a network scan to find other
+# transponders.
+#
+#
+[Main Frequency]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-REKAM-CAIW_Gouda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-REKAM-CAIW_Gouda
new file mode 100755
index 00000000..4cd60bde
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-REKAM-CAIW_Gouda
@@ -0,0 +1,18 @@
+# REKAM / Caiway, Gouda, Netherlands
+# freq sr fec mod
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 163000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 770000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Ziggo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Ziggo
new file mode 100755
index 00000000..88c89643
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Ziggo
@@ -0,0 +1,17 @@
+# Initial Tuning file for nl-Ziggo
+# This file only lists the main
+# frequencie. You still need to do
+# a network scan to find other
+# transponders.
+# Also set the network id
+# (aka nit other) to: 5555
+#
+
+[Main Frequency Ziggo]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-CanalDigital b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-CanalDigital
new file mode 100755
index 00000000..160c19f8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-CanalDigital
@@ -0,0 +1,97 @@
+# no-oslo-CanalDigital (cable)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6950000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-Get b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-Get
new file mode 100755
index 00000000..05ac4639
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-Get
@@ -0,0 +1,169 @@
+# no-Oslo-Get (cable)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 241000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 272000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 280000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 290000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 298000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6952000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ro-DigiTV b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ro-DigiTV
new file mode 100755
index 00000000..fe6cb6ae
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ro-DigiTV
@@ -0,0 +1,201 @@
+# From http://www.rcs-rds.ro/personal-tv?t=cablu&pachet=digital
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-Gothnet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-Gothnet
new file mode 100755
index 00000000..3f4f70fd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-Gothnet
@@ -0,0 +1,121 @@
+# Gothnet DVB-C
+# Updated: 2008-09-19
+# freq sr fec mod
+
+# Free channels
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+
+# SPA channels
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 682000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 690000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 698000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 706000000
+ SYMBOL_RATE = 6900000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+
+# Canal Digital channels
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 7000000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 7000000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 7000000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 7000000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 7000000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 7000000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-comhem b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-comhem
new file mode 100755
index 00000000..24acd975
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-comhem
@@ -0,0 +1,248 @@
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 290000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 298000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 306000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 314000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 322000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 330000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 338000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 346000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 354000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 362000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/64
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 370000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 378000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 386000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 394000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 402000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 410000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 418000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 426000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 434000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 442000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 450000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 458000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 466000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 474000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 482000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 490000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 498000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 506000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 514000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 522000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBC/ANNEX_A
+ FREQUENCY = 530000000
+ SYMBOL_RATE = 6875000
+ INNER_FEC = NONE
+ MODULATION = QAM/256
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ABS1-75.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ABS1-75.0E
new file mode 100755
index 00000000..21836284
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ABS1-75.0E
@@ -0,0 +1,66 @@
+# ABS-1 @ 75E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12518000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12548000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12579000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12640000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12670000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12693000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12704000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3900000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12740000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7408000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC1-103w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC1-103w
new file mode 100755
index 00000000..bb9db849
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC1-103w
@@ -0,0 +1,19 @@
+# AMC 1 @ 103W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11942000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12100000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC10_C-135W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC10_C-135W
new file mode 100755
index 00000000..be36843d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC10_C-135W
@@ -0,0 +1,21 @@
+# AMC 10 @ 135W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3820000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29268000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3900000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29268000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC11_C-131W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC11_C-131W
new file mode 100755
index 00000000..6207d9b1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC11_C-131W
@@ -0,0 +1,30 @@
+# AMC 11 @ 131W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3820000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29726000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3860000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3928000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14322000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC16-85.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC16-85.0W
new file mode 100755
index 00000000..8d89f911
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC16-85.0W
@@ -0,0 +1,27 @@
+# AMC 2 @ 85W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11731000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13021000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11744000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13021000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11771000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13021000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC18_C-105W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC18_C-105W
new file mode 100755
index 00000000..09aacb62
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC18_C-105W
@@ -0,0 +1,20 @@
+# AMC 18 @ 105W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3780000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3760000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28068000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC4-101w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC4-101w
new file mode 100755
index 00000000..11397d5e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC4-101w
@@ -0,0 +1,59 @@
+# AMC 4 @ 101.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11573000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7234000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11655000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11708000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11822000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5700000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11860000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28138000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12120000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12169000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3003000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC5-79w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC5-79w
new file mode 100755
index 00000000..6d8f7ecd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC5-79w
@@ -0,0 +1,19 @@
+# AMC 5 @ 79W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11742000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 11110000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12182000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC6-72w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC6-72w
new file mode 100755
index 00000000..525972a7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC6-72w
@@ -0,0 +1,331 @@
+# AMC 6 @ 72W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11482000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2656000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11494000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6560000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11499000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2964000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11505000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11546000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 12000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11548000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3002000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11552000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3002000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11557000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4392000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11563000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4392000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11570000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4392000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11576000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4392000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11586000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2652000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11603000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11605000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3600000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11611000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11628000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6560000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11637000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11641000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3702000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11648000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11667000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11674000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11680000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11703000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11709000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11715000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11746000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11748000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 14015000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11752000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11763000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11817000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11874000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11986000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11995000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12004000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12013000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12025000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12031000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12046000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12055000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6890000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12144000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2573000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12188000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6511000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC8_C-139W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC8_C-139W
new file mode 100755
index 00000000..7a32adb8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC8_C-139W
@@ -0,0 +1,57 @@
+# AMC 8 @ 139W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4056000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13250000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3744000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2955000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3766000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3335000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4111000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7136000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4152000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9259000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4170000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10128000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9-83.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9-83.0W
new file mode 100755
index 00000000..847ab2a2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9-83.0W
@@ -0,0 +1,123 @@
+# AMC 9 @ 83W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11745000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4232000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11751000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4232000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11757000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4232000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11763000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4232000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11769000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4232000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11775000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4232000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11826000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11864000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11871000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11889000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13025000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11926000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6511000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11953000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11960000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12002000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12011000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9_C-83.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9_C-83.0W
new file mode 100755
index 00000000..3bb10bfc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9_C-83.0W
@@ -0,0 +1,49 @@
+# AMC 9 @ 83W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3804000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4167000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3811000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2398000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3813000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2221000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3817000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2883000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3825000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4034000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Agila2_C-146.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Agila2_C-146.0E
new file mode 100755
index 00000000..5591e505
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Agila2_C-146.0E
@@ -0,0 +1,186 @@
+# Agila 2 @ 146.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# Viva Prime Channel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3725000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2345000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Zoe Philippines
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3774000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3300000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Da Ai TV indonesia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3791000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3100000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Trinity Broadcasting Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3791000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10091000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# Bayon TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3796000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3360000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# White Springs TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3846000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6110000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TCT World
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3854000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2603000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# CCTN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3873000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2532000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# NBN Philippines
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3875000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Al Masriyah
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3880000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Viva Entertainment Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3887000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6716000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# IBC13
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3896000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# CTN Cambodia Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3979000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9628000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Divya TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3990000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13330000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Familyland TV Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4164000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3735000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# MTV Philippines
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4171000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3213000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# The Old Path TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4183000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# UNTV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4188000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amazonas-61.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amazonas-61.0W
new file mode 100755
index 00000000..b7471c12
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amazonas-61.0W
@@ -0,0 +1,411 @@
+# Amazonas @ 61.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3957000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3966000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3975000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3993000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4137000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3409000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3941000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3480000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12092000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12132000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4174000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3330000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11128000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11185000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 11800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11049000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12052000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10975000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3631000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2785000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10975000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3677000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3985000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11810000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11921000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 21740000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11943000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4750000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4168000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7307000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12052000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12172000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12092000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11175000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28880000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4154000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 9615000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11099000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7576000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11885000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4890000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11882000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 11343000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11133000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11078000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1862000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11912000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11906000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2220000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11108000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12132000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11135000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4144000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4540000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11808000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 11111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11972000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4156000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4540000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4149000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4540000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3948000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4178000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11844000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 16600000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11095000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11790000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3600000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12172000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11055000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12012000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amos-4w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amos-4w
new file mode 100755
index 00000000..522280c2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amos-4w
@@ -0,0 +1,370 @@
+# Amos 6 @ 4W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10722000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10722000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10722000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10758000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10758000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10759000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10806000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10806000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10842000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10842000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10842000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10890000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10890000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10925000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10925000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10972000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11008000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2295000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11123000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1850000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11167000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 12500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11179000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11260000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11304000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19540000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11319000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2750000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11329000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11333000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11347000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3350000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11384000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11411000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7925000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11429000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5925000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11435000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2089000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11474000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11510000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11558000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11559000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13400000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11572000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8888000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11592000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 21350000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11593000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11625000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11630000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11630000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11637000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1480000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11647000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 9167000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11647000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8518000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11654000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11658000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8520000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1-107.3W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1-107.3W
new file mode 100755
index 00000000..4613024f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1-107.3W
@@ -0,0 +1,35 @@
+# Anik F1 @ 107.3W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12002000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19980000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12063000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19980000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12155000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12185000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19980000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1R_C-107.3W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1R_C-107.3W
new file mode 100755
index 00000000..b9959b64
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1R_C-107.3W
@@ -0,0 +1,93 @@
+# Anik F1R @ 107.3W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7856000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4080000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3807000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6499000
+ INNER_FEC = 1/2
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3824000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = 1/2
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3914000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7078000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3928000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4020000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4060000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28348000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4100000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28348000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4140000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F2_C-111.1W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F2_C-111.1W
new file mode 100755
index 00000000..a9a838af
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F2_C-111.1W
@@ -0,0 +1,12 @@
+# Anik F2 @ 111.1W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4104000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4143000
+ INNER_FEC = 1/2
+ MODULATION = QPSK
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F3-119W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F3-119W
new file mode 100755
index 00000000..f4405fc4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F3-119W
@@ -0,0 +1,560 @@
+#Dish Network USA works with PSK/8turbo
+#Just DVBS-USB Genpix Sky Walker 1 or 2 works with PSK/8turbo
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11715000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11728000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11745000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11758000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11776000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11789000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11806000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11819000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11837000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11850000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11867000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11880000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11898000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11928000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11959000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11972000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11989000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12002000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12020000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12033000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12050000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12063000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12081000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12094000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12111000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12124000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12142000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12155000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12172000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12185000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12224000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12239000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12253000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12268000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12282000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12297000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12311000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12326000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12341000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12355000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12370000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12384000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 201500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12399000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12414000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12428000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12443000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12457000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12472000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12486000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12501000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12516000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12530000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12545000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12559000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12574000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12589000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12603000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12618000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12632000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12647000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12661000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12676000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Apstar6_C-134.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Apstar6_C-134.0E
new file mode 100755
index 00000000..b61c7c71
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Apstar6_C-134.0E
@@ -0,0 +1,36 @@
+# Apstar 6 @ 134.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# New Entertainment
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3766000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Test
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV Nusantara
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3905000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat2_C-100.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat2_C-100.5E
new file mode 100755
index 00000000..c0889c80
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat2_C-100.5E
@@ -0,0 +1,156 @@
+# AsiaSat 2 100.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# Iris Sat Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3660000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# APTN Direct
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3706000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4167000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# APTN Global Video Wire (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3732000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8889000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# BYU TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3767000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6527000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+
+# AJK TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3778000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RTB International Brunei
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3786000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Shamshad TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3790000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2444000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# FTV HD (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3794000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4640000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Arabsat ASBU Bouquet Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3820000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Star TV Multiplex (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# E Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3880000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SatLink Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3960000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Star TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3980000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28100000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SatLink European Bouquet (MPEG-2 & MPEG-4 S2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28125000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Macau Satellite TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4148000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 11852000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat3S_C-105.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat3S_C-105.5E
new file mode 100755
index 00000000..4454e448
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat3S_C-105.5E
@@ -0,0 +1,326 @@
+# AsiaSat 3S 105.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# China Entertainment TV & Maharishi Veda Vision
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3680000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26670000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# MediaCorp Channel News Asia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3706000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# BTV World
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3725000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4450000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Galaxy TVB
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3729000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13650000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Zee Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3733000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Madani Channel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3739000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2815000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Fashion TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3746000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2625000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Aaj News
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3750000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2821000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Arirang Arab
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3755000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4418000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Globecast multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3760000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Star TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3780000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28100000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Airwaves Media Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3786000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5700000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Zee Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3820000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Star TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26850000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Star TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3860000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# B4U INDIA - MPEG-4 S/2 Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3880000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Star TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3940000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28100000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Tuner International Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3960000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28100000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Star TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3980000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28100000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Star TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26850000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Sahara Samay Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4020000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# VOA Voice Of America Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4040000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 20400000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+
+# Globecast Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4071000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 14240000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# PTV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4091000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Sun TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4095000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5554000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# PTV Global USA
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4102000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2894000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# PTV Global UK & Europe
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4106000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2894000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Galaxy TVB Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4111000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13650000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# PTV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4114000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Eye TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4129000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13600000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Zee Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4140000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Geo TV Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4180000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26666000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Asiasat4_C-122.2E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Asiasat4_C-122.2E
new file mode 100755
index 00000000..3bc0c09f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Asiasat4_C-122.2E
@@ -0,0 +1,76 @@
+# Asiasat 4 @ 122.2E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# SITI Digital Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3760000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SITI Digital Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3820000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Henan Radio Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3856000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SITI Digital Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3880000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SITI Digital network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3920000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SITI Digital network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3960000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SITI Digital network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4180000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-19.2E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-19.2E
new file mode 100755
index 00000000..2d1f0b24
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-19.2E
@@ -0,0 +1,10 @@
+# Astra 19.2E SDT info service transponder
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12551500
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-23.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-23.5E
new file mode 100755
index 00000000..ed505ea6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-23.5E
@@ -0,0 +1,450 @@
+# Astra 23.5E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10758000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10788000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10802000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10842000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10862000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+# Astra2Connect
+# S2 10891250 H 22000000 3/4 AUTO 8PSK
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11475000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11515000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11515000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11555000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11555000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11592000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11595000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11635000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11635000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11719000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11739000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Astra2Connect
+# S2 11758000 H 27500000 5/6 AUTO 8PSK
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11778000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11798000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11817000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11836000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29900000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11856000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11875000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11914000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Astra2Connect
+# S2 11954000 H 27500000 3/4 AUTO 8PSK
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11992000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12012000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12032000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12070000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12109000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+# Astra2Connect
+# S2 12148000 H 27500000 3/4 AUTO 8PSK
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12168000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Astra2Connect
+# S2 12226000 H 27500000 3/5 AUTO 8PSK
+# Astra2Connect
+# S2 12304000 H 27500000 5/6 AUTO 8PSK
+# Astra2Connect
+# S2 12344000 H 28200000 5/6 AUTO 8PSK
+# Astra2Connect
+# S2 12382000 H 27500000 3/4 AUTO 8PSK
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12525000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12525000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12565000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12565000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12605000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12605000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12630000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12631000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12636000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2277000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12641000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2220000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12644000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12649000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5600000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12661000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12685000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12696000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12711000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12725000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-28.2E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-28.2E
new file mode 100755
index 00000000..0266839c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-28.2E
@@ -0,0 +1,863 @@
+# Astra 28.2E SDT info service transponder
+# freq pol sr fec
+
+## Astra 2E
+# Transponder 1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11719500
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 3
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11758000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 4
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11778000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 5
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11798000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 6
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11817000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 7
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11836000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 8
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11856000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 9
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11876000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11895000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 11
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11914000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 12
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11934000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 13
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11954000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 16
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12012000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 17
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12032000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 18
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12051000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 19
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12070000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 20
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12090000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 21
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12110000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 22
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12129000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2F
+# Transponder 23
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12148000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 24
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12168000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 25
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12188000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 26
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12207000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 27
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12226500
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 28
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12246000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2E
+# Transponder 29
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12266000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2E
+# Transponder 31
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12304000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2E
+# Transponder 31
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12304000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 32
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12324000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 33
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12344000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 34
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12363000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2F
+# Transponder 38
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12441000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 39
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12460000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2E
+# Transponder 40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12480000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2E
+# Transponder 41
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10714250
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 42
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10729000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 43
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10744000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 44
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10758000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 45
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10773000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 46
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10788000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 47
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10803000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 48
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10818000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 49
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 10832000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 50
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 10847000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 52
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 10876000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 53
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10891000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10906000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 56
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 10936000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+## Astra 2G
+# Transponder 57
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10964000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10994000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 61
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11024000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 63
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11052750
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 64
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11068000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 65
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11081000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 66
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11097000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 67
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11112000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 68
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11127000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 69
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11141250
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 71
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11170750
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 89
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11464250
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 90
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11479000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 92
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11508500
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 93
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11523500
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 94
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11538000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 95
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11552750
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 96
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11567500
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 97
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11582250
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 98
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11597000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 99
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11611750
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder 102
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11656000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 102
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11656000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 103
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11671750
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 104
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11685500
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2F
+# Transponder 109
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11307000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 110
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11307000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 111
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11344000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 112
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11344500
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+## Astra 2E
+# Transponder 113
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11385000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 114
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11385000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 115
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11425000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder 116
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11426000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder C1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11225000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder C2
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11225000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+# Transponder C1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11265000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+# Transponder C2
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11265000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ MODULATION = QPSK
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-1-12.5W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-1-12.5W
new file mode 100755
index 00000000..0c85d50f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-1-12.5W
@@ -0,0 +1,270 @@
+# Atlantic Bird 1 @ 12.5W
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11099000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11132000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11136000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3700000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11174000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 15190000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11179000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22400000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11188000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5722000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11332000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6428000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11337000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1923000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11340000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2279000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11355000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 11781000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11408000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11428000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11595000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11622000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11643000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2398000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11645000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4790000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11651000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3688000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12515000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 17455000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12535000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12545000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 17455000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12594000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12597000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1730000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12604000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1481000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12655000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12658000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2141000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12662000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3928000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12718000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 36510000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 33
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12718000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 36510000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 34
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12718000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 36510000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 35
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12718000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 36510000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 36
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12720000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1808000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12743000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-3-5.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-3-5.0W
new file mode 100755
index 00000000..9d751a7c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-3-5.0W
@@ -0,0 +1,364 @@
+# Atlantic Bird 3 @ 5.0W
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11012000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11012000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 3
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11012000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 11
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11179000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 4
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11179000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 5
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11179000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 12
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11637000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11637000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11637000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 3
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11637000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 4
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11637000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 5
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11637000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 6
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 7
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 8
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 9
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 10
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 11
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 12
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 13
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 14
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 15
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11675000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 16
+ PLS_CODE = 16416
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12585000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12585000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12606000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29900000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12606000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29900000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12648000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 121212
+ PLS_MODE = 1
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12648000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29500000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ PLS_CODE = 121212
+ PLS_MODE = 1
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12669000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30080000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12669000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30080000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ PLS_CODE = 8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B1-75.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B1-75.0W
new file mode 100755
index 00000000..b031ca61
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B1-75.0W
@@ -0,0 +1,67 @@
+# Brasilsat B1 @ 75.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3648000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3657000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3653000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4710000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3655000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3629000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3711000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3644000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4440000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3638000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4440000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B2-65.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B2-65.0W
new file mode 100755
index 00000000..bc24954b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B2-65.0W
@@ -0,0 +1,251 @@
+# Brasilsat B2 @ 65.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3745000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3540000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4008000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4011000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3792000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3393000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4104000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4097000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3905000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3935000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3890000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3925000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4112000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3650000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4440000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3736000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1808000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3787000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3876000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2740000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4117000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3815000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3793000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3721000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3684000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3915000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3766000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3336000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3847000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3706000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2462000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3667000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7236000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3771000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1480000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3734000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2852000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3810000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3762000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3834000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3572000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3850000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1570000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B4-70.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B4-70.0W
new file mode 100755
index 00000000..b73c9ff6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B4-70.0W
@@ -0,0 +1,291 @@
+# Brasilsat B4 @ 70.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3951000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3714000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3672000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4713000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3955000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3965000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2930000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3628000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3644000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3650000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3688000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3680000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3662000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4606000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3945000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3640000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3263000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3979000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3617000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3752000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6220000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3685000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3650000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3985000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4010000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13021000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3665000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4700000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3637000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2228000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3708000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3928000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4047000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7143000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3672000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8454000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3820000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3940000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3964000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1875000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3695000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3598000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3900000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3645000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3520000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3983000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1630000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3631000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4687000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3874000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5926000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3700000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9123000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3997000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3973000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4338000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilsatB4-84.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilsatB4-84.0W
new file mode 100755
index 00000000..a4d4d0a5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilsatB4-84.0W
@@ -0,0 +1,659 @@
+# Brasilsat B3 @ 84.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3728000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3698000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4054000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1287000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3745000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3738000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4708000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3923000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1808000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3768000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3955000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4167000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3791000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3330000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3866000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4425000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3932000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4132000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2532000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3906000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3928000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3858000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4288000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3665000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3177000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3732000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3774000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3330000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3927000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3710000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3261000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3883000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4278000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3770000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3754000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3764000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3910000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3616000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3705000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4280000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3852000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3806000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3845000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 10127000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3936000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3653000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3807000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3751000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3565000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3871000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4435000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3895000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4430000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3936000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3800000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3855000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4171000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3716000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4068000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2600000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4070000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2964000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3949000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3684000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4169000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8140000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4144000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2734000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3736000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3790000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 10444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3724000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2075000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4121000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3629000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3970000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4445000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3985000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3916000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4155000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3692000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3330000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3644000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4687000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4087000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 17200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3889000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4440000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4176000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3515000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3829000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3805000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2662000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3943000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2460000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3757000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3565000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3696000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1808000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3989000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3690000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3657000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3600000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3996000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3926000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4126000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4136000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2142000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3675000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3931000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3786000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4286000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3688000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2308000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4075000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3911000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3824000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3002000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3778000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6850000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3710000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 12960000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3877000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4450000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3940000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4064000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ChinaSat5A-87.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ChinaSat5A-87.5E
new file mode 100755
index 00000000..b31fc0a9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ChinaSat5A-87.5E
@@ -0,0 +1,36 @@
+# ChinaStar 1 @ 87.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# Myawady TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3734000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5925000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Zam TV Tests
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4076000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2532000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Test Card
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4081000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4687000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Echostar-10+11-110W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Echostar-10+11-110W
new file mode 100755
index 00000000..6521ab53
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Echostar-10+11-110W
@@ -0,0 +1,281 @@
+#Dish Network USA works with PSK/8turbo
+#Just DVBS-USB Genpix Sky Walker 1 or 2 works with PSK/8turbo
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12224000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12239000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12253000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12268000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12282000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12297000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12297000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12311000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12326000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12341000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12355000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12370000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12384000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12399000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12414000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12428000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12443000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12457000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12472000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12486000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12501000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12516000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12530000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12545000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12559000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12574000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12589000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12603000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12618000
+ POLARIZATION = LEFT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12632000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12661000
+ POLARIZATION = RIGHT
+ SYMBOL_RATE = 21500000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Estrela-do-Sul-63.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Estrela-do-Sul-63.0W
new file mode 100755
index 00000000..fe069301
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Estrela-do-Sul-63.0W
@@ -0,0 +1,195 @@
+# Estrela do Sul @ 63.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11892000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2964000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11987000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3330000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12054000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26660000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11830000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11603000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3124000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11598000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3124000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11803000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11958000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11610000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3124000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11861000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2964000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11879000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2964000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11903000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2362000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11817000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11577000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3124000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11582000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3124000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11982000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8888000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11888000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2392000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11898000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2480000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11871000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11795000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11845000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11640000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 18100000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11875000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11543000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10410000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Eutelsat9-9.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Eutelsat9-9.0E
new file mode 100755
index 00000000..49e65d68
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Eutelsat9-9.0E
@@ -0,0 +1,114 @@
+# Eurobird 9.0E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11727000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11747000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11766000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11785000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11804000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11823000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11843000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11881000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26700000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11919000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11938000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11977000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11996000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12054000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12092000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/EutelsatW2-16E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/EutelsatW2-16E
new file mode 100755
index 00000000..5b2ba883
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/EutelsatW2-16E
@@ -0,0 +1,451 @@
+# Eutelsat W2 @ 16E
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10957000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2821000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10968000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10972000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10976000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10989000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10997000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11005000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11011000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11025000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2894000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11046000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 10555000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11057000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3327000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11061000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5722000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11078000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5208000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11092000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 32000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11094000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2734000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11132000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14185000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11178000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11192000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11267000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11276000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 11100000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11294000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11304000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11324000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11428000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11449000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11471000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29950000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11492000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29950000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11513000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29950000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11534000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11554000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11575000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11594000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11617000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29950000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11634000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 17578000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11658000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11659000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 17578000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11682000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14468000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12538000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12549000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2894000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12555000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12557000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2156000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12562000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12563000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12568000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3703000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12625000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12633000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4883000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12642000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3418000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12650000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 15000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12656000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4883000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12677000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12683000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2894000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12703000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2748000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12716000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12723000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12733000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 16277000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Express-3A-11.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Express-3A-11.0W
new file mode 100755
index 00000000..2be272a1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Express-3A-11.0W
@@ -0,0 +1,11 @@
+# Express 3A @ 11.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3675000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29623000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM1-40.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM1-40.0E
new file mode 100755
index 00000000..6d31da93
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM1-40.0E
@@ -0,0 +1,26 @@
+# Express AM1 @ 40E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10967000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10995000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11097000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM2-80.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM2-80.0E
new file mode 100755
index 00000000..9dfcfc00
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM2-80.0E
@@ -0,0 +1,168 @@
+# Express AM2 @ 80E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10973000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10991000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11044000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 44948000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11081000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5064000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11088000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4548000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11191000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11462000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11478000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11544000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 44950000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11606000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 44948000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11650000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+
+# Express AM2 @ 80E C-BAND
+# Generated by Roman Kashcheev
+# Mar 30, 2008
+# freq pol sr fec
+
+# RSCC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3525000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 31106000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# TRK Sever
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3558000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3215000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# TRV Muji
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3562000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3225000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# OTV Sakhalin
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3625000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# RSCC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3675000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 33483000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+# 5 Kanal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3929000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8705000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# TV Centr
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4147000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Blagovest Telekanal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4175000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6510000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM22-53.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM22-53.0E
new file mode 100755
index 00000000..513244cb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM22-53.0E
@@ -0,0 +1,51 @@
+# Express AM 22 @ 53E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11044000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 44950000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10974000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8150000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+#S 10974000 V 32223000 7/8
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11031000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3750000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11096000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6400000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11124000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7593000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11161000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5785000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy10R-123w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy10R-123w
new file mode 100755
index 00000000..6212f56c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy10R-123w
@@ -0,0 +1,59 @@
+# Galaxy 10R @ 123W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11720000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27692000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11732000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13240000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11800000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26657000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11805000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4580000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11966000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13021000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12104000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12114000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy13_C-127W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy13_C-127W
new file mode 100755
index 00000000..db85e25e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy13_C-127W
@@ -0,0 +1,39 @@
+# Galaxy 13 @ 127W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3780000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3820000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4066000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3313000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4185000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 10097000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy14_C-125W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy14_C-125W
new file mode 100755
index 00000000..b7ffe0d5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy14_C-125W
@@ -0,0 +1,30 @@
+# Galaxy 14 @ 125W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3720000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26668000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3760000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19887000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3900000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29077000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy15_C-133W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy15_C-133W
new file mode 100755
index 00000000..bcc096f0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy15_C-133W
@@ -0,0 +1,22 @@
+# GALAXY 15 @ 133W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3790000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 11935000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3809000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 16303000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy16_C-99.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy16_C-99.0W
new file mode 100755
index 00000000..5d23c6f9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy16_C-99.0W
@@ -0,0 +1,137 @@
+# Galaxy 16 @ 99W C-BAND
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3721000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8703000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3789000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1671000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3795000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3805000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2300000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3810000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8029000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3932000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1561000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3936000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1545000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26398000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4080000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27780000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4120000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 9/10
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3740000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3812000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 15004000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4006000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5833000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4060000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27781000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4140000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 9/10
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17-91.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17-91.0W
new file mode 100755
index 00000000..ff7599a4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17-91.0W
@@ -0,0 +1,370 @@
+# Galaxy 17 @ 91W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10964000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 19850000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10994000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11024000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11806000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11815000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11825000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11925000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11930000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11935000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11940000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11945000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11950000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11950000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11955000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11955000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11960000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11965000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11965000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11970000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11970000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11975000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11975000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11980000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11985000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11985000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11990000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11990000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11995000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11995000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12005000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12010000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12010000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12015000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12020000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12025000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12030000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12035000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12066000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12075000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12083000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12086000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6144000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12096000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6144000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12104000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6144000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12114000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6144000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17_C-91.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17_C-91.0W
new file mode 100755
index 00000000..0530bc9d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17_C-91.0W
@@ -0,0 +1,48 @@
+# Galaxy 17 @ 91W C-Band
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3867000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6619000
+ INNER_FEC = 1/2
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3935000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2489000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3925000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4249000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3966000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5600000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4067000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6051000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19-97.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19-97.0W
new file mode 100755
index 00000000..3c1cdf2c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19-97.0W
@@ -0,0 +1,130 @@
+# Galaxy 19 @ 97W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11789000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28125000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11836000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 20765000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11867000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11874000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11898000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11936000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11966000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11991000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12053000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12084000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12090000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12115000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22425000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12122000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12146000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12152000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12177000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 23000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19_C-97.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19_C-97.0W
new file mode 100755
index 00000000..6d9f4616
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19_C-97.0W
@@ -0,0 +1,138 @@
+# Galaxy 19 @ 97W C-BAND
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3940000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4070000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5499000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4100000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29862000
+ INNER_FEC = 9/10
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3760000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 31456000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3791000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13332000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3814000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6373000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3847000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2200000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3851000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3532000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3856000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2940000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3922000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3703000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3984000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3599000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4060000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29858000
+ INNER_FEC = 9/10
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4080000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29858000
+ INNER_FEC = 9/10
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4120000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4160000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29862000
+ INNER_FEC = 9/10
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy23_C-121W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy23_C-121W
new file mode 100755
index 00000000..f03b1dfc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy23_C-121W
@@ -0,0 +1,111 @@
+# Galaxy 23 @ 121W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3840000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3877000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3892000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13020000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3910000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 14399000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4115000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 18086000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3780000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29269000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3980000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29270000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4032000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8332000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4050000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2590000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4070000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6537000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4170000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 18915000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4190000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 11068000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy25-93.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy25-93.0W
new file mode 100755
index 00000000..3f349e36
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy25-93.0W
@@ -0,0 +1,474 @@
+# Galaxy 25 @ 93W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11711000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14312000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11721000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11727000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11732000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11737000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11737000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11742000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11748000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11753000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11767000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11772000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11772000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11777000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11782000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11788000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11793000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11809000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11814000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11827000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8429000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11836000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7179000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11841000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11865000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3516000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11887000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11893000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11904000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3010000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11904000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11919000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11924000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11926000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8848000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11929000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11935000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11936000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8848000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11944000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8848000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11949000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11954000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11956000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11960000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11961000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11965000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11967000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11970000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11972000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11977000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12047000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12048000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12054000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12058000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12059000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12063000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12064000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12069000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12076000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8679000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12089000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6511000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12110000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4104000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12116000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12121000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12126000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12132000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12175000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5147000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy27-129w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy27-129w
new file mode 100755
index 00000000..3fb402e2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy27-129w
@@ -0,0 +1,11 @@
+# Galaxy 27 @ 129W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11964000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2920000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28-89.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28-89.0W
new file mode 100755
index 00000000..cefb3208
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28-89.0W
@@ -0,0 +1,315 @@
+# Galaxy 28 @ 89W
+# Intelsat Americas 8 @ 89W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11717000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4411000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11747000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11756000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11780000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11800000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11825000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4552000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11865000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3700000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11882000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4883000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11925000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11930000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11935000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11936000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11940000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11945000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11950000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11955000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11960000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11965000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11970000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11970000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11975000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11980000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11985000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11989000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11990000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11995000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12009000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12032000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12092000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2314000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12114000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 14398000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12134000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12164000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12170000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12175000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12180000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12185000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12191000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12196000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3979000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28_C-89.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28_C-89.0W
new file mode 100755
index 00000000..aba698d9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28_C-89.0W
@@ -0,0 +1,30 @@
+# Galaxy 28 @ 89W C-Band
+#
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3860000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3900000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29862000
+ INNER_FEC = 9/10
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3880000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 32364000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C-95.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C-95.0W
new file mode 100755
index 00000000..d9e62cfc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C-95.0W
@@ -0,0 +1,10 @@
+# Galaxy 3C @ 95W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11780000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 20760000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C_C-95.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C_C-95.0W
new file mode 100755
index 00000000..9c03c419
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C_C-95.0W
@@ -0,0 +1,29 @@
+# Galaxy 3C @ 95W C-BAND
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3950000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 14999000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3776000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6923000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3824000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7500000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hispasat-30.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hispasat-30.0W
new file mode 100755
index 00000000..67625157
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hispasat-30.0W
@@ -0,0 +1,297 @@
+# Hispasat 30.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 10730000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 10730000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10890000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10930000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2150000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11510000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11529000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10000000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = QPSK
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11615000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29000000
+ INNER_FEC = 9/10
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11641000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11731000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11771000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11811000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11851000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11891000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11931000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2220000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11931000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11940000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1481000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12092000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12130000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12168000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12207
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12226000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12246000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12284000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12303000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12322000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12360000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12380000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12398000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12437000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12456000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12476000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hotbird-13.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hotbird-13.0E
new file mode 100755
index 00000000..0df0ab3e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hotbird-13.0E
@@ -0,0 +1,778 @@
+# EUTELSAT SkyPlex, Hotbird 13E
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10719000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10723000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29900000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10757000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10775000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10795000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10834000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10853000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10872000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10892000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10910000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10930000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10949000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10971000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10992000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11013000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11034000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11054000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11075000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11095000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11117000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11137000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11158000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11178000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11200000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11219000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11242000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11278000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11295000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11334000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11355000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11373000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11393000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11411000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11470000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11488000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11526000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11541000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11565000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11585000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11604000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11623000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11645000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11662000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11677000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11727000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11747000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11765000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11785000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11804000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11823000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11842000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11861000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11880000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11900000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11919000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11919000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11938000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11958000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11976000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12034000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12054000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12072000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12092000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12111000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12149000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12169000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12188000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12207000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12226000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12245000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12264000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12284000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12302000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12322000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12341000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12360000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12379000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12398000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12418000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12437000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12475000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12519000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12539000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 1
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12539000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ PLS_CODE = 8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12558000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12577000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12596000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12616000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12635000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12654000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12673000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12692000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12713000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12731000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/IA7-129w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/IA7-129w
new file mode 100755
index 00000000..612504a6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/IA7-129w
@@ -0,0 +1,11 @@
+# Intelsat Americas 7 @ 129W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11989000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2821000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat2E_C-83.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat2E_C-83.0E
new file mode 100755
index 00000000..f6bdcccb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat2E_C-83.0E
@@ -0,0 +1,296 @@
+# Insat 2E @ 83.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# NE TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3521000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8640000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# NE TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3537000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV 9 Telugu
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3550000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# S1 Channel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3559000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3366000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV 9 Kannada
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3581000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Jaya TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3593000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8680000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Tata Communications Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3593000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9629000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Asianet Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3643000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 19531000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Amrita TV Middle East
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3678000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5926000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Mahaa TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3689000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2893000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Tata Communications Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3696000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# CNBC India
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3760000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Raj TV Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3774000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13021000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# UTVi TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3794000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3500000
+ INNER_FEC = 3/5
+ INVERSION = AUTO
+
+
+# PTC Multiplex (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3815000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Tata Communications Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3845000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26043000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Indiavision
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3914000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Yes Indiavision
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3919000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Manorama News International
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3923000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Tata Communications Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3934000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13021000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Raj Musix kanada
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3961000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6656000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV 9 Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3974000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Asianet Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4010000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 19531000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Tata Communications Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4031000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7440000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# RRSat Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4042000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7420000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Tata Communications Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4050000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5084000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# DD national
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4070000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Indiasign Mulitplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4091000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9230000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# News Live (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4100000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4700000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat3A_C-93.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat3A_C-93.5E
new file mode 100755
index 00000000..b12d36b7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat3A_C-93.5E
@@ -0,0 +1,206 @@
+# Insat 3A @ 93.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# DD Bangla
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3732000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Punjab
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3740000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Gujarati
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3750000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Chandana
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3759000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Oriya
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3772000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD kashir
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3782000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Sahyadri
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3791000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8600000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Malayalam
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3812000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Saptagiri
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3820000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD podhigai
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3831000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8600000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Himachal Pradesh
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3932000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Jaipur
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3940000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Madhya Pradesh
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3950000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Uttar Pradesh
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3958000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD North East
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4092000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Mizoram
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4101000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Tripura
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4109000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RTA Afghanistan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4132000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RTA Afghanistan Nangarhar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4136000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Ariana TV Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4141000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5150000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4A_C-83.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4A_C-83.0E
new file mode 100755
index 00000000..8e1e903c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4A_C-83.0E
@@ -0,0 +1,296 @@
+# Insat 4A @ 83.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# NSTPL Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3725000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26665000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Indiasign multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3756000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Star TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3777000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 10900000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Essel Shyam Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3805000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Tarang TV Multiplex (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3841000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6920000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# CTVN AKD Plus
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3853000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3265000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Kasthuri TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3857000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3462000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Kamyab TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3874000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3403000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Vanitha TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3892000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3300000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Essel Shayam Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3898000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Channel 10 India
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3910000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3600000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Essel Shyam
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3923000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DY 365
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3949000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3225000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3958000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 9500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Zee News Uttar Pradesh
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3976000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3200000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# ETV Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4004000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22220000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# Essel Shyam
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4040000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Lamhas Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4054000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13230000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Network 18 Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4072000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# IBN Lokmat
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4078000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Live India
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4087000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3300000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Mi Marathi
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4091000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# BBS TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4100000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4750000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Manorama News
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4115000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5555000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# BAG Films
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4134000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 10600000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Zee Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4151000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Zee Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4161000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Lok Sabha TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4170000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Kolkata TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4180000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3233000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4B_C-93.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4B_C-93.5E
new file mode 100755
index 00000000..6e939979
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4B_C-93.5E
@@ -0,0 +1,156 @@
+# Insat 4B @ 93.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# Doordarshan Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3725000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Dehradun
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3750000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Raipur
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3762000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Ranchi
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3768000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Jammu
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3774000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Hissar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3802000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Chandigarh
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3808000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Port Blair
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3822000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD Bihar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3832000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# DD North East
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3841000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Sun network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3885000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Doordarshan Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3925000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Sakshi TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3950000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4440000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Tata Communications Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4005000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 25422000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Sun Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4045000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel4-72.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel4-72.0E
new file mode 100755
index 00000000..feba65e3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel4-72.0E
@@ -0,0 +1,34 @@
+# Intel4 @ 72E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11533000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4220000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11638000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12518000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8232000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12526000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3266000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel904-60.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel904-60.0E
new file mode 100755
index 00000000..11bcce43
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel904-60.0E
@@ -0,0 +1,90 @@
+# Intel904 @ 60E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11003000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2975000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11011000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2975000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2975000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11093000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3980000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11101000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4105000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11142000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11152000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11157000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11515000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11635000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29700000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11675000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29700000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1002-1.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1002-1.0W
new file mode 100755
index 00000000..57b2b60f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1002-1.0W
@@ -0,0 +1,146 @@
+# Intelsat 1002 @ 1.0W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4175000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4180000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 21050000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11093000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19191000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11166000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1450000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11182000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3100000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11606000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13356000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12527000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12563000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12563000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12607000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12607000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12643000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12643000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12687000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12687000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12718000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 18400000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12723000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12735000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8800000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-11-43.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-11-43.0W
new file mode 100755
index 00000000..3ae9107c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-11-43.0W
@@ -0,0 +1,11 @@
+# Intelsat 11 @ 43.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3944000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5945000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-12-45.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-12-45.0E
new file mode 100755
index 00000000..124b0ecf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-12-45.0E
@@ -0,0 +1,106 @@
+# Intelsat 12 @ 45.0E
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11468000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11495000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7299000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11517000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2959000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11523000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5787000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11550000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11591000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 2
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11591000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11591000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11632000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11673000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ ROLLOFF = AUTO
+ MODULATION = PSK/8
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1R-45.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1R-45.0W
new file mode 100755
index 00000000..d512c54c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1R-45.0W
@@ -0,0 +1,331 @@
+# Intelsat 1R @ 45.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4104000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14450000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3854000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2370000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11893000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3869000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3515000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4186000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4040000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4347000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4071000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2615000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3991000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4044000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3882000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4410000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11788000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11728000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5057000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11737000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5057000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11722000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11718000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11833000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 17360000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11930000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 11790000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11808000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4779000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4132000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5749000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3780000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2941000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11705000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4440000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3759000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2941000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4171000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4410000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3899000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6611000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4192000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2075000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4096000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8102000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11873000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11856000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11746000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11715000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3985000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3310000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3892000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6110000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4135000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26600000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4121000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3510000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3742000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3910000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4292000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3975000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3310000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4133000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3785000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4409000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3868000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10075000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3774000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8820000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4128000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3310000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-3R-43.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-3R-43.0W
new file mode 100755
index 00000000..9ffcec5c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-3R-43.0W
@@ -0,0 +1,259 @@
+# Intelsat 3R @ 43.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3936000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3310000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3901000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3891000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3935000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 17360000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3872000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3736000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29270000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4106000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26470000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3910000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3919000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4083000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6599000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4106000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29270000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3994000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 21090000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3867000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6429000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3958000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3980000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3828000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4350000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3888000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7813000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3785000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3942000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3946000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2592000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3988000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4070000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3845000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4040000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3865000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6900000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3850000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11705000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3700000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11745000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11711000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4687000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11754000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3109000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3746000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 21261000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4150000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24570000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3930000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2812000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-6B-43.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-6B-43.0W
new file mode 100755
index 00000000..169e6ebf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-6B-43.0W
@@ -0,0 +1,115 @@
+# Intelsat 6B @ 43.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10882000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10882000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10970000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10970000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11050000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11130000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11382000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11130000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10720000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10720000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11050000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11382000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10800000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10800000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-705-50.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-705-50.0W
new file mode 100755
index 00000000..461b68ac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-705-50.0W
@@ -0,0 +1,35 @@
+# Intelsat 705 @ 50.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3911000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3617000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3917000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4087000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3838000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7053000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4126000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-707-53.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-707-53.0W
new file mode 100755
index 00000000..228866cd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-707-53.0W
@@ -0,0 +1,19 @@
+# Intelsat 707 @ 53.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3820000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11483000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-903-34.5W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-903-34.5W
new file mode 100755
index 00000000..f6be6ea0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-903-34.5W
@@ -0,0 +1,35 @@
+# Intelsat 903 @ 34.5W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4178000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 32555000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4045000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4960000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3895000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13021000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4004000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-905-24.5W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-905-24.5W
new file mode 100755
index 00000000..730d2c9d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-905-24.5W
@@ -0,0 +1,51 @@
+# Intelsat 905 @ 24.5W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4171000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4181000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4194000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5193000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4162000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4060000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4070000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-907-27.5W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-907-27.5W
new file mode 100755
index 00000000..9e6d5532
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-907-27.5W
@@ -0,0 +1,51 @@
+# Intelsat 907 @ 27.5W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3873000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4687000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3935000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4687000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3743000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2900000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3732000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3943000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1808000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3938000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3544000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat21_C-58.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat21_C-58.0W
new file mode 100755
index 00000000..8467159d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat21_C-58.0W
@@ -0,0 +1,273 @@
+# Intelsat 21 @ 58.0W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3720000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3760000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3785000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5199000
+ INNER_FEC = 9/10
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3791000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3329000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27690000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3880000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27690000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3920000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 9/10
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3952000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 15146000
+ INNER_FEC = 3/5
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3972000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4499000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28122000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4040000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26591000
+ INNER_FEC = 1/2
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4080000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4125000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3700000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3720000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 8/9
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3760000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27690000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3800000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27690000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3880000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3910000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14999000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3924000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3934000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7000000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3960000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4000000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4040000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4080000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27690000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4120000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27501000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4150000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4160000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2940000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4169000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4174000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2941000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat34_C-55.5W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat34_C-55.5W
new file mode 100755
index 00000000..0b20ffbe
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat34_C-55.5W
@@ -0,0 +1,371 @@
+# Intelsat 34 @ 55.5W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3715000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8890000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3725000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3746000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1600000
+ INNER_FEC = 3/5
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3754000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4232000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3757000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2967000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3763000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3776000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7999000
+ INNER_FEC = 3/5
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3797000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6670000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3845000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3872000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 9333000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3910000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5833000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3932000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5625000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3969000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7120000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4055000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4084000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 10560000
+ INNER_FEC = 3/5
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4097000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2272000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4100000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1840000
+ INNER_FEC = 3/5
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4106000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5360000
+ INNER_FEC = 3/5
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4111000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = 3/5
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4120000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5499000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4134000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4136000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4142000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4147000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3443000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4151000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4160000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5599000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3805000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26664000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26700000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3884000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3926000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7199000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3987000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3329000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3990000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3590000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4002000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8681000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4020000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 18401000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4085000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4074000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4092000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3616000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4100000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2319000
+ INNER_FEC = 8/9
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4111000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1850000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4136000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4177000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat8_C-166.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat8_C-166.0E
new file mode 100755
index 00000000..be61e6b0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat8_C-166.0E
@@ -0,0 +1,116 @@
+# Intelsat 8 @ 166.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# Viacom Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3740000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# South Korean Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3790000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6510000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Arirang World
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3815000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Australian network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3829000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13238000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TVBS multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3833000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 17500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# NBC Universal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3900000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Intelsat multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3940000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27690000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# China Radio multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3959000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3428000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# NHK World network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4060000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 16180000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+
+# Philippines Network TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4122000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5554000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TAS Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4130000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/JCSat3A_C-128.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/JCSat3A_C-128.0E
new file mode 100755
index 00000000..211c636d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/JCSat3A_C-128.0E
@@ -0,0 +1,46 @@
+# JCSAT 3A @ 128.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# TAS Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3960000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# TAS Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4000000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# Miraclenet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4055000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3332000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TAS Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4120000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Measat3_C-91.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Measat3_C-91.5E
new file mode 100755
index 00000000..4ecce5e4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Measat3_C-91.5E
@@ -0,0 +1,166 @@
+# Measat 3 @ 91.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# Shop TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3629000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2200000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Aora TV Mulitplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3644000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22320000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Solar Entertainment
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3645000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 19510000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# National Geographic music
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3718000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1700000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# DZRH TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3721000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Ascent Media (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3751000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13330000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# Globecast Multiplex (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3769000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# HTV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3796000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7030000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Sky International
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3814000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Un-named Mulitplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3865000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3835000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RTM Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3877000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 12525000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# RTM Sarawak Feeds
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3887000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3984000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Globecast Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3920000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# Ginx TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4113000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2960000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# YR Asia TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4117000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# All Sports Network (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4134000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7200000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-10-37.5W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-10-37.5W
new file mode 100755
index 00000000..4f892aa2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-10-37.5W
@@ -0,0 +1,75 @@
+# NSS 10 @ 37.5W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4055000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2700000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3824000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1808000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4059000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3828000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2532000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3844000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4071000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3150000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4051000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4440000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4044000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3250000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4077000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-7-22.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-7-22.0W
new file mode 100755
index 00000000..a085d0f4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-7-22.0W
@@ -0,0 +1,179 @@
+# NSS 7 @ 22.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3926000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3715000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3920000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3715000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3954000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3929000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3915000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3715000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3761000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22650000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11825000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5904000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12162000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6510000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11777000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11860000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 35000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12049000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11921000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 35000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4003000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4011000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4126000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3680000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3969000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1808000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3976000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1842000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11814000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5630000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4038000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3690000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3674000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4033000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3689000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4016000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3663000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-806-40.5W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-806-40.5W
new file mode 100755
index 00000000..fb5d0545
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-806-40.5W
@@ -0,0 +1,843 @@
+# NSS 806 @ 40.5W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11921000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 35000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3660000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4350000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3986000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3179000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3859000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2600000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4120000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2960000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4016000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5712000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3978000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3978000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4100000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6111000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3965000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2540000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3774000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6670000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3725000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3600000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 25185000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3758000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26667000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3982000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 17800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4090000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2515000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4042000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8680000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4009000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4003000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3648000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3664000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3644000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2534000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3695000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4082000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4143000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3641000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3991000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3578000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2450000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4009000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2450000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3960000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3755000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4135000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4005000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2450000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4003000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2450000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3600000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29185000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3868000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2100000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3685000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3688000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3679000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2220000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3961000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1481000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4130000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3923000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4052000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2459000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4071000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4146000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2571000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3646000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3978000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3837000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19510000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4132000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2480000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3653000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5924000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4055000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7233000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3938000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4785000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4152000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3280000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3832000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 13310000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4090000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4082000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6510000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4107000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2100000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3500000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4126000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2531000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3860000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2713000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3983000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4065000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4063000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3972000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3330000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4024000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 16030000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3803000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26860000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3920000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4053000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3676000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3637000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3516000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3516000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4093000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2887000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4177000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4391000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4124000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3480000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4139000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2220000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3693000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4441000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4194000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6660000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3803000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4112000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3676000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5900000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3652000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3725000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26669000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3898000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4195000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4162000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4168000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3965000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3332000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4100000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6654000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4127000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4109000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6654000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3670000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2960000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3853000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5900000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3660000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2540000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4170000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3630000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3695000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2220000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4184000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6142000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4122000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1860000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4022000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4137000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3878000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22117000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4132000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2800000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4043000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7440000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4142000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3990000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4195000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3667000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3673000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nahuel-1-71.8W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nahuel-1-71.8W
new file mode 100755
index 00000000..66c3702d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nahuel-1-71.8W
@@ -0,0 +1,67 @@
+# Nahuel 1 @ 71.8W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11673000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11680000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3335000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11654000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11874000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12136000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2960000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11873000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12116000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 14396000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11997000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nilesat101+102-7.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nilesat101+102-7.0W
new file mode 100755
index 00000000..4a6bb305
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nilesat101+102-7.0W
@@ -0,0 +1,314 @@
+# Nilesat 101/102 & Atlantic Bird @ 7W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10719000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10723000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10758000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10775000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10796000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10892000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10911000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10930000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11317000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11747000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11766000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11785000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11804000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11823000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11843000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11862000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11881000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11900000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11919000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11938000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11958000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11977000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27600000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11996000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12015000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12034000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12054000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12073000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12130000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12149000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12207000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12226000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12284000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12303000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12341000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12360000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12380000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12399000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12418000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12476000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusC1-156E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusC1-156E
new file mode 100755
index 00000000..c3eddb32
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusC1-156E
@@ -0,0 +1,146 @@
+# Optus C1 satellite 156E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12278000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12305000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12358000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27000000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12398000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12407000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12438000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12487000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12501000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29473000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12518000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12527000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12558000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12564000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29473000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12567000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12598000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12607000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29473000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12638000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12689000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12720000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusD1-160.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusD1-160.0E
new file mode 100755
index 00000000..fef901a9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusD1-160.0E
@@ -0,0 +1,18 @@
+# Optus D1 satellite 160.0E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12456000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12483000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PAS-43.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PAS-43.0W
new file mode 100755
index 00000000..db5bf939
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PAS-43.0W
@@ -0,0 +1,34 @@
+# PAS 6/6B/3R at 43.0W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12578000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19850000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12584000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12606000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6616000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12665000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19850000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PalapaC2_C-113.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PalapaC2_C-113.0E
new file mode 100755
index 00000000..f00e4c94
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PalapaC2_C-113.0E
@@ -0,0 +1,116 @@
+# Palapa C2 @ 113.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# SCTV Jawa Timur
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3745000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3125000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SCTV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3758000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4470000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TVRI Nasional
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3765000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5555000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RCTI
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3774000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6520000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# KBS World Indonesia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3836000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2097000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Bali TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3926000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4208000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV One Indonesia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4054000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# ANTV Indonesia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4055000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6510000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Indosiar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4074000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Satelindo Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4080000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28125000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TPI Indonesia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4184000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6700000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SBS6-74w b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SBS6-74w
new file mode 100755
index 00000000..f6ca6c74
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SBS6-74w
@@ -0,0 +1,11 @@
+# SBS 6 @ 74W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11744000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6616000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES1_C-101W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES1_C-101W
new file mode 100755
index 00000000..0dbb860a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES1_C-101W
@@ -0,0 +1,75 @@
+# SES 1 @ 101.0W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4020000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3715000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4775000
+ INNER_FEC = 3/5
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3720000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 10000000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3773000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4441000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3952000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2734000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3956000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2734000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3960000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2734000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3973000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5924000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2-87.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2-87.0W
new file mode 100755
index 00000000..9fa21ab4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2-87.0W
@@ -0,0 +1,59 @@
+# AMC 3 @ 87.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11716000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4859000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12142000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12147000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12159000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12165000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12172000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12182000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2_C-87.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2_C-87.0W
new file mode 100755
index 00000000..c19372f2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2_C-87.0W
@@ -0,0 +1,66 @@
+# SES 2 @ 87.0W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3842000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6149000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29123000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4043000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4710000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3743000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3752000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8681000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3948000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4164000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3953000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = 3/4
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES3_C-103W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES3_C-103W
new file mode 100755
index 00000000..2a0d4135
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES3_C-103W
@@ -0,0 +1,111 @@
+# SES 3 @ 103W C-BAND
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26682000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3903000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6511000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3912000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2927000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3920000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3149000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 3923000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2733000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4000000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 29271000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4040000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 2/3
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3740000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29268000
+ INNER_FEC = 7/8
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3971000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14800000
+ INNER_FEC = 5/6
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4020000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3499000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4090
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 14029000
+ INNER_FEC = 3/4
+ MODULATION = QPSK
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 4140000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ MODULATION = PSK/8
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ST1_C-80.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ST1_C-80.0E
new file mode 100755
index 00000000..d60a39ea
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ST1_C-80.0E
@@ -0,0 +1,76 @@
+# ST1 @ 88.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# GTV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3469000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# ABTV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3521000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8332000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# Videoland Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3550000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# GTV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3595000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Videoland multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3632000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Chungwa Telecom
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3671000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 9256000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# NTD TV Asia-Pacific
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3689000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-5-116.8W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-5-116.8W
new file mode 100755
index 00000000..96c804d6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-5-116.8W
@@ -0,0 +1,555 @@
+# Satmex 5 @ 116.8W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12034000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2532000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12175000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4232000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4060000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19510000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3905000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4084000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3162000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3767000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1620000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11975000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11960000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4180000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19510000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4115000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3253000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29270000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4160000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29270000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3940000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28125000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4052000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4307000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12024000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4134000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3617000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12028000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12060000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3078000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4012000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3131000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3949000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4076000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2962000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3749000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4070000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3744000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4480000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3755000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3869000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3876000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3879000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1984000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3957000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2600000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3975000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3131000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3982000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2531000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3832000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3953000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2597000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3987000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8860000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3996000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3748000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2100000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3932000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3914000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3223000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3888000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5351000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3805000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4679000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4001000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4100000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4023000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12176000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3985000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4108000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2666000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4038000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7675000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3809000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3100000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4080000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 29270000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3910000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4164000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1733000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12193000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7885000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12164000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12044000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3720000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3922000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9760000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3797000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3968000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4037000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4046000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2441000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4080000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2441000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3773000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2892000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3767000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2893000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3935000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4440000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3972000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3364000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3905000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2400000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4007000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5582000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3885000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3826000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2712000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3944000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3410000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3915000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1520000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3876000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2920000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-6-113.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-6-113.0W
new file mode 100755
index 00000000..19a8f308
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-6-113.0W
@@ -0,0 +1,131 @@
+# Satmex 6 @ 113.0W
+# freq pol sr fec
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4078000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3609000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4080000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12145000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4085000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2821000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12126000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6022000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12166000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 17500000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4075000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3782000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4091000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3720000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3985000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2300000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12126000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12157000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3038000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12091000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3337000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3947000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3700000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3761000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2120000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12107000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12080000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 25635000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Sirius-5.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Sirius-5.0E
new file mode 100755
index 00000000..9f93c383
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Sirius-5.0E
@@ -0,0 +1,519 @@
+# Sirius 5.0E
+# automatically generated from kingofsat.net ini file 0048.ini
+# http://en.kingofsat.net/satellites.php
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11265000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11265000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11305000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11305000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11345000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11345000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 11385000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11727000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11747000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11766000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11785000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11804000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11823000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11843000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11862000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11881000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11900000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11919000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11938000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11958000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11977000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11996000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12015000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12034000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12054000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12073000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12092000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12111000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12130000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12149000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12169000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12188000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+ STREAM_ID = 10
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12188000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+ STREAM_ID = 20
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12207000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12226000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 25540000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12245000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12265000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12284000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12303000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 25547000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12322000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12341000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+ STREAM_ID = 30
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12341000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+ STREAM_ID = 40
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12360000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12379000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12399000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12418000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12437000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12456000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12476000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12575000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13922000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12608000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12637000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 14465000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12670000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2600000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12680000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 9404000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12682000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6888000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12687000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5600000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12687000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6667000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12694000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12702000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2100000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12703000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12719000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2960000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12722000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1600000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS2
+ FREQUENCY = 12725000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1480000
+ INNER_FEC = 8/9
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12728000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1600000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telecom2-8.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telecom2-8.0W
new file mode 100755
index 00000000..637871d9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telecom2-8.0W
@@ -0,0 +1,122 @@
+# Telecom2 8.0W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10972000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10974000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11010000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11011000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11042000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7860000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11053000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2850000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11064000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 12667000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11387000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24740000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11428000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11500000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3460000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11554000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11595000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12545000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3038000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12566000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12649000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telkom1_C-108.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telkom1_C-108.0E
new file mode 100755
index 00000000..194b5e5d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telkom1_C-108.0E
@@ -0,0 +1,146 @@
+# Telkom 1 @ 108.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# Telkom Vision Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3580000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Telkom Vision Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3620000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Telkom Vision Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3640000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV Timor Leste
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3776000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV Edukasi 1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3785000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TVRI Kalbar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3793000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TVRI Papua
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3797000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3900000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV Edukasi 2
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3807000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Trans 7
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3990000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TVRI Aceh
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RCTI Jawa Timur
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4025000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Trans TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4084000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Papua TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4092000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3570000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# JTV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4097000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3125000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar10_C-76.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar10_C-76.5E
new file mode 100755
index 00000000..3ea634b6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar10_C-76.5E
@@ -0,0 +1,196 @@
+# Telstar 10 @ 76.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# Racing International
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3646000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5064000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Image Channel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3655000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Globe Cast Asia multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3680000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# UBI World TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3760000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28066000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# UBI World TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3780000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28066000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# Ekushey TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3787000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4600000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# Diganta TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3793000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RRSat Global Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3840000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Channel 1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4003000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4080000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Boishakhi TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4009000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4300000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TV Maldives
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4030000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6312000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+
+# Channel I
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4034000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4300000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Bangla Vision
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4049000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3600000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Kantipur TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4056000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3214000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# BBC World Service Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4073000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13020000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+
+# MNC Indonesia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4105000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3125000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# NDTV Arabia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4137000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2893000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Islamic TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4146000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3600000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Bangladesh Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4173000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7400000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar12-15.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar12-15.0W
new file mode 100755
index 00000000..9dd367a1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar12-15.0W
@@ -0,0 +1,194 @@
+# Telstar 12 15.0W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10988000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2893000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10992000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2893000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11060000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19279000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11123000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 19279000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11124000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 18386000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11150000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 18386000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11150000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 19279000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11531000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3198000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11566000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4284000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11677000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2200000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11709000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3195000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11806000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 7596000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11963000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 14714000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12082000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3935000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12117000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4772000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12159000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7777000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12166000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3503000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12173000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3503000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12524000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26470000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12547000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 11900000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12589000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4503000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12608000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 19279000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12615000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 11939000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12645000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar18_C-138.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar18_C-138.0E
new file mode 100755
index 00000000..a8ae3086
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar18_C-138.0E
@@ -0,0 +1,46 @@
+# Telstar 18 @ 138.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# I-Sky-Net Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3599000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# I-Sky-Net Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3660000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# LNTV Laos
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3704000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3034000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# BBC World Service Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4124000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom1A_C-120.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom1A_C-120.0E
new file mode 100755
index 00000000..a9bcb172
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom1A_C-120.0E
@@ -0,0 +1,66 @@
+# Thaicom 1A @ 120.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# TV3 Cambodia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3725000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3255000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Panyapiwat
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3745000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2850000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# CTN Cambodia Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3854000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9628000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Kasikorn TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3881000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Bayon TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3916000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3359000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Radio Thailand Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4135000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1808000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom2_C-78.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom2_C-78.5E
new file mode 100755
index 00000000..342e70bd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom2_C-78.5E
@@ -0,0 +1,96 @@
+# Thaicom 2 @ 78.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# BBTV Channel 7
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3764000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5900000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# SBT TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3803000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1445000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# MCOT Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3888000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 15625000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Royal Thai Army TV 5
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3905000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6250000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Thai TV Color Channel 3
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3967000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4551000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RU TV 1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4003000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 1085000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Ten TV & Rich Channel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4016000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2305000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+
+# NBT TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4106000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4688000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Thai PBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4145000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4815000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom5_C-78.5E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom5_C-78.5E
new file mode 100755
index 00000000..2171a97e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom5_C-78.5E
@@ -0,0 +1,216 @@
+# Thaicom 5 @ 78.5E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# ETC India Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3421000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6667000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Europe Media Port Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3431000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Nepal TV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3432000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6667000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# CTV9
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3448000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RRSat Global Network (MPEG-4 S/2)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3450000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Avenues TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3454000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# PSI Channel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3460000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1538000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Sagarmatha TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3489000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Dhi TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3502000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# Korean Central TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3504000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3367000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# Gang Cartoon Channel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3505000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 1852000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Lao Star Channel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3521000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2917000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Thaicom Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3545000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+
+# RRSat Global Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3551000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 13333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# VTV Maldives
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3562000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 1/2
+ INVERSION = AUTO
+
+
+# MRTV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3574000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7492000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+
+# Thaicom Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3585000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26667000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# Thaicom Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3600000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 26667000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# MRTV Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3617000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 12500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# RRSat Global Network Multiplex
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3640000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28066000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# TVK Cambodia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3664000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3704000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thor-1.0W b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thor-1.0W
new file mode 100755
index 00000000..0b462658
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thor-1.0W
@@ -0,0 +1,506 @@
+# Thor 1.0W
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10747000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 25000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10778000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 25000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10778000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10809000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10809000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10841000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10841000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10872000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10872000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10903000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 25000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10903000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 25000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10934000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10934000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 25000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11216000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11229000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11247000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11261000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11278000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11293000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11309000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11325000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11325000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11325000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11341000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11357000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11372000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11389000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11403000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11421000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11434000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24500000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11727000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11747000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11766000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11785000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11804000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11823000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11843000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11862000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11881000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11900000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11919000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11938000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 25000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11958000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11977000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11996000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12034000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12073000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12092000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12130000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12149000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12169000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12188000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 25000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12226000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12245000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12303000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12322000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 27800000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12341000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12380000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12399000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12418000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12456000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12476000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Turksat-42.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Turksat-42.0E
new file mode 100755
index 00000000..c363aed1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Turksat-42.0E
@@ -0,0 +1,818 @@
+# Turksat 42.0E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10968000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4557000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10970000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 30000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10999000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11003000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2175000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11007000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2950000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11011000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2125000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11014000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2050000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11018000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2150000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11028000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2400000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11083000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8888000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11136000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11143000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2200000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11159000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2596000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11162000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11166000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2960000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11177000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2200000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11554000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2916000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11576000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2400000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11581000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11607000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3750000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11712000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2963000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11716000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11729000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 15555000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11734000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3291000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11739000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3125000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11743000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11743000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11748000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11753000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11754000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3900000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11758000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2962000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11760000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5925000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11762000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2155000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11765000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11770000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2177000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11773000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2420000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11775000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11777000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3150000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11781000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2815000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11794000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5632000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11800000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2400000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11804000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24444000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11830000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11839000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11846000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11852000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11858000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2400000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11867000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11874000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3400000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11878000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3750000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11882000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2965000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11887000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11892000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 12800000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11892000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2960000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11896000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11905000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11912000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11919000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 24444000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11951000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8800000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11959000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2960000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11963000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2300000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11967000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4340000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11970000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 17900000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11973000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2240000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11984000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11996000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12002000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4800000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12008000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12015000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4800000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12022000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 5380000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12028000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4557000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12126000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 6666000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12127000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 7400000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12140000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12140000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12513000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4400000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12518000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3125000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12524000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4250000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12530000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4444000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12536000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2962000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12540000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3125000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12563000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 24000000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12590000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3000000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12595000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12605000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2961000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12609000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3700000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12614000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12633000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4800000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12636000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4800000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12638000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2400000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12647000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12652000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 22500000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12652000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3900000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12660000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9150000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12672000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12680000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 8888000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12692000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2800000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12696000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2222000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12699000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2400000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12702000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2285000
+ INNER_FEC = 7/8
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12717000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 5925000
+ INNER_FEC = 5/6
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 12731000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 3333000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Vinasat1_C-132.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Vinasat1_C-132.0E
new file mode 100755
index 00000000..06f9acbc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Vinasat1_C-132.0E
@@ -0,0 +1,26 @@
+# VINASAT 1 @ 132.0E C-BAND
+# Generated by Pietro Casoar
+# 1st March 2009
+
+# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
+# freq pol sr fec
+
+# VTV Multiplex (VTV 1, VTV 2, VTV 3, VTV 4, VTV6)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3413000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 9766000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+
+# VOV TV (Voice of VietNam)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3529000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = 2/3
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Yamal201-90.0E b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Yamal201-90.0E
new file mode 100755
index 00000000..fd4b97ef
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Yamal201-90.0E
@@ -0,0 +1,209 @@
+# Yamal201 @ 90E
+# freq pol sr fec
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10990000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2170000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 10995000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11057000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26470000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11092000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 26470000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11145000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 22222000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 11671000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 18200000
+ INNER_FEC = AUTO
+ INVERSION = AUTO
+
+
+# Yamal201 @ 90E C-BAND
+# Generated by Roman Kashcheev
+# Mar 30, 2008
+# freq pol sr fec
+
+# NauTV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3536000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2532000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Turkmenistan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3553000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 20000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# CNL
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3577000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2626000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Nord TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3588000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Telekompanija OTV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3600000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Oblastnoe Televidenie
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3603000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# CNL
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3605000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 2626000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Gascom
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3645000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 28000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Spas
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3674000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 17500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# TV Gubernia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3725000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 3200000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Yuzhniy Region
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3900000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4285000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Rostov TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3907000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4265000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# ORTRK 12 Kanal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3912000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 4295000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# O2
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3944000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 15550000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Klub Puteshestviy
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 3980000
+ POLARIZATION = HORIZONTAL
+ SYMBOL_RATE = 38000000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# Music Box
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4042000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 8681000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
+# NetService
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBS
+ FREQUENCY = 4084000
+ POLARIZATION = VERTICAL
+ SYMBOL_RATE = 2500000
+ INNER_FEC = 3/4
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ad-Andorra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ad-Andorra
new file mode 100755
index 00000000..e43251d8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ad-Andorra
@@ -0,0 +1,49 @@
+# DVB-T Andorra
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/at-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/at-All
new file mode 100755
index 00000000..7fbfdce5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/at-All
@@ -0,0 +1,591 @@
+# Austria, all DVB-T transmitters run by ORS
+# Created from
+# http://www.ors.at/fileadmin/user_upload/downloads/DVB-T_Kanalbezeichnungen_und_Mittenfrequenzen.pdf
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Adelaide b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Adelaide
new file mode 100755
index 00000000..5376dd8d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Adelaide
@@ -0,0 +1,79 @@
+# Australia / Adelaide / Mt Lofty
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 564500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 3D Trial Australia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-AdelaideFoothills b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-AdelaideFoothills
new file mode 100755
index 00000000..73dbe3d6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-AdelaideFoothills
@@ -0,0 +1,66 @@
+# Australia / Adelaide / Grenfell Street
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 781625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 711500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 795500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 732500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 760500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Ballarat b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Ballarat
new file mode 100755
index 00000000..438ada95
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Ballarat
@@ -0,0 +1,66 @@
+# Australia / Ballarat
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 655500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 592625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 613500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Bendigo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Bendigo
new file mode 100755
index 00000000..07f09ca8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Bendigo
@@ -0,0 +1,326 @@
+# Australia / Bendigo (Mt Alexandria transmitters)
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 669500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 572500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 655500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 555250000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 576250000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 592500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618250000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 534250000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# UNK1
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 676500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# UNK2
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 571500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 564500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 543500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 564500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 711500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 550500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Brisbane b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Brisbane
new file mode 100755
index 00000000..a23cb9cb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Brisbane
@@ -0,0 +1,79 @@
+# Australia / Brisbane (Mt Coot-tha transmitters)
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 31 Digital
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Cairns b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Cairns
new file mode 100755
index 00000000..272c605b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Cairns
@@ -0,0 +1,66 @@
+# Australia / Cairns (Mt Bellenden-Ker transmitters)
+# ABC VHF 8
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SEVEN VHF 11
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN VHF 12
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# TEN VHF 6 (Expected Start Date Dec 2006)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS UHF 29
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Canberra-Black-Mt b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Canberra-Black-Mt
new file mode 100755
index 00000000..e783e8ad
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Canberra-Black-Mt
@@ -0,0 +1,66 @@
+# Australia / Canberra / Black Mt
+# ABC (ABC8)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven (CBN12)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# (Nine (WIN11)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten (CTC6)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS (SBS7)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Coonabarabran b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Coonabarabran
new file mode 100755
index 00000000..83a4e6a9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Coonabarabran
@@ -0,0 +1,57 @@
+# Australia / Coonabarabran
+#
+#
+# ABC VHF12
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# TEN UHF46
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 655500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine UHF45
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 648500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven VHF11
+#T 618250000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
+# SBS UHF44
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Darwin b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Darwin
new file mode 100755
index 00000000..4e771947
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Darwin
@@ -0,0 +1,65 @@
+# ABC (UHF 30)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 543625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine (UHF 31)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 550500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS (UHF 29)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Southern Cross (UHF 32)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 557625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Darwin Digital Television (UHF 33)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 564625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Devonport b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Devonport
new file mode 100755
index 00000000..da39e0d4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Devonport
@@ -0,0 +1,95 @@
+# Australia / Tasmania / Devonport
+#
+# Brett S Hallett October 2009 , may not be complete !!
+#
+# ABC VHF 57
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730250000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC Digital 45
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 648500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS VHF 54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 709250000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS Digital 39
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 606500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SCTV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 613498000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 627498000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# TDT
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585498000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-FraserCoast-Bundaberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-FraserCoast-Bundaberg
new file mode 100755
index 00000000..ea93d82d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-FraserCoast-Bundaberg
@@ -0,0 +1,66 @@
+# Australia / QLD / Fraser Coast - Bundaberg / Mt Goonaneman
+# ABC VHF9A
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS UHF28
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven VHF7
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN Wide Bay VHF10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Southern Cross Ten VHF9
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 198525000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-GoldCoast b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-GoldCoast
new file mode 100755
index 00000000..9f3a74be
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-GoldCoast
@@ -0,0 +1,108 @@
+# DVB-T frequencies & modulation for the Gold Coast, Australia (Mt Tamborine)
+# See http://www.dba.org.au/index.asp?sectionID=22&recLocation=Gold+Coast
+# and http://www.dba.org.au/index.asp?sectionID=120
+#
+# ABC (UHF 62)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 767500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS (UHF 36)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven (UHF 53)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 704500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# NBN (UHF 68)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 809500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime (UHF 65)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 788500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Southern Cross Ten (UHF 43)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine (UHF 59)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten (UHF 56)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 725500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Goulburn-Rocky_Hill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Goulburn-Rocky_Hill
new file mode 100755
index 00000000..259d9ea8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Goulburn-Rocky_Hill
@@ -0,0 +1,664 @@
+# Australia / Goulburn / Rocky Hill
+#
+# Scanned 31/07/2016 - Alex Ferrara (alex@receptiveit.com.au)
+
+[Nine Canberra]
+ SERVICE_ID = 2055
+ VIDEO_PID = 353
+ AUDIO_PID = 354
+ PID_0b = 8026
+ PID_06 = 355
+ PID_05 = 8025
+ FREQUENCY = 641500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[9HD Canberra]
+ SERVICE_ID = 2247
+ VIDEO_PID = 1761
+ AUDIO_PID = 1762 1763 8025
+ PID_0b = 8026
+ FREQUENCY = 641500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[Nine Canberra]
+ SERVICE_ID = 2215
+ VIDEO_PID = 353
+ AUDIO_PID = 354
+ PID_0b = 8026
+ PID_06 = 355
+ PID_05 = 8025
+ FREQUENCY = 641500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[9Gem]
+ SERVICE_ID = 2087
+ VIDEO_PID = 1711
+ AUDIO_PID = 1712
+ PID_0b = 8026
+ PID_06 = 1713
+ PID_05 = 8025
+ FREQUENCY = 641500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[9Go!]
+ SERVICE_ID = 2119
+ VIDEO_PID = 1721
+ AUDIO_PID = 1722
+ PID_0b = 8026
+ PID_06 = 1723
+ PID_05 = 8025
+ FREQUENCY = 641500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[9Life]
+ SERVICE_ID = 2279
+ VIDEO_PID = 1771
+ AUDIO_PID = 1772
+ PID_0b = 8026
+ PID_06 = 1773
+ PID_05 = 8025
+ FREQUENCY = 641500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[YESSHOP]
+ SERVICE_ID = 2151
+ VIDEO_PID = 1731
+ AUDIO_PID = 1732
+ PID_0b = 8026
+ PID_05 = 8025
+ FREQUENCY = 641500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[Aspire]
+ SERVICE_ID = 2183
+ VIDEO_PID = 1741
+ AUDIO_PID = 1742
+ PID_0b = 8026
+ PID_05 = 8025
+ FREQUENCY = 641500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[WIN Canberra]
+ SERVICE_ID = 1921
+ VIDEO_PID = 122
+ AUDIO_PID = 522
+ PID_0b = 102
+ PID_06 = 722
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[WIN Canberra HD]
+ SERVICE_ID = 1939
+ VIDEO_PID = 125
+ AUDIO_PID = 525 725
+ PID_0b = 102
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ONE Canberra]
+ SERVICE_ID = 1922
+ VIDEO_PID = 123
+ AUDIO_PID = 523
+ PID_0b = 102
+ PID_06 = 723
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ELEVEN Canberra]
+ SERVICE_ID = 1926
+ VIDEO_PID = 124
+ AUDIO_PID = 524
+ PID_0b = 102
+ PID_06 = 724
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[WIN NETWORK]
+ SERVICE_ID = 1936
+ VIDEO_PID = 126
+ AUDIO_PID = 526
+ PID_0b = 102
+ PID_06 = 726
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[TVSN]
+ SERVICE_ID = 1928
+ VIDEO_PID = 116
+ AUDIO_PID = 516
+ PID_0b = 102
+ PID_06 = 716
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[GOLD]
+ SERVICE_ID = 1927
+ VIDEO_PID = 115
+ AUDIO_PID = 515
+ PID_0b = 102
+ PID_06 = 715
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ONE Canberra]
+ SERVICE_ID = 1925
+ VIDEO_PID = 123
+ AUDIO_PID = 523
+ PID_0b = 102
+ PID_06 = 723
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[WIN Canberra]
+ SERVICE_ID = 1924
+ VIDEO_PID = 122
+ AUDIO_PID = 522
+ PID_0b = 102
+ PID_06 = 722
+ FREQUENCY = 634500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[PRIME7 Canberra]
+ SERVICE_ID = 2374
+ VIDEO_PID = 2740
+ AUDIO_PID = 2741
+ PID_0b = 2749
+ PID_06 = 2745
+ FREQUENCY = 627500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[PRIME7 Canberra]
+ SERVICE_ID = 2400
+ VIDEO_PID = 2740
+ AUDIO_PID = 2741
+ PID_0b = 2749
+ PID_06 = 2745
+ FREQUENCY = 627500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[PRIME7 Canberra]
+ SERVICE_ID = 2401
+ VIDEO_PID = 2740
+ AUDIO_PID = 2741
+ PID_0b = 2749
+ PID_06 = 2745
+ FREQUENCY = 627500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[7TWO Canberra]
+ SERVICE_ID = 2402
+ VIDEO_PID = 4620
+ AUDIO_PID = 4621
+ PID_0b = 2749
+ PID_06 = 4625
+ FREQUENCY = 627500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[7mate Canberra]
+ SERVICE_ID = 2403
+ VIDEO_PID = 4630
+ AUDIO_PID = 4632 4635
+ PID_0b = 2749
+ FREQUENCY = 627500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ishoptv]
+ SERVICE_ID = 2405
+ VIDEO_PID = 4650
+ AUDIO_PID = 4651
+ PID_0b = 2749
+ FREQUENCY = 627500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[RACING.COM]
+ SERVICE_ID = 2408
+ VIDEO_PID = 4680
+ AUDIO_PID = 4681
+ PID_0b = 2749
+ FREQUENCY = 627500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ABC News 24]
+ SERVICE_ID = 672
+ VIDEO_PID = 516
+ AUDIO_PID = 654 580 5500
+ PID_0b = 5501 5000
+ FREQUENCY = 620500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ABC]
+ SERVICE_ID = 673
+ VIDEO_PID = 512
+ AUDIO_PID = 650
+ PID_0b = 5501 5000
+ PID_06 = 576
+ PID_05 = 5500
+ FREQUENCY = 620500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ABC2/KIDS]
+ SERVICE_ID = 674
+ VIDEO_PID = 513
+ AUDIO_PID = 651
+ PID_0b = 5501 5000
+ PID_06 = 577
+ PID_05 = 5500
+ FREQUENCY = 620500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ABC]
+ SERVICE_ID = 675
+ VIDEO_PID = 512
+ AUDIO_PID = 650
+ PID_0b = 5501 5000
+ PID_06 = 576
+ PID_05 = 5500
+ FREQUENCY = 620500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ABC3]
+ SERVICE_ID = 676
+ VIDEO_PID = 514
+ AUDIO_PID = 652
+ PID_0b = 5501 5000
+ PID_06 = 578
+ PID_05 = 5500
+ FREQUENCY = 620500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[Double J]
+ SERVICE_ID = 678
+ AUDIO_PID = 690
+ PID_0b = 5501
+ PID_05 = 5500
+ FREQUENCY = 620500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[ABC Jazz]
+ SERVICE_ID = 679
+ AUDIO_PID = 700
+ PID_0b = 5501
+ PID_05 = 5500
+ FREQUENCY = 620500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[SBS ONE]
+ SERVICE_ID = 849
+ VIDEO_PID = 161
+ AUDIO_PID = 81
+ PID_0b = 7000 5000
+ PID_06 = 41
+ PID_05 = 7849
+ FREQUENCY = 613500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[SBS HD]
+ SERVICE_ID = 853
+ VIDEO_PID = 102
+ AUDIO_PID = 103
+ PID_0b = 7000 5000
+ PID_06 = 43
+ PID_05 = 7853
+ FREQUENCY = 613500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[SBS TWO]
+ SERVICE_ID = 850
+ VIDEO_PID = 162
+ AUDIO_PID = 83
+ PID_0b = 7000 5000
+ PID_06 = 42
+ PID_05 = 7850
+ FREQUENCY = 613500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[Food Network]
+ SERVICE_ID = 851
+ VIDEO_PID = 163
+ AUDIO_PID = 85
+ PID_0b = 7000 5000
+ PID_06 = 44
+ PID_05 = 7849
+ FREQUENCY = 613500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[NITV]
+ SERVICE_ID = 852
+ VIDEO_PID = 164
+ AUDIO_PID = 87
+ PID_0b = 7000 5000
+ PID_06 = 45
+ PID_05 = 7852
+ FREQUENCY = 613500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[SBS Radio 1]
+ SERVICE_ID = 862
+ AUDIO_PID = 201
+ FREQUENCY = 613500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[SBS Radio 2]
+ SERVICE_ID = 863
+ AUDIO_PID = 202
+ FREQUENCY = 613500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
+[SBS Radio 3]
+ SERVICE_ID = 864
+ AUDIO_PID = 203
+ FREQUENCY = 613500000
+ MODULATION = QAM/256
+ BANDWIDTH_HZ = 0
+ INVERSION = AUTO
+ CODE_RATE_HP = NONE
+ CODE_RATE_LP = AUTO
+ GUARD_INTERVAL = 1/32
+ TRANSMISSION_MODE = 2K
+ HIERARCHY = NONE
+ DELIVERY_SYSTEM = DVBT
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hervey_Bay-Ghost_Hill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hervey_Bay-Ghost_Hill
new file mode 100755
index 00000000..e35869aa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hervey_Bay-Ghost_Hill
@@ -0,0 +1,81 @@
+# Australia / Hervey Bay / Ghost Hill
+#
+#
+# ABC UHF56
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 725500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven UHF59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine UHF62
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 767625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten UHF68
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 809500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS UHF28
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS UHF34
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 704500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hobart b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hobart
new file mode 100755
index 00000000..c94c53fc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hobart
@@ -0,0 +1,66 @@
+# Australia / Tasmania / Hobart
+# ABC VHF 8
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS VHF 9a
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SCT VHF 10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN VHF 7
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# TDT VHF 11
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Mackay b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Mackay
new file mode 100755
index 00000000..f894007a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Mackay
@@ -0,0 +1,68 @@
+# Australia / Mackay (Mt Blackwood transmitters)
+# aufreq=((UHF channel number)*8+306)
+
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN Digital
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Southern Cross Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 557500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne
new file mode 100755
index 00000000..cc742ff9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne
@@ -0,0 +1,88 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20130331 1 0 TERRESTRIAL AU </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Australia / Melbourne (Mt Dandenong transmitters)
+# date (yyyy-mm-dd) : 2014-08-17
+# provided by (opt) : <your name or email here>
+#
+#------------------------------------------------------------------------------
+# Seven Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS Melbourne
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine Network Australia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Network TEN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC Melbourne
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# C31
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 557625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Selby b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Selby
new file mode 100755
index 00000000..2219466f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Selby
@@ -0,0 +1,66 @@
+# Australia / Melbourne (Selby Repeater)
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 662500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 711500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 683500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Upwey b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Upwey
new file mode 100755
index 00000000..978e2ade
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Upwey
@@ -0,0 +1,66 @@
+# Australia / Melbourne (Upwey Repeater)
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 662500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 711500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 683500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-MidNorthCoast b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-MidNorthCoast
new file mode 100755
index 00000000..714d8da9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-MidNorthCoast
@@ -0,0 +1,131 @@
+# Australia ABC Mid North Coast
+# ABC middle brother
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime Middle Brother
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# NBN Middle Brother
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten Middle Brother
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS middle brother
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC Moombil
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime Moombil
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 543500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# NBN Moombil
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 564500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten Moombil
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 599500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS Moombil
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 606500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Newcastle b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Newcastle
new file mode 100755
index 00000000..dd634e4d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Newcastle
@@ -0,0 +1,66 @@
+# Australia / Newcastle
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 599500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# NBN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 704500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 592500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SC10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth
new file mode 100755
index 00000000..4c6fb09b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth
@@ -0,0 +1,66 @@
+# Australia / Perth
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Network TEN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth_Roleystone b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth_Roleystone
new file mode 100755
index 00000000..f02cc231
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth_Roleystone
@@ -0,0 +1,66 @@
+# Australia / Perth (Roleystone transmitter)
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 704500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 725500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 767500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 788500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SpencerGulf b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SpencerGulf
new file mode 100755
index 00000000..9983110c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SpencerGulf
@@ -0,0 +1,40 @@
+# Australia / South Australia / Pt Pirie (THE BLUFF)
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 599500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Southern Cross
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SunshineCoast b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SunshineCoast
new file mode 100755
index 00000000..ff6f5dd7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SunshineCoast
@@ -0,0 +1,66 @@
+# Australia / Sunshine Coast
+# SBS40 SBS ***
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 613500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# TNQ44 10 ***
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC41 ABC ***
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# STQ42 7 ***
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 627500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# RTQ43 WIN ***
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sutherland b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sutherland
new file mode 100755
index 00000000..403f4be7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sutherland
@@ -0,0 +1,63 @@
+# Australia / Sutherland
+#
+# Australia modulation params:
+# - http://www.dba.org.au/index.asp?sectionID=120
+#
+#
+# North (Broadcast Site Escarpment Road BROKERS NOSE)
+# - http://www.dba.org.au/index.asp?query=true&sectionID=22&recLocation=Wollongong+%2D+North
+#
+#Channel 7 stations
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#Channel 9 bundle
+# T 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO
+#One and Channel 10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#Aunty
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 571500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney
new file mode 100755
index 00000000..19e7be3b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney
@@ -0,0 +1,82 @@
+# Australia / Sydney (transmitters at Artarmon/Gore Hill/Willoughby)
+#
+# ## Service - Channel - Network owner
+#
+## ABC - CH12 - ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+## ATN - CH6 - Seven Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+## TCN - CH8 - Nine Network
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+## TEN - CH11 - Network Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+## SBS - CH7 - SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+## TSN - CH29 - Community Television
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney_Kings_Cross b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney_Kings_Cross
new file mode 100755
index 00000000..f61fb983
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney_Kings_Cross
@@ -0,0 +1,68 @@
+# Australia / Sydney / Kings Cross and North Head
+#
+#
+# ABC UHF30
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 543500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven UHF48
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 669500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine UHF33
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 564500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten UHF45
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 648500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS UHF34
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 571500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Tamworth b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Tamworth
new file mode 100755
index 00000000..87c31802
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Tamworth
@@ -0,0 +1,200 @@
+# Australia / NSW / New England / Tamworth / Mt.Soma
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# NBN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 753500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 732500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 711500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SC10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 774500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# Australia / NSW / New England / Upper Namoi / Mt.Dowe
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# NBN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 592500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SC10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 613500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# Australia / NSW / Western Districts / Central Western Slopes / Mt. Cenn Cruaich
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 648500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SC10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Townsville b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Townsville
new file mode 100755
index 00000000..d7c8b6ce
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Townsville
@@ -0,0 +1,66 @@
+# Australia / Brisbane (Mt Coot-tha transmitters)
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 592500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 550500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 599500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-WaggaWagga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-WaggaWagga
new file mode 100755
index 00000000..d0762c7c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-WaggaWagga
@@ -0,0 +1,66 @@
+# Australia / Wagga Wagga (Mt Ulundra)
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 655500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 669500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 662500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Southern Cross Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 683500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Wollongong b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Wollongong
new file mode 100755
index 00000000..94fe7444
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Wollongong
@@ -0,0 +1,149 @@
+# Australia / Wollongong
+#
+# Australia modulation params:
+# - http://www.dba.org.au/index.asp?sectionID=120
+#
+#
+# North (Broadcast Site Escarpment Road BROKERS NOSE)
+# - http://www.dba.org.au/index.asp?query=true&sectionID=22&recLocation=Wollongong+%2D+North
+#
+# ABC UHF52
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 697500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime UHF46
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 655500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN UHF40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 613500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten UHF43
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS UHF54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 711625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# Illawarra (Broadcast Australia Digital Television Tower KNIGHTS HILL)
+# - http://www.dba.org.au/index.asp?query=true&sectionID=22&recLocation=Wollongong+%2D+Illawarra
+#
+# ABC UHF51
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Prime UHF38
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 599500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# WIN UHF36
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten UHF37
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 592500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS - same as North
+#
+# Stanwell Park (Bald Hill STANWELL TOPS)
+# - http://www.dba.org.au/index.asp?query=true&sectionID=22&recLocation=Wollongong+%2D+Stanwell%20Park
+#
+# ABC, Prime, WIN, Ten are identical to Wollongong / North
+# SBS UHF49
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 676500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-canberra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-canberra
new file mode 100755
index 00000000..79a094af
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-canberra
@@ -0,0 +1,66 @@
+# Australia / Canberra / Woden
+# ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Seven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Nine
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Ten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# SBS
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 543500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-unknown b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-unknown
new file mode 100755
index 00000000..c8d16b3d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-unknown
@@ -0,0 +1,13 @@
+# Australia ABC
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Australia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Australia
new file mode 100755
index 00000000..f58fae35
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Australia
@@ -0,0 +1,1209 @@
+# for ($freq = 177500000; $freq <= 226500000; $freq += 7000000) {
+# print "T $freq 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# print "T ", $freq + 125000, " 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# }
+# for ($freq = 529500000; $freq <= 816500000; $freq += 7000000) {
+# print "T $freq 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# print "T ", $freq + 125000, " 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# }
+#
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 198625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 212625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 536625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 543500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 543625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 550500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 550625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 557500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 557625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 564500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 564625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 571500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 571625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 592500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 592625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 599500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 599625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 606500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 606625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 613500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 613625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 620625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 627500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 627625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 648500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 648625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 655500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 655625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 662500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 662625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 669500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 669625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 676500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 676625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 683500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 683625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 697500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 697625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 704500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 704625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 711500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 711625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 718500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 718625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 725500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 725625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 732500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 732625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 739500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 739625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 753500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 753625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 760500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 760625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 767500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 767625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 774500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 774625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 781500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 781625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 788500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 788625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 795500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 795625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 809500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 809625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 816500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 816625000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Default b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Default
new file mode 100755
index 00000000..add81b94
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Default
@@ -0,0 +1,691 @@
+# for ($freq = 177500000; $freq <= 226500000; $freq += 7000000) {
+# print "T $freq 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# }
+# for ($freq = 474000000; $freq <= 858000000; $freq += 8000000) {
+# print "T $freq 8MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# }
+#
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Taiwan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Taiwan
new file mode 100755
index 00000000..3b2fb9ff
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Taiwan
@@ -0,0 +1,160 @@
+# for ($freq = 527000000; $freq <= 599000000; $freq += 6000000) {
+# print "T $freq 6MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# }
+#
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 527000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 533000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 539000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 545000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 551000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 557000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 563000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 569000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 575000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 581000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 587000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 593000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 599000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-With167kHzOffsets b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-With167kHzOffsets
new file mode 100755
index 00000000..3542db03
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-With167kHzOffsets
@@ -0,0 +1,1869 @@
+# for ($freq = 177500000; $freq <= 226500000; $freq += 7000000) {
+# print "T $freq 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# }
+# for ($freq = 474000000; $freq <= 858000000; $freq += 8000000) {
+# print "T $freq 8MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# print "T ", $freq - 167000, " 8MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# print "T ", $freq + 167000, " 8MHz AUTO NONE AUTO AUTO AUTO NONE\n";
+# }
+#
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 473833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 481833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 489833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 497833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 505833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 513833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 521833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 537833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 553833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 561833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 569833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 577833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 585833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 593833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 601833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 609833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 617833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 625833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 633833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 649833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 657833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 665833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 673833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 681833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 689833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 697833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 705833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 713833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 721833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 729833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 737833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 745833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 753833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 761833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 769833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 777833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 793833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 801833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 809833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 817833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 825833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 833833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 841833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 849833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 857833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = AUTO
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ax-Smedsbole b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ax-Smedsbole
new file mode 100755
index 00000000..19e206dd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ax-Smedsbole
@@ -0,0 +1,34 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20090808 2 0 OFDM FI </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Åland Smedsböle/Sund
+# date (yyyy-mm-dd) : 2009-12-23
+# provided by (opt) : k.hampf@gmail.com
+#
+#------------------------------------------------------------------------------
+[Ã…land Network]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Ã…land Network]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/be-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/be-All
new file mode 100755
index 00000000..c957c061
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/be-All
@@ -0,0 +1,62 @@
+# Belgium, whole country
+# Created from http://nl.wikipedia.org/wiki/DVB-T-frequenties
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/bg-Sofia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/bg-Sofia
new file mode 100755
index 00000000..1d39d1c5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/bg-Sofia
@@ -0,0 +1,58 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20130331 1 0 TERRESTRIAL BG </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Sofia
+# date (yyyy-mm-dd) : 2013-05-13
+# provided by (opt) : v.lalov@gmail.com
+#
+#------------------------------------------------------------------------------
+[NURTS Digital]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[NURTS Digital]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[First Digital]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[NURTS]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-All
new file mode 100755
index 00000000..0ff77caf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-All
@@ -0,0 +1,339 @@
+# Switzerland, whole country
+# Created from http://www.broadcast.ch/portal.aspx?pid=705
+# and http://www.broadcast.ch/data_program_dvbt.aspx
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Citycable b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Citycable
new file mode 100755
index 00000000..ef58d065
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Citycable
@@ -0,0 +1,325 @@
+# Lausanne - Switzerland (DVB-T on CityCable cable network)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 7/8
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Geneva b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Geneva
new file mode 100755
index 00000000..a64cc945
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Geneva
@@ -0,0 +1,147 @@
+# Switzerland, Geneva region
+# Updated by tkernen@deckpoint.ch on 2010/12/03
+#------------------------------------------------------------------------------
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850166000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/co-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/co-All
new file mode 100755
index 00000000..c06056aa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/co-All
@@ -0,0 +1,34 @@
+# initial scan file for Colombia, national level
+# DVB-T2, 470-860MHz, 6MHz bandwidth
+# See: https://es.wikipedia.org/wiki/Televisi%C3%B3n_Digital_Terrestre_en_Colombia
+# See: https://www.crcom.gov.co/recursos_user/Documentos_CRC_2012/Actividades_Regulatorias/TDT/documentos_soporte_TDT_20120914.pdf#page=51
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 473000000
+ BANDWIDTH_HZ = 6000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 479000000
+ BANDWIDTH_HZ = 6000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 485000000
+ BANDWIDTH_HZ = 6000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 491000000
+ BANDWIDTH_HZ = 6000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 551000000
+ BANDWIDTH_HZ = 6000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 557000000
+ BANDWIDTH_HZ = 6000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/cz-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/cz-All
new file mode 100755
index 00000000..672f2c63
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/cz-All
@@ -0,0 +1,483 @@
+# Czech Republic, whole country (updated to regulatory 2013)
+# Created from http://www.ctu.cz/cs/download/plan-vyuziti-radioveho-spektra/rok_2012/pv-p_10-08_2012-11.pdf
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Baden-Wuerttemberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Baden-Wuerttemberg
new file mode 100755
index 00000000..07ead316
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Baden-Wuerttemberg
@@ -0,0 +1,194 @@
+# DVB-T Baden-Württemberg
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH21: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH26: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH39: SWR-BW, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH40: SWR-BW, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH41: SWR-BW, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH43: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH45: RTL, RTL2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH49: SWR-BW, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH50: SWR-BW, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH52: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH54: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH59: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH60: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bayern b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bayern
new file mode 100755
index 00000000..0d4182f8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bayern
@@ -0,0 +1,237 @@
+# DVB-T Bayern
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH25: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH25: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
+[CH27: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH28: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH28: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
+[CH29: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH30: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH34: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH36: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH39: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH40: Bayerisches Fernsehen, BR-alpha, MDR, hr]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH40: Das Erste, arte, Phoenix, EinsPlus
+[CH42: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
+[CH44: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH45: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH46: Bayerisches Fernsehen, BR-alpha, MDR, hr]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH46: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
+[CH47: Bayerisches Fernsehen, BR-alpha, MDR, hr]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH47: Das Erste, arte, Phoenix, EinsPlus
+[CH49: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH53: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH53: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
+[CH55: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Berlin b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Berlin
new file mode 100755
index 00000000..79d29b51
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Berlin
@@ -0,0 +1,110 @@
+# DVB-T Berlin
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH25: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH27: Das Erste, RBB, Phoenix, EinsExtra / BrandenburgAktuell]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH39: QVC, DasVierte, Bibel.TV, BR-Fernsehen, n-tv, EuroNews/Channe21 Shop + 7 Radioprogr]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH44: ProSieben, Sat.1, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH47: MDR, NDR, arte, hr]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH50: Tele5, HSE 24, WDR, SWR (BW / RP)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH56: Eurosport, TV.B, Music1, sixx,]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH59: BerlinerSpreekanal / JuveloTV, ServusTV, Anixe]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Brandenburg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Brandenburg
new file mode 100755
index 00000000..223126e1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Brandenburg
@@ -0,0 +1,50 @@
+# DVB-T Brandenburg
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH36: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH53: Das Erste, RBB, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH57: MDR, NDR, arte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bremen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bremen
new file mode 100755
index 00000000..24ab8eb0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bremen
@@ -0,0 +1,74 @@
+# DVB-T Bremen
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH22: Das Erste (RB), RB TV (NDR NDS), arte, Phoenix]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH29: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH32: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH42: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH45: Tele 5, SIXX, QVC, Mona / Bibel TV / Das Vierte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH49: ProSieben, Sat.1, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Dusseldorf b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Dusseldorf
new file mode 100755
index 00000000..aaf5a53f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Dusseldorf
@@ -0,0 +1,144 @@
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hamburg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hamburg
new file mode 100755
index 00000000..7a43b780
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hamburg
@@ -0,0 +1,98 @@
+# DVB-T Hamburg
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH28: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH30: ProSieben, Sat.1/ Sat.1Regional, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH36: Tele5, Das Vierte, QVC, Channel21/ Euronews]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH40: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH46: SIXX, Hamburg 1, Bibel TV, Eurosport]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH54: NDR HH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR SH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hessen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hessen
new file mode 100755
index 00000000..636e30cb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hessen
@@ -0,0 +1,194 @@
+# DVB-T Hessen
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH21: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH24: hr, Bayerisches Fernsehen, SWR-RP, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH25: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH32: Das Erste, Phoenix, arte, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH34: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH35: hr, Bayerisches Fernsehen, SWR-RP, MDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH37: Das Erste, Phoenix, arte, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH39: hr, Bayerisches Fernsehen, SWR-RP, rbb]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH43: Das Erste, Phoenix, arte, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH45: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH52: Tele5, QVC, rheinmaintv / Channel21, iMusic1 / Anixe]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH53: hr, Bayerisches Fernsehen, SWR-BW, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH54: ProSieben, Sat.1, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH55: hr, NDR, MDR, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Mecklenburg-Vorpommern b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Mecklenburg-Vorpommern
new file mode 100755
index 00000000..259012f2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Mecklenburg-Vorpommern
@@ -0,0 +1,110 @@
+# DVB-T Mecklenburg-Vorpommernen
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH22: Das Erste, NDR MVP, RBB, MDR/NDR SH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH26: Das Erste, NDR MVP, RBB, MDR/NDR SH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH29: Das Erste, NDR MVP, RBB, MDR/NDR SH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH36: Das Erste, NDR MVP, RBB, MDR/NDR SH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH37: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH40: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH46: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH53: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Niedersachsen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Niedersachsen
new file mode 100755
index 00000000..496e1c49
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Niedersachsen
@@ -0,0 +1,270 @@
+# DVB-T Niedersachsen
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH21: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH22: Das Erste (RB), RB TV (NDR NDS), arte, Phoenix]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH22: Das Erste, arte, Phoenix, EinsExtra
+[CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH24: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH26: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH28: Tele 5, Nickelodeon/Comedy Central, Eurosport, Mona / Bibel TV / Das Vierte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH29: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH31: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH32: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH35: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH36: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH38: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH38: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
+[CH42: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
+[CH43: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH43: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
+[CH44: ProSieben, Sat.1, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH45: Tele 5, SIXX, QVC, Mona / Bibel TV / Das Vierte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH47: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH48: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH49: ProSieben, Sat.1, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH58: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH59: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH60: Tele 5, Nickelodeon/Comedy Central, Eurosport, Mona / Bibel TV / Das Vierte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Nordrhein-Westfalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Nordrhein-Westfalen
new file mode 100755
index 00000000..940d18d4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Nordrhein-Westfalen
@@ -0,0 +1,231 @@
+# DVB-T Nordrhein-Westfalen
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH25: WDR-Dortmund, NDR/WDR-Ruhr, MDR, SWR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH26: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+ # CH26: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
+[CH27: WDR-Südwestfalen, NDR, MDR, SWR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH29: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH31: WDR-OWL_aktuell, NDR/WDR-Südwestfalen, MDR, SWR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH35: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH36: Tele5, CNN, Eurosport, VIVA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH37: WDR-Aachen, NDR/WDR-Köln, MDR, SWR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH46: WDR-Düsseldorf, MDR/WDR-Duisburg, NDR/WDR-Berg.Land, SWR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH48: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH49: WDR-Köln, MDR/WDR-Bonn, NDR/WDR-Aachen, SWR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH50: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH52: Tele5, CNN, Eurosport, VIVA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH53: ProSieben, Sat.1, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH55: ProSieben, Sat.1, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH57: WDR-Ruhr, NDR/WDR-Dortmund, MDR, SWR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH60: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Rheinland-Pfalz b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Rheinland-Pfalz
new file mode 100755
index 00000000..87799428
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Rheinland-Pfalz
@@ -0,0 +1,98 @@
+# DVB-T Rheinland-Pfalz
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH28: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: SWR-RP, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH44: SWR-RP, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH46: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH48: SWR-RP, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH56: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH57: Das Erste, arte, Phoenix, EinsPlus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Saarland b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Saarland
new file mode 100755
index 00000000..4809557a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Saarland
@@ -0,0 +1,50 @@
+# DVB-T Saarland
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH42: Das Erste, SR Fernsehen, arte, Phoenix]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH44: SWR-RP, Bayerisches Fernsehen, hr, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH49: Tele5, QVC, Bibel.TV, freie Kapazität]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen
new file mode 100755
index 00000000..ad875145
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen
@@ -0,0 +1,134 @@
+# DVB-T Sachsen
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH24: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH25: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH27: MDR-SN, rbb, Bayerisches Fernsehen, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH28: RTL, RTL2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH29: MDR-SN, rbb, Bayerisches Fernsehen, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH31: LF Leipzg.Ferns., InfoTVLeipzig, BBCWorld, Bibel.TV, RadioLeipzig, RadioHoreb]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH32: MDR-SN, rbb, Bayerisches Fernsehen, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH36: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH37: MDR-SN, rbb, Bayerisches Fernsehen, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH39: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen-Anhalt b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen-Anhalt
new file mode 100755
index 00000000..9925a2dd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen-Anhalt
@@ -0,0 +1,122 @@
+# DVB-T Sachsen-Anhalt
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH24: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH28: RTL, RTL2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH29: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH31: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH34: MDR-ST, rbb, NDR, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH38: MDR-ST, rbb, NDR, WDR]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH41: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH55: TV Halle (Testbetrieb)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Schleswig-Holstein b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Schleswig-Holstein
new file mode 100755
index 00000000..00976acc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Schleswig-Holstein
@@ -0,0 +1,182 @@
+# DVB-T Schleswig-Holstein
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH21: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH24: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH26: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH28: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH30: ProSieben, Sat.1/ Sat.1Regional, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH31: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH35: ProSieben, Sat.1/ Sat.1Regional, Kabel1, N24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH39: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH40: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH45: RTL, RTL2, Super RTL, VOX]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH47: Das Erste, arte, Phoenix, EinsExtra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH57: Tele 5, SIXX, das Vierte, Bibel TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH59: Tele 5, SIXX, das Vierte, Bibel TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Thueringen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Thueringen
new file mode 100755
index 00000000..72fa9458
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Thueringen
@@ -0,0 +1,86 @@
+# DVB-T Thüringen
+# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
+[CH21: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH25: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH27: MDR-TH, rbb, hr, Bayerisches Fernsehen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH48: MDR-TH, rbb, hr, Bayerisches Fernsehen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH50: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH53: Das Erste, arte, Phoenix, EinsFestival]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/dk-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/dk-All
new file mode 100755
index 00000000..6bd590cd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/dk-All
@@ -0,0 +1,231 @@
+# Denmark, whole country
+# Created from http://www.digi-tv.dk/Indhold_og_tilbud/frekvenser.asp
+# and http://www.digi-tv.dk/Sendenettets_opbygning/
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ee-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ee-All
new file mode 100755
index 00000000..689a35a0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ee-All
@@ -0,0 +1,393 @@
+# Estonia, whole country
+# Created from http://www.levira.ee/transmitter.pdf
+# and http://wiki.wifi.ee/index.php/DVB-T#Tehniline_teave
+# Additional MUX info http://www.levira.ee/program.pdf
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ STREAM_ID = 4294967295
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ STREAM_ID = 4294967295
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ STREAM_ID = 4294967295
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ STREAM_ID = 4294967295
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ STREAM_ID = 4294967295
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Albacete b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Albacete
new file mode 100755
index 00000000..d64012ed
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Albacete
@@ -0,0 +1,145 @@
+# Spain, Albacete - Update 2010/08/12 (Freud)
+[Canal 37: La Regional, TCM, CRN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 46: Sogecuatro, laSexta2, laSexta3 (Todos pendientes de asignar)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 47: CNC, Vision6, ABTeVe, Punto Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 50: Boing, La 10, MTV, Punto Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 53: Nitro, Marca TV, Veo13]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 56: TVE HD, Teledeporte, Pruebas TVE, RNE 1, RNE CLÃSICA, RNE 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 59: La 1, La 2, 24H, Clan, RNE1, RNE Clásica, RNE 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 63: CMT, CMT2, RCM]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Veo7, Tienda en Veo, Intereconomía, AXN, Teledeporte, Radio Intereconomía, Radio Marca, esRadio, Vaughan Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: Cuatro, CNN+, 40 Latino, Canal+ Dos, Canal Club, LaSexta, SER, 40 Principales, Cadena Dial]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Telecinco, La Siete, FDF, CincoShop, Disney Channel, Punto Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: Antena 3, Neox, Nova, Gol Televisión, Onda Cero, Europa FM, Onda Melodía ]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alfabia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alfabia
new file mode 100755
index 00000000..ee20e685
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alfabia
@@ -0,0 +1,145 @@
+# DVB-T Alfabia, Mallorca, Balearic Islands, Spain.
+[TV3 Cat, 3/24, 33, Super3/300]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Nitro, A3TVHD, 13TV, Tienda]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TV Mallorca, Canal 4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Popular TV, TEVEi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Xplora, laSexta3, laSextaHD, CuatroHD, Energy]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Boing, TelecincoHD, Paramount]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[La1HD, TDP, TDPHD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C.63: 24h, 50 aniv., ClanTV, La 2, TVE1; RNE 1, RNE 3, RNE C; Digitext, EPG, Lanzadera.]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C.65: IB3, IB3HD, Metropolitan TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C.67: Cuatro, La Sexta, GolTV, Divinity, Nueve]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C.68: Tele 5, La7, FDF, Disney Channel, Intereconomía]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C.69: Antena 3, Discovery Max, Neox, Nova, AXN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alicante b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alicante
new file mode 100755
index 00000000..a95a492a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alicante
@@ -0,0 +1,85 @@
+# DVB-T Alicante, Spain
+[Canal 55: TV3, K33/33, 3/24, Canal 300]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 58: La Primera, La 2, Canal 24H, Clan/TVE 50, RNE1, RNE Clásica, RNE 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 63: Telemadrid, La Otra, Onda 6]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Veo, Veo 2, Net TV, Teledeporte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: Cuatro, CNN+, 40 Latino, La Sexta 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Telecinco, Telecinco Sport, Telecinco Estrellas, Fly Music]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: Antena 3, Antena Neox, Antena Nova, La Sexta 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Almeria b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Almeria
new file mode 100755
index 00000000..a6481e69
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Almeria
@@ -0,0 +1,108 @@
+# Spain, Almeria - Update 2016/03/17 (denise_amiga)
+[Canal 34: Interalmeria TV, 8TV, Tubienstar Astrocanal, Canal 28]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 36: Atreseries HD, Energy HD, Real Madrid TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 38: Boing, Energy, Mega, 13TV, Onda Cero, Europa FM, Melodia FM, Cope]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 41: Antena 3, Antena 3HD, laSexta, laSecta HD, Neox, Nova]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 44: Telecinco, Telecinco HD, Cuatro, Cuatro HD, FDF, Divinity]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 47: TDP, TDP HD 9Kiss TV, 10, Radio Clasica HQ, Radio 3 HQ, Radio Exterior RNE Kiss FM, Canal Ingenieria]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 57: La 1, La 1 HD, La 2, 24h, Clan, Radio, Radio 5]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 58: 13TV, Discovery MAX, Disney Channel, Paramount Channel, Cope, Radio Maria, Radio Marca, Vaughan Radio, esRadio, Guide Plus+]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 59: Canal Sur, Canal Sur 2, Andalucia TV, EHS TV, Canal Sur Radio, Flamenco Radio, Canal Fiesta Radio, Radio Andalucia Informacion]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alpicat b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alpicat
new file mode 100755
index 00000000..be467426
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alpicat
@@ -0,0 +1,73 @@
+# DVB-T Alpicat (Lleida)
+[c58: TV3, K3/33, 3/24, 300, 3i]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c64: TVE1, TVE2, Teledeporte, C24h]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c66: TVE ClanTV, TVE 50a, Veo1, Veo2, Net]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c67: Cuatro, 40Latino, CNN+, LaSexta 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c68: T5, T5 Sports, T5 Estrellas, Net Fly Music]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c69: Antena3, Antena.Neox, Antena.Nova, La Sexta 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Asturias b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Asturias
new file mode 100755
index 00000000..283b9121
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Asturias
@@ -0,0 +1,194 @@
+# DVB-T Asturias
+[Canal 22: Atreseries HD, Energy HD, Real Madrid TV, Be Mad]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# START CANGAS DE NARCEA Y LLANES
+[Canal 25: Ed. Prensa Asturiana, TeleNarcea, TeleAvilés, UTE Opalo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+# END CANGAS DE NARCEA Y LLANES
+
+[Canal 27: Boing, Energy, Mega, 13 TV, Onda Cero, Europa FM, Melodía FM, Cope]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 28: Telecinco, Telecinco HD, Cuatro, Cuatro HD, FDF, Divinity]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 32: Antena 3, Antena 3 HD, laSexta, laSexta HD, Neox, Nova]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 35: Proximamente, Discovery Max, Disney Channel, Paramount Channel, Cope, Radio María, Radio Marca, Vaughan Radio, esRadio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# START GIJÓN
+[Canal 38: Muy Muy TV, Canal 10, Astrocanal]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+# END GIJÓN
+
+[Canal 39: La 1, La 1 HD, La 2, 24h, Clan, Radio Nacional, Radio 5]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 42: TDP, TDP HD, KISS, TEN, Radio Clásica HQ, Radio 3 HQ, Radio Exterior RNE, Kiss FM]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# START OVIEDO
+[Canal 43: Ed. Prensa Asturiana, Oviedo TV, Canal 10]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+# END OVIEDO
+
+# START INFIESTO
+[Canal 44: Ed. Prensa Asturiana, TeleAvilés, UTE Opalo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+# END INFIESTO
+
+[Canal 45: TPA7, TPA8, TPA HD, RPA, Radio Langreo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# START MIERES
+[Canal 46: Cuencas Mineras TV, Producciones Grela]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+# END MIERES
+
+# START AVILÉS
+[Canal 47: Ed. Prensa Asturiana, Canal 10, TeleAvilés]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+# END AVILÉS
+
+# START LUARCA-VALDÉS
+[Canal 56: Ed. Prensa Asturiana, TeleAvilés, ORT]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+# END LUARCA-VALDÉS
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-BaixoMinho b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-BaixoMinho
new file mode 100755
index 00000000..ffc1de87
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-BaixoMinho
@@ -0,0 +1,81 @@
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20090528 1 0 OFDM ES </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Baixo Minho, Pontevedra (Spain)
+# date (yyyy-mm-dd) : 2009-07-11
+# provided by (opt) : neonmann@gmail.com
+#
+#------------------------------------------------------------------------------
+[SFN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[SFN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[RAR Pontevedra]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[RGE GALICIA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Bilbao b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Bilbao
new file mode 100755
index 00000000..c4233f06
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Bilbao
@@ -0,0 +1,72 @@
+[Canal 67: CNN+. Cuatro, La Sexta, 40 latino TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: Antena 3, La Sexta 2, Neo, Nova, Telehit, Onda Cero, Europa FM, Onda Melodia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 63: La Primera, La 2, Canal 24H, Clan/TVE 50, RNE1, RNE Clásica, RNE 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Veo, Veo 2, Net TV, Teledeporte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Telecinco, Telecinco Sport, Telecinco Estrellas, Fly Music]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 61: ETB1, ETB2, ETB-Sat, Canal Vasco, Euskadi Irratia, Radio Euskadi, Euskadi Gastea, Radio EITB]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Cadiz b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Cadiz
new file mode 100755
index 00000000..4155003d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Cadiz
@@ -0,0 +1,294 @@
+# DVB-T Cadiz (Andalusia) by xiterrex Aug 2014
+# Info obtained from Spanish Government (Ministerio de Industria) at URL:
+# <http://www.minetur.gob.es/telecomunicaciones/infraestructuras/paginas/tdt_ict.aspx>
+[C21 # MPE2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 # RGE1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 # RGE1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C24 # TL02CA Arcos
+[C27 # RGE2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C27 # TL06CA Olvera
+[C28 # TL01CA Algeciras]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30 # TL05CA Jerez]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 # RGE2 (Main)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C38 # MPE3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41 # MPE2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C43 # TL08CA Medina]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 # MPE1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46 # AND]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 # MPE3 (Main)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C50 # TL07CA Ubrique]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52 # RGE2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C52 # TL04CA Chiclana
+[C53 # MPE1 (Main)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 # TL03CA Cadiz]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 # MPE2 (Main)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 # RGE1 (Main)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59 # AND (Main)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C64 # RGE1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C67 # MD67]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C68 # MD68]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C69 # MD69]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Carceres b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Carceres
new file mode 100755
index 00000000..8f52a46b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Carceres
@@ -0,0 +1,108 @@
+[Canal 39: 8Madrid, TMT-Popular TV, Kiss TV, Intereconomía TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 50: EsMadrid TV, Ver-t, EM2, Libertad Digital TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 58: La Primera, La 2, Canal 24H, Clan/TVE 50, RNE1, RNE Clásica, RNE 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 63: Telemadrid, La Otra, Onda 6]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Veo, Veo 2, Net TV, Teledeporte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: Cuatro, CNN+, 40 Latino, La Sexta 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Telecinco, Telecinco Sport, Telecinco Estrellas, Fly Music]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: Antena 3, Antena Neox, Antena Nova, La Sexta 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 61: Canal Extremadura, Extremadura Television]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Collserola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Collserola
new file mode 100755
index 00000000..60c73f04
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Collserola
@@ -0,0 +1,121 @@
+# DVB-T Collserola (Barcelona)
+[BTV, TV Badalona, TV L'Hospitalet, TV del Besòs, COM Ràdio, Ràdio Ciutat Badalona, Ràdio L'Hospitalet]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[8TV, Barça TV, EDC3, 105TV, RAC 1, RAC 105]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TV3HD, 3/24, Canal 9, IB3, Catalunya Música, iCat FM]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Urbe TV, Canal Català, 25 TV, Localia, Ona FM, Onda Rambla, Sensació Ràdio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TV3, 33, 3/24, K3/300, Catalunya Ràdio, Catalunya Informació]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TVE1, TVE2, TVE 24H, Clan/TVE 50 Años, RNE1, RNEC, RNE3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Veo7, Sony TV en Veo, Tienda en Veo, Intereconomía, Teledeporte, Radio Intereconomía, Radio Marca]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Cuatro, CNN+, 40 Latino, La Sexta, Ser, 40 Principales, Cadena Dial]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Telecino, La Siete, FDF, CincoShop, Disney Channel, Punto Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Antena 3, Antena.Neox, Antena.Nova, Hogar 10, Onda Cero, Europa FM, Onda Melodía]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Donostia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Donostia
new file mode 100755
index 00000000..a760346d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Donostia
@@ -0,0 +1,122 @@
+# The channels with 1/32 guard-interval are French and should be perfectly visible
+# here. However I have only managed to get a lock for the channel 57 of the French ones.
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Granada b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Granada
new file mode 100755
index 00000000..1545b960
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Granada
@@ -0,0 +1,73 @@
+# Spain, Granada
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Huesca b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Huesca
new file mode 100755
index 00000000..53cb0878
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Huesca
@@ -0,0 +1,124 @@
+# DVB-T Huesca (Aragon) [Spain] [es-Huesca]
+# Generated by Vicente Hernando Ara <bizenton@gmail.com>
+#------------------------------------------------------------------------------
+
+[CH 43 HTV-HuescaTelevision]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 44 La Sexta 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 45 TVE HD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 48 NITRO]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 54 BOING]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 57 ARAGON TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 61 TVE]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 67]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 68]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH 69]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Las_Palmas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Las_Palmas
new file mode 100755
index 00000000..da971ee8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Las_Palmas
@@ -0,0 +1,149 @@
+# Funciona correctamente en Las Palmas de Gran Canaria (25-09-2010)
+#
+# Revisada y corregida por el Grupo de Usuarios de Linux de Canarias
+# http://www.gulic.org
+#
+[Canal 28: TVE HD, Teledeporte, RNE Clásica, RNE 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 32: Boing, Telecinco HD, La 10, MTV, Punto Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 35: Sogecuatro, LaSexta2, LaSexta3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 38: Nitro, Antena 3 HD, Marca TV, Veo13]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 44: Canal 7 Gran Canaria, TIC Canal 8, Canal 4, RTI]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 52: Localia, Nueve TV, Nueve Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 60: TVE1, TVE2, 24H TVE, Clan/TVE, RNE, RNEC, RNE3, Lanzadera, EPG, Digitext, Meteo, Bolsa, Trafico, Empleat]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 65: TV C, TV C2, Antena 3 Canarias, Popular TV, Canarias Radio, Cope, Cadena 100, Radio ECCA, Lanzadera, Ticker, Piloto TDT]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Veo7, Tienda en Veo, AXN, Intereconomia, Teledeporte, Radio Intereconomia, Radio Marca, esRadio, Vaughan Radio, Canal Ingeniería, GUIDE Plus +, C66Gancho, C66Lanzadera, C66EPG, EpgNet]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: Cuatro, CNN+, Canal+ Dos, Canal Club, laSexta, SER, 40 Principales, Cadena Dial, Lanzadera, EPG TDT, Ticker, Lanzadera, Noticias, EPG]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Telecinco, La Siete, FDF, CincoShop, Disney Channel, T5Lanzadera, T5Digitext, Noticias, Tiempo, Bolsa, Tráfico]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: Antena 3, Neox, Nova, Gol Televisión, Onda Cero, Europa FM, Onda Melodía, tvtv DIGITAL, A3Lanzadera, A3Portal, A3EPG, A3Ticker, T-seniority, Gol Bar]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Lugo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Lugo
new file mode 100755
index 00000000..53164a75
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Lugo
@@ -0,0 +1,74 @@
+# DVB-T Lugo (Centro emisor Paramo) - Rev. 1.2 - 11.12.05
+
+[TVE 1, TVE 2, 24H TVE, CLAN/50 TVE, RNE1, RNE CLASICA, RNE3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TVG, GALICIA TV AMERICA, RADIO GALEGA, R.GALEGA MUSICA, SON GALICIA RADIO, PROBAS RETEGAL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TELEDEPORTE, VEO TV, VEO 2, NET TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CUATRO, CNN+, 40 LATINO, LA SEXTA 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TELECINCO, T5 ESTRELLAS, T5 SPORT, FLYMUSIC]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[ANTENA 3, ANTENA.NEOX, ANTENA.NOVA, LA SEXTA 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Madrid b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Madrid
new file mode 100755
index 00000000..40df6e69
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Madrid
@@ -0,0 +1,142 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20110306 2 0 OFDM ES </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: <add description here>
+# date (yyyy-mm-dd) : 2011-03-16
+# provided by (opt) : <your name or email here>
+#
+#------------------------------------------------------------------------------
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Teledifusion Madrid]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[RGE2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[RGE MADRID]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TDT-CAM]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[SFN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[SFN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[SFN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[SFN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Malaga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Malaga
new file mode 100755
index 00000000..521e5da1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Malaga
@@ -0,0 +1,73 @@
+# DVB-T Malaga (Andalucia) by Pedro Leon 4 Mayo 2007
+[C57 La Primera, La 2, Canal 24H, Clan/TVE 50, RNE1, RNE Clásica, RNE 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C63 Canal Sur, Canal 2 Andalucia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C66 TELEDEPORTE, VEO, *Canal Ingenieria, SETenVEO, Tienda en VEO, NET TV, Radio Intereconomia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C67 CUATRO, CNN+, 40 LATINO, laSexta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C68 Telecinco, T5 Estrellas, T5 Sport, FLYMUSIC, PUNTO RADIO]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C69 ANTENA 3, ANTENA.NEOX, ANTENA.NOVA, *tvtv DIGITAL, ONDA CERO, EUROPA FM, ONDA MELODIA, Telehit]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Muros-Noia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Muros-Noia
new file mode 100755
index 00000000..26d3016e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Muros-Noia
@@ -0,0 +1,85 @@
+# DVB-T Muros and Noia
+[Canal 27: Local Ribeira]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 61: RAR A Corunha]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 63: RGE Galicia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: SFN 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: SFN 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: SFN 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: SFN 4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Mussara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Mussara
new file mode 100755
index 00000000..c02383f1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Mussara
@@ -0,0 +1,73 @@
+# DVB-T La Mussara (Reus-Tarragona)
+[c59: TV3, K3/33, 3/24, 300, 3i]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c64: TVE1, TVE2, Teledeporte, C24h]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c66: TVE ClanTV, TVE 50a, Veo1, Veo2, Net]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c67: Cuatro, 40Latino, CNN+, LaSexta 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c68: T5, T5 Sports, T5 Estrellas, Net Fly Music]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[c69: Antena3, Antena.Neox, Antena.Nova, La Sexta 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Pamplona b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Pamplona
new file mode 100755
index 00000000..fed6f53a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Pamplona
@@ -0,0 +1,85 @@
+# DVB-T Pamplona
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-SC_Tenerife b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-SC_Tenerife
new file mode 100755
index 00000000..25ef3ba9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-SC_Tenerife
@@ -0,0 +1,149 @@
+# Funciona correctamente en Santa Cruz de Tenerife (25-09-2010)
+#
+# Revisada y corregida por el Grupo de Usuarios de Linux de Canarias
+# http://www.gulic.org
+#
+[C23]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C66]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C67]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C68]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C69]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santander b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santander
new file mode 100755
index 00000000..d2fc392e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santander
@@ -0,0 +1,50 @@
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santiago_de_Compostela b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santiago_de_Compostela
new file mode 100755
index 00000000..75943db9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santiago_de_Compostela
@@ -0,0 +1,85 @@
+# DVB-T Santiago de Compostela
+[Canal 23: Local Santiago]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 40: RAR Santiago]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 63: RGE Galicia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: SFN 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: SFN 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: SFN 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: SFN 4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Sevilla b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Sevilla
new file mode 100755
index 00000000..17eae2aa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Sevilla
@@ -0,0 +1,231 @@
+# DVB-T Sevilla (Spain) by x2 15-agos-2010, modificado 15-ago-2010
+# thanks to http://www.tdt1.com
+# thanks to http://wirbel.htpc-forum.de/w_scan/index2.html
+[C33]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C36]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C38]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C61]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C63]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C66]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C67]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C68]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C69]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Tenerife b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Tenerife
new file mode 100755
index 00000000..c97a002a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Tenerife
@@ -0,0 +1,145 @@
+# DVB-T Tenerife, Spain (03/04/2011)
+[Canal 23: laSexta 2, laSexta 3, laSexta HD, C+ 2, Cuatro]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 24: Canal 7, Mírame, Canal 4 Tenerife]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 26: Nitro, Antena 3, Marca, 13]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 29: Boing, Tele5 HD, MTV, La 10]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 45: TVE HD, tdp]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 56: Canal 6 TeideVisión, ElDía]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 59: TV Canaria, TV Canaria 2, Antena 3 Canaria]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 60: La 1, La 2, 24h, Clan]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Teledeporte, Canal Ingeniería, Veo7, Intereconomía]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: laSexta, laSexta 3, Gol Televisión, Cuatro, Divinity, La Tienda en Casa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Tele5, FDF, laSiete, Disney Channel, Intereconomía]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: Antena 3, Neox, Nova, Veo7, AXN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valencia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valencia
new file mode 100755
index 00000000..44c35601
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valencia
@@ -0,0 +1,97 @@
+# DVB-T Valencia, Spain
+[Canal 23: TMV, Tele 7, Aprende ingles TV, Ed. Prensa Val.,R.Mediamed]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 55: TV3, 33, 3/24, K3/300]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 57: Canal 9, Punt 2, Popular TV, LP Teva, Radio 9, Si Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 58: TVE 1, La 2, 24H TVE, Clan TVE, RNE 1, RNE C, RNE 3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Veo, Sony TV en Veo, Tienda en Veo, Intereconomia, Teledeporte, R. Interec., R. Marca]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: Cuatro, CNN+, 40 Latino, Promo, La Sexta, Ser, 40 Princ., Cad. Dial]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Telecinco, Telecinco 2, FDF, Cinco Shop, Disney Channel, Punto Radio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: Antena 3, Antena Neox, Antena Nova, Hogar 10, Onda Cero, Europa FM, Onda Melodia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valladolid b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valladolid
new file mode 100755
index 00000000..31bf0acc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valladolid
@@ -0,0 +1,61 @@
+# DVB-T Valladolid
+[Canal 57: Clan TVE, 24H TVE, La 2, TVE 1, RNE1, RNE3, RNC]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Veo, Veo 2, Net TV, Teledeporte]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: Cuatro, CNN+, 40 Latino, La Sexta 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Telecinco, Telecinco Sport, Telecinco Estrellas, Fly Music]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: Antena 3, Antena Neox, Antena Nova, La Sexta 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vilamarxant b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vilamarxant
new file mode 100755
index 00000000..c355eef3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vilamarxant
@@ -0,0 +1,25 @@
+# DVB-T Vilamarxant, Valencia, C. Valenciana, Spain.
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vitoria-Gasteiz b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vitoria-Gasteiz
new file mode 100755
index 00000000..a475c8bd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vitoria-Gasteiz
@@ -0,0 +1,74 @@
+# Channel names in use at 2009/07/12, in Channel 66 [fffe] is a scrambled channel.
+# In the generated *channels.conf file could be necesary to change Intereconomía, Radio Intereconomía, ONDA MELODÃA to Intereconomia, Radio Intereconomia, ONDA MELODIA for Totem to work well.
+[Canal 58: ETB1, ETB2, ETB3, ETBSAT, Euskadi Irratia, Gaztea, EiTB Irratia, Radio Euskadi, Radio Vitoria]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 63: La 1, La 2, 24h, Clan, RNE1, RNEC, RNE3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: Teledeporte, Canal Ingenieria, VEO7, SONY TV en VEO, Tienda en VEO, GUIDE PLUS+, Intereconomía, Radio Intereconomía, [fffe], RADIO MARCA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: laSexta, CUATRO, CNN+, 40 LATINO, CANAL CLUB, SER, 40 PRINCIPALES, CADENA DIAL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: Telecinco, FDF, LaSiete, Disney Channel, Cincoshop]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: ANTENA 3, ANTENA.NEOX, ANTENA.NOVA, ONDA CERO, EUROPA FM, ONDA MELODÃA, HOGAR 10]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Zaragoza b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Zaragoza
new file mode 100755
index 00000000..e6aab40e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Zaragoza
@@ -0,0 +1,62 @@
+# DVB-T Zaragoza (Aragón) [Spain] [es-Zaragoza]
+# Generated by Víctor Martínez Romanos <vmromanos@gmail.com>
+[Canal 63: TVE 1, TVE 2, 24H, CLAN/50, RNE1, RNEC, RNE3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 66: TELEDEPORTE, VEO TV, VEO 2, NET TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 67: CUATRO, CNN+, 40 LATINO, LA SEXTA 1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 68: T5 ESTRELLAS, T5 SPORT, TELECINCO, FLYMUSIC]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Canal 69: ANTENA 3, ANTENA.NEOX, ANTENA.NOVA, LA SEXTA 2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski
new file mode 100755
index 00000000..7dda3262
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Aanekoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Aanekoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[Aanekoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Aanekoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski_Konginkangas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski_Konginkangas
new file mode 100755
index 00000000..ff13741e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski_Konginkangas
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Aanekoski_Konginkangas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Aanekoski_Konginkangas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Aanekoski_Konginkangas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Aanekoski_Konginkangas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ahtari b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ahtari
new file mode 100755
index 00000000..aa90ea2d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ahtari
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ahtari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Ahtari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Alajarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Alajarvi
new file mode 100755
index 00000000..712483d1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Alajarvi
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Alajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Alajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[Alajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[Alajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Anjalankoski_Ruotila b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Anjalankoski_Ruotila
new file mode 100755
index 00000000..8ae12319
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Anjalankoski_Ruotila
@@ -0,0 +1,28 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Anjalankoski_Ruotila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Anjalankoski_Ruotila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Anjalankoski_Ruotila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[Anjalankoski_Ruotila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[Anjalankoski_Ruotila]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Espoo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Espoo
new file mode 100755
index 00000000..7d74fc13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Espoo
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Eurajoki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Eurajoki
new file mode 100755
index 00000000..31de9350
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Eurajoki
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hameenlinna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hameenlinna
new file mode 100755
index 00000000..92b4ecfc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hameenlinna
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hamina b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hamina
new file mode 100755
index 00000000..3525cb0c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hamina
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hausjarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hausjarvi
new file mode 100755
index 00000000..92b4ecfc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hausjarvi
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Helsinki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Helsinki
new file mode 100755
index 00000000..7d74fc13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Helsinki
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jokioinen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jokioinen
new file mode 100755
index 00000000..92b4ecfc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jokioinen
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jyvaskyla b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jyvaskyla
new file mode 100755
index 00000000..925c8252
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jyvaskyla
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kaarina b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kaarina
new file mode 100755
index 00000000..85ca3bd8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kaarina
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kajaani b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kajaani
new file mode 100755
index 00000000..3525cb0c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kajaani
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kangasala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kangasala
new file mode 100755
index 00000000..cb27de28
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kangasala
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Karkkila b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Karkkila
new file mode 100755
index 00000000..7d74fc13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Karkkila
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kiiminki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kiiminki
new file mode 100755
index 00000000..925c8252
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kiiminki
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kokkola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kokkola
new file mode 100755
index 00000000..925c8252
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kokkola
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kontiolahti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kontiolahti
new file mode 100755
index 00000000..b7895d0f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kontiolahti
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kouvola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kouvola
new file mode 100755
index 00000000..3525cb0c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kouvola
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kuopio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kuopio
new file mode 100755
index 00000000..63be3cab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kuopio
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lahti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lahti
new file mode 100755
index 00000000..8147d508
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lahti
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lappeenranta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lappeenranta
new file mode 100755
index 00000000..b7895d0f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lappeenranta
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lohja b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lohja
new file mode 100755
index 00000000..7d74fc13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lohja
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Loviisa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Loviisa
new file mode 100755
index 00000000..7d74fc13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Loviisa
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Mikkeli b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Mikkeli
new file mode 100755
index 00000000..b7895d0f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Mikkeli
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nousiainen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nousiainen
new file mode 100755
index 00000000..85ca3bd8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nousiainen
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nurmijarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nurmijarvi
new file mode 100755
index 00000000..7d74fc13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nurmijarvi
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Porvoo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Porvoo
new file mode 100755
index 00000000..7d74fc13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Porvoo
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Salo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Salo
new file mode 100755
index 00000000..85ca3bd8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Salo
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Savonlinna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Savonlinna
new file mode 100755
index 00000000..72954131
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Savonlinna
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Seinajoki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Seinajoki
new file mode 100755
index 00000000..2f5d7e54
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Seinajoki
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Tyrnava b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Tyrnava
new file mode 100755
index 00000000..925c8252
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Tyrnava
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ulvila b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ulvila
new file mode 100755
index 00000000..31de9350
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ulvila
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vaasa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vaasa
new file mode 100755
index 00000000..2f5d7e54
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vaasa
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Valkeakoski b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Valkeakoski
new file mode 100755
index 00000000..cb27de28
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Valkeakoski
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vesilahti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vesilahti
new file mode 100755
index 00000000..cb27de28
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vesilahti
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ylivieska b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ylivieska
new file mode 100755
index 00000000..8147d508
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ylivieska
@@ -0,0 +1,38 @@
+# 2014-03-08 Olli Salonen <olli.salonen@iki.fi>
+# generated from http://www.dna.fi/tuki-antenniverkon-nakyvyysalueet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 19/256
+ HIERARCHY = AUTO
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Ahovaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Ahovaara
new file mode 100755
index 00000000..21abdbc0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Ahovaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Enontekio_Ahovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Enontekio_Ahovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Hetta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Hetta
new file mode 100755
index 00000000..6ff6b845
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Hetta
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Enontekio_Hetta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Enontekio_Hetta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Kuttanen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Kuttanen
new file mode 100755
index 00000000..f9a6af82
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Kuttanen
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Enontekio_Kuttanen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[Enontekio_Kuttanen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Espoo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Espoo
new file mode 100755
index 00000000..ceb906d8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Espoo
@@ -0,0 +1,33 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Espoo-A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Espoo-B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Espoo-C]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Espoo-E]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[Espoo-D]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[Espoo-H]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Eurajoki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Eurajoki
new file mode 100755
index 00000000..1d090a53
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Eurajoki
@@ -0,0 +1,28 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Eurajoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Eurajoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[Eurajoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Eurajoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Eurajoki]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Fiskars b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Fiskars
new file mode 100755
index 00000000..0f84bb7a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Fiskars
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Fiskars]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Fiskars]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Fiskars]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Fiskars]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Haapavesi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Haapavesi
new file mode 100755
index 00000000..8be1f62b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Haapavesi
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Haapavesi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Haapavesi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Haapavesi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[Haapavesi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenkyro_Kyroskoski b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenkyro_Kyroskoski
new file mode 100755
index 00000000..8a98791c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenkyro_Kyroskoski
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Hameenkyro_Kyroskoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Hameenkyro_Kyroskoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Hameenkyro_Kyroskoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[Hameenkyro_Kyroskoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenlinna_Painokangas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenlinna_Painokangas
new file mode 100755
index 00000000..9a56b2bb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenlinna_Painokangas
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Hameenlinna_Painokangas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Hameenlinna_Painokangas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Hameenlinna_Painokangas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hanko b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hanko
new file mode 100755
index 00000000..ab08a142
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hanko
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Hanko]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Hanko]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[Hanko]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Hanko]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hartola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hartola
new file mode 100755
index 00000000..d10df22d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hartola
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Hartola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Hartola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Hartola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinavesi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinavesi
new file mode 100755
index 00000000..b33bb39e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinavesi
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Heinavesi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Heinavesi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Heinavesi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinola
new file mode 100755
index 00000000..7a6f234e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinola
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Heinola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Heinola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Heinola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Heinola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi
new file mode 100755
index 00000000..e11f89ac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Hyrynsalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyrynsalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyrynsalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Kyparavaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Kyparavaara
new file mode 100755
index 00000000..f402d8af
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Kyparavaara
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Hyrynsalmi_Kyparavaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyrynsalmi_Kyparavaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyrynsalmi_Kyparavaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Paljakka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Paljakka
new file mode 100755
index 00000000..806a3c09
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Paljakka
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Hyrynsalmi_Paljakka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyrynsalmi_Paljakka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyrynsalmi_Paljakka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyvinkaa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyvinkaa
new file mode 100755
index 00000000..e711b16d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyvinkaa
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Hyvinkaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyvinkaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyvinkaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Hyvinkaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ii_Raiskio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ii_Raiskio
new file mode 100755
index 00000000..c5fda678
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ii_Raiskio
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ii_Raiskio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Ii_Raiskio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Iisalmi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Iisalmi
new file mode 100755
index 00000000..d2818251
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Iisalmi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Iisalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Iisalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen
new file mode 100755
index 00000000..885d44b5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ikaalinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[Ikaalinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Ikaalinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Ikaalinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen_Riitiala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen_Riitiala
new file mode 100755
index 00000000..55d82022
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen_Riitiala
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ikaalinen_Riitiala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Ikaalinen_Riitiala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[Ikaalinen_Riitiala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Ikaalinen_Riitiala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari
new file mode 100755
index 00000000..31deb212
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Inari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Inari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Janispaa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Janispaa
new file mode 100755
index 00000000..37bd31e2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Janispaa
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Inari_Janispaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Inari_Janispaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Naatamo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Naatamo
new file mode 100755
index 00000000..ba843609
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Naatamo
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Inari_Naatamo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Inari_Naatamo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ivalo_Saarineitamovaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ivalo_Saarineitamovaara
new file mode 100755
index 00000000..70181bbe
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ivalo_Saarineitamovaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ivalo_Saarineitamovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Ivalo_Saarineitamovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jalasjarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jalasjarvi
new file mode 100755
index 00000000..9bc70582
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jalasjarvi
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Jalasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Jalasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Jalasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Jalasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Halli b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Halli
new file mode 100755
index 00000000..5d06520a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Halli
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Jamsa_Halli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Halli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Halli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Halli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Kaipola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Kaipola
new file mode 100755
index 00000000..ca8e563f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Kaipola
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Jamsa_Kaipola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Kaipola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Kaipola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Kaipola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Matkosvuori b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Matkosvuori
new file mode 100755
index 00000000..eacacff3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Matkosvuori
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Jamsa_Matkosvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Matkosvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Matkosvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Matkosvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Ouninpohja b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Ouninpohja
new file mode 100755
index 00000000..70eb8e14
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Ouninpohja
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Jamsa_Ouninpohja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Ouninpohja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsa_Ouninpohja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsankoski b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsankoski
new file mode 100755
index 00000000..142be917
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsankoski
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Jamsankoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsankoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsankoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Jamsankoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joensuu_Vestinkallio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joensuu_Vestinkallio
new file mode 100755
index 00000000..765ba1ce
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joensuu_Vestinkallio
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Joensuu_Vestinkallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[Joensuu_Vestinkallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Joensuu_Vestinkallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joroinen_Puukkola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joroinen_Puukkola
new file mode 100755
index 00000000..5fce8db4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joroinen_Puukkola
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Joroinen_Puukkola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Joroinen_Puukkola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Joroinen_Puukkola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutsa_Lankia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutsa_Lankia
new file mode 100755
index 00000000..cc44c813
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutsa_Lankia
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Joutsa_Lankia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Joutsa_Lankia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Joutsa_Lankia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Joutsa_Lankia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutseno b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutseno
new file mode 100755
index 00000000..80337fc7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutseno
@@ -0,0 +1,28 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Joutseno]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Joutseno]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[Joutseno]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Joutseno]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Joutseno]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juupajoki_Kopsamo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juupajoki_Kopsamo
new file mode 100755
index 00000000..a99af77e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juupajoki_Kopsamo
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Juupajoki_Kopsamo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Juupajoki_Kopsamo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Juupajoki_Kopsamo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juva b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juva
new file mode 100755
index 00000000..ab8a15e5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juva
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Juva]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Juva]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Juva]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Juva]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla
new file mode 100755
index 00000000..02ced9e3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla
@@ -0,0 +1,33 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Jyvaskyla-A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Jyvaskyla-B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Jyvaskyla-C]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Jyvaskyla-E]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[Jyvaskyla-D]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Jyvaskyla-H]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla_Vaajakoski b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla_Vaajakoski
new file mode 100755
index 00000000..92b5ac96
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla_Vaajakoski
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Jyvaskyla_Vaajakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Jyvaskyla_Vaajakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Jyvaskyla_Vaajakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaavi_Sivakkavaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaavi_Sivakkavaara
new file mode 100755
index 00000000..7595a398
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaavi_Sivakkavaara
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kaavi_Sivakkavaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Kaavi_Sivakkavaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Kaavi_Sivakkavaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kajaani_Pollyvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kajaani_Pollyvaara
new file mode 100755
index 00000000..3ea7b90f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kajaani_Pollyvaara
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kajaani_Pollyvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Kajaani_Pollyvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Kajaani_Pollyvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kalajoki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kalajoki
new file mode 100755
index 00000000..cab796dc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kalajoki
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kalajoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Kalajoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Kalajoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangaslampi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangaslampi
new file mode 100755
index 00000000..d84b2a9e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangaslampi
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kangaslampi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[Kangaslampi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Kangaslampi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Kangaslampi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangasniemi_Turkinmaki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangasniemi_Turkinmaki
new file mode 100755
index 00000000..56476e6b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangasniemi_Turkinmaki
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kangasniemi_Turkinmaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Kangasniemi_Turkinmaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Kangasniemi_Turkinmaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Kangasniemi_Turkinmaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kankaanpaa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kankaanpaa
new file mode 100755
index 00000000..a3df7ba5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kankaanpaa
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kankaanpaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Kankaanpaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Kankaanpaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Kankaanpaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karigasniemi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karigasniemi
new file mode 100755
index 00000000..60548c72
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karigasniemi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Karigasniemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Karigasniemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karkkila b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karkkila
new file mode 100755
index 00000000..d598f471
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karkkila
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Karkkila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Karkkila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[Karkkila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Karkkila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karstula b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karstula
new file mode 100755
index 00000000..dfd30016
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karstula
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Karstula]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Karstula]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Karstula]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karvia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karvia
new file mode 100755
index 00000000..51e89b7b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karvia
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Karvia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Karvia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Karvia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaunispaa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaunispaa
new file mode 100755
index 00000000..e9fea9c7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaunispaa
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kaunispaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Kaunispaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kemijarvi_Suomutunturi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kemijarvi_Suomutunturi
new file mode 100755
index 00000000..dac5d932
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kemijarvi_Suomutunturi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kemijarvi_Suomutunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Kemijarvi_Suomutunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kerimaki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kerimaki
new file mode 100755
index 00000000..68f45d10
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kerimaki
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kerimaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Kerimaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Kerimaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[Kerimaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu
new file mode 100755
index 00000000..dd49b5b6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Keuruu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Keuruu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Keuruu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Keuruu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu_Haapamaki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu_Haapamaki
new file mode 100755
index 00000000..cfb9b0e2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu_Haapamaki
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Keuruu_Haapamaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Keuruu_Haapamaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Keuruu_Haapamaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Keuruu_Haapamaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kihnio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kihnio
new file mode 100755
index 00000000..7c5c9924
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kihnio
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kihnio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[Kihnio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Kihnio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Kihnio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kiihtelysvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kiihtelysvaara
new file mode 100755
index 00000000..52e60b8e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kiihtelysvaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kiihtelysvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Kiihtelysvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kilpisjarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kilpisjarvi
new file mode 100755
index 00000000..9d3435c4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kilpisjarvi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kilpisjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[Kilpisjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kittila_Levitunturi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kittila_Levitunturi
new file mode 100755
index 00000000..ae4c1c90
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kittila_Levitunturi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kittila_Levitunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Kittila_Levitunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kolari_Vuolittaja b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kolari_Vuolittaja
new file mode 100755
index 00000000..f507750a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kolari_Vuolittaja
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kolari_Vuolittaja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Kolari_Vuolittaja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Koli b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Koli
new file mode 100755
index 00000000..034bf2d4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Koli
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Koli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Koli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Koli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Koli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korpilahti_Vaarunvuori b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korpilahti_Vaarunvuori
new file mode 100755
index 00000000..7fa3ed65
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korpilahti_Vaarunvuori
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Korpilahti_Vaarunvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Korpilahti_Vaarunvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Korpilahti_Vaarunvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Korpilahti_Vaarunvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korppoo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korppoo
new file mode 100755
index 00000000..6c842414
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korppoo
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Korppoo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Korppoo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Korppoo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Korppoo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kruunupyy b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kruunupyy
new file mode 100755
index 00000000..65d86c4c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kruunupyy
@@ -0,0 +1,28 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kruunupyy]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Kruunupyy]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Kruunupyy]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[Kruunupyy]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Kruunupyy]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Haukela b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Haukela
new file mode 100755
index 00000000..c3a3bd8b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Haukela
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kuhmo_Haukela]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmo_Haukela]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmo_Haukela]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Lentiira b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Lentiira
new file mode 100755
index 00000000..11279993
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Lentiira
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kuhmo_Lentiira]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmo_Lentiira]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmo_Lentiira]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Niva b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Niva
new file mode 100755
index 00000000..6f7aa2cb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Niva
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kuhmo_Niva]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmo_Niva]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmo_Niva]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen
new file mode 100755
index 00000000..53d2de9e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kuhmoinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmoinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmoinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmoinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Harjunsalmi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Harjunsalmi
new file mode 100755
index 00000000..059df911
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Harjunsalmi
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kuhmoinen_Harjunsalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmoinen_Harjunsalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmoinen_Harjunsalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmoinen_Harjunsalmi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Puukkoinen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Puukkoinen
new file mode 100755
index 00000000..113e0f45
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Puukkoinen
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kuhmoinen_Puukkoinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmoinen_Puukkoinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuhmoinen_Puukkoinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuopio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuopio
new file mode 100755
index 00000000..eb39e5f0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuopio
@@ -0,0 +1,28 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kuopio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuopio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuopio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuopio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuopio]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kurikka_Kesti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kurikka_Kesti
new file mode 100755
index 00000000..c34cfe62
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kurikka_Kesti
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kurikka_Kesti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Kurikka_Kesti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Kurikka_Kesti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Kurikka_Kesti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kustavi_Viherlahti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kustavi_Viherlahti
new file mode 100755
index 00000000..ecef74dd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kustavi_Viherlahti
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kustavi_Viherlahti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Kustavi_Viherlahti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[Kustavi_Viherlahti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Kustavi_Viherlahti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuusamo_Hamppulampi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuusamo_Hamppulampi
new file mode 100755
index 00000000..6ce9243a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuusamo_Hamppulampi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kuusamo_Hamppulampi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Kuusamo_Hamppulampi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kyyjarvi_Noposenaho b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kyyjarvi_Noposenaho
new file mode 100755
index 00000000..d3deab81
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kyyjarvi_Noposenaho
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Kyyjarvi_Noposenaho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Kyyjarvi_Noposenaho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[Kyyjarvi_Noposenaho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lahti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lahti
new file mode 100755
index 00000000..f4c89b81
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lahti
@@ -0,0 +1,33 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Lahti-A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[Lahti-B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Lahti-C]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Lahti-E]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Lahti-D]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Lahti-H]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lapua b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lapua
new file mode 100755
index 00000000..9084440f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lapua
@@ -0,0 +1,28 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Lapua]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Lapua]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Lapua]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Lapua]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Lapua]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa
new file mode 100755
index 00000000..3c484aeb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Laukaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Laukaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Laukaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Laukaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa_Vihtavuori b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa_Vihtavuori
new file mode 100755
index 00000000..5bc93a78
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa_Vihtavuori
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Laukaa_Vihtavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Laukaa_Vihtavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Laukaa_Vihtavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Laukaa_Vihtavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lavia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lavia
new file mode 100755
index 00000000..f2f13916
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lavia
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Lavia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Lavia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Lavia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lohja b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lohja
new file mode 100755
index 00000000..d040f9b4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lohja
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Lohja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Lohja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Lohja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[Lohja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Loimaa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Loimaa
new file mode 100755
index 00000000..0b6aad87
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Loimaa
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Loimaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[Loimaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Loimaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Loimaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luhanka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luhanka
new file mode 100755
index 00000000..f6407ce3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luhanka
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Luhanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Luhanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Luhanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Luhanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luopioinen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luopioinen
new file mode 100755
index 00000000..9ed4e3f2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luopioinen
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Luopioinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Luopioinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Luopioinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Luopioinen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantta
new file mode 100755
index 00000000..e2014052
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantta
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Mantta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Mantta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Mantta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Mantta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantyharju b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantyharju
new file mode 100755
index 00000000..3b7f127a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantyharju
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Mantyharju]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Mantyharju]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Mantyharju]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mikkeli b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mikkeli
new file mode 100755
index 00000000..f523878c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mikkeli
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Mikkeli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[Mikkeli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Mikkeli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[Mikkeli]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Muonio_Olostunturi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Muonio_Olostunturi
new file mode 100755
index 00000000..bfdf0c73
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Muonio_Olostunturi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Muonio_Olostunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Muonio_Olostunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia
new file mode 100755
index 00000000..208d1c43
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nilsia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Nilsia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Nilsia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Nilsia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Keski-Siikajarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Keski-Siikajarvi
new file mode 100755
index 00000000..bfbc561a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Keski-Siikajarvi
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nilsia_Keski-Siikajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Nilsia_Keski-Siikajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[Nilsia_Keski-Siikajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Pisa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Pisa
new file mode 100755
index 00000000..8c8ee34f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Pisa
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nilsia_Pisa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Nilsia_Pisa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Nilsia_Pisa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia
new file mode 100755
index 00000000..2a2b3803
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nokia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Nokia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Nokia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Nokia]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia_Siuro b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia_Siuro
new file mode 100755
index 00000000..1ba3ccac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia_Siuro
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nokia_Siuro]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Nokia_Siuro]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[Nokia_Siuro]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Nokia_Siuro]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nummi-Pusula_Hyonola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nummi-Pusula_Hyonola
new file mode 100755
index 00000000..08840cc3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nummi-Pusula_Hyonola
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nummi-Pusula_Hyonola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Nummi-Pusula_Hyonola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[Nummi-Pusula_Hyonola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Nummi-Pusula_Hyonola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_Njallavaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_Njallavaara
new file mode 100755
index 00000000..e1c1c3e0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_Njallavaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nuorgam_Njallavaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Nuorgam_Njallavaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_raja b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_raja
new file mode 100755
index 00000000..2b2cb3cd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_raja
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nuorgam_raja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Nuorgam_raja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Konnanvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Konnanvaara
new file mode 100755
index 00000000..7cd3d91d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Konnanvaara
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nurmes_Konnanvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Nurmes_Konnanvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Nurmes_Konnanvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Nurmes_Konnanvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Kortevaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Kortevaara
new file mode 100755
index 00000000..3e118ad4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Kortevaara
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Nurmes_Kortevaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Nurmes_Kortevaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Nurmes_Kortevaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Orivesi_Talviainen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Orivesi_Talviainen
new file mode 100755
index 00000000..149782ea
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Orivesi_Talviainen
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Orivesi_Talviainen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Orivesi_Talviainen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Orivesi_Talviainen]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Oulu b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Oulu
new file mode 100755
index 00000000..0e3906a2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Oulu
@@ -0,0 +1,33 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Oulu-A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[Oulu-B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Oulu-C]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[Oulu-E]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Oulu-D]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Oulu-H]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki
new file mode 100755
index 00000000..47246b4b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Padasjoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[Padasjoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Padasjoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Padasjoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki_Arrakoski b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki_Arrakoski
new file mode 100755
index 00000000..c8c1b05b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki_Arrakoski
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Padasjoki_Arrakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Padasjoki_Arrakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Padasjoki_Arrakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[Padasjoki_Arrakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Paltamo_Kivesvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Paltamo_Kivesvaara
new file mode 100755
index 00000000..56f8ba05
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Paltamo_Kivesvaara
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Paltamo_Kivesvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Paltamo_Kivesvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[Paltamo_Kivesvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parainen_Houtskari b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parainen_Houtskari
new file mode 100755
index 00000000..e1878142
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parainen_Houtskari
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Parainen_Houtskari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Parainen_Houtskari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Parainen_Houtskari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Parainen_Houtskari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parikkala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parikkala
new file mode 100755
index 00000000..f0f52f7a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parikkala
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Parikkala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Parikkala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[Parikkala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[Parikkala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parkano_Sopukallio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parkano_Sopukallio
new file mode 100755
index 00000000..62e85079
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parkano_Sopukallio
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Parkano_Sopukallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Parkano_Sopukallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Parkano_Sopukallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Parkano_Sopukallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello
new file mode 100755
index 00000000..2cbd28ec
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pello]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Pello]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello_Ratasvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello_Ratasvaara
new file mode 100755
index 00000000..ff7f6607
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello_Ratasvaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pello_Ratasvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Pello_Ratasvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Perho b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Perho
new file mode 100755
index 00000000..0a7a2dc9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Perho
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Perho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Perho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Perho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Perho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pernaja b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pernaja
new file mode 100755
index 00000000..5459e885
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pernaja
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pernaja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Pernaja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Pernaja]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pieksamaki_Halkokumpu b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pieksamaki_Halkokumpu
new file mode 100755
index 00000000..f03f9a04
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pieksamaki_Halkokumpu
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pieksamaki_Halkokumpu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Pieksamaki_Halkokumpu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Pieksamaki_Halkokumpu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pihtipudas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pihtipudas
new file mode 100755
index 00000000..42cdd293
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pihtipudas
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pihtipudas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Pihtipudas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[Pihtipudas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Porvoo_Suomenkyla b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Porvoo_Suomenkyla
new file mode 100755
index 00000000..7b5e79df
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Porvoo_Suomenkyla
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Porvoo_Suomenkyla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Porvoo_Suomenkyla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Porvoo_Suomenkyla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Porvoo_Suomenkyla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Posio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Posio
new file mode 100755
index 00000000..02586479
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Posio
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Posio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Posio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi
new file mode 100755
index 00000000..dc85d9ab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pudasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Pudasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Pudasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Iso-Syote b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Iso-Syote
new file mode 100755
index 00000000..24cebddf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Iso-Syote
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pudasjarvi_Iso-Syote]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Pudasjarvi_Iso-Syote]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Pudasjarvi_Iso-Syote]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Kangasvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Kangasvaara
new file mode 100755
index 00000000..cb911634
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Kangasvaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pudasjarvi_Kangasvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Pudasjarvi_Kangasvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Puolanka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Puolanka
new file mode 100755
index 00000000..3370a9a6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Puolanka
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Puolanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Puolanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[Puolanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Puolanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhatunturi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhatunturi
new file mode 100755
index 00000000..c5005761
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhatunturi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pyhatunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Pyhatunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhavuori b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhavuori
new file mode 100755
index 00000000..ad232654
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhavuori
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pyhavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Pyhavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[Pyhavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pylkonmaki_Karankajarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pylkonmaki_Karankajarvi
new file mode 100755
index 00000000..2d7ef178
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pylkonmaki_Karankajarvi
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Pylkonmaki_Karankajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Pylkonmaki_Karankajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Pylkonmaki_Karankajarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Mestauskallio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Mestauskallio
new file mode 100755
index 00000000..e4cc7b19
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Mestauskallio
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Raahe_Mestauskallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Raahe_Mestauskallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[Raahe_Mestauskallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Raahe_Mestauskallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Piehinki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Piehinki
new file mode 100755
index 00000000..1b3836d9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Piehinki
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Raahe_Piehinki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Raahe_Piehinki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[Raahe_Piehinki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Haasionmaa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Haasionmaa
new file mode 100755
index 00000000..837a10f3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Haasionmaa
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ranua_Haasionmaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Ranua_Haasionmaa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Leppiaho b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Leppiaho
new file mode 100755
index 00000000..94d3eef7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Leppiaho
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ranua_Leppiaho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Ranua_Leppiaho]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautavaara_Angervikko b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautavaara_Angervikko
new file mode 100755
index 00000000..c89e4bf4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautavaara_Angervikko
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rautavaara_Angervikko]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Rautavaara_Angervikko]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[Rautavaara_Angervikko]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Rautavaara_Angervikko]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautjarvi_Simpele b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautjarvi_Simpele
new file mode 100755
index 00000000..2d4c254f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautjarvi_Simpele
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rautjarvi_Simpele]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Rautjarvi_Simpele]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Rautjarvi_Simpele]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ristijarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ristijarvi
new file mode 100755
index 00000000..79a58c39
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ristijarvi
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ristijarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Ristijarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Ristijarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi
new file mode 100755
index 00000000..87a65b17
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rovaniemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Rovaniemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Rovaniemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Kaihuanvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Kaihuanvaara
new file mode 100755
index 00000000..3808ebc8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Kaihuanvaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rovaniemi_Kaihuanvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Rovaniemi_Kaihuanvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Karhuvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Karhuvaara
new file mode 100755
index 00000000..069ecb4b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Karhuvaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rovaniemi_Karhuvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Rovaniemi_Karhuvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Marasenkallio b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Marasenkallio
new file mode 100755
index 00000000..6c8d5421
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Marasenkallio
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rovaniemi_Marasenkallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Rovaniemi_Marasenkallio]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Rantalaki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Rantalaki
new file mode 100755
index 00000000..fe3ea4c5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Rantalaki
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rovaniemi_Rantalaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Rovaniemi_Rantalaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sonka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sonka
new file mode 100755
index 00000000..932b409c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sonka
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rovaniemi_Sonka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Rovaniemi_Sonka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sorviselka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sorviselka
new file mode 100755
index 00000000..feb3bcf4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sorviselka
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Rovaniemi_Sorviselka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[Rovaniemi_Sorviselka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruka
new file mode 100755
index 00000000..de41ddc7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruka
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ruka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[Ruka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Ruka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruovesi_Storminiemi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruovesi_Storminiemi
new file mode 100755
index 00000000..ac465cbf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruovesi_Storminiemi
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ruovesi_Storminiemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Ruovesi_Storminiemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Ruovesi_Storminiemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[Ruovesi_Storminiemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi
new file mode 100755
index 00000000..18c923f8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Saarijarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Saarijarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Saarijarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[Saarijarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Kalmari b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Kalmari
new file mode 100755
index 00000000..77d5adeb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Kalmari
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Saarijarvi_Kalmari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Saarijarvi_Kalmari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Saarijarvi_Kalmari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Mahlu b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Mahlu
new file mode 100755
index 00000000..48324d0e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Mahlu
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Saarijarvi_Mahlu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Saarijarvi_Mahlu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Saarijarvi_Mahlu]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Hirvasvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Hirvasvaara
new file mode 100755
index 00000000..e1410a0e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Hirvasvaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Salla_Hirvasvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Salla_Hirvasvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Ihistysjanka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Ihistysjanka
new file mode 100755
index 00000000..0d857b59
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Ihistysjanka
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Salla_Ihistysjanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[Salla_Ihistysjanka]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Naruska b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Naruska
new file mode 100755
index 00000000..06bc1bab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Naruska
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Salla_Naruska]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[Salla_Naruska]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sallatunturi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sallatunturi
new file mode 100755
index 00000000..54a55540
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sallatunturi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Salla_Sallatunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Salla_Sallatunturi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sarivaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sarivaara
new file mode 100755
index 00000000..eb9bbc0d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sarivaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Salla_Sarivaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Salla_Sarivaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salo_Isokyla b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salo_Isokyla
new file mode 100755
index 00000000..42df3b49
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salo_Isokyla
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Salo_Isokyla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Salo_Isokyla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[Salo_Isokyla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Salo_Isokyla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Martti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Martti
new file mode 100755
index 00000000..aafbdcbd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Martti
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Savukoski_Martti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Savukoski_Martti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Tanhua b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Tanhua
new file mode 100755
index 00000000..91f5fa75
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Tanhua
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Savukoski_Tanhua]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Savukoski_Tanhua]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Siilinjarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Siilinjarvi
new file mode 100755
index 00000000..7fc1f473
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Siilinjarvi
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Siilinjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[Siilinjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[Siilinjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Siilinjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Simo_Viantie b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Simo_Viantie
new file mode 100755
index 00000000..580c7bdd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Simo_Viantie
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Simo_Viantie]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Simo_Viantie]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Simo_Viantie]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sipoo_Norrkulla b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sipoo_Norrkulla
new file mode 100755
index 00000000..abfb413d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sipoo_Norrkulla
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Sipoo_Norrkulla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Sipoo_Norrkulla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[Sipoo_Norrkulla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Sipoo_Norrkulla]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Pittiovaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Pittiovaara
new file mode 100755
index 00000000..a123f643
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Pittiovaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Sodankyla_Pittiovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Sodankyla_Pittiovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Vuotso b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Vuotso
new file mode 100755
index 00000000..9c60b771
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Vuotso
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Sodankyla_Vuotso]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[Sodankyla_Vuotso]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sulkava_Vaatalanmaki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sulkava_Vaatalanmaki
new file mode 100755
index 00000000..31bdd61f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sulkava_Vaatalanmaki
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Sulkava_Vaatalanmaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Sulkava_Vaatalanmaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Sulkava_Vaatalanmaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ala-Vuokki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ala-Vuokki
new file mode 100755
index 00000000..0878a88e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ala-Vuokki
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Suomussalmi_Ala-Vuokki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Suomussalmi_Ala-Vuokki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ammansaari b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ammansaari
new file mode 100755
index 00000000..9afcefff
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ammansaari
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Suomussalmi_Ammansaari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Suomussalmi_Ammansaari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Juntusranta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Juntusranta
new file mode 100755
index 00000000..66c4e5b5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Juntusranta
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Suomussalmi_Juntusranta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Suomussalmi_Juntusranta]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Myllylahti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Myllylahti
new file mode 100755
index 00000000..9630977d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Myllylahti
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Suomussalmi_Myllylahti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Suomussalmi_Myllylahti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sysma_Liikola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sysma_Liikola
new file mode 100755
index 00000000..9db44246
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sysma_Liikola
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Sysma_Liikola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Sysma_Liikola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Sysma_Liikola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Sysma_Liikola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski
new file mode 100755
index 00000000..c307ae49
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Taivalkoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Taivalkoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski_Taivalvaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski_Taivalvaara
new file mode 100755
index 00000000..ff81bf02
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski_Taivalvaara
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Taivalkoski_Taivalvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Taivalkoski_Taivalvaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammela b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammela
new file mode 100755
index 00000000..f537bef2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammela
@@ -0,0 +1,28 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Tammela]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Tammela]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Tammela]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Tammela]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Tammela]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammisaari b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammisaari
new file mode 100755
index 00000000..5248fd22
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammisaari
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Tammisaari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[Tammisaari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[Tammisaari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[Tammisaari]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere
new file mode 100755
index 00000000..27cf3a7c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere
@@ -0,0 +1,33 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Tampere-A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere-B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere-C]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere-E]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere-D]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere-H]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere_Pyynikki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere_Pyynikki
new file mode 100755
index 00000000..03e8ecca
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere_Pyynikki
@@ -0,0 +1,28 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Tampere_Pyynikki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere_Pyynikki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere_Pyynikki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere_Pyynikki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[Tampere_Pyynikki]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tervola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tervola
new file mode 100755
index 00000000..d2c2d949
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tervola
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Tervola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[Tervola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[Tervola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Turku b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Turku
new file mode 100755
index 00000000..e3907a62
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Turku
@@ -0,0 +1,33 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Turku-A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Turku-B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[Turku-C]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Turku-E]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Turku-D]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[Turku-H]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki
new file mode 100755
index 00000000..b884a17a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Utsjoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Utsjoki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Nuvvus b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Nuvvus
new file mode 100755
index 00000000..66d35a3a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Nuvvus
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Utsjoki_Nuvvus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Utsjoki_Nuvvus]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Outakoski b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Outakoski
new file mode 100755
index 00000000..53a75af8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Outakoski
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Utsjoki_Outakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Utsjoki_Outakoski]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Polvarniemi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Polvarniemi
new file mode 100755
index 00000000..0ee4cebd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Polvarniemi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Utsjoki_Polvarniemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[Utsjoki_Polvarniemi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Rovisuvanto b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Rovisuvanto
new file mode 100755
index 00000000..7459a8d6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Rovisuvanto
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Utsjoki_Rovisuvanto]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[Utsjoki_Rovisuvanto]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Tenola b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Tenola
new file mode 100755
index 00000000..96504393
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Tenola
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Utsjoki_Tenola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Utsjoki_Tenola]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Uusikaupunki_Orivo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Uusikaupunki_Orivo
new file mode 100755
index 00000000..abe1f7f1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Uusikaupunki_Orivo
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Uusikaupunki_Orivo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Uusikaupunki_Orivo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Uusikaupunki_Orivo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[Uusikaupunki_Orivo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaala
new file mode 100755
index 00000000..86e87732
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaala
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Vaala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[Vaala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Vaala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaasa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaasa
new file mode 100755
index 00000000..7826313c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaasa
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Vaasa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Vaasa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Vaasa]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Valtimo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Valtimo
new file mode 100755
index 00000000..81e82455
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Valtimo
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Valtimo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[Valtimo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[Valtimo]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Jyranvuori b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Jyranvuori
new file mode 100755
index 00000000..26582a83
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Jyranvuori
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Vammala_Jyranvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[Vammala_Jyranvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[Vammala_Jyranvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[Vammala_Jyranvuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Roismala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Roismala
new file mode 100755
index 00000000..53f37934
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Roismala
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Vammala_Roismala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[Vammala_Roismala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Vammala_Roismala]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Savi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Savi
new file mode 100755
index 00000000..189afb4a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Savi
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Vammala_Savi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Vammala_Savi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[Vammala_Savi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vantaa_Hakunila b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vantaa_Hakunila
new file mode 100755
index 00000000..af493a1d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vantaa_Hakunila
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Vantaa_Hakunila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[Vantaa_Hakunila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[Vantaa_Hakunila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[Vantaa_Hakunila]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Varpaisjarvi_Honkamaki b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Varpaisjarvi_Honkamaki
new file mode 100755
index 00000000..5bdf9742
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Varpaisjarvi_Honkamaki
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Varpaisjarvi_Honkamaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[Varpaisjarvi_Honkamaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[Varpaisjarvi_Honkamaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Varpaisjarvi_Honkamaki]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Virrat_Lappavuori b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Virrat_Lappavuori
new file mode 100755
index 00000000..61f12b0b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Virrat_Lappavuori
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Virrat_Lappavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[Virrat_Lappavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[Virrat_Lappavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[Virrat_Lappavuori]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vuokatti b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vuokatti
new file mode 100755
index 00000000..5a78cf36
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vuokatti
@@ -0,0 +1,23 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Vuokatti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Vuokatti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[Vuokatti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[Vuokatti]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Ainiovaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Ainiovaara
new file mode 100755
index 00000000..ebd72b90
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Ainiovaara
@@ -0,0 +1,18 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ylitornio_Ainiovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Ylitornio_Ainiovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[Ylitornio_Ainiovaara]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Raanujarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Raanujarvi
new file mode 100755
index 00000000..885c18f5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Raanujarvi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Ylitornio_Raanujarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[Ylitornio_Raanujarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllas
new file mode 100755
index 00000000..0488cfb8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllas
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Yllas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[Yllas]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllasjarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllasjarvi
new file mode 100755
index 00000000..67900896
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllasjarvi
@@ -0,0 +1,13 @@
+# 2014-04-18 Antti Palosaari <crope@iki.fi>
+# generated from http://www.digita.fi/kuluttajat/tv/nakyvyysalueet/kanavanumerot_ja_taajuudet
+
+[Yllasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[Yllasjarvi]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fr-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fr-All
new file mode 100755
index 00000000..c3eba11b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fr-All
@@ -0,0 +1,481 @@
+# France ALL (All channel 21 to 60)
+[UHF 21]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 22]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 23]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 24]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 25]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 26]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 27]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 28]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 29]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 30]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 31]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 32]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 33]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 34]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 35]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 36]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 37]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 38]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 39]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 40]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 41]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 42]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 43]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 44]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 45]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 46]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 47]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 48]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 49]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 50]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 51]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 52]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 53]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 54]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 55]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 56]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 57]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 58]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 59]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[UHF 60]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/gr-Athens b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/gr-Athens
new file mode 100755
index 00000000..28e6c05a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/gr-Athens
@@ -0,0 +1,95 @@
+# Initial scan config for DVB-T in Athens Greece
+# Created from the frequencies listed in
+# http://www.satspot.gr/television/channels/160-tv-sixnotites-attiki
+# and the actual service names for comments.
+
+# ART, ANT1, ALPHA, E
+[Digea 01]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# STAR, M.tv, SKAI, MEGA
+[Digea 02]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Vouli, Kosmos, N Plus, Deutero, N1, N HD, Trito, Proto
+[DT DIGITAL 01]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# DW, PROTO, KOSMOS, RIK, TRITO, TV 5, Europe, BBC World News
+[DT DIGITAL 02]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# BLUE SKY, ATTICA TV, AB CHANNEL, CHANNEL 9, ACTION24
+[MULTI ATTIKI 01]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# KONTRA, MAD TV, EXTRA CHANNEL, HIGH TV
+[MULTI ATTIKI 02]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# NICKELODEON, SMILE, SBC, MTV GREECE
+[MULTI ATTIKI 03]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hk-HongKong b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hk-HongKong
new file mode 100755
index 00000000..1e2d136d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hk-HongKong
@@ -0,0 +1,94 @@
+# Hong Kong (DMB-TH)
+
+# TVB (band 35)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# ATV (band 37)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# Simulcast (band 22)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Simulcast (band 30)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Simulcast (band 32)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Simulcast (band 40)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 628000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# Simulcast (band 43)
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hr-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hr-All
new file mode 100755
index 00000000..2919099b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hr-All
@@ -0,0 +1,315 @@
+# Croatia, whole country
+# Created from http://www.oiv.hr/broadcasting/tables/dtv_hr.aspx
+# and from http://www.oiv.hr/broadcasting/tables/dtv_channel_hr.aspx
+[D1 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D2 MUXA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D4 MUXA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D5 MUXA, D9 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D5 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[d72 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D6 MUXA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D7 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D8 MUXA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D8 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[d71 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D3 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D1 MUXA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D2 MUXB]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D4 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D1 MUXB, D3 MUXA, D6 MUXB]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D5 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[SLO MUXA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D3 MUXB, D4 MUXB]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D7 MUXA, D9 MUXA]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D5 MUXB, D8 MUXB]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D6 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Tusti Vrh MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D2 MUXD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D7 MUXB, D9 MUXB]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[D5 MFN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Bekescsaba b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Bekescsaba
new file mode 100755
index 00000000..dac2e7b0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Bekescsaba
@@ -0,0 +1,53 @@
+# Hungary / Bekescsaba
+#
+# A.multiplex UHF-38:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-54:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-65:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Budapest b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Budapest
new file mode 100755
index 00000000..b4c17b35
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Budapest
@@ -0,0 +1,53 @@
+# Hungary / Budapest
+#
+# A.multiplex UHF-38:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-55:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-62:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Csavoly-Kiskoros b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Csavoly-Kiskoros
new file mode 100755
index 00000000..9b88371d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Csavoly-Kiskoros
@@ -0,0 +1,42 @@
+# Hungary / Csavoly-Kiskoros
+#
+# A.multiplex UHF-45:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-00:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-68:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Debrecen-Komadi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Debrecen-Komadi
new file mode 100755
index 00000000..7395939c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Debrecen-Komadi
@@ -0,0 +1,53 @@
+# Hungary / Debrecen-Komadi
+#
+# A.multiplex UHF-46:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-51:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-62:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Fehergyarmat b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Fehergyarmat
new file mode 100755
index 00000000..dbfdda06
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Fehergyarmat
@@ -0,0 +1,42 @@
+# Hungary / Fehergyarmat
+#
+# A.multiplex UHF-58:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-00:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 714000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-38:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gerecse-Dorog-Tatabanya b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gerecse-Dorog-Tatabanya
new file mode 100755
index 00000000..1a14795f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gerecse-Dorog-Tatabanya
@@ -0,0 +1,53 @@
+# Hungary / Gerecse-Dorog-Tatabanya
+#
+# A.multiplex UHF-64:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-29:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-63:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gyor b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gyor
new file mode 100755
index 00000000..5ecd59c5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gyor
@@ -0,0 +1,53 @@
+# Hungary / Gyor
+#
+# A.multiplex UHF-42:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-25:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-61:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kabhegy-Kaposvar-Tamasi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kabhegy-Kaposvar-Tamasi
new file mode 100755
index 00000000..6c5cbfe2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kabhegy-Kaposvar-Tamasi
@@ -0,0 +1,42 @@
+# Hungary / Kabhegy-Kaposvar-Tamasi
+#
+# A.multiplex UHF-64:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-00:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-61:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac
new file mode 100755
index 00000000..2b2cab58
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac
@@ -0,0 +1,53 @@
+# Hungary / Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac
+#
+# A.multiplex UHF-38:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-55:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-62:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karcag b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karcag
new file mode 100755
index 00000000..ae6390a5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karcag
@@ -0,0 +1,53 @@
+# Hungary / Karcag
+#
+# A.multiplex UHF-46:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-30:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-64:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kecskemet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kecskemet
new file mode 100755
index 00000000..cf9ffada
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kecskemet
@@ -0,0 +1,53 @@
+# Hungary / Kecskemet
+#
+# A.multiplex UHF-56:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-39:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-68:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd
new file mode 100755
index 00000000..58afcd96
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd
@@ -0,0 +1,53 @@
+# Hungary / Kekes-Cegled-Miskolctapolca
+#
+# A.multiplex UHF-44:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-39:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-69:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Miskolc-Aggtelek-Fony b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Miskolc-Aggtelek-Fony
new file mode 100755
index 00000000..361ac5a1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Miskolc-Aggtelek-Fony
@@ -0,0 +1,53 @@
+# Hungary / Miskolc-Aggtelek-Fony
+#
+# A.multiplex UHF-45:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-31:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-63:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Mor-Siofok-Veszprem-Zirc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Mor-Siofok-Veszprem-Zirc
new file mode 100755
index 00000000..cc2e32a9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Mor-Siofok-Veszprem-Zirc
@@ -0,0 +1,53 @@
+# Hungary / Mor-Siofok-Veszprem-Zirc
+#
+# A.multiplex UHF-64:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-29:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-61:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nagykanizsa-Barcs-Keszthely b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nagykanizsa-Barcs-Keszthely
new file mode 100755
index 00000000..ce0ee071
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nagykanizsa-Barcs-Keszthely
@@ -0,0 +1,53 @@
+# Hungary / Nagykanizsa-Barcs-Keszthely
+#
+# A.multiplex UHF-24:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-55:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-65:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely
new file mode 100755
index 00000000..03f8e962
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely
@@ -0,0 +1,53 @@
+# Hungary / Nyíregyhaza-Tokaj-Kzincbarcika-Saly-Satoraljaujhely
+#
+# A.multiplex UHF-68:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-31:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-63:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Pecs-Siklos b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Pecs-Siklos
new file mode 100755
index 00000000..b5497c8b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Pecs-Siklos
@@ -0,0 +1,42 @@
+# Hungary / Pecs-Siklos
+#
+# A.multiplex UHF-52:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-00:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-67:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Sopron-Koszeg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Sopron-Koszeg
new file mode 100755
index 00000000..4a9b0801
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Sopron-Koszeg
@@ -0,0 +1,53 @@
+# Hungary / Sopron-Koszeg
+#
+# A.multiplex UHF-42:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-40:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-68:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szeged b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szeged
new file mode 100755
index 00000000..5fa2aa1d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szeged
@@ -0,0 +1,53 @@
+# Hungary / Szeged
+#
+# A.multiplex UHF-60:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-22:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-65:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szekesfehervar b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szekesfehervar
new file mode 100755
index 00000000..69b21624
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szekesfehervar
@@ -0,0 +1,53 @@
+# Hungary / Szekesfehervar
+#
+# A.multiplex UHF-30:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-29:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-63:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szentes-Battonya b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szentes-Battonya
new file mode 100755
index 00000000..c4f756a1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szentes-Battonya
@@ -0,0 +1,42 @@
+# Hungary / Szentes-Battonya
+#
+# A.multiplex UHF-60:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-00:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-65:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szolnok b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szolnok
new file mode 100755
index 00000000..1f371e02
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szolnok
@@ -0,0 +1,53 @@
+# Hungary / Szolnok
+#
+# A.multiplex UHF-56:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-30:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-64:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg
new file mode 100755
index 00000000..5877b4c0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg
@@ -0,0 +1,53 @@
+# Hungary / Szombathely-Vasvar-Lenti-Zalaegerszeg
+#
+# A.multiplex UHF-38:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-58:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-68:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar
new file mode 100755
index 00000000..78075e40
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar
@@ -0,0 +1,53 @@
+# Hungary / Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar
+#
+# A.multiplex UHF-52:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# B.multiplex UHF-37:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#
+# C.multiplex UHF-67:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-CairnHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-CairnHill
new file mode 100755
index 00000000..d3a5dc5a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-CairnHill
@@ -0,0 +1,26 @@
+# Ireland, Cairn Hill
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH47: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH44: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ClermontCarn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ClermontCarn
new file mode 100755
index 00000000..81f17d24
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ClermontCarn
@@ -0,0 +1,26 @@
+# Ireland, Clermont Carn
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH52: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH56: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Dungarvan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Dungarvan
new file mode 100755
index 00000000..1c2ccd88
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Dungarvan
@@ -0,0 +1,26 @@
+# Ireland, Dungarvan
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH55: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH59: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-HolywellHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-HolywellHill
new file mode 100755
index 00000000..5bb2c585
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-HolywellHill
@@ -0,0 +1,26 @@
+# Ireland, Holywell Hill
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH30: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Kippure b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Kippure
new file mode 100755
index 00000000..8a7a3be0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Kippure
@@ -0,0 +1,26 @@
+# Ireland, Kippure
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH54: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH58: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Maghera b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Maghera
new file mode 100755
index 00000000..e87acd9a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Maghera
@@ -0,0 +1,26 @@
+# Ireland, Maghera
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH48: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH55: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-MountLeinster b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-MountLeinster
new file mode 100755
index 00000000..60430a23
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-MountLeinster
@@ -0,0 +1,26 @@
+# Ireland, Mount Leinster
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH23: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH26: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Mullaghanish b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Mullaghanish
new file mode 100755
index 00000000..9eb7cebb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Mullaghanish
@@ -0,0 +1,26 @@
+# Ireland, Mullaghanish
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH21: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH24: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-SpurHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-SpurHill
new file mode 100755
index 00000000..96782feb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-SpurHill
@@ -0,0 +1,26 @@
+# Ireland, Spur Hill
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH45: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH49: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ThreeRock b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ThreeRock
new file mode 100755
index 00000000..7df648ed
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ThreeRock
@@ -0,0 +1,26 @@
+# Ireland, Three Rock
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH30: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH33: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Truskmore b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Truskmore
new file mode 100755
index 00000000..838429c6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Truskmore
@@ -0,0 +1,26 @@
+# Ireland, Truskmore
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH53: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH57: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-WoodcockHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-WoodcockHill
new file mode 100755
index 00000000..065e6fce
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-WoodcockHill
@@ -0,0 +1,26 @@
+# Ireland, Woodcock Hill
+# Generated from http://www.comreg.ie/_fileupload/Broadcast_Technical_Parameters.xlsx
+[CH47: Saorview MUX1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CH44: Saorview MUX2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/il-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/il-All
new file mode 100755
index 00000000..14e2b5d1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/il-All
@@ -0,0 +1,26 @@
+# Israel, Israel Broadcasting Authority's transmitters
+# Generated from list in http://www.iba.org.il/reception/
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ir-Tehran b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ir-Tehran
new file mode 100755
index 00000000..9c28a776
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ir-Tehran
@@ -0,0 +1,25 @@
+# DVB-T Tehran
+[IRIB-TV1/2/3/4/5, IRINN, AMOUZESH, QURAN-TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[PRESS TV, AL-ALAM, AL-KOUSAR, JAAMEJAM 1, IRIB MOSTANAD, IRIB OSTANI]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/is-Reykjavik b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/is-Reykjavik
new file mode 100755
index 00000000..c898a6bf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/is-Reykjavik
@@ -0,0 +1,226 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20100316 1 0 OFDM IS </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: <add description here>
+# date (yyyy-mm-dd) : 2010-10-22
+# provided by (opt) : <your name or email here>
+#
+#------------------------------------------------------------------------------
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Vodafone]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/it-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/it-All
new file mode 100755
index 00000000..c41cac3e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/it-All
@@ -0,0 +1,761 @@
+# This file lists all frequencies used in Western Europe for DVB-T.
+# The transmission parameters listed here are the ones generally used in
+# Italy, broadcast neworks in other countries do use different parameters.
+# Moreover, other countries use a bandwidth of 8 MHz also for Band III
+# channels.
+#
+# Compiled in December 2010 by Marco d'Itri <md@linux.it>.
+#
+# References:
+# http://en.wikipedia.org/wiki/Band_I#Europe
+# http://en.wikipedia.org/wiki/Band_III#Europe
+# http://en.wikipedia.org/wiki/File:VHF_Usage.svg
+# http://en.wikipedia.org/wiki/Television_channel_frequencies
+
+
+### VHF - Band III ###
+# 5
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 6
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 7
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 8
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 9
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 10
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 11
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 219500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 12
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 226500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+### UHF - Band IV ###
+# 21
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 22
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 23
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 24
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 25
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 26
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 27
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 28
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 29
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 30
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 31
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 32
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 33
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 34
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 35
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 36
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 37
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+### UHF - Band V ###
+# 38
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 39
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 41
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 42
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 43
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 44
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 45
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 46
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 47
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 48
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 49
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 50
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 51
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 52
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 53
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 55
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 56
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 57
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 58
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 60
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 61
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 62
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 63
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 64
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 65
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 66
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 67
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 842000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 68
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 850000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+# 69
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 858000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lt-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lt-All
new file mode 100755
index 00000000..4ae5fef7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lt-All
@@ -0,0 +1,302 @@
+# Lithuania, whole country
+# Created from http://www.skaitmenine.lt/lt/skaitmenine_tv_lietuvoje/antzemine_dvb_t.html
+# Created by baruse@gmail.com
+
+# LRTC I tinklas
+[kanalas 22]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 26]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 39]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 44]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 47]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 57]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 58]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 60]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 61]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 794000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# LRTC II tinklas
+[kanalas 33]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 38]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 48]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 54]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 62]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 63]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 810000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 64]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# TEO LT I tinklas
+[kanalas 36]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 50]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 59]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 65]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 826000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# TEO LT II tinklas
+[kanalas 21]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 30]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[kanalas 53]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+#T 786000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 60
+
+# Vilniui bonusas
+[kanalas 37]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lu-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lu-All
new file mode 100755
index 00000000..4e8053fc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lu-All
@@ -0,0 +1,49 @@
+# DVB-T Luxembourg [2007-11-18]
+[Kanal 7 M6, RTL 8, LUXE.TV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Kanal 21 air]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Kanal 24 club RTL, RTL TVI, plug TV, RTL 4, RTL 5, RTL 7]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Kanal 27 RTL TeleLetz, 2 ten RTL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lv-Riga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lv-Riga
new file mode 100755
index 00000000..bfb2e371
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lv-Riga
@@ -0,0 +1,92 @@
+# Latvia - Riga (lv-Riga)
+# Generated by Raimonds Cicans
+# UTF8 encoding
+
+
+# DLRTC
+[Weak signal! VÄjÅ¡ signÄls! Слабый Ñигнал!]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# Baltkom TV
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 834000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nl-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nl-All
new file mode 100755
index 00000000..33fccd31
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nl-All
@@ -0,0 +1,483 @@
+# The Netherlands, whole country
+# Created from http://radio-tv-nederland.nl/TV 1.251978e-312nderlijst%20Nederland.xls
+# and http://radio-tv-nederland.nl/dvbt/dvbt-lokaal.html
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/no-Trondelag_Stjordal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/no-Trondelag_Stjordal
new file mode 100755
index 00000000..f6d89978
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/no-Trondelag_Stjordal
@@ -0,0 +1,39 @@
+# Norway / Trondelag / Stjordal
+# modified according to data automatically generated by w_scan
+# free (nrk) channels are on 658000000
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandInfill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandInfill
new file mode 100755
index 00000000..dc05f0c7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandInfill
@@ -0,0 +1,42 @@
+# Pinehill, Remuera, Sky Tower, Auckland Infill, Auckland NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandWaiatarua b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandWaiatarua
new file mode 100755
index 00000000..4fbeb87f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandWaiatarua
@@ -0,0 +1,42 @@
+# Waiatarua, Auckland NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Christchurch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Christchurch
new file mode 100755
index 00000000..242c186e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Christchurch
@@ -0,0 +1,42 @@
+# Sugarloaf, Christchurch NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Dunedin b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Dunedin
new file mode 100755
index 00000000..440449a6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Dunedin
@@ -0,0 +1,42 @@
+# Mt Cargill, Dunedin NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Hamilton b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Hamilton
new file mode 100755
index 00000000..eeb5b41f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Hamilton
@@ -0,0 +1,42 @@
+# Hamilton Infill, Waikato NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayMtErin b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayMtErin
new file mode 100755
index 00000000..6b6cee1f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayMtErin
@@ -0,0 +1,42 @@
+# Mt. Erin, Hawkes Bay NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayNapier b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayNapier
new file mode 100755
index 00000000..0941b836
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayNapier
@@ -0,0 +1,42 @@
+# Napier Infill, Hawkes Bay NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Manawatu b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Manawatu
new file mode 100755
index 00000000..9c013042
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Manawatu
@@ -0,0 +1,42 @@
+# Wharite, Manawatu NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Tauranga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Tauranga
new file mode 100755
index 00000000..3b30c5e2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Tauranga
@@ -0,0 +1,42 @@
+# Kopukairua, Tauranga NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Waikato b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Waikato
new file mode 100755
index 00000000..d88cea6a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Waikato
@@ -0,0 +1,42 @@
+# Te Aroha, Waikato NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonInfill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonInfill
new file mode 100755
index 00000000..63d48712
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonInfill
@@ -0,0 +1,42 @@
+# Fitzherbert, Baxters Knob, Wellington infill, Wellington NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonKaukau b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonKaukau
new file mode 100755
index 00000000..9111f1a0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonKaukau
@@ -0,0 +1,42 @@
+# Kaukau, Wellington NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonNgarara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonNgarara
new file mode 100755
index 00000000..27d920cf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonNgarara
@@ -0,0 +1,42 @@
+# Ngarara, Wellington NZ
+#
+# Channel allocation details for NZ can be found at
+# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
+#
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Czestochowa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Czestochowa
new file mode 100755
index 00000000..e24f5f65
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Czestochowa
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20120605 1 0 TERRESTRIAL PL </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: PL Czestochowa slaskie
+# date (yyyy-mm-dd) : 2012-11-30
+# provided by (opt) : Jakub Kasprzycki jakub@kasprzycki.name
+#
+#------------------------------------------------------------------------------
+[MUX-1 Emitel Wreczyca 100KW H]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[MUX-2 Emitel Wreczyca 100KW H]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[MUX-3 TON Czestochowa/Bleszno 2KW H]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Gdansk b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Gdansk
new file mode 100755
index 00000000..6ff18cb7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Gdansk
@@ -0,0 +1,25 @@
+# Gdańsk, Poland
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krakow b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krakow
new file mode 100755
index 00000000..12b164f4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krakow
@@ -0,0 +1,82 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20091230 1 0 OFDM PL </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Poland, Krakow
+# date (yyyy-mm-dd) : 2011-10-29
+# provided by (opt) : Damian Golda
+#
+#------------------------------------------------------------------------------
+[Ch.23, Mux2 Tarnow/g.Sw.Marcina]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[NW 04 Malopolskie, Ch.48, Mux3 Krakow/Choragwica 2kW]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Ch.49, Mux2 Katowice/Kosztowy]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Ch.51, Mux3 Katowice/Kosztowy 2.5kW]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Ch.62, Mux1 Wisla/Skrzyczne]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 802000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[TP EmiTel Ch.64, Mux3 Krakow/Choragwica]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 818000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krosno_Sucha_Gora b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krosno_Sucha_Gora
new file mode 100755
index 00000000..cb4e92d5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krosno_Sucha_Gora
@@ -0,0 +1,35 @@
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Rzeszow b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Rzeszow
new file mode 100755
index 00000000..19918788
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Rzeszow
@@ -0,0 +1,13 @@
+# Rzeszow / Sucha Gora, South-East Poland
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Szczecin b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Szczecin
new file mode 100755
index 00000000..86db69f7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Szczecin
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20091230 1 0 OFDM PL </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Poland, Szczecin
+# date (yyyy-mm-dd) : 2015-12-01
+# provided by (opt) : Fantom
+#
+#------------------------------------------------------------------------------
+
+[Zachodniopomorskie, Ch.41, Mux1 Szczecin/Kolowo 100kW]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Zachodniopomorskie, Ch.34, Mux2 Szczecin/Kolowo 100kW]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Zachodniopomorskie, Ch.48, Mux3 Szczecin/Kolowo 100kW]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Warszawa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Warszawa
new file mode 100755
index 00000000..e6c6b3ec
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Warszawa
@@ -0,0 +1,64 @@
+# Warsaw (Masowian), Poland
+#
+# Channels info: http://sat-charts.eu/dvb-t.php
+#
+[Raszyn/PKiN MUX-3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Raszyn/PKiN MUX-8 (TVNHD)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Raszyn/PKiN MUX-1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Raszyn/PKiN MUX-2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[PKiN MUX-8]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+ CODE_RATE_HP = 5/6
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Wroclaw b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Wroclaw
new file mode 100755
index 00000000..cffbe7fb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Wroclaw
@@ -0,0 +1,13 @@
+# Wroclaw / Zorawina, South-West Poland
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pt-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pt-All
new file mode 100755
index 00000000..119e4db4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pt-All
@@ -0,0 +1,85 @@
+# Generated from http://tdt-portugal.blogspot.pt/
+[Monte da Virgem]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Lousa (Trevim)]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Montejunto]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Mainland SFN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ro-Bucharest b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ro-Bucharest
new file mode 100755
index 00000000..e2427cec
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ro-Bucharest
@@ -0,0 +1,37 @@
+# Romania / Bucharest
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[SRTV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[SNR DVB-T]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Krasnodar b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Krasnodar
new file mode 100755
index 00000000..04a0fdb7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Krasnodar
@@ -0,0 +1,26 @@
+# Russia, Krasnodar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 4/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 4/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ STREAM_ID = 1
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Novosibirsk b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Novosibirsk
new file mode 100755
index 00000000..3be3c338
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Novosibirsk
@@ -0,0 +1,26 @@
+# Russia, Novosibirsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 4/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 4/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ STREAM_ID = 1
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Volgodonsk b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Volgodonsk
new file mode 100755
index 00000000..6832d726
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Volgodonsk
@@ -0,0 +1,26 @@
+# Russia, Volgodonsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 4/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 4/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = AUTO
+ HIERARCHY = NONE
+ STREAM_ID = 1
+ INVERSION = AUTO
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aareavaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aareavaara
new file mode 100755
index 00000000..13d716a3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aareavaara
@@ -0,0 +1,5 @@
+# Sweden - Aareavaara
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Adolfstrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Adolfstrom
new file mode 100755
index 00000000..b7aa4454
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Adolfstrom
@@ -0,0 +1,5 @@
+# Sweden - Adolfström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Agnas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Agnas
new file mode 100755
index 00000000..bd7c1c97
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Agnas
@@ -0,0 +1,5 @@
+# Sweden - Agnäs
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Akersjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Akersjon
new file mode 100755
index 00000000..26dc4ed4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Akersjon
@@ -0,0 +1,5 @@
+# Sweden - Åkersjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alafors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alafors
new file mode 100755
index 00000000..c126dce3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alafors
@@ -0,0 +1,35 @@
+# Sweden - Alafors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Albacken b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Albacken
new file mode 100755
index 00000000..e91aa4f7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Albacken
@@ -0,0 +1,5 @@
+# Sweden - Albacken
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Algsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Algsjo
new file mode 100755
index 00000000..6bcb7821
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Algsjo
@@ -0,0 +1,5 @@
+# Sweden - Älgsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alingsas_Mariedal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alingsas_Mariedal
new file mode 100755
index 00000000..249fe98f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alingsas_Mariedal
@@ -0,0 +1,35 @@
+# Sweden - Alingsås/Mariedal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvangen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvangen
new file mode 100755
index 00000000..cd389a2b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvangen
@@ -0,0 +1,35 @@
+# Sweden - Älvängen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalen_Brunnsberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalen_Brunnsberg
new file mode 100755
index 00000000..4f1b825c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalen_Brunnsberg
@@ -0,0 +1,13 @@
+# Sweden - Älvdalen/Brunnsberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalsasen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalsasen
new file mode 100755
index 00000000..1561589a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalsasen
@@ -0,0 +1,13 @@
+# Sweden - Älvdalsåsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbacka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbacka
new file mode 100755
index 00000000..ceb9635d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbacka
@@ -0,0 +1,5 @@
+# Sweden - Älvsbacka
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbyn
new file mode 100755
index 00000000..4c308d05
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbyn
@@ -0,0 +1,70 @@
+# Sweden - Älvsbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Ribovardo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Ribovardo
new file mode 100755
index 00000000..9206a9a4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Ribovardo
@@ -0,0 +1,5 @@
+# Sweden - Ammarnäs Ribovardo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Tjultrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Tjultrask
new file mode 100755
index 00000000..4bb1d356
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Tjultrask
@@ -0,0 +1,5 @@
+# Sweden - Ammarnäs/Tjulträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amot b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amot
new file mode 100755
index 00000000..36697b79
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amot
@@ -0,0 +1,13 @@
+# Sweden - Ã…mot
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amotfors_Kroppstad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amotfors_Kroppstad
new file mode 100755
index 00000000..92726450
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amotfors_Kroppstad
@@ -0,0 +1,5 @@
+# Sweden - Ã…motfors Kroppstad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-An b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-An
new file mode 100755
index 00000000..acabed72
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-An
@@ -0,0 +1,5 @@
+# Sweden - Ã…n
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Andersvattnet_Ersmyrberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Andersvattnet_Ersmyrberget
new file mode 100755
index 00000000..aa82b3f9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Andersvattnet_Ersmyrberget
@@ -0,0 +1,5 @@
+# Sweden - Andersvattnet/Ersmyrberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ange_Snoberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ange_Snoberg
new file mode 100755
index 00000000..7f0bac7c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ange_Snoberg
@@ -0,0 +1,63 @@
+# Sweden - Ånge/Snöberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angebo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angebo
new file mode 100755
index 00000000..d3145eae
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angebo
@@ -0,0 +1,6 @@
+# Sweden - Ängebo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angelholm_Vegeholm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angelholm_Vegeholm
new file mode 100755
index 00000000..3611129f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angelholm_Vegeholm
@@ -0,0 +1,35 @@
+# Sweden - Ängelholm/Vegeholm
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angersjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angersjo
new file mode 100755
index 00000000..190c7f57
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angersjo
@@ -0,0 +1,5 @@
+# Sweden - Ängersjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Are b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Are
new file mode 100755
index 00000000..be581bbc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Are
@@ -0,0 +1,35 @@
+# Sweden - Ã…re
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjang b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjang
new file mode 100755
index 00000000..3b540abb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjang
@@ -0,0 +1,35 @@
+# Sweden - Årjäng
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjeplog_Galtispouda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjeplog_Galtispouda
new file mode 100755
index 00000000..dc0c8180
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjeplog_Galtispouda
@@ -0,0 +1,35 @@
+# Sweden - Arjeplog Galtispouda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arosjokk b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arosjokk
new file mode 100755
index 00000000..fa88de3f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arosjokk
@@ -0,0 +1,5 @@
+# Sweden - Ã…rosjokk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvidsjaur_Jultrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvidsjaur_Jultrask
new file mode 100755
index 00000000..76c48626
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvidsjaur_Jultrask
@@ -0,0 +1,35 @@
+# Sweden - Arvidsjaur/Julträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvika_Orshultaberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvika_Orshultaberget
new file mode 100755
index 00000000..7d041b2d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvika_Orshultaberget
@@ -0,0 +1,5 @@
+# Sweden - Arvika/Örshultaberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-As b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-As
new file mode 100755
index 00000000..ca6213ee
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-As
@@ -0,0 +1,5 @@
+# Sweden - Ã…s
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asele_Aslia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asele_Aslia
new file mode 100755
index 00000000..cac0d8ed
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asele_Aslia
@@ -0,0 +1,5 @@
+# Sweden - Ã…sele Ã…slia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asmon_Sormoflo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asmon_Sormoflo
new file mode 100755
index 00000000..c7442062
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asmon_Sormoflo
@@ -0,0 +1,5 @@
+# Sweden - Åsmon/Sörmoflo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aspeboda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aspeboda
new file mode 100755
index 00000000..5ca5003e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aspeboda
@@ -0,0 +1,13 @@
+# Sweden - Aspeboda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Atvidaberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Atvidaberg
new file mode 100755
index 00000000..380b7e1a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Atvidaberg
@@ -0,0 +1,35 @@
+# Sweden - Ã…tvidaberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Avesta_Krylbo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Avesta_Krylbo
new file mode 100755
index 00000000..e9a146bf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Avesta_Krylbo
@@ -0,0 +1,35 @@
+# Sweden - Avesta/Krylbo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backe b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backe
new file mode 100755
index 00000000..e688bf72
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backe
@@ -0,0 +1,5 @@
+# Sweden - Backe
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backefors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backefors
new file mode 100755
index 00000000..b6b9ba82
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backefors
@@ -0,0 +1,35 @@
+# Sweden - Bäckefors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bankeryd b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bankeryd
new file mode 100755
index 00000000..ab123125
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bankeryd
@@ -0,0 +1,35 @@
+# Sweden - Bankeryd
+[[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bengtsfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bengtsfors
new file mode 100755
index 00000000..41de7e21
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bengtsfors
@@ -0,0 +1,5 @@
+# Sweden - Bengtsfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Berghamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Berghamn
new file mode 100755
index 00000000..59b198ac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Berghamn
@@ -0,0 +1,5 @@
+# Sweden - Berghamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergshamra_Vaxtuna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergshamra_Vaxtuna
new file mode 100755
index 00000000..08e7e6e5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergshamra_Vaxtuna
@@ -0,0 +1,35 @@
+# Sweden - Bergshamra/Vaxtuna
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergsjo_Balleberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergsjo_Balleberget
new file mode 100755
index 00000000..f4c8c33e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergsjo_Balleberget
@@ -0,0 +1,13 @@
+# Sweden - Bergsjö/Bålleberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergvik b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergvik
new file mode 100755
index 00000000..d1ac6bfe
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergvik
@@ -0,0 +1,13 @@
+# Sweden - Bergvik
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Billsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Billsjo
new file mode 100755
index 00000000..ff3bbf70
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Billsjo
@@ -0,0 +1,5 @@
+# Sweden - Billsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bispfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bispfors
new file mode 100755
index 00000000..d93aa7aa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bispfors
@@ -0,0 +1,35 @@
+# Sweden - Bispfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkliden_Tornehamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkliden_Tornehamn
new file mode 100755
index 00000000..3653d560
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkliden_Tornehamn
@@ -0,0 +1,5 @@
+# Sweden - Björkliden/Tornehamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorksele b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorksele
new file mode 100755
index 00000000..fa24fd2d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorksele
@@ -0,0 +1,5 @@
+# Sweden - Björksele
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkvattnet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkvattnet
new file mode 100755
index 00000000..b8ce3ade
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkvattnet
@@ -0,0 +1,5 @@
+# Sweden - Björkvattnet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorna
new file mode 100755
index 00000000..a0223299
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorna
@@ -0,0 +1,5 @@
+# Sweden - Björna
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurberget_Hemtjarn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurberget_Hemtjarn
new file mode 100755
index 00000000..e6d57c57
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurberget_Hemtjarn
@@ -0,0 +1,5 @@
+# Sweden - Bjurberget/Hemtjärn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurtrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurtrask
new file mode 100755
index 00000000..c1d7a32d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurtrask
@@ -0,0 +1,5 @@
+# Sweden - Bjurträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boberg
new file mode 100755
index 00000000..323b1c24
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boberg
@@ -0,0 +1,5 @@
+# Sweden - Boberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boda_Fagerum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boda_Fagerum
new file mode 100755
index 00000000..2f705a7a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boda_Fagerum
@@ -0,0 +1,35 @@
+# Sweden - Böda/Fagerum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boden_Skogsa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boden_Skogsa
new file mode 100755
index 00000000..c7dbabe2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boden_Skogsa
@@ -0,0 +1,5 @@
+# Sweden - Boden/Skogså
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bograngen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bograngen
new file mode 100755
index 00000000..0ae4656a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bograngen
@@ -0,0 +1,5 @@
+# Sweden - Bograngen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollebygd b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollebygd
new file mode 100755
index 00000000..80606617
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollebygd
@@ -0,0 +1,36 @@
+# Sweden - Bollebygd
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollnas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollnas
new file mode 100755
index 00000000..63f56b56
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollnas
@@ -0,0 +1,63 @@
+# Sweden - Bollnäs
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bonhamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bonhamn
new file mode 100755
index 00000000..07e6d844
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bonhamn
@@ -0,0 +1,5 @@
+# Sweden - Bönhamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Dalsjofors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Dalsjofors
new file mode 100755
index 00000000..8ae4b9de
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Dalsjofors
@@ -0,0 +1,35 @@
+# Sweden - Borås/Dalsjöfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Sjobo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Sjobo
new file mode 100755
index 00000000..f2e80f1b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Sjobo
@@ -0,0 +1,35 @@
+# Sweden - Borås/Sjöbo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgafjall b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgafjall
new file mode 100755
index 00000000..68e72a39
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgafjall
@@ -0,0 +1,5 @@
+# Sweden - Borgafjäll
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgholm_Ramsattra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgholm_Ramsattra
new file mode 100755
index 00000000..04df0024
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgholm_Ramsattra
@@ -0,0 +1,31 @@
+# Sweden - Borgholm/Ramsättra
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgsjobyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgsjobyn
new file mode 100755
index 00000000..cd55d97e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgsjobyn
@@ -0,0 +1,5 @@
+# Sweden - Borgsjöbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borkan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borkan
new file mode 100755
index 00000000..efeba30e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borkan
@@ -0,0 +1,5 @@
+# Sweden - Borkan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Idkerberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Idkerberget
new file mode 100755
index 00000000..b678ee95
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Idkerberget
@@ -0,0 +1,63 @@
+# Sweden - Borlänge/Idkerberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Nygardarna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Nygardarna
new file mode 100755
index 00000000..393e729c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Nygardarna
@@ -0,0 +1,49 @@
+# Sweden - Borlänge/Nygårdarna
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bortansbyn_Bortan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bortansbyn_Bortan
new file mode 100755
index 00000000..4c0f263c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bortansbyn_Bortan
@@ -0,0 +1,5 @@
+# Sweden - Bortansbyn/Bortan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bosebyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bosebyn
new file mode 100755
index 00000000..edb7c4e9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bosebyn
@@ -0,0 +1,5 @@
+# Sweden - Bosebyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Botsmark b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Botsmark
new file mode 100755
index 00000000..ca257a17
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Botsmark
@@ -0,0 +1,5 @@
+# Sweden - Botsmark
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bottnaryd_Ryd b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bottnaryd_Ryd
new file mode 100755
index 00000000..a29e54f5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bottnaryd_Ryd
@@ -0,0 +1,13 @@
+# Sweden - Bottnaryd/Ryd
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredaker b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredaker
new file mode 100755
index 00000000..342744a4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredaker
@@ -0,0 +1,5 @@
+# Sweden - Bredåker
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Kubbe b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Kubbe
new file mode 100755
index 00000000..1038e206
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Kubbe
@@ -0,0 +1,5 @@
+# Sweden - Bredbyn/Kubbe
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Vasterfannbyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Vasterfannbyn
new file mode 100755
index 00000000..2abb1ad3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Vasterfannbyn
@@ -0,0 +1,5 @@
+# Sweden - Bredbyn Västerfannbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredsjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredsjon
new file mode 100755
index 00000000..c6b4e7e8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredsjon
@@ -0,0 +1,5 @@
+# Sweden - Bredsjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bromsebro b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bromsebro
new file mode 100755
index 00000000..48e81751
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bromsebro
@@ -0,0 +1,35 @@
+# Sweden - Brömsebro
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bruzaholm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bruzaholm
new file mode 100755
index 00000000..45caddd0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bruzaholm
@@ -0,0 +1,13 @@
+# Sweden - Bruzaholm
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bydalen_Hovdehogen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bydalen_Hovdehogen
new file mode 100755
index 00000000..dcec415f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bydalen_Hovdehogen
@@ -0,0 +1,5 @@
+# Sweden - Bydalen/Hovdehögen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdetrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdetrask
new file mode 100755
index 00000000..17661620
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdetrask
@@ -0,0 +1,5 @@
+# Sweden - Bygdeträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdsiljum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdsiljum
new file mode 100755
index 00000000..2a7eb034
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdsiljum
@@ -0,0 +1,5 @@
+# Sweden - Bygdsiljum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Byxelkrok b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Byxelkrok
new file mode 100755
index 00000000..abff541f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Byxelkrok
@@ -0,0 +1,25 @@
+# Sweden - Byxelkrok
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dadran b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dadran
new file mode 100755
index 00000000..c8eb9a06
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dadran
@@ -0,0 +1,5 @@
+# Sweden - DÃ¥dran
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dal
new file mode 100755
index 00000000..f33ab2e8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dal
@@ -0,0 +1,5 @@
+# Sweden - Dal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalfors
new file mode 100755
index 00000000..57ae1d3c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalfors
@@ -0,0 +1,13 @@
+# Sweden - Dalfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dals_Langed b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dals_Langed
new file mode 100755
index 00000000..473733df
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dals_Langed
@@ -0,0 +1,5 @@
+# Sweden - Dals LÃ¥nged
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalstuga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalstuga
new file mode 100755
index 00000000..328496ac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalstuga
@@ -0,0 +1,13 @@
+# Sweden - Dalstuga
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degeberga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degeberga
new file mode 100755
index 00000000..a3518f74
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degeberga
@@ -0,0 +1,5 @@
+# Sweden - Degeberga
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degerfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degerfors
new file mode 100755
index 00000000..b2f65726
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degerfors
@@ -0,0 +1,35 @@
+# Sweden - Degerfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary
new file mode 100755
index 00000000..e62500ac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary
@@ -0,0 +1,13 @@
+# Sweden - Delary
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary_Kolaboda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary_Kolaboda
new file mode 100755
index 00000000..362df263
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary_Kolaboda
@@ -0,0 +1,5 @@
+# Sweden - Delary/Kölaboda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Djura b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Djura
new file mode 100755
index 00000000..020a4d4d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Djura
@@ -0,0 +1,13 @@
+# Sweden - Djura
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dorotea b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dorotea
new file mode 100755
index 00000000..7b5aaca4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dorotea
@@ -0,0 +1,5 @@
+# Sweden - Dorotea
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Drevdagen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Drevdagen
new file mode 100755
index 00000000..e2c9da33
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Drevdagen
@@ -0,0 +1,13 @@
+# Sweden - Drevdagen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duved b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duved
new file mode 100755
index 00000000..dfb39dad
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duved
@@ -0,0 +1,5 @@
+# Sweden - Duved
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas
new file mode 100755
index 00000000..33aaf974
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas
@@ -0,0 +1,13 @@
+# Sweden - Duvnäs
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas_Basna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas_Basna
new file mode 100755
index 00000000..de5ec552
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas_Basna
@@ -0,0 +1,13 @@
+# Sweden - Duvnäs/Bäsna
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edane b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edane
new file mode 100755
index 00000000..c168681a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edane
@@ -0,0 +1,5 @@
+# Sweden - Edane
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsbyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsbyn
new file mode 100755
index 00000000..f92440f1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsbyn
@@ -0,0 +1,13 @@
+# Sweden - Edsbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsele b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsele
new file mode 100755
index 00000000..c7df3b8f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsele
@@ -0,0 +1,5 @@
+# Sweden - Edsele
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsleskog_Hogheden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsleskog_Hogheden
new file mode 100755
index 00000000..3df7f0dd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsleskog_Hogheden
@@ -0,0 +1,5 @@
+# Sweden - Edsleskog/Högheden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Eksharad_Ekesberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Eksharad_Ekesberget
new file mode 100755
index 00000000..6daa2d5e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Eksharad_Ekesberget
@@ -0,0 +1,5 @@
+# Sweden - Ekshärad Ekesberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ellos b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ellos
new file mode 100755
index 00000000..ba838496
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ellos
@@ -0,0 +1,5 @@
+# Sweden - Ellös
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Emmaboda_Balshult b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Emmaboda_Balshult
new file mode 100755
index 00000000..61d117bd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Emmaboda_Balshult
@@ -0,0 +1,36 @@
+# Sweden - Emmaboda/Bälshult
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enafors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enafors
new file mode 100755
index 00000000..5e2089a9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enafors
@@ -0,0 +1,5 @@
+# Sweden - Enafors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enviken b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enviken
new file mode 100755
index 00000000..99367185
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enviken
@@ -0,0 +1,36 @@
+# Sweden - Enviken
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Erikslund_Bergasen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Erikslund_Bergasen
new file mode 100755
index 00000000..6b1622c2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Erikslund_Bergasen
@@ -0,0 +1,5 @@
+# Sweden - Erikslund/Bergåsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta
new file mode 100755
index 00000000..3201b34b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta
@@ -0,0 +1,25 @@
+# Sweden - Fagersta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta_Jattasen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta_Jattasen
new file mode 100755
index 00000000..de93d291
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta_Jattasen
@@ -0,0 +1,35 @@
+# Sweden - Fagersta Jättåsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falerum_Centrum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falerum_Centrum
new file mode 100755
index 00000000..716f262b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falerum_Centrum
@@ -0,0 +1,13 @@
+# Sweden - Falerum/Centrum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falkenberg_Ringsegard b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falkenberg_Ringsegard
new file mode 100755
index 00000000..709dbade
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falkenberg_Ringsegard
@@ -0,0 +1,5 @@
+# Sweden - Falkenberg/Ringsegård
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faltrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faltrask
new file mode 100755
index 00000000..93bcda1a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faltrask
@@ -0,0 +1,5 @@
+# Sweden - Falträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falun_Lovberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falun_Lovberget
new file mode 100755
index 00000000..792bcb77
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falun_Lovberget
@@ -0,0 +1,36 @@
+# Sweden - Falun/Lövberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farila b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farila
new file mode 100755
index 00000000..ead51637
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farila
@@ -0,0 +1,13 @@
+# Sweden - Färila
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farjestaden_Algutsrum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farjestaden_Algutsrum
new file mode 100755
index 00000000..e45a1da0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farjestaden_Algutsrum
@@ -0,0 +1,35 @@
+# Sweden - Färjestaden/Algutsrum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkerstrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkerstrask
new file mode 100755
index 00000000..f3f2652f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkerstrask
@@ -0,0 +1,25 @@
+# Sweden - Fårö/Ajkersträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkestrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkestrask
new file mode 100755
index 00000000..5e36835c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkestrask
@@ -0,0 +1,30 @@
+# Sweden - Fårö/Ajkesträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farosund_Bunge b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farosund_Bunge
new file mode 100755
index 00000000..bb0dcb12
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farosund_Bunge
@@ -0,0 +1,31 @@
+# Sweden - Fårösund/Bunge
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fengersfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fengersfors
new file mode 100755
index 00000000..94eeca2e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fengersfors
@@ -0,0 +1,5 @@
+# Sweden - Fengersfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Filipstad_Klockarhojden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Filipstad_Klockarhojden
new file mode 100755
index 00000000..c3674bb1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Filipstad_Klockarhojden
@@ -0,0 +1,36 @@
+# Sweden - Filipstad/Klockarhöjden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Finnveden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Finnveden
new file mode 100755
index 00000000..1fa0dbfc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Finnveden
@@ -0,0 +1,36 @@
+# Sweden - Finnveden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjal
new file mode 100755
index 00000000..600d9916
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjal
@@ -0,0 +1,5 @@
+# Sweden - Fjäl
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjallsta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjallsta
new file mode 100755
index 00000000..afc99cc3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjallsta
@@ -0,0 +1,5 @@
+# Sweden - Fjällsta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flarke b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flarke
new file mode 100755
index 00000000..2e0d9eaa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flarke
@@ -0,0 +1,5 @@
+# Sweden - Flärke
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Floda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Floda
new file mode 100755
index 00000000..af4e6296
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Floda
@@ -0,0 +1,5 @@
+# Sweden - Floda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flurkmark b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flurkmark
new file mode 100755
index 00000000..cedba80f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flurkmark
@@ -0,0 +1,5 @@
+# Sweden - Flurkmark
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyggsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyggsjo
new file mode 100755
index 00000000..bcec030b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyggsjo
@@ -0,0 +1,5 @@
+# Sweden - Flyggsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyn
new file mode 100755
index 00000000..59b8aee8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyn
@@ -0,0 +1,5 @@
+# Sweden - Flyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Folsbyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Folsbyn
new file mode 100755
index 00000000..9b70007d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Folsbyn
@@ -0,0 +1,5 @@
+# Sweden - Fölsbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsed b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsed
new file mode 100755
index 00000000..49813252
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsed
@@ -0,0 +1,5 @@
+# Sweden - Forsed
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo
new file mode 100755
index 00000000..560bafa4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo
@@ -0,0 +1,5 @@
+# Sweden - Forsmo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo_Yttersel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo_Yttersel
new file mode 100755
index 00000000..86681c62
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo_Yttersel
@@ -0,0 +1,5 @@
+# Sweden - Forsmo/Yttersel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsnaset b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsnaset
new file mode 100755
index 00000000..8127217b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsnaset
@@ -0,0 +1,5 @@
+# Sweden - Forsnäset
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Frankrikegarden_Frankrike b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Frankrikegarden_Frankrike
new file mode 100755
index 00000000..8a829885
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Frankrikegarden_Frankrike
@@ -0,0 +1,5 @@
+# Sweden - Frankrikegården/Frankrike
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fransta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fransta
new file mode 100755
index 00000000..ac86ede5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fransta
@@ -0,0 +1,5 @@
+# Sweden - Fränsta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredrika b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredrika
new file mode 100755
index 00000000..76230d19
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredrika
@@ -0,0 +1,5 @@
+# Sweden - Fredrika
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredriksberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredriksberg
new file mode 100755
index 00000000..038defe3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredriksberg
@@ -0,0 +1,13 @@
+# Sweden - Fredriksberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredros b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredros
new file mode 100755
index 00000000..2013d861
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredros
@@ -0,0 +1,5 @@
+# Sweden - Fredros
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fritsla b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fritsla
new file mode 100755
index 00000000..124e7631
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fritsla
@@ -0,0 +1,13 @@
+# Sweden - Fritsla
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fullsjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fullsjon
new file mode 100755
index 00000000..f57739d4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fullsjon
@@ -0,0 +1,5 @@
+# Sweden - Fullsjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Funasdalsberge b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Funasdalsberge
new file mode 100755
index 00000000..b24ce5cf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Funasdalsberge
@@ -0,0 +1,35 @@
+# Sweden - Funäsdalen Funäsdalsberge
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Telestation b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Telestation
new file mode 100755
index 00000000..0cff0620
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Telestation
@@ -0,0 +1,5 @@
+# Sweden - Funäsdalen/Telestation
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Furudal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Furudal
new file mode 100755
index 00000000..92d0817c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Furudal
@@ -0,0 +1,13 @@
+# Sweden - Furudal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gaddede b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gaddede
new file mode 100755
index 00000000..31183b55
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gaddede
@@ -0,0 +1,5 @@
+# Sweden - Gäddede
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallivare b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallivare
new file mode 100755
index 00000000..1f98a967
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallivare
@@ -0,0 +1,36 @@
+# Sweden - Gällivare
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallsatter b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallsatter
new file mode 100755
index 00000000..fce54244
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallsatter
@@ -0,0 +1,5 @@
+# Sweden - Gallsätter
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gardikfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gardikfors
new file mode 100755
index 00000000..5c97a95a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gardikfors
@@ -0,0 +1,5 @@
+# Sweden - Gardikfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gargnas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gargnas
new file mode 100755
index 00000000..5ef79a1f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gargnas
@@ -0,0 +1,5 @@
+# Sweden - Gargnäs
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Garpenberg_Kuppgarden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Garpenberg_Kuppgarden
new file mode 100755
index 00000000..9dc790e7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Garpenberg_Kuppgarden
@@ -0,0 +1,13 @@
+# Sweden - Garpenberg/Kuppgården
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gavle_Skogmur b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gavle_Skogmur
new file mode 100755
index 00000000..ae8ac75a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gavle_Skogmur
@@ -0,0 +1,36 @@
+# Sweden - Gävle/Skogmur
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gillhov b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gillhov
new file mode 100755
index 00000000..15415f19
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gillhov
@@ -0,0 +1,5 @@
+# Sweden - Gillhov
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Glimakra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Glimakra
new file mode 100755
index 00000000..5f027cc1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Glimakra
@@ -0,0 +1,5 @@
+# Sweden - Glimåkra
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnarp b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnarp
new file mode 100755
index 00000000..04b461f4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnarp
@@ -0,0 +1,13 @@
+# Sweden - Gnarp
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnesta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnesta
new file mode 100755
index 00000000..5baf70e3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnesta
@@ -0,0 +1,25 @@
+# Sweden - Gnesta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnosjo_Marieholm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnosjo_Marieholm
new file mode 100755
index 00000000..654c5ac4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnosjo_Marieholm
@@ -0,0 +1,13 @@
+# Sweden - Gnosjö/Marieholm
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gordalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gordalen
new file mode 100755
index 00000000..e47263f7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gordalen
@@ -0,0 +1,5 @@
+# Sweden - Gördalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Brudaremossen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Brudaremossen
new file mode 100755
index 00000000..51d7b654
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Brudaremossen
@@ -0,0 +1,36 @@
+# Sweden - Göteborg/Brudaremossen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Slattadamm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Slattadamm
new file mode 100755
index 00000000..4f499e94
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Slattadamm
@@ -0,0 +1,31 @@
+# Sweden - Göteborg/Slättadamm
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Graninge b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Graninge
new file mode 100755
index 00000000..191e14da
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Graninge
@@ -0,0 +1,5 @@
+# Sweden - Graninge
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmark b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmark
new file mode 100755
index 00000000..3c0cd6fa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmark
@@ -0,0 +1,5 @@
+# Sweden - Gräsmark
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmyr b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmyr
new file mode 100755
index 00000000..1767f526
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmyr
@@ -0,0 +1,5 @@
+# Sweden - Gräsmyr
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grebbestad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grebbestad
new file mode 100755
index 00000000..41b6ba82
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grebbestad
@@ -0,0 +1,35 @@
+# Sweden - Grebbestad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grevie b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grevie
new file mode 100755
index 00000000..4c2a98a4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grevie
@@ -0,0 +1,5 @@
+# Sweden - Grevie
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grovelsjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grovelsjon
new file mode 100755
index 00000000..04f7916e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grovelsjon
@@ -0,0 +1,5 @@
+# Sweden - Grövelsjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grums b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grums
new file mode 100755
index 00000000..d7e99764
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grums
@@ -0,0 +1,5 @@
+# Sweden - Grums
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg
new file mode 100755
index 00000000..050f8643
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg
@@ -0,0 +1,5 @@
+# Sweden - Guliksberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg_Rodvattnet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg_Rodvattnet
new file mode 100755
index 00000000..c55b80ad
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg_Rodvattnet
@@ -0,0 +1,5 @@
+# Sweden - Guliksberg/Rödvattnet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gullbrandstorp b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gullbrandstorp
new file mode 100755
index 00000000..f9171340
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gullbrandstorp
@@ -0,0 +1,13 @@
+# Sweden - Gullbrandstorp
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gumhojden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gumhojden
new file mode 100755
index 00000000..73228201
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gumhojden
@@ -0,0 +1,5 @@
+# Sweden - Gumhöjden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarn_Sorsjoliden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarn_Sorsjoliden
new file mode 100755
index 00000000..5aee02fb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarn_Sorsjoliden
@@ -0,0 +1,35 @@
+# Sweden - Gunnarn/Sörsjöliden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbo
new file mode 100755
index 00000000..e951cde4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbo
@@ -0,0 +1,13 @@
+# Sweden - Gunnarsbo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbyn
new file mode 100755
index 00000000..1625739a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbyn
@@ -0,0 +1,5 @@
+# Sweden - Gunnarsbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarskog b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarskog
new file mode 100755
index 00000000..9600c928
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarskog
@@ -0,0 +1,5 @@
+# Sweden - Gunnarskog
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gusum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gusum
new file mode 100755
index 00000000..faeeec63
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gusum
@@ -0,0 +1,13 @@
+# Sweden - Gusum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hadanberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hadanberg
new file mode 100755
index 00000000..8a348876
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hadanberg
@@ -0,0 +1,5 @@
+# Sweden - Hädanberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hagfors_Varmullsasen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hagfors_Varmullsasen
new file mode 100755
index 00000000..7b8f932f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hagfors_Varmullsasen
@@ -0,0 +1,36 @@
+# Sweden - Hagfors/Värmullsåsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hakafot b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hakafot
new file mode 100755
index 00000000..1f1b3929
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hakafot
@@ -0,0 +1,5 @@
+# Sweden - HÃ¥kafot
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halaforsen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halaforsen
new file mode 100755
index 00000000..f9ab849c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halaforsen
@@ -0,0 +1,5 @@
+# Sweden - HÃ¥laforsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Haljeboda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Haljeboda
new file mode 100755
index 00000000..d56bb1dc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Haljeboda
@@ -0,0 +1,5 @@
+# Sweden - Häljeboda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallan
new file mode 100755
index 00000000..316266cd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallan
@@ -0,0 +1,5 @@
+# Sweden - HÃ¥llan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallaryd b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallaryd
new file mode 100755
index 00000000..d3882277
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallaryd
@@ -0,0 +1,13 @@
+# Sweden - Hallaryd
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallastrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallastrom
new file mode 100755
index 00000000..3e07de10
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallastrom
@@ -0,0 +1,5 @@
+# Sweden - Hällaström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallbo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallbo
new file mode 100755
index 00000000..68e60f48
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallbo
@@ -0,0 +1,13 @@
+# Sweden - Hällbo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halle b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halle
new file mode 100755
index 00000000..82192fda
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halle
@@ -0,0 +1,5 @@
+# Sweden - Hälle
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halleviksstrand b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halleviksstrand
new file mode 100755
index 00000000..ce125283
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halleviksstrand
@@ -0,0 +1,5 @@
+# Sweden - Hälleviksstrand
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallsjo
new file mode 100755
index 00000000..8ac66460
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallsjo
@@ -0,0 +1,5 @@
+# Sweden - Hällsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Hamnen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Hamnen
new file mode 100755
index 00000000..344e7125
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Hamnen
@@ -0,0 +1,31 @@
+# Sweden - Halmstad/Hamnen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Oskarstrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Oskarstrom
new file mode 100755
index 00000000..bd8b06bc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Oskarstrom
@@ -0,0 +1,36 @@
+# Sweden - Halmstad/Oskarström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hamburgsund b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hamburgsund
new file mode 100755
index 00000000..09aca5f0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hamburgsund
@@ -0,0 +1,5 @@
+# Sweden - Hamburgsund
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harads b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harads
new file mode 100755
index 00000000..8acae9ab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harads
@@ -0,0 +1,5 @@
+# Sweden - Harads
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harnosand_Harnon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harnosand_Harnon
new file mode 100755
index 00000000..6511fea2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harnosand_Harnon
@@ -0,0 +1,36 @@
+# Sweden - Härnösand/Härnön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harrsjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harrsjon
new file mode 100755
index 00000000..597d9fb5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harrsjon
@@ -0,0 +1,5 @@
+# Sweden - Harrsjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hassela b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hassela
new file mode 100755
index 00000000..d9ee98ae
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hassela
@@ -0,0 +1,13 @@
+# Sweden - Hassela
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Havdhem b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Havdhem
new file mode 100755
index 00000000..ba8f198f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Havdhem
@@ -0,0 +1,61 @@
+# Sweden - Havdhem
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hede b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hede
new file mode 100755
index 00000000..e024aa6f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hede
@@ -0,0 +1,35 @@
+# Sweden - Hede
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedemora b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedemora
new file mode 100755
index 00000000..b4c4e55f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedemora
@@ -0,0 +1,6 @@
+# Sweden - Hedemora
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedenaset b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedenaset
new file mode 100755
index 00000000..c33e6ad0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedenaset
@@ -0,0 +1,5 @@
+# Sweden - Hedenäset
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helgum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helgum
new file mode 100755
index 00000000..57f82a9b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helgum
@@ -0,0 +1,5 @@
+# Sweden - Helgum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helsingborg_Olympia b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helsingborg_Olympia
new file mode 100755
index 00000000..224840a9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helsingborg_Olympia
@@ -0,0 +1,36 @@
+# Sweden - Helsingborg/Olympia
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemavan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemavan
new file mode 100755
index 00000000..1af34be2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemavan
@@ -0,0 +1,35 @@
+# Sweden - Hemavan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemson b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemson
new file mode 100755
index 00000000..6a6e0016
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemson
@@ -0,0 +1,5 @@
+# Sweden - Hemsön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Henan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Henan
new file mode 100755
index 00000000..2fab24cc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Henan
@@ -0,0 +1,5 @@
+# Sweden - Henån
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hennan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hennan
new file mode 100755
index 00000000..37e78c7b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hennan
@@ -0,0 +1,13 @@
+# Sweden - Hennan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hestra_Aspas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hestra_Aspas
new file mode 100755
index 00000000..f3a554aa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hestra_Aspas
@@ -0,0 +1,13 @@
+# Sweden - Hestra/Äspås
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hjo_Grevback b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hjo_Grevback
new file mode 100755
index 00000000..5063c1fe
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hjo_Grevback
@@ -0,0 +1,13 @@
+# Sweden - Hjo/Grevbäck
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hofors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hofors
new file mode 100755
index 00000000..a476eb8a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hofors
@@ -0,0 +1,36 @@
+# Sweden - Hofors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogfors
new file mode 100755
index 00000000..197423f5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogfors
@@ -0,0 +1,13 @@
+# Sweden - Högfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoglunda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoglunda
new file mode 100755
index 00000000..86656f58
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoglunda
@@ -0,0 +1,5 @@
+# Sweden - Höglunda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogsby_Virstad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogsby_Virstad
new file mode 100755
index 00000000..27e37685
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogsby_Virstad
@@ -0,0 +1,36 @@
+# Sweden - Högsby/Virstad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogvalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogvalen
new file mode 100755
index 00000000..f90e01ea
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogvalen
@@ -0,0 +1,5 @@
+# Sweden - Högvålen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holjes b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holjes
new file mode 100755
index 00000000..feefa840
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holjes
@@ -0,0 +1,5 @@
+# Sweden - Höljes
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hollviken_Stora_Hammar b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hollviken_Stora_Hammar
new file mode 100755
index 00000000..41de99d2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hollviken_Stora_Hammar
@@ -0,0 +1,30 @@
+# Sweden - Höllviken/Stora Hammar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holsbybrunn_Holsbyholm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holsbybrunn_Holsbyholm
new file mode 100755
index 00000000..d1800510
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holsbybrunn_Holsbyholm
@@ -0,0 +1,13 @@
+# Sweden - Holsbybrunn/Holsbyholm
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horby_Sallerup b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horby_Sallerup
new file mode 100755
index 00000000..7363cbbd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horby_Sallerup
@@ -0,0 +1,36 @@
+# Sweden - Hörby/Sallerup
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horken b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horken
new file mode 100755
index 00000000..d58ee6d8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horken
@@ -0,0 +1,13 @@
+# Sweden - Hörken
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hornon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hornon
new file mode 100755
index 00000000..4892c1dd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hornon
@@ -0,0 +1,5 @@
+# Sweden - Hornön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hotagen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hotagen
new file mode 100755
index 00000000..631a624d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hotagen
@@ -0,0 +1,5 @@
+# Sweden - Hotagen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoting b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoting
new file mode 100755
index 00000000..60387c63
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoting
@@ -0,0 +1,5 @@
+# Sweden - Hoting
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hovfjallet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hovfjallet
new file mode 100755
index 00000000..3d379475
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hovfjallet
@@ -0,0 +1,5 @@
+# Sweden - Hovfjället
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Forsa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Forsa
new file mode 100755
index 00000000..aecf6d50
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Forsa
@@ -0,0 +1,36 @@
+# Sweden - Hudiksvall/Forsa
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Galgberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Galgberget
new file mode 100755
index 00000000..836f3c56
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Galgberget
@@ -0,0 +1,36 @@
+# Sweden - Hudiksvall/Galgberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hummelholm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hummelholm
new file mode 100755
index 00000000..88638ad1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hummelholm
@@ -0,0 +1,5 @@
+# Sweden - Hummelholm
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hunnebostrand b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hunnebostrand
new file mode 100755
index 00000000..54918df6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hunnebostrand
@@ -0,0 +1,5 @@
+# Sweden - Hunnebostrand
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Huskvarna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Huskvarna
new file mode 100755
index 00000000..eb500ab9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Huskvarna
@@ -0,0 +1,13 @@
+# Sweden - Huskvarna
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Husum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Husum
new file mode 100755
index 00000000..d6678a47
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Husum
@@ -0,0 +1,5 @@
+# Sweden - Husum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idivuoma b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idivuoma
new file mode 100755
index 00000000..d8a3b424
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idivuoma
@@ -0,0 +1,5 @@
+# Sweden - Idivuoma
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idre b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idre
new file mode 100755
index 00000000..341ff8dc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idre
@@ -0,0 +1,36 @@
+# Sweden - Idre
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingatorp b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingatorp
new file mode 100755
index 00000000..2b118884
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingatorp
@@ -0,0 +1,13 @@
+# Sweden - Ingatorp
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingvallsbenning b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingvallsbenning
new file mode 100755
index 00000000..391cb145
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingvallsbenning
@@ -0,0 +1,6 @@
+# Sweden - Ingvallsbenning
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik
new file mode 100755
index 00000000..9fa49d93
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik
@@ -0,0 +1,25 @@
+# Sweden - Irevik
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik_3195 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik_3195
new file mode 100755
index 00000000..694b756f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik_3195
@@ -0,0 +1,30 @@
+# Sweden - Irevik/3195
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ivarsbyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ivarsbyn
new file mode 100755
index 00000000..9f5c5558
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ivarsbyn
@@ -0,0 +1,5 @@
+# Sweden - Ivarsbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jakkvik_Frakenmyren b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jakkvik_Frakenmyren
new file mode 100755
index 00000000..ca2cea1f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jakkvik_Frakenmyren
@@ -0,0 +1,5 @@
+# Sweden - Jäkkvik Fräkenmyren
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jamjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jamjo
new file mode 100755
index 00000000..dd1446f0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jamjo
@@ -0,0 +1,25 @@
+# Sweden - Jämjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarkvissle b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarkvissle
new file mode 100755
index 00000000..7cfbaeba
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarkvissle
@@ -0,0 +1,5 @@
+# Sweden - Järkvissle
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarnforsen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarnforsen
new file mode 100755
index 00000000..d163be15
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarnforsen
@@ -0,0 +1,13 @@
+# Sweden - Järnforsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarpen_Mellangardsberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarpen_Mellangardsberget
new file mode 100755
index 00000000..d4b47c57
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarpen_Mellangardsberget
@@ -0,0 +1,5 @@
+# Sweden - Järpen Mellangårdsberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvso b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvso
new file mode 100755
index 00000000..d5dcf62f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvso
@@ -0,0 +1,13 @@
+# Sweden - Järvsö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvtrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvtrask
new file mode 100755
index 00000000..4e46510b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvtrask
@@ -0,0 +1,5 @@
+# Sweden - Järvträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Joestrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Joestrom
new file mode 100755
index 00000000..9e1bc4a0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Joestrom
@@ -0,0 +1,5 @@
+# Sweden - Joeström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Nyborg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Nyborg
new file mode 100755
index 00000000..4f12cf2e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Nyborg
@@ -0,0 +1,35 @@
+# Sweden - Jokkmokk/Nyborg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Tjalmejaure b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Tjalmejaure
new file mode 100755
index 00000000..364ba6da
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Tjalmejaure
@@ -0,0 +1,36 @@
+# Sweden - Jokkmokk/Tjalmejaure
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jonkoping_Bondberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jonkoping_Bondberget
new file mode 100755
index 00000000..f8ca1d45
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jonkoping_Bondberget
@@ -0,0 +1,36 @@
+# Sweden - Jönköping/Bondberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jormvattnet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jormvattnet
new file mode 100755
index 00000000..0a9b4583
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jormvattnet
@@ -0,0 +1,5 @@
+# Sweden - Jormvattnet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jude b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jude
new file mode 100755
index 00000000..f0a4dfef
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jude
@@ -0,0 +1,5 @@
+# Sweden - Jude
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Hamptjarnsberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Hamptjarnsberget
new file mode 100755
index 00000000..a031b719
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Hamptjarnsberget
@@ -0,0 +1,5 @@
+# Sweden - Junsele Hamptjärnsberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Vallen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Vallen
new file mode 100755
index 00000000..af1fe14a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Vallen
@@ -0,0 +1,5 @@
+# Sweden - Junsele/Vallen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kagerod_Mollarp b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kagerod_Mollarp
new file mode 100755
index 00000000..665b1956
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kagerod_Mollarp
@@ -0,0 +1,5 @@
+# Sweden - Kågeröd/Möllarp
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalarne b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalarne
new file mode 100755
index 00000000..3ed4c709
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalarne
@@ -0,0 +1,5 @@
+# Sweden - Kälarne
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalen
new file mode 100755
index 00000000..c26d7762
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalen
@@ -0,0 +1,5 @@
+# Sweden - Kälen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalix b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalix
new file mode 100755
index 00000000..fe4e1d2f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalix
@@ -0,0 +1,36 @@
+# Sweden - Kalix
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallered b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallered
new file mode 100755
index 00000000..9bad0365
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallered
@@ -0,0 +1,5 @@
+# Sweden - KÃ¥llered
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallinge_Kalleberga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallinge_Kalleberga
new file mode 100755
index 00000000..4079c6b0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallinge_Kalleberga
@@ -0,0 +1,35 @@
+# Sweden - Kallinge/Kalleberga
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallror b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallror
new file mode 100755
index 00000000..9c05f41c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallror
@@ -0,0 +1,5 @@
+# Sweden - Kallrör
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kampersvik_Ekeberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kampersvik_Ekeberget
new file mode 100755
index 00000000..37394cab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kampersvik_Ekeberget
@@ -0,0 +1,5 @@
+# Sweden - Kämpersvik/Ekeberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karbole b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karbole
new file mode 100755
index 00000000..f7340cc5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karbole
@@ -0,0 +1,13 @@
+# Sweden - Kårböle
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karesuando b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karesuando
new file mode 100755
index 00000000..ac8e9346
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karesuando
@@ -0,0 +1,5 @@
+# Sweden - Karesuando
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlanda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlanda
new file mode 100755
index 00000000..3c455a1c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlanda
@@ -0,0 +1,5 @@
+# Sweden - Karlanda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlsborg_Vaberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlsborg_Vaberget
new file mode 100755
index 00000000..dc1a6af8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlsborg_Vaberget
@@ -0,0 +1,13 @@
+# Sweden - Karlsborg/Vaberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlshamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlshamn
new file mode 100755
index 00000000..948e5d0e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlshamn
@@ -0,0 +1,36 @@
+# Sweden - Karlshamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Jamjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Jamjo
new file mode 100755
index 00000000..d7c2bf94
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Jamjo
@@ -0,0 +1,35 @@
+# Sweden - Karlskrona/Jämjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Vamo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Vamo
new file mode 100755
index 00000000..56195f49
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Vamo
@@ -0,0 +1,36 @@
+# Sweden - Karlskrona/Vämö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlstad_Sormon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlstad_Sormon
new file mode 100755
index 00000000..0173e42f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlstad_Sormon
@@ -0,0 +1,36 @@
+# Sweden - Karlstad Sörmon
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kasta_Ringkallen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kasta_Ringkallen
new file mode 100755
index 00000000..6288d414
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kasta_Ringkallen
@@ -0,0 +1,5 @@
+# Sweden - KÃ¥sta Ringkallen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxas
new file mode 100755
index 00000000..e4e67c80
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxas
@@ -0,0 +1,5 @@
+# Sweden - Kaxås
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxholmen_Vistakulle b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxholmen_Vistakulle
new file mode 100755
index 00000000..e3f04e32
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxholmen_Vistakulle
@@ -0,0 +1,13 @@
+# Sweden - Kaxholmen/Vistakulle
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kinnastrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kinnastrom
new file mode 100755
index 00000000..a612d363
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kinnastrom
@@ -0,0 +1,13 @@
+# Sweden - Kinnaström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kiruna_Kirunavaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kiruna_Kirunavaara
new file mode 100755
index 00000000..91ee4631
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kiruna_Kirunavaara
@@ -0,0 +1,63 @@
+# Sweden - Kiruna/Kirunavaara
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kisa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kisa
new file mode 100755
index 00000000..590111de
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kisa
@@ -0,0 +1,70 @@
+# Sweden - Kisa
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klingsta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klingsta
new file mode 100755
index 00000000..41b96693
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klingsta
@@ -0,0 +1,5 @@
+# Sweden - Klingsta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klovsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klovsjo
new file mode 100755
index 00000000..2cbf2e48
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klovsjo
@@ -0,0 +1,5 @@
+# Sweden - Klövsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knared b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knared
new file mode 100755
index 00000000..04db854a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knared
@@ -0,0 +1,13 @@
+# Sweden - Knäred
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knavland b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knavland
new file mode 100755
index 00000000..9a092243
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knavland
@@ -0,0 +1,5 @@
+# Sweden - Knävland
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopmanholmen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopmanholmen
new file mode 100755
index 00000000..bbe55a60
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopmanholmen
@@ -0,0 +1,63 @@
+# Sweden - Köpmanholmen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopparberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopparberg
new file mode 100755
index 00000000..b684445d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopparberg
@@ -0,0 +1,35 @@
+# Sweden - Kopparberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Koppom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Koppom
new file mode 100755
index 00000000..e6001531
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Koppom
@@ -0,0 +1,35 @@
+# Sweden - Koppom
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Korstrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Korstrask
new file mode 100755
index 00000000..b854cc25
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Korstrask
@@ -0,0 +1,5 @@
+# Sweden - Korsträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kottsjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kottsjon
new file mode 100755
index 00000000..a3b0cde3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kottsjon
@@ -0,0 +1,5 @@
+# Sweden - Köttsjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kovland b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kovland
new file mode 100755
index 00000000..9f5d97cb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kovland
@@ -0,0 +1,5 @@
+# Sweden - Kovland
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Lugnvik b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Lugnvik
new file mode 100755
index 00000000..67bab9a7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Lugnvik
@@ -0,0 +1,36 @@
+# Sweden - Kramfors/Lugnvik
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Ostby b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Ostby
new file mode 100755
index 00000000..9cd0d78b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Ostby
@@ -0,0 +1,5 @@
+# Sweden - Kramfors/Östby
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krangede b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krangede
new file mode 100755
index 00000000..ac6ff0b9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krangede
@@ -0,0 +1,5 @@
+# Sweden - Krångede
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristineberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristineberg
new file mode 100755
index 00000000..f8c00a42
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristineberg
@@ -0,0 +1,5 @@
+# Sweden - Kristineberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristinehamn_Utsiktsberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristinehamn_Utsiktsberget
new file mode 100755
index 00000000..a4d53921
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristinehamn_Utsiktsberget
@@ -0,0 +1,36 @@
+# Sweden - Kristinehamn/Utsiktsberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krokstrand b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krokstrand
new file mode 100755
index 00000000..b999d341
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krokstrand
@@ -0,0 +1,5 @@
+# Sweden - Krokstrand
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kultsjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kultsjon
new file mode 100755
index 00000000..a79ca581
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kultsjon
@@ -0,0 +1,5 @@
+# Sweden - Kultsjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungalv b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungalv
new file mode 100755
index 00000000..ea51882f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungalv
@@ -0,0 +1,35 @@
+# Sweden - Kungälv
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsater b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsater
new file mode 100755
index 00000000..26026b62
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsater
@@ -0,0 +1,13 @@
+# Sweden - Kungsäter
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsbacka_Ojersbo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsbacka_Ojersbo
new file mode 100755
index 00000000..17fbda15
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsbacka_Ojersbo
@@ -0,0 +1,5 @@
+# Sweden - Kungsbacka/Öjersbo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_GI b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_GI
new file mode 100755
index 00000000..8d34e202
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_GI
@@ -0,0 +1,13 @@
+# Sweden - Kungsberget/GI
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_Gl b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_Gl
new file mode 100755
index 00000000..f3e5c2f5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_Gl
@@ -0,0 +1,5 @@
+# Sweden - Kungsberget/Gl
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungshamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungshamn
new file mode 100755
index 00000000..adb59893
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungshamn
@@ -0,0 +1,35 @@
+# Sweden - Kungshamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kurravaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kurravaara
new file mode 100755
index 00000000..06abf2ba
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kurravaara
@@ -0,0 +1,5 @@
+# Sweden - Kurravaara
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvarnsvedjan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvarnsvedjan
new file mode 100755
index 00000000..c2d9f6e8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvarnsvedjan
@@ -0,0 +1,5 @@
+# Sweden - Kvarnsvedjan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Arrevare b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Arrevare
new file mode 100755
index 00000000..b4606acc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Arrevare
@@ -0,0 +1,5 @@
+# Sweden - Kvikkjokk/Ã…rrevare
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Tavvevare b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Tavvevare
new file mode 100755
index 00000000..d15e9a54
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Tavvevare
@@ -0,0 +1,5 @@
+# Sweden - Kvikkjokk/Tavvevare
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kyrkesund b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kyrkesund
new file mode 100755
index 00000000..935a3009
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kyrkesund
@@ -0,0 +1,5 @@
+# Sweden - Kyrkesund
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lagfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lagfors
new file mode 100755
index 00000000..c4f530c3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lagfors
@@ -0,0 +1,5 @@
+# Sweden - Lagfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laggarberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laggarberg
new file mode 100755
index 00000000..0c96875d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laggarberg
@@ -0,0 +1,5 @@
+# Sweden - Laggarberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laisvall b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laisvall
new file mode 100755
index 00000000..36d1b0ab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laisvall
@@ -0,0 +1,5 @@
+# Sweden - Laisvall
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langa
new file mode 100755
index 00000000..f0835324
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langa
@@ -0,0 +1,5 @@
+# Sweden - Långå
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langsele b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langsele
new file mode 100755
index 00000000..15bddfc1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langsele
@@ -0,0 +1,5 @@
+# Sweden - LÃ¥ngsele
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan
new file mode 100755
index 00000000..158f8b10
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan
@@ -0,0 +1,13 @@
+# Sweden - LÃ¥ngshyttan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan_Engelsfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan_Engelsfors
new file mode 100755
index 00000000..420d18b5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan_Engelsfors
@@ -0,0 +1,6 @@
+# Sweden - LÃ¥ngshyttan/Engelsfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxsjo
new file mode 100755
index 00000000..655b28ac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxsjo
@@ -0,0 +1,5 @@
+# Sweden - Laxsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxviken b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxviken
new file mode 100755
index 00000000..4bd6bd98
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxviken
@@ -0,0 +1,5 @@
+# Sweden - Laxviken
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Asledsberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Asledsberget
new file mode 100755
index 00000000..f7a0d8a3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Asledsberget
@@ -0,0 +1,35 @@
+# Sweden - Leksand/Ã…sledsberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Karingberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Karingberget
new file mode 100755
index 00000000..431233b0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Karingberget
@@ -0,0 +1,13 @@
+# Sweden - Leksand/Käringberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lekvattnet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lekvattnet
new file mode 100755
index 00000000..e0529247
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lekvattnet
@@ -0,0 +1,5 @@
+# Sweden - Lekvattnet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lerdala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lerdala
new file mode 100755
index 00000000..3e9750f3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lerdala
@@ -0,0 +1,13 @@
+# Sweden - Lerdala
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lesjofors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lesjofors
new file mode 100755
index 00000000..47ec1048
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lesjofors
@@ -0,0 +1,35 @@
+# Sweden - Lesjöfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden
new file mode 100755
index 00000000..7e0e8449
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden
@@ -0,0 +1,5 @@
+# Sweden - Liden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden_Osterstrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden_Osterstrom
new file mode 100755
index 00000000..37120a1b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden_Osterstrom
@@ -0,0 +1,5 @@
+# Sweden - Liden/Österström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilla_Edet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilla_Edet
new file mode 100755
index 00000000..edaf9067
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilla_Edet
@@ -0,0 +1,35 @@
+# Sweden - Lilla Edet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillogda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillogda
new file mode 100755
index 00000000..8ceaea17
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillogda
@@ -0,0 +1,5 @@
+# Sweden - Lillögda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillpite_Bastaberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillpite_Bastaberget
new file mode 100755
index 00000000..a296c0c7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillpite_Bastaberget
@@ -0,0 +1,5 @@
+# Sweden - Lillpite Bastaberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilltjara_Digerberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilltjara_Digerberget
new file mode 100755
index 00000000..cd9197b3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilltjara_Digerberget
@@ -0,0 +1,13 @@
+# Sweden - Lilltjära/Digerberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Limedsforsen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Limedsforsen
new file mode 100755
index 00000000..64c4d25e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Limedsforsen
@@ -0,0 +1,13 @@
+# Sweden - Limedsforsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lindshammar_Ramkvilla b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lindshammar_Ramkvilla
new file mode 100755
index 00000000..e736d0dd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lindshammar_Ramkvilla
@@ -0,0 +1,13 @@
+# Sweden - Lindshammar/Ramkvilla
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linkoping_Vattentornet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linkoping_Vattentornet
new file mode 100755
index 00000000..ecc44e84
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linkoping_Vattentornet
@@ -0,0 +1,36 @@
+# Sweden - Linköping/Vattentornet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linsell b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linsell
new file mode 100755
index 00000000..679209bd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linsell
@@ -0,0 +1,5 @@
+# Sweden - Linsell
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lit b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lit
new file mode 100755
index 00000000..abe24ecf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lit
@@ -0,0 +1,5 @@
+# Sweden - Lit
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn
new file mode 100755
index 00000000..c256ce2a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn
@@ -0,0 +1,25 @@
+# Sweden - Ljugarn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn_3193 b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn_3193
new file mode 100755
index 00000000..d248ceca
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn_3193
@@ -0,0 +1,30 @@
+# Sweden - Ljugarn/3193
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungaverk b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungaverk
new file mode 100755
index 00000000..9b8144d9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungaverk
@@ -0,0 +1,5 @@
+# Sweden - Ljungaverk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungdalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungdalen
new file mode 100755
index 00000000..993efd06
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungdalen
@@ -0,0 +1,35 @@
+# Sweden - Ljungdalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljustorp b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljustorp
new file mode 100755
index 00000000..1444dc9c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljustorp
@@ -0,0 +1,5 @@
+# Sweden - Ljustorp
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljusvattnet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljusvattnet
new file mode 100755
index 00000000..25026caf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljusvattnet
@@ -0,0 +1,5 @@
+# Sweden - Ljusvattnet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loderups_Strandbad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loderups_Strandbad
new file mode 100755
index 00000000..a9b40730
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loderups_Strandbad
@@ -0,0 +1,5 @@
+# Sweden - Löderups Strandbad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loffstrand b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loffstrand
new file mode 100755
index 00000000..440ac0ab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loffstrand
@@ -0,0 +1,36 @@
+# Sweden - Loffstrand
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lofsdalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lofsdalen
new file mode 100755
index 00000000..dcae2304
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lofsdalen
@@ -0,0 +1,5 @@
+# Sweden - Lofsdalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Logdealv b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Logdealv
new file mode 100755
index 00000000..b1a7ac99
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Logdealv
@@ -0,0 +1,5 @@
+# Sweden - Lögdeälv
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lonneberga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lonneberga
new file mode 100755
index 00000000..29a8e8fb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lonneberga
@@ -0,0 +1,35 @@
+# Sweden - Lönneberga
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lorstrand b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lorstrand
new file mode 100755
index 00000000..dbbde4ae
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lorstrand
@@ -0,0 +1,13 @@
+# Sweden - Lörstrand
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lovanger b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lovanger
new file mode 100755
index 00000000..0e05df5f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lovanger
@@ -0,0 +1,5 @@
+# Sweden - Lövånger
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ludvika_Bjorkasen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ludvika_Bjorkasen
new file mode 100755
index 00000000..8512a0d5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ludvika_Bjorkasen
@@ -0,0 +1,36 @@
+# Sweden - Ludvika/Björkåsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lumsheden_Trekanten b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lumsheden_Trekanten
new file mode 100755
index 00000000..5b9e0b6b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lumsheden_Trekanten
@@ -0,0 +1,13 @@
+# Sweden - Lumsheden/Trekanten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lycksele_Knaften b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lycksele_Knaften
new file mode 100755
index 00000000..b5ec6dd0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lycksele_Knaften
@@ -0,0 +1,36 @@
+# Sweden - Lycksele/Knaften
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mahult b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mahult
new file mode 100755
index 00000000..d27311d6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mahult
@@ -0,0 +1,13 @@
+# Sweden - Mahult
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mala
new file mode 100755
index 00000000..96fce5a1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mala
@@ -0,0 +1,5 @@
+# Sweden - Malå
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malmo_Jagersro b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malmo_Jagersro
new file mode 100755
index 00000000..c8725c9f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malmo_Jagersro
@@ -0,0 +1,36 @@
+# Sweden - Malmö/Jägersro
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malung b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malung
new file mode 100755
index 00000000..4ea63616
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malung
@@ -0,0 +1,36 @@
+# Sweden - Malung
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Manserud b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Manserud
new file mode 100755
index 00000000..a9ee5b02
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Manserud
@@ -0,0 +1,5 @@
+# Sweden - MÃ¥nserud
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mardsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mardsjo
new file mode 100755
index 00000000..ddf67ba5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mardsjo
@@ -0,0 +1,5 @@
+# Sweden - Mårdsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mariannelund b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mariannelund
new file mode 100755
index 00000000..21b51000
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mariannelund
@@ -0,0 +1,6 @@
+# Sweden - Mariannelund
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Markaryd_Hualtet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Markaryd_Hualtet
new file mode 100755
index 00000000..453807e8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Markaryd_Hualtet
@@ -0,0 +1,49 @@
+# Sweden - Markaryd/Hualtet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matfors
new file mode 100755
index 00000000..4f0b82bc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matfors
@@ -0,0 +1,35 @@
+# Sweden - Matfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matsdal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matsdal
new file mode 100755
index 00000000..a06ec36f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matsdal
@@ -0,0 +1,5 @@
+# Sweden - Matsdal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Medstugan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Medstugan
new file mode 100755
index 00000000..2ca71944
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Medstugan
@@ -0,0 +1,5 @@
+# Sweden - Medstugan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mittadalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mittadalen
new file mode 100755
index 00000000..ddbc60ad
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mittadalen
@@ -0,0 +1,5 @@
+# Sweden - Mittådalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjallom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjallom
new file mode 100755
index 00000000..8f0ea291
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjallom
@@ -0,0 +1,35 @@
+# Sweden - Mjällom
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjosjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjosjo
new file mode 100755
index 00000000..ea339fd5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjosjo
@@ -0,0 +1,5 @@
+# Sweden - Mjösjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moliden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moliden
new file mode 100755
index 00000000..6067827e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moliden
@@ -0,0 +1,5 @@
+# Sweden - Moliden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molnbo_Tallstugan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molnbo_Tallstugan
new file mode 100755
index 00000000..5aa61769
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molnbo_Tallstugan
@@ -0,0 +1,35 @@
+# Sweden - Mölnbo/Tallstugan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molndal_Vasterberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molndal_Vasterberget
new file mode 100755
index 00000000..8bc31222
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molndal_Vasterberget
@@ -0,0 +1,30 @@
+# Sweden - Mölndal/Västerberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mora_Eldris b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mora_Eldris
new file mode 100755
index 00000000..322331bc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mora_Eldris
@@ -0,0 +1,63 @@
+# Sweden - Mora/Eldris
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Morkret b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Morkret
new file mode 100755
index 00000000..cac82866
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Morkret
@@ -0,0 +1,5 @@
+# Sweden - Mörkret
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moskosel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moskosel
new file mode 100755
index 00000000..7c20752c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moskosel
@@ -0,0 +1,5 @@
+# Sweden - Moskosel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Motala_Ervasteby b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Motala_Ervasteby
new file mode 100755
index 00000000..eb46976b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Motala_Ervasteby
@@ -0,0 +1,70 @@
+# Sweden - Motala/Ervasteby
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mullsjo_Torestorp b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mullsjo_Torestorp
new file mode 100755
index 00000000..af676e5c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mullsjo_Torestorp
@@ -0,0 +1,35 @@
+# Sweden - Mullsjö/Torestorp
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkedal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkedal
new file mode 100755
index 00000000..bc022c38
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkedal
@@ -0,0 +1,35 @@
+# Sweden - Munkedal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkfors
new file mode 100755
index 00000000..5dcc6563
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkfors
@@ -0,0 +1,35 @@
+# Sweden - Munkfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Muodoslompolo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Muodoslompolo
new file mode 100755
index 00000000..b10d741d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Muodoslompolo
@@ -0,0 +1,5 @@
+# Sweden - Muodoslompolo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nalden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nalden
new file mode 100755
index 00000000..42e4ebeb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nalden
@@ -0,0 +1,5 @@
+# Sweden - Nälden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasaker b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasaker
new file mode 100755
index 00000000..5df6e2cd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasaker
@@ -0,0 +1,5 @@
+# Sweden - Näsåker
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasanget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasanget
new file mode 100755
index 00000000..381ac65d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasanget
@@ -0,0 +1,5 @@
+# Sweden - Näsänget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nassjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nassjo
new file mode 100755
index 00000000..7b162847
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nassjo
@@ -0,0 +1,63 @@
+# Sweden - Nässjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasteln b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasteln
new file mode 100755
index 00000000..e47ade61
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasteln
@@ -0,0 +1,5 @@
+# Sweden - Nästeln
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Navekvarn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Navekvarn
new file mode 100755
index 00000000..cccc63ee
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Navekvarn
@@ -0,0 +1,6 @@
+# Sweden - Nävekvarn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Naverede_Oberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Naverede_Oberget
new file mode 100755
index 00000000..b6e6fb69
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Naverede_Oberget
@@ -0,0 +1,5 @@
+# Sweden - Näverede Öberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Niemisel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Niemisel
new file mode 100755
index 00000000..eee6be7d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Niemisel
@@ -0,0 +1,5 @@
+# Sweden - Niemisel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordanede b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordanede
new file mode 100755
index 00000000..3a2ad299
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordanede
@@ -0,0 +1,5 @@
+# Sweden - Nordanede
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordmaling b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordmaling
new file mode 100755
index 00000000..9d02cd5d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordmaling
@@ -0,0 +1,5 @@
+# Sweden - Nordmaling
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norra_Rorum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norra_Rorum
new file mode 100755
index 00000000..a08dfd8f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norra_Rorum
@@ -0,0 +1,5 @@
+# Sweden - Norra Rörum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrahammar b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrahammar
new file mode 100755
index 00000000..d2760594
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrahammar
@@ -0,0 +1,13 @@
+# Sweden - Norrahammar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norraker b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norraker
new file mode 100755
index 00000000..cfea43f3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norraker
@@ -0,0 +1,5 @@
+# Sweden - Norråker
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrfors
new file mode 100755
index 00000000..d9a0cbe9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrfors
@@ -0,0 +1,5 @@
+# Sweden - Norrfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrhassel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrhassel
new file mode 100755
index 00000000..69b698e6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrhassel
@@ -0,0 +1,5 @@
+# Sweden - Norrhassel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrkoping_Krokek b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrkoping_Krokek
new file mode 100755
index 00000000..f6e6e489
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrkoping_Krokek
@@ -0,0 +1,36 @@
+# Sweden - Norrköping/Krokek
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra
new file mode 100755
index 00000000..33b6c8fb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra
@@ -0,0 +1,30 @@
+# Sweden - Norrtälje Södra
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra_Bergen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra_Bergen
new file mode 100755
index 00000000..7c829684
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra_Bergen
@@ -0,0 +1,61 @@
+# Sweden - Norrtälje/Södra Bergen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norsjovallen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norsjovallen
new file mode 100755
index 00000000..4f3e7689
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norsjovallen
@@ -0,0 +1,5 @@
+# Sweden - Norsjövallen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyhem b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyhem
new file mode 100755
index 00000000..a7406f44
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyhem
@@ -0,0 +1,5 @@
+# Sweden - Nyhem
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nykoping b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nykoping
new file mode 100755
index 00000000..6735148f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nykoping
@@ -0,0 +1,13 @@
+# Sweden - Nyköping
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyliden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyliden
new file mode 100755
index 00000000..c03bc4c9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyliden
@@ -0,0 +1,5 @@
+# Sweden - Nyliden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nynashamn_Vattentornet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nynashamn_Vattentornet
new file mode 100755
index 00000000..ec118d83
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nynashamn_Vattentornet
@@ -0,0 +1,35 @@
+# Sweden - Nynäshamn/Vattentornet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Odsmal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Odsmal
new file mode 100755
index 00000000..fff9356d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Odsmal
@@ -0,0 +1,5 @@
+# Sweden - Ödsmål
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olden_Telestation b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olden_Telestation
new file mode 100755
index 00000000..4a65faea
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olden_Telestation
@@ -0,0 +1,5 @@
+# Sweden - Olden/Telestation
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olkamangi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olkamangi
new file mode 100755
index 00000000..c76b7843
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olkamangi
@@ -0,0 +1,5 @@
+# Sweden - Olkamangi
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olofstrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olofstrom
new file mode 100755
index 00000000..e883dc3f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olofstrom
@@ -0,0 +1,5 @@
+# Sweden - Olofström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orebro_Lockhyttan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orebro_Lockhyttan
new file mode 100755
index 00000000..036d74b9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orebro_Lockhyttan
@@ -0,0 +1,70 @@
+# Sweden - Örebro/Lockhyttan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orkelljunga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orkelljunga
new file mode 100755
index 00000000..2306c7e6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orkelljunga
@@ -0,0 +1,35 @@
+# Sweden - Örkelljunga
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ornskoldsvik_As b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ornskoldsvik_As
new file mode 100755
index 00000000..b35452cb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ornskoldsvik_As
@@ -0,0 +1,70 @@
+# Sweden - Örnsköldsvik/Ås
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oskarshamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oskarshamn
new file mode 100755
index 00000000..8ee04ca7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oskarshamn
@@ -0,0 +1,35 @@
+# Sweden - Oskarshamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osmo_Bjorsta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osmo_Bjorsta
new file mode 100755
index 00000000..c5973bff
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osmo_Bjorsta
@@ -0,0 +1,10 @@
+# Sweden - Ösmo/Björsta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osterforse b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osterforse
new file mode 100755
index 00000000..ce72b930
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osterforse
@@ -0,0 +1,5 @@
+# Sweden - Österforse
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostergraninge b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostergraninge
new file mode 100755
index 00000000..1c0a5898
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostergraninge
@@ -0,0 +1,5 @@
+# Sweden - Östergraninge
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostersund_Brattasen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostersund_Brattasen
new file mode 100755
index 00000000..ddb74a5c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostersund_Brattasen
@@ -0,0 +1,36 @@
+# Sweden - Östersund/Brattåsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osthammar_Valo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osthammar_Valo
new file mode 100755
index 00000000..301063d2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osthammar_Valo
@@ -0,0 +1,36 @@
+# Sweden - Östhammar/Valö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostmark b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostmark
new file mode 100755
index 00000000..40cb1a78
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostmark
@@ -0,0 +1,5 @@
+# Sweden - Östmark
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overammer b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overammer
new file mode 100755
index 00000000..db3e13bd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overammer
@@ -0,0 +1,5 @@
+# Sweden - Överammer
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overhogdal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overhogdal
new file mode 100755
index 00000000..4990749e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overhogdal
@@ -0,0 +1,5 @@
+# Sweden - Överhogdal
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overkalix b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overkalix
new file mode 100755
index 00000000..56612b80
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overkalix
@@ -0,0 +1,36 @@
+# Sweden - Överkalix
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overklinten b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overklinten
new file mode 100755
index 00000000..5c427eea
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overklinten
@@ -0,0 +1,5 @@
+# Sweden - Överklinten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overrissjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overrissjo
new file mode 100755
index 00000000..030f14f5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overrissjo
@@ -0,0 +1,5 @@
+# Sweden - Överrissjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overtornea_Sarkivaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overtornea_Sarkivaara
new file mode 100755
index 00000000..1d9bee02
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overtornea_Sarkivaara
@@ -0,0 +1,35 @@
+# Sweden - Övertorneå Särkivaara
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overturingen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overturingen
new file mode 100755
index 00000000..1dbac133
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overturingen
@@ -0,0 +1,5 @@
+# Sweden - Överturingen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oxberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oxberg
new file mode 100755
index 00000000..3a28be5f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oxberg
@@ -0,0 +1,13 @@
+# Sweden - Oxberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pajala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pajala
new file mode 100755
index 00000000..a0e7b640
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pajala
@@ -0,0 +1,35 @@
+# Sweden - Pajala
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistom
new file mode 100755
index 00000000..3dd9b506
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistom
@@ -0,0 +1,13 @@
+# Sweden - Paulistöm
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistrom
new file mode 100755
index 00000000..60f82539
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistrom
@@ -0,0 +1,5 @@
+# Sweden - Pauliström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pilgrimstad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pilgrimstad
new file mode 100755
index 00000000..cbed2912
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pilgrimstad
@@ -0,0 +1,5 @@
+# Sweden - Pilgrimstad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Porjus b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Porjus
new file mode 100755
index 00000000..720623d5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Porjus
@@ -0,0 +1,35 @@
+# Sweden - Porjus
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Puoltsa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Puoltsa
new file mode 100755
index 00000000..4d3140b4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Puoltsa
@@ -0,0 +1,5 @@
+# Sweden - Puoltsa
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ragunda b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ragunda
new file mode 100755
index 00000000..7bd1705d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ragunda
@@ -0,0 +1,35 @@
+# Sweden - Ragunda
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsele_Skavasen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsele_Skavasen
new file mode 100755
index 00000000..fbd6e4a4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsele_Skavasen
@@ -0,0 +1,35 @@
+# Sweden - Ramsele Skavåsen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsjo
new file mode 100755
index 00000000..8bb3ffe8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsjo
@@ -0,0 +1,5 @@
+# Sweden - Ramsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramundberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramundberget
new file mode 100755
index 00000000..0f8c1695
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramundberget
@@ -0,0 +1,5 @@
+# Sweden - Ramundberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randalen
new file mode 100755
index 00000000..c0f42308
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randalen
@@ -0,0 +1,5 @@
+# Sweden - RÃ¥ndalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randijaure b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randijaure
new file mode 100755
index 00000000..ccfa86b7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randijaure
@@ -0,0 +1,5 @@
+# Sweden - Randijaure
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ransater b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ransater
new file mode 100755
index 00000000..86156957
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ransater
@@ -0,0 +1,5 @@
+# Sweden - Ransäter
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rattvik b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rattvik
new file mode 100755
index 00000000..725bc8b7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rattvik
@@ -0,0 +1,6 @@
+# Sweden - Rättvik
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rengsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rengsjo
new file mode 100755
index 00000000..076c45de
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rengsjo
@@ -0,0 +1,13 @@
+# Sweden - Rengsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Renstrom b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Renstrom
new file mode 100755
index 00000000..f710ec3d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Renstrom
@@ -0,0 +1,5 @@
+# Sweden - Renström
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Resele b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Resele
new file mode 100755
index 00000000..b706c876
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Resele
@@ -0,0 +1,5 @@
+# Sweden - Resele
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Risback b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Risback
new file mode 100755
index 00000000..f27173e2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Risback
@@ -0,0 +1,5 @@
+# Sweden - Risbäck
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rissna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rissna
new file mode 100755
index 00000000..29efffe2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rissna
@@ -0,0 +1,5 @@
+# Sweden - Rissna
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ritsem b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ritsem
new file mode 100755
index 00000000..4c98209d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ritsem
@@ -0,0 +1,5 @@
+# Sweden - Ritsem
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Robertsfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Robertsfors
new file mode 100755
index 00000000..01f0ceef
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Robertsfors
@@ -0,0 +1,5 @@
+# Sweden - Robertsfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rojdafors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rojdafors
new file mode 100755
index 00000000..0119dbb7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rojdafors
@@ -0,0 +1,5 @@
+# Sweden - Röjdåfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ronnang b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ronnang
new file mode 100755
index 00000000..5e8607f5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ronnang
@@ -0,0 +1,5 @@
+# Sweden - Rönnäng
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rorbacksnas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rorbacksnas
new file mode 100755
index 00000000..24e081ed
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rorbacksnas
@@ -0,0 +1,13 @@
+# Sweden - Rörbäcksnäs
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rosson b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rosson
new file mode 100755
index 00000000..6807bd35
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rosson
@@ -0,0 +1,5 @@
+# Sweden - Rossön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rusksele b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rusksele
new file mode 100755
index 00000000..75d36e4e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rusksele
@@ -0,0 +1,5 @@
+# Sweden - Rusksele
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sadvaluspen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sadvaluspen
new file mode 100755
index 00000000..6510a36b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sadvaluspen
@@ -0,0 +1,5 @@
+# Sweden - Sädvaluspen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sagmyra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sagmyra
new file mode 100755
index 00000000..a9d67e8a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sagmyra
@@ -0,0 +1,13 @@
+# Sweden - SÃ¥gmyra
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saivomuotka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saivomuotka
new file mode 100755
index 00000000..57b43a6d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saivomuotka
@@ -0,0 +1,5 @@
+# Sweden - Saivomuotka
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salen
new file mode 100755
index 00000000..58bd5a69
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salen
@@ -0,0 +1,13 @@
+# Sweden - Sälen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salfjallet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salfjallet
new file mode 100755
index 00000000..aa161acb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salfjallet
@@ -0,0 +1,13 @@
+# Sweden - Sälfjället
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sarna_Mickeltemplet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sarna_Mickeltemplet
new file mode 100755
index 00000000..1ae4e26b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sarna_Mickeltemplet
@@ -0,0 +1,13 @@
+# Sweden - Särna/Mickeltemplet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Satila b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Satila
new file mode 100755
index 00000000..90eff021
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Satila
@@ -0,0 +1,13 @@
+# Sweden - Sätila
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savar_Sorbyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savar_Sorbyn
new file mode 100755
index 00000000..4c924bdc
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savar_Sorbyn
@@ -0,0 +1,5 @@
+# Sweden - Sävar Sörbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savast b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savast
new file mode 100755
index 00000000..ea990078
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savast
@@ -0,0 +1,5 @@
+# Sweden - Sävast
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saxdalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saxdalen
new file mode 100755
index 00000000..cf3f4ad0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saxdalen
@@ -0,0 +1,13 @@
+# Sweden - Saxdalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seitevaare b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seitevaare
new file mode 100755
index 00000000..a02c831a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seitevaare
@@ -0,0 +1,5 @@
+# Sweden - Seitevaare
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Selanger b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Selanger
new file mode 100755
index 00000000..8ea3e2a0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Selanger
@@ -0,0 +1,5 @@
+# Sweden - Selånger
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seltjarn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seltjarn
new file mode 100755
index 00000000..3914c8d4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seltjarn
@@ -0,0 +1,5 @@
+# Sweden - Seltjärn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sidensjo_Aberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sidensjo_Aberget
new file mode 100755
index 00000000..1ae9b5ba
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sidensjo_Aberget
@@ -0,0 +1,5 @@
+# Sweden - Sidensjö Åberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Siljansnas_Uvberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Siljansnas_Uvberget
new file mode 100755
index 00000000..7f35c519
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Siljansnas_Uvberget
@@ -0,0 +1,13 @@
+# Sweden - Siljansnäs/Uvberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Simrishamn_Fabriksgatan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Simrishamn_Fabriksgatan
new file mode 100755
index 00000000..e5583def
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Simrishamn_Fabriksgatan
@@ -0,0 +1,35 @@
+# Sweden - Simrishamn/Fabriksgatan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalan
new file mode 100755
index 00000000..71362e51
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalan
@@ -0,0 +1,5 @@
+# Sweden - Skålan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalmsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalmsjo
new file mode 100755
index 00000000..7f4bd42a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalmsjo
@@ -0,0 +1,5 @@
+# Sweden - Skalmsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarstad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarstad
new file mode 100755
index 00000000..58a74999
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarstad
@@ -0,0 +1,13 @@
+# Sweden - Skärstad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarvangen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarvangen
new file mode 100755
index 00000000..ebe9594f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarvangen
@@ -0,0 +1,5 @@
+# Sweden - Skärvången
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skattungbyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skattungbyn
new file mode 100755
index 00000000..3842b303
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skattungbyn
@@ -0,0 +1,13 @@
+# Sweden - Skattungbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skaulo_Pyhakielinen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skaulo_Pyhakielinen
new file mode 100755
index 00000000..fbfef7b2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skaulo_Pyhakielinen
@@ -0,0 +1,5 @@
+# Sweden - Skaulo Pyhäkielinen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skelleftea b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skelleftea
new file mode 100755
index 00000000..6ab14003
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skelleftea
@@ -0,0 +1,36 @@
+# Sweden - Skellefteå
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skene_Nycklarberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skene_Nycklarberget
new file mode 100755
index 00000000..49347d3a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skene_Nycklarberget
@@ -0,0 +1,13 @@
+# Sweden - Skene/Nycklarberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skillingsfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skillingsfors
new file mode 100755
index 00000000..c635db54
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skillingsfors
@@ -0,0 +1,5 @@
+# Sweden - Skillingsfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skorped b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skorped
new file mode 100755
index 00000000..694e3e3e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skorped
@@ -0,0 +1,5 @@
+# Sweden - Skorped
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skottsund b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skottsund
new file mode 100755
index 00000000..862c0442
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skottsund
@@ -0,0 +1,5 @@
+# Sweden - Skottsund
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skovde b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skovde
new file mode 100755
index 00000000..4a5f8b2c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skovde
@@ -0,0 +1,70 @@
+# Sweden - Skövde
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skroven b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skroven
new file mode 100755
index 00000000..98e24f07
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skroven
@@ -0,0 +1,5 @@
+# Sweden - Skröven
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skymnas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skymnas
new file mode 100755
index 00000000..1658d63e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skymnas
@@ -0,0 +1,5 @@
+# Sweden - Skymnäs
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Slussfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Slussfors
new file mode 100755
index 00000000..4a6a9b4d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Slussfors
@@ -0,0 +1,5 @@
+# Sweden - Slussfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Smedjebacken_Uvberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Smedjebacken_Uvberget
new file mode 100755
index 00000000..01658dfe
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Smedjebacken_Uvberget
@@ -0,0 +1,36 @@
+# Sweden - Smedjebacken/Uvberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderhamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderhamn
new file mode 100755
index 00000000..6a85f0ba
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderhamn
@@ -0,0 +1,36 @@
+# Sweden - Söderhamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderkoping b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderkoping
new file mode 100755
index 00000000..ce55cd4c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderkoping
@@ -0,0 +1,36 @@
+# Sweden - Söderköping
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sodertalje_Ragnhildsborg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sodertalje_Ragnhildsborg
new file mode 100755
index 00000000..065434e7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sodertalje_Ragnhildsborg
@@ -0,0 +1,36 @@
+# Sweden - Södertälje/Ragnhildsborg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Hallsta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Hallsta
new file mode 100755
index 00000000..1279be4b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Hallsta
@@ -0,0 +1,63 @@
+# Sweden - Sollefteå/Hallsta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Multra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Multra
new file mode 100755
index 00000000..8fb8ec36
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Multra
@@ -0,0 +1,63 @@
+# Sweden - Sollefteå/Multrå
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soraker b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soraker
new file mode 100755
index 00000000..93652155
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soraker
@@ -0,0 +1,5 @@
+# Sweden - Söråker
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorbygden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorbygden
new file mode 100755
index 00000000..20e9d318
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorbygden
@@ -0,0 +1,5 @@
+# Sweden - Sörbygden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorflarke b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorflarke
new file mode 100755
index 00000000..2e779f42
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorflarke
@@ -0,0 +1,5 @@
+# Sweden - Sörflärke
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Nalovardo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Nalovardo
new file mode 100755
index 00000000..5f8cd7b8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Nalovardo
@@ -0,0 +1,5 @@
+# Sweden - Sorsele Nalovardo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Vattentornet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Vattentornet
new file mode 100755
index 00000000..ba7e3c23
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Vattentornet
@@ -0,0 +1,5 @@
+# Sweden - Sorsele/Vattentornet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsjon
new file mode 100755
index 00000000..84e99e83
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsjon
@@ -0,0 +1,13 @@
+# Sweden - Sörsjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soukolojarvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soukolojarvi
new file mode 100755
index 00000000..6d5e247d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soukolojarvi
@@ -0,0 +1,5 @@
+# Sweden - Soukolojärvi
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stalon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stalon
new file mode 100755
index 00000000..ce88159a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stalon
@@ -0,0 +1,5 @@
+# Sweden - Stalon
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stigsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stigsjo
new file mode 100755
index 00000000..137a59ed
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stigsjo
@@ -0,0 +1,5 @@
+# Sweden - Stigsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Marieberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Marieberg
new file mode 100755
index 00000000..0ae30a2f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Marieberg
@@ -0,0 +1,36 @@
+# Sweden - Stockholm/Marieberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Nacka b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Nacka
new file mode 100755
index 00000000..b5345041
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Nacka
@@ -0,0 +1,71 @@
+# Sweden - Stockholm/Nacka
+[Teracom_Mux_1]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Teracom_Mux_2]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Teracom_Mux_3]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Teracom_Mux_4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[Teracom_Mux_5]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Hullsjon b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Hullsjon
new file mode 100755
index 00000000..e46bc80f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Hullsjon
@@ -0,0 +1,5 @@
+# Sweden - Stöde/Hullsjön
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Intaget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Intaget
new file mode 100755
index 00000000..deb3bab7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Intaget
@@ -0,0 +1,35 @@
+# Sweden - Stöde Intaget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stomne_Skasas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stomne_Skasas
new file mode 100755
index 00000000..7e293bae
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stomne_Skasas
@@ -0,0 +1,5 @@
+# Sweden - Stömne/Skasås
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stora_Skedvi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stora_Skedvi
new file mode 100755
index 00000000..f00c7936
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stora_Skedvi
@@ -0,0 +1,13 @@
+# Sweden - Stora Skedvi
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stordalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stordalen
new file mode 100755
index 00000000..75656dd2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stordalen
@@ -0,0 +1,5 @@
+# Sweden - Stordalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storfjaten b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storfjaten
new file mode 100755
index 00000000..93b898ed
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storfjaten
@@ -0,0 +1,13 @@
+# Sweden - Storfjäten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storlien b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storlien
new file mode 100755
index 00000000..10e25226
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storlien
@@ -0,0 +1,5 @@
+# Sweden - Storlien
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storuman b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storuman
new file mode 100755
index 00000000..9fe23fc0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storuman
@@ -0,0 +1,36 @@
+# Sweden - Storuman
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromstad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromstad
new file mode 100755
index 00000000..f2609f68
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromstad
@@ -0,0 +1,36 @@
+# Sweden - Strömstad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromsund_Grelsgard b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromsund_Grelsgard
new file mode 100755
index 00000000..a126552d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromsund_Grelsgard
@@ -0,0 +1,35 @@
+# Sweden - Strömsund/Grelsgård
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stugun b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stugun
new file mode 100755
index 00000000..e4b62187
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stugun
@@ -0,0 +1,5 @@
+# Sweden - Stugun
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Styrsjobo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Styrsjobo
new file mode 100755
index 00000000..1ccce04f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Styrsjobo
@@ -0,0 +1,13 @@
+# Sweden - Styrsjöbo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suddesjaur b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suddesjaur
new file mode 100755
index 00000000..36a53dc0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suddesjaur
@@ -0,0 +1,5 @@
+# Sweden - Suddesjaur
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suijavaara b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suijavaara
new file mode 100755
index 00000000..1f0371b5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suijavaara
@@ -0,0 +1,5 @@
+# Sweden - Suijavaara
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sulvik b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sulvik
new file mode 100755
index 00000000..d26f5937
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sulvik
@@ -0,0 +1,5 @@
+# Sweden - Sulvik
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundborn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundborn
new file mode 100755
index 00000000..b423757e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundborn
@@ -0,0 +1,13 @@
+# Sweden - Sundborn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsbruk b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsbruk
new file mode 100755
index 00000000..9c7a7fd5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsbruk
@@ -0,0 +1,36 @@
+# Sweden - Sundsbruk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsvall_S_Stadsberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsvall_S_Stadsberget
new file mode 100755
index 00000000..cf6bbdcb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsvall_S_Stadsberget
@@ -0,0 +1,36 @@
+# Sweden - Sundsvall/S Stadsberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_As b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_As
new file mode 100755
index 00000000..c94500e2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_As
@@ -0,0 +1,5 @@
+# Sweden - Sunne/Ã…s
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_Blabarskullen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_Blabarskullen
new file mode 100755
index 00000000..c0f29a99
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_Blabarskullen
@@ -0,0 +1,36 @@
+# Sweden - Sunne/Blåbärskullen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunnemo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunnemo
new file mode 100755
index 00000000..18beec27
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunnemo
@@ -0,0 +1,5 @@
+# Sweden - Sunnemo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svaneholm b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svaneholm
new file mode 100755
index 00000000..9b32d448
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svaneholm
@@ -0,0 +1,5 @@
+# Sweden - Svaneholm
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svanstein b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svanstein
new file mode 100755
index 00000000..97e1d3e5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svanstein
@@ -0,0 +1,5 @@
+# Sweden - Svanstein
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svardsosund_Svardso b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svardsosund_Svardso
new file mode 100755
index 00000000..233c10e5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svardsosund_Svardso
@@ -0,0 +1,5 @@
+# Sweden - Svärdsösund/Svärdsö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svartnas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svartnas
new file mode 100755
index 00000000..ac376902
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svartnas
@@ -0,0 +1,13 @@
+# Sweden - Svartnäs
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Brickan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Brickan
new file mode 100755
index 00000000..b385b98d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Brickan
@@ -0,0 +1,36 @@
+# Sweden - Sveg/Brickan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Ransjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Ransjo
new file mode 100755
index 00000000..fb503d9a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Ransjo
@@ -0,0 +1,5 @@
+# Sweden - Sveg/Ransjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svenstavik b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svenstavik
new file mode 100755
index 00000000..551e33f6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svenstavik
@@ -0,0 +1,5 @@
+# Sweden - Svenstavik
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svinesund b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svinesund
new file mode 100755
index 00000000..32c50984
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svinesund
@@ -0,0 +1,5 @@
+# Sweden - Svinesund
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Syssleback b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Syssleback
new file mode 100755
index 00000000..b2be682f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Syssleback
@@ -0,0 +1,35 @@
+# Sweden - Sysslebäck
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Taberg b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Taberg
new file mode 100755
index 00000000..7ee8530f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Taberg
@@ -0,0 +1,13 @@
+# Sweden - Taberg
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tandadalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tandadalen
new file mode 100755
index 00000000..e726d3a0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tandadalen
@@ -0,0 +1,6 @@
+# Sweden - Tandådalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tannas_Vastra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tannas_Vastra
new file mode 100755
index 00000000..9e1799c6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tannas_Vastra
@@ -0,0 +1,5 @@
+# Sweden - Tännäs Västra
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tanndalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tanndalen
new file mode 100755
index 00000000..ca4b668b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tanndalen
@@ -0,0 +1,5 @@
+# Sweden - Tänndalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnaby_Ryfjallet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnaby_Ryfjallet
new file mode 100755
index 00000000..62720a91
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnaby_Ryfjallet
@@ -0,0 +1,35 @@
+# Sweden - Tärnaby Ryfjället
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnamo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnamo
new file mode 100755
index 00000000..0fd4e930
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnamo
@@ -0,0 +1,5 @@
+# Sweden - Tärnamo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tasjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tasjo
new file mode 100755
index 00000000..b1958546
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tasjo
@@ -0,0 +1,36 @@
+# Sweden - Tåsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tavelsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tavelsjo
new file mode 100755
index 00000000..f3009922
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tavelsjo
@@ -0,0 +1,5 @@
+# Sweden - Tavelsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tocksfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tocksfors
new file mode 100755
index 00000000..2c087945
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tocksfors
@@ -0,0 +1,35 @@
+# Sweden - Töcksfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tollsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tollsjo
new file mode 100755
index 00000000..3f18527f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tollsjo
@@ -0,0 +1,13 @@
+# Sweden - Töllsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tormestorp b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tormestorp
new file mode 100755
index 00000000..d4bf4497
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tormestorp
@@ -0,0 +1,5 @@
+# Sweden - Tormestorp
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tornetrask b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tornetrask
new file mode 100755
index 00000000..c97b3d6d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tornetrask
@@ -0,0 +1,5 @@
+# Sweden - Torneträsk
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torpshammar b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torpshammar
new file mode 100755
index 00000000..25102689
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torpshammar
@@ -0,0 +1,35 @@
+# Sweden - Torpshammar
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torsby_Bada b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torsby_Bada
new file mode 100755
index 00000000..fc3e506b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torsby_Bada
@@ -0,0 +1,36 @@
+# Sweden - Torsby/Bada
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranas_Bredkarr b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranas_Bredkarr
new file mode 100755
index 00000000..7e88588f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranas_Bredkarr
@@ -0,0 +1,35 @@
+# Sweden - Tranås/Bredkärr
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranemo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranemo
new file mode 100755
index 00000000..eca93043
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranemo
@@ -0,0 +1,13 @@
+# Sweden - Tranemo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Transtrand_Bolheden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Transtrand_Bolheden
new file mode 100755
index 00000000..2d140a9a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Transtrand_Bolheden
@@ -0,0 +1,36 @@
+# Sweden - Transtrand/Bolheden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Traryd_Betas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Traryd_Betas
new file mode 100755
index 00000000..6a7bcdfd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Traryd_Betas
@@ -0,0 +1,36 @@
+# Sweden - Traryd/Betås
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trehorningsjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trehorningsjo
new file mode 100755
index 00000000..e14d48dd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trehorningsjo
@@ -0,0 +1,5 @@
+# Sweden - Trehörningsjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trelleborg_Gylle b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trelleborg_Gylle
new file mode 100755
index 00000000..d127f66c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trelleborg_Gylle
@@ -0,0 +1,35 @@
+# Sweden - Trelleborg/Gylle
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trollhattan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trollhattan
new file mode 100755
index 00000000..72ca0609
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trollhattan
@@ -0,0 +1,36 @@
+# Sweden - Trollhättan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trosa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trosa
new file mode 100755
index 00000000..2d6b9631
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trosa
@@ -0,0 +1,25 @@
+# Sweden - Trosa
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tullinge_Hamra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tullinge_Hamra
new file mode 100755
index 00000000..b1b15aa6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tullinge_Hamra
@@ -0,0 +1,35 @@
+# Sweden - Tullinge/Hamra
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tyringe b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tyringe
new file mode 100755
index 00000000..1222e5c3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tyringe
@@ -0,0 +1,5 @@
+# Sweden - Tyringe
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tystberga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tystberga
new file mode 100755
index 00000000..ef240a3e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tystberga
@@ -0,0 +1,6 @@
+# Sweden - Tystberga
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Herrestad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Herrestad
new file mode 100755
index 00000000..bc1992bb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Herrestad
@@ -0,0 +1,36 @@
+# Sweden - Uddevalla/Herrestad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Kapelle b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Kapelle
new file mode 100755
index 00000000..7a2668e6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Kapelle
@@ -0,0 +1,5 @@
+# Sweden - Uddevalla/Kapelle
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uggleheden b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uggleheden
new file mode 100755
index 00000000..afbfc68b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uggleheden
@@ -0,0 +1,5 @@
+# Sweden - Uggleheden
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullanger_Skidsta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullanger_Skidsta
new file mode 100755
index 00000000..8f5a54f8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullanger_Skidsta
@@ -0,0 +1,5 @@
+# Sweden - Ullånger Skidsta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullared b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullared
new file mode 100755
index 00000000..29d4a026
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullared
@@ -0,0 +1,13 @@
+# Sweden - Ullared
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulricehamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulricehamn
new file mode 100755
index 00000000..759c62f9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulricehamn
@@ -0,0 +1,36 @@
+# Sweden - Ulricehamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvohamn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvohamn
new file mode 100755
index 00000000..57ae731e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvohamn
@@ -0,0 +1,5 @@
+# Sweden - Ulvöhamn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvshyttan_Porjus b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvshyttan_Porjus
new file mode 100755
index 00000000..08f02343
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvshyttan_Porjus
@@ -0,0 +1,13 @@
+# Sweden - Ulvshyttan/Porjus
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umea_Mariehem b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umea_Mariehem
new file mode 100755
index 00000000..70f7360d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umea_Mariehem
@@ -0,0 +1,5 @@
+# Sweden - Umeå/Mariehem
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umfors
new file mode 100755
index 00000000..51a1e491
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umfors
@@ -0,0 +1,5 @@
+# Sweden - Umfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umgransele_Granselelund b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umgransele_Granselelund
new file mode 100755
index 00000000..8fef12a5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umgransele_Granselelund
@@ -0,0 +1,5 @@
+# Sweden - Umgransele/Granselelund
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Undersaker b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Undersaker
new file mode 100755
index 00000000..95e816e0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Undersaker
@@ -0,0 +1,5 @@
+# Sweden - Undersåker
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Rickomberga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Rickomberga
new file mode 100755
index 00000000..2c0ac8f2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Rickomberga
@@ -0,0 +1,13 @@
+# Sweden - Uppsala/Rickomberga
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Vedyxa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Vedyxa
new file mode 100755
index 00000000..55f99a8d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Vedyxa
@@ -0,0 +1,36 @@
+# Sweden - Uppsala/Vedyxa
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utansjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utansjo
new file mode 100755
index 00000000..95044009
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utansjo
@@ -0,0 +1,5 @@
+# Sweden - Utansjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utanskog b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utanskog
new file mode 100755
index 00000000..799d850a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utanskog
@@ -0,0 +1,5 @@
+# Sweden - Utanskog
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaddo_Elmsta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaddo_Elmsta
new file mode 100755
index 00000000..310a1da6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaddo_Elmsta
@@ -0,0 +1,36 @@
+# Sweden - Väddö/Elmsta
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 184500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valadalen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valadalen
new file mode 100755
index 00000000..9aeed885
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valadalen
@@ -0,0 +1,5 @@
+# Sweden - Vålådalen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valanger b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valanger
new file mode 100755
index 00000000..64e33f13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valanger
@@ -0,0 +1,5 @@
+# Sweden - Vålånger
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valdemarsvik b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valdemarsvik
new file mode 100755
index 00000000..0d7c7407
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valdemarsvik
@@ -0,0 +1,36 @@
+# Sweden - Valdemarsvik
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 177500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valsjobyn b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valsjobyn
new file mode 100755
index 00000000..dc158b95
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valsjobyn
@@ -0,0 +1,5 @@
+# Sweden - Valsjöbyn
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vannas_Granlundsberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vannas_Granlundsberget
new file mode 100755
index 00000000..53e7df00
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vannas_Granlundsberget
@@ -0,0 +1,36 @@
+# Sweden - Vännäs/Granlundsberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 594000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vansbro_Hummelberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vansbro_Hummelberget
new file mode 100755
index 00000000..0b4263de
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vansbro_Hummelberget
@@ -0,0 +1,13 @@
+# Sweden - Vansbro/Hummelberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varberg_Grimeton b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varberg_Grimeton
new file mode 100755
index 00000000..6c85acd5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varberg_Grimeton
@@ -0,0 +1,63 @@
+# Sweden - Varberg/Grimeton
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 191500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varmvattnet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varmvattnet
new file mode 100755
index 00000000..9e560917
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varmvattnet
@@ -0,0 +1,5 @@
+# Sweden - Varmvattnet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varnamo_Alandsryd b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varnamo_Alandsryd
new file mode 100755
index 00000000..f9f6414b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varnamo_Alandsryd
@@ -0,0 +1,5 @@
+# Sweden - Värnamo/Alandsryd -
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassbotten b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassbotten
new file mode 100755
index 00000000..5aac5e91
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassbotten
@@ -0,0 +1,5 @@
+# Sweden - Vassbotten
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassijaure b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassijaure
new file mode 100755
index 00000000..8d6ebf7b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassijaure
@@ -0,0 +1,5 @@
+# Sweden - Vassijaure
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastansjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastansjo
new file mode 100755
index 00000000..dafa88f5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastansjo
@@ -0,0 +1,5 @@
+# Sweden - Västansjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vasteras_Lillharad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vasteras_Lillharad
new file mode 100755
index 00000000..0c50190d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vasteras_Lillharad
@@ -0,0 +1,82 @@
+# Sweden - Västerås/Lillhärad
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastervik_Farhult b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastervik_Farhult
new file mode 100755
index 00000000..6b17d389
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastervik_Farhult
@@ -0,0 +1,36 @@
+# Sweden - Västervik/Fårhult
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vato b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vato
new file mode 100755
index 00000000..94721d09
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vato
@@ -0,0 +1,5 @@
+# Sweden - Vätö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaxbo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaxbo
new file mode 100755
index 00000000..116483f6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaxbo
@@ -0,0 +1,13 @@
+# Sweden - Växbo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vemdalsskalet b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vemdalsskalet
new file mode 100755
index 00000000..24478872
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vemdalsskalet
@@ -0,0 +1,5 @@
+# Sweden - Vemdalsskalet
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vessigebro b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vessigebro
new file mode 100755
index 00000000..2cd921e1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vessigebro
@@ -0,0 +1,13 @@
+# Sweden - Vessigebro
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vetlanda_Nye b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vetlanda_Nye
new file mode 100755
index 00000000..7cd1f5c0
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vetlanda_Nye
@@ -0,0 +1,13 @@
+# Sweden - Vetlanda/Nye
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vidsel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vidsel
new file mode 100755
index 00000000..0351783d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vidsel
@@ -0,0 +1,5 @@
+# Sweden - Vidsel
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vietas b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vietas
new file mode 100755
index 00000000..668657b3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vietas
@@ -0,0 +1,5 @@
+# Sweden - Vietas
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 610000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vikmanshyttan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vikmanshyttan
new file mode 100755
index 00000000..6b24d6e3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vikmanshyttan
@@ -0,0 +1,13 @@
+# Sweden - Vikmanshyttan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Viksjo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Viksjo
new file mode 100755
index 00000000..d004252f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Viksjo
@@ -0,0 +1,5 @@
+# Sweden - Viksjö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vilhelmina b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vilhelmina
new file mode 100755
index 00000000..1adb2a01
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vilhelmina
@@ -0,0 +1,35 @@
+# Sweden - Vilhelmina
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Villands_Vanga b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Villands_Vanga
new file mode 100755
index 00000000..431ec0c6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Villands_Vanga
@@ -0,0 +1,5 @@
+# Sweden - Villands VÃ¥nga
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindelgransele b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindelgransele
new file mode 100755
index 00000000..d31e6823
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindelgransele
@@ -0,0 +1,5 @@
+# Sweden - Vindelgransele
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindeln_Renfors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindeln_Renfors
new file mode 100755
index 00000000..d34c836b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindeln_Renfors
@@ -0,0 +1,35 @@
+# Sweden - Vindeln/Renfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Virserum b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Virserum
new file mode 100755
index 00000000..32c79bcf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Virserum
@@ -0,0 +1,63 @@
+# Sweden - Virserum
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Follingbo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Follingbo
new file mode 100755
index 00000000..33b14fa5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Follingbo
@@ -0,0 +1,36 @@
+# Sweden - Visby/Follingbo
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Hamnen b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Hamnen
new file mode 100755
index 00000000..1c839f18
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Hamnen
@@ -0,0 +1,65 @@
+# Sweden - Visby/Hamnen
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Havdhem b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Havdhem
new file mode 100755
index 00000000..c3762178
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Havdhem
@@ -0,0 +1,35 @@
+# Sweden - Visby/Havdhem
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 205500000
+ BANDWIDTH_HZ = 7000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visingso b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visingso
new file mode 100755
index 00000000..0dcc4f49
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visingso
@@ -0,0 +1,13 @@
+# Sweden - Visingsö
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vislanda_Nydala b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vislanda_Nydala
new file mode 100755
index 00000000..1aaf3ef9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vislanda_Nydala
@@ -0,0 +1,36 @@
+# Sweden - Vislanda/Nydala
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 198500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitberget b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitberget
new file mode 100755
index 00000000..7053f5ac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitberget
@@ -0,0 +1,5 @@
+# Sweden - Vitberget
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand
new file mode 100755
index 00000000..a1b4dc9d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand
@@ -0,0 +1,5 @@
+# Sweden - Vitsand
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand_Vagsjofors b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand_Vagsjofors
new file mode 100755
index 00000000..c07c0124
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand_Vagsjofors
@@ -0,0 +1,5 @@
+# Sweden - Vitsand/Vägsjöfors
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Voxna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Voxna
new file mode 100755
index 00000000..a14cba72
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Voxna
@@ -0,0 +1,13 @@
+# Sweden - Voxna
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vuollerim b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vuollerim
new file mode 100755
index 00000000..a034ca8c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vuollerim
@@ -0,0 +1,35 @@
+# Sweden - Vuollerim
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ystad_Metallgatan b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ystad_Metallgatan
new file mode 100755
index 00000000..5c250b50
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ystad_Metallgatan
@@ -0,0 +1,36 @@
+# Sweden - Ystad/Metallgatan
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 212500000
+ BANDWIDTH_HZ = 7000000
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Yttermalung b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Yttermalung
new file mode 100755
index 00000000..7473b30a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Yttermalung
@@ -0,0 +1,13 @@
+# Sweden - Yttermalung
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/si-Ljubljana b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/si-Ljubljana
new file mode 100755
index 00000000..e1d3e8be
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/si-Ljubljana
@@ -0,0 +1,27 @@
+# Slovenia / Ljubljana
+# MULTIPLEX A
+#------------------------------------------
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 602000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/8
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaBystrica b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaBystrica
new file mode 100755
index 00000000..340164a3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaBystrica
@@ -0,0 +1,30 @@
+# DVB-T Banska Bystrica (Banska Bystrica, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 51
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 33
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaStiavnica b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaStiavnica
new file mode 100755
index 00000000..0afc4718
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaStiavnica
@@ -0,0 +1,30 @@
+# DVB-T Banska Stiavnica (Banska Stiavnica, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 21
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 306000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 48
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bardejov b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bardejov
new file mode 100755
index 00000000..a481bdf2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bardejov
@@ -0,0 +1,30 @@
+# DVB-T Bardejov (Bardejov, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 40
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bratislava b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bratislava
new file mode 100755
index 00000000..cd461629
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bratislava
@@ -0,0 +1,48 @@
+# DVB-T Bratislava (Bratislava, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 56
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 27
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+#
+# T- Video Agency
+# (TODO: http://www.zive.sk/bratislava-sa-dockala-novych-programov-v-dvb-t-divaci-si-naladia-uz-aj-ta3/sc-4-a-298830/default.aspx)
+#
+# regional multiplex - on channel 55
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 1/2
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Cadca b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Cadca
new file mode 100755
index 00000000..abd0e5b2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Cadca
@@ -0,0 +1,30 @@
+# DVB-T Cadca (Cadca, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 52
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 32
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Detva b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Detva
new file mode 100755
index 00000000..44cf2a60
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Detva
@@ -0,0 +1,30 @@
+# DVB-T Detva (Detva, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 60
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 33
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Hnusta b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Hnusta
new file mode 100755
index 00000000..d0b41eed
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Hnusta
@@ -0,0 +1,30 @@
+# DVB-T Hnusta (Hnusta, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 27
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Kosice b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Kosice
new file mode 100755
index 00000000..7c01b81f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Kosice
@@ -0,0 +1,30 @@
+# DVB-T Kosice (Kosice, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 25
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-KralovskyChlmec b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-KralovskyChlmec
new file mode 100755
index 00000000..7163e833
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-KralovskyChlmec
@@ -0,0 +1,30 @@
+# DVB-T Kralovsky Chlmec (Kralovsky Chlmec, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 25
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Krompachy b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Krompachy
new file mode 100755
index 00000000..27747cdf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Krompachy
@@ -0,0 +1,30 @@
+# DVB-T Krompachy (Krompachy, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 25
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Lucenec b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Lucenec
new file mode 100755
index 00000000..1225eace
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Lucenec
@@ -0,0 +1,30 @@
+# DVB-T Lucenec (Lucenec, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 60
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 786000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 33
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Medzev b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Medzev
new file mode 100755
index 00000000..52e19bba
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Medzev
@@ -0,0 +1,30 @@
+# DVB-T Medzev (Medzev, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 25
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Namestovo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Namestovo
new file mode 100755
index 00000000..ea76c106
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Namestovo
@@ -0,0 +1,30 @@
+# DVB-T Namestovo (Namestovo, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 26
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Nitra b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Nitra
new file mode 100755
index 00000000..a823427e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Nitra
@@ -0,0 +1,30 @@
+# DVB-T Nitra (Nitra, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 21
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 48
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Poprad b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Poprad
new file mode 100755
index 00000000..ccec3505
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Poprad
@@ -0,0 +1,42 @@
+# DVB-T Poprad (Poprad, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 55
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 24/54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-PovazskaBystrica b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-PovazskaBystrica
new file mode 100755
index 00000000..d32759ea
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-PovazskaBystrica
@@ -0,0 +1,30 @@
+# DVB-T Povazska Bystrica (Povazska Bystrica, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 52
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 32
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Presov b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Presov
new file mode 100755
index 00000000..0f0a36ec
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Presov
@@ -0,0 +1,30 @@
+# DVB-T Prešov (Prešov, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# MUX2 - Commercial - on channel 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# MUX3 - Public - on channel 25
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Prievidza b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Prievidza
new file mode 100755
index 00000000..dafbc1e5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Prievidza
@@ -0,0 +1,30 @@
+# DVB-T Prievidza (Prievidza, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 52
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 57
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Revuca b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Revuca
new file mode 100755
index 00000000..4f797ce6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Revuca
@@ -0,0 +1,30 @@
+# DVB-T Revuca (Revuca, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 27
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Roznava b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Roznava
new file mode 100755
index 00000000..fc09aaac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Roznava
@@ -0,0 +1,30 @@
+# DVB-T Roznava (Roznava, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 27
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 54
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Ruzomberok b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Ruzomberok
new file mode 100755
index 00000000..fc2c6680
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Ruzomberok
@@ -0,0 +1,30 @@
+# DVB-T Ruzomberok (Ruzomberok, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 26
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Snina b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Snina
new file mode 100755
index 00000000..f0f15852
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Snina
@@ -0,0 +1,30 @@
+# DVB-T Snina (Snina, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 59
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 25
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-StaraLubovna b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-StaraLubovna
new file mode 100755
index 00000000..b1cf7404
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-StaraLubovna
@@ -0,0 +1,30 @@
+# DVB-T Stara Lubovna (Stara Lubovna, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 55
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 24
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Sturovo b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Sturovo
new file mode 100755
index 00000000..f54f8df5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Sturovo
@@ -0,0 +1,30 @@
+# DVB-T Sturovo (Sturovo, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 21
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 48
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Trencin b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Trencin
new file mode 100755
index 00000000..805038ce
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Trencin
@@ -0,0 +1,30 @@
+# DVB-T Trencin (Trencin, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 52
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 57
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Zilina b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Zilina
new file mode 100755
index 00000000..e8d486d4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Zilina
@@ -0,0 +1,30 @@
+# DVB-T Zilina (Zilina, Slovak Republic)
+# Created from http://www.dvbt.towercom.sk/odbornici.php
+
+# 2.st multiplex (commercial) - on channel 52
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+
+# 3.st multiplex (public) - on channel 32
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/tw-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/tw-All
new file mode 100755
index 00000000..3e18167a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/tw-All
@@ -0,0 +1,132 @@
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 533000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 539000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 545000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 551000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 557000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 563000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 569000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 575000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 581000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 587000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 593000000
+ BANDWIDTH_HZ = 6000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/16
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kharkov b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kharkov
new file mode 100755
index 00000000..38c6b07d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kharkov
@@ -0,0 +1,49 @@
+# Ukraine, Kharkov
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kiev b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kiev
new file mode 100755
index 00000000..6bf096b7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kiev
@@ -0,0 +1,49 @@
+# Ukraine, Kiev
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 526000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Lozovaya b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Lozovaya
new file mode 100755
index 00000000..be7d9b9d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Lozovaya
@@ -0,0 +1,49 @@
+# Ukraine, Lozovaya
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Odessa b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Odessa
new file mode 100755
index 00000000..16f00fab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Odessa
@@ -0,0 +1,49 @@
+# Ukraine, Odessa
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/5
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ug-All b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ug-All
new file mode 100755
index 00000000..ce2a2866
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ug-All
@@ -0,0 +1,45 @@
+# location and provider : Kampala-Uganda
+# date : 2013-11-01
+# provided by : Joseph Zikusooka
+# : http://joseph.zikusooka.com
+# : joseph@zikusooka.com
+#
+#------------------------------------------------------------------------------
+[UCC Primary]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/4
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = AUTO
+ STREAM_ID = 1
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 586000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = AUTO
+ CODE_RATE_LP = AUTO
+ MODULATION = QAM/AUTO
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/16
+ HIERARCHY = AUTO
+ STREAM_ID = 9
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Aberdare b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Aberdare
new file mode 100755
index 00000000..a0c08b0d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Aberdare
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/CF44+0DA/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Aberdare
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C24- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 497833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 521833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Angus b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Angus
new file mode 100755
index 00000000..1127e363
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Angus
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/DD4 0RQ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Angus
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C60- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C54 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BeaconHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BeaconHill
new file mode 100755
index 00000000..549b3c9c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BeaconHill
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/TQ3 1RT/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Beacon Hill
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C60- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C51 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Belmont b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Belmont
new file mode 100755
index 00000000..d17c3cab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Belmont
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/LN8 6JT/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Belmont
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C22 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C30- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bilsdale b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bilsdale
new file mode 100755
index 00000000..b8164cc4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bilsdale
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/TS9 7JS/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Bilsdale
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C26 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C43 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BlackHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BlackHill
new file mode 100755
index 00000000..b97c26fa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BlackHill
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/ML7 4NZ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Black Hill
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C46 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C43 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C41+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C51 L-GLW]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Blaenplwyf b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Blaenplwyf
new file mode 100755
index 00000000..5a569c29
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Blaenplwyf
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/SY23 4QH/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Blaenplwyf
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C27 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BluebellHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BluebellHill
new file mode 100755
index 00000000..630ae755
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BluebellHill
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/ME5 9RD/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Bluebell Hill
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C46 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C43 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C45 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 626167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bressay b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bressay
new file mode 100755
index 00000000..9c952345
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bressay
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/ZE2 9EL/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Bressay
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C28 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrierleyHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrierleyHill
new file mode 100755
index 00000000..34fbc90c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrierleyHill
@@ -0,0 +1,93 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/DY5 2PD/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Brierley Hill
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C60- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C50 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 777833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C29 L-BRM]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolIlchesterCrescent b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolIlchesterCrescent
new file mode 100755
index 00000000..6a268ff2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolIlchesterCrescent
@@ -0,0 +1,93 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BS13 7HU/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Bristol Ilchester Crescent
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C41+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C30 L-BSL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolKingsWeston b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolKingsWeston
new file mode 100755
index 00000000..8abd22a5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolKingsWeston
@@ -0,0 +1,93 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BS9 2QY/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Bristol Kings Weston
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C43 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C30 L-BSL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bromsgrove b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bromsgrove
new file mode 100755
index 00000000..8956edee
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bromsgrove
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/B61 9JD/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Bromsgrove
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C26 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrougherMountain b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrougherMountain
new file mode 100755
index 00000000..99c04a42
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrougherMountain
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BT78 3SG/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Brougher Mountain
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C28 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C30- NI mux]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Caldbeck b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Caldbeck
new file mode 100755
index 00000000..c75c3d2d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Caldbeck
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/CA7 8DW/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Caldbeck
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C25- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 505833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C23- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 489833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 513833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 537833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CaradonHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CaradonHill
new file mode 100755
index 00000000..e216aa51
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CaradonHill
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/PL14 5LT/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Caradon Hill
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C28+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C21+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 497833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 521833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Carmel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Carmel
new file mode 100755
index 00000000..9e78dfd5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Carmel
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/SA14 7NA/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Carmel
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C60- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chatton b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chatton
new file mode 100755
index 00000000..4d40a461
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chatton
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/NE67 5JD/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Chatton
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C45 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chesterfield b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chesterfield
new file mode 100755
index 00000000..38bedb93
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chesterfield
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/S18 4BT/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Chesterfield
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C26 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C43 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Craigkelly b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Craigkelly
new file mode 100755
index 00000000..82494814
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Craigkelly
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/KY3 9HW/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Craigkelly
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C27 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C30 L-EDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CrystalPalace b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CrystalPalace
new file mode 100755
index 00000000..3d17dd88
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CrystalPalace
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/SE19 1UE/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Crystal Palace
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C23 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C25 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Darvel b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Darvel
new file mode 100755
index 00000000..015f9ff2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Darvel
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/KA16 9LS/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Darvel
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C22- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 481833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C23 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Divis b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Divis
new file mode 100755
index 00000000..4dbc6c55
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Divis
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BT17 0NG/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Divis
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C27 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C23 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Dover b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Dover
new file mode 100755
index 00000000..15fd2702
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Dover
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/CT15 7AQ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Dover
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C50 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C51 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Durris b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Durris
new file mode 100755
index 00000000..7ecdc705
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Durris
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/AB39 3TH/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Durris
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C28 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C23 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Eitshal b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Eitshal
new file mode 100755
index 00000000..3901c127
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Eitshal
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/HS2 9JW/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Eitshal
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C26 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-EmleyMoor b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-EmleyMoor
new file mode 100755
index 00000000..c9c01d7f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-EmleyMoor
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/HD8 9TF/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Emley Moor
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C47 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C51 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C56 L-LDS]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenham b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenham
new file mode 100755
index 00000000..dd054f59
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenham
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/NE15 6PL/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Fenham
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C27 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C25 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenton b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenton
new file mode 100755
index 00000000..8c0a5432
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenton
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/ST4 2NX/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Fenton
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C24 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C25 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Ferryside b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Ferryside
new file mode 100755
index 00000000..71c2e12f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Ferryside
@@ -0,0 +1,57 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/SA17+5UR/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Ferryside
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C21+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Guildford b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Guildford
new file mode 100755
index 00000000..ab561618
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Guildford
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/GU2 7RW/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Guildford
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C43 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hannington b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hannington
new file mode 100755
index 00000000..d3bbc754
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hannington
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/RG26 5UD/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Hannington
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C45 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C41 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hastings b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hastings
new file mode 100755
index 00000000..520c86a1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hastings
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/TN34 1LE/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Hastings
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C25 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Heathfield b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Heathfield
new file mode 100755
index 00000000..fda6fe00
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Heathfield
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/TN21 0UG/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Heathfield
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C52 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HemelHempstead b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HemelHempstead
new file mode 100755
index 00000000..0116d4e8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HemelHempstead
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/HP3 8SA/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Hemel Hempstead
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C44 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C50 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HuntshawCross b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HuntshawCross
new file mode 100755
index 00000000..3b2b9644
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HuntshawCross
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/EX31 3ND/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Huntshaw Cross
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C50 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 777833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 745833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Idle b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Idle
new file mode 100755
index 00000000..e736ca94
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Idle
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BD18 1JP/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Idle
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C24 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KeelylangHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KeelylangHill
new file mode 100755
index 00000000..ac90b5dd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KeelylangHill
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/KW15 1SF/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Keelylang Hill
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C46 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C43 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 626167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Keighley b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Keighley
new file mode 100755
index 00000000..ab864482
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Keighley
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BD20 5RL/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Keighley
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C49 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KilveyHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KilveyHill
new file mode 100755
index 00000000..5919ee39
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KilveyHill
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/SA1 7BL/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Kilvey Hill
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C23 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KnockMore b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KnockMore
new file mode 100755
index 00000000..3d7e41f5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KnockMore
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/AB55 6XP/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Knockmore
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C26 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Lancaster b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Lancaster
new file mode 100755
index 00000000..0694e7a8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Lancaster
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/LA5 8AF/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Lancaster
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C27- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 521833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 497833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-LarkStoke b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-LarkStoke
new file mode 100755
index 00000000..3d7a6fb5
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-LarkStoke
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/GL55 6LS/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Lark Stoke
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C26 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Limavady b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Limavady
new file mode 100755
index 00000000..977b973a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Limavady
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BT49 9LJ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Limavady
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C50 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Llanddona b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Llanddona
new file mode 100755
index 00000000..88067eec
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Llanddona
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/LL58 8YB/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Llanddona
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C57 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C43 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Malvern b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Malvern
new file mode 100755
index 00000000..66c10e24
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Malvern
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/WR14 4AD/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Malvern
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C53 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C50 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 777833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Mendip b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Mendip
new file mode 100755
index 00000000..8d3849b6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Mendip
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BA5 3LB/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Mendip
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C49 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C48 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Midhurst b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Midhurst
new file mode 100755
index 00000000..37416ad9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Midhurst
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/GU28 9EA/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Midhurst
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C55 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C50 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-MoelyParc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-MoelyParc
new file mode 100755
index 00000000..a2300b70
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-MoelyParc
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/CH7 5UU/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Moel y Parc
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C45 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C51- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 713833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 689833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Nottingham b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Nottingham
new file mode 100755
index 00000000..8112ec72
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Nottingham
@@ -0,0 +1,93 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/NG16 2SU/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Nottingham
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C27 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C51 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C50 L-NOT]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-OliversMount b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-OliversMount
new file mode 100755
index 00000000..898e29a7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-OliversMount
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/YO11 2TZ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Olivers Mount
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C57 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Oxford b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Oxford
new file mode 100755
index 00000000..1274349c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Oxford
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/OX3 9SS/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Oxford
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C53+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C50 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 777833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C29 L-OFD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PendleForest b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PendleForest
new file mode 100755
index 00000000..7bcdd5ab
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PendleForest
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BB12 9PW/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Pendle Forest
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C28+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 521833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 497833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Plympton b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Plympton
new file mode 100755
index 00000000..d3bce92a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Plympton
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/PL7 1TT/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Plympton
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C54 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PontopPike b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PontopPike
new file mode 100755
index 00000000..2ceb2298
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PontopPike
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/DH9 9AT/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Pontop Pike
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C58 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C50 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C56 L-NCL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Pontypool b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Pontypool
new file mode 100755
index 00000000..b66c8373
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Pontypool
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/NP4 5XJ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Pontypool
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C23+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 505833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 481833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 529833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Preseli b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Preseli
new file mode 100755
index 00000000..72e71c2b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Preseli
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/SA41 3QR/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Preseli
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C43+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 641833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 665833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 626167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Redruth b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Redruth
new file mode 100755
index 00000000..650ca612
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Redruth
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/TR16 6QZ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Redruth
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C44+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C51 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Reigate b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Reigate
new file mode 100755
index 00000000..b845d377
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Reigate
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/RH2 9RN/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Reigate
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C60- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RidgeHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RidgeHill
new file mode 100755
index 00000000..abb09716
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RidgeHill
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/HR8 2PG/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Ridge Hill
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C28 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C21+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosemarkie b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosemarkie
new file mode 100755
index 00000000..7fbd7e30
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosemarkie
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/IV11 8XY/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Rosemarkie
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C45 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C43 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosneath b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosneath
new file mode 100755
index 00000000..cf006e73
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosneath
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/G84 0LF/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Rosneath
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C49 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 738000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rowridge b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rowridge
new file mode 100755
index 00000000..16f781d3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rowridge
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/PO30 4HT/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Rowridge
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C24 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C27 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C25 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C29 L-SOT]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RumsterForest b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RumsterForest
new file mode 100755
index 00000000..1f229cd4
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RumsterForest
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/KW5 6DJ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Rumster Forest
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C27 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Saddleworth b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Saddleworth
new file mode 100755
index 00000000..6a4b2d95
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Saddleworth
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/OL3 5RU/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Saddleworth
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C45 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C51- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 713833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52+ ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Salisbury b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Salisbury
new file mode 100755
index 00000000..17f24a94
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Salisbury
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/SP2 8NZ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Salisbury
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C57 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C50 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 777833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SandyHeath b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SandyHeath
new file mode 100755
index 00000000..5b342302
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SandyHeath
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/SG19 2NH/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Sandy Heath
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C27 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C32 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 562000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C51 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C52 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Selkirk b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Selkirk
new file mode 100755
index 00000000..ee4d822d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Selkirk
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/TD7 4QN/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Selkirk
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C50 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 777833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sheffield b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sheffield
new file mode 100755
index 00000000..cc31205e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sheffield
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/S10 5GL/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Sheffield
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C27 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 522000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C24 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 498000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C21+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 474167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C55 L-SFD]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-StocklandHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-StocklandHill
new file mode 100755
index 00000000..8b9ad5aa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-StocklandHill
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/EX14 9EP/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Stockland Hill
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C26+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23+ D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25- SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C28- ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Storeton b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Storeton
new file mode 100755
index 00000000..15f8869b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Storeton
@@ -0,0 +1,93 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/CH63 2RH/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Storeton
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C28 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C30 L-LIV]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 546000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sudbury b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sudbury
new file mode 100755
index 00000000..3be09478
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sudbury
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/CO10 5NG/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Sudbury
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C44 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C60- ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SuttonColdfield b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SuttonColdfield
new file mode 100755
index 00000000..ff1deede
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SuttonColdfield
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/B75 5JJ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Sutton Coldfield
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C43 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 650000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C46 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 674000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C33 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 570000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C40+ BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 626167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C51 L-BRM]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Tacolneston b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Tacolneston
new file mode 100755
index 00000000..1f664b8e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Tacolneston
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/NR16 1DW/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Tacolneston
+# date (yyyy-mm-dd) : 2015-01-17
+#
+#----------------------------------------------------------------------------------------------
+[C55- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 745833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 777833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C50 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TheWrekin b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TheWrekin
new file mode 100755
index 00000000..fe58789e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TheWrekin
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/TF6 5AH/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, The Wrekin
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C26 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C30- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 545833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Torosay b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Torosay
new file mode 100755
index 00000000..74b96e40
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Torosay
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/PA65 6AZ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Torosay
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C28 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 530000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C25 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 506000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C23 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 490000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C26 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C29 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C22 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 482000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TunbridgeWells b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TunbridgeWells
new file mode 100755
index 00000000..47ed2823
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TunbridgeWells
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/TN11 0NB/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Tunbridge Wells
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C52 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 722000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C42 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C41 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Waltham b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Waltham
new file mode 100755
index 00000000..789ae685
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Waltham
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/LE14 4AJ/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Waltham
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C49 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54- D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 737833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C29 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 538000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C58 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C26 L-NOT]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Wenvoe b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Wenvoe
new file mode 100755
index 00000000..7d21b7ad
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Wenvoe
@@ -0,0 +1,106 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/CF5 6SA/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Wenvoe
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C41+ BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C44 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 658000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C42+ SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 642167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C45 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 666000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C39+ ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 618167000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C47 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 682000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C51 L-CDF]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QPSK
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WhitehawkHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WhitehawkHill
new file mode 100755
index 00000000..3cbabbbb
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WhitehawkHill
@@ -0,0 +1,81 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BN2 5EL/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Whitehawk Hill
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C60- BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 785833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C53 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 730000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C57 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 762000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C56 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 754000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C48 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 690000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C51 BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 714000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WinterHill b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WinterHill
new file mode 100755
index 00000000..15546d70
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WinterHill
@@ -0,0 +1,94 @@
+#----------------------------------------------------------------------------------------------
+# Auto-generated from:
+# <http://www.digitaluk.co.uk/coveragechecker/main/tradeexport/BL6 6SL/NA/0/>
+#----------------------------------------------------------------------------------------------
+# location and provider: UK, Winter Hill
+# date (yyyy-mm-dd) : 2014-03-25
+#
+#----------------------------------------------------------------------------------------------
+[C50 BBC A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 706000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C59 D3&4]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 778000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C31 COM7 HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 554000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
+[C58 SDN]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 770000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C49 ARQ A]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 698000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C55 ARQ B]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 746000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 8K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[C54- BBC B HD]
+ DELIVERY_SYSTEM = DVBT2
+ FREQUENCY = 737833000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 2/3
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/256
+ TRANSMISSION_MODE = 32K
+ GUARD_INTERVAL = 1/128
+ HIERARCHY = NONE
+ STREAM_ID = 0
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Hanoi b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Hanoi
new file mode 100755
index 00000000..abb9695b
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Hanoi
@@ -0,0 +1,26 @@
+# Hanoi - Vietnam - DVB-T by VTC
+# contributed by Pham Thanh Nam <phamthanhnam.ptn@gmail.com>
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 514000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 578000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Thaibinh b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Thaibinh
new file mode 100755
index 00000000..f340948d
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Thaibinh
@@ -0,0 +1,26 @@
+# Thaibinh - Vietnam - DVB-T by VTC
+# contributed by Pham Thanh Nam <phamthanhnam.ptn@gmail.com>
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 626000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
+[CHANNEL]
+ DELIVERY_SYSTEM = DVBT
+ FREQUENCY = 634000000
+ BANDWIDTH_HZ = 8000000
+ CODE_RATE_HP = 3/4
+ CODE_RATE_LP = NONE
+ MODULATION = QAM/64
+ TRANSMISSION_MODE = 2K
+ GUARD_INTERVAL = 1/32
+ HIERARCHY = NONE
+ INVERSION = AUTO
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb
new file mode 100644
index 00000000..278bda9f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)"
+SECTION = "libs"
+LICENSE = "LGPLv2+"
+HOMEPAGE = "http://www.audiocoding.com/faac.html"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0"
+
+LICENSE_FLAGS = "commercial"
+
+inherit autotools
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \
+"
+
+SRC_URI[md5sum] = "2b58d621fad8fda879f07b7cad8bfe10"
+SRC_URI[sha256sum] = "d45f209d837c49dae6deebcdd87b8cc3b04ea290880358faecf5e7737740c771"
+
+PACKAGES =+ "lib${BPN} lib${BPN}-dev"
+
+FILES_${PN} = " ${bindir}/faac "
+FILES_lib${BPN} = " ${libdir}/*.so.*"
+FILES_lib${BPN}-dev = " \
+ ${includedir} \
+ ${libdir}/*.so \
+ ${libdir}/*.la \
+"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb
deleted file mode 100644
index d36f2f48..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)"
-SECTION = "libs"
-LICENSE = "LGPLv2+"
-HOMEPAGE = "http://www.audiocoding.com/faac.html"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0"
-
-LICENSE_FLAGS = "commercial"
-
-inherit autotools
-
-SRC_URI = " \
- ${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \
- file://0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \
-"
-
-SRC_URI[md5sum] = "78603720f655180059d6970c582a3005"
-SRC_URI[sha256sum] = "8cc7b03ceb2722223a6457e95d4c994731d80214a03ba33d1af76ba53f4b3197"
-
-EXTRA_OECONF += "--without-mp4v2"
-
-PACKAGES =+ "lib${BPN} lib${BPN}-dev"
-
-FILES_${PN} = " ${bindir}/faac "
-FILES_lib${PN} = " ${libdir}/*.so.*"
-FILES_lib${PN}-dev = " \
- ${includedir} \
- ${libdir}/*.so \
- ${libdir}/*.la \
-"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch
deleted file mode 100644
index d845ddf5..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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/external/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb
new file mode 100644
index 00000000..d7911681
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "FDK-AAC audio codec"
+
+DESCRIPTION = "The Fraunhofer FDK AAC Codec Library for Android \
+(\"FDK AAC Codec\") is software that implements the MPEG \
+Advanced Audio Coding (\"AAC\") encoding and decoding scheme \
+for digital audio."
+
+HOMEPAGE = "https://www.iis.fraunhofer.de/en/ff/amm/impl.html"
+
+LICENSE = "Fraunhofer_FDK_AAC_Codec_Library_for_Android"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=5985e1e12f4afa710d64ed7bfd291875"
+
+SRC_URI = "git://github.com/mstorsjo/fdk-aac.git;protocol=git;branch=master"
+SRCREV = "d387d3b6ed79ff9a82c60440bdd86e6e5e324bec"
+
+S = "${WORKDIR}/git"
+
+SRC_URI[md5sum] = "fef453b5d6ee28ff302c600b8cded3e7"
+SRC_URI[sha256sum] = "07c2a64b098eb48b2e9d729d5e778c08f7d22f28adc8da7c3f92c58da1cbbd8e"
+
+inherit autotools
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
deleted file mode 100644
index 0e1846e3..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 2de7e128fbdf528716b500cf27ed9a4358c931c9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Fri, 24 Nov 2017 00:05:35 +0100
-Subject: [PATCH 2/2] Use ARM-NEON accelaration for float-multithreaded setups
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- src/rvoice/fluid_rvoice_mixer.c | 26 ++++++++++++++++++++++++++
- 1 file changed, 26 insertions(+)
-
-diff --git a/src/rvoice/fluid_rvoice_mixer.c b/src/rvoice/fluid_rvoice_mixer.c
-index 9616518..dbf8057 100644
---- a/src/rvoice/fluid_rvoice_mixer.c
-+++ b/src/rvoice/fluid_rvoice_mixer.c
-@@ -27,6 +27,10 @@
- #include "fluid_ladspa.h"
- #include "fluid_synth.h"
-
-+#if defined(__ARM_NEON__)
-+#include "arm_neon.h"
-+#endif
-+
-
- #define ENABLE_MIXER_THREADS 1
-
-@@ -794,20 +798,42 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t* dest, fluid_mixer_buffers_t* src)
- if (minbuf > src->buf_count)
- minbuf = src->buf_count;
- for (i=0; i < minbuf; i++) {
-+#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
-+ for (j=0; j < scount; j+=4) {
-+ float32x4_t vleft = vld1q_f32(&dest->left_buf[i][j]);
-+ float32x4_t vright = vld1q_f32(&dest->right_buf[i][j]);
-+ vleft = vaddq_f32(vleft, vld1q_f32(&src->left_buf[i][j]));
-+ vright = vaddq_f32(vright, vld1q_f32(&src->right_buf[i][j]));
-+ vst1q_f32(&dest->left_buf[i][j], vleft);
-+ vst1q_f32(&dest->right_buf[i][j], vright);
-+ }
-+#else
- for (j=0; j < scount; j++) {
- dest->left_buf[i][j] += src->left_buf[i][j];
- dest->right_buf[i][j] += src->right_buf[i][j];
- }
-+#endif
- }
-
- minbuf = dest->fx_buf_count;
- if (minbuf > src->fx_buf_count)
- minbuf = src->fx_buf_count;
- for (i=0; i < minbuf; i++) {
-+#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
-+ for (j=0; j < scount; j+=4) {
-+ float32x4_t vleft = vld1q_f32(&dest->fx_left_buf[i][j]);
-+ float32x4_t vright = vld1q_f32(&dest->fx_right_buf[i][j]);
-+ vleft = vaddq_f32(vleft, vld1q_f32(&src->fx_left_buf[i][j]));
-+ vright = vaddq_f32(vright, vld1q_f32(&src->fx_right_buf[i][j]));
-+ vst1q_f32(&dest->fx_left_buf[i][j], vleft);
-+ vst1q_f32(&dest->fx_right_buf[i][j], vright);
-+ }
-+#else
- for (j=0; j < scount; j++) {
- dest->fx_left_buf[i][j] += src->fx_left_buf[i][j];
- dest->fx_right_buf[i][j] += src->fx_right_buf[i][j];
- }
-+#endif
- }
- }
-
---
-2.9.5
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb
new file mode 100644
index 00000000..a95c4c42
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb
@@ -0,0 +1,10 @@
+require ${BPN}.inc
+
+inherit native
+
+OECMAKE_SOURCEPATH = "${S}/src/gentables"
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -m 755 ${B}/make_tables.exe ${D}/${bindir}/
+}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
new file mode 100644
index 00000000..fcc9df8c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
@@ -0,0 +1,12 @@
+SUMMARY = "Fluidsynth is a software synthesizer"
+HOMEPAGE = "http://www.fluidsynth.org/"
+SECTION = "libs/multimedia"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
+
+SRC_URI = "git://github.com/FluidSynth/fluidsynth.git"
+SRCREV = "19a20eb8526465fdf940b740b13462d71e190a1a"
+S = "${WORKDIR}/git"
+PV = "2.1.3"
+
+inherit cmake pkgconfig lib_package
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch
new file mode 100644
index 00000000..cc73bdb1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch
@@ -0,0 +1,49 @@
+From 81ea820b155e887b13ea5986c3407cf93b2737f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 2 Jan 2019 18:42:46 +0100
+Subject: [PATCH] Do not build gentables helper - we have to use native variant
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/CMakeLists.txt | 23 +----------------------
+ 1 file changed, 1 insertion(+), 22 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 356bb734..58ff7635 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -399,25 +399,4 @@ else ( MACOSX_FRAMEWORK )
+ install ( FILES ${public_main_HEADER} DESTINATION ${INCLUDE_INSTALL_DIR} )
+ endif ( MACOSX_FRAMEWORK )
+
+-# ******* Auto Generated Lookup Tables ******
+-
+-include(ExternalProject)
+-
+-set (GENTAB_SDIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables)
+-set (GENTAB_BDIR ${CMAKE_CURRENT_BINARY_DIR}/gentables)
+-
+-# Use external project to ensure that cmake uses the host compiler when building make_tables.exe
+-# To fix cross-compiling fluidsynth from Win32 to ARM (using vcpkg), we need to pass the current generator
+-# on to the external project, otherwise (for some unknown reason) the target compiler will be used rather
+-# than the host compiler.
+-ExternalProject_Add(gentables
+- DOWNLOAD_COMMAND ""
+- SOURCE_DIR ${GENTAB_SDIR}
+- BINARY_DIR ${GENTAB_BDIR}
+- CONFIGURE_COMMAND
+- "${CMAKE_COMMAND}" -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE} -G "${CMAKE_GENERATOR}" -B "${GENTAB_BDIR}" "${GENTAB_SDIR}"
+- BUILD_COMMAND
+- "${CMAKE_COMMAND}" --build "${GENTAB_BDIR}"
+- INSTALL_COMMAND ${GENTAB_BDIR}/make_tables.exe "${CMAKE_BINARY_DIR}/"
+-)
+-add_dependencies(libfluidsynth-OBJ gentables)
++
+--
+2.21.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch
new file mode 100644
index 00000000..94daa951
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch
@@ -0,0 +1,178 @@
+From 300977537b6056bdbbba9df9100fa6e891ca1f44 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 17 Dec 2018 14:08:45 +0100
+Subject: [PATCH 2/2] fluid_synth_nwrite_float: Allow zero pointer for
+ left/right and zero pointer in arrays
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+With this modification a client can define exactly what it wants to get into
+buffers to avoid useless copying of data. On weak machines this leads to measurable
+performance wins.
+
+Upstream-Status: Submitted [1]
+
+[1] https://github.com/FluidSynth/fluidsynth/pull/490
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/synth/fluid_synth.c | 69 ++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 48 insertions(+), 21 deletions(-)
+
+diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c
+index 0df620d3..379f8216 100644
+--- a/src/synth/fluid_synth.c
++++ b/src/synth/fluid_synth.c
+@@ -3306,10 +3306,10 @@ fluid_synth_program_reset(fluid_synth_t *synth)
+ * Synthesize a block of floating point audio to separate audio buffers (multichannel rendering). First effect channel used by reverb, second for chorus.
+ * @param synth FluidSynth instance
+ * @param len Count of audio frames to synthesize
+- * @param left Array of float buffers to store left channel of planar audio (as many as \c synth.audio-channels buffers, each of \c len in size)
+- * @param right Array of float buffers to store right channel of planar audio (size: dito)
+- * @param fx_left Since 1.1.7: If not \c NULL, array of float buffers to store left effect channels (as many as \c synth.effects-channels buffers, each of \c len in size)
+- * @param fx_right Since 1.1.7: If not \c NULL, array of float buffers to store right effect channels (size: dito)
++ * @param left Array of float buffers to store left channel of planar audio (as many as \c synth.audio-channels buffers, each of \c len in size). Since 2.0.3: NULL allowed / NULL allowed for array entry
++ * @param right Array of float buffers to store right channel of planar audio (size: dito). Since 2.0.3: NULL allowed / NULL allowed for array entry
++ * @param fx_left Since 1.1.7: If not \c NULL, array of float buffers to store left effect channels (as many as \c synth.effects-channels buffers, each of \c len in size). Since 2.0.3: NULL allowed for array entry
++ * @param fx_right Since 1.1.7: If not \c NULL, array of float buffers to store right effect channels (size: dito). Since 2.0.3: NULL allowed for array entry
+ * @return #FLUID_OK on success, #FLUID_FAILED otherwise
+ *
+ * @note Should only be called from synthesis thread.
+@@ -3386,15 +3386,27 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+ for(i = 0; i < synth->audio_channels; i++)
+ {
+ #ifdef WITH_FLOAT
+- FLUID_MEMCPY(left[i], &left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + synth->cur], bytes);
+- FLUID_MEMCPY(right[i], &right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + synth->cur], bytes);
++ if(left != NULL && left[i] != NULL)
++ {
++ FLUID_MEMCPY(left[i], &left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + synth->cur], bytes);
++ }
++ if(right != NULL && right[i] != NULL)
++ {
++ FLUID_MEMCPY(right[i], &right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + synth->cur], bytes);
++ }
+ #else //WITH_FLOAT
+ int j;
+
+ for(j = 0; j < num; j++)
+ {
+- left[i][j] = (float) left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + j + synth->cur];
+- right[i][j] = (float) right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + j + synth->cur];
++ if(left != NULL && left[i] != NULL)
++ {
++ left[i][j] = (float) left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + j + synth->cur];
++ }
++ if(right != NULL && right[i] != NULL)
++ {
++ right[i][j] = (float) right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + j + synth->cur];
++ }
+ }
+
+ #endif //WITH_FLOAT
+@@ -3404,12 +3416,12 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+ {
+ #ifdef WITH_FLOAT
+
+- if(fx_left != NULL)
++ if(fx_left != NULL && fx_left[i] != NULL)
+ {
+ FLUID_MEMCPY(fx_left[i], &fx_left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + synth->cur], bytes);
+ }
+
+- if(fx_right != NULL)
++ if(fx_right != NULL && fx_right[i] != NULL)
+ {
+ FLUID_MEMCPY(fx_right[i], &fx_right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + synth->cur], bytes);
+ }
+@@ -3417,7 +3429,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+ #else //WITH_FLOAT
+ int j;
+
+- if(fx_left != NULL)
++ if(fx_left != NULL && fx_left[i] != NULL)
+ {
+ for(j = 0; j < num; j++)
+ {
+@@ -3425,7 +3437,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+ }
+ }
+
+- if(fx_right != NULL)
++ if(fx_right != NULL && fx_right[i] != NULL)
+ {
+ for(j = 0; j < num; j++)
+ {
+@@ -3456,15 +3468,30 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+ for(i = 0; i < synth->audio_channels; i++)
+ {
+ #ifdef WITH_FLOAT
+- FLUID_MEMCPY(left[i] + count, &left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT], bytes);
+- FLUID_MEMCPY(right[i] + count, &right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT], bytes);
++ if(left != NULL && left[i] != NULL)
++ {
++ FLUID_MEMCPY(left[i] + count, &left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT], bytes);
++ }
++ if(right != NULL && right[i] != NULL)
++ {
++ FLUID_MEMCPY(right[i] + count, &right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT], bytes);
++ }
+ #else //WITH_FLOAT
+ int j;
+
+- for(j = 0; j < num; j++)
++ if(left != NULL && left[i] != NULL)
++ {
++ for(j = 0; j < num; j++)
++ {
++ left[i][j + count] = (float) left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + j];
++ }
++ }
++ if(right != NULL && right[i] != NULL)
+ {
+- left[i][j + count] = (float) left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + j];
+- right[i][j + count] = (float) right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + j];
++ for(j = 0; j < num; j++)
++ {
++ right[i][j + count] = (float) right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT + j];
++ }
+ }
+
+ #endif //WITH_FLOAT
+@@ -3474,12 +3501,12 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+ {
+ #ifdef WITH_FLOAT
+
+- if(fx_left != NULL)
++ if(fx_left != NULL && fx_left[i] != NULL)
+ {
+ FLUID_MEMCPY(fx_left[i] + count, &fx_left_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT], bytes);
+ }
+
+- if(fx_right != NULL)
++ if(fx_right != NULL && fx_right[i] != NULL)
+ {
+ FLUID_MEMCPY(fx_right[i] + count, &fx_right_in[i * FLUID_BUFSIZE * FLUID_MIXER_MAX_BUFFERS_DEFAULT], bytes);
+ }
+@@ -3487,7 +3514,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+ #else //WITH_FLOAT
+ int j;
+
+- if(fx_left != NULL)
++ if(fx_left != NULL && fx_left[i] != NULL)
+ {
+ for(j = 0; j < num; j++)
+ {
+@@ -3495,7 +3522,7 @@ fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
+ }
+ }
+
+- if(fx_right != NULL)
++ if(fx_right != NULL && fx_right[i] != NULL)
+ {
+ for(j = 0; j < num; j++)
+ {
+--
+2.14.5
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
new file mode 100644
index 00000000..ead09954
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
@@ -0,0 +1,304 @@
+From 947f79f97a5fa6547d99bff282606026632e010b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 13 Oct 2018 23:01:11 +0200
+Subject: [PATCH] Use ARM-NEON accelaration for float-multithreaded setups
+
+Profiling shows a considerable performance win. See estimated number of voices:
+They increase from ~471 to ~513 which makes a ~9% win:
+
+*******************************************************************************
+WITHOUT ARM NEON:
+*******************************************************************************
+
+morona@raspberrypi3:~$ fluidsynth -o synth.cpu-cores=4 -o synth.chorus.active=0 -o synth.reverb.active=0 /usr/share/sf2/fluidr3gm.sf2
+> prof_set_print 1
+> prof_set_notes 10
+> prof_start 3 10000
+Generating 10 notes, generated voices:20
+Number of measures(n_prof):3, duration of one mesure(dur):10000ms
+
+Profiling time(mm:ss): Total=0:30 Remainder=0:30, press <ENTER> to cancel
+ ------------------------------------------------------------------------------
+ Duration(microsecond) and cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond)
+ ------------------------------------------------------------------------------
+ Code under profiling |Voices| Duration (microsecond) | Load(%)
+ | nbr| min| avg| max|
+ ---------------------------|------|--------------------------------|----------
+ synth_write_* ------------>| 20| 112.00| 118.96| 206.00| 4.461
+ synth_one_block ---------->| 20| 109.00| 116.44| 196.00| 4.367
+ synth_one_block:clear ---->| 20| 1.00| 1.67| 18.00| 0.063
+ synth_one_block:one voice->| 1| 11.00| 12.36| 58.00| 0.463
+ synth_one_block:all voices>| 20| 107.00| 113.47| 187.00| 4.255
+ synth_one_block:reverb --->| no profiling available
+ synth_one_block:chorus --->| no profiling available
+ voice:note --------------->| no profiling available
+ voice:release ------------>| no profiling available
+ ------------------------------------------------------------------------------
+ Cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond) and maximum voices
+ ------------------------------------------------------------------------------
+ nVoices| total(%)|voices(%)| reverb(%)|chorus(%)| voice(%)|estimated maxVoices
+ -------|---------|---------|----------|---------|---------|-------------------
+ 20| 4.461| 4.461| 0.000| 0.000| 0.213| 470
+
+Profiling time(mm:ss): Total=0:30 Remainder=0:20, press <ENTER> to cancel
+ ------------------------------------------------------------------------------
+ Duration(microsecond) and cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond)
+ ------------------------------------------------------------------------------
+ Code under profiling |Voices| Duration (microsecond) | Load(%)
+ | nbr| min| avg| max|
+ ---------------------------|------|--------------------------------|----------
+ synth_write_* ------------>| 20| 112.00| 118.42| 216.00| 4.441
+ synth_one_block ---------->| 20| 109.00| 115.91| 205.00| 4.347
+ synth_one_block:clear ---->| 20| 1.00| 1.65| 18.00| 0.062
+ synth_one_block:one voice->| 1| 11.00| 12.30| 58.00| 0.461
+ synth_one_block:all voices>| 20| 107.00| 112.98| 197.00| 4.237
+ synth_one_block:reverb --->| no profiling available
+ synth_one_block:chorus --->| no profiling available
+ voice:note --------------->| no profiling available
+ voice:release ------------>| no profiling available
+ ------------------------------------------------------------------------------
+ Cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond) and maximum voices
+ ------------------------------------------------------------------------------
+ nVoices| total(%)|voices(%)| reverb(%)|chorus(%)| voice(%)|estimated maxVoices
+ -------|---------|---------|----------|---------|---------|-------------------
+ 20| 4.441| 4.441| 0.000| 0.000| 0.212| 472
+
+Profiling time(mm:ss): Total=0:30 Remainder=0:10, press <ENTER> to cancel
+ ------------------------------------------------------------------------------
+ Duration(microsecond) and cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond)
+ ------------------------------------------------------------------------------
+ Code under profiling |Voices| Duration (microsecond) | Load(%)
+ | nbr| min| avg| max|
+ ---------------------------|------|--------------------------------|----------
+ synth_write_* ------------>| 20| 112.00| 118.64| 244.00| 4.449
+ synth_one_block ---------->| 20| 109.00| 116.12| 234.00| 4.355
+ synth_one_block:clear ---->| 20| 1.00| 1.67| 37.00| 0.062
+ synth_one_block:one voice->| 1| 11.00| 12.31| 63.00| 0.462
+ synth_one_block:all voices>| 20| 107.00| 113.18| 214.00| 4.244
+ synth_one_block:reverb --->| no profiling available
+ synth_one_block:chorus --->| no profiling available
+ voice:note --------------->| no profiling available
+ voice:release ------------>| no profiling available
+ ------------------------------------------------------------------------------
+ Cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond) and maximum voices
+ ------------------------------------------------------------------------------
+ nVoices| total(%)|voices(%)| reverb(%)|chorus(%)| voice(%)|estimated maxVoices
+ -------|---------|---------|----------|---------|---------|-------------------
+ 20| 4.449| 4.449| 0.000| 0.000| 0.212| 471
+Stopping 20 voices...voices stopped.
+> quit
+cheers!
+JackTemporaryException : now quits...
+Jack main caught signal 2
+fluid_profiling_print
+fluidsynth: Estimated times: min/avg/max (micro seconds)
+fluidsynth: synth_write_* ------------>: 112.000/118.636/244.000
+fluidsynth: synth_one_block ---------->: 109.000/116.124/234.000
+fluidsynth: synth_one_block:clear ---->: 1.000/1.665/37.000
+fluidsynth: synth_one_block:one voice->: 11.000/12.309/63.000
+fluidsynth: synth_one_block:all voices>: 107.000/113.180/214.000
+
+*******************************************************************************
+WITH ARM NEON:
+*******************************************************************************
+
+morona@raspberrypi3:~$ fluidsynth -o synth.cpu-cores=4 -o synth.chorus.active=0 -o synth.reverb.active=0 /usr/share/sf2/fluidr3gm.sf2
+> prof_set_print 1
+> prof_set_notes 10
+> prof_start 3 10000
+Generating 10 notes, generated voices:20
+Number of measures(n_prof):3, duration of one mesure(dur):10000ms
+
+Profiling time(mm:ss): Total=0:30 Remainder=0:30, press <ENTER> to cancel
+ ------------------------------------------------------------------------------
+ Duration(microsecond) and cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond)
+ ------------------------------------------------------------------------------
+ Code under profiling |Voices| Duration (microsecond) | Load(%)
+ | nbr| min| avg| max|
+ ---------------------------|------|--------------------------------|----------
+ synth_write_* ------------>| 20| 102.00| 109.21| 213.00| 4.095
+ synth_one_block ---------->| 20| 99.00| 106.68| 201.00| 4.001
+ synth_one_block:clear ---->| 20| 1.00| 1.64| 18.00| 0.062
+ synth_one_block:one voice->| 1| 11.00| 12.30| 54.00| 0.461
+ synth_one_block:all voices>| 20| 97.00| 103.71| 188.00| 3.889
+ synth_one_block:reverb --->| no profiling available
+ synth_one_block:chorus --->| no profiling available
+ voice:note --------------->| no profiling available
+ voice:release ------------>| no profiling available
+ ------------------------------------------------------------------------------
+ Cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond) and maximum voices
+ ------------------------------------------------------------------------------
+ nVoices| total(%)|voices(%)| reverb(%)|chorus(%)| voice(%)|estimated maxVoices
+ -------|---------|---------|----------|---------|---------|-------------------
+ 20| 4.095| 4.095| 0.000| 0.000| 0.194| 514
+
+Profiling time(mm:ss): Total=0:30 Remainder=0:20, press <ENTER> to cancel
+ ------------------------------------------------------------------------------
+ Duration(microsecond) and cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond)
+ ------------------------------------------------------------------------------
+ Code under profiling |Voices| Duration (microsecond) | Load(%)
+ | nbr| min| avg| max|
+ ---------------------------|------|--------------------------------|----------
+ synth_write_* ------------>| 20| 102.00| 109.46| 278.00| 4.105
+ synth_one_block ---------->| 20| 99.00| 106.91| 265.00| 4.009
+ synth_one_block:clear ---->| 20| 1.00| 1.67| 22.00| 0.062
+ synth_one_block:one voice->| 1| 11.00| 12.30| 54.00| 0.461
+ synth_one_block:all voices>| 20| 97.00| 103.94| 251.00| 3.898
+ synth_one_block:reverb --->| no profiling available
+ synth_one_block:chorus --->| no profiling available
+ voice:note --------------->| no profiling available
+ voice:release ------------>| no profiling available
+ ------------------------------------------------------------------------------
+ Cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond) and maximum voices
+ ------------------------------------------------------------------------------
+ nVoices| total(%)|voices(%)| reverb(%)|chorus(%)| voice(%)|estimated maxVoices
+ -------|---------|---------|----------|---------|---------|-------------------
+ 20| 4.105| 4.105| 0.000| 0.000| 0.195| 513
+
+Profiling time(mm:ss): Total=0:30 Remainder=0:10, press <ENTER> to cancel
+ ------------------------------------------------------------------------------
+ Duration(microsecond) and cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond)
+ ------------------------------------------------------------------------------
+ Code under profiling |Voices| Duration (microsecond) | Load(%)
+ | nbr| min| avg| max|
+ ---------------------------|------|--------------------------------|----------
+ synth_write_* ------------>| 20| 102.00| 109.22| 278.00| 4.096
+ synth_one_block ---------->| 20| 99.00| 106.65| 265.00| 3.999
+ synth_one_block:clear ---->| 20| 1.00| 1.67| 22.00| 0.062
+ synth_one_block:one voice->| 1| 11.00| 12.31| 57.00| 0.462
+ synth_one_block:all voices>| 20| 97.00| 103.68| 251.00| 3.888
+ synth_one_block:reverb --->| no profiling available
+ synth_one_block:chorus --->| no profiling available
+ voice:note --------------->| no profiling available
+ voice:release ------------>| no profiling available
+ ------------------------------------------------------------------------------
+ Cpu loads(%) (sr: 48000 Hz, sp: 20.83 microsecond) and maximum voices
+ ------------------------------------------------------------------------------
+ nVoices| total(%)|voices(%)| reverb(%)|chorus(%)| voice(%)|estimated maxVoices
+ -------|---------|---------|----------|---------|---------|-------------------
+ 20| 4.096| 4.096| 0.000| 0.000| 0.194| 514
+Stopping 20 voices...voices stopped.
+> quit
+cheers!
+JackTemporaryException : now quits...
+Jack main caught signal 2
+fluid_profiling_print
+fluidsynth: Estimated times: min/avg/max (micro seconds)
+fluidsynth: synth_write_* ------------>: 102.000/109.216/278.000
+fluidsynth: synth_one_block ---------->: 99.000/106.649/265.000
+fluidsynth: synth_one_block:clear ---->: 1.000/1.666/22.000
+fluidsynth: synth_one_block:one voice->: 11.000/12.307/57.000
+fluidsynth: synth_one_block:all voices>: 97.000/103.681/251.000
+
+Upstream-Status: Inappropriate [embedded-specific]
+
+---
+ src/rvoice/fluid_rvoice_mixer.c | 55 ++++++++++++++++++++++++++++++++-
+ 1 file changed, 54 insertions(+), 1 deletion(-)
+
+diff --git a/src/rvoice/fluid_rvoice_mixer.c b/src/rvoice/fluid_rvoice_mixer.c
+index af0ef75d..07a357c7 100644
+--- a/src/rvoice/fluid_rvoice_mixer.c
++++ b/src/rvoice/fluid_rvoice_mixer.c
+@@ -27,6 +27,9 @@
+ #include "fluid_ladspa.h"
+ #include "fluid_synth.h"
+
++#if defined(__ARM_NEON__)
++#include "arm_neon.h"
++#endif
+
+ // If less than x voices, the thread overhead is larger than the gain,
+ // so don't activate the thread(s).
+@@ -1053,9 +1056,15 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t *dst, fluid_mixer_buffers_t *src,
+ int i, j;
+ int scount = current_blockcount * FLUID_BUFSIZE;
+ int minbuf;
++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
++ fluid_real_t *FLUID_RESTRICT base_src_left;
++ fluid_real_t *FLUID_RESTRICT base_src_right;
++ fluid_real_t *FLUID_RESTRICT base_dst_left;
++ fluid_real_t *FLUID_RESTRICT base_dst_right;
++#else
+ fluid_real_t *FLUID_RESTRICT base_src;
+ fluid_real_t *FLUID_RESTRICT base_dst;
+-
++#endif
+ minbuf = dst->buf_count;
+
+ if(minbuf > src->buf_count)
+@@ -1063,6 +1072,27 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t *dst, fluid_mixer_buffers_t *src,
+ minbuf = src->buf_count;
+ }
+
++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
++ base_src_left = fluid_align_ptr(src->left_buf, FLUID_DEFAULT_ALIGNMENT);
++ base_dst_left = fluid_align_ptr(dst->left_buf, FLUID_DEFAULT_ALIGNMENT);
++ base_src_right = fluid_align_ptr(src->right_buf, FLUID_DEFAULT_ALIGNMENT);
++ base_dst_right = fluid_align_ptr(dst->right_buf, FLUID_DEFAULT_ALIGNMENT);
++
++ for(i = 0; i < minbuf; i++)
++ {
++ for(j = 0; j < scount; j+=4)
++ {
++ int dsp_i = i * FLUID_MIXER_MAX_BUFFERS_DEFAULT * FLUID_BUFSIZE + j;
++
++ float32x4_t vleft = vld1q_f32(&base_dst_left[dsp_i]);
++ float32x4_t vright = vld1q_f32(&base_dst_right[dsp_i]);
++ vleft = vaddq_f32(vleft, vld1q_f32(&base_src_left[dsp_i]));
++ vright = vaddq_f32(vright, vld1q_f32(&base_src_right[dsp_i]));
++ vst1q_f32(&base_dst_left[dsp_i], vleft);
++ vst1q_f32(&base_dst_right[dsp_i], vright);
++ }
++ }
++#else
+ base_src = fluid_align_ptr(src->left_buf, FLUID_DEFAULT_ALIGNMENT);
+ base_dst = fluid_align_ptr(dst->left_buf, FLUID_DEFAULT_ALIGNMENT);
+
+@@ -1090,6 +1120,7 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t *dst, fluid_mixer_buffers_t *src,
+ base_dst[dsp_i] += base_src[dsp_i];
+ }
+ }
++#endif
+
+ minbuf = dst->fx_buf_count;
+
+@@ -1098,6 +1129,27 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t *dst, fluid_mixer_buffers_t *src,
+ minbuf = src->fx_buf_count;
+ }
+
++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
++ base_src_left = fluid_align_ptr(src->fx_left_buf, FLUID_DEFAULT_ALIGNMENT);
++ base_dst_left = fluid_align_ptr(dst->fx_left_buf, FLUID_DEFAULT_ALIGNMENT);
++ base_src_right = fluid_align_ptr(src->fx_right_buf, FLUID_DEFAULT_ALIGNMENT);
++ base_dst_right = fluid_align_ptr(dst->fx_right_buf, FLUID_DEFAULT_ALIGNMENT);
++
++ for(i = 0; i < minbuf; i++)
++ {
++ for(j = 0; j < scount; j+=4)
++ {
++ int dsp_i = i * FLUID_MIXER_MAX_BUFFERS_DEFAULT * FLUID_BUFSIZE + j;
++
++ float32x4_t vleft = vld1q_f32(&base_dst_left[dsp_i]);
++ float32x4_t vright = vld1q_f32(&base_dst_right[dsp_i]);
++ vleft = vaddq_f32(vleft, vld1q_f32(&base_src_left[dsp_i]));
++ vright = vaddq_f32(vright, vld1q_f32(&base_src_right[dsp_i]));
++ vst1q_f32(&base_dst_left[dsp_i], vleft);
++ vst1q_f32(&base_dst_right[dsp_i], vright);
++ }
++ }
++#else
+ base_src = fluid_align_ptr(src->fx_left_buf, FLUID_DEFAULT_ALIGNMENT);
+ base_dst = fluid_align_ptr(dst->fx_left_buf, FLUID_DEFAULT_ALIGNMENT);
+
+@@ -1125,6 +1177,7 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t *dst, fluid_mixer_buffers_t *src,
+ base_dst[dsp_i] += base_src[dsp_i];
+ }
+ }
++#endif
+ }
+
+
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb
deleted file mode 100644
index 4df31027..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Fluidsynth is a software synthesizer"
-HOMEPAGE = "http://www.fluidsynth.org/"
-SECTION = "libs/multimedia"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
-
-DEPENDS = "alsa-lib ncurses glib-2.0"
-
-SRC_URI = " \
- git://github.com/FluidSynth/fluidsynth.git;branch=1.1.x \
- file://0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
-"
-SRCREV = "f65c6ba25fb2c7e37c89fc6a4afc5aa645e208c2"
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig lib_package
-
-EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
-PACKAGECONFIG[sndfile] = "-Denable-libsndfile-support=ON,-Denable-libsndfile-support=OFF,libsndfile1"
-PACKAGECONFIG[jack] = "-Denable-jack-support=ON,-Denable-jack-support=OFF,jack"
-PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
-PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
new file mode 100644
index 00000000..ba1ef6b1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
@@ -0,0 +1,23 @@
+require ${BPN}.inc
+
+DEPENDS = "${BPN}-native alsa-lib ncurses glib-2.0"
+
+SRC_URI += " \
+ file://0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch \
+ file://0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch \
+ file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
+"
+
+EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+
+do_configure_append() {
+ make_tables.exe ${B}/
+}
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
+PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1"
+PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack"
+PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
+PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
+PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF"
+PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/files/gerbera.service b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/files/gerbera.service
deleted file mode 100644
index 1b5a3ad3..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/files/gerbera.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Start Gerbera, an UPnP media server
-After=multi-user.target network-online.target
-Wants=network-online.target
-
-[Service]
-ExecStart=/usr/bin/gerbera
-Environment='HOME=/root'
-Type=simple
-RemainAfterExit=yes
-
-[Install]
-WantedBy=multi-user.target \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb
index f763cf1e..c96e4c52 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb
@@ -4,29 +4,26 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8"
SRC_URI = "git://github.com/v00d00/gerbera.git;protocol=https \
- file://gerbera.service \
"
-PV = "1.0+git${SRCPV}"
-SRCREV = "4435b165d121195aefd67d0287f7f9349e181d45"
+PV = "1.3.2"
+SRCREV = "42b035ea9098c02af503d6391a0ed56d973aaf23"
S = "${WORKDIR}/git"
-DEPENDS = "expat zlib curl libupnp e2fsprogs sqlite3 "
+DEPENDS = "expat zlib curl libupnp e2fsprogs sqlite3 libnsl2"
SYSTEMD_SERVICE_${PN} = "gerbera.service"
inherit cmake systemd
-PACKAGECONFIG = ""
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=TRUE,-DWITH_SYSTEMD=FALSE,systemd"
PACKAGECONFIG[taglib] = "-DWITH_TAGLIB=TRUE,-DWITH_TAGLIB=FALSE,taglib"
-
EXTRA_OECMAKE = "-DWITH_JS=FALSE -DWITH_MAGIC=FALSE -DWITH_EXIF=FALSE -DLIBUUID_INCLUDE_DIRS=${STAGING_INCDIR} -DLIBUUID_LIBRARIES=-luuid"
do_install_append() {
install -d ${D}/root/.config/
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/gerbera.service ${D}${systemd_system_unitdir}/
}
FILES_${PN} += "/root/.config/"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mp3_0.10.31.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mp3_0.10.31.bb
deleted file mode 100644
index 1e2cd2a4..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mp3_0.10.31.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require gst-fluendo.inc
-
-SUMMARY = "Fluendo closed-format mp3 GStreamer plug-in"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=259a43dd1c9854b71fc396f74699f4d2"
-LICENSE_FLAGS = "commercial"
-
-GSTREAMER_DEBUG ?= "--disable-debug"
-EXTRA_OECONF += "${GSTREAMER_DEBUG} --with-gstreamer-api=0.10"
-
-acpaths = "-I ${S}/common/m4 -I ${S}/m4"
-
-SRC_URI[md5sum] = "adf0390f3416bb72f91c358528be0c38"
-SRC_URI[sha256sum] = "dae0d0559a4e159c0dd92b7e18de059a5783f8d038904c7de4ca6393f7d55c7d"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mpegdemux_0.10.85.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mpegdemux_0.10.85.bb
deleted file mode 100644
index 7bba41a3..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mpegdemux_0.10.85.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require gst-fluendo.inc
-
-SUMMARY = "Fluendo MPEG Transport Stream and Program Stream demuxer for GStreamer"
-LICENSE = "MPLv1.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be282f1c3cc9a98cc0dc5c2b25dfc510 \
- file://src/gstmpegdemux.h;beginline=1;endline=19;md5=a9e90033f59897b91664d9f2a2ff01dd"
-LICENSE_FLAGS = "commercial"
-
-acpaths = "-I ${S}/common/m4 -I ${S}/m4"
-
-SRC_URI[md5sum] = "7c4fb993f80b9ae631b11897733f0970"
-SRC_URI[sha256sum] = "df04c91cc8e5d9a892c2492ed989974b4547beaa2a3647649e85113317897424"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo.inc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo.inc
deleted file mode 100644
index 7a77d624..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Fluendo closed-format GStreamer plug-in"
-SECTION = "multimedia"
-HOMEPAGE = "https://core.fluendo.com/gstreamer/trac/wiki"
-DEPENDS = "gstreamer gst-plugins-base zlib"
-
-inherit autotools pkgconfig
-
-SRC_URI = "http://core.fluendo.com/gstreamer/src/${BPN}/${BPN}-${PV}.tar.bz2"
-
-FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
-FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
-FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
-
-EXTRA_OECONF = "--disable-valgrind"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb
deleted file mode 100644
index 88f1abf6..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "GStreamer package groups"
-LICENSE = "MIT"
-
-COMMERCIAL_PLUGINS = "${COMMERCIAL_AUDIO_PLUGINS} ${COMMERCIAL_VIDEO_PLUGINS}"
-DEPENDS_UGLY="${@'gst-plugins-ugly' if 'ugly' in COMMERCIAL_PLUGINS.split('-') else ''}"
-DEPENDS_BAD="${@'gst-plugins-bad' if 'bad' in COMMERCIAL_PLUGINS.split('-') else ''}"
-DEPENDS = "gstreamer gst-plugins-base gst-plugins-good ${DEPENDS_UGLY} ${DEPENDS_BAD}"
-
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
- file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-
-PR = "r13"
-
-PACKAGES = "\
- gst-meta-base \
- gst-meta-x11-base \
- gst-meta-audio \
- gst-meta-debug \
- gst-meta-video"
-
-ALLOW_EMPTY_gst-meta-base = "1"
-ALLOW_EMPTY_gst-meta-x11-base = "1"
-ALLOW_EMPTY_gst-meta-audio = "1"
-ALLOW_EMPTY_gst-meta-debug = "1"
-ALLOW_EMPTY_gst-meta-video = "1"
-
-RDEPENDS_gst-meta-base = "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gst-meta-x11-base', '', d)} \
- gstreamer \
- gst-plugins-base-playbin \
- gst-plugins-base-decodebin \
- gst-plugins-base-decodebin2 \
- gst-plugins-base-gio \
- gst-plugins-base-alsa \
- gst-plugins-base-volume \
- gst-plugins-base-audioconvert \
- gst-plugins-base-audioresample \
- gst-plugins-base-typefindfunctions \
- gst-plugins-base-videoscale \
- gst-plugins-base-ffmpegcolorspace \
- gst-plugins-good-autodetect \
- gst-plugins-good-souphttpsrc"
-
-RRECOMMENDS_gst-meta-x11-base = "\
- gst-plugins-base-ximagesink \
- gst-plugins-base-xvimagesink"
-
-RDEPENDS_gst-meta-audio = "\
- gst-meta-base \
- gst-plugins-base-vorbis \
- gst-plugins-base-ogg \
- gst-plugins-good-wavparse \
- gst-plugins-good-flac \
- ${COMMERCIAL_AUDIO_PLUGINS}"
-
-
-RDEPENDS_gst-meta-debug = "\
- gst-meta-base \
- gst-plugins-good-debug \
- gst-plugins-base-audiotestsrc \
- gst-plugins-base-videotestsrc"
-
-
-RDEPENDS_gst-meta-video = "\
- gst-meta-base \
- gst-plugins-good-avi \
- gst-plugins-good-matroska \
- gst-plugins-base-theora \
- ${COMMERCIAL_VIDEO_PLUGINS}"
-
-RRECOMMENDS_gst-meta-video = "\
- gst-meta-audio"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/gcc_4.6.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/gcc_4.6.patch
deleted file mode 100644
index 57a63b5a..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/gcc_4.6.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Index: gst-openmax-0.10.1/omx/gstomx.c
-===================================================================
---- gst-openmax-0.10.1.orig/omx/gstomx.c 2010-09-30 18:00:24.000000000 -0700
-+++ gst-openmax-0.10.1/omx/gstomx.c 2011-05-17 23:08:08.794535872 -0700
-@@ -238,7 +238,8 @@
- const gchar *element_name = gst_structure_nth_field_name (element_table, i);
- GstStructure *element = get_element_entry (element_name);
- const gchar *type_name, *parent_type_name;
-- const gchar *component_name, *component_role, *library_name;
-+ const gchar *component_name, *library_name;
-+ const gchar __attribute__((__unused__)) *component_role;
- GType type;
- gint rank;
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/ptr-array.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/ptr-array.patch
deleted file mode 100644
index 5965bbaf..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/ptr-array.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Rename static functions that use GLib naming conventions as one of them
-(g_ptr_array_insert) has now been added to GLib.
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/omx/gstomx_util.c b/omx/gstomx_util.c
-index 423e441..579dbf5 100644
---- a/omx/gstomx_util.c
-+++ b/omx/gstomx_util.c
-@@ -85,7 +85,7 @@ static gboolean initialized;
- */
-
- static void
--g_ptr_array_clear (GPtrArray * array)
-+omx_g_ptr_array_clear (GPtrArray * array)
- {
- guint index;
- for (index = 0; index < array->len; index++)
-@@ -93,7 +93,7 @@ g_ptr_array_clear (GPtrArray * array)
- }
-
- static void
--g_ptr_array_insert (GPtrArray * array, guint index, gpointer data)
-+omx_g_ptr_array_insert (GPtrArray * array, guint index, gpointer data)
- {
- if (index + 1 > array->len) {
- g_ptr_array_set_size (array, index + 1);
-@@ -394,7 +394,7 @@ g_omx_core_unload (GOmxCore * core)
- }
-
- core_for_each_port (core, g_omx_port_free);
-- g_ptr_array_clear (core->ports);
-+ omx_g_ptr_array_clear (core->ports);
- }
-
- static inline GOmxPort *
-@@ -418,7 +418,7 @@ g_omx_core_new_port (GOmxCore * core, guint index)
- }
-
- port = g_omx_port_new (core, index);
-- g_ptr_array_insert (core->ports, index, port);
-+ omx_g_ptr_array_insert (core->ports, index, port);
-
- return port;
- }
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax_0.10.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax_0.10.1.bb
deleted file mode 100644
index 2e015795..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax_0.10.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "GStreamer plug-in for communication with OpenMAX IL components"
-DESCRIPTION = "GstOpenMAX is a GStreamer plug-in that allows \
-communication with OpenMAX Integration Layer (IL) components. OpenMAX \
-IL is an industry standard that provides an abstraction layer for \
-computer graphics, video, and sound routines."
-HOMEPAGE = "http://freedesktop.org/wiki/GstOpenMAX"
-DEPENDS = "gstreamer"
-RDEPENDS_${PN} = "libomxil"
-LICENSE = "LGPLv2.1"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
- file://util/sem.h;beginline=1;endline=20;md5=accce5550d5583b839b441a0623f09fc"
-
-SRC_URI = "http://gstreamer.freedesktop.org/src/gst-openmax/gst-openmax-${PV}.tar.bz2 \
- file://gcc_4.6.patch \
- file://ptr-array.patch \
- "
-
-inherit autotools pkgconfig
-
-# Tell configure that this isn't a development snapshot so we don't want
-# -Werror (hopefully fixed in 0.10.2)
-export GST_CVS="no"
-
-EXTRA_OECONF += "--disable-valgrind"
-
-PR = "r4"
-
-FILES_${PN} += "${libdir}/gstreamer-0.10/libgstomx.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-0.10/libgstomx.la"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/libgstomx.a"
-FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug/"
-
-SRC_URI[md5sum] = "4d0370bfe99dea20918c84347abadb4e"
-SRC_URI[sha256sum] = "9074d5a0591995133d19cfb15144f19664f902c1623f996595695cf2c2070e1f"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad/buffer-overflow-mp4.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad/buffer-overflow-mp4.patch
deleted file mode 100644
index 235acda8..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad/buffer-overflow-mp4.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Description: Fix buffer overflow in mp4 parsing
-Author: Ralph Giles <giles@mozilla.com>
----
-Backport patch from debian to fix CVE-2015-0797.
-https://sources.debian.net/data/main/g/gst-plugins-bad0.10/0.10.23-7.1+deb7u2/debian/patches/buffer-overflow-mp4.patch
-
-Upstream-Status: Backport
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
---- gst-plugins-bad0.10-0.10.23.orig/gst/videoparsers/gsth264parse.c
-+++ gst-plugins-bad0.10-0.10.23/gst/videoparsers/gsth264parse.c
-@@ -384,6 +384,11 @@ gst_h264_parse_wrap_nal (GstH264Parse *
-
- GST_DEBUG_OBJECT (h264parse, "nal length %d", size);
-
-+ if (size > G_MAXUINT32 - nl) {
-+ GST_ELEMENT_ERROR (h264parse, STREAM, FAILED, (NULL),
-+ ("overflow in nal size"));
-+ return NULL;
-+ }
- buf = gst_buffer_new_and_alloc (size + nl + 4);
- if (format == GST_H264_PARSE_FORMAT_AVC) {
- GST_WRITE_UINT32_BE (GST_BUFFER_DATA (buf), size << (32 - 8 * nl));
-@@ -452,6 +457,11 @@ gst_h264_parse_process_nal (GstH264Parse
- GST_DEBUG_OBJECT (h264parse, "not processing nal size %u", nalu->size);
- return;
- }
-+ if (G_UNLIKELY (nalu->size > 20 * 1024 * 1024)) {
-+ GST_DEBUG_OBJECT (h264parse, "not processing nal size %u (too big)",
-+ nalu->size);
-+ return;
-+ }
-
- /* we have a peek as well */
- nal_type = nalu->type;
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
deleted file mode 100644
index 38fccc8d..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-require gst-plugins.inc
-
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ "
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://gst/tta/filters.h;beginline=12;endline=29;md5=629b0c7a665d155a6677778f4460ec06 \
- file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
- file://gst/tta/crc32.h;beginline=12;endline=29;md5=71a904d99ce7ae0c1cf129891b98145c"
-
-DEPENDS += "gst-plugins-base"
-
-PR = "r4"
-
-SRC_URI += "file://buffer-overflow-mp4.patch"
-
-inherit gettext gsettings
-
-EXTRA_OECONF += "--disable-experimental \
- --disable-sdl --disable-cdaudio --disable-directfb \
- --disable-vdpau --disable-apexsink"
-
-PACKAGECONFIG ??= "bzip curl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'rsvg', '', d)}"
-
-PACKAGECONFIG[bzip] = "--enable-bz2,--disable-bz2,bzip2"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
-PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg,"
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
-PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon"
-PACKAGECONFIG[mms] = "--enable-libmms,--disable-libmms,libmms"
-PACKAGECONFIG[cog] = "--enable-cog,--disable-cog,libpng"
-PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2"
-PACKAGECONFIG[jp2k] = "--enable-jp2k,--disable-jp2k,jasper"
-PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
-PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus"
-PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
-PACKAGECONFIG[vp8] = "--enable-vp8,--disable-vp8,libvpx"
-PACKAGECONFIG[ass] = "--enable-assrender,--disable-assrender,libass"
-PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
-PACKAGECONFIG[schro] = "--enable-schro,--disable-schro,schroedinger"
-PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
-PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac"
-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"
-
-PACKAGES =+ "${PN}-resindvd"
-FILES_${PN}-resindvd = "${libdir}/gstreamer-${LIBV}/libresindvd.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/libresindvd.la"
-FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs"
-
-do_configure_prepend() {
- # This m4 file contains nastiness which conflicts with libtool 2.2.2
- rm ${S}/m4/lib-link.m4 || true
-}
-
-SRC_URI[md5sum] = "fcb09798114461955260e4d940db5987"
-SRC_URI[sha256sum] = "0eae7d1a1357ae8377fded6a1b42e663887beabe0e6cc336e2ef9ada42e11491"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch
deleted file mode 100644
index 29fbec5f..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 5478eafecf618cd8e742cc1b96d688a2c7ce5a79 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Sun, 2 Oct 2016 21:49:33 +0200
-Subject: [PATCH] gst-glib2.m4: don't do crazy things to GLIB_CFLAGS
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-we are definitely not one of those poor souls mentioned
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- common/m4/gst-glib2.m4 | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4
-index b01f02f..4569ae5 100644
---- a/common/m4/gst-glib2.m4
-+++ b/common/m4/gst-glib2.m4
-@@ -69,7 +69,6 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
- fi
-
- dnl for the poor souls who for example have glib in /usr/local
-- AS_SCRUB_INCLUDE(GLIB_CFLAGS)
-
- AC_SUBST(GLIB_EXTRA_CFLAGS)
- ])
---
-2.5.5
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch
deleted file mode 100644
index 52142562..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-audioresample: Fix build on x86 if emmintrin.h is available but can't be used
-
-On x86, EMMINTRIN is defined but not usable without SSE so check for
-__SSE__ and __SSE2__ as well.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=670690
-
-Upstream-Status: Backport
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- gst/audioresample/resample.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c
-index 98d006c..481fa01 100644
---- a/gst/audioresample/resample.c
-+++ b/gst/audioresample/resample.c
-@@ -77,13 +77,13 @@
- #define EXPORT G_GNUC_INTERNAL
-
- #ifdef _USE_SSE
--#ifndef HAVE_XMMINTRIN_H
-+#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H)
- #undef _USE_SSE
- #endif
- #endif
-
- #ifdef _USE_SSE2
--#ifndef HAVE_EMMINTRIN_H
-+#if !defined(__SSE2__) || !defined(HAVE_EMMINTRIN_H)
- #undef _USE_SSE2
- #endif
- #endif
---
-1.7.1
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch
deleted file mode 100644
index b8602c80..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Upstream-Status: Submitted [similar patch by other author, bugzilla]
-Bugtracker-URL: https://bugzilla.gnome.org/show_bug.cgi?id=663600
-
-Prepend PKG_CONFIG_SYSROOT to includedir, so configure doesn't
-search for gstconfig.h in /usr/include.
-
-Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
----
- configure.ac | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1901bcf..460fb0a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -435,7 +435,7 @@ AG_GST_CHECK_PLUGIN(volume)
- dnl check for gstreamer core features (subsystems)
- dnl FIXME: this assumes srcdir == builddir for uninstalled setups
- GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-0.10`"/gst/gstconfig.h"
--AG_GST_PARSE_SUBSYSTEM_DISABLES($GST_CONFIGPATH)
-+AG_GST_PARSE_SUBSYSTEM_DISABLES($PKG_CONFIG_SYSROOT_DIR$GST_CONFIGPATH)
- AM_CONDITIONAL(USE_XML, test $GST_DISABLE_XML != "1")
-
- dnl disable plug-ins that require libxml2's HTML support if it is not available
---
-1.7.5.4
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch
deleted file mode 100644
index 99dbc9d5..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Remove -DTREMOR option since Tremor has dropped its internal
-libogg2, and gst-plugins-base has dependency on that.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
-Signed-off-by: Shane Wang <shane.wang@intel.com>
-
-diff -r 70065fb4e085 ext/vorbis/Makefile.am
---- a/ext/vorbis/Makefile.am Tue Mar 13 16:36:56 2012 +0800
-+++ b/ext/vorbis/Makefile.am Tue Mar 13 16:38:53 2012 +0800
-@@ -30,7 +30,7 @@
- gstvorbisdec.c gstvorbisdeclib.c gstvorbiscommon.c
- libgstivorbisdec_la_CFLAGS = \
- $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
-- -DTREMOR $(IVORBIS_CFLAGS)
-+ $(IVORBIS_CFLAGS)
- libgstivorbisdec_la_LIBADD = \
- $(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \
- $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
deleted file mode 100644
index f2354648..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-require gst-plugins.inc
-
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
- file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
- file://gst/ffmpegcolorspace/utils.c;beginline=1;endline=20;md5=9c83a200b8e597b26ca29df20fc6ecd0"
-
-DEPENDS += "alsa-lib libogg libvorbis libtheora util-linux tremor glib-2.0-native"
-
-SRC_URI += "file://gst-plugins-base-tremor.patch \
- file://configure.ac-fix-subparse-plugin.patch \
- file://audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch \
- file://0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch \
-"
-
-SRC_URI[md5sum] = "776c73883e567f67b9c4a2847d8d041a"
-SRC_URI[sha256sum] = "2cd3b0fa8e9b595db8f514ef7c2bdbcd639a0d63d154c00f8c9b609321f49976"
-
-PR = "r8"
-
-inherit gettext
-
-EXTRA_OECONF += "--disable-freetypetest"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
-PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
-PACKAGECONFIG[x11] = "--enable-x --enable-xvideo,--disable-x --disable-xvideo,virtual/libx11 libxv libsm libice"
-PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia"
-
-do_configure_prepend() {
- # This m4 file contains nastiness which conflicts with libtool 2.2.2
- rm -f ${S}/m4/lib-link.m4
-}
-
-FILES_${PN} += "${datadir}/${BPN}"
-
-CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
-
-# /usr/bin/gst-visualise-0.10 is a perl script.
-RDEPENDS_${PN}-apps += "perl"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch
deleted file mode 100644
index bc2f88b2..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 14d51cbefef19737e7ab2b6818ee1d3bdb248d12 Mon Sep 17 00:00:00 2001
-From: Jeremy Stashluk <jstashluk@dekaresearch.com>
-Date: Wed, 6 Feb 2013 09:59:48 -0500
-Subject: [PATCH] conditional gl framebuffer undefined use
-
-The OpenGL extension GL_ARB_framebuffer_object defines the macro
-GL_FRAMEBUFFER_UNDEFINED. The macro will only need to map to an error
-string if the extension provides functions that might return the macro.
-
-Upstream-Status: Pending
-
-Signed-off-by: Jeremy Stashluk <jstashluk@dekaresearch.com>
----
- gst-libs/gst/gl/gstgldisplay.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c
-index 3ed0b71..64c6c2c 100644
---- a/gst-libs/gst/gl/gstgldisplay.c
-+++ b/gst-libs/gst/gl/gstgldisplay.c
-@@ -2177,9 +2177,11 @@ gst_gl_display_check_framebuffer_status (void)
- GST_ERROR ("GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS");
- break;
-
-+#if defined(GL_ARB_framebuffer_object)
- case GL_FRAMEBUFFER_UNDEFINED:
- GST_ERROR ("GL_FRAMEBUFFER_UNDEFINED");
- break;
-+#endif
-
- default:
- GST_ERROR ("General FBO error");
---
-1.7.9.5
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch
deleted file mode 100644
index 7db1c5af..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Check for header and library separately and check for GLESv2 before egl
-this is to overcome an annoying issue with rpi/userland where egl depends
-on sysmbols from libGLESv2
-
--Khem
-Index: gst-plugins-gl-0.10.3/configure.ac
-===================================================================
---- gst-plugins-gl-0.10.3.orig/configure.ac
-+++ gst-plugins-gl-0.10.3/configure.ac
-@@ -183,8 +183,10 @@ case $host in
- else
- AC_CHECK_HEADERS([EGL/egl.h], [HAVE_EGL=yes], [HAVE_EGL=no])
- if test "x$HAVE_EGL" = "xyes"; then
-- AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h,, AC_MSG_ERROR([EGL is required]))
-- AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h,, AC_MSG_ERROR([OpenGLES2 is required]))
-+ AC_CHECK_HEADERS([GLES2/gl2.h],, AC_MSG_ERROR([OpenGLES2 is required]))
-+ AC_CHECK_LIB(GLESv2,[glTexImage2D],, AC_MSG_ERROR([OpenGLES2 is required]))
-+ AC_CHECK_HEADERS([EGL/egl.h],, AC_MSG_ERROR([EGL is required]))
-+ AC_CHECK_LIB(EGL,[eglGetError],, AC_MSG_ERROR([EGL is required]))
- GL_LIBS="$LIBS $X_LIBS -lEGL -lGLESv2"
- GL_BACKEND=x11ES2
- GL_TYPE=gles
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb
deleted file mode 100644
index f3eaf309..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-require gst-plugins.inc
-
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ "
-LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
-
-SRC_URI[md5sum] = "ac70ede13f79978d56eaed8abaa3c938"
-SRC_URI[sha256sum] = "48340b6a4b8abce16344a7bc33e74a94fdcce4f57ef6342cdf2f941c429bf210"
-
-SRC_URI += " file://0001-conditional-gl-framebuffer-undefined-use.patch \
- file://rpi-egl-gles2-dep.patch \
-"
-
-DEPENDS += "gst-plugins-base virtual/libgles2 virtual/egl jpeg libpng glew"
-
-PR = "r4"
-
-inherit gettext distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-# This package doesn't have a configure switch for EGL or GL, so forcibly tell
-# configure that it can't find gl.h so it always uses EGL. If/when we have some
-# way for machines to specify their preferred GL flavour this can be
-# automatically adapted.
-EXTRA_OECONF += "ac_cv_header_GL_gl_h=no"
-
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-apps = "1"
-ALLOW_EMPTY_${PN}-glib = "1"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch
deleted file mode 100644
index 6456d3c6..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 12d18fe4e98e7c232d59b56d529a0521f293fe6d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Wed, 5 Sep 2012 18:54:42 +0200
-Subject: [PATCH] v4l2: fix build with recent kernels, the v4l2_buffer input
- field was removed
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Backport
-
-[1] http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- sys/v4l2/gstv4l2bufferpool.c | 1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
-index b81c6a4..51cc0ce 100644
---- a/sys/v4l2/gstv4l2bufferpool.c
-+++ b/sys/v4l2/gstv4l2bufferpool.c
-@@ -181,7 +181,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps)
- GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u",
- ret->vbuffer.m.offset);
- GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length);
-- GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input);
-
- data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length,
- PROT_READ | PROT_WRITE, MAP_SHARED, pool->video_fd,
---
-1.7.6.5
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
deleted file mode 100644
index bd0de583..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From ccb01de8096a32d86d47b0d92ec3416c57ee4d25 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Thu, 22 Aug 2013 12:15:54 -0400
-Subject: [PATCH] v4l2_calls: define V4L2_CID_HCENTER and V4L2_CID_VCENTER
-
-kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls]
-removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three
-years of depreciation.
-
-The ioctl values are still free, and the case statement which processess them
-in v4l2 userspace falls through to the proper replacement. So in the short
-term, we can explicitly define them using the old absolute values, and everything
-will work.
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- sys/v4l2/v4l2_calls.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
-index 309bfb6..3c64544 100644
---- a/sys/v4l2/v4l2_calls.c
-+++ b/sys/v4l2/v4l2_calls.c
-@@ -54,11 +54,16 @@
- #include "gst/gst-i18n-plugin.h"
-
- /* Those are ioctl calls */
-+
-+/* V4L2_CID_HCENTER has been removed from the mainline kernel, but
-+ the ioctl space is still present. Since these values fall through
-+ to their replacement, it is safe (in the short term) to re-use the
-+ old values explictily */
- #ifndef V4L2_CID_HCENTER
--#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED
-+#define V4L2_CID_HCENTER V4L2_CID_BASE+22
- #endif
- #ifndef V4L2_CID_VCENTER
--#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED
-+#define V4L2_CID_VCENTER V4L2_CID_BASE+23
- #endif
-
- GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
---
-1.7.10.4
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0407-mulawdec-fix-integer-overrun.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0407-mulawdec-fix-integer-overrun.patch
deleted file mode 100644
index 48b8e98b..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0407-mulawdec-fix-integer-overrun.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From ce94b2c2b91b6db190c121860e12a6afafce7ae1 Mon Sep 17 00:00:00 2001
-From: Roland Krikava <rkrikava@gmail.com>
-Date: Fri, 2 Nov 2012 12:38:44 -0400
-Subject: [PATCH 407/440] mulawdec: fix integer overrun
-
-There might be more than 65535 samples in a chunk of data.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=687469
-
-Commit - 3be45f70220310ec1c60d819f90b5f2ae03b5d83 in 0.10 branch
-
-Upstream Status: Backported
-
-Signed-off-by: Roland Krikava <rkrikava@gmail.com>
----
- gst/law/mulaw-conversion.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/gst/law/mulaw-conversion.c b/gst/law/mulaw-conversion.c
-index 8afae80..190a9f5 100644
---- a/gst/law/mulaw-conversion.c
-+++ b/gst/law/mulaw-conversion.c
-@@ -51,9 +51,10 @@ mulaw_encode (gint16 * in, guint8 * out, gint numsamples)
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
- };
-- gint16 sign, exponent, mantissa, i;
-+ gint16 sign, exponent, mantissa;
- gint16 sample;
- guint8 ulawbyte;
-+ gint i;
-
- for (i = 0; i < numsamples; i++) {
- sample = in[i];
-@@ -102,7 +103,8 @@ mulaw_decode (guint8 * in, gint16 * out, gint numsamples)
- static gint16 exp_lut[8] = { 0, 132, 396, 924, 1980, 4092, 8316, 16764 };
- gint16 sign, exponent, mantissa;
- guint8 ulawbyte;
-- gint16 linear, i;
-+ gint16 linear;
-+ gint i;
-
- for (i = 0; i < numsamples; i++) {
- ulawbyte = in[i];
---
-1.7.9.5
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
deleted file mode 100644
index f993cfc1..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-require gst-plugins.inc
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
- file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
-
-PR = "r8"
-
-PACKAGECONFIG ?= "jpeg v4l \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
-"
-PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
-PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
-PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
-PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
-PACKAGECONFIG[gdkpixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
-PACKAGECONFIG[v4l] = "--enable-gst_v4l2 --with-gudev,--disable-gst_v4l2 --without-gudev,libgudev"
-# sub-feature of v4l, but control separately since libv4l is not part of oe-core
-PACKAGECONFIG[libv4l] = "--with-libv4l2,--without-libv4l2,libv4l"
-PACKAGECONFIG[bzip2] = "--enable-bz2,--disable-bz2,bzip2"
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
-PACKAGECONFIG[x11] = "--enable-x,--disable-x,virtual/libx11 libxfixes libxdamage"
-PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libiec61883 libavc1394"
-
-DEPENDS += "gst-plugins-base gconf cairo libpng zlib libid3tag flac \
- speex libsoup-2.4 libcap"
-
-inherit gettext gconf
-
-SRC_URI += "file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch \
- file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch \
- file://0407-mulawdec-fix-integer-overrun.patch \
-"
-EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2 --disable-libcaca --disable-hal \
- --disable-examples --disable-taglib"
-
-do_configure_prepend() {
- # This m4 file contains nastiness which conflicts with libtool 2.2.2
- rm ${S}/m4/lib-link.m4 || true
-}
-
-SRC_URI[md5sum] = "24f98a294a2b521e1b29412bdadae2e6"
-SRC_URI[sha256sum] = "7e27840e40a7932ef2dc032d7201f9f41afcaf0b437daf5d1d44dc96d9e35ac6"
-
-FILES_${PN}-gconfelements += "${sysconfdir}/gconf/schemas/gstreamer-0.10.schemas"
-FILES_${PN}-equalizer += "${datadir}/gstreamer-0.10/presets/*.prs"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0001-cdio-compensate-for-libcdio-s-recent-cd-text-api-cha.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0001-cdio-compensate-for-libcdio-s-recent-cd-text-api-cha.patch
deleted file mode 100644
index 1f72fc03..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0001-cdio-compensate-for-libcdio-s-recent-cd-text-api-cha.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From 649bd92cd2600719862ad5189899212409dd0a67 Mon Sep 17 00:00:00 2001
-From: Leon Merten Lohse <leon@green-side.de>
-Date: Thu, 3 May 2012 23:50:30 +0100
-Subject: [PATCH] cdio: compensate for libcdio's recent cd-text api changes
-
-https://bugzilla.gnome.org/show_bug.cgi?id=675112
-
-Conflicts:
-
- ext/cdio/gstcdiocddasrc.c
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
-
-Upstream-Status: Backport
----
- ext/cdio/gstcdio.c | 35 ++++++++++++++++++++++++++++-------
- ext/cdio/gstcdio.h | 16 ++++++++++++++++
- ext/cdio/gstcdiocddasrc.c | 19 +++++++++++++++++++
- 3 files changed, 63 insertions(+), 7 deletions(-)
-
-diff --git a/ext/cdio/gstcdio.c b/ext/cdio/gstcdio.c
-index 2f58d18..483ebf5 100644
---- a/ext/cdio/gstcdio.c
-+++ b/ext/cdio/gstcdio.c
-@@ -30,12 +30,16 @@
- GST_DEBUG_CATEGORY (gst_cdio_debug);
-
- void
--gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext,
-+gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext, track_t track,
- cdtext_field_t field, const gchar * gst_tag, GstTagList ** p_tags)
- {
- const gchar *txt;
-
-+#if LIBCDIO_VERSION_NUM > 83
-+ txt = cdtext_get_const (cdtext, field, track);
-+#else
- txt = cdtext_get_const (field, cdtext);
-+#endif
- if (txt == NULL || *txt == '\0') {
- GST_DEBUG_OBJECT (src, "empty CD-TEXT field %u (%s)", field, gst_tag);
- return;
-@@ -57,6 +61,12 @@ gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext,
- }
-
- GstTagList *
-+#if LIBCDIO_VERSION_NUM > 83
-+gst_cdio_get_cdtext (GstObject * src, cdtext_t * t, track_t track)
-+{
-+ GstTagList *tags = NULL;
-+
-+#else
- gst_cdio_get_cdtext (GstObject * src, CdIo * cdio, track_t track)
- {
- GstTagList *tags = NULL;
-@@ -67,14 +77,22 @@ gst_cdio_get_cdtext (GstObject * src, CdIo * cdio, track_t track)
- GST_DEBUG_OBJECT (src, "no CD-TEXT for track %u", track);
- return NULL;
- }
-+#endif
-
-- gst_cdio_add_cdtext_field (src, t, CDTEXT_PERFORMER, GST_TAG_ARTIST, &tags);
-- gst_cdio_add_cdtext_field (src, t, CDTEXT_TITLE, GST_TAG_TITLE, &tags);
-+ gst_cdio_add_cdtext_field (src, t, track, CDTEXT_FIELD_PERFORMER,
-+ GST_TAG_ARTIST, &tags);
-+ gst_cdio_add_cdtext_field (src, t, track, CDTEXT_FIELD_TITLE, GST_TAG_TITLE,
-+ &tags);
-
- return tags;
- }
-
- void
-+#if LIBCDIO_VERSION_NUM > 83
-+gst_cdio_add_cdtext_album_tags (GstObject * src, cdtext_t * t,
-+ GstTagList * tags)
-+{
-+#else
- gst_cdio_add_cdtext_album_tags (GstObject * src, CdIo * cdio, GstTagList * tags)
- {
- cdtext_t *t;
-@@ -84,11 +102,14 @@ gst_cdio_add_cdtext_album_tags (GstObject * src, CdIo * cdio, GstTagList * tags)
- GST_DEBUG_OBJECT (src, "no CD-TEXT for album");
- return;
- }
-+#endif
-
-- /* FIXME: map CDTEXT_PERFORMER to GST_TAG_ALBUM_ARTIST once we have that */
-- gst_cdio_add_cdtext_field (src, t, CDTEXT_TITLE, GST_TAG_ALBUM, &tags);
-- gst_cdio_add_cdtext_field (src, t, CDTEXT_GENRE, GST_TAG_GENRE, &tags);
--
-+ gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_PERFORMER,
-+ GST_TAG_ALBUM_ARTIST, &tags);
-+ gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_TITLE, GST_TAG_ALBUM,
-+ &tags);
-+ gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_GENRE, GST_TAG_GENRE,
-+ &tags);
- GST_DEBUG ("CD-TEXT album tags: %" GST_PTR_FORMAT, tags);
- }
-
-diff --git a/ext/cdio/gstcdio.h b/ext/cdio/gstcdio.h
-index ef31ed0..c6da580 100644
---- a/ext/cdio/gstcdio.h
-+++ b/ext/cdio/gstcdio.h
-@@ -24,22 +24,38 @@
- #include <gst/gst.h>
- #include <cdio/cdio.h>
- #include <cdio/cdtext.h>
-+#include <cdio/version.h>
-+
-+#if LIBCDIO_VERSION_NUM <= 83
-+ #define CDTEXT_FIELD_PERFORMER CDTEXT_PERFORMER
-+ #define CDTEXT_FIELD_GENRE CDTEXT_GENRE
-+ #define CDTEXT_FIELD_TITLE CDTEXT_TITLE
-+#endif
-
- GST_DEBUG_CATEGORY_EXTERN (gst_cdio_debug);
- #define GST_CAT_DEFAULT gst_cdio_debug
-
- void gst_cdio_add_cdtext_field (GstObject * src,
- cdtext_t * cdtext,
-+ track_t track,
- cdtext_field_t field,
- const gchar * gst_tag,
- GstTagList ** p_tags);
-
- GstTagList * gst_cdio_get_cdtext (GstObject * src,
-+#if LIBCDIO_VERSION_NUM > 83
-+ cdtext_t * t,
-+#else
- CdIo * cdio,
-+#endif
- track_t track);
-
- void gst_cdio_add_cdtext_album_tags (GstObject * src,
-+#if LIBCDIO_VERSION_NUM > 83
-+ cdtext_t * t,
-+#else
- CdIo * cdio,
-+#endif
- GstTagList * tags);
-
- #endif /* __GST_CDIO_H__ */
-diff --git a/ext/cdio/gstcdiocddasrc.c b/ext/cdio/gstcdiocddasrc.c
-index 615a0c8..830839e 100644
---- a/ext/cdio/gstcdiocddasrc.c
-+++ b/ext/cdio/gstcdiocddasrc.c
-@@ -206,6 +206,9 @@ gst_cdio_cdda_src_open (GstAudioCdSrc * audiocdsrc, const gchar * device)
- GstCdioCddaSrc *src;
- discmode_t discmode;
- gint first_track, num_tracks, i;
-+#if LIBCDIO_VERSION_NUM > 83
-+ cdtext_t *cdtext;
-+#endif
-
- src = GST_CDIO_CDDA_SRC (audiocdsrc);
-
-@@ -244,8 +244,18 @@ gst_cdio_cdda_src_open (GstCddaBaseSrc * cddabasesrc, const gchar * device)
- if (src->read_speed != -1)
- cdio_set_speed (src->cdio, src->read_speed);
-
-+#if LIBCDIO_VERSION_NUM > 83
-+ cdtext = cdio_get_cdtext (src->cdio);
-+
-+ if (NULL == cdtext)
-+ GST_DEBUG_OBJECT (src, "no CD-TEXT on disc");
-+ else
-+ gst_cdio_add_cdtext_album_tags (GST_OBJECT_CAST (src), cdtext,
-+ cddabasesrc->tags);
-+#else
- gst_cdio_add_cdtext_album_tags (GST_OBJECT_CAST (src), src->cdio,
- cddabasesrc->tags);
-+#endif
-
- GST_LOG_OBJECT (src, "%u tracks, first track: %d", num_tracks, first_track);
-
-@@ -250,8 +263,14 @@ gst_cdio_cdda_src_open (GstAudioCdSrc * audiocdsrc, const gchar * device)
- * the right thing here (for cddb id calculations etc. as well) */
- track.start = cdio_get_track_lsn (src->cdio, i + first_track);
- track.end = track.start + len_sectors - 1; /* -1? */
-+#if LIBCDIO_VERSION_NUM > 83
-+ if (NULL != cdtext)
-+ track.tags = gst_cdio_get_cdtext (GST_OBJECT (src), cdtext,
-+ i + first_track);
-+#else
- track.tags = gst_cdio_get_cdtext (GST_OBJECT (src), src->cdio,
- i + first_track);
-+#endif
-
- gst_audio_cd_src_add_track (GST_AUDIO_CD_SRC (src), &track);
- }
---
-2.1.0
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0002-Fix-opencore-include-paths.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0002-Fix-opencore-include-paths.patch
deleted file mode 100644
index 3fd6a269..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0002-Fix-opencore-include-paths.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From e634bc6420826f760f6519a9f134c6a4d3412ef8 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Mon, 19 Oct 2015 15:26:24 +0200
-Subject: [PATCH] Fix opencore include paths
-
-Upstream-Status: Inappropriate [no upstream - GStreamer 0.10 is no longer being maintained]
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- ext/amrnb/amrnbdec.h | 2 +-
- ext/amrnb/amrnbenc.h | 2 +-
- ext/amrwbdec/amrwbdec.h | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/ext/amrnb/amrnbdec.h b/ext/amrnb/amrnbdec.h
-index 1e81839..01b7154 100644
---- a/ext/amrnb/amrnbdec.h
-+++ b/ext/amrnb/amrnbdec.h
-@@ -22,7 +22,7 @@
-
- #include <gst/gst.h>
- #include <gst/audio/gstaudiodecoder.h>
--#include <interf_dec.h>
-+#include <opencore-amrnb/interf_dec.h>
-
- G_BEGIN_DECLS
-
-diff --git a/ext/amrnb/amrnbenc.h b/ext/amrnb/amrnbenc.h
-index 7f673ac..5be39b5 100644
---- a/ext/amrnb/amrnbenc.h
-+++ b/ext/amrnb/amrnbenc.h
-@@ -21,7 +21,7 @@
- #define __GST_AMRNBENC_H__
-
- #include <gst/gst.h>
--#include <interf_enc.h>
-+#include <opencore-amrnb/interf_enc.h>
- #include <gst/audio/gstaudioencoder.h>
-
- G_BEGIN_DECLS
-diff --git a/ext/amrwbdec/amrwbdec.h b/ext/amrwbdec/amrwbdec.h
-index c3528fc..f27c6d2 100644
---- a/ext/amrwbdec/amrwbdec.h
-+++ b/ext/amrwbdec/amrwbdec.h
-@@ -22,8 +22,8 @@
-
- #include <gst/gst.h>
- #include <gst/audio/gstaudiodecoder.h>
--#include <dec_if.h>
--#include <if_rom.h>
-+#include <opencore-amrwb/dec_if.h>
-+#include <opencore-amrwb/if_rom.h>
-
- G_BEGIN_DECLS
-
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb
deleted file mode 100644
index 199b47d7..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-require gst-plugins.inc
-
-LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://gst/synaesthesia/synaescope.h;beginline=1;endline=20;md5=99f301df7b80490c6ff8305fcc712838 \
- file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068 \
- file://gst/mpegstream/gstmpegparse.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9"
-
-DEPENDS += "gst-plugins-base libid3tag libmad mpeg2dec liba52 lame"
-PR = "r3"
-
-inherit gettext
-
-EXTRA_OECONF += "--with-plugins=a52dec,lame,id3tag,mad,mpeg2dec,mpegstream,mpegaudioparse,asfdemux,realmedia \
- --disable-orc"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
-PACKAGECONFIG[cdio] = "--enable-cdio,--disable-cdio,libcdio"
-PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread,libdvdread"
-PACKAGECONFIG[amrnb] = "--enable-amrnb,--disable-amrnb,opencore-amr"
-PACKAGECONFIG[amrwb] = "--enable-amrwb,--disable-amrwb,opencore-amr"
-
-do_configure_prepend() {
- # This m4 file contains nastiness which conflicts with libtool 2.2.2
- rm ${S}/m4/lib-link.m4 || true
-}
-
-SRC_URI[md5sum] = "1d81c593e22a6cdf0f2b4f57eae93df2"
-SRC_URI[sha256sum] = "1ca90059275c0f5dca71d4d1601a8f429b7852baed0723e820703b977e2c8df0"
-SRC_URI += "file://0001-cdio-compensate-for-libcdio-s-recent-cd-text-api-cha.patch \
- file://0002-Fix-opencore-include-paths.patch"
-
-FILES_${PN}-amrnb += "${datadir}/gstreamer-0.10/presets/GstAmrnbEnc.prs"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc
deleted file mode 100644
index 6e163a8c..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Plugins for the GStreamer multimedia framework"
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
-SECTION = "multimedia"
-DEPENDS = "gstreamer"
-
-# gobject-introspection to get --disable-introspection into UNKNOWN_CONFIGURE_WHITELIST
-inherit autotools pkgconfig gobject-introspection
-
-SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2"
-
-GSTREAMER_DEBUG ?= "--disable-debug"
-EXTRA_OECONF = "--disable-valgrind ${GSTREAMER_DEBUG} --disable-examples --disable-introspection"
-
-acpaths = "-I ${S}/common/m4 -I ${S}/m4"
-
-LIBV = "0.10"
-require recipes-multimedia/gstreamer/gst-plugins-package.inc
-
-PACKAGES_DYNAMIC += "^${PN}-.*"
-
-# apply gstreamer hack after Makefile.in.in in source is replaced by our version from
-# ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed
-# http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html
-oe_runconf_prepend() {
- if [ -e ${S}/po/Makefile.in.in ]; then
- sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
- fi
-}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch
deleted file mode 100644
index 69b21dd8..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-index gst-rtsp_0.10.8/bindings/python/Makefile.am
-Index: gst-rtsp-0.10.8/bindings/python/Makefile.am
-===================================================================
---- gst-rtsp-0.10.8.orig/bindings/python/Makefile.am
-+++ gst-rtsp-0.10.8/bindings/python/Makefile.am
-@@ -14,7 +14,7 @@ defs_DATA = $(DEFS)
- defsdir = $(pkgdatadir)/$(GST_MAJORMINOR)/defs
- OVERRIDES = rtspserver.override
-
--INCLUDES = -I$(top_srcdir) -I$(srcdir) $(PYTHON_INCLUDES)
-+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) $(PYTHON_INCLUDES)
-
- rtspserver_la_CFLAGS = -I$(top_srcdir)/src \
- $(PYGOBJECT_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
-Index: gst-rtsp-0.10.8/examples/Makefile.am
-===================================================================
---- gst-rtsp-0.10.8.orig/examples/Makefile.am
-+++ gst-rtsp-0.10.8/examples/Makefile.am
-@@ -1,6 +1,6 @@
- noinst_PROGRAMS = test-video test-ogg test-mp4 test-readme test-launch test-sdp test-uri test-auth
-
--INCLUDES = -I$(top_srcdir) -I$(srcdir)
-+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir)
-
- AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
- AM_LDFLAGS = \
-Index: gst-rtsp-0.10.8/tests/Makefile.am
-===================================================================
---- gst-rtsp-0.10.8.orig/tests/Makefile.am
-+++ gst-rtsp-0.10.8/tests/Makefile.am
-@@ -1,6 +1,6 @@
- noinst_PROGRAMS = test-cleanup
-
--INCLUDES = -I$(top_srcdir) -I$(srcdir)
-+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir)
-
- AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
- AM_LDFLAGS = \
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp_0.10.8.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp_0.10.8.bb
deleted file mode 100644
index b78bcaf5..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp_0.10.8.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "GStreamer RTSP server"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
-
-SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch"
-SRC_URI[md5sum] = "b511af07000595f63c3a705946221643"
-SRC_URI[sha256sum] = "9915887cf8515bda87462c69738646afb715b597613edc7340477ccab63a6617"
-
-DEPENDS = "gst-plugins-base gstreamer"
-
-EXTRA_OECONF = "--disable-introspection"
-
-# Configure always checks for Python so inherit pythonnative. Better solution
-# would be to disable the checks entirely.
-inherit autotools pythonnative gettext
-
-FILES_${PN}-dev += "${datadir}/vala/vapi/"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch
deleted file mode 100644
index d0774968..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ed7f4802222234eef192aa3f74bc92268f338f97 Mon Sep 17 00:00:00 2001
-From: Sebastian Droege <sebastian.droege@collabora.co.uk>
-Date: Tue, 6 Mar 2012 12:28:02 +0100
-Subject: [PATCH] baseparse: Fix 'self-comparison always evaluates to true'
-
-This was really a bug.
-
-Commit is ed7f4802222234eef192aa3f74bc92268f338f97 in 0.10 branch
-
-Upstream Status: Backported
-
-Signed-off-by: Sebastian Droege <sebastian.droege@collabora.co.uk>
----
- libs/gst/base/gstbaseparse.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
-index 851ec1d..108ee89 100644
---- a/libs/gst/base/gstbaseparse.c
-+++ b/libs/gst/base/gstbaseparse.c
-@@ -3899,7 +3899,7 @@ gst_base_parse_handle_seek (GstBaseParse * parse, GstEvent * event)
- seek event (in bytes) to upstream. Segment / flush handling happens
- in corresponding src event handlers */
- GST_DEBUG_OBJECT (parse, "seek in PUSH mode");
-- if (seekstop >= 0 && seekpos <= seekpos)
-+ if (seekstop >= 0 && seekstop <= seekpos)
- seekstop = seekpos;
- new_event = gst_event_new_seek (rate, GST_FORMAT_BYTES, flags,
- GST_SEEK_TYPE_SET, seekpos, stop_type, seekstop);
---
-1.7.9.5
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch
deleted file mode 100644
index dc2d6061..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 60516f4798894f958fc53b470e1283318d0f8706 Mon Sep 17 00:00:00 2001
-From: Kerrick Staley <kerrick@kerrickstaley.com>
-Date: Tue, 20 Aug 2013 23:59:29 -0700
-Subject: [PATCH 1/2] parse: make grammar.y work with Bison 3
-
-YYLEX_PARAM is no longer supported in Bison 3.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=706462
----
- gst/parse/grammar.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
-index 24fc87b..7f9dd16 100644
---- a/gst/parse/grammar.y
-+++ b/gst/parse/grammar.y
-@@ -26,7 +26,6 @@
- */
-
- #define YYERROR_VERBOSE 1
--#define YYLEX_PARAM scanner
-
- #define YYENABLE_NLS 0
-
-@@ -648,6 +647,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
- %right '.'
- %left '!' '='
-
-+%lex-param { void *scanner }
- %parse-param { void *scanner }
- %parse-param { graph_t *graph }
- %pure-parser
---
-2.7.2
-
diff --git a/external/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/external/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
deleted file mode 100644
index 8db39663..00000000
--- a/external/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
+++ /dev/null
@@ -1,32 +0,0 @@
-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/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/check_fix.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/check_fix.patch
deleted file mode 100644
index 5d8bb134..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/check_fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-# gstreamer: Fix a problem with configure if check has already been built
-# Richard Purdie <rpurdie@linux.intel.com>
-
-Upstream-Status: Inappropriate [configuration]
-
-diff -urN gstreamer-0.10.29-orig/configure.ac gstreamer-0.10.29/configure.ac
---- gstreamer-0.10.29-orig/configure.ac 2010-06-26 12:49:27.774930773 +0800
-+++ gstreamer-0.10.29/configure.ac 2010-06-26 12:51:12.899200233 +0800
-@@ -543,8 +543,10 @@
- *) BUILD_CHECK=yes ;;
- esac
- ])
-+
- dnl bit of a misnomer, but keep the conditional named like this so we don't
- dnl have to change too much elsewhere
-+HAVE_CHECK=no
- AM_CONDITIONAL(HAVE_CHECK, test "x$BUILD_CHECK" = "xyes")
-
- dnl configure the desired buffer alignment
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gst-inspect-check-error.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gst-inspect-check-error.patch
deleted file mode 100644
index 30be85f5..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gst-inspect-check-error.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-# Fix crash with gst-inspect
-# Chris Lord <chris@openedhand.com>
-
-Upstream-Status: Pending
-
---- gstreamer-0.10.9/tools/gst-inspect.c.old 2006-09-12 11:56:53.000000000 +0100
-+++ gstreamer-0.10.9/tools/gst-inspect.c 2006-09-12 11:57:27.000000000 +0100
-@@ -1123,7 +1123,7 @@
- g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
- g_option_context_add_group (ctx, gst_init_get_option_group ());
- if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
-- g_print ("Error initializing: %s\n", err->message);
-+ g_print ("Error initializing: %s\n", err ? err->message : "(null)");
- exit (1);
- }
- g_option_context_free (ctx);
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.c b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.c
deleted file mode 100644
index c1f3e71a..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.c
+++ /dev/null
@@ -1,487 +0,0 @@
-/* GStreamer
- * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
- * 2000 Wim Taymans <wtay@chello.be>
- * 2005 David A. Schleef <ds@schleef.org>
- *
- * gstregistryxml.c: GstRegistry object, support routines
- *
- * This library is free software; you can redistribute it and/or
- * modify it ulnder the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-
-#include <gst/gstregistrybinary.h>
-
-/*
-** Simple handy function to write a memory location to the registry cache file
-*/
-inline static gboolean
-gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size)
-{
- if (write(registry->cache_file, mem, size) != size)
- {
- GST_ERROR("Failed to write binary registry element: ptr=%p size=%u error=%s\n",
- mem, size, strerror(errno));
- return FALSE;
- }
- return TRUE;
-}
-
-/*
-** Save features GstBinary style
-*/
-static gboolean
-gst_registry_binary_fill_feature(GList **list, GstPluginFeature *orig, GstBinaryPluginFeature *dest, const char *name)
-{
- GstBinaryChunck *chk;
-
- if ((chk = calloc(1, sizeof (GstBinaryChunck))) == NULL)
- return FALSE;
-
- chk->data = dest;
- chk->size = sizeof (GstBinaryPluginFeature);
-
- *list = g_list_append(*list, chk);
-
- dest->rank = orig->rank;
- if (!strncpy(dest->typename, name, GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN) ||
- !strncpy(dest->name, orig->name, GST_BINARY_REGISTRY_TYPENAME_NAME_LEN))
- {
- GST_ERROR("Failed to write binary registry feature");
- goto fail;
- }
-
- if (GST_IS_ELEMENT_FACTORY(orig))
- {
- GstElementFactory *factory = GST_ELEMENT_FACTORY(orig);
-
- if (!strncpy(dest->longname, factory->details.longname, GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN) ||
- !strncpy(dest->class, factory->details.klass, GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN) ||
- !strncpy(dest->description, factory->details.description, GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN) ||
- !strncpy(dest->author, factory->details.author, GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN))
- {
- GST_ERROR("Failed to write binary registry feature");
- goto fail;
- }
- }
-
- dest->npadtemplates = dest->ninterfaces = dest->nuritypes = 0;
- return TRUE;
-
- fail:
- free(chk);
- return FALSE;
-}
-
-
-/*
-** Initialize the GstBinaryRegistryMagic, setting both our magic number and gstreamer major/minor version
-*/
-inline static gboolean
-gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m)
-{
- if (!strncpy(m->magic, GST_MAGIC_BINARY_REGISTRY_STR, GST_MAGIC_BINARY_REGISTRY_LEN) ||
- !strncpy(m->version, GST_MAJORMINOR, GST_BINARY_REGISTRY_VERSION_LEN))
- {
- GST_ERROR("Failed to write magic to the registry magic structure");
- return FALSE;
- }
- return TRUE;
-}
-
-/*
-** Check GstBinaryRegistryMagic validity.
-** Return a pointer pointing right after the magic structure
-*/
-static gchar *
-gst_registry_binary_check_magic(gchar *in)
-{
- GstBinaryRegistryMagic *m = (GstBinaryRegistryMagic *) in;
-
- if (m == NULL || m->magic == NULL || m->version == NULL)
- {
- GST_ERROR("Binary registry magic structure is broken");
- return NULL;
- }
- if (strncmp(m->magic, GST_MAGIC_BINARY_REGISTRY_STR, GST_MAGIC_BINARY_REGISTRY_LEN) != 0)
- {
- GST_ERROR("Binary registry magic is different : %02x%02x%02x%02x != %02x%02x%02x%02x",
- GST_MAGIC_BINARY_REGISTRY_STR[0] & 0xff, GST_MAGIC_BINARY_REGISTRY_STR[1] & 0xff,
- GST_MAGIC_BINARY_REGISTRY_STR[2] & 0xff, GST_MAGIC_BINARY_REGISTRY_STR[3] & 0xff,
- m->magic[0] & 0xff, m->magic[1] & 0xff, m->magic[2] & 0xff, m->magic[3] & 0xff);
- return NULL;
- }
- if (strncmp(m->version, GST_MAJORMINOR, GST_BINARY_REGISTRY_VERSION_LEN))
- {
- GST_ERROR("Binary registry magic version is different : %s != %s",
- GST_MAJORMINOR, m->version);
- return NULL;
- }
- return (in + sizeof (GstBinaryRegistryMagic));
-}
-
-/*
-** Adapt a GstPlugin to our GstBinaryPluginElement structure, and write it to the
-** registry file.
-*/
-static gboolean
-gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin)
-{
- GstBinaryPluginElement *e;
- GstBinaryChunck *chk;
- GList *walk;
-
- if ((e = calloc(1, sizeof (GstBinaryPluginElement))) == NULL ||
- (chk = calloc(1, sizeof (GstBinaryChunck))) == NULL)
- return FALSE;
-
- chk->data = e;
- chk->size = sizeof (GstBinaryPluginElement);
- *list = g_list_append(*list, chk);
-
- if (!strncpy(e->name, plugin->desc.name, GST_BINARY_REGISTRY_NAME_LEN) ||
- !strncpy(e->description, plugin->desc.description, GST_BINARY_REGISTRY_DESCRIPTION_LEN) ||
- !strncpy(e->filename, plugin->filename, _POSIX_PATH_MAX) ||
- !strncpy(e->version, plugin->desc.version, GST_BINARY_REGISTRY_VERSION_LEN) ||
- !strncpy(e->license, plugin->desc.license, GST_BINARY_REGISTRY_LICENSE_LEN) ||
- !strncpy(e->source, plugin->desc.source, GST_BINARY_REGISTRY_SOURCE_LEN) ||
- !strncpy(e->package, plugin->desc.package, GST_BINARY_REGISTRY_PACKAGE_LEN) ||
- !strncpy(e->origin, plugin->desc.origin, GST_BINARY_REGISTRY_ORIGIN_LEN))
- {
- GST_DEBUG("Can't adapt GstPlugin to GstBinaryPluginElement");
- goto fail;
- }
-
- e->size = plugin->file_size;
- e->m32p = plugin->file_mtime;
-
- GList *ft_list = gst_registry_get_feature_list_by_plugin(registry, plugin->desc.name);
-
- for (walk = ft_list; walk; walk = g_list_next(walk), e->nfeatures++)
- {
- GstPluginFeature *curfeat = GST_PLUGIN_FEATURE (walk->data);
- GstBinaryPluginFeature *newfeat;
- const char *feat_name = g_type_name(G_OBJECT_TYPE(curfeat));
-
- if ((newfeat = calloc(1, sizeof (GstBinaryPluginFeature))) == NULL)
- goto fail;
-
- if (!feat_name || !gst_registry_binary_fill_feature(list, curfeat, newfeat, feat_name))
- {
- GST_ERROR("Can't fill plugin feature, aborting.");
- goto fail;
- }
- }
-
- GST_DEBUG("Found %d features in plugin \"%s\"\n", e->nfeatures, e->name);
- return TRUE;
-
- fail:
- free(chk);
- free(e);
- return FALSE;
-}
-
-/*
-** Write the cache to file. Part of the code was taken from gstregistryxml.c
-*/
-gboolean
-gst_registry_binary_write_cache(GstRegistry *registry, const char *location)
-{
- GList *walk;
- char *tmp_location;
- GstBinaryRegistryMagic *magic;
- GstBinaryChunck *magic_chunck;
- GList *to_write = NULL;
-
- GST_INFO("Writing binary registry cache");
-
- g_return_val_if_fail (GST_IS_REGISTRY (registry), FALSE);
- tmp_location = g_strconcat (location, ".tmpXXXXXX", NULL);
- registry->cache_file = g_mkstemp (tmp_location);
- if (registry->cache_file == -1)
- {
- char *dir;
-
- /* oops, I bet the directory doesn't exist */
- dir = g_path_get_dirname (location);
- g_mkdir_with_parents (dir, 0777);
- g_free (dir);
-
- registry->cache_file = g_mkstemp (tmp_location);
- }
-
- if (registry->cache_file == -1)
- goto fail;
-
- if ((magic = calloc(1, sizeof (GstBinaryRegistryMagic))) == NULL ||
- !gst_registry_binary_initialize_magic(magic))
- goto fail;
-
- if ((magic_chunck = calloc(1, sizeof (GstBinaryChunck))) == NULL)
- goto fail;
-
- magic_chunck->data = magic;
- magic_chunck->size = sizeof (GstBinaryRegistryMagic);
- to_write = g_list_append(to_write, magic_chunck);
-
- /* Iterate trough the list of plugins in the GstRegistry and adapt them to our structures */
- for (walk = g_list_last(registry->plugins); walk; walk = g_list_previous(walk))
- {
- GstPlugin *plugin = GST_PLUGIN(walk->data);
-
- if (!plugin->filename)
- continue;
-
- if (plugin->flags & GST_PLUGIN_FLAG_CACHED)
- {
- int ret;
- struct stat statbuf;
-
- ret = g_stat (plugin->filename, &statbuf);
- if ((ret = g_stat (plugin->filename, &statbuf)) < 0 ||
- plugin->file_mtime != statbuf.st_mtime ||
- plugin->file_size != statbuf.st_size)
- continue;
- }
-
- if (!gst_registry_binary_save_plugin(&to_write, registry, plugin))
- {
- GST_ERROR("Can't write binary plugin information for \"%s\"", plugin->filename);
- continue; /* Try anyway */
- }
- }
-
- for (walk = g_list_first(to_write); walk; walk = g_list_next(walk))
- {
- GstBinaryChunck *cur = walk->data;
-
- if (!gst_registry_binary_write(registry, cur->data, cur->size))
- {
- free(cur->data);
- free(cur);
- g_list_free(to_write);
- goto fail;
- }
- free(cur->data);
- free(cur);
- }
- g_list_free(to_write);
-
- if (close(registry->cache_file) < 0)
- {
- GST_DEBUG("Can't close registry file : %s", strerror(errno));
- goto fail;
- }
-
- if (g_file_test (tmp_location, G_FILE_TEST_EXISTS)) {
-#ifdef WIN32
- remove (location);
-#endif
- rename (tmp_location, location);
- }
-
- g_free (tmp_location);
- return TRUE;
-
- fail:
- g_free(tmp_location);
- return FALSE;
-}
-
-static GstPluginFeature*
-gst_registry_binary_load_feature(GstBinaryPluginFeature *in)
-{
- GstPluginFeature *feature;
- GType type;
-
- if (!in->typename || !*(in->typename))
- return NULL;
-
- /* GST_INFO("Plugin feature typename : %s", in->typename);*/
-
- if (!(type = g_type_from_name(in->typename)))
- {
- GST_ERROR("Unknown type from typename");
- return NULL;
- }
- feature = g_object_new (type, NULL);
-
- if (!feature) {
- GST_ERROR("Can't create feature from type");
- return NULL;
- }
-
- if (!GST_IS_PLUGIN_FEATURE (feature)) {
- /* don't really know what it is */
- if (GST_IS_OBJECT (feature))
- gst_object_unref (feature);
- else
- g_object_unref (feature);
- return NULL;
- }
-
- feature->name = g_strdup(in->name);
- feature->rank = in->rank;
-
- if (GST_IS_ELEMENT_FACTORY(feature))
- {
- GstElementFactory *factory = GST_ELEMENT_FACTORY(feature);
-
- factory->details.longname = g_strdup(in->longname);
- factory->details.klass = g_strdup(in->class);
- factory->details.description = g_strdup(in->description);
- factory->details.author = g_strdup(in->author);
-
- /* GST_INFO("Element factory : %s", factory->details.longname); */
- }
-
- GST_DEBUG("Added feature %p with name %s", feature, feature->name);
- return feature;
-}
-
-/*
-** Make a new plugin from current GstBinaryPluginElement structure
-** and save it to the GstRegistry. Return an offset to the next
-** GstBinaryPluginElement structure.
-*/
-static unsigned long
-gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in)
-{
- GstBinaryPluginElement *p = (GstBinaryPluginElement *) in;
- GstPlugin *plugin = NULL;
- GList *plugin_features = NULL;
- GstBinaryPluginFeature *feat;
- unsigned int i;
- unsigned long offset;
-
- plugin = g_object_new (GST_TYPE_PLUGIN, NULL);
-
- plugin->flags |= GST_PLUGIN_FLAG_CACHED;
-
- plugin->desc.name = g_strdup(p->name);
- plugin->desc.description= g_strdup(p->description);
- plugin->filename = g_strdup(p->filename);
- plugin->desc.version = g_strdup(p->version);
- plugin->desc.license = g_strdup(p->license);
- plugin->desc.source = g_strdup(p->source);
- plugin->desc.package = g_strdup(p->package);
- plugin->desc.origin = g_strdup(p->origin);
- plugin->file_mtime = p->m32p;
- plugin->file_size = p->size;
- plugin->basename = g_path_get_basename (plugin->filename);
-
- if (plugin->file_mtime < 0 || plugin->file_size < 0)
- {
- GST_ERROR("Plugin time or file size is not valid !");
- g_free(plugin);
- return -1;
- }
-
- if (p->nfeatures < 0)
- {
- GST_ERROR("The number of feature structure is not valid !");
- gst_object_unref(plugin);
- return -1;
- }
-
- for (feat = (GstBinaryPluginFeature *) (in + sizeof (GstBinaryPluginElement)), i = 0;
- i < p->nfeatures; i++, feat++)
- {
- GstPluginFeature *gstfeat;
-
- if ((gstfeat = gst_registry_binary_load_feature(feat)) == NULL)
- {
- g_list_free(plugin_features);
- g_free(plugin);
- GST_ERROR("Error while loading binary feature");
- return -1;
- }
- gstfeat->plugin_name = g_strdup(plugin->desc.name);
- plugin_features = g_list_prepend(plugin_features, gstfeat);
- }
-
- GST_DEBUG("Added plugin \"%s\" to global registry from binary registry", plugin->desc.name);
- GList *g;
-
- gst_registry_add_plugin (registry, plugin);
- for (g = plugin_features; g; g = g_list_next (g))
- gst_registry_add_feature (registry, GST_PLUGIN_FEATURE (g->data));
- /* g_list_free(plugin_features); */
-
- offset = sizeof (GstBinaryPluginElement) + p->nfeatures * sizeof (GstBinaryPluginFeature);
- return offset;
-}
-
-
-/*
-** Read the cache and adapt it to fill GstRegistry
-*/
-gboolean
-gst_registry_binary_read_cache(GstRegistry *registry, const char *location)
-{
- GMappedFile *mapped = NULL;
- GTimer *timer = NULL;
- gchar *contents = NULL;
- gdouble seconds;
- unsigned long offset, inc;
- gsize size;
-
- /* make sure these types exist */
- GST_TYPE_ELEMENT_FACTORY;
- GST_TYPE_TYPE_FIND_FACTORY;
- GST_TYPE_INDEX_FACTORY;
-
- timer = g_timer_new ();
-
- if ((mapped = g_mapped_file_new(location, FALSE, NULL)) == NULL ||
- (contents = g_mapped_file_get_contents(mapped)) == NULL)
- {
- GST_ERROR("Can't load file : %s", strerror(errno));
- return FALSE;
- }
- if ((contents = gst_registry_binary_check_magic(contents)) == NULL)
- {
- GST_ERROR("Binary registry type not recognized (invalid magic)");
- g_mapped_file_free(mapped);
- return FALSE;
- }
-
- if ((size = g_mapped_file_get_length(mapped)) < sizeof (GstBinaryPluginElement))
- {
- GST_INFO("No binary plugins structure to read");
- return TRUE; /* This is not really an error */
- }
-
- for (offset = inc = 0; (offset + sizeof (GstBinaryPluginElement)) < size &&
- (inc = gst_registry_binary_get_binary_plugin(registry, contents + offset)) > 0;
- offset += inc)
- ; /* May want in the future to do something here */
- if (inc < 0)
- {
- GST_DEBUG("Problem while reading binary registry");
- return FALSE;
- }
-
- g_timer_stop (timer);
- seconds = g_timer_elapsed (timer, NULL);
- g_timer_destroy (timer);
-
- GST_INFO ("loaded %s in %f seconds", location, seconds);
-
- if (mapped)
- g_mapped_file_free (mapped);
- return TRUE;
-}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.h b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.h
deleted file mode 100644
index 2ef24d76..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/* GStreamer
- * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
- * 2000 Wim Taymans <wim.taymans@chello.be>
- *
- * gstregistry.h: Header for registry handling
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/* SUGGESTIONS AND TODO :
-** ====================
-** - Use a compressed registry, but would induce performance loss
-** - Encrypt the registry, for security purpose, but would also reduce performances
-** - Also have a non-mmap based cache reading (work with file descriptors)
-*/
-
-#ifndef __GST_REGISTRYBINARY_H__
-#define __GST_REGISTRYBINARY_H__
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdio.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include <gst/gst_private.h>
-#include <gst/gstelement.h>
-#include <gst/gsttypefind.h>
-#include <gst/gsttypefindfactory.h>
-#include <gst/gsturi.h>
-#include <gst/gstinfo.h>
-#include <gst/gstenumtypes.h>
-#include <gst/gstregistry.h>
-#include <gst/gstpadtemplate.h>
-
-#include "glib-compat-private.h"
-#include <glib/gstdio.h>
-
-/* A magic, written at the beginning of the file */
-#define GST_MAGIC_BINARY_REGISTRY_STR "\xc0\xde\xf0\x0d"
-#define GST_MAGIC_BINARY_REGISTRY_LEN (4)
-#define GST_MAGIC_BINARY_VERSION_LEN (64)
-
-typedef struct _GstBinaryRegistryMagic
-{
- char magic[GST_MAGIC_BINARY_REGISTRY_LEN];
- char version[GST_MAGIC_BINARY_VERSION_LEN];
-} GstBinaryRegistryMagic;
-
-
-/* Used to store pointers to write */
-typedef struct _GstBinaryChunck
-{
- void *data;
- unsigned int size;
-} GstBinaryChunck;
-
-
-/* A structure containing (staticely) every information needed for a plugin
-**
-** Notes :
-** "nfeatures" is used to say how many GstBinaryPluginFeature structures we will have
-** right after the structure itself.
-*/
-
-/* Various lenght defines for our GstBinaryPluginElement structure
-** Note : We could eventually use smaller size
-*/
-#define GST_BINARY_REGISTRY_NAME_LEN (256)
-#define GST_BINARY_REGISTRY_DESCRIPTION_LEN (1024)
-#define GST_BINARY_REGISTRY_VERSION_LEN (64)
-#define GST_BINARY_REGISTRY_LICENSE_LEN (256)
-#define GST_BINARY_REGISTRY_SOURCE_LEN (256)
-#define GST_BINARY_REGISTRY_PACKAGE_LEN (1024)
-#define GST_BINARY_REGISTRY_ORIGIN_LEN (1024)
-
-typedef struct _GstBinaryPluginElement
-{
- char name[GST_BINARY_REGISTRY_NAME_LEN];
- char description[GST_BINARY_REGISTRY_DESCRIPTION_LEN];
- char filename[_POSIX_PATH_MAX];
- char version[GST_BINARY_REGISTRY_VERSION_LEN];
- char license[GST_BINARY_REGISTRY_LICENSE_LEN];
- char source[GST_BINARY_REGISTRY_SOURCE_LEN];
- char package[GST_BINARY_REGISTRY_PACKAGE_LEN];
- char origin[GST_BINARY_REGISTRY_ORIGIN_LEN];
- unsigned long size;
- unsigned long m32p;
- unsigned int nfeatures;
-} GstBinaryPluginElement;
-
-
-/* A structure containing the plugin features
-**
-** Note :
-** "npadtemplates" is used to store the number of GstBinaryPadTemplate structures following the structure itself.
-** "ninterfaces" is used to store the number of GstBinaryInterface structures following the structure itself.
-** "nuritypes" is used to store the number of GstBinaryUriType structures following the structure itself.
-*/
-#define GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN (256)
-#define GST_BINARY_REGISTRY_TYPENAME_NAME_LEN (256)
-#define GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN (1024)
-#define GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN (512)
-#define GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN (1024)
-#define GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN (256)
-
-typedef struct _GstBinaryPluginFeature
-{
- char typename[GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN];
- char name[GST_BINARY_REGISTRY_TYPENAME_NAME_LEN];
- unsigned long rank;
- char longname[GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN];
- char class[GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN];
- char description[GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN];
- char author[GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN];
- unsigned int npadtemplates;
- unsigned int ninterfaces;
- unsigned int nuritypes;
-} GstBinaryPluginFeature;
-
-
-/*
-** A structure containing the static pad templates of a plugin feature
-*/
-#define GST_BINARY_REGISTRY_PADTEMPLATE_NAME_LEN (256)
-#define GST_BINARY_REGISTRY_PADTEMPLATE_CAP_LEN (1024)
-
-typedef struct _GstBinaryPadTemplate
-{
- char name[GST_BINARY_REGISTRY_PADTEMPLATE_NAME_LEN];
- char cap[GST_BINARY_REGISTRY_PADTEMPLATE_CAP_LEN];
- int direction; /* Either 0:"sink" or 1:"src" */
- GstPadPresence presence;
-} GstBinaryPadTemplate;
-
-/*
-** A very simple structure defining the plugin feature interface string
-*/
-#define GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN (512)
-typedef struct _GstBinaryInterface
-{
- char interface[GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN];
- unsigned long size;
-} GstBinaryInterface;
-
-/* Uri Type */
-typedef struct _GstBinaryUriType
-{
- GstURIType type;
- unsigned long nuriprotocols;
-} GstBinaryUriType;
-
-/*
-** Function prototypes
-*/
-
-/* Local prototypes */
-inline static gboolean gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size);
-inline static gboolean gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m);
-static gboolean gst_registry_binary_fill_feature(GList **list, GstPluginFeature *, GstBinaryPluginFeature *, const char *);
-static gboolean gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin);
-static gchar *gst_registry_binary_check_magic(gchar *in);
-static GstPluginFeature *gst_registry_binary_load_feature(GstBinaryPluginFeature *);
-static unsigned long gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in);
-
-/* Exportable */
-gboolean gst_registry_binary_write_cache(GstRegistry *registry, const char *location);
-gboolean gst_registry_binary_read_cache(GstRegistry *registry, const char *location);
-
-#endif /* !__GST_REGISTRYBINARY_H__ */
-
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
deleted file mode 100644
index 56d82205..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "GStreamer multimedia framework"
-DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
-It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
-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 glib-2.0-native"
-
-PR = "r2"
-
-SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz2 \
- file://check_fix.patch \
- 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"
-SRC_URI[sha256sum] = "e556a529e0a8cf1cd0afd0cab2af5488c9524e7c3f409de29b5d82bb41ae7a30"
-
-inherit autotools pkgconfig gettext
-
-GSTREAMER_DEBUG ?= "--disable-debug"
-EXTRA_OECONF = "--disable-docbook --disable-gtk-doc \
- --disable-dependency-tracking --disable-check \
- --disable-examples --disable-tests \
- --disable-valgrind ${GSTREAMER_DEBUG} \
- --disable-introspection \
- "
-
-CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no"
-
-# apply gstreamer hack after Makefile.in.in in source is replaced by our version from
-# ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed
-# http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html
-oe_runconf_prepend() {
- sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
-}
-
-#do_compile_prepend () {
-# mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/
-#}
-
-FILES_${PN} += " ${libdir}/gstreamer-0.10/*.so"
-FILES_${PN}-dev += " ${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
-FILES_${PN}-dbg += " ${libdir}/gstreamer-0.10/.debug/ ${libexecdir}/gstreamer-0.10/.debug/"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb
deleted file mode 100644
index 5409f320..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Gst-Shark Tracers"
-DESCRIPTION = "Benchmarks and profiling tools for GStreamer"
-HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstShark"
-SECTION = "multimedia"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=e1caa368743492879002ad032445fa97"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad "
-
-SRCBRANCH ?= "master"
-
-SRCREV_base = "a60b3996fe3376d42334fc89014e9d6f6af62899"
-SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
-
-SRC_URI = " \
- git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH};name=base \
- git://anongit.freedesktop.org/git/gstreamer/common.git;protocol=https;destsuffix=git/common;name=common; \
- "
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG_CONFARGS = " \
- --disable-graphviz \
- --enable-gtk-doc=no \
-"
-
-FILES_${PN} += "\
- ${libdir}/gstreamer-1.0/libgstsharktracers.so \
- ${libdir}/gstreamer-1.0/libgstsharktracers.la \
-"
-
-inherit autotools gettext
-
-do_configure() {
- ${S}/autogen.sh --noconfigure
- oe_runconf
-}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb
new file mode 100644
index 00000000..d047caef
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Gst-Shark Tracers"
+DESCRIPTION = "Benchmarks and profiling tools for GStreamer"
+HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstShark"
+SECTION = "multimedia"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e1caa368743492879002ad032445fa97"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad "
+
+SRCBRANCH ?= "master"
+
+PV = "0.6.1"
+
+SRCREV_base = "c41a05cc9e2310c2f73eda4b4f0b4477bf4479c5"
+SRCREV_common = "88e512ca7197a45c4114f7fa993108f23245bf50"
+
+SRC_URI = " \
+ git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH};name=base \
+ git://gitlab.freedesktop.org/gstreamer/common.git;protocol=https;destsuffix=git/common;name=common; \
+ "
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG_CONFARGS = " \
+ --disable-graphviz \
+ --enable-gtk-doc=no \
+"
+
+FILES_${PN} += "\
+ ${libdir}/gstreamer-1.0/libgstsharktracers.so \
+ ${libdir}/gstreamer-1.0/libgstsharktracers.la \
+"
+
+inherit autotools gettext
+
+do_configure() {
+ ${S}/autogen.sh --noconfigure
+ oe_runconf
+}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc
deleted file mode 100644
index 455d8968..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Gstreamer Daemon 1.0"
-SUMMARY = "GStreamer framework for controlling audio and video streaming using TCP connection messages"
-HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=Gstd-1.0"
-SECTION = "multimedia"
-LICENSE = "GPLv2+"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon"
-
-SRCBRANCH ?= "master"
-SRCREV = "3526d0ffdbccc375db7d5fe33a72c68b134657c2"
-SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-gstd-yocto-compatibility.patch \
- file://0001-Look-for-gtk-doc.make-in-builddir.patch \
- "
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig gettext gtk-doc
-
-do_configure_prepend() {
- sed -i -e "s|include \$(top_builddir)/docs/gtk-doc.make||g" ${S}/docs/reference/gstd/Makefile.am
-}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch
deleted file mode 100644
index 5a286164..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a84e9a6e1dca685eda072d58b58556b5b35cb4c8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 10 Sep 2018 21:16:50 -0700
-Subject: [PATCH] Look for gtk-doc.make in builddir
-
-this is evident when S != B because gtkdocize
-generates this file and its actually built into
-build area
-
-Upstream-Status: Submitted [https://github.com/RidgeRun/gstd-1.x/pull/39]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- docs/reference/gstd/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/docs/reference/gstd/Makefile.am b/docs/reference/gstd/Makefile.am
-index f860fa1..62870da 100644
---- a/docs/reference/gstd/Makefile.am
-+++ b/docs/reference/gstd/Makefile.am
-@@ -66,7 +66,7 @@ GTKDOC_LIBS=$(top_builddir)/gstd/libgstd-core.la
-
-
- # This includes the standard gtk-doc make rules, copied by gtkdocize.
--include $(top_srcdir)/docs/gtk-doc.make
-+include $(top_builddir)/docs/gtk-doc.make
-
- # Comment this out if you want 'make check' to test you doc status
- # and run some sanity checks
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
index ffcc6ea9..c1c88999 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
@@ -7,19 +7,14 @@ Subject: [PATCH] gstd:yocto compatibility
gstd/Makefile.am | 2 +-
3 files changed, 9 insertions(+), 3 deletions(-)
-diff --git a/gstd/Makefile.am b/gstd/Makefile.am
-index 13c551d..11fe202 100644
--- a/gstd/Makefile.am
+++ b/gstd/Makefile.am
-@@ -49,7 +49,7 @@ bin_PROGRAMS = gstd
+@@ -74,7 +74,7 @@ gstd_CFLAGS = $(GST_CFLAGS) \
+ -DGSTD_LOG_STATE_DIR=\"$(gstdlogstatedir)\" \
+ -DGSTD_RUN_STATE_DIR=\"$(gstdrunstatedir)\"
- gstd_SOURCES = gstd.c
- gstd_CFLAGS = $(GST_CFLAGS) $(GIO_CFLAGS) $(GJSON_CFLAGS)
--gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GJSON_LIBS) -Wl,-rpath -Wl,$(libdir)
-+gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GJSON_LIBS)
+-gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GIO_UNIX_LIBS) $(GJSON_LIBS) $(LIBD_LIBS) -Wl,-rpath -Wl,$(libdir)
++gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GIO_UNIX_LIBS) $(GJSON_LIBS) $(LIBD_LIBS)
gstd_LDADD = libgstd-core.la
gstdincludedir = $(includedir)/gstd
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_1.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_1.0.bb
deleted file mode 100644
index 94f6b575..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_1.0.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require gstd.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
new file mode 100644
index 00000000..1834a836
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Gstreamer Daemon"
+SUMMARY = "GStreamer framework for controlling audio and video streaming using TCP connection messages"
+HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=Gstd-1.0"
+SECTION = "multimedia"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon jansson"
+
+SRCBRANCH ?= "master"
+SRCREV = "a6621a5778b234651aa2adbbe304d906a3fa64d1"
+SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH} \
+ file://0001-gstd-yocto-compatibility.patch \
+ "
+S = "${WORKDIR}/git"
+
+# Remove the +really when upstream version is > 1.0
+PV = "1.0+really0.8.0"
+
+inherit autotools pkgconfig gettext gtk-doc
+
+do_install_append() {
+ rm -fr ${D}${localstatedir}/run ${D}/run ${D}${bindir}/gst-client ${D}${bindir}/gstd-client
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/${BPN} - - - -" \
+ > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+ echo "d /${localstatedir}/log/${BPN} 0755 root root -" \
+ >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+ fi
+ ln -sf gst-client-1.0 ${D}${bindir}/gst-client
+ ln -sf gst-client-1.0 ${D}${bindir}/gstd-client
+}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb
new file mode 100644
index 00000000..249f989a
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb
@@ -0,0 +1,7 @@
+SUMMARY = "meta-multimedia build test image"
+
+IMAGE_INSTALL = "packagegroup-core-boot"
+
+LICENSE = "MIT"
+
+inherit core-image
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb
new file mode 100644
index 00000000..9f2fda9f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb
@@ -0,0 +1,3 @@
+require meta-multimedia-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-multimedia"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb
new file mode 100644
index 00000000..04501e97
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb
@@ -0,0 +1,19 @@
+# Copyright (C) 2020 Madhavan Krishnan <madhavan.krishnan@linaro.org>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "libcamera image"
+LICENSE = "MIT"
+
+require meta-multimedia-image.bb
+
+IMAGE_INSTALL += " \
+ kernel-modules \
+ xkeyboard-config \
+"
+
+IMAGE_INSTALL_append = "\
+ libcamera \
+ gstreamer1.0-plugins-good \
+ gstreamer1.0-plugins-base \
+"
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb
deleted file mode 100644
index 7836bae6..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit nativesdk
-include projucer.inc
-BBCLASSEXTEND = "nativesdk"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb
deleted file mode 100644
index fb54fb9e..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit native
-include projucer.inc
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
index 63ed9e90..fc8baa45 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
@@ -4,23 +4,38 @@ JUCE supported platforms, including Linux and Embedded Linux."
SECTION = "utils"
HOMEPAGE = "http://juce.com/"
LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://README.md;md5=65c50b4ff3522b99436da100536ccd1c"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a20f91622a47d4e4af9340d5d3f1a2d8"
-inherit pkgconfig
+inherit pkgconfig features_check
-DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl"
+REQUIRED_DISTRO_FEATURES = "x11"
-SRCREV = "4f41f28b47d01b939559123d145b4e5860528bb7"
+DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl bzip2 libpng harfbuzz glib-2.0 libpcre"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+SRCREV = "724ae27c71ef809b836df06713cf9e50bc14162b"
BRANCH = "master"
-SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH}"
+SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH} \
+ file://0001-Disable-webkit-component.patch \
+"
S = "${WORKDIR}/git"
-PV = "5.0.1"
+PV = "5.4.5"
JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds"
JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile"
JUCE_PROJUCER = "${JUCE_PROJUCER_MAKEFILE_PATH}/build/Projucer"
+# export dummy TARGET_ARCH that doesn't do much,
+# but disables "-march=native" optimization which does
+# not work on cross builds
+EXTRA_OEMAKE = "V=1 JUCE_ARCH_LABEL=${TARGET_ARCH} TARGET_ARCH='-g'"
+
+LDFLAGS_append_mipsarcho32 = " -latomic"
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_riscv64 = " -latomic"
+LDFLAGS_append_armv5 = " -latomic"
+
do_configure() {
cd ${JUCE_PROJUCER_MAKEFILE_PATH}
CONFIG=Release oe_runmake clean
@@ -35,3 +50,5 @@ do_install() {
install -d ${D}${bindir}
install -m 0755 ${JUCE_PROJUCER} ${D}${bindir}
}
+# error: '_NL_IDENTIFICATION_LANGUAGE' was not declared in this scope
+COMPATIBLE_HOST_libc-musl = "null"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch
new file mode 100644
index 00000000..3728439c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch
@@ -0,0 +1,83 @@
+From df7190f430f30ee522f56f9714d42ee796f0d5ff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Dec 2019 22:18:41 -0800
+Subject: [PATCH] Disable webkit component
+
+It asks for enable JUCER_ENABLE_GPL_MODE
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ extras/Projucer/Builds/LinuxMakefile/Makefile | 10 +++++-----
+ extras/Projucer/JuceLibraryCode/AppConfig.h | 4 ++--
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile
+index 25b490460..8960f5bc6 100644
+--- a/extras/Projucer/Builds/LinuxMakefile/Makefile
++++ b/extras/Projucer/Builds/LinuxMakefile/Makefile
+@@ -35,13 +35,13 @@ ifeq ($(CONFIG),Debug)
+ TARGET_ARCH := -march=native
+ endif
+
+- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
++ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+ JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0
+ JUCE_TARGET_APP := Projucer
+
+ JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS)
+ JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS)
+- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -lrt -ldl -lpthread $(LDFLAGS)
++ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -lrt -ldl -lpthread $(LDFLAGS)
+
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
+ endif
+@@ -56,13 +56,13 @@ ifeq ($(CONFIG),Release)
+ TARGET_ARCH := -march=native
+ endif
+
+- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
++ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+ JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0
+ JUCE_TARGET_APP := Projucer
+
+ JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS)
+ JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS)
+- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS)
++ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS)
+
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
+ endif
+@@ -136,7 +136,7 @@ all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP)
+
+ $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES)
+ @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }
+- @pkg-config --print-errors x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0
++ @pkg-config --print-errors x11 xinerama xext freetype2
+ @echo Linking "Projucer - App"
+ -$(V_AT)mkdir -p $(JUCE_BINDIR)
+ -$(V_AT)mkdir -p $(JUCE_LIBDIR)
+diff --git a/extras/Projucer/JuceLibraryCode/AppConfig.h b/extras/Projucer/JuceLibraryCode/AppConfig.h
+index dffd5af75..53302bd24 100644
+--- a/extras/Projucer/JuceLibraryCode/AppConfig.h
++++ b/extras/Projucer/JuceLibraryCode/AppConfig.h
+@@ -32,7 +32,7 @@
+ // BEGIN SECTION A
+
+ #ifndef JUCER_ENABLE_GPL_MODE
+- #define JUCER_ENABLE_GPL_MODE 0
++ #define JUCER_ENABLE_GPL_MODE 1
+ #endif
+
+ // END SECTION A
+@@ -180,7 +180,7 @@
+ // juce_gui_extra flags:
+
+ #ifndef JUCE_WEB_BROWSER
+- //#define JUCE_WEB_BROWSER 1
++ #define JUCE_WEB_BROWSER 0
+ #endif
+
+ #ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer_git.bb
new file mode 100644
index 00000000..f408f6f1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer_git.bb
@@ -0,0 +1,2 @@
+include projucer.inc
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
index 4c0976e4..05134614 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
@@ -28,7 +28,6 @@ python populate_packages_prepend () {
}
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"
FILES_${BPN}-ckport = "${libdir}/ckport"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
new file mode 100644
index 00000000..3f8fe2f3
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Linux libcamera framework"
+SECTION = "libs"
+
+LICENSE = "GPL-2.0 & LGPL-2.1"
+
+LIC_FILES_CHKSUM = "\
+ file://licenses/gnu-gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://licenses/gnu-lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \
+"
+
+SRC_URI = " \
+ git://linuxtv.org/libcamera.git;protocol=git \
+"
+
+SRCREV = "a8be6e94e79f602d543a15afd44ef60e378b138f"
+
+PV = "202002+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "python3-pyyaml-native udev"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}"
+
+RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}"
+
+inherit meson pkgconfig python3native
+
+FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
+FILES_${PN} += " ${libdir}/libcamera.so"
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb
new file mode 100755
index 00000000..c9ade4ac
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Capture and control API for IIDC compliant cameras"
+HOMEPAGE = "http://sourceforge.net/projects/libdc1394/"
+SECTION = "libs"
+LICENSE = "LGPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64"
+
+# libsdl to provide sdl.m4 with AM_PATH_SDL
+DEPENDS += "libusb1 libraw1394 libsdl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'libglu', '', d)} \
+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://install_examples.patch \
+ "
+SRC_URI[md5sum] = "9fad67bbff08fe2818d5ec81802ec89f"
+SRC_URI[sha256sum] = "2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed"
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--disable-doxygen-doc --disable-examples"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
deleted file mode 100755
index b6bb447b..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Capture and control API for IIDC compliant cameras"
-HOMEPAGE = "http://sourceforge.net/projects/libdc1394/"
-SECTION = "libs"
-LICENSE = "LGPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64"
-
-# libsdl to provide sdl.m4 with AM_PATH_SDL
-DEPENDS += "libusb1 libraw1394 libsdl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'libglu', '', d)} \
-"
-
-PV = "2.2.5+gitr${SRCPV}"
-
-SRCREV = "5e78f51936fd09db0c0f742c7d2c0e5bdbbeed56"
-
-SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \
- file://install_examples.patch \
- "
-
-S = "${WORKDIR}/git/${PN}"
-
-inherit autotools-brokensep pkgconfig
-
-EXTRA_OECONF += "--disable-doxygen-doc --disable-examples"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.2.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.2.bb
deleted file mode 100644
index cd075ffe..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "libde265 is an open source implementation of the h.265 \
-video codec. It is written from scratch and has a plain C API to enable a \
-simple integration into other software."
-HOMEPAGE = "http://www.libde265.org/"
-SECTION = "libs/multimedia"
-
-LICENSE = "LGPLv3"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=852f345c1c52c9160f9a7c36bb997546"
-
-SRC_URI = "https://github.com/strukturag/libde265/releases/download/v${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "93520b378df25f3a94e962f2b54872cc"
-SRC_URI[sha256sum] = "eaa0348839c2935dd90647d72c6dd4a043e36361cb3c33d2b04df10fbcebd3cb"
-
-EXTRA_OECONF = "--disable-sherlock265 --disable-dec265"
-
-inherit autotools-brokensep pkgconfig
-
-PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/*"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb
new file mode 100644
index 00000000..613dcc71
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "libde265 is an open source implementation of the h.265 \
+video codec. It is written from scratch and has a plain C API to enable a \
+simple integration into other software."
+HOMEPAGE = "http://www.libde265.org/"
+SECTION = "libs/multimedia"
+
+LICENSE = "LGPLv3 & MIT"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=695b556799abb2435c97a113cdca512f"
+
+SRC_URI = "https://github.com/strukturag/libde265/releases/download/v${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "e3f277d8903408615a5cc34718b391b83c97c646faea4f41da93bac5ee08a87f"
+
+EXTRA_OECONF = "--disable-sherlock265 --disable-dec265"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa/libdvbcsa.pc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa/libdvbcsa.pc
new file mode 100644
index 00000000..57e74668
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa/libdvbcsa.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: libdvbcsa
+Description: is a free implementation of the DVB Common Scrambling Algorithm - DVB/CSA - with encryption and decryption capabilities.
+Version: 1.1.0
+Requires:
+Libs: -L${libdir} -ldvbcsa
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
new file mode 100644
index 00000000..7f042c38
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Open implementation of the DVB Common Scrambling Algorithm, encrypt and decrypt "
+SECTION = "libs/multimedia"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRCREV = "bc6c0b164a87ce05e9925785cc6fb3f54c02b026"
+
+SRC_URI = "git://code.videolan.org/videolan/libdvbcsa.git;protocol=https \
+ file://libdvbcsa.pc \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools lib_package pkgconfig
+
+do_install_append() {
+ install -D -m 0644 ${S}/src/dvbcsa/dvbcsa.h ${D}${includedir}/dvbcsa/dvbcsa.h
+ install -D -m 0644 ${WORKDIR}/libdvbcsa.pc ${D}${libdir}/pkgconfig/libdvbcsa.pc
+}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb
new file mode 100644
index 00000000..b313b110
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb
@@ -0,0 +1,29 @@
+SUMMARY = "A fast lightweight Text-to-speech engine"
+DESCRIPTION = "Mimic is a fast, lightweight Text-to-speech engine developed by Mycroft A.I. and VocaliD, based on Carnegie Mellon University’s Flite (Festival-Lite) software. Mimic takes in text and reads it out loud to create a high quality voice."
+HOMEPAGE = "https://mimic.mycroft.ai/"
+SECTION = "multimedia"
+
+# "Mimic is available under permissive BSD-like licenses"
+LICENSE = "MIT-X & \
+ PD & \
+ CMU-Tex & \
+ BSD & \
+ BSD-2-Clause & \
+ BSD-3-Clause & \
+ flite & \
+ (flite & Sun) & \
+ BellBird & \
+ Apache-2.0 \
+ "
+LIC_FILES_CHKSUM = "file://COPYING;md5=416ef1ca5167707fe381d7be33664a33"
+
+DEPENDS = "curl-native icu"
+
+SRCREV = "67e43bf0fa56008276b878ec3790aa5f32eb2a16"
+SRC_URI = "git://github.com/MycroftAI/mimic.git"
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+
+CPPFLAGS_append = " -Wno-error"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
index 187ff536..04648a5d 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
@@ -12,6 +12,7 @@ SRC_URI = "git://git.code.sf.net/p/minidlna/git;branch=master;module=git \
file://minidlna-daemon.init.d \
file://minidlna.service \
file://0001-Update-Gettext-version.patch \
+ file://0001-configure-Check-for-clock_gettime-seprately-from-__N.patch \
"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch
index c18095d4..6100da35 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch
@@ -10,8 +10,6 @@ Signed-off-by: Baptiste Durand <baptiste.durand@gmail.com>
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index f343d21..a556b33 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,7 +14,7 @@
@@ -23,12 +21,12 @@ index f343d21..a556b33 100644
#LT_INIT
AC_CANONICAL_TARGET
-@@ -28,7 +28,7 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_USE_SYSTEM_EXTENSIONS])
+@@ -28,7 +28,7 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC
AM_ICONV
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION(0.18)
-+AM_GNU_GETTEXT_VERSION(0.19)
++AM_GNU_GETTEXT_VERSION(0.20)
# Checks for programs.
AC_PROG_AWK
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch
new file mode 100644
index 00000000..24a307db
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch
@@ -0,0 +1,36 @@
+From 1118b1912916924bbfa3fd4dced9dfed01fbf0e0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 9 Mar 2020 09:44:33 -0700
+Subject: [PATCH] configure: Check for clock_gettime seprately from
+ __NR_clock_gettime
+
+This helps prioritize using clock_gettime API from libc over syscall
+since direct use of __NR_clock_gettime is not time64-safe
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -125,6 +125,10 @@ case $host in
+ esac
+
+ AC_CHECK_HEADERS(syscall.h sys/syscall.h mach/mach_time.h)
++
++AC_MSG_CHECKING([for clock_gettime])
++AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [use clock_gettime])],)
++
+ AC_MSG_CHECKING([for __NR_clock_gettime syscall])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+@@ -143,7 +147,6 @@ AC_COMPILE_IFELSE(
+ ],
+ [
+ AC_MSG_RESULT([no])
+- AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [use clock_gettime])],)
+ ])
+
+ AC_CHECK_HEADER(linux/netlink.h,
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.16.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.16.bb
index 455e76fc..235e63e4 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.16.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.16.bb
@@ -1,5 +1,5 @@
SUMMARY = "C client library for the Music Player Daemon"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=06b9dfd2f197dc514d8ef06549684b77"
HOMEPAGE = "https://www.musicpd.org/libs/libmpdclient/"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-StringBuffer-Include-cstddef-for-size_t.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-StringBuffer-Include-cstddef-for-size_t.patch
new file mode 100644
index 00000000..1d869aa8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-StringBuffer-Include-cstddef-for-size_t.patch
@@ -0,0 +1,27 @@
+From c14877071f14b218835f7fb034dea11bd1ba56f5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Dec 2019 09:40:16 -0800
+Subject: [PATCH] StringBuffer: Include cstddef for size_t
+
+Fixes
+a.cpp:3:1: error: 'size_t' does not name a type
+ 3 | size_t s;
+ | ^~~~~~
+a.cpp:2:1: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
+
+Upstream-Status: Submitted [https://github.com/MusicPlayerDaemon/MPD/pull/697]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util/StringBuffer.hxx | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/util/StringBuffer.hxx
++++ b/src/util/StringBuffer.hxx
+@@ -31,6 +31,7 @@
+ #define STRING_BUFFER_HPP
+
+ #include <array>
++#include <cstddef>
+
+ /**
+ * A statically allocated string buffer.
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0002-Include-stdexcept-for-runtime_error.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0002-Include-stdexcept-for-runtime_error.patch
new file mode 100644
index 00000000..1f118671
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0002-Include-stdexcept-for-runtime_error.patch
@@ -0,0 +1,38 @@
+From 06f78ced45f6622a2e02cd09e6a2c0c22a98b89e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Dec 2019 09:41:55 -0800
+Subject: [PATCH 2/2] Include <stdexcept> for runtime_error
+
+Fixes
+
+../git/src/LocateUri.cxx:65:14: error: 'runtime_error' is not a member of 'std'
+ 65 | throw std::runtime_error("Unsupported URI scheme");
+ | ^~~~~~~~~~~~~
+
+Upstream-Status: Inappropriate [ Fixed differently upstream ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/LocateUri.cxx | 1 +
+ src/pcm/PcmConvert.cxx | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/src/LocateUri.cxx
++++ b/src/LocateUri.cxx
+@@ -17,6 +17,7 @@
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
++#include <stdexcept>
+ #include "config.h"
+ #include "LocateUri.hxx"
+ #include "client/Client.hxx"
+--- a/src/pcm/PcmConvert.cxx
++++ b/src/pcm/PcmConvert.cxx
+@@ -17,6 +17,7 @@
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
++#include <stdexcept>
+ #include "config.h"
+ #include "PcmConvert.hxx"
+ #include "ConfiguredResampler.hxx"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
index 6c6ad423..133ee6e7 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb
@@ -19,6 +19,8 @@ DEPENDS += " \
SRC_URI = " \
git://github.com/MusicPlayerDaemon/MPD;branch=v0.20.x \
file://mpd.conf.in \
+ file://0001-StringBuffer-Include-cstddef-for-size_t.patch \
+ file://0002-Include-stdexcept-for-runtime_error.patch \
"
SRCREV = "9274bc15bc41bbe490fde847f8422468cc20375d"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb
deleted file mode 100644
index 8468d125..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "A curses client for the Music Player Daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
-
-inherit meson
-
-DEPENDS += " \
- boost \
- ncurses \
- libmpdclient \
-"
-
-PACKAGECONFIG ??= "colors locale mouse nls regex help_screen artist_screen search_screen song_screen key_screen lyrics_screen outputs_screen"
-
-PACKAGECONFIG[colors] = "-Dcolors=true,-Dcolors=false"
-PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
-PACKAGECONFIG[locale] = "-Dlocale=enabled,-Dlocale=disabled"
-PACKAGECONFIG[mini] = "-Dmini=true,-Dmini=false"
-PACKAGECONFIG[mouse] = "-Dmouse=enabled,-Dmouse=disabled"
-PACKAGECONFIG[nls] = "-Dnls=enabled,-Dnls=disabled,gettext-native"
-PACKAGECONFIG[regex] = "-Dregex=enabled,-Dregex=disabled,pcre"
-
-PACKAGECONFIG[help_screen] = "-Dhelp_screen=true,-Dhelp_screen=false"
-PACKAGECONFIG[artist_screen] = "-Dartist_screen=true,-Dartist_screen=false"
-PACKAGECONFIG[search_screen] = "-Dsearch_screen=true,-Dsearch_screen=false"
-PACKAGECONFIG[song_screen] = "-Dsong_screen=true,-Dsong_screen=false"
-PACKAGECONFIG[key_screen] = "-Dkey_screen=true,-Dkey_screen=false"
-PACKAGECONFIG[lyrics_screen] = "-Dlyrics_screen=true,-Dlyrics_screen=false"
-PACKAGECONFIG[outputs_screen] = "-Doutputs_screen=true,-Doutputs_screen=false"
-PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
-
-SRC_URI = " \
- git://github.com/MusicPlayerDaemon/ncmpc \
-"
-SRCREV = "8e98f89ff07b140e6357dab2a9a9f6432ae0e521"
-S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.34.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.34.bb
new file mode 100644
index 00000000..0c99c7c6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.34.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A curses client for the Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
+
+inherit meson
+
+DEPENDS += " \
+ boost \
+ ncurses \
+ libmpdclient \
+"
+
+PACKAGECONFIG ??= "colors locale mouse nls regex help_screen library_screen search_screen song_screen key_screen lyrics_screen outputs_screen"
+
+PACKAGECONFIG[colors] = "-Dcolors=true,-Dcolors=false"
+PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
+PACKAGECONFIG[locale] = "-Dlocale=enabled,-Dlocale=disabled"
+PACKAGECONFIG[mini] = "-Dmini=true,-Dmini=false"
+PACKAGECONFIG[mouse] = "-Dmouse=enabled,-Dmouse=disabled"
+PACKAGECONFIG[nls] = "-Dnls=enabled,-Dnls=disabled,gettext-native"
+PACKAGECONFIG[regex] = "-Dregex=enabled,-Dregex=disabled,pcre"
+
+PACKAGECONFIG[help_screen] = "-Dhelp_screen=true,-Dhelp_screen=false"
+PACKAGECONFIG[library_screen] = "-Dlibrary_screen=true,-Dlibrary_screen=false"
+PACKAGECONFIG[search_screen] = "-Dsearch_screen=true,-Dsearch_screen=false"
+PACKAGECONFIG[song_screen] = "-Dsong_screen=true,-Dsong_screen=false"
+PACKAGECONFIG[key_screen] = "-Dkey_screen=true,-Dkey_screen=false"
+PACKAGECONFIG[lyrics_screen] = "-Dlyrics_screen=true,-Dlyrics_screen=false"
+PACKAGECONFIG[outputs_screen] = "-Doutputs_screen=true,-Doutputs_screen=false"
+PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
+
+SRC_URI = " \
+ git://github.com/MusicPlayerDaemon/ncmpc \
+"
+SRCREV = "79cf9905355f25bc5cc6d5a05d2846d75342f554"
+S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch
new file mode 100644
index 00000000..245785c8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch
@@ -0,0 +1,194 @@
+From 07fce2101d83b5334de78e661ba0361c2874ebdf Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Mon, 18 Mar 2019 16:30:45 -0700
+Subject: [PATCH 1/7] Remove python venv
+
+Remove the python venv requirements and instead just use the native
+python and pip pacakges.
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ dev_setup.sh | 39 ---------------------------------------
+ start-mycroft.sh | 13 -------------
+ venv-activate.sh | 44 +-------------------------------------------
+ 3 files changed, 1 insertion(+), 95 deletions(-)
+
+diff --git a/dev_setup.sh b/dev_setup.sh
+index cf81ed25f0f..99a44bfd8a7 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -338,18 +338,6 @@ ${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools pytho
+ fi
+ }
+
+-VIRTUALENV_ROOT=${VIRTUALENV_ROOT:-"${TOP}/.venv"}
+-
+-function install_venv() {
+- $opt_python -m venv "${VIRTUALENV_ROOT}/" --without-pip
+- # Force version of pip for reproducability, but there is nothing special
+- # about this version. Update whenever a new version is released and
+- # verified functional.
+- curl https://bootstrap.pypa.io/3.3/get-pip.py | "${VIRTUALENV_ROOT}/bin/python" - 'pip==18.0.0'
+- # Function status depending on if pip exists
+- [[ -x ${VIRTUALENV_ROOT}/bin/pip ]]
+-}
+-
+ install_deps
+
+ # Configure to use the standard commit template for
+@@ -383,17 +371,6 @@ else
+ fi
+ fi
+
+-if [[ ! -x ${VIRTUALENV_ROOT}/bin/activate ]] ; then
+- if ! install_venv ; then
+- echo 'Failed to set up virtualenv for mycroft, exiting setup.'
+- exit 1
+- fi
+-fi
+-
+-# Start the virtual environment
+-source "${VIRTUALENV_ROOT}/bin/activate"
+-cd "$TOP"
+-
+ # Install pep8 pre-commit hook
+ HOOK_FILE='./.git/hooks/pre-commit'
+ if [[ -n $INSTALL_PRECOMMIT_HOOK ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
+@@ -408,22 +385,6 @@ fi
+
+ PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
+
+-# Add mycroft-core to the virtualenv path
+-# (This is equivalent to typing 'add2virtualenv $TOP', except
+-# you can't invoke that shell function from inside a script)
+-VENV_PATH_FILE="${VIRTUALENV_ROOT}/lib/$PYTHON/site-packages/_virtualenv_path_extensions.pth"
+-if [[ ! -f $VENV_PATH_FILE ]] ; then
+- echo 'import sys; sys.__plen = len(sys.path)' > "$VENV_PATH_FILE" || return 1
+- echo "import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)" >> "$VENV_PATH_FILE" || return 1
+-fi
+-
+-if ! grep -q "$TOP" $VENV_PATH_FILE ; then
+- echo 'Adding mycroft-core to virtualenv path'
+- sed -i.tmp '1 a\
+-'"$TOP"'
+-' "$VENV_PATH_FILE"
+-fi
+-
+ # install required python modules
+ if ! pip install -r requirements.txt ; then
+ echo 'Warning: Failed to install all requirements. Continue? y/N'
+diff --git a/start-mycroft.sh b/start-mycroft.sh
+index 0f88430982e..3aed2f189d4 100755
+--- a/start-mycroft.sh
++++ b/start-mycroft.sh
+@@ -20,7 +20,6 @@ script=${0}
+ script=${script##*/}
+ cd -P "$( dirname "$SOURCE" )"
+ DIR="$( pwd )"
+-VIRTUALENV_ROOT=${VIRTUALENV_ROOT:-"${DIR}/.venv"}
+
+ function help() {
+ echo "${script}: Mycroft command/service launcher"
+@@ -76,19 +75,11 @@ function name-to-script-path() {
+ esac
+ }
+
+-function source-venv() {
+- # Enter Python virtual environment, unless under Docker
+- if [ ! -f "/.dockerenv" ] ; then
+- source ${VIRTUALENV_ROOT}/bin/activate
+- fi
+-}
+-
+ first_time=true
+ function init-once() {
+ if ($first_time) ; then
+ echo "Initializing..."
+ "${DIR}/scripts/prepare-msm.sh"
+- source-venv
+ first_time=false
+ fi
+ }
+@@ -225,15 +216,12 @@ case ${_opt} in
+ # launch-background ${_opt}
+ # ;;
+ "unittest")
+- source-venv
+ pytest test/unittests/ --cov=mycroft "$@"
+ ;;
+ "singleunittest")
+- source-venv
+ pytest "$@"
+ ;;
+ "skillstest")
+- source-venv
+ pytest test/integrationtests/skills/discover_tests.py "$@"
+ ;;
+ "audiotest")
+@@ -243,7 +231,6 @@ case ${_opt} in
+ launch-process ${_opt}
+ ;;
+ "sdkdoc")
+- source-venv
+ cd doc
+ make ${_params}
+ cd ..
+diff --git a/venv-activate.sh b/venv-activate.sh
+index d1e7bcb44e7..10b46d4de3b 100644
+--- a/venv-activate.sh
++++ b/venv-activate.sh
+@@ -22,49 +22,7 @@
+
+ # wrap in function to allow local variables, since this file will be source'd
+ function main() {
+- local quiet=0
+-
+- for arg in "$@"
+- do
+- case $arg in
+- "-q"|"--quiet" )
+- quiet=1
+- ;;
+-
+- "-h"|"--help" )
+- echo "venv-activate.sh: Enter the Mycroft virtual environment"
+- echo "Usage:"
+- echo " source venv-activate.sh"
+- echo "or"
+- echo " . venv-activate.sh"
+- echo ""
+- echo "Options:"
+- echo " -q | --quiet Don't show instructions."
+- echo " -h | --help Show help."
+- return 0
+- ;;
+-
+- *)
+- echo "ERROR: Unrecognized option: $@"
+- return 1
+- ;;
+- esac
+- done
+-
+- if [ "$0" == "$BASH_SOURCE" ] ; then
+- # Prevent running in script then exiting immediately
+- echo "ERROR: Invoke with 'source venv-activate.sh' or '. venv-activate.sh'"
+- else
+- local SRC_DIR="$( builtin cd "$( dirname "${BASH_SOURCE}" )" ; pwd -P )"
+- source ${SRC_DIR}/.venv/bin/activate
+-
+- # Provide an easier to find "mycroft-" prefixed command.
+- unalias mycroft-venv-activate 2>/dev/null
+- alias mycroft-venv-deactivate="deactivate && unalias mycroft-venv-deactivate 2>/dev/null && alias mycroft-venv-activate=\"source '${SRC_DIR}/venv-activate.sh'\""
+- if [ $quiet -eq 0 ] ; then
+- echo "Entering Mycroft virtual environment. Run 'mycroft-venv-deactivate' to exit"
+- fi
+- fi
++ echo "Not entering Python VENV"
+ }
+
+ main $@
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-dev_setup.sh-Remove-the-git-dependency.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-dev_setup.sh-Remove-the-git-dependency.patch
new file mode 100644
index 00000000..637854fd
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-dev_setup.sh-Remove-the-git-dependency.patch
@@ -0,0 +1,48 @@
+From 88696037af52d6a7f57bc0fb82598de1a25365cc Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Fri, 29 Mar 2019 16:09:57 -0700
+Subject: [PATCH 2/7] dev_setup.sh: Remove the git dependency
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ dev_setup.sh | 16 ----------------
+ 1 file changed, 16 deletions(-)
+
+diff --git a/dev_setup.sh b/dev_setup.sh
+index 99a44bfd8a7..672b27080c2 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -340,10 +340,6 @@ ${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools pytho
+
+ install_deps
+
+-# Configure to use the standard commit template for
+-# this repo only.
+-git config commit.template .gitmessage
+-
+ # Check whether to build mimic (it takes a really long time!)
+ build_mimic='n'
+ if [[ $opt_forcemimicbuild == true ]] ; then
+@@ -371,18 +367,6 @@ else
+ fi
+ fi
+
+-# Install pep8 pre-commit hook
+-HOOK_FILE='./.git/hooks/pre-commit'
+-if [[ -n $INSTALL_PRECOMMIT_HOOK ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
+- if [[ ! -f $HOOK_FILE ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
+- echo 'Installing PEP8 check as precommit-hook'
+- echo "#! $(which python)" > $HOOK_FILE
+- echo '# MYCROFT DEV SETUP' >> $HOOK_FILE
+- cat ./scripts/pre-commit >> $HOOK_FILE
+- chmod +x $HOOK_FILE
+- fi
+-fi
+-
+ PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
+
+ # install required python modules
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-dev_setup.sh-Remove-the-TERM-dependency.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-dev_setup.sh-Remove-the-TERM-dependency.patch
new file mode 100644
index 00000000..d803f526
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-dev_setup.sh-Remove-the-TERM-dependency.patch
@@ -0,0 +1,37 @@
+From 5ef52cdea278a1dff966a912549cb6708f2cb699 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Tue, 17 Sep 2019 11:31:47 -0700
+Subject: [PATCH 3/7] dev_setup.sh: Remove the TERM dependency
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ dev_setup.sh | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/dev_setup.sh b/dev_setup.sh
+index 672b27080c2..72f734f36bf 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -115,18 +115,6 @@ function get_YN() {
+ done
+ }
+
+-# If tput is available and can handle multiple colors
+-if found_exe tput ; then
+- if [[ $(tput colors) != "-1" ]]; then
+- GREEN=$(tput setaf 2)
+- BLUE=$(tput setaf 4)
+- CYAN=$(tput setaf 6)
+- YELLOW=$(tput setaf 3)
+- RESET=$(tput sgr0)
+- HIGHLIGHT=$YELLOW
+- fi
+-fi
+-
+ # Run a setup wizard the very first time that guides the user through some decisions
+ if [[ ! -f .dev_opts.json && -z $CI ]] ; then
+ echo "
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Ignore-missing-package-manager.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Ignore-missing-package-manager.patch
new file mode 100644
index 00000000..d2dc179c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Ignore-missing-package-manager.patch
@@ -0,0 +1,31 @@
+From e3b6ca995caca22e65d012a54bc2aeb08eb7e9d4 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Tue, 15 Oct 2019 17:09:06 -0700
+Subject: [PATCH 4/7] dev_setup.sh: Ignore missing package manager
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ dev_setup.sh | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/dev_setup.sh b/dev_setup.sh
+index 72f734f36bf..0c8e11b8170 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -317,12 +317,6 @@ Please review the following package changes carefully."
+ echo -e "${YELLOW}Could not find package manager
+ ${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools python-venv pygobject libtool libffi libjpg openssl autoconf bison swig glib2.0 portaudio19 mpg123 flac curl fann g++ jq\n$RESET"
+
+- echo 'Warning: Failed to install all dependencies. Continue? y/N'
+- read -n1 continue
+- if [[ $continue != 'y' ]] ; then
+- exit 1
+- fi
+-
+ fi
+ }
+
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-pip-requirements-Don-t-install-requirements-with-pip.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-pip-requirements-Don-t-install-requirements-with-pip.patch
new file mode 100644
index 00000000..7f63ea13
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-pip-requirements-Don-t-install-requirements-with-pip.patch
@@ -0,0 +1,103 @@
+From 04b14c4569309f1a433d955773aeb8a3607a1360 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Tue, 19 Mar 2019 13:32:54 -0700
+Subject: [PATCH 5/7] pip requirements: Don't install requirements with pip
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ dev_setup.sh | 15 +--------------
+ requirements.txt | 36 ------------------------------------
+ test-requirements.txt | 7 -------
+ 3 files changed, 1 insertion(+), 57 deletions(-)
+ delete mode 100644 requirements.txt
+ delete mode 100644 test-requirements.txt
+
+diff --git a/dev_setup.sh b/dev_setup.sh
+index 0c8e11b8170..be4a19de0c3 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -351,19 +351,6 @@ fi
+
+ PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
+
+-# install required python modules
+-if ! pip install -r requirements.txt ; then
+- echo 'Warning: Failed to install all requirements. Continue? y/N'
+- read -n1 continue
+- if [[ $continue != 'y' ]] ; then
+- exit 1
+- fi
+-fi
+-
+-if ! pip install -r test-requirements.txt ; then
+- echo "Warning test requirements wasn't installed, Note: normal operation should still work fine..."
+-fi
+-
+ SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
+ MAXCORES=$(($SYSMEM / 512000))
+ MINCORES=1
+@@ -420,4 +407,4 @@ if [[ ! -w /var/log/mycroft/ ]] ; then
+ fi
+
+ #Store a fingerprint of setup
+-md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed
++md5sum dev_setup.sh > .installed
+diff --git a/requirements.txt b/requirements.txt
+deleted file mode 100644
+index 0140d5465dc..00000000000
+--- a/requirements.txt
++++ /dev/null
+@@ -1,36 +0,0 @@
+-six==1.10.0
+-cryptography==2.6.1
+-requests==2.20.0
+-gTTS==2.0.3
+-gTTS-token==1.1.3
+-PyAudio==0.2.11
+-pyee==5.0.0
+-SpeechRecognition==3.8.1
+-tornado==4.5.3
+-websocket-client==0.54.0
+-requests-futures==0.9.5
+-pyalsaaudio==0.8.2
+-xmlrunner==1.7.7
+-pyserial==3.0
+-psutil==5.2.1
+-pocketsphinx==0.1.0
+-inflection==0.3.1
+-pillow==4.1.1
+-python-dateutil==2.6.0
+-pychromecast==3.2.2
+-python-vlc==1.1.2
+-google-api-python-client==1.6.4
+-fasteners==0.14.1
+-PyYAML==3.13
+-
+-msm==0.8.3
+-msk==0.3.13
+-adapt-parser==0.3.3
+-padatious==0.4.6
+-fann2==1.0.7
+-padaos==0.1.9
+-precise-runner==0.2.1
+-petact==0.1.2
+-
+-# dev setup tools
+-pep8==1.7.0
+diff --git a/test-requirements.txt b/test-requirements.txt
+deleted file mode 100644
+index fd129e3f66d..00000000000
+--- a/test-requirements.txt
++++ /dev/null
+@@ -1,7 +0,0 @@
+-pycodestyle===2.5.0
+-coveralls==1.5.0
+-pytest==3.5.0
+-pytest-cov==2.5.1
+-cov-core==1.15.0
+-sphinx==1.8.2
+-sphinx-rtd-theme==0.4.2
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0006-Use-python3-and-pip3-instead-of-python-and-pip.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0006-Use-python3-and-pip3-instead-of-python-and-pip.patch
new file mode 100644
index 00000000..6f1f6f78
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0006-Use-python3-and-pip3-instead-of-python-and-pip.patch
@@ -0,0 +1,121 @@
+From 86a1d18d96f827baa0c1029c85a53fc89d436e17 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Tue, 19 Mar 2019 13:38:44 -0700
+Subject: [PATCH 6/7] Use python3 and pip3 instead of python and pip
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ bin/mycroft-cli-client | 2 +-
+ bin/mycroft-pip | 2 +-
+ bin/mycroft-say-to | 2 +-
+ bin/mycroft-skill-testrunner | 4 ++--
+ bin/mycroft-speak | 2 +-
+ dev_setup.sh | 6 +++---
+ scripts/install-pocketsphinx.sh | 2 +-
+ 7 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/bin/mycroft-cli-client b/bin/mycroft-cli-client
+index f40a316e3f6..de2040d9e67 100755
+--- a/bin/mycroft-cli-client
++++ b/bin/mycroft-cli-client
+@@ -21,4 +21,4 @@ DIR="$( dirname "$SOURCE" )"
+ source "$DIR/../venv-activate.sh" -q
+
+ # Invoke the Command Line Interface
+-python -m mycroft.client.text $@
++python3 -m mycroft.client.text $@
+diff --git a/bin/mycroft-pip b/bin/mycroft-pip
+index a42b16b847a..81bd5bfb3cf 100755
+--- a/bin/mycroft-pip
++++ b/bin/mycroft-pip
+@@ -21,4 +21,4 @@ DIR="$( dirname "$SOURCE" )"
+ source "$DIR/../venv-activate.sh" -q
+
+ # Install pip packages within the Mycroft venv
+-pip $@
+\ No newline at end of file
++pip3 $@
+\ No newline at end of file
+diff --git a/bin/mycroft-say-to b/bin/mycroft-say-to
+index 4ae597f3062..8bb4039996d 100755
+--- a/bin/mycroft-say-to
++++ b/bin/mycroft-say-to
+@@ -26,4 +26,4 @@ set -- "${1:-$(</dev/stdin)}" "${@:2}"
+
+ # Send a message to be spoken
+ data="$@"
+-output=$(python -m mycroft.messagebus.send "recognizer_loop:utterance" "{\"utterances\": [\"$data\"], \"lang\": \"en-us\"}")
++output=$(python3 -m mycroft.messagebus.send "recognizer_loop:utterance" "{\"utterances\": [\"$data\"], \"lang\": \"en-us\"}")
+diff --git a/bin/mycroft-skill-testrunner b/bin/mycroft-skill-testrunner
+index 9699a4d138f..282f5ca65b0 100755
+--- a/bin/mycroft-skill-testrunner
++++ b/bin/mycroft-skill-testrunner
+@@ -22,7 +22,7 @@ source "$DIR/../venv-activate.sh" -q
+
+ # Invoke the individual skill tester
+ if [ "$#" -eq 0 ] ; then
+- python -m test.integrationtests.skills.runner .
++ python3 -m test.integrationtests.skills.runner .
+ else
+- python -m test.integrationtests.skills.runner $@
++ python3 -m test.integrationtests.skills.runner $@
+ fi
+\ No newline at end of file
+diff --git a/bin/mycroft-speak b/bin/mycroft-speak
+index d80f0e75b13..9448ea3400f 100755
+--- a/bin/mycroft-speak
++++ b/bin/mycroft-speak
+@@ -24,4 +24,4 @@ source "$DIR/../venv-activate.sh" -q
+
+ # Send a message to be spoken
+ data="$@"
+-output=$(python -m mycroft.messagebus.send "speak" "{\"utterance\": \"$data\"}")
++output=$(python3 -m mycroft.messagebus.send "speak" "{\"utterance\": \"$data\"}")
+diff --git a/dev_setup.sh b/dev_setup.sh
+index be4a19de0c3..2d9e17ddfd6 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -48,7 +48,7 @@ param=''
+
+ for var in "$@" ; do
+ # Check if parameter should be read
+- if [[ $param == 'python' ]] ; then
++ if [[ $param == 'python3' ]] ; then
+ opt_python=$var
+ param=""
+ continue
+@@ -75,7 +75,7 @@ for var in "$@" ; do
+ opt_skipmimicbuild=true
+ fi
+ if [[ $var == '-p' || $var == '--python' ]] ; then
+- param='python'
++ param='python3'
+ fi
+ done
+
+@@ -349,7 +349,7 @@ else
+ fi
+ fi
+
+-PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
++PYTHON=$(python3 -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
+
+ SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
+ MAXCORES=$(($SYSMEM / 512000))
+diff --git a/scripts/install-pocketsphinx.sh b/scripts/install-pocketsphinx.sh
+index 44d329b7985..d45f5c22747 100755
+--- a/scripts/install-pocketsphinx.sh
++++ b/scripts/install-pocketsphinx.sh
+@@ -47,7 +47,7 @@ function install_pocketsphinx() {
+
+ # build and install pocketsphinx python bindings
+ cd ${TOP}/pocketsphinx-python
+- python setup.py install
++ python3 setup.py install
+ }
+
+ if [ "$1" = "-q" ] ; then
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0007-mycroft.conf-Use-pocketsphinx-by-default.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0007-mycroft.conf-Use-pocketsphinx-by-default.patch
new file mode 100644
index 00000000..574bda14
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0007-mycroft.conf-Use-pocketsphinx-by-default.patch
@@ -0,0 +1,30 @@
+From b48b3d240cb0fa5e76aa5daf578e51bb8126431d Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Wed, 16 Oct 2019 09:18:39 -0700
+Subject: [PATCH 7/7] mycroft.conf: Use pocketsphinx by default
+
+precise only works on certain architectures, to make Mycroft more
+versitle use pocketsphinx as it is architecture independent.
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ mycroft/configuration/mycroft.conf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mycroft/configuration/mycroft.conf b/mycroft/configuration/mycroft.conf
+index 1d0be0dcd2b..d2dc75dac44 100644
+--- a/mycroft/configuration/mycroft.conf
++++ b/mycroft/configuration/mycroft.conf
+@@ -196,7 +196,7 @@
+ // Hotword configurations
+ "hotwords": {
+ "hey mycroft": {
+- "module": "precise",
++ "module": "pocketsphinx",
+ "phonemes": "HH EY . M AY K R AO F T",
+ "threshold": 1e-90,
+ "lang": "en-us"
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/dev_opts.json b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/dev_opts.json
new file mode 100644
index 00000000..5ed85faf
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/dev_opts.json
@@ -0,0 +1 @@
+{"use_branch": "dev", "auto_update": false} \ No newline at end of file
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft-setup.service b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft-setup.service
new file mode 100644
index 00000000..4b4bcdd7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft-setup.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Mycroft Setup
+DefaultDependencies=no
+After=systemd-user-sessions.service
+
+[Service]
+Type=oneshot
+ExecStart=cp -rf @LIBDIR@/mycroft /var/
+ExecStart=/var/mycroft/dev_setup.sh --allow-root
+
+[Install]
+WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft.service b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft.service
new file mode 100644
index 00000000..c7f477f1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Mycroft
+RequiresMountsFor=/var
+After=mycroft-setup.service
+
+[Service]
+Type=forking
+WorkingDirectory=/var/mycroft
+ExecStartPre=mkdir -p /var/log/mycroft
+ExecStart=/var/mycroft/start-mycroft.sh all
+ExecStop=/var/mycroft/stop-mycroft.sh all
+
+[Install]
+WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
new file mode 100644
index 00000000..62d1ad7f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
@@ -0,0 +1,87 @@
+SUMMARY = "Mycroft is a hackable open source voice assistant."
+DESCRIPTION = "Mycroft is the world’s first open source assistant. "
+HOMEPAGE = "https://mycroft.ai/"
+SECTION = "multimedia"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=79aa497b11564d1d419ee889e7b498f6"
+
+SRCREV = "913f29d3d550637934f9abf43a097eb2c30d76fc"
+SRC_URI = "git://github.com/MycroftAI/mycroft-core.git;branch=master \
+ file://0001-Remove-python-venv.patch \
+ file://0002-dev_setup.sh-Remove-the-git-dependency.patch \
+ file://0003-dev_setup.sh-Remove-the-TERM-dependency.patch \
+ file://0004-dev_setup.sh-Ignore-missing-package-manager.patch \
+ file://0005-pip-requirements-Don-t-install-requirements-with-pip.patch \
+ file://0006-Use-python3-and-pip3-instead-of-python-and-pip.patch \
+ file://0007-mycroft.conf-Use-pocketsphinx-by-default.patch \
+ file://dev_opts.json \
+ file://mycroft-setup.service \
+ file://mycroft.service \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit systemd
+
+# Mycroft installs itself on the host
+# Just copy the setup files to the rootfs
+# The mycroft-setup service will copy the files to /var/ where we run them from
+do_install() {
+ install -d ${D}${libdir}/
+ cp -r ${B} ${D}${libdir}/mycroft
+ rm -r ${D}${libdir}/mycroft/.git
+
+ # Install the dev opts so it doesn't ask us on initial setup.
+ install -m 644 ${WORKDIR}/dev_opts.json ${D}${libdir}/mycroft/.dev_opts.json
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/mycroft-setup.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@LIBDIR@,${libdir},g' ${D}${systemd_unitdir}/system/mycroft-setup.service
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/mycroft.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@LIBDIR@,${libdir},g' ${D}${systemd_unitdir}/system/mycroft.service
+ fi
+}
+
+FILES_${PN} += "${libdir}/mycroft"
+
+RDEPENDS_${PN} = "python3"
+
+RDEPENDS_${PN} += "python3-requests python3-pillow \
+ python3-tornado python3-pyyaml \
+ python3-pyalsaaudio python3-inflection \
+ python3-pyserial python3-psutil \
+ python3-pyaudio python3-fann2 \
+ python3-pocketsphinx \
+ python3-xxhash python3-pako \
+ python3-six python3-cryptography \
+ python3-requests-futures \
+ python3-xmlrunner python3-fasteners \
+ python3-python-vlc \
+ python3-padatious python3-padaos \
+ python3-petact python3-precise-runner \
+ python3-pulsectl python3-pychromecast \
+ python3-msm python3-msk \
+ python3-websocket-client \
+ python3-google-api-python-client \
+ "
+
+# These packages need to be installed on the target
+# python3-speechrecognition python3-pyee==5.0.0 python3-six==1.10.0
+# python3-websocket-client==0.54.0 python3-gtts python3-gtts-token
+# python3-python-dateutil python3-adapt-parser python3-lazy
+
+# Mycroft uses Alsa, PulseAudio and Flac
+RDEPENDS_${PN} += "alsa-utils alsa-plugins alsa-tools"
+RDEPENDS_${PN} += "pulseaudio pulseaudio-misc pulseaudio-server"
+RDEPENDS_${PN} += "flac mpg123"
+
+# Mycroft can do this itself on the target, but it's quicker to do it here
+RDEPENDS_${PN} += "mimic"
+
+SYSTEMD_SERVICE_${PN} = "mycroft-setup.service mycroft.service"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch
new file mode 100644
index 00000000..16f123fa
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch
@@ -0,0 +1,33 @@
+From 29217932c34d7e3368764ab64879dc6f1edab1a6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 14 Jan 2019 11:19:44 -0800
+Subject: [PATCH] Use host compiler to compile native tools
+
+Helps in cross compiling
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ CMakeLists.txt | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 39b80250..d6bdf8ed 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1288,11 +1288,10 @@ FILE(MAKE_DIRECTORY "${NATIVE_BIN_DIR}")
+ SET(BIN2H_COMMAND "${NATIVE_BIN_DIR}bin2h")
+ SET(BSINCGEN_COMMAND "${NATIVE_BIN_DIR}bsincgen")
+ ADD_CUSTOM_COMMAND(OUTPUT "${BIN2H_COMMAND}" "${BSINCGEN_COMMAND}"
+- COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" "${NATIVE_SRC_DIR}"
+ COMMAND ${CMAKE_COMMAND} -E remove "${BIN2H_COMMAND}" "${BSINCGEN_COMMAND}"
+- COMMAND ${CMAKE_COMMAND} --build . --config "Release"
++ COMMAND gcc "${NATIVE_SRC_DIR}bin2h.c" -o "${BIN2H_COMMAND}" -lm
++ COMMAND gcc "${NATIVE_SRC_DIR}bsincgen.c" -o "${BSINCGEN_COMMAND}" -lm
+ WORKING_DIRECTORY "${NATIVE_BIN_DIR}"
+- DEPENDS "${NATIVE_SRC_DIR}CMakeLists.txt"
+ IMPLICIT_DEPENDS C "${NATIVE_SRC_DIR}bin2h.c"
+ C "${NATIVE_SRC_DIR}bsincgen.c"
+ VERBATIM
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch
new file mode 100644
index 00000000..8420386e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch
@@ -0,0 +1,31 @@
+From 07ef86e33ed6f7585f0dfaa1732ea17c816655a4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 14 Jan 2019 11:45:42 -0800
+Subject: [PATCH] makehrtf: Disable Wstringop-truncation
+
+Upstream-Status: Inappropriate [Should be fixed in code]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/makehrtf.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/utils/makehrtf.c b/utils/makehrtf.c
+index 0bd36849..0abe4252 100644
+--- a/utils/makehrtf.c
++++ b/utils/makehrtf.c
+@@ -862,6 +862,7 @@ static int TrReadOperator(TokenReaderT *tr, const char *op)
+ * pattern string are replaced with the replacement string. The result is
+ * truncated if necessary.
+ */
++#pragma GCC diagnostic ignored "-Wstringop-truncation"
+ static int StrSubst(const char *in, const char *pat, const char *rep, const size_t maxLen, char *out)
+ {
+ size_t inLen, patLen, repLen;
+@@ -900,6 +901,7 @@ static int StrSubst(const char *in, const char *pat, const char *rep, const size
+ return !truncated;
+ }
+
++#pragma GCC diagnostic pop
+
+ /*********************
+ *** Math routines ***
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
deleted file mode 100644
index e0f1a26d..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "OpenAL is a cross-platform 3D audio API"
-HOMEPAGE = "http://kcat.strangesoft.net/openal.html"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=facc3a8f452930083bbb95d82b989c35"
-
-inherit cmake
-
-SRC_URI = "http://kcat.strangesoft.net/openal-releases/${BP}.tar.bz2"
-SRC_URI[md5sum] = "ea83dec3b9655a27d28e7bc7cae9cd71"
-SRC_URI[sha256sum] = "0e29a162f0841ccb4135ce76e92e8a704589b680a85eddf76f898de5236eb056"
-
-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
-# PKG_CHECK_MODULES(FFMPEG libavcodec>=53.61.100 libavformat>=53.32.100 libavutil>=51.35.100)
-# but alffmpeg.c:418:44: error: 'AV_CH_LAYOUT_MONO' undeclared (first use in this function)
-PACKAGECONFIG[examples] = "-DEXAMPLES=TRUE, -DEXAMPLES=FALSE, libav"
-
-FILES_${PN} += "${datadir}/openal"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.19.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.19.1.bb
new file mode 100644
index 00000000..a9cdfac8
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.19.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "OpenAL is a cross-platform 3D audio API"
+HOMEPAGE = "http://kcat.strangesoft.net/openal.html"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0f159f19f9377e1895fbb477d5a7953e"
+
+inherit cmake pkgconfig
+
+# openal-soft-1.19.1
+SRCREV = "6761218e51699f46bf25c377e65b3e9ea5e434b9"
+SRC_URI = "git://github.com/kcat/openal-soft \
+ file://0001-Use-BUILD_CC-to-compile-native-tools.patch \
+ file://0002-makehrtf-Disable-Wstringop-truncation.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+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
+# PKG_CHECK_MODULES(FFMPEG libavcodec>=53.61.100 libavformat>=53.32.100 libavutil>=51.35.100)
+# but alffmpeg.c:418:44: error: 'AV_CH_LAYOUT_MONO' undeclared (first use in this function)
+PACKAGECONFIG[examples] = "-DEXAMPLES=TRUE, -DEXAMPLES=FALSE, libav"
+
+FILES_${PN} += "${datadir}/openal"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch
new file mode 100644
index 00000000..92f32948
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch
@@ -0,0 +1,32 @@
+From 1c3bda45c55d2334af384caf9e7f240b7aaf2eb5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Mar 2020 22:28:25 -0800
+Subject: [PATCH] Makefile: Use cp options to preserve file mode
+
+This fixes packaging issues e.g.
+openh264: /usr/lib/libopenh264.so is owned by uid 1000, which is the same as the user running bitbake
+
+Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3245]
+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 74ff029d..ac643412 100644
+--- a/Makefile
++++ b/Makefile
+@@ -306,8 +306,8 @@ install-shared: $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) install-headers $
+ mkdir -p $(DESTDIR)$(SHAREDLIB_DIR)
+ install -m 755 $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXFULLVER) $(DESTDIR)$(SHAREDLIB_DIR)
+ if [ "$(SHAREDLIBSUFFIXFULLVER)" != "$(SHAREDLIBSUFFIX)" ]; then \
+- cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) $(DESTDIR)$(SHAREDLIB_DIR) ; \
+- cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR) ; \
++ cp -R --no-dereference --preserve=mode,links $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) $(DESTDIR)$(SHAREDLIB_DIR) ; \
++ cp -R --no-dereference --preserve=mode,links $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR) ; \
+ fi
+ mkdir -p $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME)/pkgconfig
+ install -m 644 $(PROJECT_NAME).pc $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME)/pkgconfig
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb
deleted file mode 100644
index 44c46f81..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
-decoding. It is suitable for use in real time applications such as WebRTC."
-HOMEPAGE = "http://www.openh264.org/"
-SECTION = "libs/multimedia"
-
-DEPENDS_x86 += "nasm-native"
-DEPENDS_x86-64 += "nasm-native"
-
-LICENSE = "BSD-2-Clause"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
-
-S = "${WORKDIR}/git"
-SRCREV = "a180c9d4d6f1a4830ca9eed9d159d54996bd63cb"
-BRANCH = "openh264v1.7"
-SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH};"
-
-COMPATIBLE_MACHINE_armv7a = "(.*)"
-COMPATIBLE_MACHINE_aarch64 = "(.*)"
-COMPATIBLE_MACHINE_x86 = "(.*)"
-COMPATIBLE_MACHINE_x86-64 = "(.*)"
-COMPATIBLE_MACHINE_mips = "(.*)"
-COMPATIBLE_MACHINE_mips64 = "(.*)"
-
-EXTRA_OEMAKE_armv7a = "ARCH=arm"
-EXTRA_OEMAKE_aarch64 = "ARCH=arm64"
-EXTRA_OEMAKE_x86 = "ARCH=i386"
-EXTRA_OEMAKE_x86-64 = "ARCH=x86_64"
-EXTRA_OEMAKE_mips = "ARCH=mips"
-EXTRA_OEMAKE_mips64 = "ARCH=mips64"
-
-do_configure() {
- :
-}
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} PREFIX=${prefix}
-}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb
new file mode 100644
index 00000000..3988cfff
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
+decoding. It is suitable for use in real time applications such as WebRTC."
+HOMEPAGE = "http://www.openh264.org/"
+SECTION = "libs/multimedia"
+
+DEPENDS_append_x86 = " nasm-native"
+DEPENDS_append_x86-64 = " nasm-native"
+
+LICENSE = "BSD-2-Clause"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
+
+S = "${WORKDIR}/git"
+SRCREV = "50a1fcf70fafe962c526749991cb4646406933ba"
+BRANCH = "openh264v2.1.1"
+SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
+ file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \
+ "
+
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_aarch64 = "(.*)"
+COMPATIBLE_MACHINE_x86 = "(.*)"
+COMPATIBLE_MACHINE_x86-64 = "(.*)"
+COMPATIBLE_MACHINE_mips = "(.*)"
+COMPATIBLE_MACHINE_mips64 = "(.*)"
+
+EXTRA_OEMAKE_armv7a = "ARCH=arm"
+EXTRA_OEMAKE_armv7ve = "ARCH=arm"
+EXTRA_OEMAKE_aarch64 = "ARCH=arm64"
+EXTRA_OEMAKE_x86 = "ARCH=i386"
+EXTRA_OEMAKE_x86-64 = "ARCH=x86_64"
+EXTRA_OEMAKE_mips = "ARCH=mips"
+EXTRA_OEMAKE_mips64 = "ARCH=mips64"
+EXTRA_OEMAKE_riscv64 = "ARCH=riscv64"
+
+EXTRA_OEMAKE_append = " ENABLEPIC=Yes"
+do_configure() {
+ :
+}
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} PREFIX=${prefix}
+}
+
+CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.10.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.10.bb
index 189dc87c..3f6dbb8e 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.10.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.10.bb
@@ -7,7 +7,7 @@ DEPENDS = "libogg openssl libopus"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ac22b992dde6a891f8949c3e2da8576"
-SRC_URI = "https://downloads.xiph.org/releases/opus/${PN}-${PV}.tar.gz"
+SRC_URI = "https://downloads.xiph.org/releases/opus/${BP}.tar.gz"
SRC_URI[md5sum] = "ab3f7d15d766f5b36b0951ee435f9ebf"
SRC_URI[sha256sum] = "48e03526ba87ef9cf5f1c47b5ebe3aa195bd89b912a57060c36184a6cd19412f"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
new file mode 100644
index 00000000..e0cb415e
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Meta-multimedia packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-multimedia \
+ packagegroup-meta-multimedia-connectivity \
+ packagegroup-meta-multimedia-dvb \
+ packagegroup-meta-multimedia-mkv \
+ packagegroup-meta-multimedia-support \
+'
+
+RDEPENDS_packagegroup-meta-multimedia = "\
+ packagegroup-meta-multimedia \
+ packagegroup-meta-multimedia-connectivity \
+ packagegroup-meta-multimedia-dvb \
+ packagegroup-meta-multimedia-mkv \
+ packagegroup-meta-multimedia-support \
+"
+
+RDEPENDS_packagegroup-meta-multimedia = "\
+ libdvbpsi libdc1394 gstd gst-shark \
+ bigbuckbunny-720p tearsofsteel-1080p bigbuckbunny-1080p bigbuckbunny-480p \
+ openal-soft dleyna-core dleyna-renderer dleyna-server dleyna-connector-dbus \
+ alsa-equal libdvdnav libmusicbrainz tinyalsa \
+ fluidsynth cdparanoia vorbis-tools tremor caps libao libavc1394 \
+ opusfile gerbera libdvdcss webrtc-audio-processing \
+ rtmpdump libopenmpt schroedinger mpd mpc libmpdclient \
+ ncmpc libmpd dcadec libiec61883 \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "minidlna vlc", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "vo-aacenc sox libde265", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "streamripper", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "openh264 opencore-amr faac vo-amrwbenc", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-multimedia-connectivity = "\
+ rygel gupnp gupnp-igd gssdp gupnp-dlna gupnp-av libupnp \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gupnp-tools", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-multimedia-dvb = "\
+ oscam "
+
+RDEPENDS_packagegroup-meta-multimedia-mkv = "\
+ libmatroska libebml \
+ "
+
+RDEPENDS_packagegroup-meta-multimedia-support = "\
+ libmediaart libmediaart-2.0 gst-instruments libsrtp crossguid \
+ "
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
index a80fc10a..70eb6e4b 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
@@ -1,9 +1,9 @@
SUMMARY = "Big Buck Bunny movie - 1080P"
LICENSE = "CC-BY-3.0"
# http://www.bigbuckbunny.org/index.php/about/
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
-SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_surround.avi"
+SRC_URI = "http://themazzone.com/big_buck_bunny_1080p_surround.avi"
SRC_URI[md5sum] = "223991c8b33564eb77988a4c13c1c76a"
SRC_URI[sha256sum] = "69fe2cfe7154a6e752688e3a0d7d6b07b1605bbaf75b56f6470dc7b4c20c06ea"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
index 59ac4788..df236899 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
@@ -1,9 +1,9 @@
SUMMARY = "Big Buck Bunny movie - 480P"
LICENSE = "CC-BY-3.0"
# http://www.bigbuckbunny.org/index.php/about/
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
-SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi"
+SRC_URI = "https://archive.org/download/BigBuckBunny/big_buck_bunny_480p_surround-fix.avi"
SRC_URI[md5sum] = "ed7ed01e9aefba8ddd77c13332cec120"
SRC_URI[sha256sum] = "40d1cf5bc8e1b0e55dac7bb2e3fbc2aea05b6679444864781299b24db044634f"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
index 21b8f8f0..cb8ece0c 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
@@ -1,9 +1,9 @@
SUMMARY = "Big Buck Bunny movie - 720P"
LICENSE = "CC-BY-3.0"
# http://www.bigbuckbunny.org/index.php/about/
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
-SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_surround.avi"
+SRC_URI = "https://archive.org/download/BigBuckBunny/big_buck_bunny_720p_surround.avi"
SRC_URI[md5sum] = "0da8fe124595f5b206d64cb1400bbefc"
SRC_URI[sha256sum] = "b957d6e6212638441b52d3b620af157cc8d40c2a0342669294854a06edcd528c"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
index 0582a485..04cbd2e3 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
@@ -1,6 +1,6 @@
SUMMARY = "Tears of Steel movie - 1080P"
LICENSE = "CC-BY-3.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/ToS/ToS-4k-1920.mov"
SRC_URI[md5sum] = "e3fee55b1779c553e37b1d3988e6fad6"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
index d38eb947..d026c69a 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d91a46405fc074b88c963cc4f2a0aae9 \
file://COPYING.MIT;md5=8b345371b3536b4ce37ead1eafc88221 \
file://COPYING.MPL;md5=0117647fecb9a932c25a7bbfc0333c37"
-DEPENDS = "liboil orc-native orc"
+DEPENDS = "orc-native orc"
SRC_URI = "http://www.diracvideo.org/download/schroedinger/${BP}.tar.gz \
file://configure.ac.patch"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb
index 157e4c91..06209689 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb
@@ -6,8 +6,10 @@ SECTION = "libs/multimedia"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://NOTICE;md5=dbdefe400d894b510a9de14813181d0b"
-SRCREV = "67b9210d344c34e8d1aa0cfe638abce71c5221ca"
-SRC_URI = "git://github.com/tinyalsa/tinyalsa"
+SRCREV = "8449529c7e50f432091539ba7b438e79b04059b5"
+SRC_URI = "git://github.com/tinyalsa/tinyalsa \
+ file://0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch \
+ "
PV = "1.1.1+git${SRCPV}"
S = "${WORKDIR}/git"
@@ -19,6 +21,3 @@ inherit cmake
#
# unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stderr@@GLIBC_2.17'
CFLAGS += " -fPIC -DPIC "
-
-PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/*"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch
new file mode 100644
index 00000000..6f9c3999
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch
@@ -0,0 +1,46 @@
+From fe4f3c2a37a81201f463ff962364f014f50c9896 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 16 Dec 2019 22:58:41 -0800
+Subject: [PATCH] Use CMAKE_INSTALL_<path> instead of hardcoding bin/lib/
+ install paths
+
+Helps fix build/packaging issues on machines where default libdir is not
+lib but say lib64
+
+Upstream-Status: Submitted [https://github.com/tinyalsa/tinyalsa/pull/143]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cb31c58..1cc4a85 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,12 +41,20 @@ add_util("tinymix" "utils/tinymix.c")
+ install(FILES ${HDRS}
+ DESTINATION "include/tinyalsa")
+
++if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
++ set(CMAKE_INSTALL_LIBDIR lib)
++endif()
++
++if(NOT DEFINED CMAKE_INSTALL_BINDIR)
++ set(CMAKE_INSTALL_BINDIR bin)
++endif()
++
+ install(TARGETS "tinyalsa"
+ "tinyplay"
+ "tinycap"
+ "tinymix"
+ "tinypcminfo"
+- RUNTIME DESTINATION "bin"
+- ARCHIVE DESTINATION "lib"
+- LIBRARY DESTINATION "lib")
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb
deleted file mode 100644
index 937894a7..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-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/external/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
new file mode 100644
index 00000000..6abf6080
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Fixed-point decoder"
+DESCRIPTION = "tremor is a fixed point implementation of the vorbis codec."
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
+ file://os.h;beginline=3;endline=14;md5=5c0af5e1bedef3ce8178c89f48cd6f1f"
+DEPENDS = "libogg"
+
+SRC_URI = "git://gitlab.xiph.org/xiph/tremor.git;protocol=https \
+ file://obsolete_automake_macros.patch;striplevel=0 \
+ file://tremor-arm-thumb2.patch \
+"
+SRCREV = "7c30a66346199f3f09017a09567c6c8a3a0eedc8"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-shared"
+
+ARM_INSTRUCTION_SET = "arm"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
deleted file mode 100644
index f13c0ead..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
+++ /dev/null
@@ -1,113 +0,0 @@
-DESCRIPTION = "Video player and streamer - davinci edition"
-HOMEPAGE = "http://www.videolan.org"
-SECTION = "multimedia"
-
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "fribidi libtool libgcrypt libgcrypt-native \
- dbus dbus-glib libxml2 gnutls \
- tremor faad2 ffmpeg flac fluidsynth alsa-lib \
- lua-native lua libidn \
- avahi jpeg xz libmodplug mpeg2dec \
- libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \
- tiff"
-
-# While this item does not require it, it depends on ffmpeg which does
-LICENSE_FLAGS = "commercial"
-
-SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz"
-
-inherit autotools gettext pkgconfig distro_features_check
-
-ARM_INSTRUCTION_SET = "arm"
-
-EXTRA_OECONF = "\
- --enable-run-as-root \
- --enable-xvideo \
- --disable-screen --disable-caca \
- --enable-httpd --enable-vlm \
- --enable-freetype \
- --enable-tremor \
- --enable-v4l2 --disable-aa --disable-faad \
- --enable-dbus \
- --without-contrib \
- --without-kde-solid \
- --enable-realrtsp \
- --disable-libtar \
- ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}/moc4 \
- ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}/rcc4 \
- ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}/uic4 \
-"
-
-PACKAGECONFIG ?= " live555 dc1394 dv1394 notify fontconfig freetype dvdread png ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 sdl vdpau', '', d)}"
-PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
-PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl libsdl-image "
-PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
-PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
-PACKAGECONFIG[live555] = "--enable-live555,--disable-live555,live555"
-PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
-PACKAGECONFIG[mkv] = "--enable-mkv,--disable-mkv,libmatroska libebml"
-PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
-PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
-PACKAGECONFIG[libva] = "--enable-libva --enable-avcodec,--disable-libva --disable-avcodec,libva libav"
-PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
-PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gst-plugins-bad"
-PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
-PACKAGECONFIG[qt4] = "--enable-qt,--disable-qt, qt4-x11-free"
-PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
-PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
-PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
-PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
-PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
-PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
-PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
-PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg"
-PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
-PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
-PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
-PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
-PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+"
-PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
-PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
-PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
-PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
-PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
-PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
-PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
-
-do_configure_prepend() {
- cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true
-}
-
-do_configure_append() {
- sed -i -e s:'$(MOC) $(DEFS) $(CPPFLAGS)':'$(MOC) $(DEFS)'\ -I${B}/include\ -DSYS_LINUX:g ${B}/modules/gui/qt4/Makefile
- sed -i -e s:'${top_builddir_slash}libtool':'${top_builddir_slash}'${TARGET_SYS}-libtool:g ${B}/doltlibtool
-}
-
-# This recipe packages vlc as a library as well, so qt4 dependencies
-# can be avoided when only the library is installed.
-PACKAGES =+ "libvlc"
-
-LEAD_SONAME_libvlc = "libvlc.so.5"
-FILES_libvlc = "${libdir}/lib*.so.*"
-
-FILES_${PN} += "\
- ${bindir}/vlc \
- ${datadir}/applications \
- ${datadir}/vlc/ \
- ${datadir}/icons \
- ${lindir}/vlc/vlc/libvlc_vdpau.so \
-"
-
-FILES_${PN}-dbg += "\
- ${libdir}/vlc/*/.debug \
- ${libdir}/vlc/plugins/*/.debug \
-"
-
-FILES_${PN}-staticdev += "\
- ${libdir}/vlc/plugins/*/*.a \
-"
-
-INSANE_SKIP_${PN} = "dev-so"
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-Use-packageconfig-to-detect-mmal-support.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-Use-packageconfig-to-detect-mmal-support.patch
new file mode 100644
index 00000000..424aaa28
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-Use-packageconfig-to-detect-mmal-support.patch
@@ -0,0 +1,61 @@
+From e8716a7755eef93e1033bb913e1eb4faee54658f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 15 Apr 2020 18:29:26 -0700
+Subject: [PATCH] Use packageconfig to detect mmal support
+
+This needs userland graphics libraries, because distros may install it
+in different locations, therefore its best to rely on pkgconf to find
+the libs and header locations instead of assuming /opt/vc which might
+work on some distros ( like raspbian ) but not everywhere
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 31 +++++++++++--------------------
+ 1 file changed, 11 insertions(+), 20 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d7cf692..f81b99d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3427,27 +3427,18 @@ AC_ARG_ENABLE(mmal,
+ AS_HELP_STRING([--enable-mmal],
+ [Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)]))
+ if test "${enable_mmal}" != "no"; then
+- VLC_SAVE_FLAGS
+- LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
+- CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
+- AC_CHECK_HEADERS(interface/mmal/mmal.h,
+- [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
+- have_mmal="yes"
+- VLC_ADD_PLUGIN([mmal])
+- VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
+- VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
+- VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif ]) ], [
+- AS_IF([test "${enable_mmal}" = "yes"],
+- [ AC_MSG_ERROR([Cannot find bcm library...]) ],
+- [ AC_MSG_WARN([Cannot find bcm library...]) ])
+- ],
+- [])
+- ] , [ AS_IF([test "${enable_mmal}" = "yes"],
+- [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
+- [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
+- VLC_RESTORE_FLAGS
++ PKG_CHECK_MODULES(BCMHOST, [bcm_host], [
++ HAVE_BCMHOST=yes
++ AC_DEFINE(HAVE_BCMHOST, 1, [Define this if you have have userlang graphics installed])
++ VLC_ADD_LIBS([bcmhost],[$BCMHOST_LIBS])
++ VLC_ADD_CFLAGS([bcmhost],[$BCMHOST_CFLAGS])
++ ],:
++ [AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
++ HAVE_BCMHOST=no])
++
++ AC_CHECK_HEADERS(interface/mmal/mmal.h)
+ fi
+-AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
++AM_CONDITIONAL([HAVE_MMAL], [test "${have_bcmhost}" = "yes"])
+
+ dnl
+ dnl evas plugin
+--
+2.26.1
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch
deleted file mode 100644
index 9f0e708e..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: vlc-2.1.2/configure.ac
-===================================================================
---- vlc-2.1.2.orig/configure.ac
-+++ vlc-2.1.2/configure.ac
-@@ -24,7 +24,7 @@ AC_CANONICAL_BUILD
- AC_CANONICAL_HOST
- AC_PRESERVE_HELP_ORDER
-
--AM_INIT_AUTOMAKE(tar-ustar color-tests foreign)
-+AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects)
- AC_CONFIG_HEADERS([config.h])
-
- # Disable with "./configure --disable-silent-rules" or "make V=1"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch
deleted file mode 100644
index 6d2a46fb..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: vlc-2.1.2/src/input/subtitles.c
-===================================================================
---- vlc-2.1.2.orig/src/input/subtitles.c
-+++ vlc-2.1.2/src/input/subtitles.c
-@@ -44,6 +44,12 @@
- #include "input_internal.h"
-
- /**
-+ * Drepper's alternative
-+ * http://en.wikibooks.org/wiki/C_Programming/C_Reference/nonstandard/strlcpy
-+ */
-+#define strlcpy(dst, src, n) *((char* ) mempcpy(dst, src, n)) = '\0'
-+
-+/**
- * We are not going to autodetect more subtitle files than this.
- */
- #define MAX_SUBTITLE_FILES 128
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch
deleted file mode 100644
index 8e881d09..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-* The upstream tests for libgcrypt are awkward and not working.
- - Requires libgcrypt-config, which seems broken?
-* AM_PATH_LIBGCRYPT exists for a reason, why not use it? KISS.
-* Upstream abandoned AM_PATH_LIBGCRYPT in the past...newer automake ok?
-
-Upstream status: Pending
-
-Index: vlc-2.2.1/configure.ac
-===================================================================
---- vlc-2.2.1.orig/configure.ac
-+++ vlc-2.2.1/configure.ac
-@@ -4017,25 +4017,19 @@ PKG_ENABLE_MODULES_VLC([LIBXML2], [xml],
- dnl
- dnl libgcrypt
- dnl
-+GCRYPT_LIBVER=1
-+GCRYPT_REQ=1.1.94
- AC_ARG_ENABLE(libgcrypt,
- [ --disable-libgcrypt gcrypt support (default enabled)])
- AS_IF([test "${enable_libgcrypt}" != "no"], [
-- AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
-- libgcrypt-config --version >/dev/null || \
-- AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
-- AC_CHECK_LIB(gcrypt, gcry_control, [
-- have_libgcrypt="yes"
-- GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
-- GCRYPT_LIBS="`libgcrypt-config --libs`"
-- ], [
-- AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or pass --disable-libgcrypt.])
-- ], [`libgcrypt-config --libs`])
-- ], [
-- AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
-- ], [#include <gcrypt.h>]
-- )
-+ AM_PATH_LIBGCRYPT($GCRYPT_LIBVER:$GCRYPT_REQ,
-+ [
-+ GCRYPT_CFLAGS="$LIBGCRYPT_CFLAGS"
-+ GCRYPT_LIBS="$LIBGCRYPT_LIBS"
-+ ],[
-+ AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
-+ ])
- ])
--
- AC_SUBST(GCRYPT_CFLAGS)
- AC_SUBST(GCRYPT_LIBS)
- AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch
deleted file mode 100644
index 53df1c6e..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-* modules/gui/qt4/Makefile.am not B!=S friendly
-* Simple solution to missing directories in ${B}
-
-Upstream status: Pending
-
-Signed-off-by: Tim Orling <TicoTimo@gmail.com>
-
-Index: vlc-2.2.1/modules/gui/qt4/Makefile.am
-===================================================================
---- vlc-2.2.1.orig/modules/gui/qt4/Makefile.am
-+++ vlc-2.2.1/modules/gui/qt4/Makefile.am
-@@ -127,6 +127,7 @@ moc_verbose_0 = @echo " MOC " $@;
- moc_verbose__0 = $(moc_verbose_0)
-
- .hpp.moc.cpp:
-+ [ -d $(dir $@) ] || mkdir -p $(dir $@)
- $(moc_verbose)$(MOC) $(MOC_CPPFLAGS) -o $@ $<
-
- # These MOC files depend on the configure settings:
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
deleted file mode 100644
index 2d84ffd2..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-* Also look for postprocess.h under libpostproc/
-
-Upstream-status: Pending
-
-Index: vlc-2.1.4/configure.ac
-===================================================================
---- vlc-2.1.4.orig/configure.ac
-+++ vlc-2.1.4/configure.ac
-@@ -2444,7 +2444,7 @@ then
- VLC_SAVE_FLAGS
- CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
- CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
-- AC_CHECK_HEADERS(postproc/postprocess.h)
-+ AC_CHECK_HEADERS(postproc/postprocess.h,[],[AC_CHECK_HEADERS(libpostproc/postprocess.h)])
- VLC_ADD_PLUGIN([postproc])
- VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
- VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch
index 145e1ab8..96b5d2d2 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch
@@ -5,46 +5,29 @@ Upstream-status: Pending
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
-Index: vlc-2.2.1/modules/lua/demux.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/demux.c
-+++ vlc-2.2.1/modules/lua/demux.c
-@@ -52,7 +52,7 @@ struct demux_sys_t
+--- a/modules/lua/demux.c
++++ b/modules/lua/demux.c
+@@ -52,7 +52,7 @@ struct vlclua_playlist
static int vlclua_demux_peek( lua_State *L )
{
- demux_t *p_demux = (demux_t *)vlclua_get_this( L );
+ stream_t *s = (stream_t *)vlclua_get_this(L);
- int n = luaL_checkint( L, 1 );
+ int n = luaL_checkinteger( L, 1 );
const uint8_t *p_peek;
- int i_peek = stream_Peek( p_demux->s, &p_peek, n );
-@@ -67,7 +67,7 @@ static int vlclua_demux_read( lua_State
+ ssize_t val = vlc_stream_Peek(s->p_source, &p_peek, n);
+@@ -66,7 +66,7 @@ static int vlclua_demux_peek( lua_State
+ static int vlclua_demux_read( lua_State *L )
{
- demux_t *p_demux = (demux_t *)vlclua_get_this( L );
- const uint8_t *p_read;
+ stream_t *s = (stream_t *)vlclua_get_this(L);
- int n = luaL_checkint( L, 1 );
+ int n = luaL_checkinteger( L, 1 );
- int i_read = stream_Peek( p_demux->s, &p_read, n );
+ char *buf = malloc(n);
- if( i_read > 0 )
-Index: vlc-2.2.1/modules/lua/libs/configuration.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/libs/configuration.c
-+++ vlc-2.2.1/modules/lua/libs/configuration.c
-@@ -84,7 +84,7 @@ static int vlclua_config_set( lua_State
- break;
-
- case VLC_VAR_INTEGER:
-- config_PutInt( p_this, psz_name, luaL_checkint( L, 2 ) );
-+ config_PutInt( p_this, psz_name, luaL_checkinteger( L, 2 ) );
- break;
-
- case VLC_VAR_BOOL:
-Index: vlc-2.2.1/modules/lua/libs/net.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/libs/net.c
-+++ vlc-2.2.1/modules/lua/libs/net.c
-@@ -202,7 +202,7 @@ static int vlclua_net_listen_tcp( lua_St
+ if (buf != NULL)
+--- a/modules/lua/libs/net.c
++++ b/modules/lua/libs/net.c
+@@ -179,7 +179,7 @@ static int vlclua_net_listen_tcp( lua_St
{
vlc_object_t *p_this = vlclua_get_this( L );
const char *psz_host = luaL_checkstring( L, 1 );
@@ -53,16 +36,16 @@ Index: vlc-2.2.1/modules/lua/libs/net.c
int *pi_fd = net_ListenTCP( p_this, psz_host, i_port );
if( pi_fd == NULL )
return luaL_error( L, "Cannot listen on %s:%d", psz_host, i_port );
-@@ -274,7 +274,7 @@ static int vlclua_net_connect_tcp( lua_S
+@@ -251,7 +251,7 @@ static int vlclua_net_connect_tcp( lua_S
{
vlc_object_t *p_this = vlclua_get_this( L );
const char *psz_host = luaL_checkstring( L, 1 );
- int i_port = luaL_checkint( L, 2 );
+ int i_port = luaL_checkinteger( L, 2 );
- int i_fd = net_Connect( p_this, psz_host, i_port, SOCK_STREAM, IPPROTO_TCP );
+ int i_fd = net_ConnectTCP( p_this, psz_host, i_port );
lua_pushinteger( L, vlclua_fd_map_safe( L, i_fd ) );
return 1;
-@@ -282,26 +282,26 @@ static int vlclua_net_connect_tcp( lua_S
+@@ -259,14 +259,14 @@ static int vlclua_net_connect_tcp( lua_S
static int vlclua_net_close( lua_State *L )
{
@@ -79,22 +62,25 @@ Index: vlc-2.2.1/modules/lua/libs/net.c
size_t i_len;
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
-- i_len = luaL_optint( L, 3, i_len );
-+ i_len = luaL_optinteger( L, 3, i_len );
- lua_pushinteger( L, (fd != -1) ? send( fd, psz_buffer, i_len, 0 ) : -1 );
- return 1;
- }
+@@ -278,7 +278,7 @@ static int vlclua_net_send( lua_State *L
static int vlclua_net_recv( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
-- size_t i_len = luaL_optint( L, 2, 1 );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
-+ size_t i_len = luaL_optinteger( L, 2, 1 );
+ size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
char psz_buffer[i_len];
- ssize_t i_ret = (fd != -1) ? recv( fd, psz_buffer, i_len, 0 ) : -1;
-@@ -382,19 +382,19 @@ static int vlclua_fd_open( lua_State *L
+@@ -312,7 +312,7 @@ static int vlclua_net_poll( lua_State *L
+ lua_pushnil( L );
+ for( int i = 0; lua_next( L, 1 ); i++ )
+ {
+- luafds[i] = luaL_checkint( L, -2 );
++ luafds[i] = luaL_checkinteger( L, -2 );
+ p_fds[i].fd = vlclua_fd_get( L, luafds[i] );
+ p_fds[i].events = luaL_checkinteger( L, -1 );
+ p_fds[i].events &= POLLIN | POLLOUT | POLLPRI;
+@@ -360,7 +360,7 @@ static int vlclua_fd_open( lua_State *L
#ifndef _WIN32
static int vlclua_fd_write( lua_State *L )
{
@@ -103,47 +89,18 @@ Index: vlc-2.2.1/modules/lua/libs/net.c
size_t i_len;
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
-- i_len = luaL_optint( L, 3, i_len );
-+ i_len = luaL_optinteger( L, 3, i_len );
- lua_pushinteger( L, (fd != -1) ? write( fd, psz_buffer, i_len ) : -1 );
- return 1;
- }
+@@ -371,7 +371,7 @@ static int vlclua_fd_write( lua_State *L
static int vlclua_fd_read( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
-- size_t i_len = luaL_optint( L, 2, 1 );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
-+ size_t i_len = luaL_optinteger( L, 2, 1 );
+ size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
char psz_buffer[i_len];
- ssize_t i_ret = (fd != -1) ? read( fd, psz_buffer, i_len ) : -1;
-Index: vlc-2.2.1/modules/lua/libs/osd.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/libs/osd.c
-+++ vlc-2.2.1/modules/lua/libs/osd.c
-@@ -67,7 +67,7 @@ static int vlclua_osd_icon( lua_State *L
- {
- const char *psz_icon = luaL_checkstring( L, 1 );
- int i_icon = vlc_osd_icon_from_string( psz_icon );
-- int i_chan = luaL_optint( L, 2, SPU_DEFAULT_CHANNEL );
-+ int i_chan = luaL_optinteger( L, 2, SPU_DEFAULT_CHANNEL );
- if( !i_icon )
- return luaL_error( L, "\"%s\" is not a valid osd icon.", psz_icon );
-
-@@ -114,9 +114,9 @@ static int vlc_osd_position_from_string(
- static int vlclua_osd_message( lua_State *L )
- {
- const char *psz_message = luaL_checkstring( L, 1 );
-- int i_chan = luaL_optint( L, 2, SPU_DEFAULT_CHANNEL );
-+ int i_chan = luaL_optinteger( L, 2, SPU_DEFAULT_CHANNEL );
- const char *psz_position = luaL_optstring( L, 3, "top-right" );
-- mtime_t duration = luaL_optint( L, 4, 1000000 );
-+ mtime_t duration = luaL_optinteger( L, 4, 1000000 );
-
- input_thread_t *p_input = vlclua_get_input_internal( L );
- if( p_input )
-@@ -154,10 +154,10 @@ static int vlc_osd_slider_type_from_stri
+--- a/modules/lua/libs/osd.c
++++ b/modules/lua/libs/osd.c
+@@ -154,7 +154,7 @@ static int vlc_osd_slider_type_from_stri
static int vlclua_osd_slider( lua_State *L )
{
@@ -151,11 +108,7 @@ Index: vlc-2.2.1/modules/lua/libs/osd.c
+ int i_position = luaL_checkinteger( L, 1 );
const char *psz_type = luaL_checkstring( L, 2 );
int i_type = vlc_osd_slider_type_from_string( psz_type );
-- int i_chan = luaL_optint( L, 3, SPU_DEFAULT_CHANNEL );
-+ int i_chan = luaL_optinteger( L, 3, SPU_DEFAULT_CHANNEL );
- if( !i_type )
- return luaL_error( L, "\"%s\" is not a valid slider type.",
- psz_type );
+ int i_chan = (int)luaL_optinteger( L, 3, VOUT_SPU_CHANNEL_OSD );
@@ -198,7 +198,7 @@ static int vlclua_spu_channel_register(
static int vlclua_spu_channel_clear( lua_State *L )
@@ -165,10 +118,8 @@ Index: vlc-2.2.1/modules/lua/libs/osd.c
input_thread_t *p_input = vlclua_get_input_internal( L );
if( !p_input )
return luaL_error( L, "Unable to find input." );
-Index: vlc-2.2.1/modules/lua/libs/playlist.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/libs/playlist.c
-+++ vlc-2.2.1/modules/lua/libs/playlist.c
+--- a/modules/lua/libs/playlist.c
++++ b/modules/lua/libs/playlist.c
@@ -69,7 +69,7 @@ static int vlclua_playlist_next( lua_Sta
static int vlclua_playlist_skip( lua_State * L )
@@ -186,17 +137,17 @@ Index: vlc-2.2.1/modules/lua/libs/playlist.c
+ int i_id = luaL_checkinteger( L, 1 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
PL_LOCK;
- int i_ret = playlist_Control( p_playlist, PLAYLIST_VIEWPLAY,
-@@ -139,7 +139,7 @@ static int vlclua_playlist_gotoitem( lua
+ playlist_ViewPlay( p_playlist, NULL,
+@@ -138,7 +138,7 @@ static int vlclua_playlist_gotoitem( lua
static int vlclua_playlist_delete( lua_State * L )
{
- int i_id = luaL_checkint( L, 1 );
+ int i_id = luaL_checkinteger( L, 1 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
+
PL_LOCK;
- playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_id );
-@@ -155,8 +155,8 @@ static int vlclua_playlist_delete( lua_S
+@@ -152,8 +152,8 @@ static int vlclua_playlist_delete( lua_S
static int vlclua_playlist_move( lua_State * L )
{
@@ -207,11 +158,9 @@ Index: vlc-2.2.1/modules/lua/libs/playlist.c
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
PL_LOCK;
playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_item );
-Index: vlc-2.2.1/modules/lua/libs/stream.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/libs/stream.c
-+++ vlc-2.2.1/modules/lua/libs/stream.c
-@@ -101,7 +101,7 @@ static int vlclua_stream_read( lua_State
+--- a/modules/lua/libs/stream.c
++++ b/modules/lua/libs/stream.c
+@@ -123,7 +123,7 @@ static int vlclua_stream_read( lua_State
{
int i_read;
stream_t **pp_stream = (stream_t **)luaL_checkudata( L, 1, "stream" );
@@ -220,23 +169,8 @@ Index: vlc-2.2.1/modules/lua/libs/stream.c
uint8_t *p_read = malloc( n );
if( !p_read ) return vlclua_error( L );
-Index: vlc-2.2.1/modules/lua/libs/variables.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/libs/variables.c
-+++ vlc-2.2.1/modules/lua/libs/variables.c
-@@ -103,7 +103,7 @@ static int vlclua_tovalue( lua_State *L,
- val->b_bool = luaL_checkboolean( L, -1 );
- break;
- case VLC_VAR_INTEGER:
-- val->i_int = luaL_checkint( L, -1 );
-+ val->i_int = luaL_checkinteger( L, -1 );
- break;
- case VLC_VAR_STRING:
- val->psz_string = (char*)luaL_checkstring( L, -1 ); /* XXX: Beware, this only stays valid as long as (L,-1) stays in the stack */
-Index: vlc-2.2.1/modules/lua/libs/volume.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/libs/volume.c
-+++ vlc-2.2.1/modules/lua/libs/volume.c
+--- a/modules/lua/libs/volume.c
++++ b/modules/lua/libs/volume.c
@@ -48,7 +48,7 @@
static int vlclua_volume_set( lua_State *L )
{
@@ -246,34 +180,54 @@ Index: vlc-2.2.1/modules/lua/libs/volume.c
if( i_volume < 0 )
i_volume = 0;
int i_ret = playlist_VolumeSet( p_this, i_volume/(float)AOUT_VOLUME_DEFAULT );
-@@ -68,7 +68,7 @@ static int vlclua_volume_up( lua_State *
- playlist_t *p_this = vlclua_get_playlist_internal( L );
- float volume;
-
-- playlist_VolumeUp( p_this, luaL_optint( L, 1, 1 ), &volume );
-+ playlist_VolumeUp( p_this, luaL_optinteger( L, 1, 1 ), &volume );
- lua_pushnumber( L, lroundf(volume * AOUT_VOLUME_DEFAULT) );
- return 1;
- }
-@@ -78,7 +78,7 @@ static int vlclua_volume_down( lua_State
- playlist_t *p_this = vlclua_get_playlist_internal( L );
- float volume;
-
-- playlist_VolumeDown( p_this, luaL_optint( L, 1, 1 ), &volume );
-+ playlist_VolumeDown( p_this, luaL_optinteger( L, 1, 1 ), &volume );
- lua_pushnumber( L, lroundf(volume * AOUT_VOLUME_DEFAULT) );
- return 1;
+--- a/modules/lua/libs/dialog.c
++++ b/modules/lua/libs/dialog.c
+@@ -382,7 +382,7 @@ static int lua_GetDialogUpdate( lua_Stat
+ /* Read entry in the Lua registry */
+ lua_pushlightuserdata( L, (void*) &key_update );
+ lua_gettable( L, LUA_REGISTRYINDEX );
+- return luaL_checkint( L, -1 );
++ return luaL_checkinteger( L, -1 );
}
-Index: vlc-2.2.1/modules/lua/libs/win.c
-===================================================================
---- vlc-2.2.1.orig/modules/lua/libs/win.c
-+++ vlc-2.2.1/modules/lua/libs/win.c
-@@ -123,7 +123,7 @@ static int vlclua_console_init( lua_Stat
- static int vlclua_console_wait( lua_State *L )
- {
-- int i_timeout = luaL_optint( L, 1, 0 );
-+ int i_timeout = luaL_optinteger( L, 1, 0 );
- DWORD status = WaitForSingleObject( GetConsole( L ), i_timeout );
- lua_pushboolean( L, status == WAIT_OBJECT_0 );
- return 1;
+ /** Manually update a dialog
+@@ -573,22 +573,22 @@ static int vlclua_create_widget_inner( l
+
+ /* Set common arguments: col, row, hspan, vspan, width, height */
+ if( lua_isnumber( L, arg ) )
+- p_widget->i_column = luaL_checkint( L, arg );
++ p_widget->i_column = luaL_checkinteger( L, arg );
+ else goto end_of_args;
+ if( lua_isnumber( L, ++arg ) )
+- p_widget->i_row = luaL_checkint( L, arg );
++ p_widget->i_row = luaL_checkinteger( L, arg );
+ else goto end_of_args;
+ if( lua_isnumber( L, ++arg ) )
+- p_widget->i_horiz_span = luaL_checkint( L, arg );
++ p_widget->i_horiz_span = luaL_checkinteger( L, arg );
+ else goto end_of_args;
+ if( lua_isnumber( L, ++arg ) )
+- p_widget->i_vert_span = luaL_checkint( L, arg );
++ p_widget->i_vert_span = luaL_checkinteger( L, arg );
+ else goto end_of_args;
+ if( lua_isnumber( L, ++arg ) )
+- p_widget->i_width = luaL_checkint( L, arg );
++ p_widget->i_width = luaL_checkinteger( L, arg );
+ else goto end_of_args;
+ if( lua_isnumber( L, ++arg ) )
+- p_widget->i_height = luaL_checkint( L, arg );
++ p_widget->i_height = luaL_checkinteger( L, arg );
+ else goto end_of_args;
+
+ end_of_args:
+--- a/modules/lua/libs/io.c
++++ b/modules/lua/libs/io.c
+@@ -139,7 +139,7 @@ static int vlclua_io_file_seek( lua_Stat
+ const char* psz_mode = luaL_optstring( L, 2, NULL );
+ if ( psz_mode != NULL )
+ {
+- long i_offset = luaL_optlong( L, 3, 0 );
++ long i_offset = (long)luaL_optinteger( L, 3, 0 );
+ int i_mode;
+ if ( !strcmp( psz_mode, "set" ) )
+ i_mode = SEEK_SET;
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0009-Avcodec-swscale-use-AV_PIX_FMT-consistently.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0009-Avcodec-swscale-use-AV_PIX_FMT-consistently.patch
deleted file mode 100644
index cb3ba71d..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0009-Avcodec-swscale-use-AV_PIX_FMT-consistently.patch
+++ /dev/null
@@ -1,293 +0,0 @@
-From 427732a379893491eac27aeadff0e0b3e252d158 Mon Sep 17 00:00:00 2001
-From: Jean-Baptiste Kempf <jb@videolan.org>
-Date: Mon, 31 Aug 2015 08:19:00 +0200
-Subject: [PATCH] Avcodec/swscale: use AV_PIX_FMT consistently
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-(cherry picked from commit faa7bd357b1f9e07a6ffbc451a188773fad7a275)
-Signed-off-by: Rafaël Carré <funman@videolan.org>
-
-Conflicts:
- modules/codec/avcodec/chroma.c
- modules/codec/avcodec/video.c
----
- modules/codec/avcodec/chroma.c | 104 ++++++++++++++++++++---------------------
- modules/codec/avcodec/video.c | 10 ++--
- modules/video_chroma/swscale.c | 28 +++++------
- 3 files changed, 71 insertions(+), 71 deletions(-)
-
-diff --git a/modules/codec/avcodec/chroma.c b/modules/codec/avcodec/chroma.c
-index 393364b..c31f93d 100644
---- a/modules/codec/avcodec/chroma.c
-+++ b/modules/codec/avcodec/chroma.c
-@@ -62,77 +62,77 @@ static const struct
- } chroma_table[] =
- {
- /* Planar YUV formats */
-- {VLC_CODEC_I444, PIX_FMT_YUV444P, 0, 0, 0 },
-- {VLC_CODEC_J444, PIX_FMT_YUVJ444P, 0, 0, 0 },
--
-- {VLC_CODEC_I440, PIX_FMT_YUV440P, 0, 0, 0 },
-- {VLC_CODEC_J440, PIX_FMT_YUVJ440P, 0, 0, 0 },
--
-- {VLC_CODEC_I422, PIX_FMT_YUV422P, 0, 0, 0 },
-- {VLC_CODEC_J422, PIX_FMT_YUVJ422P, 0, 0, 0 },
--
-- {VLC_CODEC_I420, PIX_FMT_YUV420P, 0, 0, 0 },
-- {VLC_CODEC_YV12, PIX_FMT_YUV420P, 0, 0, 0 },
-- {VLC_FOURCC('I','Y','U','V'), PIX_FMT_YUV420P, 0, 0, 0 },
-- {VLC_CODEC_J420, PIX_FMT_YUVJ420P, 0, 0, 0 },
-- {VLC_CODEC_I411, PIX_FMT_YUV411P, 0, 0, 0 },
-- {VLC_CODEC_I410, PIX_FMT_YUV410P, 0, 0, 0 },
-- {VLC_FOURCC('Y','V','U','9'), PIX_FMT_YUV410P, 0, 0, 0 },
--
-- {VLC_FOURCC('N','V','1','2'), PIX_FMT_NV12, 0, 0, 0 },
-- {VLC_FOURCC('N','V','2','1'), PIX_FMT_NV21, 0, 0, 0 },
--
-- {VLC_CODEC_I420_9L, PIX_FMT_YUV420P9LE, 0, 0, 0 },
-- {VLC_CODEC_I420_9B, PIX_FMT_YUV420P9BE, 0, 0, 0 },
-- {VLC_CODEC_I420_10L, PIX_FMT_YUV420P10LE, 0, 0, 0 },
-- {VLC_CODEC_I420_10B, PIX_FMT_YUV420P10BE, 0, 0, 0 },
-+ {VLC_CODEC_I444, AV_PIX_FMT_YUV444P, 0, 0, 0 },
-+ {VLC_CODEC_J444, AV_PIX_FMT_YUVJ444P, 0, 0, 0 },
-+
-+ {VLC_CODEC_I440, AV_PIX_FMT_YUV440P, 0, 0, 0 },
-+ {VLC_CODEC_J440, AV_PIX_FMT_YUVJ440P, 0, 0, 0 },
-+
-+ {VLC_CODEC_I422, AV_PIX_FMT_YUV422P, 0, 0, 0 },
-+ {VLC_CODEC_J422, AV_PIX_FMT_YUVJ422P, 0, 0, 0 },
-+
-+ {VLC_CODEC_I420, AV_PIX_FMT_YUV420P, 0, 0, 0 },
-+ {VLC_CODEC_YV12, AV_PIX_FMT_YUV420P, 0, 0, 0 },
-+ {VLC_FOURCC('I','Y','U','V'), AV_PIX_FMT_YUV420P, 0, 0, 0 },
-+ {VLC_CODEC_J420, AV_PIX_FMT_YUVJ420P, 0, 0, 0 },
-+ {VLC_CODEC_I411, AV_PIX_FMT_YUV411P, 0, 0, 0 },
-+ {VLC_CODEC_I410, AV_PIX_FMT_YUV410P, 0, 0, 0 },
-+ {VLC_FOURCC('Y','V','U','9'), AV_PIX_FMT_YUV410P, 0, 0, 0 },
-+
-+ {VLC_FOURCC('N','V','1','2'), AV_PIX_FMT_NV12, 0, 0, 0 },
-+ {VLC_FOURCC('N','V','2','1'), AV_PIX_FMT_NV21, 0, 0, 0 },
-+
-+ {VLC_CODEC_I420_9L, AV_PIX_FMT_YUV420P9LE, 0, 0, 0 },
-+ {VLC_CODEC_I420_9B, AV_PIX_FMT_YUV420P9BE, 0, 0, 0 },
-+ {VLC_CODEC_I420_10L, AV_PIX_FMT_YUV420P10LE, 0, 0, 0 },
-+ {VLC_CODEC_I420_10B, AV_PIX_FMT_YUV420P10BE, 0, 0, 0 },
- #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51,13,0)
-- {VLC_CODEC_I422_9L, PIX_FMT_YUV422P9LE, 0, 0, 0 },
-- {VLC_CODEC_I422_9B, PIX_FMT_YUV422P9BE, 0, 0, 0 },
-+ {VLC_CODEC_I422_9L, AV_PIX_FMT_YUV422P9LE, 0, 0, 0 },
-+ {VLC_CODEC_I422_9B, AV_PIX_FMT_YUV422P9BE, 0, 0, 0 },
- #endif
-- {VLC_CODEC_I422_10L, PIX_FMT_YUV422P10LE, 0, 0, 0 },
-- {VLC_CODEC_I422_10B, PIX_FMT_YUV422P10BE, 0, 0, 0 },
-+ {VLC_CODEC_I422_10L, AV_PIX_FMT_YUV422P10LE, 0, 0, 0 },
-+ {VLC_CODEC_I422_10B, AV_PIX_FMT_YUV422P10BE, 0, 0, 0 },
-
-- {VLC_CODEC_YUV420A, PIX_FMT_YUVA420P, 0, 0, 0 },
-+ {VLC_CODEC_YUV420A, AV_PIX_FMT_YUVA420P, 0, 0, 0 },
- #if LIBAVUTIL_VERSION_CHECK( 51, 45, 0, 74, 100 )
- {VLC_CODEC_YUV422A, AV_PIX_FMT_YUVA422P, 0, 0, 0 },
- #endif
-
-- {VLC_CODEC_I444_9L, PIX_FMT_YUV444P9LE, 0, 0, 0 },
-- {VLC_CODEC_I444_9B, PIX_FMT_YUV444P9BE, 0, 0, 0 },
-- {VLC_CODEC_I444_10L, PIX_FMT_YUV444P10LE, 0, 0, 0 },
-- {VLC_CODEC_I444_10B, PIX_FMT_YUV444P10BE, 0, 0, 0 },
-- {VLC_CODEC_I444_16L, PIX_FMT_YUV444P16LE, 0, 0, 0 },
-- {VLC_CODEC_I444_16B, PIX_FMT_YUV444P16BE, 0, 0, 0 },
-+ {VLC_CODEC_I444_9L, AV_PIX_FMT_YUV444P9LE, 0, 0, 0 },
-+ {VLC_CODEC_I444_9B, AV_PIX_FMT_YUV444P9BE, 0, 0, 0 },
-+ {VLC_CODEC_I444_10L, AV_PIX_FMT_YUV444P10LE, 0, 0, 0 },
-+ {VLC_CODEC_I444_10B, AV_PIX_FMT_YUV444P10BE, 0, 0, 0 },
-+ {VLC_CODEC_I444_16L, AV_PIX_FMT_YUV444P16LE, 0, 0, 0 },
-+ {VLC_CODEC_I444_16B, AV_PIX_FMT_YUV444P16BE, 0, 0, 0 },
-
- /* Packed YUV formats */
-- {VLC_CODEC_YUYV, PIX_FMT_YUYV422, 0, 0, 0 },
-- {VLC_FOURCC('Y','U','Y','V'), PIX_FMT_YUYV422, 0, 0, 0 },
-- {VLC_CODEC_UYVY, PIX_FMT_UYVY422, 0, 0, 0 },
-- {VLC_FOURCC('Y','4','1','1'), PIX_FMT_UYYVYY411, 0, 0, 0 },
-+ {VLC_CODEC_YUYV, AV_PIX_FMT_YUYV422, 0, 0, 0 },
-+ {VLC_FOURCC('Y','U','Y','V'), AV_PIX_FMT_YUYV422, 0, 0, 0 },
-+ {VLC_CODEC_UYVY, AV_PIX_FMT_UYVY422, 0, 0, 0 },
-+ {VLC_FOURCC('Y','4','1','1'), AV_PIX_FMT_UYYVYY411, 0, 0, 0 },
-
- /* Packed RGB formats */
-- VLC_RGB( VLC_FOURCC('R','G','B','4'), PIX_FMT_RGB4, PIX_FMT_BGR4, 0x10, 0x06, 0x01 )
-- VLC_RGB( VLC_FOURCC('R','G','B','8'), PIX_FMT_RGB8, PIX_FMT_BGR8, 0xC0, 0x38, 0x07 )
-+ VLC_RGB( VLC_FOURCC('R','G','B','4'), AV_PIX_FMT_RGB4, AV_PIX_FMT_BGR4, 0x10, 0x06, 0x01 )
-+ VLC_RGB( VLC_FOURCC('R','G','B','8'), AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8, 0xC0, 0x38, 0x07 )
-
-- VLC_RGB( VLC_CODEC_RGB15, PIX_FMT_RGB555, PIX_FMT_BGR555, 0x7c00, 0x03e0, 0x001f )
-- VLC_RGB( VLC_CODEC_RGB16, PIX_FMT_RGB565, PIX_FMT_BGR565, 0xf800, 0x07e0, 0x001f )
-- VLC_RGB( VLC_CODEC_RGB24, PIX_FMT_BGR24, PIX_FMT_RGB24, 0xff0000, 0x00ff00, 0x0000ff )
-+ VLC_RGB( VLC_CODEC_RGB15, AV_PIX_FMT_RGB555, AV_PIX_FMT_BGR555, 0x7c00, 0x03e0, 0x001f )
-+ VLC_RGB( VLC_CODEC_RGB16, AV_PIX_FMT_RGB565, AV_PIX_FMT_BGR565, 0xf800, 0x07e0, 0x001f )
-+ VLC_RGB( VLC_CODEC_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGB24, 0xff0000, 0x00ff00, 0x0000ff )
-
-- VLC_RGB( VLC_CODEC_RGB32, PIX_FMT_RGB32, PIX_FMT_BGR32, 0x00ff0000, 0x0000ff00, 0x000000ff )
-- VLC_RGB( VLC_CODEC_RGB32, PIX_FMT_RGB32_1, PIX_FMT_BGR32_1, 0xff000000, 0x00ff0000, 0x0000ff00 )
-+ VLC_RGB( VLC_CODEC_RGB32, AV_PIX_FMT_RGB32, AV_PIX_FMT_BGR32, 0x00ff0000, 0x0000ff00, 0x000000ff )
-+ VLC_RGB( VLC_CODEC_RGB32, AV_PIX_FMT_RGB32_1, AV_PIX_FMT_BGR32_1, 0xff000000, 0x00ff0000, 0x0000ff00 )
-
- #ifdef AV_PIX_FMT_0BGR32
- VLC_RGB( VLC_CODEC_RGB32, AV_PIX_FMT_0BGR32, AV_PIX_FMT_0RGB32, 0x000000ff, 0x0000ff00, 0x00ff0000 )
- #endif
-
-- {VLC_CODEC_RGBA, PIX_FMT_RGBA, 0, 0, 0 },
-- {VLC_CODEC_ARGB, PIX_FMT_ARGB, 0, 0, 0 },
-- {VLC_CODEC_BGRA, PIX_FMT_BGRA, 0, 0, 0 },
-- {VLC_CODEC_GREY, PIX_FMT_GRAY8, 0, 0, 0},
-+ {VLC_CODEC_RGBA, AV_PIX_FMT_RGBA, 0, 0, 0 },
-+ {VLC_CODEC_ARGB, AV_PIX_FMT_ARGB, 0, 0, 0 },
-+ {VLC_CODEC_BGRA, AV_PIX_FMT_BGRA, 0, 0, 0 },
-+ {VLC_CODEC_GREY, AV_PIX_FMT_GRAY8, 0, 0, 0},
-
- /* Paletized RGB */
-- {VLC_CODEC_RGBP, PIX_FMT_PAL8, 0, 0, 0},
-+ {VLC_CODEC_RGBP, AV_PIX_FMT_PAL8, 0, 0, 0},
-
- #if LIBAVUTIL_VERSION_CHECK(51, 42, 0, 74,100)
- {VLC_CODEC_GBR_PLANAR, AV_PIX_FMT_GBRP, 0, 0, 0 },
-@@ -201,5 +201,5 @@ int FindFfmpegChroma( vlc_fourcc_t fourcc )
- for( int i = 0; chroma_table[i].i_chroma != 0; i++ )
- if( chroma_table[i].i_chroma == fourcc )
- return chroma_table[i].i_chroma_id;
-- return PIX_FMT_NONE;
-+ return AV_PIX_FMT_NONE;
- }
-diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c
-index c115db9..ae600e8 100644
---- a/modules/codec/avcodec/video.c
-+++ b/modules/codec/avcodec/video.c
-@@ -1004,7 +1004,7 @@ static picture_t *lavc_dr_GetFrame(struct AVCodecContext *ctx,
- if (GetVlcChroma(&dec->fmt_out.video, ctx->pix_fmt) != VLC_SUCCESS)
- return NULL;
- dec->fmt_out.i_codec = dec->fmt_out.video.i_chroma;
-- if (ctx->pix_fmt == PIX_FMT_PAL8)
-+ if (ctx->pix_fmt == AV_PIX_FMT_PAL8)
- return NULL;
-
- int width = frame->width;
-@@ -1180,7 +1180,7 @@ static picture_t *ffmpeg_dr_GetFrameBuf(struct AVCodecContext *p_context)
- if (GetVlcChroma(&p_dec->fmt_out.video, p_context->pix_fmt) != VLC_SUCCESS)
- goto no_dr;
-
-- if (p_context->pix_fmt == PIX_FMT_PAL8)
-+ if (p_context->pix_fmt == AV_PIX_FMT_PAL8)
- goto no_dr;
-
- p_dec->fmt_out.i_codec = p_dec->fmt_out.video.i_chroma;
-@@ -1215,7 +1215,7 @@ static picture_t *ffmpeg_dr_GetFrameBuf(struct AVCodecContext *p_context)
- goto no_dr;
- }
-
-- if( p_context->pix_fmt == PIX_FMT_YUV422P )
-+ if( p_context->pix_fmt == AV_PIX_FMT_YUV422P )
- {
- if( 2 * p_pic->p[1].i_pitch != p_pic->p[0].i_pitch ||
- 2 * p_pic->p[2].i_pitch != p_pic->p[0].i_pitch )
-@@ -1325,7 +1325,7 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
-
- /* Enumerate available formats */
- bool can_hwaccel = false;
-- for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
-+ for( size_t i = 0; pi_fmt[i] != AV_PIX_FMT_NONE; i++ )
- {
- const AVPixFmtDescriptor *dsc = av_pix_fmt_desc_get(pi_fmt[i]);
- if (dsc == NULL)
-@@ -1352,7 +1352,7 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
- if( p_va == NULL )
- goto end;
-
-- for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
-+ for( size_t i = 0; pi_fmt[i] != AV_PIX_FMT_NONE; i++ )
- {
- if( p_va->pix_fmt != pi_fmt[i] )
- continue;
-diff --git a/modules/video_chroma/swscale.c b/modules/video_chroma/swscale.c
-index 569e0f5..4e0ecf1 100644
---- a/modules/video_chroma/swscale.c
-+++ b/modules/video_chroma/swscale.c
-@@ -257,35 +257,35 @@ static void FixParameters( int *pi_fmt, bool *pb_has_a, bool *pb_swap_uv, vlc_fo
- switch( fmt )
- {
- case VLC_CODEC_YUV422A:
-- *pi_fmt = PIX_FMT_YUV422P;
-+ *pi_fmt = AV_PIX_FMT_YUV422P;
- *pb_has_a = true;
- break;
- case VLC_CODEC_YUV420A:
-- *pi_fmt = PIX_FMT_YUV420P;
-+ *pi_fmt = AV_PIX_FMT_YUV420P;
- *pb_has_a = true;
- break;
- case VLC_CODEC_YUVA:
-- *pi_fmt = PIX_FMT_YUV444P;
-+ *pi_fmt = AV_PIX_FMT_YUV444P;
- *pb_has_a = true;
- break;
- case VLC_CODEC_RGBA:
-- *pi_fmt = PIX_FMT_BGR32;
-+ *pi_fmt = AV_PIX_FMT_BGR32;
- *pb_has_a = true;
- break;
- case VLC_CODEC_ARGB:
-- *pi_fmt = PIX_FMT_BGR32_1;
-+ *pi_fmt = AV_PIX_FMT_BGR32_1;
- *pb_has_a = true;
- break;
- case VLC_CODEC_BGRA:
-- *pi_fmt = PIX_FMT_RGB32;
-+ *pi_fmt = AV_PIX_FMT_RGB32;
- *pb_has_a = true;
- break;
- case VLC_CODEC_YV12:
-- *pi_fmt = PIX_FMT_YUV420P;
-+ *pi_fmt = AV_PIX_FMT_YUV420P;
- *pb_swap_uv = true;
- break;
- case VLC_CODEC_YV9:
-- *pi_fmt = PIX_FMT_YUV410P;
-+ *pi_fmt = AV_PIX_FMT_YUV410P;
- *pb_swap_uv = true;
- break;
- default:
-@@ -314,7 +314,7 @@ static int GetParameters( ScalerConfiguration *p_cfg,
- {
- if( p_fmti->i_chroma == VLC_CODEC_YUVP && ALLOW_YUVP )
- {
-- i_fmti = i_fmto = PIX_FMT_GRAY8;
-+ i_fmti = i_fmto = AV_PIX_FMT_GRAY8;
- i_sws_flags = SWS_POINT;
- }
- }
-@@ -327,9 +327,9 @@ static int GetParameters( ScalerConfiguration *p_cfg,
- * Without SWS_ACCURATE_RND the quality is really bad for some conversions */
- switch( i_fmto )
- {
-- case PIX_FMT_ARGB:
-- case PIX_FMT_RGBA:
-- case PIX_FMT_ABGR:
-+ case AV_PIX_FMT_ARGB:
-+ case AV_PIX_FMT_RGBA:
-+ case AV_PIX_FMT_ABGR:
- i_sws_flags |= SWS_ACCURATE_RND;
- break;
- }
-@@ -403,8 +403,8 @@ static int Init( filter_t *p_filter )
- const unsigned i_fmto_visible_width = p_fmto->i_visible_width * p_sys->i_extend_factor;
- for( int n = 0; n < (cfg.b_has_a ? 2 : 1); n++ )
- {
-- const int i_fmti = n == 0 ? cfg.i_fmti : PIX_FMT_GRAY8;
-- const int i_fmto = n == 0 ? cfg.i_fmto : PIX_FMT_GRAY8;
-+ const int i_fmti = n == 0 ? cfg.i_fmti : AV_PIX_FMT_GRAY8;
-+ const int i_fmto = n == 0 ? cfg.i_fmto : AV_PIX_FMT_GRAY8;
- struct SwsContext *ctx;
-
- ctx = sws_getContext( i_fmti_visible_width, p_fmti->i_visible_height, i_fmti,
---
-2.5.0
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0010-SWSCALE-fix-compilation-with-4.x.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0010-SWSCALE-fix-compilation-with-4.x.patch
deleted file mode 100644
index 56744e7d..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0010-SWSCALE-fix-compilation-with-4.x.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 6fa8a4a9bb64ff34328aae46acd600f8502b2c05 Mon Sep 17 00:00:00 2001
-From: Jean-Baptiste Kempf <jb@videolan.org>
-Date: Mon, 31 Aug 2015 09:07:39 +0200
-Subject: [PATCH] SWSCALE: fix compilation with 4.x
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-(cherry picked from commit 2b23857c68622edda76b72b74aeb3d943ee277c9)
-Signed-off-by: Rafaël Carré <funman@videolan.org>
----
- modules/video_chroma/swscale.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/modules/video_chroma/swscale.c b/modules/video_chroma/swscale.c
-index 4e0ecf1..26d0d6f 100644
---- a/modules/video_chroma/swscale.c
-+++ b/modules/video_chroma/swscale.c
-@@ -36,6 +36,7 @@
- #include <vlc_cpu.h>
-
- #include <libswscale/swscale.h>
-+#include <libswscale/version.h>
-
- #ifdef __APPLE__
- # include <TargetConditionals.h>
-@@ -235,6 +236,7 @@ static int GetSwsCpuMask(void)
- {
- int i_sws_cpu = 0;
-
-+#if LIBSWSCALE_VERSION_MAJOR < 4
- #if defined(__i386__) || defined(__x86_64__)
- if( vlc_CPU_MMX() )
- i_sws_cpu |= SWS_CPU_CAPS_MMX;
-@@ -248,6 +250,7 @@ static int GetSwsCpuMask(void)
- if( vlc_CPU_ALTIVEC() )
- i_sws_cpu |= SWS_CPU_CAPS_ALTIVEC;
- #endif
-+#endif
-
- return i_sws_cpu;
- }
---
-2.5.0
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_2.2.2.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_2.2.2.bb
deleted file mode 100644
index b5be04cb..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_2.2.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require ${BPN}.inc
-
-# work around build failure
-EXTRA_OECONF += " --enable-libxml2=no"
-
-SRC_URI += "file://0001-enable-subdir-objects.patch \
- file://0002-glibc-does-not-provide-strlcpy.patch \
- file://0003-use-am-path-libgcrypt.patch \
- file://0004-modules-gui-qt4-out-of-tree-build.patch \
- file://0005-libpostproc-header-check.patch \
- file://0006-make-opencv-configurable.patch \
- file://0007-use-vorbisidec.patch \
- file://0008-fix-luaL-checkint.patch \
- file://0009-Avcodec-swscale-use-AV_PIX_FMT-consistently.patch \
- file://0010-SWSCALE-fix-compilation-with-4.x.patch \
-"
-
-SRC_URI[md5sum] = "f98d60f0f59ef72b6e3407f2ff09bda6"
-SRC_URI[sha256sum] = "9ad23128be16f9b40ed772961272cb0748ed8e4aa1bc79c129e589feebea5fb5"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.9.2.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.9.2.bb
new file mode 100644
index 00000000..f6c7a606
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.9.2.bb
@@ -0,0 +1,133 @@
+DESCRIPTION = "Video player and streamer - davinci edition"
+HOMEPAGE = "http://www.videolan.org"
+SECTION = "multimedia"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
+ dbus libxml2 gnutls \
+ tremor faad2 ffmpeg flac alsa-lib \
+ lua-native lua libidn \
+ avahi jpeg xz libmodplug mpeg2dec \
+ libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \
+ tiff"
+
+LDFLAGS_append_riscv64 = " -latomic"
+
+# While this item does not require it, it depends on ffmpeg which does
+LICENSE_FLAGS = "commercial"
+
+SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz \
+ file://0006-make-opencv-configurable.patch \
+ file://0007-use-vorbisidec.patch \
+ file://0008-fix-luaL-checkint.patch \
+ file://0001-Use-packageconfig-to-detect-mmal-support.patch \
+"
+SRC_URI[sha256sum] = "a9bdad293d81cd48516abad8d490d8ab4012964ae541ff19e00021e071e47601"
+
+inherit autotools features_check gettext pkgconfig mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+export BUILDCC = "${BUILD_CC}"
+EXTRA_OECONF = "\
+ --enable-run-as-root \
+ --enable-xvideo \
+ --disable-screen --disable-caca \
+ --enable-vlm \
+ --enable-freetype \
+ --enable-tremor \
+ --enable-v4l2 --disable-aa --disable-faad \
+ --enable-dbus \
+ --without-contrib \
+ --without-kde-solid \
+ --enable-realrtsp \
+ --disable-libtar \
+ --enable-avcodec \
+ ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \
+ ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \
+ ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/uic \
+"
+
+PACKAGECONFIG ?= " \
+ live555 dc1394 dv1394 notify fontconfig fluidsynth freetype dvdread png \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ x264 \
+"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)}
+
+PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal,,userland"
+PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
+PACKAGECONFIG[fluidsynth] = ",,fluidsynth"
+PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
+PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
+PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555"
+PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
+PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
+PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
+PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
+PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
+PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
+PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
+PACKAGECONFIG[qt5] = "--enable-qt,--disable-qt, qtbase-native qtx11extras qtsvg"
+PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
+PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
+PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
+PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
+PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
+PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
+PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
+PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg"
+PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
+PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
+PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
+PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
+PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
+PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
+PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
+PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
+PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
+PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
+PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
+
+do_configure_append() {
+ sed -i -e s:'${top_builddir_slash}libtool':'${top_builddir_slash}'${TARGET_SYS}-libtool:g ${B}/doltlibtool
+
+ # moc needs support: precreate build paths
+ for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do
+ mkdir -p "${B}/modules/gui/qt/$qtpath"
+ done
+}
+
+# This recipe packages vlc as a library as well, so qt4 dependencies
+# can be avoided when only the library is installed.
+PACKAGES =+ "libvlc"
+
+LEAD_SONAME_libvlc = "libvlc.so.5"
+FILES_libvlc = "${libdir}/lib*.so.*"
+
+FILES_${PN} += "\
+ ${bindir}/vlc \
+ ${libdir}/vlc/vlc/libvlc_vdpau.so \
+ ${datadir}/applications \
+ ${datadir}/vlc/ \
+ ${datadir}/icons \
+ ${datadir}/metainfo/vlc.appdata.xml \
+"
+
+FILES_${PN}-dbg += "\
+ ${libdir}/vlc/*/.debug \
+ ${libdir}/vlc/plugins/*/.debug \
+"
+
+FILES_${PN}-staticdev += "\
+ ${libdir}/vlc/plugins/*/*.a \
+"
+
+INSANE_SKIP_${PN} = "dev-so"
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch
new file mode 100644
index 00000000..b61ce7c1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch
@@ -0,0 +1,37 @@
+Fix build with gettext 0.20.x
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,8 +2,8 @@
+
+ AUTOMAKE_OPTIONS = foreign dist-zip
+
+-SUBDIRS = po intl include share debian win32 @OPT_SUBDIRS@
+-DIST_SUBDIRS = po intl include share debian win32 ogg123 oggenc oggdec ogginfo \
++SUBDIRS = po include share debian win32 @OPT_SUBDIRS@
++DIST_SUBDIRS = po include share debian win32 ogg123 oggenc oggdec ogginfo \
+ vcut vorbiscomment m4
+
+ EXTRA_DIST = config.rpath README AUTHORS COPYING CHANGES vorbis-tools.spec config.h mkinstalldirs
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,7 +31,7 @@ CFLAGS="$cflags_save"
+ AC_PROG_LIBTOOL
+
+ ALL_LINGUAS="be cs da en_GB eo es fr hr hu nl pl ro ru sk sv uk vi"
+-AM_GNU_GETTEXT
++AM_GNU_GETTEXT([external])
+
+ dnl --------------------------------------------------
+ dnl System checks
+@@ -383,7 +383,6 @@ AC_OUTPUT([
+ Makefile
+ m4/Makefile
+ po/Makefile.in
+-intl/Makefile
+ include/Makefile
+ share/Makefile
+ win32/Makefile
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
index 8e9914b4..89e66528 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
@@ -13,6 +13,7 @@ DEPENDS = "libogg libvorbis"
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 \
+ file://gettext.patch \
"
SRC_URI[md5sum] = "567e0fb8d321b2cd7124f8208b8b90e6"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch
deleted file mode 100644
index 7668df35..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4945dca11bc4ddec60bd858f45212dc8f39638e0 Mon Sep 17 00:00:00 2001
-From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
-Date: Tue, 5 Jul 2016 18:07:45 -0400
-Subject: [PATCH 1/6] build: Protect against unsupported CPU types
-
-Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
-Upstream-Status: Accepted [expected in 0.4]
----
- configure.ac | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6f9553b..f5304b8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -70,8 +70,9 @@ AS_CASE(["${host_cpu}"],
- [
- HAVE_ARM=1
- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM"
-- ]
-+ ],
- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines
-+ [AC_MSG_ERROR([Unsupported CPU type $host_cpu])]
- )
- AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"])
- AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"])
---
-2.11.0
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch
deleted file mode 100644
index 2e202b03..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b5bda3431159b6505dcd069641c863018c4d4309 Mon Sep 17 00:00:00 2001
-From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
-Date: Wed, 6 Jul 2016 15:18:15 -0400
-Subject: [PATCH 2/6] build: Add ARM 64bit support
-
-Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
-Upstream-Status: Accepted [expected in 0.4]
----
- configure.ac | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index f5304b8..be20514 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -71,6 +71,11 @@ AS_CASE(["${host_cpu}"],
- HAVE_ARM=1
- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM"
- ],
-+ [aarch64*],
-+ [
-+ HAVE_NEON=1
-+ ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"
-+ ],
- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines
- [AC_MSG_ERROR([Unsupported CPU type $host_cpu])]
- )
---
-2.11.0
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch
deleted file mode 100644
index 82e270fa..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 7722fb8a3189fea0f6381f02a0e4f63c847f0393 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Sat, 6 Aug 2016 11:02:43 +0200
-Subject: [PATCH 3/6] build: fix architecture detection
-
-The current architecture detection, based on the "host_cpu" part of the
-tuple does not work properly for a number of reason:
-
- - The code assumes that if host_cpu starts with "arm" then ARM
- instructions are available, which is incorrect. Indeed, Cortex-M
- platforms can run Linux, they are ARM platforms (so host_cpu = arm),
- but they don't support ARM instructions: they support only the
- Thumb-2 instruction set.
-
- - The armv7 case is also not very useful, as it is not standard at all
- to pass armv7 as host_cpu even if the host system is actually ARMv7
- based.
-
- - For the same reason, the armv8 case is not very useful: ARMv8 is
- AArch64, and there is already a separate case to handle this
- architecture.
-
-So, this commit moves away from a host_cpu based logic, and instead
-tests using AC_CHECK_DECLS() the built-in definitions of the compiler:
-
- - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor
- that supports the ARM instruction set (this allows to exclude Thumb-2
- only processors).
-
- - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and
- we can enable the corresponding optimizations
-
- - Same for __aarch64__, __i386__ and __x86_64__.
-
-In addition, we remove the AC_MSG_ERROR() that makes the build fail for
-all architectures but the ones that are explicitly supported. Indeed,
-webrtc-audio-processing builds just fine for other architectures (tested
-on MIPS), it's just that none of the architecture-specific optimizations
-will be used.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
-Upstream-Status: Accepted [expected in 0.4]
----
- configure.ac | 35 +++++++++++------------------------
- 1 file changed, 11 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index be20514..e898014 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -55,30 +55,17 @@ AS_CASE(["${host}"],
- )
- AC_SUBST(PLATFORM_CFLAGS)
-
--AS_CASE(["${host_cpu}"],
-- [i?86|x86_64],
-- [
-- HAVE_X86=1
-- ],
-- [armv7*|armv8*],
-- [
-- HAVE_ARM=1
-- HAVE_ARMV7=1
-- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7"
-- ],
-- [arm*],
-- [
-- HAVE_ARM=1
-- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM"
-- ],
-- [aarch64*],
-- [
-- HAVE_NEON=1
-- ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"
-- ],
-- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines
-- [AC_MSG_ERROR([Unsupported CPU type $host_cpu])]
--)
-+# Testing __ARM_ARCH_ISA_ARM since the code contains ARM instructions,
-+# which don't work on Thumb-2 only platforms (ARMv7-M).
-+AC_CHECK_DECLS([__ARM_ARCH_ISA_ARM],
-+ [HAVE_ARM=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM"])
-+AC_CHECK_DECLS([__ARM_ARCH_7A__],
-+ [HAVE_ARMV7=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM_V7"])
-+AC_CHECK_DECLS([__aarch64__],
-+ [HAVE_NEON=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"])
-+AC_CHECK_DECLS([__i386__], [HAVE_X86=1])
-+AC_CHECK_DECLS([__x86_64__], [HAVE_X86=1])
-+
- AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"])
- AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"])
- AM_CONDITIONAL(HAVE_ARMV7, [test "x${HAVE_ARMV7}" = "x1"])
---
-2.11.0
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch b/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch
new file mode 100644
index 00000000..576b9860
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch
@@ -0,0 +1,33 @@
+Add support for RISC-V
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/webrtc/base/basictypes.h
++++ b/webrtc/base/basictypes.h
+@@ -29,6 +29,10 @@
+ #define CPU_ARM 1
+ #endif
+
++#if defined(__riscv) || defined(_M_RISCV)
++#define CPU_RISCV 1
++#endif
++
+ #if defined(CPU_X86) && defined(CPU_ARM)
+ #error CPU_X86 and CPU_ARM both defined.
+ #endif
+--- a/webrtc/typedefs.h
++++ b/webrtc/typedefs.h
+@@ -56,6 +56,13 @@
+ #elif defined(__powerpc__)
+ #define WEBRTC_ARCH_32_BITS
+ #define WEBRTC_ARCH_BIG_ENDIAN
++#elif defined(__riscv)
++#if __riscv_xlen == 64
++# define WEBRTC_ARCH_64_BITS
++#else
++# define WEBRTC_ARCH_32_BITS
++#endif
++#define WEBRTC_ARCH_LITTLE_ENDIAN
+ #elif defined(__pnacl__)
+ #define WEBRTC_ARCH_32_BITS
+ #define WEBRTC_ARCH_LITTLE_ENDIAN
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb
new file mode 100644
index 00000000..b94dcf9f
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
+HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
+SECTION = "audio"
+
+DEPENDS_append_libc-musl = " libexecinfo"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \
+ file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \
+"
+
+SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${BP}.tar.xz \
+ file://0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch \
+ file://0005-typedefs.h-add-support-for-PowerPC.patch \
+ file://0006-common_audio-implement-endianness-conversion-in-wav-.patch \
+ file://riscv_support.patch \
+"
+
+SRC_URI[md5sum] = "6e10724ca34bcbc715a4c208273acb0c"
+SRC_URI[sha256sum] = "a0fdd938fd85272d67e81572c5a4d9e200a0c104753cb3c209ded175ce3c5dbf"
+
+LDFLAGS_append_libc-musl = " -lexecinfo"
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb
deleted file mode 100644
index 2b0f7c68..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
-HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
-SECTION = "audio"
-
-DEPENDS_append_libc-musl = " libexecinfo"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \
- file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \
-"
-
-# Note that patch 3 effectively reverts patches 1 and 2. The only reason
-# why patches 1 and 2 are included is that otherwise patch 3 wouldn't
-# apply cleanly.
-SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${BP}.tar.xz \
- file://0001-build-Protect-against-unsupported-CPU-types.patch \
- file://0002-build-Add-ARM-64bit-support.patch \
- file://0003-build-fix-architecture-detection.patch \
- file://0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch \
- file://0005-typedefs.h-add-support-for-PowerPC.patch \
- file://0006-common_audio-implement-endianness-conversion-in-wav-.patch \
-"
-
-SRC_URI[md5sum] = "336ae032f608e65808ac577cde0ab72c"
-SRC_URI[sha256sum] = "756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa"
-
-LDFLAGS_append_libc-musl = " -lexecinfo"
-inherit autotools
diff --git a/external/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb b/external/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
new file mode 100644
index 00000000..8c34526c
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "H.265/HEVC video encoder"
+DESCRIPTION = "A free software library and application for encoding video streams into the H.265/HEVC format."
+HOMEPAGE = "http://www.videolan.org/developers/x265.html"
+
+LICENSE = "GPLv2"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://../COPYING;md5=c9e0427bc58f129f99728c62d4ad4091"
+
+DEPENDS = "nasm-native gnutls zlib libpcre"
+
+SRC_URI = "http://ftp.videolan.org/pub/videolan/x265/x265_${PV}.tar.gz"
+
+S = "${WORKDIR}/x265_${PV}/source"
+
+SRC_URI[md5sum] = "94808045a34d88a857e5eaf3f68f4bca"
+SRC_URI[sha256sum] = "fb9badcf92364fd3567f8b5aa0e5e952aeea7a39a2b864387cec31e3b58cbbcc"
+
+inherit lib_package pkgconfig cmake
+
+EXTRA_OECMAKE_append_x86 = " -DENABLE_ASSEMBLY=OFF"
+
+AS[unexport] = "1"
+
+COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc b/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc
index 57dca9c1..c7b368de 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc
@@ -7,8 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
DEPENDS = "glib-2.0 gdk-pixbuf"
-GNOME_COMPRESS_TYPE = "xz"
-
inherit gnomebase gtk-doc gobject-introspection
EXTRA_OECONF = "--disable-qt --enable-gdkpixbuf"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch
deleted file mode 100644
index aff1cb18..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-From 1921498bcc06408e8b051a3a9e9ce4182998f748 Mon Sep 17 00:00:00 2001
-From: David Schleef <ds@schleef.org>
-Date: Fri, 8 Apr 2011 10:05:49 -0700
-Subject: [PATCH 10/10] Fix --enable-vfp flag
-
-Patch from Christophe Lyon, fixes #36084.
----
- configure.ac | 4 ++--
- liboil/arm/Makefile.am | 1 +
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 98c81fb..407d88c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -188,8 +188,8 @@ fi
- AC_ARG_ENABLE(vfp,
- AC_HELP_STRING([--enable-vfp],[compile with Vector Floating-point unit support]),
- enable_vfp=$enableval,enable_vfp=yes)
--if test "x$enable-vfp" = xyes -a x$HAVE_GCC_ASM = xyes -a x$HAVE_ARM = xyes; then
-- AS_COMPILER_FLAG(["-Wa,-mfpu=vfp"],
-+if test "x$enable_vfp" = xyes -a x$HAVE_GCC_ASM = xyes -a x$HAVE_ARM = xyes; then
-+ AS_COMPILER_FLAG(["-mfpu=vfp"],
- [VFP_CFLAGS="$VFP_CFLAGS -mfpu=vfp"],
- true)
- #AS_COMPILER_FLAG(["-Wa,-mfloat-abi=softfp"],
-diff --git a/liboil/arm/Makefile.am b/liboil/arm/Makefile.am
-index ead08ed..cd8d9fa 100644
---- a/liboil/arm/Makefile.am
-+++ b/liboil/arm/Makefile.am
-@@ -6,4 +6,5 @@ libarm_la_SOURCES = \
- math_vfp_asm.S
-
- libarm_la_CFLAGS = $(LIBOIL_CFLAGS) $(VFP_CFLAGS)
-+libarm_la_CCASFLAGS = $(LIBOIL_CFLAGS) $(VFP_CFLAGS)
-
---
-1.7.6
-
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch
deleted file mode 100644
index c8e3c1f7..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=31358
-
-configure: fix whitelisting of x86_64 unaligned memory access
-
-Fix typo in whitelist so cross-compile works for x86_64.
-
-Upstream-Status: Inappropriate [configuration]
-
---- liboil-0.3.17/m4/as-unaligned-access.m4.orig 2009-02-26 14:40:08.000000000 -0500
-+++ liboil-0.3.17/m4/as-unaligned-access.m4 2010-11-03 12:19:55.000000000 -0400
-@@ -9,7 +9,7 @@
- _AS_ECHO_N([(blacklisted) ])
- as_cv_unaligned_access=no
- ;;
-- i?86*|x86_64|amd64|powerpc*|m68k*|cris*)
-+ i?86*|x86_64*|amd64*|powerpc*|m68k*|cris*)
- _AS_ECHO_N([(whitelisted) ])
- as_cv_unaligned_access=yes
- ;;
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch
deleted file mode 100644
index 473380e9..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-Upstream-Status: Pending
-
-Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
-
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
-2011/12/01
-
-
-Index: liboil-0.3.17/liboil/amd64/wavelet.c
-===================================================================
---- liboil-0.3.17.orig/liboil/amd64/wavelet.c
-+++ liboil-0.3.17/liboil/amd64/wavelet.c
-@@ -21,14 +21,14 @@ deinterleave2_asm (int16_t *d1, int16_t
- asm volatile ("\n"
- " sub $2, %%rcx\n"
- "1:\n"
-- " movw (%1,%%rcx,4), %%ax\n"
-- " movw %%ax, (%0,%%rcx,2)\n"
-- " movw 2(%1,%%rcx,4), %%ax\n"
-- " movw %%ax, (%2,%%rcx,2)\n"
-- " movw 4(%1,%%rcx,4), %%ax\n"
-- " movw %%ax, 2(%0,%%rcx,2)\n"
-- " movw 6(%1,%%rcx,4), %%ax\n"
-- " movw %%ax, 2(%2,%%rcx,2)\n"
-+ " movw (%q1,%%rcx,4), %%ax\n"
-+ " movw %%ax, (%q0,%%rcx,2)\n"
-+ " movw 2(%q1,%%rcx,4), %%ax\n"
-+ " movw %%ax, (%q2,%%rcx,2)\n"
-+ " movw 4(%q1,%%rcx,4), %%ax\n"
-+ " movw %%ax, 2(%q0,%%rcx,2)\n"
-+ " movw 6(%q1,%%rcx,4), %%ax\n"
-+ " movw %%ax, 2(%q2,%%rcx,2)\n"
- " sub $2, %%rcx\n"
- " jge 1b\n"
- : "+r" (d1), "+r" (s_2xn), "+r" (d2), "+c" (n)
-@@ -53,20 +53,20 @@ deinterleave2_mmx (int16_t *d1, int16_t
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " movq (%1,%%rcx,4), %%mm0\n"
-- " movq 8(%1,%%rcx,4), %%mm1\n"
-+ " movq (%q1,%%rcx,4), %%mm0\n"
-+ " movq 8(%q1,%%rcx,4), %%mm1\n"
- " pslld $16, %%mm0\n"
- " pslld $16, %%mm1\n"
- " psrad $16, %%mm0\n"
- " psrad $16, %%mm1\n"
- " packssdw %%mm1, %%mm0\n"
-- " movq %%mm0, (%0,%%rcx,2)\n"
-- " movq (%1,%%rcx,4), %%mm0\n"
-- " movq 8(%1,%%rcx,4), %%mm1\n"
-+ " movq %%mm0, (%q0,%%rcx,2)\n"
-+ " movq (%q1,%%rcx,4), %%mm0\n"
-+ " movq 8(%q1,%%rcx,4), %%mm1\n"
- " psrad $16, %%mm0\n"
- " psrad $16, %%mm1\n"
- " packssdw %%mm1, %%mm0\n"
-- " movq %%mm0, (%2,%%rcx,2)\n"
-+ " movq %%mm0, (%q2,%%rcx,2)\n"
- " add $4, %%rcx\n"
- " cmp %3, %%ecx\n"
- " jl 1b\n"
-@@ -93,10 +93,10 @@ deinterleave2_mmx_2 (int16_t *d1, int16_
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " pshufw $0xd8, (%1,%%rcx,4), %%mm0\n"
-- " movd %%mm0, (%0,%%rcx,2)\n"
-- " pshufw $0x8d, (%1,%%rcx,4), %%mm0\n"
-- " movd %%mm0, (%2,%%rcx,2)\n"
-+ " pshufw $0xd8, (%q1,%%rcx,4), %%mm0\n"
-+ " movd %%mm0, (%q0,%%rcx,2)\n"
-+ " pshufw $0x8d, (%q1,%%rcx,4), %%mm0\n"
-+ " movd %%mm0, (%q2,%%rcx,2)\n"
- " add $2, %%rcx\n"
- " cmp %3, %%ecx\n"
- " jl 1b\n"
-@@ -123,16 +123,16 @@ deinterleave2_mmx_3 (int16_t *d1, int16_
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " movq (%1,%%rcx,4), %%mm1\n"
-- " movq (%1,%%rcx,4), %%mm2\n"
-- " movq 8(%1,%%rcx,4), %%mm0\n"
-+ " movq (%q1,%%rcx,4), %%mm1\n"
-+ " movq (%q1,%%rcx,4), %%mm2\n"
-+ " movq 8(%q1,%%rcx,4), %%mm0\n"
- " punpcklwd %%mm0, %%mm1\n"
- " punpckhwd %%mm0, %%mm2\n"
- " movq %%mm1, %%mm0\n"
- " punpcklwd %%mm2, %%mm0\n"
- " punpckhwd %%mm2, %%mm1\n"
-- " movq %%mm0, (%0,%%rcx,2)\n"
-- " movq %%mm1, (%2,%%rcx,2)\n"
-+ " movq %%mm0, (%q0,%%rcx,2)\n"
-+ " movq %%mm1, (%q2,%%rcx,2)\n"
- " add $4, %%rcx\n"
- " cmp %3, %%ecx\n"
- " jl 1b\n"
-@@ -159,26 +159,26 @@ deinterleave2_mmx_4 (int16_t *d1, int16_
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " movq (%1,%%rcx,4), %%mm1\n"
-+ " movq (%q1,%%rcx,4), %%mm1\n"
- " movq %%mm1, %%mm2\n"
-- " movq 8(%1,%%rcx,4), %%mm0\n"
-- " movq 16(%1,%%rcx,4), %%mm5\n"
-+ " movq 8(%q1,%%rcx,4), %%mm0\n"
-+ " movq 16(%q1,%%rcx,4), %%mm5\n"
- " punpcklwd %%mm0, %%mm1\n"
- " movq %%mm5, %%mm6\n"
- " punpckhwd %%mm0, %%mm2\n"
-- " movq 24(%1,%%rcx,4), %%mm4\n"
-+ " movq 24(%q1,%%rcx,4), %%mm4\n"
- " movq %%mm1, %%mm0\n"
- " punpcklwd %%mm4, %%mm5\n"
- " punpcklwd %%mm2, %%mm0\n"
- " punpckhwd %%mm4, %%mm6\n"
- " punpckhwd %%mm2, %%mm1\n"
- " movq %%mm5, %%mm4\n"
-- " movq %%mm0, (%0,%%rcx,2)\n"
-+ " movq %%mm0, (%q0,%%rcx,2)\n"
- " punpcklwd %%mm6, %%mm4\n"
-- " movq %%mm1, (%2,%%rcx,2)\n"
-+ " movq %%mm1, (%q2,%%rcx,2)\n"
- " punpckhwd %%mm6, %%mm5\n"
-- " movq %%mm4, 8(%0,%%rcx,2)\n"
-- " movq %%mm5, 8(%2,%%rcx,2)\n"
-+ " movq %%mm4, 8(%q0,%%rcx,2)\n"
-+ " movq %%mm5, 8(%q2,%%rcx,2)\n"
- " add $8, %%rcx\n"
- " cmp %3, %%ecx\n"
- " jl 1b\n"
-@@ -252,13 +252,13 @@ interleave2_mmx (int16_t *d_2xn, int16_t
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " movq (%1,%%rcx,2), %%mm0\n"
-- " movq (%2,%%rcx,2), %%mm1\n"
-+ " movq (%q1,%%rcx,2), %%mm0\n"
-+ " movq (%q2,%%rcx,2), %%mm1\n"
- " movq %%mm0, %%mm2\n"
- " punpckhwd %%mm1, %%mm0\n"
- " punpcklwd %%mm1, %%mm2\n"
-- " movq %%mm2, (%0,%%rcx,4)\n"
-- " movq %%mm0, 8(%0,%%rcx,4)\n"
-+ " movq %%mm2, (%q0,%%rcx,4)\n"
-+ " movq %%mm0, 8(%q0,%%rcx,4)\n"
- " add $4, %%rcx\n"
- " cmp %3, %%ecx\n"
- " jl 1b\n"
-@@ -285,12 +285,12 @@ lift_add_shift1_mmx (int16_t *d, int16_t
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " movq (%2,%%rcx,2), %%mm1\n"
-- " movq (%3,%%rcx,2), %%mm2\n"
-+ " movq (%q2,%%rcx,2), %%mm1\n"
-+ " movq (%q3,%%rcx,2), %%mm2\n"
- " paddw %%mm2, %%mm1\n"
- " psraw $1, %%mm1\n"
-- " paddw (%1,%%rcx,2), %%mm1\n"
-- " movq %%mm1, (%0,%%rcx,2)\n"
-+ " paddw (%q1,%%rcx,2), %%mm1\n"
-+ " movq %%mm1, (%q0,%%rcx,2)\n"
- " add $4, %%rcx\n"
- " cmp %4, %%ecx\n"
- " jl 1b\n"
-@@ -317,13 +317,13 @@ lift_sub_shift1_mmx (int16_t *d, int16_t
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " movq (%2,%%rcx,2), %%mm1\n"
-- " movq (%3,%%rcx,2), %%mm2\n"
-- " movq (%1,%%rcx,2), %%mm0\n"
-+ " movq (%q2,%%rcx,2), %%mm1\n"
-+ " movq (%q3,%%rcx,2), %%mm2\n"
-+ " movq (%q1,%%rcx,2), %%mm0\n"
- " paddw %%mm2, %%mm1\n"
- " psraw $1, %%mm1\n"
- " psubw %%mm1, %%mm0\n"
-- " movq %%mm0, (%0,%%rcx,2)\n"
-+ " movq %%mm0, (%q0,%%rcx,2)\n"
- " add $4, %%rcx\n"
- " cmp %4, %%ecx\n"
- " jl 1b\n"
-@@ -350,12 +350,12 @@ lift_add_shift2_mmx (int16_t *d, int16_t
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " movq (%2,%%rcx,2), %%mm1\n"
-- " movq (%3,%%rcx,2), %%mm2\n"
-+ " movq (%q2,%%rcx,2), %%mm1\n"
-+ " movq (%q3,%%rcx,2), %%mm2\n"
- " paddw %%mm2, %%mm1\n"
- " psraw $2, %%mm1\n"
-- " paddw (%1,%%rcx,2), %%mm1\n"
-- " movq %%mm1, (%0,%%rcx,2)\n"
-+ " paddw (%q1,%%rcx,2), %%mm1\n"
-+ " movq %%mm1, (%q0,%%rcx,2)\n"
- " add $4, %%rcx\n"
- " cmp %4, %%ecx\n"
- " jl 1b\n"
-@@ -382,13 +382,13 @@ lift_sub_shift2_mmx (int16_t *d, int16_t
- asm volatile ("\n"
- " xor %%rcx, %%rcx\n"
- "1:\n"
-- " movq (%2,%%rcx,2), %%mm1\n"
-- " movq (%3,%%rcx,2), %%mm2\n"
-- " movq (%1,%%rcx,2), %%mm0\n"
-+ " movq (%q2,%%rcx,2), %%mm1\n"
-+ " movq (%q3,%%rcx,2), %%mm2\n"
-+ " movq (%q1,%%rcx,2), %%mm0\n"
- " paddw %%mm2, %%mm1\n"
- " psraw $2, %%mm1\n"
- " psubw %%mm1, %%mm0\n"
-- " movq %%mm0, (%0,%%rcx,2)\n"
-+ " movq %%mm0, (%q0,%%rcx,2)\n"
- " add $4, %%rcx\n"
- " cmp %4, %%ecx\n"
- " jl 1b\n"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/no-tests.patch b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/no-tests.patch
deleted file mode 100644
index 892d4413..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/no-tests.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status: Inappropriate [disable feature]
-
---- liboil-0.3.9/liboil/liboilfunction.c.old 2006-09-18 13:03:20.000000000 +0100
-+++ liboil-0.3.9/liboil/liboilfunction.c 2006-09-18 13:04:10.000000000 +0100
-@@ -345,7 +345,9 @@
- return;
- }
-
-- test = oil_test_new (klass);
-+ klass->chosen_impl = klass->reference_impl;
-+ klass->func = klass->reference_impl->func;
-+/* test = oil_test_new (klass);
- if (test == NULL) {
- OIL_ERROR ("failed to test function class %s", klass->name);
- return;
-@@ -385,7 +387,7 @@
- klass->chosen_impl = min_impl;
- klass->func = min_impl->func;
-
-- oil_test_free (test);
-+ oil_test_free (test);*/
- }
-
- static void
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb
deleted file mode 100644
index 03b77852..00000000
--- a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Library of simple functions optimized for various CPUs"
-HOMEPAGE = "http://liboil.freedesktop.org/"
-BUGTRACKER = "https://bugs.freedesktop.org/"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ad80780d9c5205d63481a0184e199a15 \
- file://liboil/liboil.h;endline=28;md5=95c794a66b88800d949fed17e437d9fb \
- file://liboil/liboilcpu.c;endline=28;md5=89da69a61d88eedcba066f42353fb75a \
- file://examples/example1.c;endline=29;md5=9d4dad9fcbbdf0441ee063f8af5170c9 \
- file://testsuite/trans.c;endline=29;md5=380ecd43121fe3dcc0d8d7e5984f283d"
-
-DEPENDS = "glib-2.0"
-PR = "r5"
-
-SRC_URI = "http://liboil.freedesktop.org/download/${BPN}-${PV}.tar.gz \
- file://no-tests.patch \
- file://fix-unaligned-whitelist.patch \
- file://0001-Fix-enable-vfp-flag.patch \
- file://liboil_fix_for_x32.patch \
- "
-
-SRC_URI[md5sum] = "47dc734f82faeb2964d97771cfd2e701"
-SRC_URI[sha256sum] = "105f02079b0b50034c759db34b473ecb5704ffa20a5486b60a8b7698128bfc69"
-
-inherit autotools pkgconfig
-
-ARM_INSTRUCTION_SET = "arm"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb b/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
index d3ab5b71..6c868185 100644
--- a/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
@@ -11,6 +11,8 @@ SRC_URI = "git://github.com/cisco/libsrtp.git;protocol=https;branch=1_6_x_thrott
file://0001-Rename-conflicting-variable-mips.patch \
"
-inherit autotools
+inherit autotools pkgconfig
+
+EXTRA_OEMAKE += "shared_library"
ALLOW_EMPTY_${PN} = "1"
diff --git a/external/meta-openembedded/meta-networking/MAINTAINERS b/external/meta-openembedded/meta-networking/MAINTAINERS
index 945ee86b..3e151b82 100644
--- a/external/meta-openembedded/meta-networking/MAINTAINERS
+++ b/external/meta-openembedded/meta-networking/MAINTAINERS
@@ -2,12 +2,12 @@ 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][thud]' in the subject.
+'[meta-networking][dunfell]' 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][thud][PATCH
+ --subject-prefix=meta-networking][dunfell][PATCH
-Thud Maintainer: Armin Kuster <akuster808@gmail.com>
+dunfell Maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/external/meta-openembedded/meta-networking/README b/external/meta-openembedded/meta-networking/README
index 7a4aca48..52e7c796 100644
--- a/external/meta-openembedded/meta-networking/README
+++ b/external/meta-openembedded/meta-networking/README
@@ -18,19 +18,19 @@ Dependencies
This layer depends on:
URI: git://github.com/openembedded/openembedded-core.git
-branch: thud
+branch: dunfell
revision: HEAD
For some recipes, the meta-oe layer is required:
URI: git://github.com/openembedded/meta-openembedded.git
subdirectory: meta-oe
-branch: thud
+branch: dunfell
revision: HEAD
URI: git://github.com/openembedded/meta-openembedded.git
subdirectory: meta-python
-branch: thud
+branch: dunfell
revision: HEAD
Maintenance
diff --git a/external/meta-openembedded/meta-networking/classes/waf-samba.bbclass b/external/meta-openembedded/meta-networking/classes/waf-samba.bbclass
index 1632c3c6..9c32952f 100644
--- a/external/meta-openembedded/meta-networking/classes/waf-samba.bbclass
+++ b/external/meta-openembedded/meta-networking/classes/waf-samba.bbclass
@@ -1,9 +1,9 @@
# 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 python3native
-DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python"
+DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python3"
CONFIGUREOPTS = " --prefix=${prefix} \
--bindir=${bindir} \
@@ -111,7 +111,7 @@ do_configure() {
do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+"
do_compile () {
- python ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
+ python3 ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
}
do_install() {
diff --git a/external/meta-openembedded/meta-networking/conf/layer.conf b/external/meta-openembedded/meta-networking/conf/layer.conf
index d36ff5bf..7bc0702b 100644
--- a/external/meta-openembedded/meta-networking/conf/layer.conf
+++ b/external/meta-openembedded/meta-networking/conf/layer.conf
@@ -17,10 +17,11 @@ LAYERDEPENDS_networking-layer = "core"
LAYERDEPENDS_networking-layer += "openembedded-layer"
LAYERDEPENDS_networking-layer += "meta-python"
-LAYERSERIES_COMPAT_networking-layer = "thud"
+LAYERSERIES_COMPAT_networking-layer = "thud warrior zeus dunfell"
LICENSE_PATH += "${LAYERDIR}/licenses"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
wireguard-tools->wireguard-module \
+ wireless-regdb->crda \
"
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
index 1023f6af..fc0400df 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
@@ -37,3 +37,4 @@ 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
+Checking for a 64-bit host to support lmdb: OK
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
index 1023f6af..fc0400df 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
@@ -37,3 +37,4 @@ 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
+Checking for a 64-bit host to support lmdb: OK
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
index a5cd9981..759afe8f 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
@@ -38,3 +38,4 @@ 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
+Checking for a 64-bit host to support lmdb: NO
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
index a5cd9981..759afe8f 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
@@ -38,3 +38,4 @@ 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
+Checking for a 64-bit host to support lmdb: NO
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
index a5cd9981..759afe8f 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
@@ -38,3 +38,4 @@ 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
+Checking for a 64-bit host to support lmdb: NO
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
index a5cd9981..759afe8f 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
@@ -38,3 +38,4 @@ 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
+Checking for a 64-bit host to support lmdb: NO
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
index 3e239e72..c989f270 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
@@ -38,3 +38,4 @@ 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
+Checking for a 64-bit host to support lmdb: NO
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
index 82e694fd..215f5748 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
@@ -37,3 +37,4 @@ 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
+Checking for a 64-bit host to support lmdb: OK
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
index 82e694fd..215f5748 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
@@ -37,3 +37,4 @@ 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
+Checking for a 64-bit host to support lmdb: OK
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
index 3e239e72..c989f270 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
@@ -38,3 +38,4 @@ 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
+Checking for a 64-bit host to support lmdb: NO
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
index 27b9378a..f1079749 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
@@ -38,3 +38,4 @@ 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
+Checking for a 64-bit host to support lmdb: NO
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
index 7fd3092c..7a443cc0 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
@@ -38,3 +38,4 @@ 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
+Checking for a 64-bit host to support lmdb: OK
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt
new file mode 100644
index 00000000..759afe8f
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt
@@ -0,0 +1,41 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: NO
+Checking for -D_FILE_OFFSET_BITS=64: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: NO
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
index 1023f6af..fc0400df 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
@@ -37,3 +37,4 @@ 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
+Checking for a 64-bit host to support lmdb: OK
diff --git a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
index 1023f6af..fc0400df 100644
--- a/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
+++ b/external/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
@@ -37,3 +37,4 @@ 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
+Checking for a 64-bit host to support lmdb: OK
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.8.2.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.8.2.bb
new file mode 100644
index 00000000..75f30306
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.8.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Active Directory enrollment"
+DESCRIPTION = "A helper library and tools for Active Directory client operations."
+
+HOMEPAGE = "http://cgit.freedesktop.org/realmd/adcli"
+SECTION = "net"
+
+SRCREV = "cc3ef52884a48863a81acbfc741735fe09cd85f7"
+
+SRC_URI = "git://gitlab.freedesktop.org/realmd/adcli;branch=master \
+ file://Fixed-build-error-on-musl.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
+
+inherit autotools xmlcatalog
+
+DEPENDS += "virtual/crypt krb5 openldap gettext libxslt xmlto libxml2-native \
+ cyrus-sasl libxslt-native xmlto-native coreutils-native\
+ "
+
+EXTRA_OECONF += "--disable-static \
+ --disable-silent-rules \
+ --disable-doc \
+ "
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/adcli/files/Fixed-build-error-on-musl.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/adcli/files/Fixed-build-error-on-musl.patch
new file mode 100644
index 00000000..87bcdfeb
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/adcli/files/Fixed-build-error-on-musl.patch
@@ -0,0 +1,26 @@
+From 0e64782a45cba9753d1210ee7d7c9dbd42f74ceb Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Fri, 12 Jul 2019 12:46:54 +0800
+Subject: [PATCH] Fixed build error on musl.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+---
+ library/adutil.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/library/adutil.c b/library/adutil.c
+index 9b0c47f..b673edd 100644
+--- a/library/adutil.c
++++ b/library/adutil.c
+@@ -30,6 +30,7 @@
+ #include <assert.h>
+ #include <ctype.h>
+ #include <errno.h>
++#include <endian.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
new file mode 100644
index 00000000..00115cfc
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
@@ -0,0 +1,81 @@
+Fix fail to enable bluetooth issue
+
+When launch blueman-manager while bluetooth is disable, it may fails
+with error:
+
+ Failed to enable bluetooth
+
+Because when get bluetooth status right after change its status, the
+status may not be updated that plugin applet/KillSwitch.py sets the
+bluetooth status via method of another dbus service which doesn't return
+immediately.
+
+Provides a new dbus method for PowerManager which checks whether dbus
+method SetBluetoothStatus() has finished. Then it makes sure to get
+right bluetooth status.
+
+Upstream-Status: Inappropriate
+Send to upstream but not accepted:
+https://github.com/blueman-project/blueman/pull/1121
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ blueman/Functions.py | 12 +++++++++++-
+ blueman/plugins/applet/PowerManager.py | 4 ++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/blueman/Functions.py b/blueman/Functions.py
+index 3b76271..c5eeb27 100644
+--- a/blueman/Functions.py
++++ b/blueman/Functions.py
+@@ -17,7 +17,7 @@
+ # You should have received a copy of the GNU General Public License
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #
+-from time import sleep
++from time import sleep, time
+ import re
+ import os
+ import signal
+@@ -86,6 +86,16 @@ def check_bluetooth_status(message, exitfunc):
+ return
+
+ applet.SetBluetoothStatus('(b)', True)
++
++ timeout = time() + 10
++ while applet.GetRequestStatus():
++ sleep(0.1)
++ if time() > timeout:
++ # timeout 5s has been set in applet/PowerManager.py
++ # so it should NOT reach timeout here
++ logging.warning('Should NOT reach timeout.')
++ break
++
+ if not applet.GetBluetoothStatus():
+ print('Failed to enable bluetooth')
+ exitfunc()
+diff --git a/blueman/plugins/applet/PowerManager.py b/blueman/plugins/applet/PowerManager.py
+index 8ec9fc4..29a0fb0 100644
+--- a/blueman/plugins/applet/PowerManager.py
++++ b/blueman/plugins/applet/PowerManager.py
+@@ -48,6 +48,7 @@ class PowerManager(AppletPlugin):
+ self._add_dbus_signal("BluetoothStatusChanged", "b")
+ self._add_dbus_method("SetBluetoothStatus", ("b",), "", self.request_power_state)
+ self._add_dbus_method("GetBluetoothStatus", (), "b", self.get_bluetooth_status)
++ self._add_dbus_method("GetRequestStatus", (), "b", self.get_request_status)
+
+ def on_unload(self):
+ self.parent.Plugins.Menu.unregister(self)
+@@ -182,6 +183,9 @@ class PowerManager(AppletPlugin):
+ def get_bluetooth_status(self):
+ return self.current_state
+
++ def get_request_status(self):
++ return self.request_in_progress
++
+ def on_adapter_property_changed(self, _path, key, value):
+ if key == "Powered":
+ if value and not self.current_state:
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb
new file mode 100644
index 00000000..0ea7f6de
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb
@@ -0,0 +1,60 @@
+DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native"
+
+inherit autotools systemd gsettings python3native gtk-icon-cache
+
+SRC_URI = " \
+ https://github.com/blueman-project/blueman/releases/download/${PV}/blueman-${PV}.tar.xz \
+ file://0001-Search-for-cython3.patch \
+ file://0002-fix-fail-to-enable-bluetooth.patch \
+"
+SRC_URI[md5sum] = "9de89abb31be45bdbf11f7884764a2dc"
+SRC_URI[sha256sum] = "f1eab2334e5a1587defa80900901048d14c2e8ffa8c0cff7240bc9937a61dbc3"
+
+EXTRA_OECONF = " \
+ --disable-appindicator \
+ --disable-runtime-deps-check \
+ --disable-schemas-compile \
+"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}-mechanism.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+RRECOMENDS_${PN} += "adwaita-icon-theme"
+RDEPENDS_${PN} += " \
+ python3-core \
+ python3-dbus \
+ packagegroup-tools-bluetooth \
+"
+
+PACKAGECONFIG ??= "thunar"
+PACKAGECONFIG[thunar] = "--enable-thunar-sendto,--disable-thunar-sendto"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/Thunar \
+ ${systemd_user_unitdir} \
+ ${exec_prefix}${systemd_system_unitdir} \
+ ${PYTHON_SITEPACKAGES_DIR} \
+"
+
+FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/_blueman.a"
+
+# In code, path to python is a variable that is replaced with path to native version of it
+# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3.
+# Replace it with #!/usr/bin/env python3
+do_install_append() {
+ sed -i "1s/.*/#!\/usr\/bin\/env python3/" ${D}${prefix}/libexec/blueman-rfcomm-watcher \
+ ${D}${prefix}/libexec/blueman-mechanism \
+ ${D}${bindir}/blueman-tray \
+ ${D}${bindir}/blueman-services \
+ ${D}${bindir}/blueman-sendto \
+ ${D}${bindir}/blueman-report \
+ ${D}${bindir}/blueman-manager \
+ ${D}${bindir}/blueman-assistant \
+ ${D}${bindir}/blueman-applet \
+ ${D}${bindir}/blueman-adapters
+}
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb
deleted file mode 100644
index 947db783..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native"
-
-inherit autotools systemd gsettings python3native gtk-icon-cache
-
-SRC_URI = " \
- git://github.com/blueman-project/blueman.git \
- file://0001-Search-for-cython3.patch \
-"
-SRCREV = "c4a03417e81e21543d4568e8e7f7de307582eb50"
-PV = "2.0.5+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = " \
- --disable-runtime-deps-check \
- --disable-schemas-compile \
-"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}-mechanism.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-RRECOMENDS_${PN} += "adwaita-icon-theme"
-RDEPENDS_${PN} += " \
- python3-dbus \
- packagegroup-tools-bluetooth \
-"
-
-PACKAGECONFIG[thunar] = "--enable-thunar-sendto,--disable-thunar-sendto,,thunar"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/Thunar \
- ${systemd_user_unitdir} \
- ${exec_prefix}${systemd_system_unitdir} \
- ${PYTHON_SITEPACKAGES_DIR} \
-"
-
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/_blueman.a"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch
new file mode 100644
index 00000000..b78f0b32
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch
@@ -0,0 +1,43 @@
+From c74f04dbab4d586287347b1d5517f36e2f0c3d8e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 15:52:34 -0800
+Subject: [PATCH] Use GNUInstallDirs instead of hard-coding paths
+
+Bump minimum cmake version to be >= 3.1
+
+Upstream-Status: Submitted [https://github.com/mguentner/cannelloni/pull/22]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 51b354f..958e0eb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.1)
+ project(cannelloni)
+
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
+@@ -60,6 +60,8 @@ set_target_properties ( cannelloni-common
+ SOVERSION 0
+ )
+
++include(GNUInstallDirs)
++
+ if(SCTP_SUPPORT)
+ add_library(sctpthread STATIC sctpthread.cpp)
+ target_link_libraries(sctpthread addsources sctp)
+@@ -68,5 +70,5 @@ endif(SCTP_SUPPORT)
+ set_target_properties(addsources PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ target_link_libraries(cannelloni addsources cannelloni-common pthread)
+
+-install(TARGETS cannelloni DESTINATION bin)
+-install(TARGETS cannelloni-common DESTINATION lib)
++install(TARGETS cannelloni DESTINATION ${CMAKE_INSTALL_BINDIR})
++install(TARGETS cannelloni-common DESTINATION ${CMAKE_INSTALL_LIBDIR})
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0002-include-missing-stdexcept-for-runtime_error.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0002-include-missing-stdexcept-for-runtime_error.patch
new file mode 100644
index 00000000..55f28dd6
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0002-include-missing-stdexcept-for-runtime_error.patch
@@ -0,0 +1,32 @@
+From 1788762863cd1f657697575f6e73a22e661ccb43 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Dec 2019 10:32:54 -0800
+Subject: [PATCH 2/2] include missing <stdexcept> for runtime_error
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes
+error: ‘runtime_error’ is not a member of ‘std’
+
+Upstream-Status: Submitted [https://github.com/mguentner/cannelloni/pull/22]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ parser.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/parser.cpp b/parser.cpp
+index 4afb9e0..5bcdbde 100644
+--- a/parser.cpp
++++ b/parser.cpp
+@@ -2,6 +2,7 @@
+
+ #include <arpa/inet.h>
+ #include <string.h>
++#include <stdexcept>
+
+ void parseFrames(uint16_t len, const uint8_t* buffer, std::function<canfd_frame*()> frameAllocator,
+ std::function<void(canfd_frame*, bool)> frameReceiver)
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb
new file mode 100644
index 00000000..d4a62bd9
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "a SocketCAN over Ethernet tunnel"
+HOMEPAGE = "https://github.com/mguentner/cannelloni"
+LICENSE = "GPLv2"
+
+SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=https \
+ file://0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch \
+ file://0002-include-missing-stdexcept-for-runtime_error.patch \
+ "
+SRCREV = "82aa49b417b96fe46bb3f017ae1bfea928f20f9a"
+
+PV = "20160414+${SRCPV}"
+
+LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "lksctp-tools"
+PACKAGECONFIG[lksctp-tools] = "-DSCTP_SUPPORT=true, -DSCTP_SUPPORT=false, lksctp-tools"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch
deleted file mode 100644
index 86533021..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 59f65235a7a690f50d1686e9977908c053697d8c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Aug 2018 22:59:13 -0700
-Subject: [PATCH] undefine macro before redefining
-
-Fixes
-src/main.c:89:9: error: 'printf' macro redefined [-Werror,-Wmacro-redefined]
-
-Upstream-Stats: Submitted [https://github.com/civetweb/civetweb/pull/649]
-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 bbcb0aec..01191a3c 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -86,6 +86,7 @@
-
- #include "civetweb.h"
-
-+#undef printf
- #define printf \
- DO_NOT_USE_THIS_FUNCTION__USE_fprintf /* Required for unit testing */
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
index d681f7f3..2820f9fa 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
@@ -2,13 +2,12 @@ SUMMARY = "Civetweb embedded web server"
HOMEPAGE = "https://github.com/civetweb/civetweb"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f28fdcba0dda735eed62bac6a397562"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=50bd1d7f135b50d7e218996ba28d0d88"
-SRCREV = "19f31ba8dd8443e86c7028a4b4c37f4b299aa68c"
-PV = "1.10+git${SRCPV}"
+SRCREV = "4b440a339979852d5a51fb11a822952712231c23"
+PV = "1.12+git${SRCPV}"
SRC_URI = "git://github.com/civetweb/civetweb.git \
file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \
- file://0001-undefine-macro-before-redefining.patch \
"
S = "${WORKDIR}/git"
@@ -36,7 +35,7 @@ PACKAGECONFIG[cgi] = "-DCIVETWEB_DISABLE_CGI=OFF,-DCIVETWEB_DISABLE_CGI=ON,"
PACKAGECONFIG[cpp] = "-DCIVETWEB_ENABLE_CXX=ON,-DCIVETWEB_ENABLE_CXX=OFF,"
PACKAGECONFIG[debug] = "-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=ON,-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=OFF,"
PACKAGECONFIG[ipv6] = "-DCIVETWEB_ENABLE_IPV6=ON,-DCIVETWEB_ENABLE_IPV6=OFF,"
-PACKAGECONFIG[server] = "-DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_INSTALL_EXECUTABLE=OFF,"
+PACKAGECONFIG[server] = "-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=ON -DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=OFF -DCIVETWEB_INSTALL_EXECUTABLE=OFF,"
PACKAGECONFIG[ssl] = "-DCIVETWEB_ENABLE_SSL=ON -DCIVETWEB_SSL_OPENSSL_API_1_1=OFF -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF,-DCIVETWEB_ENABLE_SSL=OFF,openssl (=1.0.2%),"
PACKAGECONFIG[websockets] = "-DCIVETWEB_ENABLE_WEBSOCKETS=ON,-DCIVETWEB_ENABLE_WEBSOCKETS=OFF,"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/crda-4.14-python-3.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/crda-4.14-python-3.patch
new file mode 100644
index 00000000..9125d0ab
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/crda-4.14-python-3.patch
@@ -0,0 +1,101 @@
+Imported from Gentoo
+https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c50acec16bc7c33d6dc122c007d713e7fbecf9c
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/utils/key2pub.py
++++ b/utils/key2pub.py
+@@ -1,22 +1,22 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ import sys
+ try:
+ from M2Crypto import RSA
+-except ImportError, e:
++except ImportError as e:
+ sys.stderr.write('ERROR: Failed to import the "M2Crypto" module: %s\n' % e.message)
+ sys.stderr.write('Please install the "M2Crypto" Python module.\n')
+ sys.stderr.write('On Debian GNU/Linux the package is called "python-m2crypto".\n')
+ sys.exit(1)
+
+ def print_ssl_64(output, name, val):
+- while val[0] == '\0':
++ while val[0:1] == b'\0':
+ val = val[1:]
+ while len(val) % 8:
+- val = '\0' + val
++ val = b'\0' + val
+ vnew = []
+ while len(val):
+- vnew.append((val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7]))
++ vnew.append((val[0:1], val[1:2], val[2:3], val[3:4], val[4:5], val[5:6], val[6:7], val[7:8]))
+ val = val[8:]
+ vnew.reverse()
+ output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew)))
+@@ -34,13 +34,13 @@ def print_ssl_64(output, name, val):
+ output.write('};\n\n')
+
+ def print_ssl_32(output, name, val):
+- while val[0] == '\0':
++ while val[0:1] == b'\0':
+ val = val[1:]
+ while len(val) % 4:
+- val = '\0' + val
++ val = b'\0' + val
+ vnew = []
+ while len(val):
+- vnew.append((val[0], val[1], val[2], val[3], ))
++ vnew.append((val[0:1], val[1:2], val[2:3], val[3:4]))
+ val = val[4:]
+ vnew.reverse()
+ output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew)))
+@@ -81,21 +81,21 @@ struct pubkey {
+
+ static struct pubkey keys[] __attribute__((unused))= {
+ ''')
+- for n in xrange(n + 1):
++ for n in range(n + 1):
+ output.write(' KEYS(e_%d, n_%d),\n' % (n, n))
+ output.write('};\n')
+ pass
+
+ def print_gcrypt(output, name, val):
+ output.write('#include <stdint.h>\n')
+- while val[0] == '\0':
++ while val[0:1] == b'\0':
+ val = val[1:]
+ output.write('static const uint8_t %s[%d] = {\n' % (name, len(val)))
+ idx = 0
+ for v in val:
+ if not idx:
+ output.write('\t')
+- output.write('0x%.2x, ' % ord(v))
++ output.write('0x%.2x, ' % (v if sys.version_info[0] >=3 else ord(v)))
+ idx += 1
+ if idx == 8:
+ idx = 0
+@@ -118,7 +118,7 @@ struct key_params {
+
+ static const struct key_params keys[] __attribute__((unused))= {
+ ''')
+- for n in xrange(n + 1):
++ for n in range(n + 1):
+ output.write(' KEYS(e_%d, n_%d),\n' % (n, n))
+ output.write('};\n')
+
+@@ -136,7 +136,7 @@ except IndexError:
+ mode = None
+
+ if not mode in modes:
+- print 'Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys()))
++ print('Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys())))
+ sys.exit(2)
+
+ output = open(outfile, 'w')
+@@ -154,3 +154,5 @@ for f in files:
+ idx += 1
+
+ modes[mode][1](output, idx - 1)
++
++output.close()
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
index d5d2ab68..b380eaf9 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
@@ -4,10 +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-typing-native python-native libnl \
- ${@oe.utils.conditional("DEFAULT_CRYPT", "gcrypt", "libgcrypt", "", d)} \
- ${@oe.utils.conditional("DEFAULT_CRYPT", "openssl", "openssl10", "", d)} \
- "
+DEPENDS = "python3-m2crypto-native libnl libgcrypt"
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
file://do-not-run-ldconfig-if-destdir-is-set.patch \
@@ -17,19 +14,16 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
file://make.patch \
file://use-target-word-size-instead-of-host-s.patch \
file://fix-issues-when-USE_OPENSSL-1.patch \
+ file://crda-4.14-python-3.patch \
"
SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
-inherit python-dir pythonnative siteinfo
-
-# "gcrypt" or "openssl"
-DEFAULT_CRYPT ??= "gcrypt"
+inherit python3-dir python3native siteinfo
# Recursive make problem
EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg' \
- UDEV_RULE_DIR=${nonarch_libdir}/udev/rules.d/"
-EXTRA_OEMAKE_append = " ${@oe.utils.conditional("DEFAULT_CRYPT", "openssl", "USE_OPENSSL=1", "", d)}"
+ UDEV_RULE_DIR=${nonarch_base_libdir}/udev/rules.d/"
TARGET_BITS = "${SITEINFO_BITS}"
export TARGET_BITS
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb
deleted file mode 100644
index 885c6c0e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SECTION = "console/network"
-SUMMARY = "dhcpcd - a DHCP client"
-DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer to work on the attached networks without trouble and mostly without configuration."
-
-HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://dhcpcd.c;endline=26;md5=77c40d671aff804ca91ea99556da8e9b"
-
-SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "2465624b62c1154f0e89dc69c42c849b"
-SRC_URI[sha256sum] = "6f9674dc7e27e936cc787175404a6171618675ecfb6903ab9887b1b66a87d69e"
-
-inherit autotools-brokensep
-
-PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-
-PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-
-EXTRA_OECONF = "--enable-ipv4"
-
-FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb
new file mode 100644
index 00000000..1cb2af50
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.1.6.bb
@@ -0,0 +1,27 @@
+SECTION = "console/network"
+SUMMARY = "dhcpcd - a DHCP client"
+DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer to work on the attached networks without trouble and mostly without configuration."
+
+HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0531457992a97ecebc6975914a874a9d"
+
+UPSTREAM_CHECK_URI = "https://roy.marples.name/downloads/dhcpcd/"
+
+SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \
+ file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch"
+
+SRC_URI[md5sum] = "e1eea03388d12c9ad21ecd7c135fdf8b"
+SRC_URI[sha256sum] = "6c2934a3e1e67a5cfd5bb15b1efa71f65c00314ac1ccb5c50da8eae3a0b8147f"
+
+inherit pkgconfig autotools-brokensep
+
+PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+
+PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+
+EXTRA_OECONF = "--enable-ipv4"
+
+FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch
new file mode 100644
index 00000000..37d23444
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch
@@ -0,0 +1,45 @@
+From aa9e3982c1e75ad49945a62f5e262279c7a905a4 Mon Sep 17 00:00:00 2001
+From: Stefano Cappa <stefano.cappa.ks89@gmail.com>
+Date: Sun, 13 Jan 2019 01:50:52 +0100
+Subject: [PATCH] remove INCLUDEDIR to prevent build issues
+
+Upstream-Status: Pending
+
+Signed-off-by: Stefano Cappa <stefano.cappa.ks89@gmail.com>
+---
+ configure | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure b/configure
+index 6c81e0db..32dea2b4 100755
+--- a/configure
++++ b/configure
+@@ -20,7 +20,6 @@ BUILD=
+ HOST=
+ HOSTCC=
+ TARGET=
+-INCLUDEDIR=
+ DEBUG=
+ FORK=
+ STATIC=
+@@ -72,7 +71,6 @@ for x do
+ --mandir) MANDIR=$var;;
+ --datadir) DATADIR=$var;;
+ --with-ccopts|CFLAGS) CFLAGS=$var;;
+- -I|--includedir) INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }-I$var";;
+ CC) CC=$var;;
+ CPPFLAGS) CPPFLAGS=$var;;
+ PKG_CONFIG) PKG_CONFIG=$var;;
+@@ -309,9 +307,6 @@ if [ -n "$CPPFLAGS" ]; then
+ echo "CPPFLAGS=" >>$CONFIG_MK
+ echo "CPPFLAGS+= $CPPFLAGS" >>$CONFIG_MK
+ fi
+-if [ -n "$INCLUDEDIR" ]; then
+- echo "CPPFLAGS+= $INCLUDEDIR" >>$CONFIG_MK
+-fi
+ if [ -n "$LDFLAGS" ]; then
+ echo "LDFLAGS=" >>$CONFIG_MK
+ echo "LDFLAGS+= $LDFLAGS" >>$CONFIG_MK
+--
+2.17.2 (Apple Git-113)
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch
new file mode 100644
index 00000000..346a56a9
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch
@@ -0,0 +1,74 @@
+From 630086cf1b3fba71822319a268d3711734cd6aa8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Jan 2019 12:56:13 -0800
+Subject: [PATCH] linux-port: Rename pthread_mutex_t variable 'lock'
+
+lock is also used by libc++ in std namespace and using it here causes
+clang to fail e.g.
+
+dibbler-client.cpp:47:25: error: reference to 'lock' is ambiguous
+ pthread_mutex_lock(&lock);
+ ^
+../../../../../../../workspace/sources/dibbler/Port-linux/dibbler-client.cpp:29:26: note: candidate found by name lookup is 'lock'
+extern ::pthread_mutex_t lock;
+ ^
+/mnt/a/yoe/build/tmp/work/aarch64-yoe-linux/dibbler/1.0.1+1.0.2RC1+gitc4b0ed52e751da7823dd9a36e91f93a6310e5525-r0/recipe-sysroot/usr/include/c++/v1/mutex:446:1: note: candidate found by name lookup is 'std::__1::lock'
+lock(_L0& __l0, _L1& __l1, _L2& __l2, _L3& ...__l3)
+
+Upstream-Status: Submitted [https://github.com/tomaszmrugalski/dibbler/pull/37]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Port-linux/dibbler-client.cpp | 6 +++---
+ Port-linux/lowlevel-linux-link-state.c | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/Port-linux/dibbler-client.cpp b/Port-linux/dibbler-client.cpp
+index 78f34241..b5ebb9f0 100644
+--- a/Port-linux/dibbler-client.cpp
++++ b/Port-linux/dibbler-client.cpp
+@@ -26,7 +26,7 @@ using namespace std;
+
+ #define IF_RECONNECTED_DETECTED -1
+
+-extern pthread_mutex_t lock;
++extern pthread_mutex_t dibbler_lock;
+
+ TDHCPClient* ptr = 0;
+
+@@ -44,8 +44,8 @@ void signal_handler(int n) {
+ #ifdef MOD_CLNT_CONFIRM
+ void signal_handler_of_linkstate_change(int n) {
+ Log(Notice) << "Network switch off event detected. initiating CONFIRM." << LogEnd;
+- pthread_mutex_lock(&lock);
+- pthread_mutex_unlock(&lock);
++ pthread_mutex_lock(&dibbler_lock);
++ pthread_mutex_unlock(&dibbler_lock);
+ }
+ #endif
+
+diff --git a/Port-linux/lowlevel-linux-link-state.c b/Port-linux/lowlevel-linux-link-state.c
+index 76293ea1..e6b94063 100644
+--- a/Port-linux/lowlevel-linux-link-state.c
++++ b/Port-linux/lowlevel-linux-link-state.c
+@@ -34,7 +34,7 @@ volatile int * notifier = 0;
+ int isDone = 0;
+ pthread_t parent_id;
+ pthread_t ntid;
+-pthread_mutex_t lock;
++pthread_mutex_t dibbler_lock;
+
+ struct state {
+ int id;
+@@ -86,9 +86,9 @@ void link_state_changed(int ifindex)
+ {
+ if (changed_links->cnt<16)
+ changed_links->ifindex[changed_links->cnt++] = ifindex;
+- pthread_mutex_lock(&lock);
++ pthread_mutex_lock(&dibbler_lock);
+ *notifier = 1; /* notify that change has occured */
+- pthread_mutex_unlock(&lock);
++ pthread_mutex_unlock(&dibbler_lock);
+ pthread_kill(parent_id,SIGUSR1);
+ } else
+ {
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
index 8890e143..90051a31 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
@@ -9,7 +9,8 @@ SRCREV = "c4b0ed52e751da7823dd9a36e91f93a6310e5525"
SRC_URI = "git://github.com/tomaszmrugalski/dibbler \
file://dibbler_fix_getSize_crash.patch \
- "
+ file://0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch \
+ "
PV = "1.0.1+1.0.2RC1+git${SRCREV}"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/firewalld.init b/external/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/firewalld.init
new file mode 100644
index 00000000..08e8930b
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/firewalld.init
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: firewalld
+# Required-Start: $syslog $local_fs messagebus
+# Required-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description:
+# Description:
+### END INIT INFO
+
+. /etc/init.d/functions
+
+firewalld=/usr/sbin/firewalld
+pidfile=/var/run/firewalld.pid
+
+case "$1" in
+ start)
+ echo -n "Starting firewalld: "
+ start-stop-daemon --start --quiet --exec $firewalld
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping firewalld: "
+ start-stop-daemon --stop --quiet --pidfile $pidfile
+ echo "."
+ ;;
+ restart)
+ echo -n "Stopping firewalld: "
+ start-stop-daemon --stop --quiet --pidfile $pidfile
+ echo "."
+ echo -n "Starting firewalld: "
+ start-stop-daemon --start --quiet --exec $firewalld
+ echo "."
+ ;;
+ reload)
+ echo -n "Reloading firewalld: "
+ firewall-cmd --reload
+ echo "."
+ ;;
+ status)
+ firewall-cmd --state
+ ;;
+ *)
+ echo "Usage: /etc/init.d/firewalld {start|stop|restart|reload|status}" >&2
+ exit 1
+esac
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.3.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.3.bb
new file mode 100644
index 00000000..4dea848f
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.3.bb
@@ -0,0 +1,89 @@
+SUMMARY = "Dynamic firewall daemon with a D-Bus interface"
+HOMEPAGE = "https://firewalld.org/"
+BUGTRACKER = "https://github.com/firewalld/firewalld/issues"
+UPSTREAM_CHECK_URI = "https://github.com/firewalld/firewalld/releases"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
+ file://firewalld.init \
+"
+SRC_URI[md5sum] = "05ec772cbdc0a2b3df081e4beca5599d"
+SRC_URI[sha256sum] = "414c46202c12334cd5c986214e5e2575d18e743c5531a97ace1c0cd94341c60d"
+
+# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
+DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native"
+
+inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd"
+
+PACKAGES += "${PN}-zsh-completion"
+
+# iptables, ip6tables, ebtables, and ipset *should* be unnecessary
+# when the nftables backend is available, because nftables supersedes all of them.
+# However we still need iptables and ip6tables to be available otherwise any
+# application relying on "direct passthrough" rules (such as docker) will break.
+# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by
+# the Red Hat-specific init script which we aren't using, so we disable that.
+EXTRA_OECONF = "\
+ --with-nft=${sbindir}/nft \
+ --without-ipset \
+ --with-iptables=${sbindir}/iptables \
+ --with-iptables-restore=${sbindir}/iptables-restore \
+ --with-ip6tables=${sbindir}/ip6tables \
+ --with-ip6tables-restore=${sbindir}/ip6tables-restore \
+ --without-ebtables \
+ --without-ebtables-restore \
+ --disable-sysconfig \
+ --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog \
+"
+
+INITSCRIPT_NAME = "firewalld"
+SYSTEMD_SERVICE_${PN} = "firewalld.service"
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ :
+ else
+ # firewalld ships an init script but it contains Red Hat-isms, replace it with our own
+ rm -rf ${D}${sysconfdir}/rc.d/
+ install -d ${D}${sysconfdir}/init.d
+ install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld
+ fi
+
+ # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE
+ # so now we need to fix up any references to point at the proper path in the image.
+ # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools.
+ if [ ${PN} != "${BPN}-native" ]; then
+ sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \
+ ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
+ fi
+ sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \
+ ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
+}
+
+FILES_${PN} += "\
+ ${PYTHON_SITEPACKAGES_DIR}/firewall \
+ ${nonarch_libdir}/firewalld \
+ ${datadir}/dbus-1 \
+ ${datadir}/polkit-1 \
+ ${datadir}/metainfo \
+"
+FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+RDEPENDS_${PN} = "\
+ nftables \
+ iptables \
+ python3-core \
+ python3-io \
+ python3-fcntl \
+ python3-shell \
+ python3-syslog \
+ python3-xml \
+ python3-dbus \
+ python3-slip-dbus \
+ python3-decorator \
+ python3-pygobject \
+"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch
deleted file mode 100644
index 9e1f5b2e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From fecf974b63f72eeb12d3b43522e948ca2bc704d4 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 11 Oct 2018 09:45:52 +0800
-Subject: [PATCH] freeradius: correct version number of libssl defect
-
-Upstream-Status: Backport [https://github.com/FreeRADIUS/freeradius-server
- /commit/ad039347beca4ded297813a1da6eabb61fcf2ddd]
-
-upstream have refactored this part code into
-src/lib/tls/base.c, and problem also have fixed
-by commit ad039347beca
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/main/tls.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/main/tls.c b/src/main/tls.c
-index acbfe79..d9c91f1 100644
---- a/src/main/tls.c
-+++ b/src/main/tls.c
-@@ -72,15 +72,15 @@ typedef struct libssl_defect {
- static libssl_defect_t libssl_defects[] =
- {
- {
-- .low = 0x01010101f, /* 1.1.0a */
-- .high = 0x01010101f, /* 1.1.0a */
-+ .low = 0x01010001f, /* 1.1.0a */
-+ .high = 0x01010001f, /* 1.1.0a */
- .id = "CVE-2016-6309",
- .name = "OCSP status request extension",
- .comment = "For more information see https://www.openssl.org/news/secadv/20160926.txt"
- },
- {
-- .low = 0x01010100f, /* 1.1.0 */
-- .high = 0x01010100f, /* 1.1.0 */
-+ .low = 0x010100000f, /* 1.1.0 */
-+ .high = 0x01010000f, /* 1.1.0 */
- .id = "CVE-2016-6304",
- .name = "OCSP status request extension",
- .comment = "For more information see https://www.openssl.org/news/secadv/20160922.txt"
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch
new file mode 100644
index 00000000..d6302316
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch
@@ -0,0 +1,58 @@
+From 733330888fff49e4d2b6c2121a6050fdd9f11a87 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 6 Feb 2020 09:32:04 +0800
+Subject: [PATCH] rlm_python3: add PY_INC_DIR in search dir
+
+The configure option --with-rlm-python3-include-dir is used to set
+PY_INC_DIR which is never used and it fails to find Python.h,
+so add it into search dir to fix it.
+
+Also remove SMART_LIBS from mod_flags because it introduces rpath
+to LDFALGS which causes a do_package_qa error:
+
+ERROR: freeradius-3.0.20-r0 do_package_qa: QA Issue: package freeradius-python contains bad RPATH
+/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/recipe-sysroot-native/usr/lib/python3.8/config in file
+/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/packages-split/freeradius-python/usr/lib/rlm_python3.so.0.0.0
+package freeradius-python contains bad RPATH
+/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/recipe-sysroot-native/usr/lib/python3.8/config in file
+/buildarea/build/tmp/work/core2-64-poky-linux/freeradius/3.0.20-r0/packages-split/freeradius-python/usr/lib/rlm_python3.so.0.0.0 [rpaths]
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/modules/rlm_python3/configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/rlm_python3/configure.ac b/src/modules/rlm_python3/configure.ac
+index a00320f..adbdf19 100644
+--- a/src/modules/rlm_python3/configure.ac
++++ b/src/modules/rlm_python3/configure.ac
+@@ -95,7 +95,7 @@ if test x$with_[]modname != xno; then
+
+ old_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $PY_CFLAGS"
+- smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION"
++ smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION $PY_INC_DIR"
+ FR_SMART_CHECK_INCLUDE(Python.h)
+ CFLAGS=$old_CFLAGS
+
+@@ -114,13 +114,13 @@ if test x$with_[]modname != xno; then
+
+ eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
+ if test "x$t" = "xyes"; then
+- mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm"
++ mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS -lm"
+ targetname=modname
+ else
+ FR_SMART_CHECK_LIB(python${PY_SYS_VERSION}m, Py_Initialize)
+ eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
+ if test "x$t" = "xyes"; then
+- mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS $SMART_LIBS -lm"
++ mod_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS -lm"
+ targetname=modname
+ else
+ targetname=
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch
index 71b78090..47193587 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch
@@ -1,20 +1,21 @@
-From 74eed61dec8702c89f3e121d577ea9db25c961a4 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 11 Jan 2016 02:52:16 -0500
-Subject: [PATCH] configure.ac: add option for libcap
+From 98a9eff357959d1113e33a615c2178751d5b2054 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 22 Aug 2019 10:50:21 +0800
+Subject: [PATCH 2/2] configure.ac: add option for libcap
Upstream-Status: Pending
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- configure.ac | 37 ++++++++++++++++++++++++++++---------
- 1 file changed, 28 insertions(+), 9 deletions(-)
+ configure.ac | 36 +++++++++++++++++++++++++++---------
+ 1 file changed, 27 insertions(+), 9 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 066d3d7..6e4266b 100644
+index 65db61e..6486aac 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -948,6 +948,23 @@ fi
+@@ -977,6 +977,22 @@ fi
dnl Set by FR_SMART_CHECKLIB
LIBS="${old_LIBS}"
@@ -34,11 +35,10 @@ index 066d3d7..6e4266b 100644
+ esac ]
+)
+
-+
dnl Check for cap
dnl extra argument: --with-cap-lib-dir=DIR
cap_lib_dir=
-@@ -981,15 +998,17 @@ AC_ARG_WITH(cap-include-dir,
+@@ -1010,15 +1026,17 @@ AC_ARG_WITH(cap-include-dir,
;;
esac])
@@ -64,7 +64,7 @@ index 066d3d7..6e4266b 100644
+ fi
fi
- VL_LIB_READLINE
+ dnl #
--
-1.9.1
+2.7.4
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
deleted file mode 100644
index 638d9507..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 69cb6d4bb5dd56a48695c0581a7d853e427b0ea3 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 14:54:41 +0800
-Subject: [PATCH] freeradius: Fixing issues related to m4 include path
-
-Upstream-Status: Submitted [1]
-
-[1]: https://github.com/FreeRADIUS/freeradius-server/pull/1428
-
-Submmited by: Jorge Pereira <jpereiran@gmail.com>
-
-Update to version 3.0.17
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/modules/rlm_example/config.h.in | 35 +++--------------------------------
- src/modules/rlm_pam/config.h.in | 3 +++
- src/modules/rlm_perl/config.h.in | 3 +++
- src/modules/rlm_perl/configure.ac | 2 +-
- src/modules/rlm_radutmp/config.h.in | 3 +++
- src/modules/rlm_ruby/configure.ac | 8 ++++----
- src/modules/rlm_smsotp/config.h.in | 3 +++
- src/modules/rlm_unix/config.h.in | 3 +++
- 8 files changed, 23 insertions(+), 37 deletions(-)
-
-diff --git a/src/modules/rlm_example/config.h.in b/src/modules/rlm_example/config.h.in
-index 2a81ef5..4dbb8f4 100644
---- a/src/modules/rlm_example/config.h.in
-+++ b/src/modules/rlm_example/config.h.in
-@@ -1,37 +1,5 @@
- /* config.h.in. Generated from configure.ac by autoheader. */
-
--/* Define to 1 if you have the <inttypes.h> header file. */
--#undef HAVE_INTTYPES_H
--
--/* Define to 1 if you have the <memory.h> header file. */
--#undef HAVE_MEMORY_H
--
--/* Define to 1 if you have the `printf' function. */
--#undef HAVE_PRINTF
--
--/* Define to 1 if you have the <stdint.h> header file. */
--#undef HAVE_STDINT_H
--
--/* Define to 1 if you have the <stdio.h> header file. */
--#undef HAVE_STDIO_H
--
--/* Define to 1 if you have the <stdlib.h> header file. */
--#undef HAVE_STDLIB_H
--
--/* Define to 1 if you have the <strings.h> header file. */
--#undef HAVE_STRINGS_H
--
--/* Define to 1 if you have the <string.h> header file. */
--#undef HAVE_STRING_H
--
--/* Define to 1 if you have the <sys/stat.h> header file. */
--#undef HAVE_SYS_STAT_H
--
--/* Define to 1 if you have the <sys/types.h> header file. */
--#undef HAVE_SYS_TYPES_H
--
--/* Define to 1 if you have the <unistd.h> header file. */
--#undef HAVE_UNISTD_H
-
- /* Define to the address where bug reports for this package should be sent. */
- #undef PACKAGE_BUGREPORT
-@@ -45,6 +13,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
-diff --git a/src/modules/rlm_pam/config.h.in b/src/modules/rlm_pam/config.h.in
-index 32ef6ff..1ad20c5 100644
---- a/src/modules/rlm_pam/config.h.in
-+++ b/src/modules/rlm_pam/config.h.in
-@@ -45,6 +45,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
-diff --git a/src/modules/rlm_perl/config.h.in b/src/modules/rlm_perl/config.h.in
-index 989ed53..f80de9c 100644
---- a/src/modules/rlm_perl/config.h.in
-+++ b/src/modules/rlm_perl/config.h.in
-@@ -12,5 +12,8 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-diff --git a/src/modules/rlm_perl/configure.ac b/src/modules/rlm_perl/configure.ac
-index 4b3ff42..69c79cb 100644
---- a/src/modules/rlm_perl/configure.ac
-+++ b/src/modules/rlm_perl/configure.ac
-@@ -3,7 +3,7 @@ AC_INIT(rlm_perl.c)
- AC_REVISION($Revision$)
- AC_DEFUN(modname,[rlm_perl])
-
--m4_include([ax_with_prog.m4])
-+m4_include([m4/ax_with_prog.m4])
-
- if test x$with_[]modname != xno; then
- AC_PROG_CC
-diff --git a/src/modules/rlm_radutmp/config.h.in b/src/modules/rlm_radutmp/config.h.in
-index 9a883cc..750b434 100644
---- a/src/modules/rlm_radutmp/config.h.in
-+++ b/src/modules/rlm_radutmp/config.h.in
-@@ -42,6 +42,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
-diff --git a/src/modules/rlm_ruby/configure.ac b/src/modules/rlm_ruby/configure.ac
-index 9306382..ae86a14 100644
---- a/src/modules/rlm_ruby/configure.ac
-+++ b/src/modules/rlm_ruby/configure.ac
-@@ -3,15 +3,15 @@ AC_INIT(rlm_ruby.c)
- AC_REVISION($Revision: 1.9 $)
- AC_DEFUN(modname,[rlm_ruby])
-
--m4_include([ax_with_prog.m4])
-+m4_include([m4/ax_with_prog.m4])
-
- AC_DEFUN([AX_WITH_RUBY],[
- AX_WITH_PROG([RUBY],[ruby],[not-found],[${PATH}:/usr/bin:/usr/local/bin])
- ])
-
--m4_include([ax_compare_version.m4])
--m4_include([ax_prog_ruby_version.m4])
--m4_include([ax_ruby_devel.m4])
-+m4_include([m4/ax_compare_version.m4])
-+m4_include([m4/ax_prog_ruby_version.m4])
-+m4_include([m4/ax_ruby_devel.m4])
-
- targetname=modname
- mod_cflags=
-diff --git a/src/modules/rlm_smsotp/config.h.in b/src/modules/rlm_smsotp/config.h.in
-index 5feaf91..9e69f85 100644
---- a/src/modules/rlm_smsotp/config.h.in
-+++ b/src/modules/rlm_smsotp/config.h.in
-@@ -42,6 +42,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
-diff --git a/src/modules/rlm_unix/config.h.in b/src/modules/rlm_unix/config.h.in
-index dcb9aa2..16107b8 100644
---- a/src/modules/rlm_unix/config.h.in
-+++ b/src/modules/rlm_unix/config.h.in
-@@ -54,6 +54,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch
index 4eb61ff2..4265f9d0 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch
@@ -1,7 +1,7 @@
-From 56ef434e454bcc82c162a83d9bcb076d4fc72b7f Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 9 Jan 2014 14:30:26 +0800
-Subject: [PATCH] Fix libtool detection
+From bfe4d7ed72edc9d4ae1a0f0d2dd84367d6214886 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 22 Aug 2019 10:45:46 +0800
+Subject: [PATCH 1/2] Fix libtool detection
Upstream-Status: pending
@@ -16,18 +16,19 @@ Also patch autogen.sh so it uses autoreconf, which handles libtoolize better.
Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
autogen.sh | 5 +----
configure.ac | 36 ++++++++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/autogen.sh b/autogen.sh
-index 3418673..e42c3d5 100755
+index a1d08a6..959182b 100755
--- a/autogen.sh
+++ b/autogen.sh
-@@ -5,10 +5,7 @@ parentdir=`dirname $0`
- cd $parentdir
+@@ -6,10 +6,7 @@ cd $parentdir
parentdir=`pwd`
+ m4include="-I$parentdir -I$parentdir/m4 -Im4"
-libtoolize -f -c
-#aclocal
@@ -38,10 +39,10 @@ index 3418673..e42c3d5 100755
mysubdirs="$mysubdirs `find src/modules/ -name configure -print | sed 's%/configure%%'`"
mysubdirs=`echo $mysubdirs`
diff --git a/configure.ac b/configure.ac
-index e73e4ad..066d3d7 100644
+index a7abf00..65db61e 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -205,6 +205,42 @@ dnl # See if we have Git.
+@@ -220,6 +220,42 @@ dnl # See if we have Git.
dnl #
AC_CHECK_PROG(GIT, git, yes, no)
@@ -85,5 +86,5 @@ index e73e4ad..066d3d7 100644
dnl AC_ARG_WITH(disablemodulefoo,
dnl [ --without-rlm_foo Disables module compilation. Module list:]
--
-1.8.3
+2.7.4
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
index 899c4e49..2d766488 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
@@ -4,9 +4,8 @@ After=syslog.target network.target
[Service]
Type=forking
-PIDFile=@STATEDIR@/run/radiusd/radiusd.pid
-ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd @STATEDIR@/run/radiusd
-ExecStartPre=-@BASE_BINDIR@/sh -c "if [ ! -f @SYSCONFDIR@/raddb/certs/server.pem ]; then sudo -u radiusd @SYSCONFDIR@/raddb/certs/bootstrap; fi"
+PIDFile=/run/radiusd/radiusd.pid
+ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd /run/radiusd
ExecStartPre=@SBINDIR@/radiusd -C
ExecStart=@SBINDIR@/radiusd -d @SYSCONFDIR@/raddb
ExecReload=@SBINDIR@/radiusd -C
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
deleted file mode 100644
index c17d56de..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
+++ /dev/null
@@ -1,223 +0,0 @@
-DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
-protocol, as defined in RFC 2865 (and others). It allows Network Access \
-Servers (NAS boxes) to perform authentication for dial-up users. There are \
-also RADIUS clients available for Web servers, firewalls, Unix logins, and \
-more. Using RADIUS allows authentication and authorization for a network to \
-be centralized, and minimizes the amount of re-configuration which has to be \
-done when adding or deleting new users."
-
-SUMMARY = "High-performance and highly configurable RADIUS server"
-HOMEPAGE = "http://www.freeradius.org/"
-SECTION = "System/Servers"
-LICENSE = "GPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
-DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
-
-SRC_URI = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${PV}.tar.bz2 \
- file://freeradius \
- file://volatiles.58_radiusd \
- file://freeradius-enble-user-in-conf.patch \
- file://freeradius-configure.ac-allow-cross-compilation.patch \
- file://freeradius-fix-issues-related-to-m4-include-path.patch \
- file://freeradius-libtool-detection.patch \
- file://freeradius-configure.ac-add-option-for-libcap.patch \
- file://freeradius-avoid-searching-host-dirs.patch \
- file://freeradius-rlm_python-add-PY_INC_DIR.patch \
- file://freeradius-libtool-do-not-use-jlibtool.patch \
- file://freeradius-fix-quoting-for-BUILT_WITH.patch \
- file://freeradius-fix-error-for-expansion-of-macro.patch \
- file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
- file://radiusd.service \
- file://radiusd-volatiles.conf \
- file://0001-freeradius-correct-version-number-of-libssl-defect.patch \
-"
-SRC_URI[md5sum] = "1f4ad38f32101a7d50d818afa6f17339"
-SRC_URI[sha256sum] = "3f03404b6e4a4f410e1f15ea2ababfec7f8a7ae8a49836d8a0c137436d913b96"
-
-PARALLEL_MAKE = ""
-
-S = "${WORKDIR}/freeradius-server-${PV}"
-
-EXTRA_OECONF = " --enable-strict-dependencies \
- --with-docdir=${docdir}/freeradius-${PV} \
- --with-openssl-includes=${STAGING_INCDIR} \
- --with-openssl-libraries=${STAGING_LIBDIR} \
- --without-rlm_ippool \
- --without-rlm_cache_memcached \
- --without-rlm_counter \
- --without-rlm_couchbase \
- --without-rlm_dbm \
- --without-rlm_eap_tnc \
- --without-rlm_eap_ikev2 \
- --without-rlm_opendirectory \
- --without-rlm_redis \
- --without-rlm_rediswho \
- --without-rlm_sql_db2 \
- --without-rlm_sql_firebird \
- --without-rlm_sql_freetds \
- --without-rlm_sql_iodbc \
- --without-rlm_sql_oracle \
- --without-rlm_sql_sybase \
- --without-rlm_sqlhpwippool \
- ac_cv_path_PERL=${bindir}/perl \
- ax_cv_cc_builtin_choose_expr=no \
- ax_cv_cc_builtin_types_compatible_p=no \
- ax_cv_cc_builtin_bswap64=no \
- ax_cv_cc_bounded_attribute=no \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- pcre libcap \
-"
-
-PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
-PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
-PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
-PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
-PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
-PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
-PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python"
-PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
-PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
-
-inherit useradd autotools-brokensep update-rc.d systemd
-
-# This is not a cpan or python based package, but it needs some definitions
-# from cpan-base and python-dir bbclasses for building rlm_perl and rlm_python
-# correctly.
-inherit cpan-base python-dir
-
-# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
-# in order to handle the subdirs correctly.
-do_configure () {
- ./autogen.sh
-
- # the configure of rlm_perl needs this to get correct
- # mod_cflags and mod_ldflags
- if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
- export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
- fi
-
- oe_runconf
-
- # we don't need dhcpclient
- sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
-}
-
-INITSCRIPT_NAME = "radiusd"
-
-SYSTEMD_SERVICE_${PN} = "radiusd.service"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
-
-do_install() {
- rm -rf ${D}
- mkdir -p ${D}/${sysconfdir}/logrotate.d
- mkdir -p ${D}/${sysconfdir}/pam.d
- mkdir -p ${D}/${sysconfdir}/init.d
- mkdir -p ${D}/${localstatedir}/lib/radiusd
- mkdir -p ${D}${sysconfdir}/default/volatiles
-
- export LD_LIBRARY_PATH=${D}/${libdir}
- oe_runmake install R=${D} INSTALLSTRIP=""
-
- # remove unsupported config files
- rm -f ${D}/${sysconfdir}/raddb/experimental.conf
-
- # remove scripts that required Perl(DBI)
- rm -rf ${D}/${bindir}/radsqlrelay
-
- cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
- rm -f ${D}/${sbindir}/rc.radiusd
- chmod +x ${D}/${sysconfdir}/init.d/radiusd
- rm -rf ${D}/${localstatedir}/run/
- install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd
-
- chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
- chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
-
- # For systemd
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@STATEDIR@,${localstatedir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_unitdir}/system/radiusd.service
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d/
- install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/
- fi
-}
-
-# This is only needed when we install/update on a running target.
-#
-pkg_postinst_${PN} () {
- if [ -z "$D" ]; then
- if command -v systemd-tmpfiles >/dev/null; then
- # create /var/log/radius, /var/run/radiusd
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd-volatiles.conf
- elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
- fi
-
- # Fix ownership for /etc/raddb/*, /var/lib/radiusd
- chown -R radiusd:radiusd ${sysconfdir}/raddb
- chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
- fi
-}
-
-# We really need the symlink :(
-INSANE_SKIP_${PN} = "dev-so"
-INSANE_SKIP_${PN}-krb5 = "dev-so"
-INSANE_SKIP_${PN}-ldap = "dev-so"
-INSANE_SKIP_${PN}-mysql = "dev-so"
-INSANE_SKIP_${PN}-perl = "dev-so"
-INSANE_SKIP_${PN}-postgresql = "dev-so"
-INSANE_SKIP_${PN}-python = "dev-so"
-INSANE_SKIP_${PN}-unixodbc = "dev-so"
-
-PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
- ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
-
-FILES_${PN}-utils = "${bindir}/*"
-
-FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
- ${sysconfdir}/raddb/mods-available/ldap \
-"
-
-FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
- ${sysconfdir}/raddb/mods-available/krb5 \
-"
-
-FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
- ${sysconfdir}/raddb/mods-config/perl \
- ${sysconfdir}/raddb/mods-available/perl \
-"
-
-FILES_${PN}-python = "${libdir}/rlm_python.so* \
- ${sysconfdir}/raddb/mods-config/python \
- ${sysconfdir}/raddb/mods-available/python \
-"
-
-FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
- ${sysconfdir}/raddb/mods-config/sql/*/mysql \
- ${sysconfdir}/raddb/mods-available/sql \
-"
-
-FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
- ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
-"
-
-FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
-
-FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
-
-RDEPENDS_${PN} += "perl"
-RDEPENDS_${PN}-utils = "${PN}"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb
new file mode 100644
index 00000000..005ca47d
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.20.bb
@@ -0,0 +1,237 @@
+DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
+protocol, as defined in RFC 2865 (and others). It allows Network Access \
+Servers (NAS boxes) to perform authentication for dial-up users. There are \
+also RADIUS clients available for Web servers, firewalls, Unix logins, and \
+more. Using RADIUS allows authentication and authorization for a network to \
+be centralized, and minimizes the amount of re-configuration which has to be \
+done when adding or deleting new users."
+
+SUMMARY = "High-performance and highly configurable RADIUS server"
+HOMEPAGE = "http://www.freeradius.org/"
+SECTION = "System/Servers"
+LICENSE = "GPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
+DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
+
+SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.0.x;lfs=0; \
+ file://freeradius \
+ file://volatiles.58_radiusd \
+ file://freeradius-enble-user-in-conf.patch \
+ file://freeradius-configure.ac-allow-cross-compilation.patch \
+ file://freeradius-libtool-detection.patch \
+ file://freeradius-configure.ac-add-option-for-libcap.patch \
+ file://freeradius-avoid-searching-host-dirs.patch \
+ file://freeradius-rlm_python-add-PY_INC_DIR.patch \
+ file://freeradius-libtool-do-not-use-jlibtool.patch \
+ file://freeradius-fix-quoting-for-BUILT_WITH.patch \
+ file://freeradius-fix-error-for-expansion-of-macro.patch \
+ file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
+ file://0001-rlm_python3-add-PY_INC_DIR-in-search-dir.patch \
+ file://radiusd.service \
+ file://radiusd-volatiles.conf \
+"
+
+SRCREV = "d94c953ab9602a238433ba18533111b845fd8e9e"
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/git"
+
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_mipsarch = " -latomic"
+LDFLAGS_append_armv5 = " -latomic"
+
+EXTRA_OECONF = " --enable-strict-dependencies \
+ --with-docdir=${docdir}/freeradius-${PV} \
+ --with-openssl-includes=${STAGING_INCDIR} \
+ --with-openssl-libraries=${STAGING_LIBDIR} \
+ --without-rlm_ippool \
+ --without-rlm_cache_memcached \
+ --without-rlm_counter \
+ --without-rlm_couchbase \
+ --without-rlm_dbm \
+ --without-rlm_eap_tnc \
+ --without-rlm_eap_ikev2 \
+ --without-rlm_opendirectory \
+ --without-rlm_redis \
+ --without-rlm_rediswho \
+ --without-rlm_sql_db2 \
+ --without-rlm_sql_firebird \
+ --without-rlm_sql_freetds \
+ --without-rlm_sql_iodbc \
+ --without-rlm_sql_oracle \
+ --without-rlm_sql_sybase \
+ --without-rlm_sql_mongo \
+ --without-rlm_sqlhpwippool \
+ --without-rlm_securid \
+ --without-rlm_unbound \
+ --without-rlm_python \
+ ac_cv_path_PERL=${bindir}/perl \
+ ax_cv_cc_builtin_choose_expr=no \
+ ax_cv_cc_builtin_types_compatible_p=no \
+ ax_cv_cc_builtin_bswap64=no \
+ ax_cv_cc_bounded_attribute=no \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ pcre libcap \
+ openssl rlm-eap-fast rlm-eap-pwd \
+"
+
+PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
+PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
+PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
+PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
+PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
+PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
+PACKAGECONFIG[python3] = "--with-rlm_python3 --with-rlm-python3-bin=${STAGING_BINDIR_NATIVE}/python3-native/python3 --with-rlm-python3-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python3,python3-native python3"
+PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
+PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl"
+PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast"
+PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd"
+
+inherit useradd autotools-brokensep update-rc.d systemd
+
+# This is not a cpan or python based package, but it needs some definitions
+# from cpan-base and python3-dir bbclasses for building rlm_perl and rlm_python
+# correctly.
+inherit cpan-base python3-dir
+
+# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
+# in order to handle the subdirs correctly.
+do_configure () {
+ ./autogen.sh
+
+ # the configure of rlm_perl needs this to get correct
+ # mod_cflags and mod_ldflags
+ if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
+ export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+ fi
+
+ oe_runconf
+
+ # we don't need dhcpclient
+ sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
+}
+
+INITSCRIPT_NAME = "radiusd"
+
+SYSTEMD_SERVICE_${PN} = "radiusd.service"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
+
+do_install() {
+ rm -rf ${D}
+ mkdir -p ${D}/${sysconfdir}/logrotate.d
+ mkdir -p ${D}/${sysconfdir}/pam.d
+ mkdir -p ${D}/${sysconfdir}/init.d
+ mkdir -p ${D}/${localstatedir}/lib/radiusd
+ mkdir -p ${D}${sysconfdir}/default/volatiles
+
+ export LD_LIBRARY_PATH=${D}/${libdir}
+ oe_runmake install R=${D} INSTALLSTRIP=""
+
+ # remove unsupported config files
+ rm -f ${D}/${sysconfdir}/raddb/experimental.conf
+
+ # remove scripts that required Perl(DBI)
+ rm -rf ${D}/${bindir}/radsqlrelay
+
+ cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
+ rm -f ${D}/${sbindir}/rc.radiusd
+ chmod +x ${D}/${sysconfdir}/init.d/radiusd
+ rm -rf ${D}/${localstatedir}/run/
+ rm -rf ${D}/${localstatedir}/log/
+ install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd
+
+ chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
+ chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
+
+ # For systemd
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@STATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_unitdir}/system/radiusd.service
+
+ install -d ${D}${sysconfdir}/tmpfiles.d/
+ install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/radiusd.conf
+ fi
+}
+
+# This is only needed when we install/update on a running target.
+#
+pkg_postinst_${PN} () {
+ if [ -z "$D" ]; then
+ if command -v systemd-tmpfiles >/dev/null; then
+ # create /var/log/radius, /var/run/radiusd
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd.conf
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+
+ # Fix ownership for /etc/raddb/*, /var/lib/radiusd
+ chown -R radiusd:radiusd ${sysconfdir}/raddb
+ chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
+ fi
+}
+
+# We really need the symlink :(
+INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP_${PN}-krb5 = "dev-so"
+INSANE_SKIP_${PN}-ldap = "dev-so"
+INSANE_SKIP_${PN}-mysql = "dev-so"
+INSANE_SKIP_${PN}-perl = "dev-so"
+INSANE_SKIP_${PN}-postgresql = "dev-so"
+INSANE_SKIP_${PN}-python = "dev-so"
+INSANE_SKIP_${PN}-unixodbc = "dev-so"
+
+PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
+ ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
+
+FILES_${PN}-utils = "${bindir}/*"
+
+FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
+ ${sysconfdir}/raddb/mods-available/ldap \
+"
+
+FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
+ ${sysconfdir}/raddb/mods-available/krb5 \
+"
+
+FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
+ ${sysconfdir}/raddb/mods-config/perl \
+ ${sysconfdir}/raddb/mods-available/perl \
+"
+
+FILES_${PN}-python = "${libdir}/rlm_python3.so* \
+ ${sysconfdir}/raddb/mods-config/python3 \
+ ${sysconfdir}/raddb/mods-available/python3 \
+"
+
+FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
+ ${sysconfdir}/raddb/mods-config/sql/*/mysql \
+ ${sysconfdir}/raddb/mods-available/sql \
+"
+
+FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
+ ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
+"
+
+FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
+
+FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-utils = "${PN} perl"
+
+CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch
deleted file mode 100644
index d4764f58..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Pending
-
-Subject: rcp: fix to work with large files
-
-When we copy file by rcp command, if the file > 2GB, it will fail.
-The cause is that it used incorrect data type on file size in sink() of rcp.
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/rcp.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/rcp.c b/src/rcp.c
-index 21f55b6..bafa35f 100644
---- a/src/rcp.c
-+++ b/src/rcp.c
-@@ -876,9 +876,9 @@ sink (int argc, char *argv[])
- enum
- { YES, NO, DISPLAYED } wrerr;
- BUF *bp;
-- off_t i, j;
-+ off_t i, j, size;
- int amt, count, exists, first, mask, mode, ofd, omode;
-- int setimes, size, targisdir, wrerrno;
-+ int setimes, targisdir, wrerrno;
- char ch, *cp, *np, *targ, *vect[1], buf[BUFSIZ];
- const char *why;
-
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
deleted file mode 100644
index 24c134fc..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Upstream: http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html
-
-Upstream-Status: Pending
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- ping/ping_common.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/ping/ping_common.h b/ping/ping_common.h
-index 1dfd1b5..3bfbd12 100644
---- a/ping/ping_common.h
-+++ b/ping/ping_common.h
-@@ -17,10 +17,14 @@
- You should have received a copy of the GNU General Public License
- along with this program. If not, see `http://www.gnu.org/licenses/'. */
-
-+#include <config.h>
-+
- #include <netinet/in_systm.h>
- #include <netinet/in.h>
- #include <netinet/ip.h>
-+#ifdef HAVE_IPV6
- #include <netinet/icmp6.h>
-+#endif
- #include <icmp.h>
- #include <error.h>
- #include <progname.h>
-@@ -62,7 +66,12 @@ struct ping_stat
- want to follow the traditional behaviour of ping. */
- #define DEFAULT_PING_COUNT 0
-
-+#ifdef HAVE_IPV6
- #define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) : ICMP_MINLEN)
-+#else
-+#define PING_HEADER_LEN (ICMP_MINLEN)
-+#endif
-+
- #define PING_TIMING(s) ((s) >= sizeof (struct timeval))
- #define PING_DATALEN (64 - PING_HEADER_LEN) /* default data length */
-
-@@ -74,13 +83,20 @@ struct ping_stat
- (t).tv_usec = ((i)%PING_PRECISION)*(1000000/PING_PRECISION) ;\
- } while (0)
-
-+#ifdef HAVE_IPV6
- /* FIXME: Adjust IPv6 case for options and their consumption. */
- #define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
- (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN))
-
-+#else
-+#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)
-+#endif
-+
-+#ifdef HAVE_IPV6
- typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest,
- struct sockaddr_in6 * from, struct icmp6_hdr * icmp,
- int datalen);
-+#endif
-
- typedef int (*ping_efp) (int code,
- void *closure,
-@@ -89,13 +105,17 @@ typedef int (*ping_efp) (int code,
- struct ip * ip, icmphdr_t * icmp, int datalen);
-
- union event {
-+#ifdef HAVE_IPV6
- ping_efp6 handler6;
-+#endif
- ping_efp handler;
- };
-
- union ping_address {
- struct sockaddr_in ping_sockaddr;
-+#ifdef HAVE_IPV6
- struct sockaddr_in6 ping_sockaddr6;
-+#endif
- };
-
- typedef struct ping_data PING;
---
-2.8.3
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
deleted file mode 100644
index 3da4e9f5..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 552a7d64ad4a7188a9b7cd89933ae7caf7ebfe90 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier at gentoo.org>
-Date: Thu, 18 Nov 2010 16:59:14 -0500
-Subject: [PATCH gnulib] printf-parse: pull in features.h for __GLIBC__
-
-Upstream-Status: Pending
-
-Signed-off-by: Mike Frysinger <vapier at gentoo.org>
----
- lib/printf-parse.h | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/lib/printf-parse.h b/lib/printf-parse.h
-index 67a4a2a..3bd6152 100644
---- a/lib/printf-parse.h
-+++ b/lib/printf-parse.h
-@@ -25,6 +25,9 @@
-
- #include "printf-args.h"
-
-+#ifdef HAVE_FEATURES_H
-+# include <features.h> /* for __GLIBC__ */
-+#endif
-
- /* Flags */
- #define FLAG_GROUP 1 /* ' flag */
---
-1.7.3.2
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
deleted file mode 100644
index b13bb922..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Pending
-
---- inetutils-1.8/lib/wchar.in.h
-+++ inetutils-1.8/lib/wchar.in.h
-@@ -70,6 +70,9 @@
- /* The include_next requires a split double-inclusion guard. */
- #if @HAVE_WCHAR_H@
- # @INCLUDE_NEXT@ @NEXT_WCHAR_H@
-+#else
-+# include <stddef.h>
-+# define MB_CUR_MAX 1
- #endif
-
- #undef _GL_ALREADY_INCLUDING_WCHAR_H
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
deleted file mode 100644
index 2592989a..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-inetutils: define PATH_PROCNET_DEV if not already defined
-
-this prevents the following compilation error :
-system/linux.c:401:15: error: 'PATH_PROCNET_DEV' undeclared (first use in this function)
-
-this patch comes from :
- http://repository.timesys.com/buildsources/i/inetutils/inetutils-1.9/
-
-Upstream-Status: Inappropriate [not author]
-
-Signed-of-by: Eric Bénard <eric@eukrea.com>
----
-diff -Naur inetutils-1.9.orig/ifconfig/system/linux.c inetutils-1.9/ifconfig/system/linux.c
---- inetutils-1.9.orig/ifconfig/system/linux.c 2012-01-04 16:31:36.000000000 -0500
-+++ inetutils-1.9/ifconfig/system/linux.c 2012-01-04 16:40:53.000000000 -0500
-@@ -49,6 +49,10 @@
- #include "../ifconfig.h"
-
-
-+#ifndef PATH_PROCNET_DEV
-+ #define PATH_PROCNET_DEV "/proc/net/dev"
-+#endif
-+
- /* ARPHRD stuff. */
-
- static void
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
deleted file mode 100644
index ff3abd86..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Only check security/pam_appl.h which is provided by package libpam when pam is
-enabled.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/configure.ac b/configure.ac
-index b35e672..e78a751 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -195,6 +195,19 @@ fi
-
- # See if we have libpam.a. Investigate PAM versus Linux-PAM.
- if test "$with_pam" = yes ; then
-+ AC_CHECK_HEADERS([security/pam_appl.h], [], [], [
-+#include <sys/types.h>
-+#ifdef HAVE_NETINET_IN_SYSTM_H
-+# include <netinet/in_systm.h>
-+#endif
-+#include <netinet/in.h>
-+#ifdef HAVE_NETINET_IP_H
-+# include <netinet/ip.h>
-+#endif
-+#ifdef HAVE_SYS_PARAM_H
-+# include <sys/param.h>
-+#endif
-+])
- AC_CHECK_LIB(dl, dlopen, LIBDL=-ldl)
- AC_CHECK_LIB(pam, pam_authenticate, LIBPAM=-lpam)
- if test "$ac_cv_lib_pam_pam_authenticate" = yes ; then
-@@ -587,7 +600,7 @@ AC_HEADER_DIRENT
- AC_CHECK_HEADERS([arpa/nameser.h errno.h fcntl.h features.h \
- glob.h memory.h netinet/ether.h netinet/in_systm.h \
- netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h \
-- security/pam_appl.h shadow.h \
-+ shadow.h \
- stdarg.h stdlib.h string.h stropts.h sys/tty.h \
- sys/utsname.h sys/ptyvar.h sys/msgbuf.h sys/filio.h \
- sys/ioctl_compat.h sys/cdefs.h sys/stream.h sys/mkdev.h \
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
deleted file mode 100644
index 30e81ef4..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
+++ /dev/null
@@ -1,20 +0,0 @@
-# default: off
-# description:
-# Rexecd is the server for the rexec program. The server provides remote
-# execution facilities with authentication based on user names and
-# passwords.
-#
-service exec
-{
- socket_type = stream
- protocol = tcp
- flags = NAMEINARGS
- wait = no
- user = root
- group = root
- log_on_success += USERID
- log_on_failure += USERID
- server = @SBINDIR@/tcpd
- server_args = @SBINDIR@/in.rexecd
- disable = yes
-}
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
deleted file mode 100644
index 21b55da9..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
+++ /dev/null
@@ -1,23 +0,0 @@
-# default: off
-# description:
-# Rlogind is a server for the rlogin program. The server provides remote
-# execution with authentication based on privileged port numbers from trusted
-# host
-#
-service login
-{
- socket_type = stream
- protocol = tcp
- flags = NAMEINARGS
- wait = no
- user = root
- group = root
- log_on_success += USERID
- log_on_failure += USERID
- server = @SBINDIR@/tcpd
- server_args = @SBINDIR@/in.rlogind -a
- disable = yes
-}
-
-
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
deleted file mode 100644
index 2b894a74..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
+++ /dev/null
@@ -1,21 +0,0 @@
-# default: off
-# description:
-# The rshd server is a server for the rcmd(3) routine and,
-# consequently, for the rsh(1) program. The server provides
-# remote execution facilities with authentication based on
-# privileged port numbers from trusted hosts.
-#
-service shell
-{
- socket_type = stream
- protocol = tcp
- flags = NAMEINARGS
- wait = no
- user = root
- group = root
- log_on_success += USERID
- log_on_failure += USERID
- server = @SBINDIR@/tcpd
- server_args = @SBINDIR@/in.rshd -aL
- disable = yes
-}
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils
deleted file mode 100644
index 2d9a0408..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils
+++ /dev/null
@@ -1,13 +0,0 @@
-# default: on
-# description: The telnet server serves telnet sessions; it uses \
-# unencrypted username/password pairs for authentication.
-service telnet
-{
- disable = no
- flags = REUSE
- socket_type = stream
- wait = no
- user = root
- server = @SBINDIR@/in.telnetd
- log_on_failure += USERID
-}
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
deleted file mode 100644
index 67b44c43..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
+++ /dev/null
@@ -1,19 +0,0 @@
-# default: off
-# description:
-# Tftpd is a server which supports the Internet Trivial File Transfer
-# Pro-tocol (RFC 783). The TFTP server operates at the port indicated
-# in the tftp service description; see services(5).
-#
-service tftp
-{
- disable = yes
- socket_type = dgram
- protocol = udp
- flags = IPv6
- wait = yes
- user = root
- group = root
- server = @SBINDIR@/in.tftpd
- server_args = /tftpboot
-}
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch
deleted file mode 100644
index 532a0e5c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-remove m4_esyscmd function
-
-Signed-off-by: Chunrong Guo <b40290@freescale.com>
---- inetutils-1.9.1/configure.ac 2012-01-06 22:05:05.000000000 +0800
-+++ inetutils-1.9.1/configure.ac 2012-11-12 14:01:11.732957019 +0800
-@@ -20,8 +20,7 @@
-
- AC_PREREQ(2.59)
-
--AC_INIT([GNU inetutils],
-- m4_esyscmd([build-aux/git-version-gen .tarball-version 's/inetutils-/v/;s/_/./g']),
-+AC_INIT([GNU inetutils],[1.9.4],
- [bug-inetutils@gnu.org])
-
- AC_CONFIG_SRCDIR([src/inetd.c])
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
deleted file mode 100644
index a27dbae2..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
+++ /dev/null
@@ -1,206 +0,0 @@
-DESCRIPTION = "The GNU inetutils are a collection of common \
-networking utilities and servers including ftp, ftpd, rcp, \
-rexec, rlogin, rlogind, rsh, rshd, syslog, syslogd, talk, \
-talkd, telnet, telnetd, tftp, tftpd, and uucpd."
-HOMEPAGE = "http://www.gnu.org/software/inetutils"
-SECTION = "net"
-DEPENDS = "ncurses netbase readline virtual/crypt"
-
-LICENSE = "GPLv3"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
-
-SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
- file://version.patch \
- file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \
- file://inetutils-1.8-0003-wchar.patch \
- file://rexec.xinetd.inetutils \
- file://rlogin.xinetd.inetutils \
- file://rsh.xinetd.inetutils \
- file://telnet.xinetd.inetutils \
- file://tftpd.xinetd.inetutils \
- file://inetutils-1.9-PATH_PROCNET_DEV.patch \
- file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \
- file://0001-rcp-fix-to-work-with-large-files.patch \
-"
-
-SRC_URI[md5sum] = "04852c26c47cc8c6b825f2b74f191f52"
-SRC_URI[sha256sum] = "be8f75eff936b8e41b112462db51adf689715658a1b09e0d6b05d11ec92cc616"
-
-inherit autotools gettext update-alternatives texinfo
-
-acpaths = "-I ./m4"
-
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}"
-
-PACKAGECONFIG ??= "ftp uucpd \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \
- "
-PACKAGECONFIG[ftp] = "--enable-ftp,--disable-ftp,readline"
-PACKAGECONFIG[uucpd] = "--enable-uucpd,--disable-uucpd,readline"
-PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6 gl_cv_socket_ipv6=no,"
-PACKAGECONFIG[ping6] = "--enable-ping6,--disable-ping6,"
-
-EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
- inetutils_cv_path_login=${base_bindir}/login \
- --with-libreadline-prefix=${STAGING_LIBDIR} \
- --enable-rpath=no \
-"
-
-EXTRA_OECONF_append_libc-musl = " --disable-rsh --disable-rcp --disable-rlogin "
-
-do_configure_prepend () {
- export HELP2MAN='true'
- cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-aux/config.rpath
- rm -f ${S}/glob/configure*
-}
-
-do_install_append () {
- install -m 0755 -d ${D}${base_sbindir}
- install -m 0755 -d ${D}${sbindir}
- install -m 0755 -d ${D}${sysconfdir}/xinetd.d
- 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}${libexecdir}/tftpd ${D}${sbindir}/in.tftpd
- mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd
- mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd
- if [ -e ${D}${libexecdir}/rlogind ]; then
- mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind
- fi
- if [ -e ${D}${libexecdir}/rshd ]; then
- mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd
- fi
- if [ -e ${D}${libexecdir}/talkd ]; then
- mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd
- fi
- mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd
- mv ${D}${libexecdir}/* ${D}${bindir}/
- cp ${WORKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec
- cp ${WORKDIR}/rlogin.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rlogin
- cp ${WORKDIR}/rsh.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rsh
- cp ${WORKDIR}/telnet.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/telnet
- cp ${WORKDIR}/tftpd.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/tftpd
-
- sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/*
- if [ -e ${D}${libdir}/charset.alias ]; then
- rm -rf ${D}${libdir}/charset.alias
- fi
- rm -rf ${D}${libexecdir}/
- # remove usr/lib if empty
- rmdir ${D}${libdir} || true
-}
-
-PACKAGES =+ "${PN}-ping ${PN}-ping6 ${PN}-hostname ${PN}-ifconfig \
-${PN}-tftp ${PN}-logger ${PN}-traceroute ${PN}-syslogd \
-${PN}-ftp ${PN}-ftpd ${PN}-tftpd ${PN}-telnet ${PN}-telnetd ${PN}-inetd \
-${PN}-rsh ${PN}-rshd"
-
-# The packages tftpd, telnetd and rshd conflict with the ones
-# 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"
-NOAUTOPACKAGEDEBUG = "1"
-
-ALTERNATIVE_PRIORITY = "79"
-ALTERNATIVE_${PN} = "talk whois"
-ALTERNATIVE_LINK_NAME[talkd] = "${sbindir}/in.talkd"
-ALTERNATIVE_LINK_NAME[uucpd] = "${sbindir}/in.uucpd"
-
-ALTERNATIVE_PRIORITY_${PN}-logger = "60"
-ALTERNATIVE_${PN}-logger = "logger"
-ALTERNATIVE_${PN}-syslogd = "syslogd"
-ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
-
-ALTERNATIVE_${PN}-ftp = "ftp"
-ALTERNATIVE_${PN}-ftpd = "ftpd"
-ALTERNATIVE_${PN}-tftp = "tftp"
-ALTERNATIVE_${PN}-tftpd = "tftpd"
-ALTERNATIVE_LINK_NAME[tftpd] = "${sbindir}/tftpd"
-ALTERNATIVE_TARGET[tftpd] = "${sbindir}/in.tftpd"
-
-ALTERNATIVE_${PN}-telnet = "telnet"
-ALTERNATIVE_${PN}-telnetd = "telnetd"
-ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd"
-ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd"
-
-ALTERNATIVE_${PN}-rsh = "rcp rexec rlogin rsh"
-ALTERNATIVE_${PN}-rshd = "rshd rexecd rlogind"
-ALTERNATIVE_LINK_NAME[rshd] = "${sbindir}/rshd"
-ALTERNATIVE_TARGET[rshd] = "${sbindir}/in.rshd"
-ALTERNATIVE_LINK_NAME[rexecd] = "${sbindir}/rexecd"
-ALTERNATIVE_TARGET[rexecd] = "${sbindir}/in.rexecd"
-ALTERNATIVE_LINK_NAME[rlogind] = "${sbindir}/rlogind"
-ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind"
-
-ALTERNATIVE_${PN}-inetd= "inetd"
-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.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}"
-FILES_${PN}-ifconfig = "${base_sbindir}/ifconfig.${BPN}"
-FILES_${PN}-traceroute = "${bindir}/traceroute.${BPN}"
-FILES_${PN}-logger = "${bindir}/logger.${BPN}"
-
-FILES_${PN}-syslogd = "${base_sbindir}/syslogd.${BPN}"
-RCONFLICTS_${PN}-syslogd = "rsyslog busybox-syslog sysklogd syslog-ng"
-
-FILES_${PN}-ftp = "${bindir}/ftp.${BPN}"
-
-FILES_${PN}-tftp = "${bindir}/tftp.${BPN}"
-FILES_${PN}-telnet = "${bindir}/telnet.${BPN}"
-FILES_${PN}-rsh = "${bindir}/rsh.${BPN} ${bindir}/rlogin.${BPN} ${bindir}/rexec.${BPN} ${bindir}/rcp.${BPN}"
-
-FILES_${PN}-rshd = "${sbindir}/in.rshd ${sbindir}/in.rlogind ${sbindir}/in.rexecd \
- ${sysconfdir}/xinetd.d/rsh ${sysconfdir}/xinetd.d/rlogin ${sysconfdir}/xinetd.d/rexec"
-FILES_${PN}-rshd-dbg = "${sbindir}/.debug/in.rshd ${sbindir}/.debug/in.rlogind ${sbindir}/.debug/in.rexecd"
-RDEPENDS_${PN}-rshd += "xinetd tcp-wrappers"
-RCONFLICTS_${PN}-rshd += "netkit-rshd"
-RPROVIDES_${PN}-rshd = "rshd"
-
-FILES_${PN}-ftpd = "${bindir}/ftpd.${BPN}"
-FILES_${PN}-ftpd-dbg = "${bindir}/.debug/ftpd.${BPN}"
-RDEPENDS_${PN}-ftpd += "xinetd"
-
-FILES_${PN}-tftpd = "${sbindir}/in.tftpd ${sysconfdir}/xinetd.d/tftpd"
-FILES_${PN}-tftpd-dbg = "${sbindir}/.debug/in.tftpd"
-RCONFLICTS_${PN}-tftpd += "netkit-tftpd"
-RDEPENDS_${PN}-tftpd += "xinetd"
-
-FILES_${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet"
-FILES_${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd"
-RCONFLICTS_${PN}-telnetd += "netkit-telnetd"
-RPROVIDES_${PN}-telnetd = "telnetd"
-RDEPENDS_${PN}-telnetd += "xinetd"
-
-FILES_${PN}-inetd = "${bindir}/inetd.${BPN}"
-
-RDEPENDS_${PN} = "xinetd"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch
deleted file mode 100644
index fb16ecbf..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 8ea2ee451a1af7c5b5c8f4b36c1f77d44442064d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Sep 2018 13:02:35 -0700
-Subject: [PATCH] Fix error: call of overloaded distance is ambiguous
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The boost::iterators::distance function template is an adapted version
-of std::distance for the Boost iterator traversal in 2.68 it has started
-to fail with argument dependent lookup and compiler is erroring out
-
-with
-
-error: call of overloaded ‘distance'
-
-boost implementation of distance is protected against being found by ADL
-
-The way function is called in libdhcp means it will be found via ADL and
-all namespaces will be considered which is providing problematic since
-its getting it from both std:: and boost:: namespaces
-
-so let it not rely on ADL by qualifying then calls with std:: namespace
-
-Upstream-Status: Submitted [https://github.com/isc-projects/kea/pull/103]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lib/dhcp/libdhcp++.cc | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/lib/dhcp/libdhcp++.cc b/src/lib/dhcp/libdhcp++.cc
-index 330c02b..ced705d 100644
---- a/src/lib/dhcp/libdhcp++.cc
-+++ b/src/lib/dhcp/libdhcp++.cc
-@@ -419,14 +419,14 @@ size_t LibDHCP::unpackOptions6(const OptionBuffer& buf,
- // We previously did the lookup only for dhcp6 option space, but with the
- // addition of S46 options, we now do it for every space.
- range = idx.equal_range(opt_type);
-- num_defs = distance(range.first, range.second);
-+ num_defs = std::distance(range.first, range.second);
-
- // Standard option definitions do not include the definition for
- // our option or we're searching for non-standard option. Try to
- // find the definition among runtime option definitions.
- if (num_defs == 0) {
- range = runtime_idx.equal_range(opt_type);
-- num_defs = distance(range.first, range.second);
-+ num_defs = std::distance(range.first, range.second);
- }
-
- OptionPtr opt;
-@@ -538,14 +538,14 @@ size_t LibDHCP::unpackOptions4(const OptionBuffer& buf,
- // may be standard options in other spaces (e.g. radius). So we now do
- // the lookup for every space.
- range = idx.equal_range(opt_type);
-- num_defs = distance(range.first, range.second);
-+ num_defs = std::distance(range.first, range.second);
-
- // Standard option definitions do not include the definition for
- // our option or we're searching for non-standard option. Try to
- // find the definition among runtime option definitions.
- if (num_defs == 0) {
- range = runtime_idx.equal_range(opt_type);
-- num_defs = distance(range.first, range.second);
-+ num_defs = std::distance(range.first, range.second);
- }
-
- // Check if option unpacking must be deferred
-@@ -638,7 +638,7 @@ size_t LibDHCP::unpackVendorOptions6(const uint32_t vendor_id,
- idx->equal_range(opt_type);
- // Get the number of returned option definitions for the
- // option code.
-- size_t num_defs = distance(range.first, range.second);
-+ size_t num_defs = std::distance(range.first, range.second);
-
- if (num_defs > 1) {
- // Multiple options of the same code are not supported
-@@ -746,7 +746,7 @@ size_t LibDHCP::unpackVendorOptions4(const uint32_t vendor_id, const OptionBuffe
- idx->equal_range(opt_type);
- // Get the number of returned option definitions for
- // the option code.
-- size_t num_defs = distance(range.first, range.second);
-+ size_t num_defs = std::distance(range.first, range.second);
-
- if (num_defs > 1) {
- // Multiple options of the same code are not
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch
new file mode 100644
index 00000000..d7ca9ff8
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch
@@ -0,0 +1,34 @@
+From 9d6b8321c5b46199baca907f3d42bdcaaf1958a8 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 23 May 2019 23:59:42 -0700
+Subject: [PATCH] remove AC_TRY_RUN
+
+AC_TRY_RUN doesn't work in cross compile env,
+use AC_COMPILE_IFELSE instead to fix below configure
+error:
+ | checking for usuable C++11 regex... configure: error: in `/builddir/tmp/work/core2-64-poky-linux/kea/1.5.0-r0/build':
+ | configure: error: cannot run test program while cross compiling
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c880b77..dd40c7c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -580,7 +580,7 @@ AC_TRY_COMPILE([
+ AC_MSG_RESULT(no))
+
+ AC_MSG_CHECKING(for usuable C++11 regex)
+-AC_TRY_RUN([
++AC_COMPILE_IFELSE([
+ #include <regex>
+ #include <iostream>
+ int main() {
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch
deleted file mode 100644
index 381a3a7e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From cd902b8b588681a27d5321f1ee078a1c8f6e6935 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Wed, 21 Mar 2018 06:01:38 +0000
-Subject: [PATCH 3/3] Makefile.am: update hooksdir for lease_cmds
-
-update hooksdir for lease_cmds
-
-Upstream-Status: Pending
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
-
----
- src/hooks/dhcp/lease_cmds/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/hooks/dhcp/lease_cmds/Makefile.am b/src/hooks/dhcp/lease_cmds/Makefile.am
-index cfd6779..22cc4a9 100644
---- a/src/hooks/dhcp/lease_cmds/Makefile.am
-+++ b/src/hooks/dhcp/lease_cmds/Makefile.am
-@@ -37,7 +37,7 @@ liblease_cmds_la_CXXFLAGS = $(AM_CXXFLAGS)
- liblease_cmds_la_CPPFLAGS = $(AM_CPPFLAGS)
-
- # install the shared object into $(libdir)/hooks
--lib_hooksdir = $(libdir)/hooks
-+lib_hooksdir = $(libdir)/kea/hooks
- lib_hooks_LTLIBRARIES = libdhcp_lease_cmds.la
-
- libdhcp_lease_cmds_la_SOURCES =
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service
index f32edcb9..b851ea71 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp4.service
@@ -6,7 +6,7 @@ After=time-sync.target
[Service]
ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
-ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea
+ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/lib/kea
ExecStart=@SBINDIR@/kea-dhcp4 -c @SYSCONFDIR@/kea/kea-dhcp4.conf
[Install]
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service
index 26d2205e..0f9f0ef8 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/files/kea-dhcp6.service
@@ -6,7 +6,7 @@ After=time-sync.target
[Service]
ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
-ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/kea
+ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/lib/kea
ExecStart=@SBINDIR@/kea-dhcp6 -c @SYSCONFDIR@/kea/kea-dhcp6.conf
[Install]
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb
deleted file mode 100644
index 67de07b3..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "ISC Kea DHCP Server"
-DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS."
-HOMEPAGE = "http://kea.isc.org"
-SECTION = "connectivity"
-LICENSE = "MPL-2.0 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1666a9c4bb55adbc8939d85643096bd3"
-
-DEPENDS += "kea-native"
-
-SRC_URI = "\
- http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
- file://0003-Makefile.am-update-hooksdir-for-lease_cmds.patch \
- file://0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch \
- file://kea-dhcp4.service \
- file://kea-dhcp6.service \
- file://kea-dhcp-ddns.service \
-"
-SRC_URI[md5sum] = "26eedd749101642757d788431605aaa5"
-SRC_URI[sha256sum] = "c0f8ecb93657adfc5ab970c91706754e601084828493f053f159661d21b31128"
-
-inherit autotools systemd
-
-SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_configure_prepend_class-target() {
- mkdir -p ${B}/src/lib/log/compiler/
- ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler
-}
-
-do_install_append_class-target() {
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
- sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_system_unitdir}/kea-dhcp*service
-}
-
-do_install_append() {
- rm -rf "${D}${localstatedir}"
-}
-
-PACKAGECONFIG ??= "openssl log4cplus boost"
-
-PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl"
-PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus"
-PACKAGECONFIG[boost] = "--with-boost-include=${STAGING_INCDIR} --with-boost-lib-dir=${STAGING_LIBDIR} --with-boost-libs=-lboost_system,,boost,boost"
-
-FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
-FILES_${PN} += "${libdir}/hooks/*.so"
-
-BBCLASSEXTEND += "native"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.7.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.7.bb
new file mode 100644
index 00000000..e25f8e6f
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.7.bb
@@ -0,0 +1,67 @@
+SUMMARY = "ISC Kea DHCP Server"
+DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS."
+HOMEPAGE = "http://kea.isc.org"
+SECTION = "connectivity"
+LICENSE = "MPL-2.0 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=68d95543d2096459290a4e6b9ceccffa"
+
+DEPENDS += "kea-native"
+
+SRC_URI = "\
+ http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
+ file://0001-remove-AC_TRY_RUN.patch \
+ file://kea-dhcp4.service \
+ file://kea-dhcp6.service \
+ file://kea-dhcp-ddns.service \
+"
+SRC_URI[md5sum] = "4f8d1251fd41ef2e822a4eb3f0797d46"
+SRC_URI[sha256sum] = "0bba8b045672884a928ff4b2a8575ac5ba420eb6ba47a9338f1932bc38dcf866"
+
+inherit autotools systemd
+
+SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+DEBUG_OPTIMIZATION_remove_mips = " -Og"
+DEBUG_OPTIMIZATION_append_mips = " -O"
+BUILD_OPTIMIZATION_remove_mips = " -Og"
+BUILD_OPTIMIZATION_append_mips = " -O"
+
+DEBUG_OPTIMIZATION_remove_mipsel = " -Og"
+DEBUG_OPTIMIZATION_append_mipsel = " -O"
+BUILD_OPTIMIZATION_remove_mipsel = " -Og"
+BUILD_OPTIMIZATION_append_mipsel = " -O"
+
+do_configure_prepend_class-target() {
+ mkdir -p ${B}/src/lib/log/compiler/
+ ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler
+ # replace abs_top_builddir to avoid introducing the build path
+ # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target
+ find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g"
+ sed -i "s:@abs_top_srcdir@:@abs_top_srcdir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in
+}
+
+do_install_append_class-target() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_system_unitdir}/kea-dhcp*service
+}
+
+do_install_append() {
+ rm -rf "${D}${localstatedir}"
+}
+
+PACKAGECONFIG ??= "openssl log4cplus boost"
+
+PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl"
+PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus"
+PACKAGECONFIG[boost] = "--with-boost-libs=-lboost_system,,boost,boost"
+
+FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
+FILES_${PN} += "${libdir}/hooks/*.so"
+
+BBCLASSEXTEND += "native"
+
+PARALLEL_MAKEINST = ""
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch
deleted file mode 100644
index 952232b7..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- lftp-4.6.3a/src/NetAccess.cc.orig 2016-06-18 10:25:51.063358981 -0400
-+++ lftp-4.6.3a/src/NetAccess.cc 2016-06-18 10:26:04.143359209 -0400
-@@ -21,7 +21,7 @@
-
- #include <errno.h>
- #include <assert.h>
--#include <math.h>
-+#include <cmath>
- #include <sys/types.h>
-
- #include "NetAccess.h"
---- lftp-4.6.3a/src/Speedometer.cc.orig 2016-06-18 10:24:58.895358073 -0400
-+++ lftp-4.6.3a/src/Speedometer.cc 2016-06-18 10:25:10.879358281 -0400
-@@ -18,7 +18,7 @@
- */
-
- #include <config.h>
--#include <math.h>
-+#include <cmath>
- #include <stdlib.h>
- #include "Speedometer.h"
- #include "misc.h"
---- lftp-4.6.3a/src/FileCopy.cc.orig 2016-06-18 10:24:15.939357325 -0400
-+++ lftp-4.6.3a/src/FileCopy.cc 2016-06-18 10:24:24.583357475 -0400
-@@ -36,7 +36,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
--#include <math.h>
-+#include <cmath>
- #include <stddef.h>
- #include "FileCopy.h"
- #include "url.h"
---- lftp-4.6.3a/src/ResMgr.cc.orig 2016-06-18 10:23:31.387356549 -0400
-+++ lftp-4.6.3a/src/ResMgr.cc 2016-06-18 10:23:41.771356729 -0400
-@@ -23,7 +23,7 @@
- #include <ctype.h>
- #include <unistd.h>
- #include <stdlib.h>
--#include <math.h>
-+#include <cmath>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <errno.h>
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb
deleted file mode 100644
index bf793d91..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb
+++ /dev/null
@@ -1,33 +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://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2 \
- file://fix-gcc-6-conflicts-signbit.patch \
- "
-SRC_URI[md5sum] = "a56b5047dbfda052df4c1dfd197aa092"
-SRC_URI[sha256sum] = "a853edbd075b008c315679c7882b6dcc6821ed2365d2ed843a412acd3d40da0e"
-
-inherit autotools gettext pkgconfig
-
-acpaths = "-I ./m4"
-
-EXTRA_OECONF += "--with-modules --disable-rpath"
-
-PACKAGECONFIG ??= "openssl zlib gnutls readline expat"
-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} += "${datadir}/icons/hicolor"
-FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug"
-RDEPENDS_${PN} = "perl bash readline"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb
new file mode 100644
index 00000000..79a380ad
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.1.bb
@@ -0,0 +1,31 @@
+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"
+SRC_URI[md5sum] = "19ce64012bc722ad61667372fa262382"
+SRC_URI[sha256sum] = "a692fd081c19e2cc045869ab721a4fb3d7571040849a4406c4042f735232414c"
+
+inherit autotools gettext pkgconfig
+
+acpaths = "-I ./m4"
+
+EXTRA_OECONF += "--with-modules --disable-rpath"
+
+PACKAGECONFIG ??= "openssl zlib gnutls readline expat"
+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} += "${datadir}/icons/hicolor"
+FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug"
+RDEPENDS_${PN} = "perl bash readline"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
index 53ba25e2..5b27cfe1 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
@@ -1,7 +1,7 @@
SUMMARY = "dumb networking library"
HOMEPAGE = "http://code.google.com/p/libdnet/"
SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9"
SRC_URI = "git://github.com/dugsong/libdnet.git;nobranch=1"
@@ -11,8 +11,10 @@ UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools multilib_script
acpaths = "-I ./config/"
BBCLASSEXTEND = "native"
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/dnet-config"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb
deleted file mode 100644
index ff3f7f0c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Lightweight crypto and SSL/TLS library"
-DESCRIPTION = "mbedtls is a lean open source crypto library \
-for providing SSL and TLS support in your programs. It offers \
-an intuitive API and documented header files, so you can actually \
-understand what the code does. It features: \
- \
- - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
- Camellia and XTEA \
- - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
- - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
- - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
- ECDSA and ECDH \
- - SSL v3 and TLS 1.0, 1.1 and 1.2 \
- - Abstraction layers for ciphers, hashes, public key operations, \
- platform abstraction and threading \
-"
-
-HOMEPAGE = "https://tls.mbed.org/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a"
-
-SECTION = "libs"
-
-SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz"
-
-SRC_URI[md5sum] = "659d96bb03012ca6db414a9137fcdbd6"
-SRC_URI[sha256sum] = "593b4e4d2e1629fc407ab4750d69fa309a0ddb66565dc3deb5b60eddbdeb06da"
-
-inherit cmake
-
-PACKAGECONFIG ??= "shared-libs programs"
-PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF"
-PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
-
-EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
-
-PROVIDES += "polarssl"
-RPROVIDES_${PN} = "polarssl"
-
-PACKAGES =+ "${PN}-programs"
-FILES_${PN}-programs = "${bindir}/"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.6.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.6.bb
new file mode 100644
index 00000000..12ad3976
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.6.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Lightweight crypto and SSL/TLS library"
+DESCRIPTION = "mbedtls is a lean open source crypto library \
+for providing SSL and TLS support in your programs. It offers \
+an intuitive API and documented header files, so you can actually \
+understand what the code does. It features: \
+ \
+ - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
+ Camellia and XTEA \
+ - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
+ - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
+ - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
+ ECDSA and ECDH \
+ - SSL v3 and TLS 1.0, 1.1 and 1.2 \
+ - Abstraction layers for ciphers, hashes, public key operations, \
+ platform abstraction and threading \
+"
+
+HOMEPAGE = "https://tls.mbed.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a"
+
+SECTION = "libs"
+
+SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz"
+SRC_URI[md5sum] = "1f629a43c166de2eca808f3e30aa961d"
+SRC_URI[sha256sum] = "66455e23a6190a30142cdc1113f7418158839331a9d8e6b0778631d077281770"
+
+inherit cmake
+
+PACKAGECONFIG ??= "shared-libs programs"
+PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF"
+PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
+
+EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
+
+PROVIDES += "polarssl"
+RPROVIDES_${PN} = "polarssl"
+
+PACKAGES =+ "${PN}-programs"
+FILES_${PN}-programs = "${bindir}/"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch
new file mode 100644
index 00000000..e33d8eac
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch
@@ -0,0 +1,38 @@
+From 54698856e5602bbd9d61e855814c854a013b4840 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 22 Dec 2018 18:47:45 -0800
+Subject: [PATCH] Add OpenEmbedded cross compile case
+
+Upstream-Status: Submitted [https://github.com/miniupnp/miniupnp/pull/410]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ genconfig.sh | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/genconfig.sh
++++ b/genconfig.sh
+@@ -103,6 +103,12 @@ if [ -f ../shared/tomato_version ]; then
+ OS_VERSION="Tomato $TOMATO_VER"
+ fi
+
++# OpenEmbedded special case
++if [ -f ./os.openembedded ]; then
++ OS_NAME=OpenEmbedded
++ OS_VERSION=$(cat ./os.openembedded)
++fi
++
+ ${RM} ${CONFIGFILE}
+
+ echo "/* MiniUPnP Project" >> ${CONFIGFILE}
+@@ -346,6 +352,11 @@ case $OS_NAME in
+ echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE}
+ FW=iptables
+ ;;
++ OpenEmbedded)
++ OS_URL=http://www.openembedded.org/
++ echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE}
++ FW=iptables
++ ;;
+ AstLinux)
+ OS_URL=http://www.astlinux.org/
+ echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE}
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb
deleted file mode 100644
index 04b5cd58..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Lightweight UPnP IGD daemon"
-DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
-which provide NAT traversal services to any UPnP enabled client on \
-the network."
-
-SECTION = "networking"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=91ac00c6b9f5c106e89291e196fe0234"
-
-inherit autotools gettext pkgconfig systemd
-
-DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
-
-SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz;downloadfilename=${P}.tar.gz \
- file://miniupnpd.service"
-
-SRC_URI[md5sum] = "b4c7c938915edeee6ca4c65dd021f212"
-SRC_URI[sha256sum] = "860c15f2f8340fd69546b01cffe4c7fcff3e63a7bdfe5a2af6b2346f0e074bb6"
-
-IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
-
-do_compile() {
- cd ${S}
- CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux
-}
-
-do_install() {
- install -d ${D}/${sbindir}
- install ${S}/miniupnpd ${D}/${sbindir}
- install -d ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
- install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
- install -d ${D}/${sysconfdir}/init.d
- install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/miniupnpd.service ${D}${systemd_unitdir}/system/
-}
-
-SYSTEMD_SERVICE_${PN} = "miniupnpd.service"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20191006.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20191006.bb
new file mode 100644
index 00000000..a630d27b
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20191006.bb
@@ -0,0 +1,50 @@
+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=a1ed15843ce66639bcf9f109cf247870"
+
+inherit autotools gettext pkgconfig systemd
+
+DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
+
+SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${BP}.tar.gz;downloadfilename=${BP}.tar.gz \
+ file://miniupnpd.service \
+ file://0001-Add-OpenEmbedded-cross-compile-case.patch \
+ "
+SRC_URI[md5sum] = "340789edd49c113afe37834cc901a1e8"
+SRC_URI[sha256sum] = "218fad7af31f3c22fb4c9db28a55a2a8b5067d41f5b38f52008a057a00d2206d"
+
+IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
+
+do_configure_prepend() {
+ echo "${@d.getVar('DISTRO_VERSION')}" > ${S}/os.openembedded
+}
+
+do_compile() {
+ cd ${S}
+ CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux config.h
+ CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install ${S}/miniupnpd ${D}/${sbindir}
+ install -d ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/miniupnpd_functions.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
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/miniupnpd.service ${D}${systemd_unitdir}/system/
+}
+
+SYSTEMD_SERVICE_${PN} = "miniupnpd.service"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch
deleted file mode 100644
index c89dfe6b..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch
+++ /dev/null
@@ -1,975 +0,0 @@
-From d9aeef8d95a325942cc92f4d72415771d75d904c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
-Date: Tue, 12 Apr 2016 13:05:10 +0100
-Subject: [PATCH 2/2] uthash: remove in-tree version
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We don't need it as we want to use the version provided by
-meta-oe instead.
-
-Upstream-Status: Inappropriate [embedded-specific]
-Signed-off-by: André Draszik <andre.draszik@jci.com>
----
- src/uthash.h | 948 -----------------------------------------------------------
- 1 file changed, 948 deletions(-)
- delete mode 100644 src/uthash.h
-
-diff --git a/src/uthash.h b/src/uthash.h
-deleted file mode 100644
-index 915a825..0000000
---- a/src/uthash.h
-+++ /dev/null
-@@ -1,948 +0,0 @@
--/*
--Copyright (c) 2003-2013, Troy D. Hanson http://troydhanson.github.com/uthash/
--All rights reserved.
--
--Redistribution and use in source and binary forms, with or without
--modification, are permitted provided that the following conditions are met:
--
-- * Redistributions of source code must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
--
--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
--IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
--TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
--PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
--OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
--EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
--PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
--PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
--LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
--NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
--SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--*/
--
--#ifndef UTHASH_H
--#define UTHASH_H
--
--#include <string.h> /* memcmp,strlen */
--#include <stddef.h> /* ptrdiff_t */
--#include <stdlib.h> /* exit() */
--
--/* These macros use decltype or the earlier __typeof GNU extension.
-- As decltype is only available in newer compilers (VS2010 or gcc 4.3+
-- when compiling c++ source) this code uses whatever method is needed
-- or, for VS2008 where neither is available, uses casting workarounds. */
--#ifdef _MSC_VER /* MS compiler */
--#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */
--#define DECLTYPE(x) (decltype(x))
--#else /* VS2008 or older (or VS2010 in C mode) */
--#define NO_DECLTYPE
--#define DECLTYPE(x)
--#endif
--#else /* GNU, Sun and other compilers */
--#define DECLTYPE(x) (__typeof(x))
--#endif
--
--#ifdef NO_DECLTYPE
--#define DECLTYPE_ASSIGN(dst,src) \
--do { \
-- char **_da_dst = (char**)(&(dst)); \
-- *_da_dst = (char*)(src); \
--} while(0)
--#else
--#define DECLTYPE_ASSIGN(dst,src) \
--do { \
-- (dst) = DECLTYPE(dst)(src); \
--} while(0)
--#endif
--
--/* a number of the hash function use uint32_t which isn't defined on win32 */
--#ifdef _MSC_VER
--typedef unsigned int uint32_t;
--typedef unsigned char uint8_t;
--#else
--#include <inttypes.h> /* uint32_t */
--#endif
--
--#define UTHASH_VERSION 1.9.8
--
--#ifndef uthash_fatal
--#define uthash_fatal(msg) exit(-1) /* fatal error (out of memory,etc) */
--#endif
--#ifndef uthash_malloc
--#define uthash_malloc(sz) malloc(sz) /* malloc fcn */
--#endif
--#ifndef uthash_free
--#define uthash_free(ptr,sz) free(ptr) /* free fcn */
--#endif
--
--#ifndef uthash_noexpand_fyi
--#define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */
--#endif
--#ifndef uthash_expand_fyi
--#define uthash_expand_fyi(tbl) /* can be defined to log expands */
--#endif
--
--/* initial number of buckets */
--#define HASH_INITIAL_NUM_BUCKETS 32 /* initial number of buckets */
--#define HASH_INITIAL_NUM_BUCKETS_LOG2 5 /* lg2 of initial number of buckets */
--#define HASH_BKT_CAPACITY_THRESH 10 /* expand when bucket count reaches */
--
--/* calculate the element whose hash handle address is hhe */
--#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho)))
--
--#define HASH_FIND(hh,head,keyptr,keylen,out) \
--do { \
-- unsigned _hf_bkt,_hf_hashv; \
-- out=NULL; \
-- if (head) { \
-- HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt); \
-- if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) { \
-- HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], \
-- keyptr,keylen,out); \
-- } \
-- } \
--} while (0)
--
--#ifdef HASH_BLOOM
--#define HASH_BLOOM_BITLEN (1ULL << HASH_BLOOM)
--#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0)
--#define HASH_BLOOM_MAKE(tbl) \
--do { \
-- (tbl)->bloom_nbits = HASH_BLOOM; \
-- (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \
-- if (!((tbl)->bloom_bv)) { uthash_fatal( "out of memory"); } \
-- memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN); \
-- (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \
--} while (0)
--
--#define HASH_BLOOM_FREE(tbl) \
--do { \
-- uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \
--} while (0)
--
--#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U << ((idx)%8)))
--#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] & (1U << ((idx)%8)))
--
--#define HASH_BLOOM_ADD(tbl,hashv) \
-- HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
--
--#define HASH_BLOOM_TEST(tbl,hashv) \
-- HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
--
--#else
--#define HASH_BLOOM_MAKE(tbl)
--#define HASH_BLOOM_FREE(tbl)
--#define HASH_BLOOM_ADD(tbl,hashv)
--#define HASH_BLOOM_TEST(tbl,hashv) (1)
--#define HASH_BLOOM_BYTELEN 0
--#endif
--
--#define HASH_MAKE_TABLE(hh,head) \
--do { \
-- (head)->hh.tbl = (UT_hash_table*)uthash_malloc( \
-- sizeof(UT_hash_table)); \
-- if (!((head)->hh.tbl)) { uthash_fatal( "out of memory"); } \
-- memset((head)->hh.tbl, 0, sizeof(UT_hash_table)); \
-- (head)->hh.tbl->tail = &((head)->hh); \
-- (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \
-- (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \
-- (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \
-- (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \
-- HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \
-- if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); } \
-- memset((head)->hh.tbl->buckets, 0, \
-- HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \
-- HASH_BLOOM_MAKE((head)->hh.tbl); \
-- (head)->hh.tbl->signature = HASH_SIGNATURE; \
--} while(0)
--
--#define HASH_ADD(hh,head,fieldname,keylen_in,add) \
-- HASH_ADD_KEYPTR(hh,head,&((add)->fieldname),keylen_in,add)
--
--#define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced) \
--do { \
-- replaced=NULL; \
-- HASH_FIND(hh,head,&((add)->fieldname),keylen_in,replaced); \
-- if (replaced!=NULL) { \
-- HASH_DELETE(hh,head,replaced); \
-- }; \
-- HASH_ADD(hh,head,fieldname,keylen_in,add); \
--} while(0)
--
--#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \
--do { \
-- unsigned _ha_bkt; \
-- (add)->hh.next = NULL; \
-- (add)->hh.key = (char*)keyptr; \
-- (add)->hh.keylen = (unsigned)keylen_in; \
-- if (!(head)) { \
-- head = (add); \
-- (head)->hh.prev = NULL; \
-- HASH_MAKE_TABLE(hh,head); \
-- } else { \
-- (head)->hh.tbl->tail->next = (add); \
-- (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \
-- (head)->hh.tbl->tail = &((add)->hh); \
-- } \
-- (head)->hh.tbl->num_items++; \
-- (add)->hh.tbl = (head)->hh.tbl; \
-- HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets, \
-- (add)->hh.hashv, _ha_bkt); \
-- HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh); \
-- HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv); \
-- HASH_EMIT_KEY(hh,head,keyptr,keylen_in); \
-- HASH_FSCK(hh,head); \
--} while(0)
--
--#define HASH_TO_BKT( hashv, num_bkts, bkt ) \
--do { \
-- bkt = ((hashv) & ((num_bkts) - 1)); \
--} while(0)
--
--/* delete "delptr" from the hash table.
-- * "the usual" patch-up process for the app-order doubly-linked-list.
-- * The use of _hd_hh_del below deserves special explanation.
-- * These used to be expressed using (delptr) but that led to a bug
-- * if someone used the same symbol for the head and deletee, like
-- * HASH_DELETE(hh,users,users);
-- * We want that to work, but by changing the head (users) below
-- * we were forfeiting our ability to further refer to the deletee (users)
-- * in the patch-up process. Solution: use scratch space to
-- * copy the deletee pointer, then the latter references are via that
-- * scratch pointer rather than through the repointed (users) symbol.
-- */
--#define HASH_DELETE(hh,head,delptr) \
--do { \
-- unsigned _hd_bkt; \
-- struct UT_hash_handle *_hd_hh_del; \
-- if ( ((delptr)->hh.prev == NULL) && ((delptr)->hh.next == NULL) ) { \
-- uthash_free((head)->hh.tbl->buckets, \
-- (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
-- HASH_BLOOM_FREE((head)->hh.tbl); \
-- uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \
-- head = NULL; \
-- } else { \
-- _hd_hh_del = &((delptr)->hh); \
-- if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) { \
-- (head)->hh.tbl->tail = \
-- (UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) + \
-- (head)->hh.tbl->hho); \
-- } \
-- if ((delptr)->hh.prev) { \
-- ((UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) + \
-- (head)->hh.tbl->hho))->next = (delptr)->hh.next; \
-- } else { \
-- DECLTYPE_ASSIGN(head,(delptr)->hh.next); \
-- } \
-- if (_hd_hh_del->next) { \
-- ((UT_hash_handle*)((ptrdiff_t)_hd_hh_del->next + \
-- (head)->hh.tbl->hho))->prev = \
-- _hd_hh_del->prev; \
-- } \
-- HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \
-- HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \
-- (head)->hh.tbl->num_items--; \
-- } \
-- HASH_FSCK(hh,head); \
--} while (0)
--
--
--/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */
--#define HASH_FIND_STR(head,findstr,out) \
-- HASH_FIND(hh,head,findstr,strlen(findstr),out)
--#define HASH_ADD_STR(head,strfield,add) \
-- HASH_ADD(hh,head,strfield,strlen(add->strfield),add)
--#define HASH_REPLACE_STR(head,strfield,add,replaced) \
-- HASH_REPLACE(hh,head,strfield,strlen(add->strfield),add,replaced)
--#define HASH_FIND_INT(head,findint,out) \
-- HASH_FIND(hh,head,findint,sizeof(int),out)
--#define HASH_ADD_INT(head,intfield,add) \
-- HASH_ADD(hh,head,intfield,sizeof(int),add)
--#define HASH_REPLACE_INT(head,intfield,add,replaced) \
-- HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced)
--#define HASH_FIND_PTR(head,findptr,out) \
-- HASH_FIND(hh,head,findptr,sizeof(void *),out)
--#define HASH_ADD_PTR(head,ptrfield,add) \
-- HASH_ADD(hh,head,ptrfield,sizeof(void *),add)
--#define HASH_REPLACE_PTR(head,ptrfield,add) \
-- HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced)
--#define HASH_DEL(head,delptr) \
-- HASH_DELETE(hh,head,delptr)
--
--/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined.
-- * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined.
-- */
--#ifdef HASH_DEBUG
--#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0)
--#define HASH_FSCK(hh,head) \
--do { \
-- unsigned _bkt_i; \
-- unsigned _count, _bkt_count; \
-- char *_prev; \
-- struct UT_hash_handle *_thh; \
-- if (head) { \
-- _count = 0; \
-- for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) { \
-- _bkt_count = 0; \
-- _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \
-- _prev = NULL; \
-- while (_thh) { \
-- if (_prev != (char*)(_thh->hh_prev)) { \
-- HASH_OOPS("invalid hh_prev %p, actual %p\n", \
-- _thh->hh_prev, _prev ); \
-- } \
-- _bkt_count++; \
-- _prev = (char*)(_thh); \
-- _thh = _thh->hh_next; \
-- } \
-- _count += _bkt_count; \
-- if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \
-- HASH_OOPS("invalid bucket count %d, actual %d\n", \
-- (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \
-- } \
-- } \
-- if (_count != (head)->hh.tbl->num_items) { \
-- HASH_OOPS("invalid hh item count %d, actual %d\n", \
-- (head)->hh.tbl->num_items, _count ); \
-- } \
-- /* traverse hh in app order; check next/prev integrity, count */ \
-- _count = 0; \
-- _prev = NULL; \
-- _thh = &(head)->hh; \
-- while (_thh) { \
-- _count++; \
-- if (_prev !=(char*)(_thh->prev)) { \
-- HASH_OOPS("invalid prev %p, actual %p\n", \
-- _thh->prev, _prev ); \
-- } \
-- _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \
-- _thh = ( _thh->next ? (UT_hash_handle*)((char*)(_thh->next) + \
-- (head)->hh.tbl->hho) : NULL ); \
-- } \
-- if (_count != (head)->hh.tbl->num_items) { \
-- HASH_OOPS("invalid app item count %d, actual %d\n", \
-- (head)->hh.tbl->num_items, _count ); \
-- } \
-- } \
--} while (0)
--#else
--#define HASH_FSCK(hh,head)
--#endif
--
--/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to
-- * the descriptor to which this macro is defined for tuning the hash function.
-- * The app can #include <unistd.h> to get the prototype for write(2). */
--#ifdef HASH_EMIT_KEYS
--#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \
--do { \
-- unsigned _klen = fieldlen; \
-- write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \
-- write(HASH_EMIT_KEYS, keyptr, fieldlen); \
--} while (0)
--#else
--#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)
--#endif
--
--/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */
--#ifdef HASH_FUNCTION
--#define HASH_FCN HASH_FUNCTION
--#else
--#define HASH_FCN HASH_JEN
--#endif
--
--/* The Bernstein hash function, used in Perl prior to v5.6 */
--#define HASH_BER(key,keylen,num_bkts,hashv,bkt) \
--do { \
-- unsigned _hb_keylen=keylen; \
-- char *_hb_key=(char*)(key); \
-- (hashv) = 0; \
-- while (_hb_keylen--) { (hashv) = ((hashv) * 33) + *_hb_key++; } \
-- bkt = (hashv) & (num_bkts-1); \
--} while (0)
--
--
--/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at
-- * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */
--#define HASH_SAX(key,keylen,num_bkts,hashv,bkt) \
--do { \
-- unsigned _sx_i; \
-- char *_hs_key=(char*)(key); \
-- hashv = 0; \
-- for(_sx_i=0; _sx_i < keylen; _sx_i++) \
-- hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \
-- bkt = hashv & (num_bkts-1); \
--} while (0)
--
--#define HASH_FNV(key,keylen,num_bkts,hashv,bkt) \
--do { \
-- unsigned _fn_i; \
-- char *_hf_key=(char*)(key); \
-- hashv = 2166136261UL; \
-- for(_fn_i=0; _fn_i < keylen; _fn_i++) \
-- hashv = (hashv * 16777619) ^ _hf_key[_fn_i]; \
-- bkt = hashv & (num_bkts-1); \
--} while(0)
--
--#define HASH_OAT(key,keylen,num_bkts,hashv,bkt) \
--do { \
-- unsigned _ho_i; \
-- char *_ho_key=(char*)(key); \
-- hashv = 0; \
-- for(_ho_i=0; _ho_i < keylen; _ho_i++) { \
-- hashv += _ho_key[_ho_i]; \
-- hashv += (hashv << 10); \
-- hashv ^= (hashv >> 6); \
-- } \
-- hashv += (hashv << 3); \
-- hashv ^= (hashv >> 11); \
-- hashv += (hashv << 15); \
-- bkt = hashv & (num_bkts-1); \
--} while(0)
--
--#define HASH_JEN_MIX(a,b,c) \
--do { \
-- a -= b; a -= c; a ^= ( c >> 13 ); \
-- b -= c; b -= a; b ^= ( a << 8 ); \
-- c -= a; c -= b; c ^= ( b >> 13 ); \
-- a -= b; a -= c; a ^= ( c >> 12 ); \
-- b -= c; b -= a; b ^= ( a << 16 ); \
-- c -= a; c -= b; c ^= ( b >> 5 ); \
-- a -= b; a -= c; a ^= ( c >> 3 ); \
-- b -= c; b -= a; b ^= ( a << 10 ); \
-- c -= a; c -= b; c ^= ( b >> 15 ); \
--} while (0)
--
--#define HASH_JEN(key,keylen,num_bkts,hashv,bkt) \
--do { \
-- unsigned _hj_i,_hj_j,_hj_k; \
-- unsigned char *_hj_key=(unsigned char*)(key); \
-- hashv = 0xfeedbeef; \
-- _hj_i = _hj_j = 0x9e3779b9; \
-- _hj_k = (unsigned)keylen; \
-- while (_hj_k >= 12) { \
-- _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \
-- + ( (unsigned)_hj_key[2] << 16 ) \
-- + ( (unsigned)_hj_key[3] << 24 ) ); \
-- _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \
-- + ( (unsigned)_hj_key[6] << 16 ) \
-- + ( (unsigned)_hj_key[7] << 24 ) ); \
-- hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \
-- + ( (unsigned)_hj_key[10] << 16 ) \
-- + ( (unsigned)_hj_key[11] << 24 ) ); \
-- \
-- HASH_JEN_MIX(_hj_i, _hj_j, hashv); \
-- \
-- _hj_key += 12; \
-- _hj_k -= 12; \
-- } \
-- hashv += keylen; \
-- switch ( _hj_k ) { \
-- case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); \
-- case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); \
-- case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); \
-- case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); \
-- case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); \
-- case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); \
-- case 5: _hj_j += _hj_key[4]; \
-- case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); \
-- case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); \
-- case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); \
-- case 1: _hj_i += _hj_key[0]; \
-- } \
-- HASH_JEN_MIX(_hj_i, _hj_j, hashv); \
-- bkt = hashv & (num_bkts-1); \
--} while(0)
--
--/* The Paul Hsieh hash function */
--#undef get16bits
--#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \
-- || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)
--#define get16bits(d) (*((const uint16_t *) (d)))
--#endif
--
--#if !defined (get16bits)
--#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \
-- +(uint32_t)(((const uint8_t *)(d))[0]) )
--#endif
--#define HASH_SFH(key,keylen,num_bkts,hashv,bkt) \
--do { \
-- unsigned char *_sfh_key=(unsigned char*)(key); \
-- uint32_t _sfh_tmp, _sfh_len = keylen; \
-- \
-- int _sfh_rem = _sfh_len & 3; \
-- _sfh_len >>= 2; \
-- hashv = 0xcafebabe; \
-- \
-- /* Main loop */ \
-- for (;_sfh_len > 0; _sfh_len--) { \
-- hashv += get16bits (_sfh_key); \
-- _sfh_tmp = (uint32_t)(get16bits (_sfh_key+2)) << 11 ^ hashv; \
-- hashv = (hashv << 16) ^ _sfh_tmp; \
-- _sfh_key += 2*sizeof (uint16_t); \
-- hashv += hashv >> 11; \
-- } \
-- \
-- /* Handle end cases */ \
-- switch (_sfh_rem) { \
-- case 3: hashv += get16bits (_sfh_key); \
-- hashv ^= hashv << 16; \
-- hashv ^= (uint32_t)(_sfh_key[sizeof (uint16_t)] << 18); \
-- hashv += hashv >> 11; \
-- break; \
-- case 2: hashv += get16bits (_sfh_key); \
-- hashv ^= hashv << 11; \
-- hashv += hashv >> 17; \
-- break; \
-- case 1: hashv += *_sfh_key; \
-- hashv ^= hashv << 10; \
-- hashv += hashv >> 1; \
-- } \
-- \
-- /* Force "avalanching" of final 127 bits */ \
-- hashv ^= hashv << 3; \
-- hashv += hashv >> 5; \
-- hashv ^= hashv << 4; \
-- hashv += hashv >> 17; \
-- hashv ^= hashv << 25; \
-- hashv += hashv >> 6; \
-- bkt = hashv & (num_bkts-1); \
--} while(0)
--
--#ifdef HASH_USING_NO_STRICT_ALIASING
--/* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads.
-- * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error.
-- * MurmurHash uses the faster approach only on CPU's where we know it's safe.
-- *
-- * Note the preprocessor built-in defines can be emitted using:
-- *
-- * gcc -m64 -dM -E - < /dev/null (on gcc)
-- * cc -## a.c (where a.c is a simple test file) (Sun Studio)
-- */
--#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86))
--#define MUR_GETBLOCK(p,i) p[i]
--#else /* non intel */
--#define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 0x3) == 0)
--#define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 0x3) == 1)
--#define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 0x3) == 2)
--#define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 0x3) == 3)
--#define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL))
--#if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__))
--#define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24))
--#define MUR_TWO_TWO(p) ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16))
--#define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >> 8))
--#else /* assume little endian non-intel */
--#define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24))
--#define MUR_TWO_TWO(p) ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16))
--#define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) << 8))
--#endif
--#define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) : \
-- (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \
-- (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) : \
-- MUR_ONE_THREE(p))))
--#endif
--#define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r))))
--#define MUR_FMIX(_h) \
--do { \
-- _h ^= _h >> 16; \
-- _h *= 0x85ebca6b; \
-- _h ^= _h >> 13; \
-- _h *= 0xc2b2ae35l; \
-- _h ^= _h >> 16; \
--} while(0)
--
--#define HASH_MUR(key,keylen,num_bkts,hashv,bkt) \
--do { \
-- const uint8_t *_mur_data = (const uint8_t*)(key); \
-- const int _mur_nblocks = (keylen) / 4; \
-- uint32_t _mur_h1 = 0xf88D5353; \
-- uint32_t _mur_c1 = 0xcc9e2d51; \
-- uint32_t _mur_c2 = 0x1b873593; \
-- uint32_t _mur_k1 = 0; \
-- const uint8_t *_mur_tail; \
-- const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+_mur_nblocks*4); \
-- int _mur_i; \
-- for(_mur_i = -_mur_nblocks; _mur_i; _mur_i++) { \
-- _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i); \
-- _mur_k1 *= _mur_c1; \
-- _mur_k1 = MUR_ROTL32(_mur_k1,15); \
-- _mur_k1 *= _mur_c2; \
-- \
-- _mur_h1 ^= _mur_k1; \
-- _mur_h1 = MUR_ROTL32(_mur_h1,13); \
-- _mur_h1 = _mur_h1*5+0xe6546b64; \
-- } \
-- _mur_tail = (const uint8_t*)(_mur_data + _mur_nblocks*4); \
-- _mur_k1=0; \
-- switch((keylen) & 3) { \
-- case 3: _mur_k1 ^= _mur_tail[2] << 16; \
-- case 2: _mur_k1 ^= _mur_tail[1] << 8; \
-- case 1: _mur_k1 ^= _mur_tail[0]; \
-- _mur_k1 *= _mur_c1; \
-- _mur_k1 = MUR_ROTL32(_mur_k1,15); \
-- _mur_k1 *= _mur_c2; \
-- _mur_h1 ^= _mur_k1; \
-- } \
-- _mur_h1 ^= (keylen); \
-- MUR_FMIX(_mur_h1); \
-- hashv = _mur_h1; \
-- bkt = hashv & (num_bkts-1); \
--} while(0)
--#endif /* HASH_USING_NO_STRICT_ALIASING */
--
--/* key comparison function; return 0 if keys equal */
--#define HASH_KEYCMP(a,b,len) memcmp(a,b,len)
--
--/* iterate over items in a known bucket to find desired item */
--#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out) \
--do { \
-- if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head)); \
-- else out=NULL; \
-- while (out) { \
-- if ((out)->hh.keylen == keylen_in) { \
-- if ((HASH_KEYCMP((out)->hh.key,keyptr,keylen_in)) == 0) break; \
-- } \
-- if ((out)->hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,(out)->hh.hh_next)); \
-- else out = NULL; \
-- } \
--} while(0)
--
--/* add an item to a bucket */
--#define HASH_ADD_TO_BKT(head,addhh) \
--do { \
-- head.count++; \
-- (addhh)->hh_next = head.hh_head; \
-- (addhh)->hh_prev = NULL; \
-- if (head.hh_head) { (head).hh_head->hh_prev = (addhh); } \
-- (head).hh_head=addhh; \
-- if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH) \
-- && (addhh)->tbl->noexpand != 1) { \
-- HASH_EXPAND_BUCKETS((addhh)->tbl); \
-- } \
--} while(0)
--
--/* remove an item from a given bucket */
--#define HASH_DEL_IN_BKT(hh,head,hh_del) \
-- (head).count--; \
-- if ((head).hh_head == hh_del) { \
-- (head).hh_head = hh_del->hh_next; \
-- } \
-- if (hh_del->hh_prev) { \
-- hh_del->hh_prev->hh_next = hh_del->hh_next; \
-- } \
-- if (hh_del->hh_next) { \
-- hh_del->hh_next->hh_prev = hh_del->hh_prev; \
-- }
--
--/* Bucket expansion has the effect of doubling the number of buckets
-- * and redistributing the items into the new buckets. Ideally the
-- * items will distribute more or less evenly into the new buckets
-- * (the extent to which this is true is a measure of the quality of
-- * the hash function as it applies to the key domain).
-- *
-- * With the items distributed into more buckets, the chain length
-- * (item count) in each bucket is reduced. Thus by expanding buckets
-- * the hash keeps a bound on the chain length. This bounded chain
-- * length is the essence of how a hash provides constant time lookup.
-- *
-- * The calculation of tbl->ideal_chain_maxlen below deserves some
-- * explanation. First, keep in mind that we're calculating the ideal
-- * maximum chain length based on the *new* (doubled) bucket count.
-- * In fractions this is just n/b (n=number of items,b=new num buckets).
-- * Since the ideal chain length is an integer, we want to calculate
-- * ceil(n/b). We don't depend on floating point arithmetic in this
-- * hash, so to calculate ceil(n/b) with integers we could write
-- *
-- * ceil(n/b) = (n/b) + ((n%b)?1:0)
-- *
-- * and in fact a previous version of this hash did just that.
-- * But now we have improved things a bit by recognizing that b is
-- * always a power of two. We keep its base 2 log handy (call it lb),
-- * so now we can write this with a bit shift and logical AND:
-- *
-- * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0)
-- *
-- */
--#define HASH_EXPAND_BUCKETS(tbl) \
--do { \
-- unsigned _he_bkt; \
-- unsigned _he_bkt_i; \
-- struct UT_hash_handle *_he_thh, *_he_hh_nxt; \
-- UT_hash_bucket *_he_new_buckets, *_he_newbkt; \
-- _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \
-- 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \
-- if (!_he_new_buckets) { uthash_fatal( "out of memory"); } \
-- memset(_he_new_buckets, 0, \
-- 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \
-- tbl->ideal_chain_maxlen = \
-- (tbl->num_items >> (tbl->log2_num_buckets+1)) + \
-- ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0); \
-- tbl->nonideal_items = 0; \
-- for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++) \
-- { \
-- _he_thh = tbl->buckets[ _he_bkt_i ].hh_head; \
-- while (_he_thh) { \
-- _he_hh_nxt = _he_thh->hh_next; \
-- HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt); \
-- _he_newbkt = &(_he_new_buckets[ _he_bkt ]); \
-- if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) { \
-- tbl->nonideal_items++; \
-- _he_newbkt->expand_mult = _he_newbkt->count / \
-- tbl->ideal_chain_maxlen; \
-- } \
-- _he_thh->hh_prev = NULL; \
-- _he_thh->hh_next = _he_newbkt->hh_head; \
-- if (_he_newbkt->hh_head) _he_newbkt->hh_head->hh_prev = \
-- _he_thh; \
-- _he_newbkt->hh_head = _he_thh; \
-- _he_thh = _he_hh_nxt; \
-- } \
-- } \
-- uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
-- tbl->num_buckets *= 2; \
-- tbl->log2_num_buckets++; \
-- tbl->buckets = _he_new_buckets; \
-- tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ? \
-- (tbl->ineff_expands+1) : 0; \
-- if (tbl->ineff_expands > 1) { \
-- tbl->noexpand=1; \
-- uthash_noexpand_fyi(tbl); \
-- } \
-- uthash_expand_fyi(tbl); \
--} while(0)
--
--
--/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */
--/* Note that HASH_SORT assumes the hash handle name to be hh.
-- * HASH_SRT was added to allow the hash handle name to be passed in. */
--#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn)
--#define HASH_SRT(hh,head,cmpfcn) \
--do { \
-- unsigned _hs_i; \
-- unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \
-- struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \
-- if (head) { \
-- _hs_insize = 1; \
-- _hs_looping = 1; \
-- _hs_list = &((head)->hh); \
-- while (_hs_looping) { \
-- _hs_p = _hs_list; \
-- _hs_list = NULL; \
-- _hs_tail = NULL; \
-- _hs_nmerges = 0; \
-- while (_hs_p) { \
-- _hs_nmerges++; \
-- _hs_q = _hs_p; \
-- _hs_psize = 0; \
-- for ( _hs_i = 0; _hs_i < _hs_insize; _hs_i++ ) { \
-- _hs_psize++; \
-- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
-- ((void*)((char*)(_hs_q->next) + \
-- (head)->hh.tbl->hho)) : NULL); \
-- if (! (_hs_q) ) break; \
-- } \
-- _hs_qsize = _hs_insize; \
-- while ((_hs_psize > 0) || ((_hs_qsize > 0) && _hs_q )) { \
-- if (_hs_psize == 0) { \
-- _hs_e = _hs_q; \
-- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
-- ((void*)((char*)(_hs_q->next) + \
-- (head)->hh.tbl->hho)) : NULL); \
-- _hs_qsize--; \
-- } else if ( (_hs_qsize == 0) || !(_hs_q) ) { \
-- _hs_e = _hs_p; \
-- if (_hs_p){ \
-- _hs_p = (UT_hash_handle*)((_hs_p->next) ? \
-- ((void*)((char*)(_hs_p->next) + \
-- (head)->hh.tbl->hho)) : NULL); \
-- } \
-- _hs_psize--; \
-- } else if (( \
-- cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \
-- DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \
-- ) <= 0) { \
-- _hs_e = _hs_p; \
-- if (_hs_p){ \
-- _hs_p = (UT_hash_handle*)((_hs_p->next) ? \
-- ((void*)((char*)(_hs_p->next) + \
-- (head)->hh.tbl->hho)) : NULL); \
-- } \
-- _hs_psize--; \
-- } else { \
-- _hs_e = _hs_q; \
-- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
-- ((void*)((char*)(_hs_q->next) + \
-- (head)->hh.tbl->hho)) : NULL); \
-- _hs_qsize--; \
-- } \
-- if ( _hs_tail ) { \
-- _hs_tail->next = ((_hs_e) ? \
-- ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL); \
-- } else { \
-- _hs_list = _hs_e; \
-- } \
-- if (_hs_e) { \
-- _hs_e->prev = ((_hs_tail) ? \
-- ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL); \
-- } \
-- _hs_tail = _hs_e; \
-- } \
-- _hs_p = _hs_q; \
-- } \
-- if (_hs_tail){ \
-- _hs_tail->next = NULL; \
-- } \
-- if ( _hs_nmerges <= 1 ) { \
-- _hs_looping=0; \
-- (head)->hh.tbl->tail = _hs_tail; \
-- DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \
-- } \
-- _hs_insize *= 2; \
-- } \
-- HASH_FSCK(hh,head); \
-- } \
--} while (0)
--
--/* This function selects items from one hash into another hash.
-- * The end result is that the selected items have dual presence
-- * in both hashes. There is no copy of the items made; rather
-- * they are added into the new hash through a secondary hash
-- * hash handle that must be present in the structure. */
--#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \
--do { \
-- unsigned _src_bkt, _dst_bkt; \
-- void *_last_elt=NULL, *_elt; \
-- UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \
-- ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \
-- if (src) { \
-- for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \
-- for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \
-- _src_hh; \
-- _src_hh = _src_hh->hh_next) { \
-- _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \
-- if (cond(_elt)) { \
-- _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho); \
-- _dst_hh->key = _src_hh->key; \
-- _dst_hh->keylen = _src_hh->keylen; \
-- _dst_hh->hashv = _src_hh->hashv; \
-- _dst_hh->prev = _last_elt; \
-- _dst_hh->next = NULL; \
-- if (_last_elt_hh) { _last_elt_hh->next = _elt; } \
-- if (!dst) { \
-- DECLTYPE_ASSIGN(dst,_elt); \
-- HASH_MAKE_TABLE(hh_dst,dst); \
-- } else { \
-- _dst_hh->tbl = (dst)->hh_dst.tbl; \
-- } \
-- HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \
-- HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh); \
-- (dst)->hh_dst.tbl->num_items++; \
-- _last_elt = _elt; \
-- _last_elt_hh = _dst_hh; \
-- } \
-- } \
-- } \
-- } \
-- HASH_FSCK(hh_dst,dst); \
--} while (0)
--
--#define HASH_CLEAR(hh,head) \
--do { \
-- if (head) { \
-- uthash_free((head)->hh.tbl->buckets, \
-- (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \
-- HASH_BLOOM_FREE((head)->hh.tbl); \
-- uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \
-- (head)=NULL; \
-- } \
--} while(0)
--
--#define HASH_OVERHEAD(hh,head) \
-- (size_t)((((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \
-- ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \
-- (sizeof(UT_hash_table)) + \
-- (HASH_BLOOM_BYTELEN)))
--
--#ifdef NO_DECLTYPE
--#define HASH_ITER(hh,head,el,tmp) \
--for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL); \
-- el; (el)=(tmp),(*(char**)(&(tmp)))=(char*)((tmp)?(tmp)->hh.next:NULL))
--#else
--#define HASH_ITER(hh,head,el,tmp) \
--for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL); \
-- el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
--#endif
--
--/* obtain a count of items in the hash */
--#define HASH_COUNT(head) HASH_CNT(hh,head)
--#define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0)
--
--typedef struct UT_hash_bucket {
-- struct UT_hash_handle *hh_head;
-- unsigned count;
--
-- /* expand_mult is normally set to 0. In this situation, the max chain length
-- * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If
-- * the bucket's chain exceeds this length, bucket expansion is triggered).
-- * However, setting expand_mult to a non-zero value delays bucket expansion
-- * (that would be triggered by additions to this particular bucket)
-- * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH.
-- * (The multiplier is simply expand_mult+1). The whole idea of this
-- * multiplier is to reduce bucket expansions, since they are expensive, in
-- * situations where we know that a particular bucket tends to be overused.
-- * It is better to let its chain length grow to a longer yet-still-bounded
-- * value, than to do an O(n) bucket expansion too often.
-- */
-- unsigned expand_mult;
--
--} UT_hash_bucket;
--
--/* random signature used only to find hash tables in external analysis */
--#define HASH_SIGNATURE 0xa0111fe1
--#define HASH_BLOOM_SIGNATURE 0xb12220f2
--
--typedef struct UT_hash_table {
-- UT_hash_bucket *buckets;
-- unsigned num_buckets, log2_num_buckets;
-- unsigned num_items;
-- struct UT_hash_handle *tail; /* tail hh in app order, for fast append */
-- ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */
--
-- /* in an ideal situation (all buckets used equally), no bucket would have
-- * more than ceil(#items/#buckets) items. that's the ideal chain length. */
-- unsigned ideal_chain_maxlen;
--
-- /* nonideal_items is the number of items in the hash whose chain position
-- * exceeds the ideal chain maxlen. these items pay the penalty for an uneven
-- * hash distribution; reaching them in a chain traversal takes >ideal steps */
-- unsigned nonideal_items;
--
-- /* ineffective expands occur when a bucket doubling was performed, but
-- * afterward, more than half the items in the hash had nonideal chain
-- * positions. If this happens on two consecutive expansions we inhibit any
-- * further expansion, as it's not helping; this happens when the hash
-- * function isn't a good fit for the key domain. When expansion is inhibited
-- * the hash will still work, albeit no longer in constant time. */
-- unsigned ineff_expands, noexpand;
--
-- uint32_t signature; /* used only to find hash tables in external analysis */
--#ifdef HASH_BLOOM
-- uint32_t bloom_sig; /* used only to test bloom exists in external analysis */
-- uint8_t *bloom_bv;
-- char bloom_nbits;
--#endif
--
--} UT_hash_table;
--
--typedef struct UT_hash_handle {
-- struct UT_hash_table *tbl;
-- void *prev; /* prev element in app order */
-- void *next; /* next element in app order */
-- struct UT_hash_handle *hh_prev; /* previous hh in bucket order */
-- struct UT_hash_handle *hh_next; /* next hh in bucket order */
-- void *key; /* ptr to enclosing struct's key */
-- unsigned keylen; /* enclosing struct's key len */
-- unsigned hashv; /* result of hash-fcn(key) */
--} UT_hash_handle;
--
--#endif /* UTHASH_H */
---
-2.15.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/1571.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/1571.patch
new file mode 100644
index 00000000..93ff6bcf
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/1571.patch
@@ -0,0 +1,22 @@
+Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1571]
+From 3fe5468f1bdca1bff1d18cf43c9e338f41aa9e32 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Wed, 22 Jan 2020 12:39:49 +0100
+Subject: [PATCH] Add dynamic symbols linking with cmake too
+
+Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+---
+ lib/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -89,6 +89,8 @@
+ OUTPUT_NAME mosquitto
+ VERSION ${VERSION}
+ SOVERSION 1
++ LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linker.version
++ LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/linker.version"
+ )
+
+ install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/install-protocol.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/install-protocol.patch
new file mode 100644
index 00000000..1397fc6a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/install-protocol.patch
@@ -0,0 +1,14 @@
+Description: Also install mqtt_protocol.h, as is done in Makefile
+Author: Gianfranco Costamagna <locutusofborg@debian.org>
+Bug-Debian: https://bugs.debian.org/951116
+Forwarded: https://github.com/eclipse/mosquitto/pull/1599
+Last-Update: 2020-02-15
+
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -114,4 +114,4 @@
+ install(TARGETS libmosquitto_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+ endif (WITH_STATIC_LIBRARIES)
+
+-install(FILES mosquitto.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
++install(FILES mqtt_protocol.h mosquitto.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init
index 6a0c1276..9d5963c4 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/mosquitto.init
@@ -38,7 +38,7 @@ export PATH="${PATH:+$PATH:}@SBINDIR@:@BASE_SBINDIR@"
case "$1" in
start)
echo "Starting Mosquitto message broker" "mosquitto"
- if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ; then
+ if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then
exit 0
else
exit 1
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb
deleted file mode 100644
index 06c1d67d..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb
+++ /dev/null
@@ -1,93 +0,0 @@
-SUMMARY = "Open source MQTT v3.1/3.1.1 implemention"
-DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker that implements the MQ Telemetry Transport protocol version 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. "
-HOMEPAGE = "http://mosquitto.org/"
-SECTION = "console/network"
-LICENSE = "EPL-1.0 | EDL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \
- file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
- file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
- file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
-"
-DEPENDS = "uthash"
-
-SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
- file://0002-uthash-remove-in-tree-version.patch \
- file://mosquitto.init \
-"
-
-SRC_URI[md5sum] = "f98c99998a36a234f3a9d9b402b991db"
-SRC_URI[sha256sum] = "8557bc7ae34dfaf32a0fb56d2491b7a7f731269c88337227233013502df4d5b0"
-
-inherit systemd update-rc.d useradd
-
-PACKAGECONFIG ??= "ssl uuid \
- ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
- "
-
-PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares"
-PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl"
-PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux"
-PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd"
-PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets"
-
-EXTRA_OEMAKE = " \
- prefix=${prefix} \
- mandir=${mandir} \
- localedir=${localedir} \
- ${PACKAGECONFIG_CONFARGS} \
- STRIP=/bin/true \
- WITH_DOCS=no \
-"
-
-export LIB_SUFFIX = "${@d.getVar('baselib', True).replace('lib', '')}"
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
-
- install -d ${D}${sysconfdir}/mosquitto
- install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \
- ${D}${sysconfdir}/mosquitto/mosquitto.conf
-
- install -d ${D}${sysconfdir}/init.d/
- install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
- -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${sysconfdir}/init.d/mosquitto
-}
-
-PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
-
-PACKAGE_BEFORE_PN = "${PN}-examples"
-
-FILES_${PN} = "${sbindir}/mosquitto \
- ${bindir}/mosquitto_passwd \
- ${sysconfdir}/mosquitto \
- ${sysconfdir}/init.d \
- ${systemd_unitdir}/system/mosquitto.service \
-"
-
-CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
-
-FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1"
-
-FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1"
-
-FILES_${PN}-clients = "${bindir}/mosquitto_pub \
- ${bindir}/mosquitto_sub \
-"
-
-FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example"
-
-SYSTEMD_SERVICE_${PN} = "mosquitto.service"
-
-INITSCRIPT_NAME = "mosquitto"
-INITSCRIPT_PARAMS = "defaults 30"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
- --user-group mosquitto"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.10.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.10.bb
new file mode 100644
index 00000000..31b5f678
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.10.bb
@@ -0,0 +1,87 @@
+SUMMARY = "Open source MQTT implementation"
+DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \
+that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \
+5, providing both an MQTT broker and several command-line clients. MQTT \
+provides a lightweight method of carrying out messaging using a \
+publish/subscribe model. "
+HOMEPAGE = "http://mosquitto.org/"
+SECTION = "console/network"
+LICENSE = "EPL-1.0 | EDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \
+ file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
+ file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
+ file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
+"
+DEPENDS = "uthash"
+
+SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
+ file://mosquitto.init \
+ file://1571.patch \
+ file://install-protocol.patch \
+"
+
+SRC_URI[md5sum] = "960f963b81b7f93982d7511cd28082e5"
+SRC_URI[sha256sum] = "92d1807717f0f6d57d1ac1207ffdb952e8377e916c7b0bb4718f745239774232"
+
+inherit systemd update-rc.d useradd cmake
+
+PACKAGECONFIG ??= "ssl dlt websockets \
+ ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
+ "
+
+PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares"
+PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC_OFF,openssl"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets"
+PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon"
+
+EXTRA_OECMAKE = " \
+ -DWITH_BUNDLED_DEPS=OFF \
+ -DWITH_ADNS=ON \
+"
+
+do_install_append() {
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
+
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${sysconfdir}/init.d/mosquitto
+}
+
+PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
+
+PACKAGE_BEFORE_PN = "${PN}-examples"
+
+FILES_${PN} = "${sbindir}/mosquitto \
+ ${bindir}/mosquitto_passwd \
+ ${sysconfdir}/mosquitto \
+ ${sysconfdir}/init.d \
+ ${systemd_unitdir}/system/mosquitto.service \
+"
+
+CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
+
+FILES_libmosquitto1 = "${libdir}/libmosquitto.so.*"
+
+FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*"
+
+FILES_${PN}-clients = "${bindir}/mosquitto_pub \
+ ${bindir}/mosquitto_sub \
+ ${bindir}/mosquitto_rr \
+"
+
+FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example"
+
+SYSTEMD_SERVICE_${PN} = "mosquitto.service"
+
+INITSCRIPT_NAME = "mosquitto"
+INITSCRIPT_PARAMS = "defaults 30"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
+ --user-group mosquitto"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb
deleted file mode 100644
index fa6b43ac..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "nanomsg socket library"
-DESCRIPTION = "nanomsg is a socket library that provides several common \
-communication patterns. It aims to make the networking layer fast, scalable, \
-and easy to use. Implemented in C, it works on a wide range of operating \
-systems with no further dependencies."
-HOMEPAGE = "https://nanomsg.org/"
-LICENSE = "MIT-X"
-LIC_FILES_CHKSUM = "file://COPYING;md5=587b3fd7fd291e418ff4d2b8f3904755"
-
-SECTION = "libs/networking"
-
-SRC_URI = "git://github.com/nanomsg/nanomsg.git;protocol=https"
-SRCREV = "e7f8a751316b942d8962cd0232c2d606c1d9a9db"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-# nanomsg documentation generation requires asciidoctor,
-# not asciidoc, and currently there's no asciidoctor-native
-# recipe anywhere in openembedded-core or meta-openembedded
-EXTRA_OECMAKE = " -DNN_ENABLE_DOC=OFF "
-
-# we don't want nanomsg-tools to be renamed to libnanomsg-tools
-DEBIAN_NOAUTONAME_${PN}-tools = "1"
-
-PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/*"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb
new file mode 100644
index 00000000..8444f0b7
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb
@@ -0,0 +1,28 @@
+SUMMARY = "nanomsg socket library"
+DESCRIPTION = "nanomsg is a socket library that provides several common \
+communication patterns. It aims to make the networking layer fast, scalable, \
+and easy to use. Implemented in C, it works on a wide range of operating \
+systems with no further dependencies."
+HOMEPAGE = "https://nanomsg.org/"
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=587b3fd7fd291e418ff4d2b8f3904755"
+
+SECTION = "libs/networking"
+
+SRC_URI = "git://github.com/nanomsg/nanomsg.git;protocol=https"
+SRCREV = "1749fd7b039165a91b8d556b4df18e3e632ad830"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+# nanomsg documentation generation requires asciidoctor,
+# not asciidoc, and currently there's no asciidoctor-native
+# recipe anywhere in openembedded-core or meta-openembedded
+EXTRA_OECMAKE = " -DNN_ENABLE_DOC=OFF "
+
+# we don't want nanomsg-tools to be renamed to libnanomsg-tools
+DEBIAN_NOAUTONAME_${PN}-tools = "1"
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb
new file mode 100644
index 00000000..77be27ff
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "nanomsg-next-generation -- light-weight brokerless messaging"
+DESCRIPTION = "NNG, like its predecessors nanomsg (and to some extent ZeroMQ), is a lightweight, broker-less library, offering a simple API to solve common recurring messaging problems, such as publish/subscribe, RPC-style request/reply, or service discovery."
+HOMEPAGE = "https://github.com/nanomsg/nng"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a19b15be6e844b39a54de2ef665bd6de"
+
+SECTION = "libs/networking"
+
+SRCREV = "53ae1a5ab37fdfc9ad5c236df3eaf4dd63f0fee9"
+
+SRC_URI = "git://github.com/nanomsg/nng.git;branch=v1.2.x"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
+
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[mbedtls] = "-DNNG_ENABLE_TLS=ON,-DNNG_ENABLE_TLS=OFF,mbedtls"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb
new file mode 100644
index 00000000..9f123c70
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb
@@ -0,0 +1,59 @@
+SUMMARY = "The network configuration abstraction renderer"
+DESCRIPTION = "Netplan is a utility for easily configuring networking on a \
+linux system. You simply create a YAML description of the required network \
+interfaces and what each should be configured to do. From this description \
+Netplan will generate all the necessary configuration for your chosen renderer \
+tool."
+HOMEPAGE = "https://netplan.io"
+SECTION = "net/misc"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+S = "${WORKDIR}/git"
+SRCREV = "5d22e9d22c4a3724d27b80b0cd9b898ae8f59d2b"
+PV = "0.98+git${SRCPV}"
+
+SRC_URI = " \
+ git://github.com/CanonicalLtd/netplan.git \
+"
+
+DEPENDS = "glib-2.0 libyaml ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+RDEPENDS_${PN} = "python3 python3-core python3-pyyaml python3-netifaces python3-nose python3-coverage python3-pycodestyle python3-pyflakes util-linux-libuuid"
+
+inherit pkgconfig systemd
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+EXTRA_OEMAKE = "generate"
+EXTRA_OEMAKE =+ "${@bb.utils.contains('DISTRO_FEATURES','systemd','netplan-dbus dbus/io.netplan.Netplan.service','',d)}"
+
+do_install() {
+ install -d ${D}${sbindir} ${D}${base_libdir}/netplan ${D}${datadir}/netplan/netplan/cli/commands ${D}${sysconfdir}/netplan
+ install -m 755 ${S}/generate ${D}${base_libdir}/netplan/
+ install -m 644 ${S}/netplan/*.py ${D}${datadir}/netplan/netplan
+ install -m 644 ${S}/netplan/cli/*.py ${D}${datadir}/netplan/netplan/cli
+ install -m 644 ${S}/netplan/cli/commands/*.py ${D}${datadir}/netplan/netplan/cli/commands
+ install -m 755 ${S}/src/netplan.script ${D}${datadir}/netplan/
+ ln -srf ${D}${datadir}/netplan/netplan.script ${D}${sbindir}/netplan
+
+ install -d ${D}/${systemd_unitdir}/system ${D}${systemd_unitdir}/system-generators
+ install -m 644 ${S}/src/netplan-wpa@.service ${D}${systemd_unitdir}/system/
+ ln -srf ${D}/${base_libdir}/netplan/generate ${D}${systemd_unitdir}/system-generators
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${datadir}/dbus-1/system.d ${D}${datadir}/dbus-1/system-services
+ install -m 755 ${S}/netplan-dbus ${D}${base_libdir}/netplan
+ install -m 644 ${S}/dbus/io.netplan.Netplan.conf ${D}${datadir}/dbus-1/system.d
+ install -m 644 ${S}/dbus/io.netplan.Netplan.service ${D}${datadir}/dbus-1/system-services
+ fi
+}
+
+SYSTEMD_SERVICE_${PN} = "netplan-wpa@.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+PACKAGES += "${PN}-dbus"
+
+FILES_${PN} = "${sbindir} ${base_libdir}/netplan/generate ${datadir}/netplan ${sysconfdir}/netplan ${systemd_unitdir}"
+FILES_${PN}-dbus = "${base_libdir}/netplan/netplan-dbus ${datadir}/dbus-1"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb
deleted file mode 100644
index 9159fcbf..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb
+++ /dev/null
@@ -1,40 +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 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] = "f118226ed2bfbacfd64ac4d1e0bd0383"
-SRC_URI[sha256sum] = "ac86a7a539d78df90095676e9183f2d422fb93dbfe4b3afef22f81825d303d61"
-
-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 \
- ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \
-"
-
-FILES_${PN}-staticdev += " \
- ${libdir}/NetworkManager/*.a \
-"
-
-RDEPENDS_${PN} = " \
- networkmanager \
- openvpn \
-"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb
new file mode 100644
index 00000000..d455a0f0
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.12.bb
@@ -0,0 +1,52 @@
+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] = "e8b1210011ece18d0278310fbff45af5"
+SRC_URI[sha256sum] = "0efda8878aaf0e6eb5071a053aea5d7f9d42aac097b3ff89e7cbc9233f815318"
+
+S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
+
+# meta-gnome in layers is required using gnome:
+PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret"
+
+do_configure_append() {
+ # network-manager-openvpn.metainfo.xml is created in source folder but
+ # compile expects it in build folder. As long as nobody comes up with a
+ # better solution just support build:
+ if [ -e ${S}/appdata/network-manager-openvpn.metainfo.xml ]; then
+ mkdir -p ${B}/appdata
+ cp -f ${S}/appdata/network-manager-openvpn.metainfo.xml ${B}/appdata/
+ fi
+}
+
+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} += " \
+ ${datadir}/dbus-1 \
+ ${libdir}/NetworkManager/*.so \
+ ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \
+"
+
+FILES_${PN}-staticdev += " \
+ ${libdir}/NetworkManager/*.a \
+"
+
+RDEPENDS_${PN} = " \
+ networkmanager \
+ openvpn \
+"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch
deleted file mode 100644
index 0c415bce..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 3f4b6319701834182304c4079119780f4ae5b49b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 7 Nov 2018 11:30:44 -0800
-Subject: [PATCH] Do not include net/ethernet.h and linux/if_ether.h
-
-They conflict when used together especially with musl
-removing them still keeps it working so it seems they are redundant
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- shared/n-acd/src/n-acd.c | 1 -
- src/platform/wpan/nm-wpan-utils.h | 2 --
- src/settings/nm-settings-connection.h | 2 --
- 3 files changed, 5 deletions(-)
-
-diff --git a/shared/n-acd/src/n-acd.c b/shared/n-acd/src/n-acd.c
-index 9164f95..9538e50 100644
---- a/shared/n-acd/src/n-acd.c
-+++ b/shared/n-acd/src/n-acd.c
-@@ -23,7 +23,6 @@
- #include <errno.h>
- #include <limits.h>
- #include <linux/filter.h>
--#include <linux/if_ether.h>
- #include <linux/if_packet.h>
- #include <net/ethernet.h>
- #include <netinet/if_ether.h>
-diff --git a/src/platform/wpan/nm-wpan-utils.h b/src/platform/wpan/nm-wpan-utils.h
-index f7d0c03..e1c81f5 100644
---- a/src/platform/wpan/nm-wpan-utils.h
-+++ b/src/platform/wpan/nm-wpan-utils.h
-@@ -20,8 +20,6 @@
- #ifndef __WPAN_UTILS_H__
- #define __WPAN_UTILS_H__
-
--#include <net/ethernet.h>
--
- #include "nm-dbus-interface.h"
- #include "platform/nm-netlink.h"
-
-diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h
-index e796b71..c01fef6 100644
---- a/src/settings/nm-settings-connection.h
-+++ b/src/settings/nm-settings-connection.h
-@@ -22,8 +22,6 @@
- #ifndef __NETWORKMANAGER_SETTINGS_CONNECTION_H__
- #define __NETWORKMANAGER_SETTINGS_CONNECTION_H__
-
--#include <net/ethernet.h>
--
- #include "nm-dbus-object.h"
- #include "nm-connection.h"
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
new file mode 100644
index 00000000..19c8c748
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
@@ -0,0 +1,22 @@
+From 9bcf4c81a559d1e7deac47b2e510d7f1e5837a02 Mon Sep 17 00:00:00 2001
+From: Pablo Saavedra <psaavedra@igalia.com>
+Date: Tue, 13 Mar 2018 17:36:20 +0100
+Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 65ceffb..ad4b0fc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -561,7 +561,7 @@ if test "$have_jansson" = "yes"; then
+ AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled])
+
+ AC_CHECK_TOOLS(READELF, [eu-readelf readelf])
+- JANSSON_LIBDIR=`$PKG_CONFIG --variable=libdir jansson`
++ JANSSON_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=libdir jansson`
+ JANSSON_SONAME=`$READELF -d $JANSSON_LIBDIR/libjansson.so |sed -n 's/.*SONAME.*\[[\([^]]*\)]]/\1/p'`
+
+ if test "$JANSSON_SONAME" = ""; then
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
deleted file mode 100644
index 49a07353..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 18f71c1b48730b8602826517f2b5b088283ae948 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 16:48:00 -0700
-Subject: [PATCH] sd-lldp.h: Remove net/ethernet.h seems to be over specified
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/systemd/src/libsystemd-network/sd-lldp.c | 1 +
- src/systemd/src/systemd/sd-lldp.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/systemd/src/libsystemd-network/sd-lldp.c b/src/systemd/src/libsystemd-network/sd-lldp.c
-index 31e2448..7721cc2 100644
---- a/src/systemd/src/libsystemd-network/sd-lldp.c
-+++ b/src/systemd/src/libsystemd-network/sd-lldp.c
-@@ -3,6 +3,7 @@
- #include "nm-sd-adapt.h"
-
- #include <arpa/inet.h>
-+#include <net/ethernet.h>
- #include <linux/sockios.h>
-
- #include "sd-lldp.h"
-diff --git a/src/systemd/src/systemd/sd-lldp.h b/src/systemd/src/systemd/sd-lldp.h
-index 3f35eeb..61b0e45 100644
---- a/src/systemd/src/systemd/sd-lldp.h
-+++ b/src/systemd/src/systemd/sd-lldp.h
-@@ -18,7 +18,7 @@
- ***/
-
- #include <inttypes.h>
--#include <net/ethernet.h>
-+//#include <net/ethernet.h>
- #include <sys/types.h>
-
- #include "sd-event.h"
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
new file mode 100644
index 00000000..446637b2
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
@@ -0,0 +1,74 @@
+From 9eab96351a726e9ce6a15d158f743e35d73a8900 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 22 Mar 2018 11:08:30 +0100
+Subject: [PATCH] Do not create settings settings/property documentation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It was tried to get this work but gi / GirRepository could not be found by
+python. Anyway it is not necessary for us to have the settings/property docs.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+---
+ Makefile.am | 11 -----------
+ configure.ac | 5 -----
+ 2 files changed, 16 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d5cbcf5..2a1819a 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1473,9 +1473,7 @@ libnm/libnm.typelib: libnm/libnm.gir
+ INTROSPECTION_GIRS += libnm/NM-1.0.gir
+
+ libnm_noinst_data = \
+- libnm/nm-property-docs.xml \
+ libnm/nm-settings-docs-overrides.xml \
+- libnm/nm-settings-docs.xml \
+ libnm/nm-settings-keyfile-docs.xml \
+ libnm/nm-settings-ifcfg-rh-docs.xml
+
+@@ -4236,18 +4234,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums)
+ $(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp
+
+ clients_common_settings_doc_h = clients/common/settings-docs.h
+-if HAVE_INTROSPECTION
+-$(clients_common_settings_doc_h): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp
+- $(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^)
+-DISTCLEANFILES += $(clients_common_settings_doc_h)
+-check-local-settings-docs: $(clients_common_settings_doc_h)
+- $(srcdir)/tools/check-settings-docs.sh "$(srcdir)" "$(builddir)" "$(clients_common_settings_doc_h)"
+-check_local += check-local-settings-docs
+-else
+ $(clients_common_settings_doc_h): $(clients_common_settings_doc_h).in clients/common/.dirstamp
+ $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)"
+ check-local-settings-docs:
+-endif
+ EXTRA_DIST += \
+ $(clients_common_settings_doc_h) \
+ $(clients_common_settings_doc_h).in
+diff --git a/configure.ac b/configure.ac
+index ad4b0fc..0092092 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1201,11 +1201,6 @@ GTK_DOC_CHECK(1.0)
+ # check if we can build setting property documentation
+ build_docs=no
+ if test -n "$INTROSPECTION_MAKEFILE"; then
+- # If g-i is installed we know we have python, but we might not have pygobject
+- if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then
+- AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)])
+- fi
+-
+ AC_PATH_PROG(PERL, perl)
+ if test -z "$PERL"; then
+ AC_MSG_ERROR([--enable-introspection requires perl])
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
deleted file mode 100644
index 351f264c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 583f0448fb7e9aba2b410c06eec6f420b41a6a0c Mon Sep 17 00:00:00 2001
-From: Pablo Saavedra <psaavedra@igalia.com>
-Date: Tue, 13 Mar 2018 17:36:20 +0100
-Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations
-
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 51e5eb6..c9d3e56 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -572,7 +572,7 @@ if test "$have_jansson" = "yes"; then
- AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled])
-
- AC_CHECK_TOOLS(READELF, [eu-readelf readelf])
-- JANSSON_LIBDIR=`$PKG_CONFIG --variable=libdir jansson`
-+ JANSSON_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=libdir jansson`
- JANSSON_SONAME=`$READELF -d $JANSSON_LIBDIR/libjansson.so |sed -n 's/.*SONAME.*\[[\([^]]*\)]]/\1/p'`
-
- if test "$JANSSON_SONAME" = ""; then
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch
deleted file mode 100644
index c50293c0..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 4f000a4a19975d6aba71427e693cd1ed080abda9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 22 Mar 2018 11:08:30 +0100
-Subject: [PATCH] Do not create settings settings/property documentation
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It was tried to get this work but gi / GirRepository could not be found by
-python. Anyway it is not necessary for us to have the settings/property docs.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- Makefile.am | 20 --------------------
- configure.ac | 5 -----
- 2 files changed, 25 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 1e100f6..d31e3c1 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1115,9 +1115,7 @@ EXTRA_DIST += \
- if HAVE_INTROSPECTION
-
- libnm_noinst_data = \
-- libnm/nm-property-docs.xml \
- libnm/nm-settings-docs-overrides.xml \
-- libnm/nm-settings-docs.xml \
- libnm/nm-settings-keyfile-docs.xml \
- libnm/nm-settings-ifcfg-rh-docs.xml
-
-@@ -3692,27 +3690,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums)
- $(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp
-
- clients_common_settings_doc_h = clients/common/settings-docs.h
--if HAVE_INTROSPECTION
--$(clients_common_settings_doc_h): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp
-- $(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^)
--DISTCLEANFILES += $(clients_common_settings_doc_h)
--check-local-settings-docs: $(clients_common_settings_doc_h)
-- @if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then \
-- if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)" ; then \
-- if test "$$NM_TEST_REGENERATE" == 1 ; then \
-- cp -f "$(builddir)/$(clients_common_settings_doc_h)" "$(srcdir)/$(clients_common_settings_doc_h).in"; \
-- else \
-- echo "The generated file \"$(builddir)/$(clients_common_settings_doc_h)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_h).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes". You can also automatically copy the file by rerunning the test with \$$NM_TEST_REGENERATE=1 ; \
-- false; \
-- fi; \
-- fi;\
-- fi
--check_local += check-local-settings-docs
--else
- $(clients_common_settings_doc_h): $(clients_common_settings_doc_h).in clients/common/.dirstamp
- $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)"
- check-local-settings-docs:
--endif
- EXTRA_DIST += \
- $(clients_common_settings_doc_h) \
- $(clients_common_settings_doc_h).in
-diff --git a/configure.ac b/configure.ac
-index 79dc3b9..23d14a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1195,11 +1195,6 @@ GTK_DOC_CHECK(1.0)
- # check if we can build setting property documentation
- build_docs=no
- if test -n "$INTROSPECTION_MAKEFILE"; then
-- # If g-i is installed we know we have python, but we might not have pygobject
-- if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then
-- AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)])
-- fi
--
- AC_PATH_PROG(PERL, perl)
- if test -z "$PERL"; then
- AC_MSG_ERROR([--enable-introspection requires perl])
---
-2.14.5
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
new file mode 100644
index 00000000..c23fc308
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
@@ -0,0 +1,165 @@
+From e7ed91c48e1a07527a860637a7865eb67ce34cf3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 2 Apr 2019 01:34:35 +0200
+Subject: [PATCH] Fix build with musl - systemd specific
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Networkmanager imported some code from systemd. This requires some adjustments
+for musl.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+---
+ shared/systemd/src/basic/in-addr-util.c | 1 +
+ shared/systemd/src/basic/process-util.c | 9 +++++++++
+ shared/systemd/src/basic/socket-util.h | 6 ++++++
+ shared/systemd/src/basic/sort-util.h | 27 ++++---------------------
+ shared/systemd/src/basic/stdio-util.h | 2 ++
+ shared/systemd/src/basic/string-util.h | 5 +++++
+ 6 files changed, 27 insertions(+), 23 deletions(-)
+
+diff --git a/shared/systemd/src/basic/in-addr-util.c b/shared/systemd/src/basic/in-addr-util.c
+index 91d687c..8388304 100644
+--- a/shared/systemd/src/basic/in-addr-util.c
++++ b/shared/systemd/src/basic/in-addr-util.c
+@@ -15,6 +15,7 @@
+ #include "in-addr-util.h"
+ #include "macro.h"
+ #include "parse-util.h"
++#include "string-util.h"
+ #include "random-util.h"
+ #include "strxcpyx.h"
+ #include "util.h"
+diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c
+index 1456167..42f51a0 100644
+--- a/shared/systemd/src/basic/process-util.c
++++ b/shared/systemd/src/basic/process-util.c
+@@ -17,6 +17,9 @@
+ #include <sys/wait.h>
+ #include <syslog.h>
+ #include <unistd.h>
++#ifndef __GLIBC__
++#include <pthread.h>
++#endif
+ #if 0 /* NM_IGNORED */
+ #if HAVE_VALGRIND_VALGRIND_H
+ #include <valgrind/valgrind.h>
+@@ -1123,11 +1126,13 @@ void reset_cached_pid(void) {
+ cached_pid = CACHED_PID_UNSET;
+ }
+
++#ifdef __GLIBC__
+ /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
+ * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
+ * libpthread, as it is part of glibc anyway. */
+ extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
+ extern void* __dso_handle _weak_;
++#endif
+
+ pid_t getpid_cached(void) {
+ static bool installed = false;
+@@ -1156,7 +1161,11 @@ pid_t getpid_cached(void) {
+ * only half-documented (glibc doesn't document it but LSB does — though only superficially)
+ * we'll check for errors only in the most generic fashion possible. */
+
++#ifdef __GLIBC__
+ if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
++#else
++ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
++#endif
+ /* OOM? Let's try again later */
+ cached_pid = CACHED_PID_UNSET;
+ return new_pid;
+diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h
+index a0886e0..da47d14 100644
+--- a/shared/systemd/src/basic/socket-util.h
++++ b/shared/systemd/src/basic/socket-util.h
+@@ -14,6 +14,12 @@
+ #include <sys/types.h>
+ #include <sys/un.h>
+
++#if !defined(__GLIBC__)
++/* SIOCGSTAMPNS from linux/asm-generic.h
++ * for src/systemd/src/libsystemd-network/sd-lldp.c */
++#include <linux/sockios.h>
++#endif
++
+ #include "macro.h"
+ #include "missing_socket.h"
+ #include "sparse-endian.h"
+diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h
+index e029f86..1e8b6e1 100644
+--- a/shared/systemd/src/basic/sort-util.h
++++ b/shared/systemd/src/basic/sort-util.h
+@@ -5,15 +5,10 @@
+
+ #include "macro.h"
+
+-void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
+- __compar_d_fn_t compar, void *arg);
+-
+-#define typesafe_bsearch_r(k, b, n, func, userdata) \
+- ({ \
+- const typeof(b[0]) *_k = k; \
+- int (*_func_)(const typeof(b[0])*, const typeof(b[0])*, typeof(userdata)) = func; \
+- xbsearch_r((const void*) _k, (b), (n), sizeof((b)[0]), (__compar_d_fn_t) _func_, userdata); \
+- })
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++#endif
+
+ /**
+ * Normal bsearch requires base to be nonnull. Here were require
+@@ -54,17 +49,3 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
+ int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
+ qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
+ })
+-
+-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
+- if (nmemb <= 1)
+- return;
+-
+- assert(base);
+- qsort_r(base, nmemb, size, compar, userdata);
+-}
+-
+-#define typesafe_qsort_r(p, n, func, userdata) \
+- ({ \
+- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
+- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
+- })
+diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
+index c3b9448..e80a938 100644
+--- a/shared/systemd/src/basic/stdio-util.h
++++ b/shared/systemd/src/basic/stdio-util.h
+@@ -1,7 +1,9 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+ #pragma once
+
++#if defined(__GLIBC__)
+ #include <printf.h>
++#endif
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h
+index 04cc82b..2cf589a 100644
+--- a/shared/systemd/src/basic/string-util.h
++++ b/shared/systemd/src/basic/string-util.h
+@@ -26,6 +26,11 @@
+ #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
+ #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
+
++/* musl does not know strndupa */
++#if !defined(__GLIBC__)
++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
++#endif
++
+ int strcmp_ptr(const char *a, const char *b) _pure_;
+
+ static inline bool streq_ptr(const char *a, const char *b) {
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch
deleted file mode 100644
index 00dda5b1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From e92de7409a3e107f90d108a9c5d49bd0418296dd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 22 Mar 2018 17:54:10 +0100
-Subject: [PATCH] Usual fix for musl libc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Stolen from [1] and prettyfied slightly
-
-[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-
----
- src/systemd/src/basic/stdio-util.h | 2 ++
- src/systemd/src/basic/util.h | 5 +++++
- 2 files changed, 7 insertions(+)
-
-diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h
-index 73c0327..e1ce64f 100644
---- a/src/systemd/src/basic/stdio-util.h
-+++ b/src/systemd/src/basic/stdio-util.h
-@@ -1,7 +1,9 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
- #pragma once
-
-+#if defined(__GLIBC__)
- #include <printf.h>
-+#endif
- #include <stdarg.h>
- #include <stdio.h>
- #include <sys/types.h>
-diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h
-index b31dfd1..9b7032c 100644
---- a/src/systemd/src/basic/util.h
-+++ b/src/systemd/src/basic/util.h
-@@ -28,6 +28,11 @@
- #include "missing.h"
- #include "time-util.h"
-
-+#if !defined(__GLIBC__)
-+typedef int (*__compar_fn_t) (const void*, const void*);
-+typedef __compar_fn_t comparison_fn_t;
-+#endif
-+
- size_t page_size(void) _pure_;
- #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
-
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch
new file mode 100644
index 00000000..196a3358
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch
@@ -0,0 +1,116 @@
+From 877fbb4e848629ff57371b5bdb0d56369abe9d81 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 8 Apr 2019 23:10:43 +0200
+Subject: [PATCH] Fix build with musl
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The build issues caused by definition conflicts musl vs linux-libc headers
+(error: redefinition of ...) can be reduced to two headers:
+
+1. netinet/if_ether.h <-> linux/if_ether.h: linux-libc header plays well with
+ glibc and musl headers in case libc's variant (netinet/if_ether.h) is
+ included BEFORE linux variant [1]. We add include at two positions:
+ 1. shared/nm-default.h: This is a global which used for networkmanager and
+ is included at the very beginning of all c-files.
+ 2. libnm-core/nm-utils.h: This file makes it into installation and is used
+ by dependent packages as network-manager-applet
+2. net/if_arp. <-> linux/if_ether.h: linux-libc: Unfortunaly these files do
+ not play together in harmony. Therefore the libc variant is included early in
+ shared/nm-default.h and occurances linux/if_arp.h are removed.
+
+Note:
+Be aware that this is still nasty business: We have to trust that musl headers
+define same signatures as linux would do - just because musl-makers consider
+linux-libc headers 'notoriously broken for userspace' [2] (search for
+'error: redefinition of').
+
+[1] http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280440.html
+[2] https://wiki.musl-libc.org/faq.html
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+---
+ clients/tui/nmt-device-entry.c | 1 -
+ libnm-core/nm-utils.h | 4 ++++
+ shared/nm-default.h | 3 +++
+ src/devices/nm-device.c | 2 +-
+ src/platform/nm-linux-platform.c | 1 -
+ 5 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/clients/tui/nmt-device-entry.c b/clients/tui/nmt-device-entry.c
+index 4ab5932..915248c 100644
+--- a/clients/tui/nmt-device-entry.c
++++ b/clients/tui/nmt-device-entry.c
+@@ -26,7 +26,6 @@
+ #include "nmt-device-entry.h"
+
+ #include <sys/socket.h>
+-#include <linux/if_arp.h>
+
+ #include "nmtui.h"
+
+diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
+index 5418a1e..f492da6 100644
+--- a/libnm-core/nm-utils.h
++++ b/libnm-core/nm-utils.h
+@@ -10,6 +10,10 @@
+ #error "Only <NetworkManager.h> can be included directly."
+ #endif
+
++/* include as early as possible for musl */
++#include <netinet/if_ether.h>
++/* #include <net/if_arp.h> - uncoment for broken dependents?? */
++
+ #include <glib.h>
+
+ #include <netinet/in.h>
+diff --git a/shared/nm-default.h b/shared/nm-default.h
+index ace6ede..25357da 100644
+--- a/shared/nm-default.h
++++ b/shared/nm-default.h
+@@ -182,6 +182,9 @@
+ #endif
+
+ #include <stdlib.h>
++/* include as early as possible for musl */
++#include <netinet/if_ether.h>
++#include <net/if_arp.h>
+
+ /*****************************************************************************/
+
+diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
+index 3bbc975..4e8a3f6 100644
+--- a/src/devices/nm-device.c
++++ b/src/devices/nm-device.c
+@@ -9,6 +9,7 @@
+ #include "nm-device.h"
+
+ #include <netinet/in.h>
++#include <net/if.h>
+ #include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <signal.h>
+@@ -17,7 +18,6 @@
+ #include <arpa/inet.h>
+ #include <fcntl.h>
+ #include <linux/if_addr.h>
+-#include <linux/if_arp.h>
+ #include <linux/rtnetlink.h>
+ #include <linux/pkt_sched.h>
+
+diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
+index 7abe4df..9f53147 100644
+--- a/src/platform/nm-linux-platform.c
++++ b/src/platform/nm-linux-platform.c
+@@ -14,7 +14,6 @@
+ #include <libudev.h>
+ #include <linux/fib_rules.h>
+ #include <linux/ip.h>
+-#include <linux/if_arp.h>
+ #include <linux/if_bridge.h>
+ #include <linux/if_link.h>
+ #include <linux/if_tun.h>
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch
deleted file mode 100644
index c162c1df..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 22 Mar 2018 18:18:06 +0100
-Subject: [PATCH] musl: dlopen is included so LD_LIBS="" instead of
- LD_LIBS="none required"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Stolen from [1] and prettyfied slightly
-
-[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configure.ac b/configure.ac
-index 487a266..96ae4f7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -235,6 +235,7 @@ dnl
- dnl Checks for libdl - on certain platforms its part of libc
- dnl
- AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=])
-+AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""])
- AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen")
-
- PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0],
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-for-n-dhcp4.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-for-n-dhcp4.patch
new file mode 100644
index 00000000..62252826
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-build-with-musl-for-n-dhcp4.patch
@@ -0,0 +1,61 @@
+From aff5cded8847f3eee59f5cec22afb8630d401a85 Mon Sep 17 00:00:00 2001
+From: Adrian Freihofer <adrian.freihofer@siemens.com>
+Date: Sat, 7 Mar 2020 14:22:36 +0100
+Subject: [PATCH 3/4] Fix build with musl for n-dhcp4
+
+---
+ shared/n-dhcp4/src/n-dhcp4-c-probe.c | 8 ++++++++
+ shared/n-dhcp4/src/n-dhcp4-private.h | 4 ++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/shared/n-dhcp4/src/n-dhcp4-c-probe.c b/shared/n-dhcp4/src/n-dhcp4-c-probe.c
+index e4477a7..75713c8 100644
+--- a/shared/n-dhcp4/src/n-dhcp4-c-probe.c
++++ b/shared/n-dhcp4/src/n-dhcp4-c-probe.c
+@@ -360,8 +360,12 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe
+ seed16v[1] = (u64 >> 16) ^ (u64 >> 0);
+ seed16v[2] = (u64 >> 32) ^ (u64 >> 16);
+
++#ifdef __GLIBC__
+ r = seed48_r(seed16v, &config->entropy);
+ c_assert(!r);
++#else
++ memcpy(config->entropy, seed16v, sizeof seed16v);
++#endif
+ }
+
+ /**
+@@ -375,10 +379,14 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe
+ */
+ uint32_t n_dhcp4_client_probe_config_get_random(NDhcp4ClientProbeConfig *config) {
+ long int result;
++#ifdef __GLIBC__
+ int r;
+
+ r = mrand48_r(&config->entropy, &result);
+ c_assert(!r);
++#else
++ result = jrand48(config->entropy);
++#endif
+
+ return result;
+ };
+diff --git a/shared/n-dhcp4/src/n-dhcp4-private.h b/shared/n-dhcp4/src/n-dhcp4-private.h
+index 436ee80..ffcb4b2 100644
+--- a/shared/n-dhcp4/src/n-dhcp4-private.h
++++ b/shared/n-dhcp4/src/n-dhcp4-private.h
+@@ -267,7 +267,11 @@ struct NDhcp4ClientProbeConfig {
+ bool inform_only;
+ bool init_reboot;
+ struct in_addr requested_ip;
++#ifdef __GLIBC__
+ struct drand48_data entropy; /* entropy pool */
++#else
++ unsigned short entropy[3]; /* entropy pool */
++#endif
+ uint64_t ms_start_delay; /* max ms to wait before starting probe */
+ NDhcp4ClientProbeOption *options[UINT8_MAX + 1];
+ int8_t request_parameters[UINT8_MAX + 1];
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch
deleted file mode 100644
index 9a58c0e3..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 714b4731a238653e9c7d885c0dee10677b0a4df3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 22 Mar 2018 18:24:07 +0100
-Subject: [PATCH] musl: network support
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Stolen from [1] and prettyfied slightly
-
-[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- libnm-core/nm-utils.h | 4 ++++
- src/platform/wifi/nm-wifi-utils.h | 4 ++++
- src/systemd/src/basic/socket-util.h | 5 +++++
- 3 files changed, 13 insertions(+)
-
-diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
-index df9284b..2bcf4b8 100644
---- a/libnm-core/nm-utils.h
-+++ b/libnm-core/nm-utils.h
-@@ -30,7 +30,11 @@
- #include <netinet/in.h>
-
- /* For ETH_ALEN and INFINIBAND_ALEN */
-+#if defined(__GLIBC__)
- #include <linux/if_ether.h>
-+#else
-+#define ETH_ALEN 6 /* Octets in one ethernet addr */
-+#endif
- #include <linux/if_infiniband.h>
-
- #include "nm-core-enum-types.h"
-diff --git a/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h
-index 705717b..da3edc4 100644
---- a/src/platform/wifi/nm-wifi-utils.h
-+++ b/src/platform/wifi/nm-wifi-utils.h
-@@ -22,7 +22,11 @@
- #ifndef __WIFI_UTILS_H__
- #define __WIFI_UTILS_H__
-
-+#if defined(__GLIBC__)
- #include <net/ethernet.h>
-+#else /* musl libc */
-+#define ETH_ALEN 6 /* Octets in one ethernet addr */
-+#endif
-
- #include "nm-dbus-interface.h"
- #include "nm-setting-wireless.h"
-diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h
-index d7e2d85..d109c84 100644
---- a/src/systemd/src/basic/socket-util.h
-+++ b/src/systemd/src/basic/socket-util.h
-@@ -11,6 +11,11 @@
- #include <linux/netlink.h>
- #include <linux/if_infiniband.h>
- #include <linux/if_packet.h>
-+#if !defined(__GLIBC__)
-+/* SIOCGSTAMPNS from linux/asm-generic.h
-+ * for src/systemd/src/libsystemd-network/sd-lldp.c */
-+#include <linux/sockios.h>
-+#endif
-
- #include "macro.h"
- #include "missing.h"
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-Fix-build-with-musl-systemd-specific.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-Fix-build-with-musl-systemd-specific.patch
new file mode 100644
index 00000000..55aa4d26
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-Fix-build-with-musl-systemd-specific.patch
@@ -0,0 +1,26 @@
+From 80c7d3391510993cba1a7499bf33a5b2b115280d Mon Sep 17 00:00:00 2001
+From: Adrian Freihofer <adrian.freihofer@siemens.com>
+Date: Sat, 7 Mar 2020 14:24:01 +0100
+Subject: [PATCH 4/4] Fix build with musl - systemd specific
+
+---
+ src/systemd/src/libsystemd-network/sd-dhcp6-client.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
+index e1150f9..2c63bac 100644
+--- a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
++++ b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
+@@ -7,7 +7,9 @@
+
+ #include <errno.h>
+ #include <sys/ioctl.h>
++#ifdef __GLIBC__ /* musl supplies full set of userspace headers */
+ #include <linux/if_arp.h>
++#endif
+ #include <linux/if_infiniband.h>
+
+ #include "sd-dhcp6-client.h"
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch
deleted file mode 100644
index 9e5c9433..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From d513c8bfc982dbd976617178b040c512c95710b6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 25 Oct 2018 09:57:07 +0200
-Subject: [PATCH] musl: process-util
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Stolen from [1] and prettyfied slightly
-
-[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- src/systemd/src/basic/process-util.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/src/systemd/src/basic/process-util.c b/src/systemd/src/basic/process-util.c
-index 1412f03..45f5049 100644
---- a/src/systemd/src/basic/process-util.c
-+++ b/src/systemd/src/basic/process-util.c
-@@ -21,6 +21,9 @@
- #include <sys/wait.h>
- #include <syslog.h>
- #include <unistd.h>
-+#ifndef __GLIBC__
-+#include <pthread.h>
-+#endif
- #if 0 /* NM_IGNORED */
- #if HAVE_VALGRIND_VALGRIND_H
- #include <valgrind/valgrind.h>
-@@ -1153,11 +1156,13 @@ void reset_cached_pid(void) {
- cached_pid = CACHED_PID_UNSET;
- }
-
-+#ifdef __GLIBC__
- /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
- * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
- * libpthread, as it is part of glibc anyway. */
- extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
- extern void* __dso_handle __attribute__ ((__weak__));
-+#endif
-
- pid_t getpid_cached(void) {
- static bool installed = false;
-@@ -1186,7 +1191,11 @@ pid_t getpid_cached(void) {
- * only half-documented (glibc doesn't document it but LSB does — though only superficially)
- * we'll check for errors only in the most generic fashion possible. */
-
-+#ifdef __GLIBC__
- if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
-+#else
-+ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
-+#endif
- /* OOM? Let's try again later */
- cached_pid = CACHED_PID_UNSET;
- return new_pid;
---
-2.14.5
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch
deleted file mode 100644
index 6bca95e1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From b3b4fe35018c98ad176719b2d9ffb867974fc7c3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 16 Apr 2018 14:45:44 +0200
-Subject: [PATCH] musl: avoid further conflicts by including net/ethernet.h
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- src/systemd/src/systemd/sd-dhcp-client.h | 2 ++
- src/systemd/src/systemd/sd-dhcp-lease.h | 2 ++
- src/systemd/src/systemd/sd-dhcp6-client.h | 2 ++
- src/systemd/src/systemd/sd-ipv4ll.h | 2 ++
- 4 files changed, 8 insertions(+)
-
-diff --git a/src/systemd/src/systemd/sd-dhcp-client.h b/src/systemd/src/systemd/sd-dhcp-client.h
-index e388552..9c4dde8 100644
---- a/src/systemd/src/systemd/sd-dhcp-client.h
-+++ b/src/systemd/src/systemd/sd-dhcp-client.h
-@@ -20,7 +20,9 @@
- ***/
-
- #include <inttypes.h>
-+#if defined(__GLIBC__)
- #include <net/ethernet.h>
-+#endif
- #include <netinet/in.h>
- #include <sys/types.h>
-
-diff --git a/src/systemd/src/systemd/sd-dhcp-lease.h b/src/systemd/src/systemd/sd-dhcp-lease.h
-index 2a60145..19d1814 100644
---- a/src/systemd/src/systemd/sd-dhcp-lease.h
-+++ b/src/systemd/src/systemd/sd-dhcp-lease.h
-@@ -19,7 +19,9 @@
- ***/
-
- #include <inttypes.h>
-+#if defined(__GLIBC__)
- #include <net/ethernet.h>
-+#endif
- #include <netinet/in.h>
- #include <sys/types.h>
-
-diff --git a/src/systemd/src/systemd/sd-dhcp6-client.h b/src/systemd/src/systemd/sd-dhcp6-client.h
-index fa36dca..2d25010 100644
---- a/src/systemd/src/systemd/sd-dhcp6-client.h
-+++ b/src/systemd/src/systemd/sd-dhcp6-client.h
-@@ -20,7 +20,9 @@
- ***/
-
- #include <inttypes.h>
-+#if defined(__GLIBC__)
- #include <net/ethernet.h>
-+#endif
- #include <stdbool.h>
- #include <sys/types.h>
-
-diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h
-index 71bd4cf..1c667ba 100644
---- a/src/systemd/src/systemd/sd-ipv4ll.h
-+++ b/src/systemd/src/systemd/sd-ipv4ll.h
-@@ -19,7 +19,9 @@
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
- ***/
-
-+#if defined(__GLIBC__)
- #include <net/ethernet.h>
-+#endif
- #include <netinet/in.h>
-
- #include "sd-event.h"
---
-2.14.5
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch
deleted file mode 100644
index 023a4d9a..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 6db6596e450062601d18b2ae812a4a58d2e03a53 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 16 Apr 2018 15:07:20 +0200
-Subject: [PATCH] Add a strndupa replacement for musl
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- src/systemd/src/basic/in-addr-util.c | 1 +
- src/systemd/src/basic/string-util.h | 5 +++++
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/systemd/src/basic/in-addr-util.c b/src/systemd/src/basic/in-addr-util.c
-index 2a02d90..a57c360 100644
---- a/src/systemd/src/basic/in-addr-util.c
-+++ b/src/systemd/src/basic/in-addr-util.c
-@@ -13,6 +13,7 @@
- #include "in-addr-util.h"
- #include "macro.h"
- #include "parse-util.h"
-+#include "string-util.h"
- #include "util.h"
-
- bool in4_addr_is_null(const struct in_addr *a) {
-diff --git a/src/systemd/src/basic/string-util.h b/src/systemd/src/basic/string-util.h
-index 4c94b18..a6dc446 100644
---- a/src/systemd/src/basic/string-util.h
-+++ b/src/systemd/src/basic/string-util.h
-@@ -26,6 +26,11 @@
- #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
- #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
-
-+/* musl does not know strndupa */
-+#if !defined(__GLIBC__)
-+#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
-+#endif
-+
- int strcmp_ptr(const char *a, const char *b) _pure_;
-
- static inline bool streq_ptr(const char *a, const char *b) {
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd
new file mode 100644
index 00000000..4fdd80d4
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd
@@ -0,0 +1,110 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: network-manager
+# Required-Start: $remote_fs dbus udev
+# Required-Stop: $remote_fs dbus udev
+# Should-Start: $syslog
+# Should-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: network connection manager
+# Description: Daemon for automatically switching network
+# connections to the best available connection.
+### END INIT INFO
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="network connection manager"
+NAME="NetworkManager"
+
+DAEMON=/usr/sbin/$NAME
+
+PIDFILE=/run/$NAME/$NAME.pid
+
+SCRIPTNAME=/etc/init.d/network-manager
+
+. /etc/init.d/functions || exit 1
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+log_daemon_msg() {
+ echo -n $*
+}
+
+log_end_msg() {
+ if [ $1 -eq 0 ]; then
+ success
+ else
+ failure
+ fi
+ echo
+}
+
+log_progress_msg () {
+ if [ -z "${1:-}" ]; then
+ return 1
+ fi
+ echo -n " $@"
+}
+
+#
+# Function that starts the daemon/service.
+#
+d_start() {
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --exec $DAEMON -- $DAEMON_OPTS
+}
+
+#
+# Function that stops the daemon/service.
+#
+d_stop() {
+ start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE \
+ --exec $DAEMON
+}
+
+d_reload() {
+ start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE \
+ --exec $DAEMON
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ d_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_progress_msg "already started"
+ log_end_msg 0 ;;
+ *) log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ d_stop
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_progress_msg "already stopped"
+ log_end_msg 0 ;;
+ *) log_end_msg 1 ;;
+ esac
+ ;;
+ reload|force-reload)
+ log_daemon_msg "Reloading $DESC" "$NAME"
+ d_reload
+ log_end_msg $?
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ status)
+ status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb
deleted file mode 100644
index f21600ed..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb
+++ /dev/null
@@ -1,144 +0,0 @@
-SUMMARY = "NetworkManager"
-HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
- file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
- file://docs/api/html/license.html;md5=2d56a1b0c42e388aa86aef59b154e8c3 \
-"
-
-DEPENDS = " \
- intltool-native \
- libxslt-native \
- libnl \
- libgudev \
- util-linux \
- libndp \
- libnewt \
- polkit \
- jansson \
- curl \
-"
-
-inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
-
-SRC_URI = " \
- ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
- file://0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
- file://0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
- file://0003-Do-not-create-settings-settings-property-documentati.patch \
- file://0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch \
- file://musl/0001-musl-basic.patch \
- file://musl/0002-musl-dlopen-configure-ac.patch \
- file://musl/0003-musl-network-support.patch \
- file://musl/0004-musl-process-util.patch \
- file://musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch \
- file://musl/0006-Add-a-strndupa-replacement-for-musl.patch \
-"
-SRC_URI[md5sum] = "54ce62f0aa18ef6c5e754eaac47494ac"
-SRC_URI[sha256sum] = "35a3ede4c7d12d6212033c9e44cb82b7692f38063b53a067567f02f5937c8c18"
-
-UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.10/"
-UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz"
-
-S = "${WORKDIR}/NetworkManager-${PV}"
-
-EXTRA_OECONF = " \
- --disable-ifcfg-rh \
- --disable-more-warnings \
- --with-iptables=${sbindir}/iptables \
- --with-tests \
- --with-nmtui=yes \
- --with-udev-dir=${nonarch_base_libdir}/udev \
-"
-
-# gobject-introspection related
-GI_DATA_ENABLED_libc-musl = "False"
-
-# stolen from https://github.com/voidlinux/void-packages/blob/master/srcpkgs/NetworkManager/template
-CFLAGS_libc-musl_append = " \
- -DHAVE_SECURE_GETENV -Dsecure_getenv=getenv \
- -D__USE_POSIX199309 -DRTLD_DEEPBIND=0 \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
-}
-
-PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \
-"
-PACKAGECONFIG[systemd] = " \
- --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
- --without-systemdsystemunitdir, \
- polkit \
-"
-PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
-# consolekit is not picked by shlibs, so add it to RDEPENDS too
-PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
-PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
-PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
-# Use full featured dhcp client instead of internal one
-PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
-PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
-PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
-PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
-PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant"
-PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
-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}/NetworkManager/${PV}/*.so \
- ${nonarch_libdir}/NetworkManager/VPN \
- ${nonarch_libdir}/NetworkManager/conf.d \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${noarch_base_libdir}/udev/* \
- ${systemd_unitdir}/system \
- ${libdir}/pppd \
-"
-
-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 \
- ${libdir}/NetworkManager/${PV}/*.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/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.10.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.10.bb
new file mode 100644
index 00000000..33a2b7c0
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.22.10.bb
@@ -0,0 +1,166 @@
+SUMMARY = "NetworkManager"
+HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = " \
+ intltool-native \
+ libxslt-native \
+ libnl \
+ libgudev \
+ util-linux \
+ libndp \
+ libnewt \
+ jansson \
+ curl \
+"
+
+inherit gnomebase gettext update-rc.d systemd bash-completion vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even
+
+SRC_URI = " \
+ ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
+ file://${BPN}.initd \
+ file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
+ file://0002-Do-not-create-settings-settings-property-documentati.patch \
+"
+SRC_URI_append_libc-musl = " \
+ file://musl/0001-Fix-build-with-musl-systemd-specific.patch \
+ file://musl/0002-Fix-build-with-musl.patch \
+ file://musl/0003-Fix-build-with-musl-for-n-dhcp4.patch \
+ file://musl/0004-Fix-build-with-musl-systemd-specific.patch \
+"
+SRC_URI[sha256sum] = "2b29ccc1531ba7ebba95a97f40c22b963838e8b6833745efe8e6fb71fd8fca77"
+
+S = "${WORKDIR}/NetworkManager-${PV}"
+
+EXTRA_OECONF = " \
+ --disable-ifcfg-rh \
+ --disable-more-warnings \
+ --with-iptables=${sbindir}/iptables \
+ --with-tests \
+ --with-nmtui=yes \
+ --with-udev-dir=${nonarch_base_libdir}/udev \
+"
+
+# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
+# avoids:
+# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'?
+CFLAGS_append_libc-musl = " \
+ -DRTLD_DEEPBIND=0 \
+"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
+}
+
+PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
+"
+PACKAGECONFIG[systemd] = " \
+ --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
+ --without-systemdsystemunitdir, \
+"
+PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
+PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
+# consolekit is not picked by shlibs, so add it to RDEPENDS too
+PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
+PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
+PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
+# Use full featured dhcp client instead of internal one
+PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
+PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
+PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
+PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
+PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant"
+PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
+PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
+PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no"
+
+PACKAGES =+ " \
+ ${PN}-nmtui ${PN}-nmtui-doc \
+ ${PN}-adsl ${PN}-cloud-setup \
+"
+
+SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup"
+
+FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so"
+
+FILES_${PN}-cloud-setup = " \
+ ${libexecdir}/nm-cloud-setup \
+ ${systemd_system_unitdir}/nm-cloud-setup.service \
+ ${systemd_system_unitdir}/nm-cloud-setup.timer \
+ ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \
+ ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \
+"
+ALLOW_EMPTY_${PN}-cloud-setup = "1"
+SYSTEMD_SERVICE_${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}"
+
+FILES_${PN} += " \
+ ${libexecdir} \
+ ${libdir}/NetworkManager/${PV}/*.so \
+ ${libdir}/NetworkManager \
+ ${nonarch_libdir}/NetworkManager/conf.d \
+ ${nonarch_libdir}/NetworkManager/dispatcher.d \
+ ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \
+ ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \
+ ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \
+ ${nonarch_libdir}/NetworkManager/VPN \
+ ${nonarch_libdir}/NetworkManager/system-connections \
+ ${datadir}/polkit-1 \
+ ${datadir}/dbus-1 \
+ ${nonarch_base_libdir}/udev/* \
+ ${systemd_system_unitdir} \
+ ${libdir}/pppd \
+"
+
+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 \
+ ${libdir}/NetworkManager/${PV}/*.la \
+"
+
+FILES_${PN}-nmtui = " \
+ ${bindir}/nmtui \
+ ${bindir}/nmtui-edit \
+ ${bindir}/nmtui-connect \
+ ${bindir}/nmtui-hostname \
+"
+
+FILES_${PN}-nmtui-doc = " \
+ ${mandir}/man1/nmtui* \
+"
+
+INITSCRIPT_NAME = "network-manager"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
+ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}"
+ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
+
+do_install_append() {
+ install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager
+
+ rm -rf ${D}/run ${D}${localstatedir}/run
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ # For read-only filesystem, do not create links during bootup
+ ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager
+
+ # systemd v210 and newer do not need this rule file
+ rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules
+ fi
+}
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-trojans-tncc-wrapper.py-convert-to-python3.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-trojans-tncc-wrapper.py-convert-to-python3.patch
new file mode 100644
index 00000000..623ec101
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-trojans-tncc-wrapper.py-convert-to-python3.patch
@@ -0,0 +1,71 @@
+From de78bcac5e1fd13de0371c8e14b062b8786ade56 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Sun, 2 Feb 2020 15:53:05 +0000
+Subject: [PATCH] trojans/tncc-wrapper.py: convert to python3
+
+Use 2to3 to convert the script to python3.
+
+Upstream-Status: Pending
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ trojans/tncc-wrapper.py | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/trojans/tncc-wrapper.py b/trojans/tncc-wrapper.py
+index 0d4587bf..1a9a1f4d 100755
+--- a/trojans/tncc-wrapper.py
++++ b/trojans/tncc-wrapper.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python2
++#!/usr/bin/python3
+
+ # Lifted from Russ Dill's juniper-vpn-wrap.py, thus:
+ #
+@@ -18,19 +18,19 @@
+
+ import subprocess
+ import mechanize
+-import cookielib
++import http.cookiejar
+ import getpass
+ import sys
+ import os
+ import zipfile
+-import urllib
++import urllib.request, urllib.parse, urllib.error
+ import socket
+ import ssl
+ import errno
+ import argparse
+ import atexit
+ import signal
+-import ConfigParser
++import configparser
+ import time
+ import binascii
+ import hmac
+@@ -39,7 +39,7 @@ import hashlib
+ def mkdir_p(path):
+ try:
+ os.mkdir(path)
+- except OSError, exc:
++ except OSError as exc:
+ if exc.errno == errno.EEXIST and os.path.isdir(path):
+ pass
+ else:
+@@ -64,9 +64,9 @@ class Tncc:
+ if zipfile.ZipFile(self.tncc_jar, 'r').testzip() is not None:
+ raise Exception()
+ except:
+- print 'Downloading tncc.jar...'
++ print('Downloading tncc.jar...')
+ mkdir_p(os.path.expanduser('~/.juniper_networks'))
+- urllib.urlretrieve('https://' + self.vpn_host
++ urllib.request.urlretrieve('https://' + self.vpn_host
+ + '/dana-cached/hc/tncc.jar', self.tncc_jar)
+
+ with zipfile.ZipFile(self.tncc_jar, 'r') as jar:
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb
new file mode 100644
index 00000000..597c1920
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Open client for Cisco AnyConnect VPN"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad"
+
+SRC_URI = " \
+ git://git.infradead.org/users/dwmw2/openconnect.git \
+ file://0001-trojans-tncc-wrapper.py-convert-to-python3.patch \
+"
+SRCREV = "ea73851969ae7a6ea54fdd2d2b8c94776af24b2a"
+
+DEPENDS = "vpnc libxml2 krb5 gettext-native"
+RDEPENDS_${PN} = "bash python3-core vpnc-script"
+
+PACKAGECONFIG ??= "gnutls lz4 libproxy"
+
+# config defaults
+PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,"
+PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
+PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy,"
+
+# not config defaults
+PACKAGECONFIG[pcsc-lite] = "--with-libpcsclite,--without-libpcsclite,pcsc-lite,"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-vpnc-script=${sysconfdir}/vpnc/vpnc-script \
+ --disable-static"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
deleted file mode 100644
index c944144e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Open client for Cisco AnyConnect VPN"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad"
-
-DEPENDS = "vpnc libxml2 krb5 gettext-native"
-
-PACKAGECONFIG ??= "gnutls lz4 libproxy"
-
-# config defaults
-PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,"
-PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
-PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy,"
-
-# not config defaults
-PACKAGECONFIG[pcsc-lite] = "--with-libpcsclite,--without-libpcsclite,pcsc-lite,"
-
-PV = "7.08"
-
-SRCREV = "9697bea0e50952cab57063238b43a7099e498cbb"
-SRC_URI = "git://git.infradead.org/users/dwmw2/openconnect.git"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--with-vpnc-script=${SYSROOT_DESTDIR}${sysconfdir}/vpnc/vpnc-script \
- --disable-static"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb
deleted file mode 100644
index 4e41aa57..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Easy communication with NetworkManager from Python"
-HOMEPAGE = "https://github.com/seveas/python-networkmanager"
-LICENSE = "Zlib"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8d8bac174bf8422b151200e6cc78ebe4"
-
-SRC_URI[md5sum] = "5fc644a65463031295c6b7dd51a0f1bd"
-SRC_URI[sha256sum] = "bc36507506ad29bfdac941b0987ebd1cc9633c9a9291d7378e229e4515a0a517"
-
-PYPI_PACKAGE = "python-networkmanager"
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "networkmanager python-dbus python-six"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python3-networkmanager_2.1.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python3-networkmanager_2.1.bb
new file mode 100644
index 00000000..91a6edd2
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python3-networkmanager_2.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Easy communication with NetworkManager from Python"
+HOMEPAGE = "https://github.com/seveas/python-networkmanager"
+LICENSE = "Zlib"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8d8bac174bf8422b151200e6cc78ebe4"
+
+SRC_URI[md5sum] = "f638d854a3639fb37c0e06d1092a771e"
+SRC_URI[sha256sum] = "aef1e34d98d7bec7cc368e0ca0f2e97493f9b5ebe6d7103f8f6460cfca3dc6fc"
+
+PYPI_PACKAGE = "python-networkmanager"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "networkmanager python3-dbus python3-six"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb
index 4fe6893f..3a27c2c5 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb
@@ -40,4 +40,4 @@ inherit autotools-brokensep
EXTRA_OEMAKE = "BIN_GROUP=root MAN_GROUP=root RDIST_MODE=755 RDISTD_MODE=755 MAN_MODE=644"
# http://errors.yoctoproject.org/Errors/Details/186972/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb
index 98dc41a0..e3134e41 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb
@@ -12,6 +12,8 @@ SRC_URI = "git://git.openwrt.org/project/relayd.git \
SRCREV = "ad0b25ad74345d367c62311e14b279f5ccb8ef13"
PV = "0.0.1+git${SRCPV}"
+UPSTREAM_CHECK_COMMITS = "1"
+
S = "${WORKDIR}/git"
inherit cmake
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch
new file mode 100644
index 00000000..80cdd395
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch
@@ -0,0 +1,103 @@
+From 1e8d31c138395122df4cc2a3e0edd6cd3fad736c Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <pkj@axis.com>
+Date: Tue, 28 Apr 2020 02:05:33 +0200
+Subject: [PATCH] Add options to configure the use of libbsd
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+---
+ buildtools/wafsamba/wscript | 7 +++++++
+ lib/crypto/wscript_configure | 2 +-
+ lib/replace/wscript | 29 +++++++++++++++--------------
+ lib/texpect/wscript | 7 ++++++-
+ 4 files changed, 29 insertions(+), 16 deletions(-)
+
+diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
+index 7b8fb01..a8e4b0a 100644
+--- a/buildtools/wafsamba/wscript
++++ b/buildtools/wafsamba/wscript
+@@ -88,6 +88,13 @@ def options(opt):
+ help=("Disable use of gettext"),
+ action="store_true", dest='disable_gettext', default=False)
+
++ opt.add_option('--with-libbsd',
++ help=("Enable use of libbsd"),
++ action="store_true", dest='enable_libbsd')
++ opt.add_option('--without-libbsd',
++ help=("Disable use of libbsd"),
++ action="store_false", dest='enable_libbsd', default=False)
++
+ gr = opt.option_group('developer options')
+
+ gr.add_option('-C',
+diff --git a/lib/crypto/wscript_configure b/lib/crypto/wscript_configure
+index 09dfe04..e871718 100644
+--- a/lib/crypto/wscript_configure
++++ b/lib/crypto/wscript_configure
+@@ -2,7 +2,7 @@
+ from waflib import Options
+ from waflib import Errors, Logs
+
+-if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
++if not Options.options.enable_libbsd or not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
+ checklibc=True):
+ conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h',
+ checklibc=True)
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index 0020d2a..cd9228f 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -407,20 +407,21 @@ def configure(conf):
+
+ strlcpy_in_bsd = False
+
+- # libbsd on some platforms provides strlcpy and strlcat
+- if not conf.CHECK_FUNCS('strlcpy strlcat'):
+- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+- checklibc=True):
+- strlcpy_in_bsd = True
+- if not conf.CHECK_FUNCS('getpeereid'):
+- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS('setproctitle_init'):
+- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+- if not conf.CHECK_FUNCS('closefrom'):
+- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++ if Options.options.enable_libbsd:
++ # libbsd on some platforms provides strlcpy and strlcat
++ if not conf.CHECK_FUNCS('strlcpy strlcat'):
++ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++ checklibc=True):
++ strlcpy_in_bsd = True
++ if not conf.CHECK_FUNCS('getpeereid'):
++ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS('setproctitle_init'):
++ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
++
++ if not conf.CHECK_FUNCS('closefrom'):
++ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+
+ conf.CHECK_CODE('''
+ struct ucred cred;
+diff --git a/lib/texpect/wscript b/lib/texpect/wscript
+index e14c048..a91de59 100644
+--- a/lib/texpect/wscript
++++ b/lib/texpect/wscript
+@@ -1,7 +1,12 @@
+ #!/usr/bin/env python
++from waflib import Options
+
+ def configure(conf):
+- conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers='pty.h util.h bsd/libutil.h libutil.h')
++ hdrs = 'pty.h util.h'
++ if Options.options.enable_libbsd:
++ hdrs += ' bsd/libutil.h'
++ hdrs += ' libutil.h'
++ conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers=hdrs)
+
+ def build(bld):
+ bld.SAMBA_BINARY('texpect', 'texpect.c', deps='popt util replace', install=False)
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch
deleted file mode 100644
index 4c94831d..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 0bc8bc4143a58f91f6d7ce228b6763f377fdf45a Mon Sep 17 00:00:00 2001
-From: Andrew Bartlett <abartlet@samba.org>
-Date: Thu, 12 Jul 2018 12:34:56 +1200
-Subject: [PATCH] ldb: Refuse to build Samba against a newer minor version of
- ldb
-
-Samba is not compatible with new versions of ldb (except release versions)
-
-Other users would not notice the breakages, but Samba makes many
-more assuptions about the LDB internals than any other package.
-
-(Specifically, LDB 1.2 and 1.4 broke builds against released
-Samba versions)
-
-BUG: https://bugzilla.samba.org/show_bug.cgi?id=13519
-
-Signed-off-by: Andrew Bartlett <abartlet@samba.org>
-Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
-(cherry picked from commit 52efa796538ae004ca62ea32fc8c833472991be6)
----
- lib/ldb/wscript | 32 ++++++++++++++++++++++----------
- 1 file changed, 22 insertions(+), 10 deletions(-)
-
-diff --git a/lib/ldb/wscript b/lib/ldb/wscript
-index d94086b..2bb0832 100644
---- a/lib/ldb/wscript
-+++ b/lib/ldb/wscript
-@@ -62,23 +62,33 @@ def configure(conf):
- conf.env.standalone_ldb = conf.IN_LAUNCH_DIR()
-
- if not conf.env.standalone_ldb:
-+ max_ldb_version = [int(x) for x in VERSION.split(".")]
-+ max_ldb_version[2] = 999
-+ max_ldb_version_dots = "%d.%d.%d" % tuple(max_ldb_version)
-+
- if conf.env.disable_python:
-- if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', minversion=VERSION,
-- onlyif='talloc tdb tevent',
-- implied_deps='replace talloc tdb tevent'):
-+ if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb',
-+ minversion=VERSION,
-+ maxversion=max_ldb_version_dots,
-+ onlyif='talloc tdb tevent',
-+ implied_deps='replace talloc tdb tevent'):
- conf.define('USING_SYSTEM_LDB', 1)
- else:
- using_system_pyldb_util = True
-- if not conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util', minversion=VERSION,
-- onlyif='talloc tdb tevent',
-- implied_deps='replace talloc tdb tevent ldb'):
-+ if not conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util',
-+ minversion=VERSION,
-+ maxversion=max_ldb_version_dots,
-+ onlyif='talloc tdb tevent',
-+ implied_deps='replace talloc tdb tevent ldb'):
- using_system_pyldb_util = False
-
- # We need to get a pyldb-util for all the python versions
- # we are building for
- if conf.env['EXTRA_PYTHON']:
- name = 'pyldb-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG']
-- if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION,
-+ if not conf.CHECK_BUNDLED_SYSTEM_PKG(name,
-+ minversion=VERSION,
-+ maxversion=max_ldb_version_dots,
- onlyif='talloc tdb tevent',
- implied_deps='replace talloc tdb tevent ldb'):
- using_system_pyldb_util = False
-@@ -86,9 +96,11 @@ def configure(conf):
- if using_system_pyldb_util:
- conf.define('USING_SYSTEM_PYLDB_UTIL', 1)
-
-- if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', minversion=VERSION,
-- onlyif='talloc tdb tevent pyldb-util',
-- implied_deps='replace talloc tdb tevent'):
-+ if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb',
-+ minversion=VERSION,
-+ maxversion=max_ldb_version_dots,
-+ onlyif='talloc tdb tevent pyldb-util',
-+ implied_deps='replace talloc tdb tevent'):
- conf.define('USING_SYSTEM_LDB', 1)
-
- if conf.CONFIG_SET('USING_SYSTEM_LDB'):
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch
new file mode 100644
index 00000000..de7f3118
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch
@@ -0,0 +1,30 @@
+From 3a935c638605bfb392ca7780d22c08c1a0a71e71 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 5 Sep 2019 21:37:33 -0700
+Subject: [PATCH 1/2] lib/replace/wscript: Avoid generating nested main
+ function
+
+clang is not happy when it sees another main nested inside the main
+function and fails the test for prctl syscall, therefore avoid adding
+implicit main() here
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/replace/wscript | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index a7fd25d..d6767fc 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -137,6 +137,7 @@ def configure(conf):
+ }
+ ''',
+ 'HAVE_PRCTL',
++ addmain=False,
+ headers='sys/prctl.h',
+ msg='Checking for prctl syscall')
+
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
new file mode 100644
index 00000000..fb12a10e
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
@@ -0,0 +1,42 @@
+From fcb8ecd530b2d151e373974741601483326f7528 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 27 Jun 2019 11:09:47 +0800
+Subject: [PATCH] samba: fix musl lib without innetgr
+
+Upstream-Status: Pending
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/util/access.c | 2 +-
+ source3/auth/user_util.c | 2 +-
+ 2 file changed, 2 insertion(+), 2 deletion(-)
+
+diff --git a/lib/util/access.c b/lib/util/access.c
+index 7da0573..b94949e 100644
+--- a/lib/util/access.c
++++ b/lib/util/access.c
+@@ -112,7 +112,7 @@ static bool string_match(const char *tok,const char *s)
+ return true;
+ }
+ } else if (tok[0] == '@') { /* netgroup: look it up */
+-#ifdef HAVE_NETGROUP
++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR)
+ DATA_BLOB tmp;
+ char *mydomain = NULL;
+ char *hostname = NULL;
+diff --git a/source3/auth/user_util.c b/source3/auth/user_util.c
+index a76b5d4..30f523d 100644
+--- a/source3/auth/user_util.c
++++ b/source3/auth/user_util.c
+@@ -148,7 +148,7 @@ static void store_map_in_gencache(TALLOC_CTX *ctx, const char *from, const char
+
+ bool user_in_netgroup(TALLOC_CTX *ctx, const char *user, const char *ngname)
+ {
+-#ifdef HAVE_NETGROUP
++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR)
+ static char *my_yp_domain = NULL;
+ char *lowercase_user = NULL;
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 00000000..23b35a81
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+ args = Utils.to_list(kw.get('exec_args', []))
+ proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ """
+ color = 'PINK'
+ def run(self):
++ args = self.generator.bld.kw.get('exec_args', [])
+ if getattr(self.generator, 'rpath', None):
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+- else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++ else:
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ else:
+ env = self.env.env or {}
+ env.update(dict(os.environ))
+ for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+
+ @feature('test_exec')
+ @after_method('apply_link')
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch
new file mode 100644
index 00000000..6fc84933
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch
@@ -0,0 +1,58 @@
+From c62a6f32ab965de2ec77a614f20f04568116835b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 5 Sep 2019 21:39:05 -0700
+Subject: [PATCH 2/2] util_sec.c: Move __thread variable to global scope
+
+Make clang happy otherwise it complains about variable scope
+
+fixes
+
+source3/./lib/util_sec.c:470:4: error: '__thread' variables must have global storage
+ } __thread cache;
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ source3/lib/util_sec.c | 19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/source3/lib/util_sec.c b/source3/lib/util_sec.c
+index 9408269..7390318 100644
+--- a/source3/lib/util_sec.c
++++ b/source3/lib/util_sec.c
+@@ -444,6 +444,17 @@ void become_user_permanently(uid_t uid, gid_t gid)
+ assert_gid(gid, gid);
+ }
+
++#ifdef HAVE___THREAD
++ struct cache_t {
++ bool active;
++ uid_t uid;
++ gid_t gid;
++ size_t setlen;
++ uintptr_t gidset;
++ };
++
++static __thread struct cache_t cache;
++#endif
+ /**********************************************************
+ Function to set thread specific credentials. Leave
+ saved-set uid/gid alone.Must be thread-safe code.
+@@ -461,14 +472,6 @@ int set_thread_credentials(uid_t uid,
+ * available.
+ */
+ #ifdef HAVE___THREAD
+- static struct {
+- bool active;
+- uid_t uid;
+- gid_t gid;
+- size_t setlen;
+- uintptr_t gidset;
+- } __thread cache;
+-
+ if (cache.active &&
+ cache.uid == uid &&
+ cache.gid == gid &&
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
index e112b3b4..3f2921ed 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
@@ -1,21 +1,32 @@
-Some modules such as dynamic library maybe cann't be imported while cross compile,
-we just check whether does the module exist.
+From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 25 Jun 2019 14:25:08 +0800
+Subject: [PATCH] do not import target module while cross compile
+
+Some modules such as dynamic library maybe cann't be imported
+while cross compile, we just check whether does the module exist.
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-Index: samba-4.4.2/buildtools/wafsamba/samba_bundled.py
-===================================================================
---- samba-4.4.2.orig/buildtools/wafsamba/samba_bundled.py
-+++ samba-4.4.2/buildtools/wafsamba/samba_bundled.py
-@@ -2,6 +2,7 @@
-
- import sys
- import Build, Options, Logs
-+import imp, os
- from Configure import conf
- from samba_utils import TO_LIST
+update to version 4.10.5, and switch to python3
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
+index 60ce7da..5468a36 100644
+--- a/buildtools/wafsamba/samba_bundled.py
++++ b/buildtools/wafsamba/samba_bundled.py
+@@ -4,6 +4,7 @@ import sys
+ from waflib import Build, Options, Logs
+ from waflib.Configure import conf
+ from wafsamba import samba_utils
++import importlib.util, os
-@@ -230,17 +231,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li
+ def PRIVATE_NAME(bld, name, private_extension, private_library):
+ '''possibly rename a library to include a bundled extension'''
+@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
# versions
minversion = minimum_library_version(conf, libname, minversion)
@@ -25,34 +36,32 @@ Index: samba-4.4.2/buildtools/wafsamba/samba_bundled.py
- found = False
- else:
+ # Find module in PYTHONPATH
-+ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
-+ if stuff:
++ spec = importlib.util._find_spec_from_path(modulename, [os.environ["PYTHONPATH"]])
++ if spec:
try:
- version = m.__version__
- except AttributeError:
-+ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
++ module = importlib.util.module_from_spec(spec)
++ spec.loader.load_module(module)
+ except ImportError:
found = False
+
+ if conf.env.CROSS_COMPILE:
+ # Some modules such as dynamic library maybe cann't be imported
+ # while cross compile, we just check whether the module exist
-+ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
++ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (spec.name))
+ found = True
else:
- found = tuplize_version(version) >= tuplize_version(minversion)
+ try:
-+ version = m.__version__
++ version = module.__version__
+ except AttributeError:
+ found = False
+ else:
+ found = tuplize_version(version) >= tuplize_version(minversion)
-+ finally:
-+ if stuff[0]:
-+ stuff[0].close()
-+ else:
-+ found = False
-+
if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
sys.exit(1)
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
index 6a7f8fac..46a6f062 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
@@ -1,54 +1,40 @@
-From 9a2d6315ff206b2a47100dfd85afe3af56576995 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Thu, 10 Dec 2015 04:20:51 -0500
+From 87bc8e7eafc7d12a1d3a143ebb9e43cf5fbafb72 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 14:11:16 +0800
Subject: [PATCH] Add config option without-valgrind
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+Update patch to version 4.10.5
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- lib/replace/wscript | 4 +++-
- source3/wscript | 5 ++++-
+ lib/replace/wscript | 5 +++--
wscript | 4 ++++
- 3 files changed, 11 insertions(+), 2 deletions(-)
+ 2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index f0040b1..aca73af 100644
+index a7fd25d..a19ae68 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
-@@ -101,7 +101,9 @@ def configure(conf):
+@@ -110,8 +110,9 @@ def configure(conf):
conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+ if not Options.options.disable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-diff --git a/source3/wscript b/source3/wscript
-index bac3dd5..a5c51ea 100644
---- a/source3/wscript
-+++ b/source3/wscript
-@@ -1070,7 +1070,10 @@ syscall(SYS_setgroups32, 0, NULL);
- Logs.warn("--with-dnsupdate=yes but gssapi support not sufficient")
- else:
- conf.DEFINE('WITH_DNS_UPDATES', 1)
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
-+ if not Options.options.disable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
- if Options.options.developer:
- if conf.CONFIG_SET('HAVE_VALGRIND_H') or conf.CONFIG_SET('HAVE_VALGRIND_VALGRIND_H'):
- conf.DEFINE('VALGRIND', '1')
diff --git a/wscript b/wscript
-index 542a60c..22e6116 100644
+index e38a8e9..38b7230 100644
--- a/wscript
+++ b/wscript
-@@ -86,6 +86,10 @@ def set_options(opt):
+@@ -105,6 +105,10 @@ def options(opt):
help=("Disable RELRO builds"),
action="store_false", dest='enable_relro')
@@ -58,7 +44,7 @@ index 542a60c..22e6116 100644
+
gr = opt.option_group('developer options')
- opt.tool_options('python') # options for disabling pyc or pyo compilation
+ opt.load('python') # options for disabling pyc or pyo compilation
--
-1.9.1
+2.7.4
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
index 894bc8bb..d07ec0df 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
@@ -1,15 +1,28 @@
-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);
+From 062cf74b498c1d12fd76f9d9bca926ac806e0b99 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 14:15:18 +0800
+Subject: [PATCH] glibc only fix
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ ctdb/tests/src/test_mutex_raw.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ctdb/tests/src/test_mutex_raw.c b/ctdb/tests/src/test_mutex_raw.c
+index 926a525..814343f 100644
+--- a/ctdb/tests/src/test_mutex_raw.c
++++ b/ctdb/tests/src/test_mutex_raw.c
+@@ -291,8 +291,10 @@ int main(int argc, const char **argv)
+ "failed\n");
+ exit (EXIT_FAILURE);
}
+#ifdef __GLIBC__
} else if (ret == EBUSY) {
- printf("pid=%u\n", mutex->__data.__owner);
+ printf("INFO: pid=%u\n", mutex->__data.__owner);
+#endif
} else if (ret == 0) {
pthread_mutex_unlock(mutex);
}
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf
index a0b87c37..d6bde417 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf
@@ -25,6 +25,10 @@
## Browsing/Identification ###
+# Prevent anonymous connections. Overriden if the user sets guest ok = yes
+# on any share
+ restrict anonymous = 1
+
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP
@@ -114,7 +118,7 @@
# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
- map to guest = bad user
+ map to guest = never
########## Domains ###########
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.15.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.15.bb
new file mode 100644
index 00000000..2c74c27f
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.15.bb
@@ -0,0 +1,335 @@
+HOMEPAGE = "https://www.samba.org/"
+SECTION = "console/network"
+
+LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
+ file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 "
+
+SAMBA_MIRROR = "http://samba.org/samba/ftp"
+MIRRORS += "\
+${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
+${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
+"
+
+SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
+ file://smb.conf \
+ 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://netdb_defines.patch \
+ file://glibc_only.patch \
+ file://iconv-4.7.0.patch \
+ file://dnsserver-4.7.0.patch \
+ file://smb_conf-4.7.0.patch \
+ file://volatiles.03_samba \
+ file://0001-waf-add-support-of-cross_compile.patch \
+ file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \
+ file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \
+ file://0001-Add-options-to-configure-the-use-of-libbsd.patch \
+ "
+SRC_URI_append_libc-musl = " \
+ file://samba-pam.patch \
+ file://samba-4.3.9-remove-getpwent_r.patch \
+ file://cmocka-uintptr_t.patch \
+ file://0001-samba-fix-musl-lib-without-innetgr.patch \
+ "
+
+SRC_URI[md5sum] = "67e9f6b8c5140475641bf5121c93b3d4"
+SRC_URI[sha256sum] = "0b8b62558b62fbb121015f28f40fae0f07522710b6bef77c508b51bb6914ced9"
+
+UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.10(\.\d+)+).tar.gz"
+
+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 libaio libpam libtasn1 jansson"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
+INITSCRIPT_NAME = "samba"
+INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
+
+SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind"
+SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
+SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
+SYSTEMD_SERVICE_winbind = "winbind.service"
+
+# There are prerequisite settings to enable ad-dc, so disable the service by default.
+# Reference:
+# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
+SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+# Use krb5. Build active domain controller.
+#
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
+ acl cups ad-dc gnutls ldap mitkrb5 \
+"
+
+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"
+PACKAGECONFIG[libunwind] = ", , libunwind"
+PACKAGECONFIG[gpgme] = ",--without-gpgme,,"
+PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
+PACKAGECONFIG[libbsd] = "--with-libbsd, --without-libbsd, libbsd"
+
+# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
+# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
+# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html
+# So the working combination is:
+# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable
+# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable
+#
+# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where
+# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow.
+#
+PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,,"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
+
+SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
+SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
+SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
+SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
+
+# These libraries are supposed to replace others supplied by packages, but decorate the names of
+# .so files so there will not be a conflict. This is not done consistantly, so be very careful
+# when adding to this list.
+#
+SAMBA4_LIBS="heimdal,cmocka,NONE"
+
+EXTRA_OECONF += "--enable-fhs \
+ --with-piddir=/run \
+ --with-sockets-dir=/run/samba \
+ --with-modulesdir=${libdir}/samba \
+ --with-lockdir=${localstatedir}/lib/samba \
+ --with-cachedir=${localstatedir}/lib/samba \
+ --disable-rpath-install \
+ --with-shared-modules=${SAMBA4_MODULES} \
+ --bundled-libraries=${SAMBA4_LIBS} \
+ ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
+ --with-cluster-support \
+ --with-profiling-data \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix} \
+ --with-pam --with-pammodulesdir=${base_libdir}/security \
+ "
+
+LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+do_install_append() {
+ for section in 1 5 7; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
+ done
+ for section in 1 5 7 8; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
+ done
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/
+ sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
+ -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
+ -i ${D}${systemd_system_unitdir}/*.service
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
+ rm -f ${D}${systemd_system_unitdir}/samba.service
+ fi
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ echo "d ${localstatedir}/log/samba 0755 root root -" \
+ >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ 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
+
+ install -d ${D}${sysconfdir}/samba
+ echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
+ install -m644 ${WORKDIR}/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
+
+ # 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 || true
+ rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
+
+ for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate; do
+ if [ -f "${D}${sbindir}/$f" ]; then
+ sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f
+ fi
+ done
+ if [ -f "${D}${bindir}/samba-tool" ]; then
+ sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool
+ fi
+
+}
+
+PACKAGES =+ "${PN}-python3 ${PN}-pidl \
+ ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
+ winbind \
+ ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \
+ smbclient ${PN}-client ${PN}-server ${PN}-test"
+
+python samba_populate_packages() {
+ def module_hook(file, pkg, pattern, format, basename):
+ pn = d.getVar('PN')
+ d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
+
+ mlprefix = d.getVar('MLPREFIX') 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')
+ 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 "
+PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
+
+RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
+RDEPENDS_${PN}-python3 += "pytalloc python3-tdb"
+
+FILES_${PN}-base = "${sbindir}/nmbd \
+ ${sbindir}/smbd \
+ ${sysconfdir}/init.d \
+ ${systemd_system_unitdir}/nmb.service \
+ ${systemd_system_unitdir}/smb.service"
+
+FILES_${PN}-ad-dc = "${sbindir}/samba \
+ ${systemd_system_unitdir}/samba.service \
+ ${libdir}/krb5/plugins/kdb/samba.so \
+"
+RDEPENDS_${PN}-ad-dc = "krb5-kdc"
+
+FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
+ ${bindir}/ctdb_run_cluster_tests \
+ ${sysconfdir}/ctdb/nodes \
+ ${datadir}/ctdb-tests \
+ ${datadir}/ctdb/tests \
+ ${localstatedir}/lib/ctdb \
+ "
+
+FILES_${BPN}-common = "${sysconfdir}/default \
+ ${sysconfdir}/samba \
+ ${sysconfdir}/tmpfiles.d \
+ ${localstatedir}/lib/samba \
+ ${localstatedir}/spool/samba \
+"
+
+FILES_${PN} += "${libdir}/vfs/*.so \
+ ${libdir}/charset/*.so \
+ ${libdir}/*.dat \
+ ${libdir}/auth/*.so \
+ ${datadir}/ctdb/events/* \
+"
+
+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 \
+ ${libdir}/winbind-krb5-localauth.so \
+ ${sysconfdir}/init.d/winbind \
+ ${systemd_system_unitdir}/winbind.service"
+
+FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_smbclient = "${bindir}/cifsdd \
+ ${bindir}/rpcclient \
+ ${bindir}/smbcacls \
+ ${bindir}/smbclient \
+ ${bindir}/smbcquotas \
+ ${bindir}/smbget \
+ ${bindir}/smbspool \
+ ${bindir}/smbtar \
+ ${bindir}/smbtree \
+ ${libdir}/samba/smbspool_krb5_wrapper"
+
+RDEPENDS_${PN}-pidl_append = " perl"
+FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
+
+RDEPENDS_${PN}-client = "\
+ smbclient \
+ winbind \
+ registry-tools \
+ ${PN}-pidl \
+ "
+
+ALLOW_EMPTY_${PN}-client = "1"
+
+RDEPENDS_${PN}-server = "\
+ ${PN} \
+ winbind \
+ registry-tools \
+ "
+
+ALLOW_EMPTY_${PN}-server = "1"
+
+RDEPENDS_${PN}-test = "\
+ ${PN}-ctdb-tests \
+ ${PN}-testsuite \
+ "
+
+ALLOW_EMPTY_${PN}-test = "1"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb
deleted file mode 100644
index f1aaeb83..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb
+++ /dev/null
@@ -1,314 +0,0 @@
-HOMEPAGE = "https://www.samba.org/"
-SECTION = "console/network"
-
-LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
- file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 "
-
-SAMBA_MIRROR = "http://samba.org/samba/ftp"
-MIRRORS += "\
-${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
-${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
-"
-
-SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
- file://smb.conf \
- 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://netdb_defines.patch \
- file://glibc_only.patch \
- file://iconv-4.7.0.patch \
- file://dnsserver-4.7.0.patch \
- file://smb_conf-4.7.0.patch \
- file://volatiles.03_samba \
- file://0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch \
- "
-SRC_URI_append_libc-musl = " \
- file://samba-pam.patch \
- file://samba-4.3.9-remove-getpwent_r.patch \
- file://cmocka-uintptr_t.patch \
- "
-
-SRC_URI[md5sum] = "ca5bfbebd8d9eb95506e16594b2bbee2"
-SRC_URI[sha256sum] = "f5044d149e01894a08b1d114b8b69aed78171a7bb19608bd1fd771453b9a5406"
-
-UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.8(\.\d+)+).tar.gz"
-
-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 libbsd libaio libpam"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-DEPENDS_append_libc-musl = " libtirpc"
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS_append_libc-musl = " -ltirpc"
-
-INITSCRIPT_NAME = "samba"
-INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
-
-SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind"
-SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
-SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
-SYSTEMD_SERVICE_winbind = "winbind.service"
-
-# There are prerequisite settings to enable ad-dc, so disable the service by default.
-# Reference:
-# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
-SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable"
-
-# Use krb5. Build active domain controller.
-#
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
- acl ad-dc cups gnutls ldap mitkrb5 \
-"
-
-RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
-
-PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[sasl] = ",,cyrus-sasl"
-PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
-PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
-PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
-PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
-
-# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
-# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
-# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html
-# So the working combination is:
-# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable
-# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable
-#
-# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where
-# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow.
-#
-PACKAGECONFIG[ad-dc] = ",--without-ad-dc,,"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
-PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
-
-SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
-SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
-SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
-SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
-
-# These libraries are supposed to replace others supplied by packages, but decorate the names of
-# .so files so there will not be a conflict. This is not done consistantly, so be very careful
-# when adding to this list.
-#
-SAMBA4_LIBS="heimdal,cmocka,ldb,pyldb-util,NONE"
-
-EXTRA_OECONF += "--enable-fhs \
- --with-piddir=/run \
- --with-sockets-dir=/run/samba \
- --with-modulesdir=${libdir}/samba \
- --with-lockdir=${localstatedir}/lib/samba \
- --with-cachedir=${localstatedir}/lib/samba \
- --disable-rpath-install \
- --with-shared-modules=${SAMBA4_MODULES} \
- --bundled-libraries=${SAMBA4_LIBS} \
- ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
- --with-cluster-support \
- --with-profiling-data \
- --with-libiconv=${STAGING_DIR_HOST}${prefix} \
- --with-pam --with-pammodulesdir=${base_libdir}/security \
- "
-
-LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-do_install_append() {
- for section in 1 5 7; do
- install -d ${D}${mandir}/man$section
- install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
- done
- for section in 1 5 7 8; do
- install -d ${D}${mandir}/man$section
- install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
- done
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/
- sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
- -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
- -i ${D}${systemd_system_unitdir}/*.service
-
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
- rm -f ${D}${systemd_system_unitdir}/samba.service
- fi
-
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
- echo "d ${localstatedir}/log/samba 0755 root root -" \
- >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
- 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
-
- install -d ${D}${sysconfdir}/samba
- echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
- install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
- install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
-
- install -d ${D}${sysconfdir}/default
- install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
-
- # install ctdb config file and test cases
- install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes
- # the items are from ctdb/tests/run_tests.sh
- for d in onnode takeover tool eventscripts cunit simple complex; do
- testdir=${D}${datadir}/ctdb-tests/$d
- install -d $testdir
- cp ${S}/ctdb/tests/$d/*.sh $testdir
- cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
- done
-
- # fix file-rdeps qa warning
- if [ -f ${D}${bindir}/onnode ]; then
- sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
- fi
-
- chmod 0750 ${D}${sysconfdir}/sudoers.d
- rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
-}
-
-PACKAGES =+ "${PN}-python ${PN}-pidl \
- ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
- winbind \
- ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \
- smbclient ${PN}-client ${PN}-server ${PN}-test"
-
-python samba_populate_packages() {
- def module_hook(file, pkg, pattern, format, basename):
- pn = d.getVar('PN', True)
- d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
-
- mlprefix = d.getVar('MLPREFIX', True) or ''
- pam_libdir = d.expand('${base_libdir}/security')
- pam_pkgname = mlprefix + 'pam-plugin%s'
- do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
-
- libdir = d.getVar('libdir', True)
- do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
- pkglibdir = '%s/samba' % libdir
- do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
- moduledir = '%s/samba/auth' % libdir
- do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
- moduledir = '%s/samba/pdb' % libdir
- do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
-}
-
-PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
-PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
-
-RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules"
-RDEPENDS_${PN}-python += "pytalloc python-tdb"
-
-FILES_${PN}-base = "${sbindir}/nmbd \
- ${sbindir}/smbd \
- ${sysconfdir}/init.d \
- ${localstatedir}/lib/samba \
- ${localstatedir}/nmbd \
- ${localstatedir}/spool/samba \
- ${systemd_system_unitdir}/nmb.service \
- ${systemd_system_unitdir}/smb.service"
-
-FILES_${PN}-ad-dc = "${sbindir}/samba \
- ${systemd_system_unitdir}/samba.service \
- ${libdir}/krb5/plugins/kdb/samba.so \
- "
-RDEPENDS_${PN}-ad-dc = "krb5-kdc"
-
-FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
- ${bindir}/ctdb_run_cluster_tests \
- ${sysconfdir}/ctdb/nodes \
- ${datadir}/ctdb-tests \
- ${datadir}/ctdb/tests \
- "
-
-FILES_${BPN}-common = "${sysconfdir}/default \
- ${sysconfdir}/samba \
- ${sysconfdir}/tmpfiles.d \
-"
-
-FILES_${PN} += "${libdir}/vfs/*.so \
- ${libdir}/charset/*.so \
- ${libdir}/*.dat \
- ${libdir}/auth/*.so \
-"
-
-FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
-
-FILES_${PN}-testsuite = "${bindir}/gentest \
- ${bindir}/locktest \
- ${bindir}/masktest \
- ${bindir}/ndrdump \
- ${bindir}/smbtorture"
-
-FILES_registry-tools = "${bindir}/regdiff \
- ${bindir}/regpatch \
- ${bindir}/regshell \
- ${bindir}/regtree"
-
-FILES_winbind = "${sbindir}/winbindd \
- ${bindir}/wbinfo \
- ${bindir}/ntlm_auth \
- ${libdir}/samba/idmap \
- ${libdir}/samba/nss_info \
- ${libdir}/winbind_krb5_locator.so \
- ${libdir}/winbind-krb5-localauth.so \
- ${sysconfdir}/init.d/winbind \
- ${systemd_system_unitdir}/winbind.service"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES_smbclient = "${bindir}/cifsdd \
- ${bindir}/rpcclient \
- ${bindir}/smbcacls \
- ${bindir}/smbclient \
- ${bindir}/smbcquotas \
- ${bindir}/smbget \
- ${bindir}/smbspool \
- ${bindir}/smbtar \
- ${bindir}/smbtree \
- ${libdir}/samba/smbspool_krb5_wrapper"
-
-RDEPENDS_${PN}-pidl_append = " perl"
-FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
-
-RDEPENDS_${PN}-client = "\
- smbclient \
- winbind \
- registry-tools \
- ${PN}-pidl \
- "
-
-ALLOW_EMPTY_${PN}-client = "1"
-
-RDEPENDS_${PN}-server = "\
- ${PN} \
- winbind \
- registry-tools \
- "
-
-ALLOW_EMPTY_${PN}-server = "1"
-
-RDEPENDS_${PN}-test = "\
- ${PN}-ctdb-tests \
- ${PN}-testsuite \
- "
-
-ALLOW_EMPTY_${PN}-test = "1"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb
deleted file mode 100644
index fc304fae..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "set Linux HDLC packet radio modem driver port information"
-HOMEPAGE = "https://www.kernel.org/pub/linux/utils/net/hdlc"
-SECTION = "comm"
-LICENSE = "GPLv2 & GPLv2+ "
-LIC_FILES_CHKSUM = "file://sethdlc.c;endline=10;md5=90f936879e9f8b755a138aeb348782eb"
-
-
-SRC_URI = "https://www.kernel.org/pub/linux/utils/net/hdlc/${BPN}-1.18.tar.gz \
- file://sethdlc-fix-host-contamination.patch \
-"
-SRC_URI[md5sum] = "9016878156a5eadb06c0bae71cc5c9ab"
-SRC_URI[sha256sum] = "21b1e2e1cb0e288b0ec8fcfd9fed449914e0f8e6fc273706bd5b3d4f6ab6b04e"
-
-
-S = "${WORKDIR}/${BPN}-1.18"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-DEPENDS = "virtual/kernel"
-
-EXTRA_OEMAKE="CROSS_COMPILE=${TARGET_PREFIX} CC='${CC} ${LDFLAGS}' \
- KERNEL_DIR=${STAGING_KERNEL_DIR} "
-
-do_compile_prepend () {
- oe_runmake clean
-}
-
-
-do_install() {
- install -d ${D}/${bindir}
- install sethdlc ${D}/${bindir}/
-}
-
-FILES_${PN} += "${bindir}/sethdlc"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc_1.18.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc_1.18.bb
new file mode 100644
index 00000000..5c7180b6
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc_1.18.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "set Linux HDLC packet radio modem driver port information"
+HOMEPAGE = "https://www.kernel.org/pub/linux/utils/net/hdlc"
+SECTION = "comm"
+LICENSE = "GPLv2 & GPLv2+ "
+LIC_FILES_CHKSUM = "file://sethdlc.c;endline=10;md5=90f936879e9f8b755a138aeb348782eb"
+
+
+SRC_URI = "https://www.kernel.org/pub/linux/utils/net/hdlc/${BP}.tar.gz \
+ file://sethdlc-fix-host-contamination.patch \
+"
+SRC_URI[md5sum] = "9016878156a5eadb06c0bae71cc5c9ab"
+SRC_URI[sha256sum] = "21b1e2e1cb0e288b0ec8fcfd9fed449914e0f8e6fc273706bd5b3d4f6ab6b04e"
+
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+DEPENDS = "virtual/kernel"
+
+EXTRA_OEMAKE="CROSS_COMPILE=${TARGET_PREFIX} CC='${CC} ${LDFLAGS}' \
+ KERNEL_DIR=${STAGING_KERNEL_DIR} "
+
+do_compile_prepend () {
+ oe_runmake clean
+}
+
+
+do_install() {
+ install -d ${D}/${bindir}
+ install sethdlc ${D}/${bindir}/
+}
+
+FILES_${PN} += "${bindir}/sethdlc"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch
new file mode 100644
index 00000000..87fd05bf
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch
@@ -0,0 +1,60 @@
+From 65463a7c5cb2514b1523a81911810effffb75a79 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Fri, 28 Jun 2019 15:05:31 +0800
+Subject: [PATCH] configure.in: disable tirpc checking for fedora
+
+The Fedora 28+ does not have inbuilt SunRPC support in glibc and is
+separately availble in tirpc package. So it enables tirpc checking for
+fedora in configure.
+
+Drop this piece of code since we had specify '-ltirpc' in LDFLAGS
+explicitly. Otherwise it will cause a compile-host-path QA issue if the
+host is Fedora 28+:
+cc1: warning: include location "/usr/include/tirpc" is unsafe for
+cross-compilation [-Wpoison-system-directories]
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ configure.in | 24 ------------------------
+ 1 file changed, 24 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 8662cdd..0ff7e27 100644
+--- a/configure.in
++++ b/configure.in
+@@ -895,30 +895,6 @@ if test "x$enable_dlclose" = "xno"; then
+ AC_DEFINE([DISABLE_DLCLOSE_FOR_VALGRIND_TESTING],[1],[Don't close opened shared objects for valgrind leak testing of dynamic libraries])
+ fi
+
+-##################################################
+-# Fedora 28+ does not have inbuilt SunRPC support#
+-# in glibc and is separately availble in tirpc #
+-# package. Make sure we've got the library and #
+-# link it #
+-##################################################
+-
+-if test -f /etc/fedora-release ; then
+- DISTRO_VERSION=$(awk '{ print $3 }' /etc/fedora-release)
+- if test $DISTRO_VERSION -ge 28 ; then
+- TIRPC=""
+- AC_CHECK_LIB(tirpc,bindresvport,, TIRPC="no")
+- echo "$TIRPC"
+- if test "x$TIRPC" = "xno"; then
+- echo
+- echo " ERROR! tirpc not found, get it by running "
+- echo " yum install libtirpc-devel "
+- exit
+- fi
+- LIBS="${LIBS} -ltirpc"
+- extra_incl="-I/usr/include/tirpc"
+- fi
+-fi
+-
+ Z_LIB=""
+ AC_CHECK_HEADERS(zlib.h,, Z_LIB="no")
+ if test "x$Z_LIB" = "xno"; then
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch
index 037962fb..30ec1743 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch
@@ -226,7 +226,7 @@ index 4b3a5db..a6c5498 100644
-]])],
-[have_daq_packet_trace="yes"],
-[have_daq_packet_trace="no"])
-+have_daq_packet_trace="yes"
++have_daq_packet_trace="no"
AC_MSG_RESULT($have_daq_packet_trace)
if test "x$have_daq_packet_trace" = "xyes"; then
AC_DEFINE([HAVE_DAQ_PKT_TRACE],[1],
@@ -245,7 +245,7 @@ index 4b3a5db..a6c5498 100644
-]])],
-[have_daq_verdict_reason="yes"],
-[have_daq_verdict_reason="no"])
-+have_daq_verdict_reason="yes"
++have_daq_verdict_reason="no"
AC_MSG_RESULT($have_daq_verdict_reason)
if test "x$have_daq_verdict_reason" = "xyes"; then
AC_DEFINE([HAVE_DAQ_VERDICT_REASON],[1],
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init
index d8a00c43..0d90c9af 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Snort Startup Script modified for OpenEmbedded
+# Snort Startup Script modified for OpenEmbedded
#
# Script variables
@@ -30,16 +30,16 @@ fi
start()
{
-
[ -n "$LAN_INTERFACE" ] || return 0
# Check if log diratory is present. Otherwise, create it.
if [ ! -d $LOGDIR/$DATE ]; then
- mkdir -d $LOGDIR/$DATE
+ mkdir -p $LOGDIR/$DATE
/bin/chown -R $USER:$USER $LOGDIR/$DATE
- /bin/chmod -R 700 $LOGDIR/$DATE
+ /bin/chmod -R 700 $LOGDIR/$DATE
fi
/bin/echo "Starting $PROG: "
+
# Snort parameters
# -D Run Snort in background (daemon) mode
# -i <if> Listen on interface <if>
@@ -64,7 +64,7 @@ stop()
RETURN_VAL=$?
/bin/echo "$PROG shutdown complete."
[ -e $DEL_PID ] && rm -f $DEL_PID
- [ -e $DEL_PID.lck ] && rm -f $DEL_PID.lck
+ [ -e $DEL_PID.lck ] && rm -f $DEL_PID.lck
else
/bin/echo "ERROR: PID in $PID file not found."
RETURN_VAL=1
@@ -72,12 +72,13 @@ stop()
return $RETURN_VAL
}
-status() {
- if [ -s $PID ]; then
- echo "$PROG is running as pid `cat $PID`:"
- else
- echo "$PROG is not running."
- fi
+status()
+{
+ if [ -s $PID ]; then
+ echo "$PROG is running as pid `cat $PID`:"
+ else
+ echo "$PROG is not running."
+ fi
}
restart()
@@ -89,21 +90,21 @@ restart()
}
case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- status
- ;;
- restart|reload)
- restart
- ;;
- *)
- /bin/echo "Usage: $0 {start|stop|status|restart|reload}"
- RETURN_VAL=1
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ /bin/echo "Usage: $0 {start|stop|status|restart|reload}"
+ RETURN_VAL=1
esac
exit $RETURN_VAL
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/volatiles.99_snort b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/volatiles.99_snort
new file mode 100644
index 00000000..acf5f61a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/volatiles.99_snort
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d root root 0755 /var/log/snort none
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb
deleted file mode 100644
index a99138d3..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb
+++ /dev/null
@@ -1,103 +0,0 @@
-DESCRIPTION = "snort - a free lightweight network intrusion detection system for UNIX and Windows."
-HOMEPAGE = "http://www.snort.org/"
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
-
-DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native"
-
-SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \
- file://snort.init \
- file://0001-libpcap-search-sysroot-for-headers.patch \
- file://fix-host-contamination-when-enable-static-daq.patch \
- file://disable-run-test-program-while-cross-compiling.patch \
-"
-
-SRC_URI[md5sum] = "378e3938b2b5c8e358f942d0ffce18cc"
-SRC_URI[sha256sum] = "9f6b3aeac5a109f55504bd370564ac431cb1773507929dc461626898f33f46cd"
-
-UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
-UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar"
-
-inherit autotools gettext update-rc.d pkgconfig
-
-INITSCRIPT_NAME = "snort"
-INITSCRIPT_PARAMS = "defaults"
-
-EXTRA_OECONF = " \
- --enable-gre \
- --enable-linux-smp-stats \
- --enable-reload \
- --enable-reload-error-restart \
- --enable-targetbased \
- --enable-static-daq \
- --with-dnet-includes=${STAGING_INCDIR} \
- --with-dnet-libraries=${STAGING_LIBDIR} \
- --with-libpcre-includes=${STAGING_INCDIR} \
- --with-libpcre-libraries=${STAGING_LIBDIR} \
- --with-daq-includes=${STAGING_INCDIR} \
- --with-daq-libraries=${STAGING_LIBDIR} \
-"
-
-# if you want to disable it, you need to patch configure.in first
-# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no")
-# is called even with --without-openssl-includes
-PACKAGECONFIG ?= "openssl 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 += "-I${STAGING_INCDIR}/tirpc"
-LDFLAGS += " -ltirpc"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/snort/rules
- install -d ${D}${sysconfdir}/snort/preproc_rules
- install -d ${D}${sysconfdir}/init.d
- 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
- install -d ${D}/var/log/snort
-
- sed -i 's/-fdebug-prefix-map[^ ]*//g; s#${STAGING_DIR_TARGET}##g' ${D}${libdir}/pkgconfig/*.pc
-}
-
-FILES_${PN} += " \
- ${libdir}/snort_dynamicengine/*.so.* \
- ${libdir}/snort_dynamicpreprocessor/*.so.* \
- ${libdir}/snort_dynamicrules/*.so.* \
-"
-FILES_${PN}-dbg += " \
- ${libdir}/snort_dynamicengine/.debug \
- ${libdir}/snort_dynamicpreprocessor/.debug \
- ${libdir}/snort_dynamicrules/.debug \
-"
-FILES_${PN}-staticdev += " \
- ${libdir}/snort_dynamicengine/*.a \
- ${libdir}/snort_dynamicpreprocessor/*.a \
- ${libdir}/snort_dynamicrules/*.a \
- ${libdir}/snort/dynamic_preproc/*.a \
- ${libdir}/snort/dynamic_output/*.a \
-"
-FILES_${PN}-dev += " \
- ${libdir}/snort_dynamicengine/*.la \
- ${libdir}/snort_dynamicpreprocessor/*.la \
- ${libdir}/snort_dynamicrules/*.la \
- ${libdir}/snort_dynamicengine/*.so \
- ${libdir}/snort_dynamicpreprocessor/*.so \
- ${libdir}/snort_dynamicrules/*.so \
- ${prefix}/src/snort_dynamicsrc \
-"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.16.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.16.bb
new file mode 100644
index 00000000..d8073d86
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.16.bb
@@ -0,0 +1,113 @@
+DESCRIPTION = "snort - a free lightweight network intrusion detection system for UNIX and Windows."
+HOMEPAGE = "http://www.snort.org/"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
+
+DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native"
+
+SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \
+ file://snort.init \
+ file://volatiles.99_snort \
+ file://0001-libpcap-search-sysroot-for-headers.patch \
+ file://fix-host-contamination-when-enable-static-daq.patch \
+ file://disable-run-test-program-while-cross-compiling.patch \
+ file://configure.in-disable-tirpc-checking-for-fedora.patch \
+"
+
+SRC_URI[md5sum] = "1cec58babaea3420014d61a93e6e1545"
+SRC_URI[sha256sum] = "9688d8edf1da09dec6574000fb3c0e62f99c56428587616e17c60103c0bcbad7"
+
+UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
+UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit autotools gettext update-rc.d pkgconfig
+
+INITSCRIPT_NAME = "snort"
+INITSCRIPT_PARAMS = "defaults"
+
+EXTRA_OECONF = " \
+ --enable-gre \
+ --enable-linux-smp-stats \
+ --enable-reload \
+ --enable-reload-error-restart \
+ --enable-targetbased \
+ --enable-static-daq \
+ --with-dnet-includes=${STAGING_INCDIR} \
+ --with-dnet-libraries=${STAGING_LIBDIR} \
+ --with-libpcre-includes=${STAGING_INCDIR} \
+ --with-libpcre-libraries=${STAGING_LIBDIR} \
+ --with-daq-includes=${STAGING_INCDIR} \
+ --with-daq-libraries=${STAGING_LIBDIR} \
+"
+
+# if you want to disable it, you need to patch configure.in first
+# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no")
+# is called even with --without-openssl-includes
+PACKAGECONFIG ?= "openssl 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,"
+PACKAGECONFIG[appid] = "--enable-open-appid, --disable-open-appid, luajit, bash"
+
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+LDFLAGS += " -ltirpc"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/snort/rules
+ install -d ${D}${sysconfdir}/snort/preproc_rules
+ install -d ${D}${sysconfdir}/init.d
+ 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
+
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.99_snort ${D}${sysconfdir}/default/volatiles/99_snort
+
+ sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
+}
+
+pkg_postinst_${PN}() {
+ if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+}
+
+FILES_${PN} += " \
+ ${libdir}/snort_dynamicengine/*.so.* \
+ ${libdir}/snort_dynamicpreprocessor/*.so.* \
+ ${libdir}/snort_dynamicrules/*.so.* \
+"
+FILES_${PN}-dbg += " \
+ ${libdir}/snort_dynamicengine/.debug \
+ ${libdir}/snort_dynamicpreprocessor/.debug \
+ ${libdir}/snort_dynamicrules/.debug \
+"
+FILES_${PN}-staticdev += " \
+ ${libdir}/snort_dynamicengine/*.a \
+ ${libdir}/snort_dynamicpreprocessor/*.a \
+ ${libdir}/snort_dynamicrules/*.a \
+ ${libdir}/snort/dynamic_preproc/*.a \
+ ${libdir}/snort/dynamic_output/*.a \
+"
+FILES_${PN}-dev += " \
+ ${libdir}/snort_dynamicengine/*.la \
+ ${libdir}/snort_dynamicpreprocessor/*.la \
+ ${libdir}/snort_dynamicrules/*.la \
+ ${libdir}/snort_dynamicengine/*.so \
+ ${libdir}/snort_dynamicpreprocessor/*.so \
+ ${libdir}/snort_dynamicrules/*.so \
+ ${prefix}/src/snort_dynamicsrc \
+"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb
index 19cfe46b..42fc2625 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb
@@ -17,15 +17,18 @@ SRC_URI = " \
file://0004-lp1039729.patch \
file://0005-lp1191197.patch \
"
+
+UPSTREAM_CHECK_URI = "https://launchpad.net/ufw"
+
SRC_URI[md5sum] = "3747b453d76709e5a99da209fc0bb5f5"
SRC_URI[sha256sum] = "5f85a8084ad3539b547bec097286948233188c971f498890316dec170bdd1da8"
-inherit setuptools distro_features_check
+inherit setuptools3 features_check
RDEPENDS_${PN} = " \
iptables \
- python \
- python-modules \
+ python3 \
+ python3-modules \
"
RRECOMMENDS_${PN} = " \
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch
deleted file mode 100644
index 8e5f4da3..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch
deleted file mode 100644
index 153bced3..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From f567740cf64978ac9db014c786b6d0267b244f33 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 4 Mar 2018 22:30:30 -0800
-Subject: [PATCH 1/2] replace SIGCLD with SIGCHLD and include sys/types.h
-
-Fixes
-main.c:129:10: error: 'SIGCLD' undeclared (first use in this function); did you mean 'SIGCHLD'?
- signal(SIGCLD, sig_child);
- ^~~~~~
- SIGCHLD
-
-main.c:125:2: warning: implicit declaration of function 'umask' [-Wimplicit-function-declaration]
- umask(0);
- ^~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/main.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-Index: git/src/main.c
-===================================================================
---- git.orig/src/main.c
-+++ git/src/main.c
-@@ -133,9 +133,9 @@ static void daemon_start(int ignsigcld)
-
- if (ignsigcld) {
- #ifdef SIGTSTP
-- signal(SIGCLD, sig_child);
-+ signal(SIGCHLD, sig_child);
- #else
-- signal(SIGCLD, SIG_IGN);
-+ signal(SIGCHLD, SIG_IGN);
- #endif
- }
- }
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch
deleted file mode 100644
index d8355e25..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 62784e8b6df8ff3a907c1f816154808bea9d7064 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 25 Sep 2018 14:38:14 +0800
-Subject: [PATCH] support openssl 1.1.x
-
-Long time no maintain from upstream since 2013
-(git://git.umip.org/umip/umip.git), backport a
-fix from openSUSE
-
-Upstream-Status: Backport [openSUSE]
-http://ftp.gwdg.de/pub/opensuse/source/distribution/leap/15.0/repo/oss/src/mipv6d-2.0.2.umip.0.4-lp150.1.2.src.rpm
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/keygen.c | 12 ++++++++++++
- src/mh.c | 17 ++++++++++++++++-
- 2 files changed, 28 insertions(+), 1 deletion(-)
-
-diff --git a/src/keygen.c b/src/keygen.c
-index e434a38..b902644 100644
---- a/src/keygen.c
-+++ b/src/keygen.c
-@@ -172,6 +172,7 @@ static void build_kgen_token(struct in6_addr *addr, uint8_t *nonce,
- uint8_t tmp[20];
- #ifdef HAVE_LIBCRYPTO
- unsigned int len = 20;
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
- HMAC_CTX ctx;
-
- HMAC_CTX_init(&ctx);
-@@ -182,6 +183,17 @@ static void build_kgen_token(struct in6_addr *addr, uint8_t *nonce,
- HMAC_Final(&ctx, tmp, &len);
- HMAC_CTX_cleanup(&ctx);
- #else
-+ HMAC_CTX *ctx;
-+ ctx = HMAC_CTX_new();
-+ HMAC_Init_ex(ctx, key_cn, sizeof(key_cn), EVP_sha1(), NULL);
-+ HMAC_Update(ctx, (unsigned char *)addr, sizeof(*addr));
-+ HMAC_Update(ctx, nonce, NONCE_LENGTH);
-+ HMAC_Update(ctx, &id, sizeof(id));
-+ HMAC_Final(ctx, tmp, &len);
-+ HMAC_CTX_free(ctx);
-+#endif // End of defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
-+
-+#else
- HMAC_SHA1_CTX ctx;
-
- HMAC_SHA1_init(&ctx, key_cn, sizeof(key_cn));
-diff --git a/src/mh.c b/src/mh.c
-index cba9a33..212eb5a 100644
---- a/src/mh.c
-+++ b/src/mh.c
-@@ -518,9 +518,10 @@ static int calculate_auth_data(const struct iovec *iov, int iovlen,
-
- #ifdef HAVE_LIBCRYPTO
- unsigned int len = HMAC_SHA1_HASH_LEN;
-- HMAC_CTX ctx;
- const EVP_MD *evp_md = EVP_sha1();
-
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
-+ HMAC_CTX ctx;
- HMAC_CTX_init(&ctx);
- HMAC_Init_ex(&ctx, key, HMAC_SHA1_KEY_SIZE, evp_md, NULL);
-
-@@ -532,6 +533,20 @@ static int calculate_auth_data(const struct iovec *iov, int iovlen,
- HMAC_Final(&ctx, buf, &len);
- HMAC_CTX_cleanup(&ctx);
- #else
-+ HMAC_CTX *ctx;
-+ ctx = HMAC_CTX_new();
-+ HMAC_Init_ex(ctx, key, HMAC_SHA1_KEY_SIZE, evp_md, NULL);
-+
-+ HMAC_Update(ctx, (uint8_t *)coa, sizeof(*coa));
-+ HMAC_Update(ctx, (uint8_t *)cn, sizeof(*coa));
-+ for (i = 0; i < iovlen; i++) {
-+ HMAC_Update(ctx, (uint8_t *)iov[i].iov_base, iov[i].iov_len);
-+ }
-+ HMAC_Final(ctx, buf, &len);
-+ HMAC_CTX_free(ctx);
-+#endif
-+
-+#else
- HMAC_SHA1_CTX ctx;
-
- HMAC_SHA1_init(&ctx, key, HMAC_SHA1_KEY_SIZE);
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch
deleted file mode 100644
index 90d12da1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 19b6cf8099e1974b5fc39086fc54103b0cbc2658 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 4 Mar 2018 23:01:25 -0800
-Subject: [PATCH 2/2] replace PTHREAD_MUTEX_FAST_NP with PTHREAD_MUTEX_NORMAL
-
-PTHREAD_MUTEX_FAST_NP is not available on non-posix systems
-e.g. musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/ha.c | 2 +-
- src/icmp6.c | 2 +-
- src/mh.c | 2 +-
- src/mn.c | 2 +-
- src/movement.c | 2 +-
- src/mpdisc_ha.c | 2 +-
- src/mpdisc_mn.c | 2 +-
- src/tqueue.c | 2 +-
- src/tunnelctl.c | 2 +-
- 9 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/ha.c b/src/ha.c
-index fbdcff0..b2f811e 100644
---- a/src/ha.c
-+++ b/src/ha.c
-@@ -1246,7 +1246,7 @@ int ha_init(void)
- {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&bu_worker_mutex, &mattrs) ||
- pthread_cond_init(&cond, NULL))
- return -1;
-diff --git a/src/icmp6.c b/src/icmp6.c
-index 3695135..6460634 100644
---- a/src/icmp6.c
-+++ b/src/icmp6.c
-@@ -243,7 +243,7 @@ int icmp6_init(void)
- return -1;
- /* create ICMP listener thread */
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&icmp6_sock.send_mutex, &mattrs) ||
- pthread_rwlock_init(&handler_lock, NULL) ||
- pthread_create(&icmp6_listener, NULL, icmp6_listen, NULL))
-diff --git a/src/mh.c b/src/mh.c
-index 60e345e..7928f4c 100644
---- a/src/mh.c
-+++ b/src/mh.c
-@@ -204,7 +204,7 @@ int mh_init(void)
- return -1;
-
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&mh_sock.send_mutex, &mattrs) ||
- pthread_rwlock_init(&handler_lock, NULL) ||
- pthread_create(&mh_listener, NULL, mh_listen, NULL))
-diff --git a/src/mn.c b/src/mn.c
-index 092cfcb..8f7f448 100644
---- a/src/mn.c
-+++ b/src/mn.c
-@@ -1478,7 +1478,7 @@ static struct home_addr_info *hai_copy(struct home_addr_info *conf_hai)
- if (hai != NULL) {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
-
- memcpy(hai, conf_hai, sizeof(struct home_addr_info));
-
-diff --git a/src/movement.c b/src/movement.c
-index d985937..6400448 100644
---- a/src/movement.c
-+++ b/src/movement.c
-@@ -2013,7 +2013,7 @@ int md_init(void)
- int val;
-
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&iface_lock, &mattrs))
- return -1;
-
-diff --git a/src/mpdisc_ha.c b/src/mpdisc_ha.c
-index 40ba05f..fd7a90d 100644
---- a/src/mpdisc_ha.c
-+++ b/src/mpdisc_ha.c
-@@ -559,7 +559,7 @@ int mpd_ha_init(void)
- {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&mpa_lock, &mattrs) ||
- pthread_rwlock_init(&prefix_lock, NULL) ||
- hash_init(&mpa_hash, DOUBLE_ADDR, MPA_BUCKETS) < 0)
-diff --git a/src/mpdisc_mn.c b/src/mpdisc_mn.c
-index 4873bd6..ada02bd 100644
---- a/src/mpdisc_mn.c
-+++ b/src/mpdisc_mn.c
-@@ -267,7 +267,7 @@ int mpd_mn_init(void)
- {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&mps_lock, &mattrs))
- return -1;
- if (hash_init(&mps_hash, DOUBLE_ADDR, MPS_BUCKETS) < 0)
-diff --git a/src/tqueue.c b/src/tqueue.c
-index 2f7aa0b..9c185b8 100644
---- a/src/tqueue.c
-+++ b/src/tqueue.c
-@@ -65,7 +65,7 @@ int taskqueue_init(void)
- {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&mutex, &mattrs) ||
- pthread_cond_init(&cond, NULL) ||
- pthread_create(&tq_runner, NULL, runner, NULL))
-diff --git a/src/tunnelctl.c b/src/tunnelctl.c
-index 23fc20b..813b8ec 100644
---- a/src/tunnelctl.c
-+++ b/src/tunnelctl.c
-@@ -433,7 +433,7 @@ int tunnelctl_init(void)
- return -1;
-
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&tnl_lock, &mattrs))
- return -1;
-
---
-2.16.2
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch
deleted file mode 100644
index dbf00826..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d b/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d
deleted file mode 100755
index ebd70a6c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/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/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service b/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service
deleted file mode 100644
index 2b5a5b9f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[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/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb
deleted file mode 100644
index e2abc02c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Mobile IPv6 and NEMO for Linux"
-DESCRIPTION = "UMIP is an open source implementation of Mobile IPv6 and NEMO \
-Basic Support for Linux. It is released under the GPLv2 license. It supports \
-the following IETF RFC: RFC6275 (Mobile IPv6), RFC3963 (NEMO), RFC3776 and \
-RFC4877 (IPsec and IKEv2)."
-HOMEPAGE = "http://umip.org/"
-SECTION = "System Environment/Base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33"
-DEPENDS = "openssl ipsec-tools radvd indent-native bison-native"
-
-SRC_URI = "git://git.umip.org/umip/umip.git \
- file://add-dependency-to-support-parallel-compilation.patch \
- file://mip6d \
- file://mip6d.service \
- file://0001-Add-format-string-to-fprintf-call.patch \
- file://0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch \
- file://0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch \
- file://0001-support-openssl-1.1.x.patch \
- "
-SRCREV = "cbd441c5db719db554ff2b4fcb02fef88ae2f791"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = "--enable-vt"
-
-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/external/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
index ea217998..54e855a0 100644
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
@@ -28,6 +28,8 @@ PACKAGECONFIG ?= "gnutls"
PACKAGECONFIG[gnutls] = ",,gnutls"
PACKAGECONFIG[openssl] = ",,openssl"
+PACKAGES =+ "${PN}-script"
+
S = "${WORKDIR}/git"
inherit perlnative pkgconfig
@@ -54,6 +56,8 @@ vpnc_sysroot_preprocess () {
install -m 755 ${D}${sysconfdir}/vpnc/vpnc-script ${SYSROOT_DESTDIR}${sysconfdir}/vpnc
}
+FILES_${PN}-script = "${sysconfdir}/vpnc/vpnc-script"
+
CONFFILES_${PN} = "${sysconfdir}/vpnc/default.conf"
-RDEPENDS_${PN} = "perl-module-io-file"
+RDEPENDS_${PN} = "perl-module-io-file ${PN}-script"
RRECOMMENDS_${PN} = "kernel-module-tun"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb
deleted file mode 100644
index e1aa9a51..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Wireless Central Regulatory Domain Database"
-HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA"
-SECTION = "net"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
-
-SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[md5sum] = "b81bd1f6525a4806a707881aa3dda63f"
-SRC_URI[sha256sum] = "0d3e845ac77d21aac9b88642c3dd043a83e3920d706b63d5e5c31dffdbec9116"
-
-inherit bin_package allarch
-
-do_install() {
- install -d -m0755 ${D}${nonarch_libdir}/crda
- install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys
- install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin
- install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem
-
- install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db
- install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s
-}
-
-# Install static regulatory DB in /lib/firmware for kernel to load.
-# This requires Linux kernel >= v4.15.
-# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass in kernel's recipe.
-PACKAGES =+ "${PN}-static"
-RCONFLICTS_${PN} = "${PN}-static"
-
-FILES_${PN}-static = " \
- ${nonarch_base_libdir}/firmware/regulatory.db \
- ${nonarch_base_libdir}/firmware/regulatory.db.p7s \
-"
-
-# Native users might want to use the source of regulatory DB.
-# This is for example used by Linux kernel <= v4.14 and kernel_wireless_regdb.bbclass.
-do_install_append_class-native() {
- install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt
-}
-
-RSUGGESTS_${PN} = "crda"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch
deleted file mode 100644
index f304d933..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From fb490136cf8f2456cfe13b0b4f796e6c155e75dc Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 30 Aug 2017 03:02:32 -0400
-Subject: [PATCH] fix no rule to make cyassl/options.h
-
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configure.ac b/configure.ac
-index 395d75d..d4a3880 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3684,6 +3684,7 @@ AC_CONFIG_FILES([wolfssl/options.h])
- #fi
- AC_CONFIG_FILES([support/wolfssl.pc])
- AC_CONFIG_FILES([rpm/spec])
-+AC_CONFIG_FILES([cyassl/options.h])
-
- AX_CREATE_GENERIC_CONFIG
- AX_AM_JOBSERVER([yes])
---
-2.8.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb
deleted file mode 100644
index dc9094d8..00000000
--- a/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "wolfSSL Lightweight, Embedded SSL Library"
-DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written in C and \
- optimized for embedded and RTOS environments. It can be \
- Up to 20 times smaller than OpenSSL while still supporting \
- a full TLS 1.2 client and server."
-HOMEPAGE = "http://www.wolfssl.com/yaSSL/Products-wolfssl.html"
-BUGTRACKER = "http://github.com/wolfssl/wolfssl/issues"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-PROVIDES += "cyassl"
-RPROVIDES_${PN} = "cyassl"
-
-S = "${WORKDIR}/git"
-SRCREV = "1196a3b64d9fabffc8273b87f6f69ac0e75d2eb7"
-SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https; \
- file://0001-fix-no-rule-to-make-cyassl-options.h.patch \
- "
-
-inherit autotools
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.4.0.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.4.0.bb
new file mode 100644
index 00000000..db7b0d48
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.4.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library"
+DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \
+ in C and optimized for embedded and RTOS environments. It can \
+ be up to 20 times smaller than OpenSSL while still supporting \
+ a full TLS client and server, up to TLS 1.3"
+HOMEPAGE = "https://www.wolfssl.com/products/wolfssl"
+BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+PROVIDES += "cyassl"
+RPROVIDES_${PN} = "cyassl"
+
+SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https"
+SRCREV = "e116c89a58af750421d82ece13f80516d2bde02e"
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/external/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb b/external/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb
new file mode 100644
index 00000000..eaf14095
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb
@@ -0,0 +1,7 @@
+SUMMARY = "meta-networking build test image"
+
+IMAGE_INSTALL = "packagegroup-core-boot"
+
+LICENSE = "MIT"
+
+inherit core-image
diff --git a/external/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb b/external/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb
new file mode 100644
index 00000000..f4c7401b
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb
@@ -0,0 +1,3 @@
+require meta-networking-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-networking"
diff --git a/external/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/external/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
new file mode 100644
index 00000000..1e10c308
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
@@ -0,0 +1,131 @@
+SUMMARY = "Meta-networking packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-networking \
+ packagegroup-meta-networking-connectivity \
+ packagegroup-meta-networking-daemons \
+ packagegroup-meta-networking-devtools \
+ packagegroup-meta-networking-extended \
+ packagegroup-meta-networking-filter \
+ packagegroup-meta-networking-irc \
+ packagegroup-meta-networking-kernel \
+ packagegroup-meta-networking-netkit \
+ packagegroup-meta-networking-protocols \
+ packagegroup-meta-networking-support \
+'
+
+RDEPENDS_packagegroup-meta-networking = "\
+ packagegroup-meta-networking-connectivity \
+ packagegroup-meta-networking-daemons \
+ packagegroup-meta-networking-devtools \
+ packagegroup-meta-networking-extended \
+ packagegroup-meta-networking-filter \
+ packagegroup-meta-networking-irc \
+ packagegroup-meta-networking-kernel \
+ packagegroup-meta-networking-netkit \
+ packagegroup-meta-networking-protocols \
+ packagegroup-meta-networking-support \
+ "
+
+RDEPENDS_packagegroup-meta-networking-connectivity = "\
+ openconnect ez-ipupdate mosquitto sethdlc crda \
+ dibbler-server dibbler-client dibbler-requestor dibbler-relay \
+ libdnet ufw civetweb freeradius kea daq \
+ mbedtls relayd snort dhcpcd rdate vlan vpnc \
+ inetutils wolfssl lftp miniupnpd networkmanager \
+ networkmanager-openvpn rdist nanomsg python3-networkmanager \
+ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth x11", "blueman", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-networking-connectivity_remove_libc-musl = "rdist"
+
+RDEPENDS_packagegroup-meta-networking-daemons = "\
+ ippool radvd autofs keepalived proftpd openhpi lldpd \
+ ptpd igmpproxy opensaf squid \
+ atftp postfix iscsi-initiator-utils vsftpd cyrus-sasl \
+ pure-ftpd vblade tftp-hpa ncftp \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "networkd-dispatcher", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-networking-daemons_remove_libc-musl = "opensaf"
+
+RDEPENDS_packagegroup-meta-networking-devtools = "\
+ python3-ldap \
+ "
+
+RDEPENDS_packagegroup-meta-networking-extended = "\
+ corosync \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dlm", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-networking-filter = "\
+ ebtables conntrack-tools libnetfilter-queue \
+ libnetfilter-conntrack libnetfilter-cthelper libnetfilter-acct \
+ libnetfilter-cttimeout libnetfilter-log nfacct \
+ arno-iptables-firewall libnftnl nftables \
+ libnfnetlink \
+ "
+
+RDEPENDS_packagegroup-meta-networking-irc = "\
+ znc \
+ "
+
+RDEPENDS_packagegroup-meta-networking-kernel = "\
+ wireguard-module wireguard-tools \
+ "
+
+RDEPENDS_packagegroup-meta-networking-netkit = "\
+ netkit-rwho-client netkit-rwho-server netkit-rsh-client netkit-rsh-server \
+ netkit-telnet netkit-tftp-client netkit-tftp-server \
+ netkit-ftp netkit-rpc \
+ "
+
+RDEPENDS_packagegroup-meta-networking-netkit_remove_libc-musl = " \
+ netkit-rsh-client netkit-rsh-server netkit-telnet"
+
+RDEPENDS_packagegroup-meta-networking-protocols = "\
+ tsocks freediameter xl2tpd babeld mdns net-snmp \
+ quagga pptp-linux zeroconf nopoll openflow rp-pppoe \
+ radiusclient-ng openl2tp usrsctp \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "dante", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-networking-protocols_remove_libc-musl = "mdns"
+
+RDEPENDS_packagegroup-meta-networking-support = "\
+ ncp ndisc6 mtr tinyproxy ssmping ntp \
+ wpan-tools bridge-utils ifenslave celt051 pimd \
+ nbd-client nbd-server nbd-trdump \
+ phytool fwknop htpdate tcpreplay \
+ traceroute geoip-perl geoip geoipupdate esmtp \
+ libtdb netcf dnsmasq curlpp openipmi drbd-utils \
+ tunctl dovecot ipvsadm stunnel chrony spice-protocol \
+ usbredir ntop wireshark tnftp lksctp-tools \
+ cim-schema-docs cim-schema-final cim-schema-exper \
+ libmemcached smcroute libtevent ipcalc uftp \
+ ntimed linux-atm ssmtp openvpn rdma-core \
+ iftop aoetools tcpslice tcpdump libtalloc memcached nuttcp netcat \
+ netcat-openbsd fetchmail yp-tools ypbind-mt yp-tools \
+ arptables macchanger nghttp2 strongswan fping \
+ libesmtp cifs-utils open-isns \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "libldb", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "non-commercial", "netperf", "", d)} \
+ ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "spice", "", d)} \
+ "
+
+
+RDEPENDS_packagegroup-meta-networking-support_remove_mipsarch = "spice-protocol"
+RDEPENDS_packagegroup-meta-networking-support_remove_mips64 = "spice-protocol"
+RDEPENDS_packagegroup-meta-networking-support_remove_mips64el = "spice-protocol"
+RDEPENDS_packagegroup-meta-networking-support_remove_powerpc = "spice-protocol"
+RDEPENDS_packagegroup-meta-networking-support_remove_riscv64 = "spice-protocol"
+RDEPENDS_packagegroup-meta-networking-support_remove_riscv32 = "spice-protocol"
+RDEPENDS_packagegroup-meta-networking-support_remove_armv5 = "spice-protocol"
+RDEPENDS_packagegroup-meta-networking-support_remove_aarch64 = "spice-protocol memcached"
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb b/external/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb
new file mode 100644
index 00000000..ff9084db
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Advanced TFTP server and client"
+SECTION = "net"
+HOMEPAGE = "http://packages.debian.org/atftp"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRCREV = "52b71f0831dcbde508bd3a961d84abb80a62480f"
+
+SRC_URI = "git://git.code.sf.net/p/atftp/code \
+ file://atftpd.init \
+ file://atftpd.service \
+"
+SRC_URI_append_libc-musl = " file://0001-argz.h-fix-musl-compile-add-missing-defines.patch \
+ file://0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools update-rc.d systemd
+
+PACKAGECONFIG ??= "tcp-wrappers"
+PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre"
+PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
+PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline"
+
+INITSCRIPT_PACKAGES = "${PN}d"
+INITSCRIPT_NAME_${PN}d = "atftpd"
+INITSCRIPT_PARAMS_${PN}d = "defaults 80"
+
+
+EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/atftpd.init ${D}${sysconfdir}/init.d/atftpd
+
+ install -d ${D}/srv/tftp
+
+ rm ${D}${sbindir}/in.tftpd
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/atftpd.service ${D}${systemd_unitdir}/system
+}
+
+PACKAGES =+ "${PN}d"
+
+FILES_${PN} = "${bindir}/*"
+
+FILES_${PN}d = "${sbindir}/* \
+ ${sysconfdir} \
+ /srv/tftp \
+ ${systemd_unitdir}/system/atftpd.service \
+"
+
+SYSTEMD_PACKAGES = "${PN}d"
+SYSTEMD_SERVICE_${PN}d = "atftpd.service"
+RPROVIDES_${PN}d += "${PN}d-systemd"
+RREPLACES_${PN}d += "${PN}d-systemd"
+RCONFLICTS_${PN}d += "${PN}d-systemd"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb b/external/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb
deleted file mode 100644
index a9949d59..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "Advanced TFTP server and client"
-SECTION = "net"
-HOMEPAGE = "http://packages.debian.org/atftp"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
-PV = "0.7.1+git${SRCPV}"
-PR = "r3"
-
-SRCREV = "be3291a18c069ae23a124ffdc56d64a5ff0bbec7"
-
-SRC_URI = "git://git.code.sf.net/p/atftp/code \
- file://atftpd-0.7_circumvent_tftp_size_restrictions.patch \
- file://atftpd-0.7_unprotected_assignments_crash.patch \
- file://atftpd.init \
- file://atftpd.service \
- file://atftp-0.7-sorcerers_apprentice.patch \
-"
-SRC_URI_append_libc-musl = " file://0001-argz.h-fix-musl-compile-add-missing-defines.patch \
- file://0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools update-rc.d systemd
-
-PACKAGECONFIG ??= "tcp-wrappers"
-PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre"
-PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
-PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline"
-
-INITSCRIPT_PACKAGES = "${PN}d"
-INITSCRIPT_NAME_${PN}d = "atftpd"
-INITSCRIPT_PARAMS_${PN}d = "defaults 80"
-
-
-EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/atftpd.init ${D}${sysconfdir}/init.d/atftpd
-
- install -d ${D}/srv/tftp
-
- rm ${D}${sbindir}/in.tftpd
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/atftpd.service ${D}${systemd_unitdir}/system
-}
-
-PACKAGES =+ "${PN}d"
-
-FILES_${PN} = "${bindir}/*"
-
-FILES_${PN}d = "${sbindir}/* \
- ${sysconfdir} \
- /srv/tftp \
- ${systemd_unitdir}/system/atftpd.service \
-"
-
-SYSTEMD_PACKAGES = "${PN}d"
-SYSTEMD_SERVICE_${PN}d = "atftpd.service"
-RPROVIDES_${PN}d += "${PN}d-systemd"
-RREPLACES_${PN}d += "${PN}d-systemd"
-RCONFLICTS_${PN}d += "${PN}d-systemd"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch b/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch
deleted file mode 100644
index fc64291c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-atftp exhibits the well known "Sorcerer's Apprentice Syndrome"(SAS) problem.
-According to RFC 1350, the fix to SAS is quite simple: further copies of the
-acknowledgment for a particular data block would be ignored.
-
-Patch originally from OpenSUSE:
-https://build.opensuse.org/package/view_file?file=atftp-0.7-sorcerers_apprentice.patch&package=atftp.539&project=openSUSE%3A12.1%3AUpdate&rev=84569792975e00573d7df597d2a6e895
-
-Upstream-Status: Pending
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
-Index: atftp-0.7/tftp_file.c
-===================================================================
---- atftp-0.7.orig/tftp_file.c 2011-11-22 15:12:53.792744083 +0100
-+++ atftp-0.7/tftp_file.c 2011-11-22 15:13:51.706421893 +0100
-@@ -605,6 +605,7 @@
- int timeout_state = state; /* what state should we go on when timeout */
- int result;
- long block_number = 0;
-+ long last_requested_block = -1;
- long last_block = -1;
- int data_size; /* size of data received */
- int sockfd = data->sockfd; /* just to simplify calls */
-@@ -765,6 +766,17 @@
- connected = 1;
- }
- block_number = ntohs(tftphdr->th_block);
-+
-+ if (last_requested_block >= block_number)
-+ {
-+ if (data->trace)
-+ fprintf(stderr, "received duplicated ACK <block: %ld >= %ld>\n",
-+ last_requested_block, block_number);
-+ break;
-+ }
-+ else
-+ last_requested_block = block_number;
-+
- if (data->trace)
- fprintf(stderr, "received ACK <block: %ld>\n",
- block_number);
-Index: atftp-0.7/tftpd_file.c
-===================================================================
---- atftp-0.7.orig/tftpd_file.c 2011-11-22 15:12:53.793744112 +0100
-+++ atftp-0.7/tftpd_file.c 2011-11-22 15:15:04.617534260 +0100
-@@ -403,6 +403,7 @@
- int timeout_state = state;
- int result;
- long block_number = 0;
-+ long last_requested_block = -1;
- long last_block = -1;
- int block_loops = 0;
- int data_size;
-@@ -859,6 +860,32 @@
- {
- logger(LOG_DEBUG, "received ACK <block: %d>", block_number);
- }
-+
-+ /* check whether the block request isn't already fulfilled */
-+
-+ /* multicast, block numbers could contain gaps */
-+ if (multicast) {
-+ if (last_requested_block >= block_number)
-+ {
-+ if (data->trace)
-+ logger(LOG_DEBUG, "received duplicated ACK <block: %d >= %d>", last_requested_block, block_number);
-+ break;
-+ }
-+ else
-+ last_requested_block = block_number;
-+ /* unicast, blocks should be requested one after another */
-+ } else {
-+ if (last_requested_block + 1 != block_number && last_requested_block != -1)
-+ {
-+ if (data->trace)
-+ logger(LOG_DEBUG, "received out of order ACK <block: %d != %d>", last_requested_block + 1, block_number);
-+ break;
-+ }
-+ else
-+ last_requested_block = block_number;
-+ }
-+
-+
- if (ntohs(tftphdr->th_block) == 65535)
- {
- block_loops++;
-@@ -958,6 +985,8 @@
- /* nedd to send an oack to that client */
- state = S_SEND_OACK;
- fseek(fp, 0, SEEK_SET);
-+ /* reset the last block received counter */
-+ last_requested_block = -1;
- }
- else
- {
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch b/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch
deleted file mode 100644
index 280b570b..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-Fate #303031: Circumvent TFTP size restrictions in atftpd
-The size of a single image file that can be transferred with TFTP is limited to
-2^(2*8) *BLOCKSIZE (as per RFC 1350 there are only two bytes for the block
-counter). This is problematic for one of our customers who needs to transfer
-100+ MB Windows images using a TFTP client (NT bootloader) which has a
-hardwared BLOCKSIZE setting of 1432).
-
-block rollover
-http://www.compuphase.com/tftp.htm
-
-Patch originally from OpenSUSE:
-https://build.opensuse.org/package/show?package=atftp&project=openSUSE%3A12.2
-
-Upstream-Status: Pending
-
-Index: git/tftp_def.h
-===================================================================
---- git.orig/tftp_def.h 2012-11-19 16:28:50.221027144 -0800
-+++ git/tftp_def.h 2012-11-20 17:40:54.391206979 -0800
-@@ -32,6 +32,7 @@
- #define TIMEOUT 5 /* Client timeout */
- #define S_TIMEOUT 5 /* Server timout. */
- #define NB_OF_RETRY 5
-+#define MAXBLOCKS 1000000 /* maximum number of blocks in a download */
-
- /* definition to use tftp_options structure */
- #define OPT_FILENAME 0
-Index: git/tftp_file.c
-===================================================================
---- git.orig/tftp_file.c 2012-11-19 16:28:50.221027144 -0800
-+++ git/tftp_file.c 2012-11-19 16:28:51.201027167 -0800
-@@ -622,8 +622,8 @@
- int state = S_SEND_REQ; /* current state in the state machine */
- int timeout_state = state; /* what state should we go on when timeout */
- int result;
-- int block_number = 0;
-- int last_block = -1;
-+ long block_number = 0;
-+ long last_block = -1;
- int data_size; /* size of data received */
- int sockfd = data->sockfd; /* just to simplify calls */
- struct sockaddr_storage sa; /* a copy of data.sa_peer */
-@@ -637,8 +637,8 @@
- int convert = 0; /* if true, do netascii convertion */
- char string[MAXLEN];
-
-- int prev_block_number = 0; /* needed to support netascii convertion */
-- int prev_file_pos = 0;
-+ long prev_block_number = 0; /* needed to support netascii convertion */
-+ long prev_file_pos = 0;
- int temp = 0;
-
- data->file_size = 0;
-@@ -745,7 +745,7 @@
- data_size, data->data_buffer);
- data->file_size += data_size;
- if (data->trace)
-- fprintf(stderr, "sent DATA <block: %d, size: %d>\n",
-+ fprintf(stderr, "sent DATA <block: %ld, size: %d>\n",
- block_number + 1, data_size - 4);
- state = S_WAIT_PACKET;
- break;
-@@ -785,7 +785,7 @@
- }
- block_number = ntohs(tftphdr->th_block);
- if (data->trace)
-- fprintf(stderr, "received ACK <block: %d>\n",
-+ fprintf(stderr, "received ACK <block: %ld>\n",
- block_number);
- if ((last_block != -1) && (block_number > last_block))
- {
-Index: git/tftp_io.c
-===================================================================
---- git.orig/tftp_io.c 2012-11-19 16:28:50.221027144 -0800
-+++ git/tftp_io.c 2012-11-19 16:28:51.201027167 -0800
-@@ -350,8 +350,8 @@
- /*
- * Read from file and do netascii conversion if needed
- */
--int tftp_file_read(FILE *fp, char *data_buffer, int data_buffer_size, int block_number,
-- int convert, int *prev_block_number, int *prev_file_pos, int *temp)
-+int tftp_file_read(FILE *fp, char *data_buffer, int data_buffer_size, long block_number,
-+ int convert, long *prev_block_number, long *prev_file_pos, int *temp)
- {
- int i;
- int c;
-Index: git/tftp_io.h
-===================================================================
---- git.orig/tftp_io.h 2012-11-19 16:28:50.221027144 -0800
-+++ git/tftp_io.h 2012-11-19 16:28:51.201027167 -0800
-@@ -52,8 +52,8 @@
- int tftp_get_packet(int sock1, int sock2, int *sock, struct sockaddr_storage *sa,
- struct sockaddr_storage *from, struct sockaddr_storage *to,
- int timeout, int *size, char *data);
--int tftp_file_read(FILE *fp, char *buffer, int buffer_size, int block_number, int convert,
-- int *prev_block_number, int *prev_file_pos, int *temp);
-+int tftp_file_read(FILE *fp, char *buffer, int buffer_size, long block_number, int convert,
-+ long *prev_block_number, long *prev_file_pos, int *temp);
- int tftp_file_write(FILE *fp, char *data_buffer, int data_buffer_size, int block_number,
- int data_size, int convert, int *prev_block_number, int *temp);
- #endif
-Index: git/tftpd_file.c
-===================================================================
---- git.orig/tftpd_file.c 2012-11-19 16:28:50.225027144 -0800
-+++ git/tftpd_file.c 2012-11-19 16:28:51.201027167 -0800
-@@ -407,8 +407,9 @@
- int state = S_BEGIN;
- int timeout_state = state;
- int result;
-- int block_number = 0;
-- int last_block = -1;
-+ long block_number = 0;
-+ long last_block = -1;
-+ int block_loops = 0;
- int data_size;
- struct sockaddr_storage *sa = &data->client_info->client;
- struct sockaddr_storage from;
-@@ -431,8 +432,8 @@
- struct client_info *client_old = NULL;
- struct tftp_opt options[OPT_NUMBER];
-
-- int prev_block_number = 0; /* needed to support netascii convertion */
-- int prev_file_pos = 0;
-+ long prev_block_number = 0; /* needed to support netascii convertion */
-+ long prev_file_pos = 0;
- int temp = 0;
-
- /* look for mode option */
-@@ -565,11 +566,12 @@
- logger(LOG_INFO, "blksize option -> %d", result);
- }
-
-- /* Verify that the file can be sent in 2^16 block of BLKSIZE octets */
-- if ((file_stat.st_size / (data->data_buffer_size - 4)) > 65535)
-+ /* Verify that the file can be sent in MAXBLOCKS blocks of BLKSIZE octets */
-+ if ((file_stat.st_size / (data->data_buffer_size - 4)) > MAXBLOCKS)
- {
- tftp_send_error(sockfd, sa, EUNDEF, data->data_buffer, data->data_buffer_size);
-- logger(LOG_NOTICE, "Requested file to big, increase BLKSIZE");
-+ logger(LOG_NOTICE, "Requested file too big, increase BLKSIZE");
-+ logger(LOG_NOTICE, "Only %d blocks of %d bytes can be served.", MAXBLOCKS, data->data_buffer_size);
- if (data->trace)
- logger(LOG_DEBUG, "sent ERROR <code: %d, msg: %s>", EUNDEF,
- tftp_errmsg[EUNDEF]);
-@@ -880,10 +882,15 @@
- }
- /* The ACK is from the current client */
- number_of_timeout = 0;
-- block_number = ntohs(tftphdr->th_block);
-+ block_number = (block_loops * 65536) + ntohs(tftphdr->th_block);
- if (data->trace)
-- logger(LOG_DEBUG, "received ACK <block: %d>",
-- block_number);
-+ {
-+ logger(LOG_DEBUG, "received ACK <block: %d>", block_number);
-+ }
-+ if (ntohs(tftphdr->th_block) == 65535)
-+ {
-+ block_loops++;
-+ };
- if ((last_block != -1) && (block_number > last_block))
- {
- state = S_END;
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch b/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch
deleted file mode 100644
index 28fba6cf..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-Avoid assigning thread data outside of mutex lock
-
-Patch originally from OpenSUSE:
-https://build.opensuse.org/package/show?package=atftp&project=openSUSE%3A12.2
-
-Upstream-Status: Pending
-
-Index: git/tftpd_list.c
-===================================================================
---- git.orig/tftpd_list.c 2012-10-24 21:48:47.000000000 -0700
-+++ git/tftpd_list.c 2012-10-24 21:52:04.266205076 -0700
-@@ -49,11 +49,11 @@
- */
- int tftpd_list_add(struct thread_data *new)
- {
-- struct thread_data *current = thread_data;
-+ struct thread_data *current;
- int ret;
-
- pthread_mutex_lock(&thread_list_mutex);
--
-+ current = thread_data;
- number_of_thread++;
-
- ret = number_of_thread;
-@@ -81,11 +81,13 @@
- */
- int tftpd_list_remove(struct thread_data *old)
- {
-- struct thread_data *current = thread_data;
-+ struct thread_data *current;
- int ret;
-
- pthread_mutex_lock(&thread_list_mutex);
-
-+ current = thread_data;
-+
- number_of_thread--;
- ret = number_of_thread;
-
-@@ -137,23 +139,26 @@
- struct thread_data *data,
- struct client_info *client)
- {
-- struct thread_data *current = thread_data; /* head of the list */
-- struct tftp_opt *tftp_options = data->tftp_options;
-+ struct thread_data *current; /* head of the list */
-+ struct tftp_opt *tftp_options;
- struct client_info *tmp;
- char options[MAXLEN];
- char string[MAXLEN];
- char *index;
- int len;
-
-+ /* lock the whole list before walking it */
-+ pthread_mutex_lock(&thread_list_mutex);
-+
- *thread = NULL;
-
-+ current = thread_data;
-+ tftp_options = data->tftp_options;
-+
- opt_request_to_string(tftp_options, options, MAXLEN);
- index = strstr(options, "multicast");
- len = (int)index - (int)options;
-
-- /* lock the whole list before walking it */
-- pthread_mutex_lock(&thread_list_mutex);
--
- while (current)
- {
- if (current != data)
-@@ -214,9 +219,10 @@
- void tftpd_clientlist_remove(struct thread_data *thread,
- struct client_info *client)
- {
-- struct client_info *tmp = thread->client_info;
-+ struct client_info *tmp;
-
- pthread_mutex_lock(&thread->client_mutex);
-+ tmp = thread->client_info;
- while ((tmp->next != client) && (tmp->next != NULL))
- tmp = tmp->next;
- if (tmp->next == NULL)
-@@ -231,9 +237,11 @@
- void tftpd_clientlist_free(struct thread_data *thread)
- {
- struct client_info *tmp;
-- struct client_info *head = thread->client_info;
-+ struct client_info *head;
-
- pthread_mutex_lock(&thread->client_mutex);
-+ head = thread->client_info;
-+
- while (head)
- {
- tmp = head;
-@@ -250,9 +258,10 @@
- struct client_info *client,
- struct sockaddr_storage *sock)
- {
-- struct client_info *head = thread->client_info;
-+ struct client_info *head;
-
- pthread_mutex_lock(&thread->client_mutex);
-+ head = thread->client_info;
-
- if (client)
- {
-@@ -334,10 +343,10 @@
-
- void tftpd_list_kill_threads(void)
- {
-- struct thread_data *current = thread_data; /* head of list */
-+ struct thread_data *current; /* head of list */
-
- pthread_mutex_lock(&thread_list_mutex);
--
-+ current = thread_data;
-
- while (current != NULL)
- {
-Index: git/tftpd_mcast.c
-===================================================================
---- git.orig/tftpd_mcast.c 2012-10-24 21:48:47.000000000 -0700
-+++ git/tftpd_mcast.c 2012-10-24 21:49:11.570201582 -0700
-@@ -51,9 +51,11 @@
- */
- int tftpd_mcast_get_tid(char **addr, short *port)
- {
-- struct tid *current = tid_list;
-+ struct tid *current;
-
- pthread_mutex_lock(&mcast_tid_list);
-+ current = tid_list;
-+
- /* walk the list for a free tid */
- while (current != NULL)
- {
-@@ -74,9 +76,11 @@
-
- int tftpd_mcast_free_tid(char *addr, short port)
- {
-- struct tid *current = tid_list;
-+ struct tid *current;
-
- pthread_mutex_lock(&mcast_tid_list);
-+ current = tid_list;
-+
- while (current != NULL)
- {
- if ((current->used == 1) && (current->port == port) &&
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Bug-fix-for-pid_t-not-found-on-musl.patch b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Bug-fix-for-pid_t-not-found-on-musl.patch
new file mode 100644
index 00000000..2a583466
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Bug-fix-for-pid_t-not-found-on-musl.patch
@@ -0,0 +1,30 @@
+From d0d5ac317dab11610a5fc91ca3e7f5ad72ce2236 Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Tue, 29 Oct 2019 13:19:37 +0800
+Subject: [PATCH] Bug fix for pid_t not found on musl.
+
+When compiling version 5.1.6 on musl, the following error occurs:
+log.h:49:8: error: unknown type name 'pid_t'
+
+Upstream-Status: Pending
+
+Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+---
+ lib/defaults.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/defaults.c b/lib/defaults.c
+index a6ea116..b3ecfa5 100644
+--- a/lib/defaults.c
++++ b/lib/defaults.c
+@@ -21,6 +21,7 @@
+ #include <string.h>
+ #include <sys/utsname.h>
+ #include <sys/stat.h>
++#include <sys/types.h>
+ #include <stdarg.h>
+
+ #include "config.h"
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
index f3f25f46..b991acad 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
@@ -1,21 +1,26 @@
-From 6d24365f0828185fd1bb4d199209ca07eb95c41d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 24 Aug 2018 06:24:36 +0000
-Subject: [PATCH] Do not hardcode path for pkg.m4
+From a27217a5437da313d251b4a765bf7cb60ffaa62d Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 27 Nov 2018 15:27:47 +0800
+Subject: [PATCH] From 6d24365f0828185fd1bb4d199209ca07eb95c41d Mon Sep 17
+ 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 24 Aug 2018
+ 06:24:36 +0000 Subject: [PATCH] Do not hardcode path for pkg.m4
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+update patch to version 5.1.6
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
configure.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.in b/configure.in
-index 50aed15..f81767c 100644
+index 493b9f1..268d06b 100644
--- a/configure.in
+++ b/configure.in
@@ -12,7 +12,7 @@ define([AC_CACHE_SAVE], )dnl
- AC_INIT(.autofs-5.1.4)
+ AC_INIT(.autofs-5.1.6)
# for pkg-config macros
-m4_include([/usr/share/aclocal/pkg.m4])
@@ -24,5 +29,5 @@ index 50aed15..f81767c 100644
#
# autofs installs by default in /usr
--
-1.9.1
+2.7.4
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
index 469027aa..e7fdd10a 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
@@ -1,22 +1,26 @@
-From 557ca399f4b3a397f20bb147ec6dc4ab9732dd1e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 19:12:10 -0700
-Subject: [PATCH] Replace __S_IEXEC with S_IEXEC
+From 096e33743158e0e8c04d60d01cc66e2945d79777 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 27 Nov 2018 16:52:35 +0800
+Subject: [PATCH] From 557ca399f4b3a397f20bb147ec6dc4ab9732dd1e Mon Sep 17
+ 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 31 Mar 2017
+ 19:12:10 -0700 Subject: [PATCH] Replace __S_IEXEC with S_IEXEC
S_IEXEC is portable
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+update patch to version 5.1.5
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- daemon/lookup.c | 4 ++--
+ daemon/lookup.c | 6 +++---
modules/lookup_multi.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/daemon/lookup.c b/daemon/lookup.c
-index 201ccbb..d821db8 100644
+index 18df935..d35d484 100644
--- a/daemon/lookup.c
+++ b/daemon/lookup.c
-@@ -366,7 +366,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source
+@@ -382,7 +382,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source
if (!S_ISREG(st.st_mode))
return NSS_STATUS_NOTFOUND;
@@ -25,7 +29,7 @@ index 201ccbb..d821db8 100644
type = src_prog;
else
type = src_file;
-@@ -856,7 +856,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_
+@@ -942,7 +942,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_
if (!S_ISREG(st.st_mode))
return NSS_STATUS_NOTFOUND;
@@ -34,8 +38,17 @@ index 201ccbb..d821db8 100644
type = src_prog;
else
type = src_file;
+@@ -1118,7 +1118,7 @@ static struct map_source *lookup_get_map_source(struct master_mapent *entry)
+ if (!S_ISREG(st.st_mode))
+ return NULL;
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = "program";
+ else
+ type = "file";
diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c
-index fadd2ea..3ecda6d 100644
+index bb9f88c..cf109de 100644
--- a/modules/lookup_multi.c
+++ b/modules/lookup_multi.c
@@ -247,7 +247,7 @@ static struct lookup_mod *nss_open_lookup(const char *format, int argc, const ch
@@ -47,3 +60,6 @@ index fadd2ea..3ecda6d 100644
type = src_prog;
else
type = src_file;
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch
deleted file mode 100644
index 1d5c3e1e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 2cbc576ea1fbd1cbf4579d64b30e41d762084e7f Mon Sep 17 00:00:00 2001
-From: "yanjun.zhu" <yanjun.zhu@windriver.com>
-Date: Tue, 15 Jan 2013 12:45:44 +0800
-Subject: [PATCH] autofs: do not check for modprobe
-
-Description: Loading autofs module is #ifdef'ed in the source, so
- there is no need to check for /proc (which is only used
- to load module) or modprobe. Both modprobe and /proc
- are always in the fixed location so there's no need to
- check for these to start with.
-
-Upstream-Status: Backport [1]
-[1] http://www.spinics.net/lists/autofs/msg00139.html
-
----
- configure.in | 6 ------
- daemon/module.c | 3 +++
- include/automount.h | 11 +++--------
- 3 files changed, 6 insertions(+), 14 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 44a1c8b..b226236 100644
---- a/configure.in
-+++ b/configure.in
-@@ -34,11 +34,6 @@ AC_MSG_CHECKING([for binaries in])
- AC_MSG_RESULT([$searchpath])
-
- #
--# Make sure we have "/proc"
--#
--AF_LINUX_PROCFS()
--
--#
- # Location of init.d directory?
- #
- AF_INIT_D()
-@@ -142,7 +137,6 @@ AF_PATH_INCLUDE(UMOUNT, umount, /bin/umount, $searchpath)
- AF_PATH_INCLUDE(E2FSCK, fsck.ext2 e2fsck, , $searchpath)
- AF_PATH_INCLUDE(E3FSCK, fsck.ext3 e3fsck, , $searchpath)
- AF_PATH_INCLUDE(E4FSCK, fsck.ext4 e4fsck, , $searchpath)
--AF_PATH_INCLUDE(MODPROBE, modprobe, , $searchpath)
-
- AF_CHECK_PROG(LEX, flex lex, , $searchpath)
- AF_CHECK_PROG(YACC, bison, , $searchpath)
-diff --git a/daemon/module.c b/daemon/module.c
-index bed8f7a..e41a98e 100644
---- a/daemon/module.c
-+++ b/daemon/module.c
-@@ -19,6 +19,8 @@
- #include "automount.h"
- #include "nsswitch.h"
-
-+#if 0
-+/* see comment in daemon/automount.c around load_autofs4_module() call */
- int load_autofs4_module(void)
- {
- FILE *fp;
-@@ -53,6 +55,7 @@ int load_autofs4_module(void)
-
- return 1;
- }
-+#endif
-
- int open_lookup(const char *name, const char *err_prefix, const char *mapfmt,
- int argc, const char *const *argv, struct lookup_mod **lookup)
-diff --git a/include/automount.h b/include/automount.h
-index c0f5fbf..cc336ad 100644
---- a/include/automount.h
-+++ b/include/automount.h
-@@ -51,16 +51,11 @@
- #error Failed to locate umount(8)!
- #endif
-
--#ifndef HAVE_MODPROBE
--#error Failed to locate modprobe(8)!
--#endif
--
--#ifndef HAVE_LINUX_PROCFS
--#error Failed to verify existence of procfs filesystem!
--#endif
--
-+#if 0
-+/* see comment in daemon/automount.c around load_autofs4_module() call */
- #define FS_MODULE_NAME "autofs4"
- int load_autofs4_module(void);
-+#endif
-
- /* The -s (sloppy) option to mount is good, if we have it... */
-
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
index 1c7b1199..be750ab8 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
@@ -1,7 +1,9 @@
-From e3ae56cf0bb4063c31295f45d04e3c504f4b6cc7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 24 Apr 2017 20:41:25 -0700
-Subject: [PATCH] autofs: Upgrade to 5.1.2 release
+From 602f9ca83c2bdbf511bcb178fcb4b9fc54da955f Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 27 Nov 2018 15:20:46 +0800
+Subject: [PATCH] From e3ae56cf0bb4063c31295f45d04e3c504f4b6cc7 Mon Sep 17
+ 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 24 Apr 2017
+ 20:41:25 -0700 Subject: [PATCH] autofs: Upgrade to 5.1.2 release
Use pkg-config first to look for external libnsl which is now
split out from glibc, if it does not exist then see if its provided
@@ -9,20 +11,27 @@ by glibc itself.
-Khem
+Upstream-Status: Pending
+
+update patch to version 5.1.5
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
configure.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.in b/configure.in
-index 9cf73b8..1016c71 100644
+index 76ecb40..493b9f1 100644
--- a/configure.in
+++ b/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)
+@@ -238,7 +238,7 @@ AC_SUBST(LIBCLOCK_GETTIME)
- AC_CHECK_LIB(resolv, res_query, LIBRESOLV="-lresolv")
+ PKG_CHECK_MODULES([NSL],[libnsl],,
+ [
+-AC_CHECK_LIB(nsl, yp_match, NSL_LIBS="-lnsl")
++PKG_CHECK_MODULES([NSL], [libnsl], [], [AC_CHECK_LIB([nsl],[yp_match],[LIBNSL="-lnsl"],[LIBNSL=""])])
+ AC_SUBST(NSL_LIBS)
+ NSL_CFLAGS=""
+ ])
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
index 3d0c6bd7..d1f9f349 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
@@ -1,22 +1,27 @@
-From dabcbdae38038a8e4ad2c4286112381c407c5ce7 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Tue, 19 Aug 2014 11:31:35 +0800
-Subject: [PATCH] using pkg-config to detect libxml-2.0 and krb5
+From dd90a690f95569b999b8ac9ab57e834b3421dcbb Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 27 Nov 2018 15:19:07 +0800
+Subject: [PATCH] From dabcbdae38038a8e4ad2c4286112381c407c5ce7 Mon Sep 17
+ 00:00:00 2001 From: Roy Li <rongqing.li@windriver.com> Date: Tue, 19 Aug 2014
+ 11:31:35 +0800 Subject: [PATCH] using pkg-config to detect libxml-2.0 and
+ krb5
-Upstream-status: Pending
+Upstream-Status: Pending
Signed-off-by: Roy Li <rongqing.li@windriver.com>
+update patch to 5.1.5
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
configure.in | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/configure.in b/configure.in
-index b226236..9cf73b8 100644
+index f5fbb35..76ecb40 100644
--- a/configure.in
+++ b/configure.in
-@@ -162,8 +162,20 @@ if test x$enable_sloppy_mount = xyes; then
- fi
+@@ -211,8 +211,20 @@ fi
+ AC_SUBST(ENABLE_FEDFS)
# LDAP SASL auth needs libxml and Kerberos
-AF_CHECK_LIBXML()
@@ -38,3 +43,6 @@ index b226236..9cf73b8 100644
AC_SEARCH_LIBS([versionsort],[])
if test "$ac_cv_search_versionsort" = "no"; then
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb
deleted file mode 100644
index 8a1bcad2..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb
+++ /dev/null
@@ -1,80 +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 e2fsprogs openssl libxml2 util-linux cyrus-sasl libnsl2"
-
-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://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://pkgconfig-libnsl.patch \
- file://0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch \
- file://0001-Do-not-hardcode-path-for-pkg.m4.patch \
- "
-SRC_URI[md5sum] = "17bc9d371cf39d99f400ebadfc2289bb"
-SRC_URI[sha256sum] = "8d1c9964c8286ccb08262ad47c60bb6343492902def5399fd36d79a0ccb0e718"
-
-UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/"
-
-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} \
- --with-fifodir=${localstatedir}/run \
- --with-flagdir=${localstatedir}/run \
-"
-CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \
- ac_cv_path_RPCGEN=rpcgen \
-"
-
-do_configure_prepend () {
- if [ ! -e ${S}/acinclude.m4 ]; then
- cp ${S}/aclocal.m4 ${S}/acinclude.m4
- fi
- cp ${STAGING_DATADIR_NATIVE}/aclocal/pkg.m4 .
-}
-
-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/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb
new file mode 100644
index 00000000..54f0b999
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb
@@ -0,0 +1,96 @@
+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 libnsl2"
+
+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://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://pkgconfig-libnsl.patch \
+ file://0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch \
+ file://0001-Do-not-hardcode-path-for-pkg.m4.patch \
+ file://0001-Bug-fix-for-pid_t-not-found-on-musl.patch \
+ "
+
+
+SRC_URI[md5sum] = "e6800e0afd6009ecdff148088c564050"
+SRC_URI[sha256sum] = "82094cad44f4e5c4f93eff2789cd66b57d7ab3fa646b7722d97608571001e694"
+
+UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/"
+
+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-confdir=${sysconfdir}/default \
+ --with-fifodir=/run \
+ --with-flagdir=/run \
+ --with-sasl=no --with-libtirpc \
+ --with-mapdir=${sysconfdir} \
+ --with-path=${STAGING_BINDIR_NATIVE} \
+ --with-fifodir=${localstatedir}/run \
+ --with-flagdir=${localstatedir}/run \
+"
+CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \
+ ac_cv_path_RPCGEN=rpcgen \
+ initdir=${INIT_D_DIR} \
+ piddir=/run \
+"
+
+do_configure_prepend () {
+ if [ ! -e ${S}/acinclude.m4 ]; then
+ cp ${S}/aclocal.m4 ${S}/acinclude.m4
+ fi
+ cp ${STAGING_DATADIR_NATIVE}/aclocal/pkg.m4 .
+}
+
+do_install_append () {
+ # samples have been removed from SUBDIRS from 5.1.5, need to install separately
+ oe_runmake 'DESTDIR=${D}' install_samples
+
+ if [ -d ${D}/run ]; then
+ rmdir ${D}/run
+ fi
+ if [ -d ${D}${localstatedir}/run ]; then
+ rmdir ${D}${localstatedir}/run
+ fi
+ # On hybrid systemd/sysvinit builds, we need to install the sysvinit script by hand.
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d -m 755 ${D}${INIT_D_DIR}
+ install -m 755 ${S}/samples/rc.autofs ${D}${INIT_D_DIR}/autofs
+ 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/external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch b/external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch
new file mode 100644
index 00000000..b94780f3
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch
@@ -0,0 +1,35 @@
+From 94fe6eb9ea2691f4a7c32fbf2d0c7c454995b666 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 27 Feb 2020 11:08:57 +0800
+Subject: [PATCH] Fix #587
+
+Off by one error in common.c, CVE-2019-19906.
+
+Thanks to Stephan Zeisberg for reporting
+
+CVE: CVE-2019-19906
+
+Upstream-Stauts: Backport [https://github.com/cyrusimap/cyrus-sasl
+/commit/dcc9f51cbd4ed622cfb0f9b1c141eb2ffe3b12f1]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/common.c b/lib/common.c
+index 305311d..445c5d5 100644
+--- a/lib/common.c
++++ b/lib/common.c
+@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t *alloclen,
+
+ if (add==NULL) add = "(null)";
+
+- addlen=strlen(add); /* only compute once */
++ addlen=strlen(add)+1; /* only compute once */
+ if (_buf_alloc(out, alloclen, (*outlen)+addlen)!=SASL_OK)
+ return SASL_NOMEM;
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb b/external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
index 594e55da..d55dc4ab 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
@@ -2,7 +2,7 @@ SUMMARY = "Generic client/server library for SASL authentication"
SECTION = "libs"
HOMEPAGE = "http://asg.web.cmu.edu/sasl/"
DEPENDS = "openssl db groff-native"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396"
SRCREV = "e41cfb986c1b1935770de554872247453fdbb079"
@@ -16,6 +16,7 @@ SRC_URI = "git://github.com/cyrusimap/cyrus-sasl;protocol=https \
file://0004-configure.ac-fix-condition-for-suppliment-snprintf-i.patch \
file://0001-Allow-saslauthd-to-be-built-outside-of-source-tree-w.patch \
file://0001-makeinit.sh-fix-parallel-build-issue.patch \
+ file://CVE-2019-19906.patch \
"
UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample b/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
deleted file mode 100644
index ec058419..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
+++ /dev/null
@@ -1,21 +0,0 @@
-# options to dnrd
-
-# example: two default dns servers and dns servers for exampledomain.com. The
-# latter are load balanced (-b)
-#
-#
-
-# DNRD_OPTS="
-# -s XXX.XXX.XX.XXX
-# -s XXX.XXX.XX.XXX
-# -b
-# -s XXX.XXX.XX.XXX:exampledomain.com
-# -s XXX.XXX.XX.XXX:exampledomain.com"
-
-# example: dnrd user
-#
-
-# DNRD_USER="user"
-#
-
-
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init b/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
deleted file mode 100644
index 2fe583fc..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/sh
-#
-# Startup script for dnrd
-#
-# Copyright 2008, Rakesh Pandit <rakesh.pandit@gmail.com>
-#
-# This source is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This source 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# chkconfig: - 85 15
-# description: dnrd is a proxying nameserver. It forwards DNS queries to the
-# appropriate nameserver, but can also act as the primary nameserver for
-# a subnet behind a firewall. It also has features such as caching DNS
-# requests, support for DNS servers, cache poisoning prevention, TCP
-# support, etc..
-
-# processname: dnrd
-# pidfile: /var/run/dnrd.pid
-# config: /etc/dnrd/dnrd.conf
-
-# Provides: dnrd
-# Required-Start:
-# Should-Start:
-# Required-Stop:
-# Default-Stop: 0 1 2 6
-# Short-Description: Start dnrd daemon
-# Description: Domain Name Relay Daemon
-# END INIT INFO
-
-exe=/usr/sbin/dnrd
-pfile=/etc/passwd
-
-# Source function library.
-. /etc/init.d/functions
-
-# Source conf file
-. /etc/dnrd/dnrd.conf
-
-[ -x $exe ] || exit 1
-[ -r "/etc/dnrd/dnrd.conf" ] || exit 1
-if [ $DNRD_USER ]
-then
- grep "^${LOGIN}:" $pfile >/dev/null 2>&1
- if [ $? -eq 0 ];then
- echo "$DNRD_USER specified in /etc/dnrd/dnrd.conf does not exist!"
- fi
-else
- echo "DNRD_USER not set at /etc/dnrd/dnrd.conf!"
- exit 1
-fi
-
-case "$1" in
- start)
- echo -n "Starting dnrd: "
- daemon dnrd $DNRD_OPTS -u $DNRD_USER
- echo
- touch /var/lock/subsys/dnrd
- ;;
- stop)
- echo -n "Shutting down dnrd: "
- killproc dnrd
- echo
- rm -f /var/lock/subsys/dnrd
- rm -f /var/run/dnrd.pid
- ;;
- status)
- status dnrd
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- reload)
- echo -n "Reloading dnrd: "
- killproc dnrd -HUP
- echo
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|reload|status}"
- exit 1
-esac
-
-exit 0
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service b/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
deleted file mode 100644
index 9c9fa663..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Domain Name Relay Daemon
-After=network.target
-
-[Service]
-Type=forking
-PIDFile=/var/run/dnrd.pid
-EnvironmentFile=/etc/dnrd/dnrd.conf
-ExecStart=/usr/sbin/dnrd $DNRD_OPTS -u $DNRD_USER
-
-[Install]
-WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch b/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch
deleted file mode 100644
index 82cdc36a..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a557651a08e21e3c7c7f5eca9f5405f86624903f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 14 Jul 2017 22:42:51 -0700
-Subject: [PATCH] src/igmpproxy.h: Include sys/types.h for u_short/u_init
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/igmpproxy.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/igmpproxy.h b/src/igmpproxy.h
-index 4dabd1c..4454729 100644
---- a/src/igmpproxy.h
-+++ b/src/igmpproxy.h
-@@ -46,6 +46,7 @@
- #include <stdbool.h>
-
- #include <sys/socket.h>
-+#include <sys/types.h>
- #include <sys/un.h>
- #include <sys/time.h>
- #include <sys/ioctl.h>
---
-2.13.3
-
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb b/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb
deleted file mode 100644
index 5424dc45..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-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 \
- file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \
- "
-
-SRC_URI[md5sum] = "c56f41ec195bc1fe016369bf74efc5a1"
-SRC_URI[sha256sum] = "ee18ff3d8c3ae3a29dccb7e5eedf332337330020168bd95a11cece8d7d7ee6ae"
-
-inherit autotools pkgconfig
-
-CFLAGS += "-D_GNU_SOURCE"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb b/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb
new file mode 100644
index 00000000..004433b6
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.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=432040ff3a55670c1dec0c32b209ad69"
+
+SRC_URI = "https://github.com/pali/igmpproxy/releases/download/${PV}/${BP}.tar.gz"
+SRC_URI[md5sum] = "3a9c2cb42c1f5ee0cb769a4884545641"
+SRC_URI[sha256sum] = "d351e623037390f575c1203d9cbb7ba33a8bdef85a3c5e1d2901c5a2a38449a1"
+
+UPSTREAM_CHECK_URI = "https://github.com/pali/${BPN}/releases"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/strncpy-truncation.patch b/external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/strncpy-truncation.patch
new file mode 100644
index 00000000..01e1da87
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/strncpy-truncation.patch
@@ -0,0 +1,39 @@
+Replace strncpy with memcpy
+
+since the length of data to
+be copied has already been determined with strlen(). Replace strncpy()
+with memcpy() to address the warning and optimize the code a little.
+
+| ippool_config.c:112:2: note: 'snprintf' output between 8 and 55 bytes into a destination of size 48
+| 112 | snprintf(prompt, sizeof(prompt), "ippool-%s", server_name);
+| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/cli/cli_readline.c
++++ b/cli/cli_readline.c
+@@ -257,10 +257,15 @@ static void cli_rl_display_wrapped_text(
+ int pos;
+ int in_ws;
+ int i;
++ int bufsize = sizeof(text_buf)/sizeof(text_buf[0]);
+
+ if (left_margin == 0) {
+ left_margin = 3;
+ }
++ if (left_margin > bufsize) {
++ left_margin = bufsize;
++ }
++
+ if (right_margin == 0) {
+ right_margin = 78;;
+ }
+@@ -271,7 +276,7 @@ static void cli_rl_display_wrapped_text(
+ /* First copy the text heading to the buffer and add a "-", accounting for
+ * the specified left margin.
+ */
+- strncpy(&text_buf[0], text1, left_margin - 3);
++ memcpy(&text_buf[0], text1, left_margin - 3);
+ for (pos = strlen(text1); pos < left_margin - 3; pos++) {
+ text_buf[pos] = ' ';
+ }
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb
index 6fa46904..3554e688 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb
@@ -26,6 +26,7 @@ SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-$
file://0003-cli-Mark-return-of-strtol-as-long-int.patch \
file://0002-link-with-libtirpc.patch \
file://0003-musl-fixes.patch \
+ file://strncpy-truncation.patch \
"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb b/external/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
deleted file mode 100644
index e6a87a38..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
+++ /dev/null
@@ -1,113 +0,0 @@
-SUMMARY = "iSCSI daemon and utility programs"
-DESCRIPTION = "Open-iSCSI project is a high performance, transport \
-independent, multi-platform implementation of RFC3720. The iscsi package \
-provides the server daemon for the iSCSI protocol, as well as the utility \
-programs used to manage it. iSCSI is a protocol for distributed \
-disk access using SCSI commands sent over Internet Protocol networks."
-HOMEPAGE = "http://www.open-iscsi.com/"
-LICENSE = "GPLv2 & LGPLv2.1"
-SECTION = "net"
-DEPENDS = "openssl flex-native bison-native open-isns util-linux"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-SRCREV ?= "bd79e4ed1004a6035d2538a308c5930890421a22"
-
-SRC_URI = "git://github.com/open-iscsi/open-iscsi \
- file://initd.debian \
- file://99_iscsi-initiator-utils \
- file://iscsi-initiator \
- file://iscsi-initiator.service \
- file://iscsi-initiator-targets.service \
- file://set_initiatorname \
- "
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-PV .= "+git${SRCPV}"
-
-inherit update-rc.d systemd autotools
-
-EXTRA_OECONF = " \
- --target=${TARGET_SYS} \
- --host=${BUILD_SYS} \
-"
-
-EXTRA_OEMAKE = ' \
- OS="${TARGET_SYS}" \
- TARGET="${TARGET_OS}" \
- BASE="${prefix}" \
- MANDIR="${mandir}" \
-'
-
-do_configure () {
- cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF}
-}
-
-do_compile () {
- # Make sure we DO NOT regenerate prom_lex.c.
- if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then
- mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused
- fi
- oe_runmake -C ${S} ${EXTRA_OEMAKE} user
-}
-
-do_install () {
- #install necessary directories
- install -d ${D}${sbindir} \
- ${D}${sysconfdir}/init.d \
- ${D}${sysconfdir}/iscsi \
- ${D}${localstatedir}/lib/iscsi/nodes \
- ${D}${localstatedir}/lib/iscsi/send_targets \
- ${D}${localstatedir}/lib/iscsi/static \
- ${D}${localstatedir}/lib/iscsi/isns \
- ${D}${localstatedir}/lib/iscsi/slp \
- ${D}${localstatedir}/lib/iscsi/ifaces \
- ${D}${libdir} \
- ${D}${mandir}/man8
-
- install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
- ${S}/utils/iscsi-iname \
- ${S}/usr/iscsistart ${D}/${sbindir}
-
- cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir}
- install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
- install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
- install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
-
- sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /run/${BPN}/lock - - - -" \
- > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
- install -d ${D}/etc/default/
- install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/iscsi-initiator.service \
- ${WORKDIR}/iscsi-initiator-targets.service \
- ${D}${systemd_unitdir}/system/
- install -d ${D}${nonarch_libdir}/iscsi
- install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
- else
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
- fi
-}
-
-pkg_postinst_${PN}() {
- if [ "x$D" = "x" ]; then
- if [ -e /etc/init.d/populate-volatile.sh ]; then
- /etc/init.d/populate-volatile.sh update
- elif command -v systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
- fi
- fi
-}
-
-SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
-INITSCRIPT_NAME = "iscsid"
-INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
-
-FILES_${PN} += "${nonarch_libdir}/iscsi"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.0.bb b/external/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.0.bb
new file mode 100644
index 00000000..97b55635
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.1.0.bb
@@ -0,0 +1,120 @@
+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 kmod"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV ?= "549f8987be49583bb06b117a364bea3a8fc5250c"
+
+SRC_URI = "git://github.com/open-iscsi/open-iscsi \
+ file://initd.debian \
+ file://99_iscsi-initiator-utils \
+ file://iscsi-initiator \
+ file://iscsi-initiator.service \
+ file://iscsi-initiator-targets.service \
+ file://set_initiatorname \
+ "
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+PV .= "+git${SRCPV}"
+
+inherit update-rc.d systemd autotools pkgconfig
+
+EXTRA_OECONF = " \
+ --target=${TARGET_SYS} \
+ --host=${BUILD_SYS} \
+"
+
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '--without-systemd', d)}"
+
+EXTRA_OEMAKE = ' \
+ OS="${TARGET_SYS}" \
+ TARGET="${TARGET_OS}" \
+ BASE="${prefix}" \
+ MANDIR="${mandir}" \
+ OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \
+ PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \
+ NO_SYSTEMD=1 \
+'
+
+
+do_configure () {
+ cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF}
+}
+
+do_compile () {
+ # Make sure we DO NOT regenerate prom_lex.c.
+ if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then
+ mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused
+ fi
+ oe_runmake -C ${S} ${EXTRA_OEMAKE} user
+}
+
+do_install () {
+ #install necessary directories
+ install -d ${D}${sbindir} \
+ ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/iscsi \
+ ${D}${localstatedir}/lib/iscsi/nodes \
+ ${D}${localstatedir}/lib/iscsi/send_targets \
+ ${D}${localstatedir}/lib/iscsi/static \
+ ${D}${localstatedir}/lib/iscsi/isns \
+ ${D}${localstatedir}/lib/iscsi/slp \
+ ${D}${localstatedir}/lib/iscsi/ifaces \
+ ${D}${libdir} \
+ ${D}${mandir}/man8
+
+ install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
+ ${S}/utils/iscsi-iname \
+ ${S}/usr/iscsistart ${D}/${sbindir}
+
+ cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir}
+ install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
+ install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
+ install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
+
+ sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/${BPN}/lock - - - -" \
+ > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
+ install -d ${D}/etc/default/
+ install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/iscsi-initiator.service \
+ ${WORKDIR}/iscsi-initiator-targets.service \
+ ${D}${systemd_unitdir}/system/
+ install -d ${D}${nonarch_libdir}/iscsi
+ install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
+ else
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
+ fi
+}
+
+pkg_postinst_${PN}() {
+ if [ "x$D" = "x" ]; then
+ if [ -e /etc/init.d/populate-volatile.sh ]; then
+ /etc/init.d/populate-volatile.sh update
+ elif command -v systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
+ fi
+ fi
+}
+
+SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
+INITSCRIPT_NAME = "iscsid"
+INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
+
+FILES_${PN} += "${nonarch_libdir}/iscsi"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb b/external/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb
deleted file mode 100644
index 31c50ff6..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers"
-DESCRIPTION = "Keepalived is a routing software written in C. The main goal \
-of this project is to provide simple and robust facilities for loadbalancing \
-and high-availability to Linux system and Linux based infrastructures. \
-Loadbalancing framework relies on well-known and widely used Linux Virtual \
-Server (IPVS) kernel module providing Layer4 loadbalancing \
-"
-HOMEPAGE = "http://www.keepalived.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz"
-SRC_URI[md5sum] = "610af6e04071f02d3469191de7499f4e"
-SRC_URI[sha256sum] = "4e2d7cc01a6ee29a3955f5c622d47704ba7d9dd758189f15e9def016a2d1faa3"
-
-DEPENDS = "libnfnetlink openssl"
-
-inherit autotools pkgconfig systemd
-
-PACKAGECONFIG ??= "libnl snmp \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-"
-PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
-PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd"
-
-EXTRA_OECONF = "--disable-libiptc"
-EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d"
-
-do_install_append() {
- if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then
- chmod 0755 ${D}${sysconfdir}/init.d/${BPN}
- sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN}
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
- fi
-}
-
-FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt"
-
-SYSTEMD_SERVICE_${PN} = "keepalived.service"
-SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.20.bb b/external/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.20.bb
new file mode 100644
index 00000000..f3c33dcb
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.20.bb
@@ -0,0 +1,45 @@
+SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers"
+DESCRIPTION = "Keepalived is a routing software written in C. The main goal \
+of this project is to provide simple and robust facilities for loadbalancing \
+and high-availability to Linux system and Linux based infrastructures. \
+Loadbalancing framework relies on well-known and widely used Linux Virtual \
+Server (IPVS) kernel module providing Layer4 loadbalancing \
+"
+HOMEPAGE = "http://www.keepalived.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz"
+SRC_URI[md5sum] = "a5966e8433b60998709c4a922a407bac"
+SRC_URI[sha256sum] = "9670fbc5eb3dc113828be8b702549dc68ec9578cf83287520d935be76fc8f193"
+
+DEPENDS = "libnfnetlink openssl"
+
+inherit autotools pkgconfig systemd
+
+PACKAGECONFIG ??= "libnl snmp \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
+PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd"
+
+EXTRA_OECONF = "--disable-libiptc"
+EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d"
+
+do_install_append() {
+ if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then
+ chmod 0755 ${D}${sysconfdir}/init.d/${BPN}
+ sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN}
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
+ fi
+}
+
+FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt"
+
+SYSTEMD_SERVICE_${PN} = "keepalived.service"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch b/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch
deleted file mode 100644
index 4876e179..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f9f3e4dd31588cce5f655730da7b5c3f56a9bdc1 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Tue, 26 Sep 2017 09:19:51 -0300
-Subject: [PATCH] src/daemon/lldpd.service.in: Use fixed path for mkdir command
-Organization: O.S. Systems Software LTDA.
-
-@mkdir_p@ is expanded to host tools path ../build/tmp/hosttools/mkdir that
-doesn't exist on target. Remove @mkdir_p@ and use /bin/mkdir -p to
-create /var/run/lldpd directory.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- src/daemon/lldpd.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/daemon/lldpd.service.in b/src/daemon/lldpd.service.in
-index fdb7338..4291830 100644
---- a/src/daemon/lldpd.service.in
-+++ b/src/daemon/lldpd.service.in
-@@ -9,7 +9,7 @@ Type=notify
- NotifyAccess=main
- EnvironmentFile=-/etc/default/lldpd
- EnvironmentFile=-/etc/sysconfig/lldpd
--ExecStartPre=@mkdir_p@ @PRIVSEP_CHROOT@
-+ExecStartPre=/bin/mkdir -p @PRIVSEP_CHROOT@
- ExecStart=@sbindir@/lldpd $DAEMON_ARGS $LLDPD_OPTIONS
- Restart=on-failure
- PrivateTmp=yes
---
-2.14.2
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb b/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb
deleted file mode 100644
index dbd84cf6..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.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 \
- file://src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch \
- "
-
-SRC_URI[md5sum] = "8809600492f6b73149eb19158e819c1f"
-SRC_URI[sha256sum] = "9ee494e91bc33938575b2c09b26188c486ef8eac6e2155d250c189cc4e988c4f"
-
-inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
-GROUPADD_PARAM_${PN} = "--system lldpd"
-
-EXTRA_OECONF += "--without-embedded-libevent \
- --disable-oldies \
- --with-privsep-user=lldpd \
- --with-privsep-group=lldpd \
- --with-systemdsystemunitdir=${systemd_system_unitdir} \
- --without-sysusersdir \
-"
-
-PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
-PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
-PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
-PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
-PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
-PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
-PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
-PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
-PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
-PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
-PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
-
-INITSCRIPT_NAME = "lldpd"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "lldpd.service"
-
-do_install_append() {
- install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd
- install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd
- # Make an empty configuration file
- touch ${D}${sysconfdir}/lldpd.conf
-}
-
-PACKAGES =+ "${PN}-zsh-completion"
-
-FILES_${PN} += "${libdir}/sysusers.d"
-RDEPENDS_${PN} += "os-release"
-
-FILES_${PN}-zsh-completion += "${datadir}/zsh/"
-# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
-#RDEPENDS_${PN}-zsh-completion += "zsh"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.4.bb b/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.4.bb
new file mode 100644
index 00000000..8fdaf848
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.4.bb
@@ -0,0 +1,64 @@
+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] = "33e8d58623f99184e4e709cbbfe45db3"
+SRC_URI[sha256sum] = "5319bc032fabf1008d5d91e280276aa7f1bbfbb70129d8526cd4526d7c22724f"
+
+inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
+GROUPADD_PARAM_${PN} = "--system lldpd"
+
+EXTRA_OECONF += "--without-embedded-libevent \
+ --disable-oldies \
+ --with-privsep-user=lldpd \
+ --with-privsep-group=lldpd \
+ --with-systemdsystemunitdir=${systemd_system_unitdir} \
+ --without-sysusersdir \
+"
+
+PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
+PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
+PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
+PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
+PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
+PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
+PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
+PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
+PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
+PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
+PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
+
+INITSCRIPT_NAME = "lldpd"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE_${PN} = "lldpd.service"
+
+do_install_append() {
+ install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd
+ install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd
+ # Make an empty configuration file
+ touch ${D}${sysconfdir}/lldpd.conf
+}
+
+PACKAGES =+ "${PN}-zsh-completion"
+
+FILES_${PN} += "${libdir}/sysusers.d"
+RDEPENDS_${PN} += "os-release"
+
+FILES_${PN}-zsh-completion += "${datadir}/zsh/"
+# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
+#RDEPENDS_${PN}-zsh-completion += "zsh"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher.bb b/external/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher.bb
deleted file mode 100644
index 050a9382..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-python __anonymous() {
- features = d.getVar('DISTRO_FEATURES')
- if not features or 'systemd' not in features:
- raise bb.parse.SkipPackage('networkd-dispatcher needs systemd in DISTRO_FEATURES')
-}
-
-SUMMARY = "Dispatcher service for systemd-networkd connection status changes"
-DESCRIPTION = "This daemon is similar to NetworkManager-dispatcher, but is much \
-more limited in the types of events it supports due to the limited nature of \
-systemd-networkd(8)."
-AUTHOR = "Clayton Craft and others"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
-
-RDEPENDS_${PN} = "systemd python3 python3-pygobject python3-dbus"
-
-SRC_URI = "git://gitlab.com/craftyguy/networkd-dispatcher.git;protocol=https"
-SRCREV = "c7e25623a161b64618ea778541c064d2a1df086b"
-PV = "1.7+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# Nothing to build, just a python script to install
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install() {
- install -D -m 0755 ${S}/networkd-dispatcher ${D}${sbindir}/networkd-dispatcher
- install -D -m 0644 ${S}/networkd-dispatcher.service ${D}/${systemd_system_unitdir}/networkd-dispatcher.service
- install -D -m 0644 ${S}/networkd-dispatcher.conf ${D}/${sysconfdir}/conf.d/networkd-dispatcher.conf
-}
-
-FILES_${PN} += "${systemd_system_unitdir}/networkd-dispatcher.service"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb b/external/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb
new file mode 100644
index 00000000..6b73506c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Dispatcher service for systemd-networkd connection status changes"
+DESCRIPTION = "This daemon is similar to NetworkManager-dispatcher, but is much \
+more limited in the types of events it supports due to the limited nature of \
+systemd-networkd(8)."
+AUTHOR = "Clayton Craft and others"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+inherit features_check systemd
+
+RDEPENDS_${PN} = "python3-pygobject python3-dbus"
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SRC_URI = "https://gitlab.com/craftyguy/networkd-dispatcher/-/archive/${PV}/networkd-dispatcher-${PV}.tar.bz2"
+SRC_URI[md5sum] = "304d7dcc21331ea295e207f8493cb8d8"
+SRC_URI[sha256sum] = "21f84c3646a043329dc64787e4e58dfce592b2559b0e3069af82c469805660c2"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "networkd-dispatcher.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+# Nothing to build, just a python script to install
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -D -m 0755 ${S}/networkd-dispatcher ${D}${bindir}/networkd-dispatcher
+ install -D -m 0644 ${S}/networkd-dispatcher.service ${D}/${systemd_system_unitdir}/networkd-dispatcher.service
+ install -D -m 0644 ${S}/networkd-dispatcher.conf ${D}/${sysconfdir}/conf.d/networkd-dispatcher.conf
+}
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-function-saHpiSensorThresholds.patch b/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-function-saHpiSensorThresholds.patch
new file mode 100644
index 00000000..b2771c0c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-function-saHpiSensorThresholds.patch
@@ -0,0 +1,35 @@
+From e0b2be7a1fce0fed63bac8c350b711b69edfe30e Mon Sep 17 00:00:00 2001
+From: "yanjun.zhu" <yanjun.zhu@windriver.com>
+Date: Tue, 30 Apr 2019 10:04:58 +0800
+Subject: [PATCH] openhpid/safhpi.c: fix function saHpiSensorThresholdsSet
+
+In COPY_TH the SensorThresholds->TH will be copied to tmp.TH only if
+TH.IsSupported == SAHPI_TRUE. So we should pass &tmp but not
+SensorThresholds as the argument to OH_CALL_ABI. Otherwise the TH will
+be set even if TH.IsSupported == SAHPI_FALSE.
+
+Upstream-Status: Submitted
+[https://github.com/open-hpi/openhpi/pull/2744/commits/77a78bb1ada56e55c5ba6d7a5987c214705bf035]
+
+Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ openhpid/safhpi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/openhpid/safhpi.c b/openhpid/safhpi.c
+index 28a2632..61b7f03 100644
+--- a/openhpid/safhpi.c
++++ b/openhpid/safhpi.c
+@@ -1933,7 +1933,7 @@ SaErrorT SAHPI_API saHpiSensorThresholdsSet (
+ 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;
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch b/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch
deleted file mode 100644
index 60e2e791..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Fix for saftest failures.
-
-Upstream-Status: Pending
-
-Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
-
-Index: openhpi-3.6.1/openhpid/safhpi.c
-===================================================================
---- openhpi-3.6.1.orig/openhpid/safhpi.c
-+++ openhpi-3.6.1/openhpid/safhpi.c
-@@ -1933,7 +1933,7 @@ SaErrorT SAHPI_API saHpiSensorThresholds
- oh_release_domain(d); /* Unlock domain */
-
- OH_CALL_ABI(h, set_sensor_thresholds, SA_ERR_HPI_INVALID_CMD, rv,
-- ResourceId, SensorNum, SensorThresholds);
-+ ResourceId, SensorNum, &tmp);
- oh_release_handler(h);
-
- return rv;
-Index: openhpi-3.6.1/utils/sahpi_struct_utils.c
-===================================================================
---- openhpi-3.6.1.orig/utils/sahpi_struct_utils.c
-+++ openhpi-3.6.1/utils/sahpi_struct_utils.c
-@@ -3861,6 +3861,9 @@ SaHpiBoolT oh_valid_textbuffer(SaHpiText
- /* found a unpaired surrogate */
- return SAHPI_FALSE;
- }
-+ } else {
-+ /*the first 2 bytes wrong*/
-+ return SAHPI_FALSE;
- }
- }
- break;
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb b/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
index c4b3309f..e8d19a2c 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
@@ -17,7 +17,7 @@ servers, Blade Center, and machines which export data via sysfs. \
HOMEPAGE = "http://openhpi.sourceforge.net/Home"
SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=e3c772a32386888ccb5ae1c0ba95f1a4"
DEPENDS = "net-snmp libxml2 ncurses openssl glib-2.0 popt e2fsprogs \
@@ -33,7 +33,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
file://openhpi-glib-cross-compile.patch \
file://openhpi-linkfix.patch \
file://openhpi-fix-host-gcc.patch \
- file://openhpi-fix-testfail-errors.patch \
+ file://openhpi-fix-function-saHpiSensorThresholds.patch \
file://openhpi-add-libnetsnmp-when-link.patch \
file://openhpi-invalide-session.patch \
file://openhpi-use-serial-tests-config-needed-by-ptest.patch \
@@ -60,19 +60,20 @@ FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so"
INSANE_SKIP_${PN}-libs = "dev-so"
RDEPENDS_${PN} += "${PN}-libs"
-PACKAGECONFIG ??= "libgcrypt non32bit"
+PACKAGECONFIG ??= "libgcrypt non32bit snmp-bc"
PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils,"
PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt,"
PACKAGECONFIG[non32bit] = "--enable-non32bit-int,--disable-non32bit-int,,"
+PACKAGECONFIG[snmp-bc] = "--enable-snmp_bc,--disable-snmp_bc"
export DISTRO
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 0644 ${S}/openhpiclient.conf.example ${D}${sysconfdir}/${BPN}/openhpiclient.conf
+ install -m 0600 ${S}/openhpi.conf.example ${D}${sysconfdir}/${BPN}/openhpi.conf
+ install -m 0644 ${S}/simulation.data.example ${D}${sysconfdir}/${BPN}/simulation.data
+ install -m 0644 ${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
@@ -84,6 +85,21 @@ do_install_append () {
do_compile_ptest () {
for x in `find ${B} -name Makefile -exec grep -l buildtest-TESTS {} \;`; do
dir=`dirname ${x}`
+ case $dir in
+ *cpp/t) ;;
+ *snmp_bc/t) if ${@bb.utils.contains('PACKAGECONFIG','snmp-bc','true','false',d)}
+ then
+ oe_runmake -C ${dir} buildtest-TESTS
+ fi
+ ;;
+ *) oe_runmake -C ${dir} buildtest-TESTS ;;
+ esac
+ done
+}
+
+ack_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
@@ -104,6 +120,9 @@ do_install_ptest () {
sed -i "s/^Makefile:/MM:/g" ${x};
done;
+ install -m 644 ${S}/openhpid/t/ohpi/openhpi.conf ${D}${PTEST_PATH}/openhpid/t/ohpi/
+ sed -i "s:OPENHPI_CONF=[^ ]*:OPENHPI_CONF=./openhpi.conf:g" ${D}${PTEST_PATH}/openhpid/t/ohpi/Makefile
+
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/
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch
new file mode 100644
index 00000000..2b03b180
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch
@@ -0,0 +1,67 @@
+From 91c7362834ccd88d1432b3e6c5c51748b72b10ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 07:21:16 -0700
+Subject: [PATCH] Add configure time check for gettid API
+
+glibc 2.30 has added syscalls wrapper for gettid
+it should now be checked during configure if C library provides
+this API then do not define local function
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 ++++
+ src/base/logtrace.cc | 3 +++
+ src/osaf/config.h.in | 3 +++
+ 3 files changed, 10 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 22ab936..90f3da4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -480,6 +480,10 @@ fi
+
+ AC_SUBST([localstatedir])
+
++#############################################
++# Checks for functions.
++#############################################
++AC_CHECK_FUNCS([ gettid ])
+
+ #############################################
+ # Checks for programs.
+diff --git a/src/base/logtrace.cc b/src/base/logtrace.cc
+index 8908c1f..fe87e8d 100644
+--- a/src/base/logtrace.cc
++++ b/src/base/logtrace.cc
+@@ -31,6 +31,7 @@
+ #include "base/logtrace_client.h"
+ #include "base/logtrace_buffer.h"
+ #include "base/ncsgl_defs.h"
++#include "osaf/config.h"
+
+ namespace global {
+
+@@ -58,7 +59,9 @@ std::once_flag init_flag;
+ thread_local LogTraceBuffer gl_thread_buffer{gl_local_thread_trace,
+ global::thread_trace_buffer_size};
+
++#ifndef HAVE_GETTID
+ static pid_t gettid() { return syscall(SYS_gettid); }
++#endif
+
+ /**
+ * USR2 signal handler to enable/disable trace (toggle)
+diff --git a/src/osaf/config.h.in b/src/osaf/config.h.in
+index d1f6d1a..0a3f27d 100644
+--- a/src/osaf/config.h.in
++++ b/src/osaf/config.h.in
+@@ -18,6 +18,9 @@
+ /* Define if experimental code is enabled */
+ #undef HAVE_EXPERIMENTAL
+
++/* Define to 1 if you have the `gettid' function. */
++#undef HAVE_GETTID
++
+ /* SAHPI_INTERFACE_VERSION == A01 */
+ #undef HAVE_HPI_A01
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch
deleted file mode 100644
index 30fdb8bf..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 38c5343f84799fc5041575f3ec808f7476b6eea3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Apr 2018 14:33:35 -0700
-Subject: [PATCH] Catch std::ifstream::failure by reference
-
-Fixes
-error: catching polymorphic type 'class std::ios_base::failure' by value
-[-Werror=catch-value=]
- } catch (std::ofstream::failure) {
- ^~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/base/conf.cc | 4 ++--
- src/dtm/dtmnd/dtm_main.cc | 2 +-
- src/dtm/dtmnd/multicast.cc | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/base/conf.cc b/src/base/conf.cc
-index d5755a1..4820357 100644
---- a/src/base/conf.cc
-+++ b/src/base/conf.cc
-@@ -189,7 +189,7 @@ std::string Conf::ReadFile(const std::string& path_name,
- try {
- str.open(path_name);
- str >> contents;
-- } catch (std::ifstream::failure) {
-+ } catch (std::ifstream::failure& e) {
- contents.clear();
- }
- return (str.fail() || contents.empty()) ? default_contents : contents;
-@@ -203,7 +203,7 @@ void Conf::WriteFileAtomically(const std::string& path_name,
- try {
- str.open(tmp_file, std::ofstream::out | std::ofstream::trunc);
- str << contents << std::endl;
-- } catch (std::ofstream::failure) {
-+ } catch (std::ofstream::failure& e) {
- success = false;
- }
- str.close();
-diff --git a/src/dtm/dtmnd/dtm_main.cc b/src/dtm/dtmnd/dtm_main.cc
-index 585e11e..5cf6ad7 100644
---- a/src/dtm/dtmnd/dtm_main.cc
-+++ b/src/dtm/dtmnd/dtm_main.cc
-@@ -367,7 +367,7 @@ void UpdateNodeIdFile(DTM_INTERNODE_CB *cb) {
- try {
- str.open(PKGLOCALSTATEDIR "/node_id", std::ofstream::out);
- str << std::hex << node_id << std::endl;
-- } catch (std::ofstream::failure) {
-+ } catch (std::ofstream::failure& e) {
- }
- str.close();
- }
-diff --git a/src/dtm/dtmnd/multicast.cc b/src/dtm/dtmnd/multicast.cc
-index cadc002..7c25fea 100644
---- a/src/dtm/dtmnd/multicast.cc
-+++ b/src/dtm/dtmnd/multicast.cc
-@@ -199,7 +199,7 @@ bool Multicast::GetPeersFromFile(const std::string &path_name) {
- }
- }
- }
-- } catch (std::ifstream::failure) {
-+ } catch (std::ifstream::failure& e) {
- LOG_ER("Caught std::ifstream::failure when reading file '%s', peers=%zu",
- path_name.c_str(), static_cast<size_t>(peers_.size()));
- peers_.clear();
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch
deleted file mode 100644
index db6796d0..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From ae7178a78aba2e5766b70191617113487fd7ad0b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Apr 2018 18:29:17 -0700
-Subject: [PATCH] Fix string overflow in snprintf
-
-Fixes errors like
-error: '%s' dir
-ective output may be truncated writing up to 255 bytes into a region of size 32 [-Werror=forma
-t-truncation=]
- snprintf(reinterpret_cast<char *>(Healthy.key), sizeof(Healthy.key), "%s",
- ^~~~
- hlth_str);
- ~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/log/logd/lgs_util.cc | 4 ++--
- src/rde/rded/rde_amf.cc | 2 +-
- src/smf/smfd/SmfUpgradeCampaign.cc | 4 ++--
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/log/logd/lgs_util.cc b/src/log/logd/lgs_util.cc
-index ac93d5a..cce80f3 100644
---- a/src/log/logd/lgs_util.cc
-+++ b/src/log/logd/lgs_util.cc
-@@ -200,12 +200,12 @@ char *lgs_get_time(time_t *time_in) {
-
- stringSize = 5 * sizeof(char);
- snprintf(srcString, (size_t)stringSize, "%d",
-- (timeStampData->tm_year + START_YEAR));
-+ (timeStampData->tm_year + START_YEAR) & 0x4dU);
-
- strncpy(timeStampString, srcString, stringSize);
-
- stringSize = 3 * sizeof(char);
-- snprintf(srcString, (size_t)stringSize, "%02d", (timeStampData->tm_mon + 1));
-+ snprintf(srcString, (size_t)stringSize, "%02d", (timeStampData->tm_mon + 1) & 0x2dU);
-
- strncat(timeStampString, srcString, stringSize);
-
-diff --git a/src/rde/rded/rde_amf.cc b/src/rde/rded/rde_amf.cc
-index 81e521e..d53cc48 100644
---- a/src/rde/rded/rde_amf.cc
-+++ b/src/rde/rded/rde_amf.cc
-@@ -102,7 +102,7 @@ static uint32_t rde_amf_healthcheck_start(RDE_AMF_CB *rde_amf_cb) {
- SaAmfHealthcheckKeyT Healthy;
- SaNameT SaCompName;
- char *phlth_ptr;
-- char hlth_str[256];
-+ char hlth_str[32];
-
- TRACE_ENTER();
-
-diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc b/src/smf/smfd/SmfUpgradeCampaign.cc
-index 45cdce8..6761bcf 100644
---- a/src/smf/smfd/SmfUpgradeCampaign.cc
-+++ b/src/smf/smfd/SmfUpgradeCampaign.cc
-@@ -447,7 +447,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) {
- TRACE_ENTER();
- SaAisErrorT rc = SA_AIS_OK;
- SaImmAttrValuesT_2 **attributes;
-- int curCnt = 0;
-+ short int curCnt = 0;
-
- /* Read the SmfCampRestartInfo object smfCampRestartCnt attr */
- std::string obj = "smfRestartInfo=info," +
-@@ -473,7 +473,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) {
- attrsmfCampRestartCnt.setName("smfCampRestartCnt");
- attrsmfCampRestartCnt.setType("SA_IMM_ATTR_SAUINT32T");
- char buf[5];
-- snprintf(buf, 4, "%d", curCnt);
-+ snprintf(buf, 4, "%hd", curCnt);
- attrsmfCampRestartCnt.addValue(buf);
- imoCampRestartInfo.addValue(attrsmfCampRestartCnt);
-
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch
new file mode 100644
index 00000000..21abcf75
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch
@@ -0,0 +1,23 @@
+From 300fd3e27e71a91fc52d3f985ed4fde548852853 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 27 Sep 2019 12:50:11 -0700
+Subject: [PATCH] create_empty_library: Use CC variable intead of hardcoding
+ gcc
+
+This ensures that cross-compiles can succeed, otherwise we get wrong
+architecture on these stub libraries
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/create_empty_library | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/scripts/create_empty_library
++++ b/scripts/create_empty_library
+@@ -66,4 +66,4 @@ for s in $symbols; do
+ echo "SaAisErrorT $s() { return SA_AIS_ERR_UNAVAILABLE; }" >> "$tmpdir/lib.c"
+ done
+ rm -f "$1"
+-gcc -O2 -shared -fPIC "$tmpdir/lib.c" -Wl,-version-script="$2" -Wl,-soname="$libbase.so.$version1" -o "$1"
++$CC -O2 -shared -fPIC "$tmpdir/lib.c" -Wl,-version-script="$2" -Wl,-soname="$libbase.so.$version1" -o "$1" $LDFLAGS
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immom_python-convert-to-python3.patch b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immom_python-convert-to-python3.patch
new file mode 100644
index 00000000..f4587468
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-immom_python-convert-to-python3.patch
@@ -0,0 +1,50 @@
+From ffc829603a2c50674c8e04de5221e43f80bfc1b2 Mon Sep 17 00:00:00 2001
+From: Andrey Zhizhikin <andrey.z@gmail.com>
+Date: Mon, 27 Jan 2020 13:00:53 +0000
+Subject: [PATCH] immom_python: convert to python3
+
+Convert immom_python to use python3, python2 is EOL and is not supported
+by all distributions anymore.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+---
+ samples/immsv/immom_python/immom.py | 2 +-
+ samples/immsv/immom_python/immomexamples.py | 2 +-
+ samples/immsv/immom_python/immomtest.py | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/samples/immsv/immom_python/immom.py b/samples/immsv/immom_python/immom.py
+index 4f68625ed..f88197000 100755
+--- a/samples/immsv/immom_python/immom.py
++++ b/samples/immsv/immom_python/immom.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python
++#!/usr/bin/env python3
+ """
+ immom -- An IMM Object Manager in Python
+
+diff --git a/samples/immsv/immom_python/immomexamples.py b/samples/immsv/immom_python/immomexamples.py
+index 70c579265..bd693c25f 100755
+--- a/samples/immsv/immom_python/immomexamples.py
++++ b/samples/immsv/immom_python/immomexamples.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+
+ import immom
+
+diff --git a/samples/immsv/immom_python/immomtest.py b/samples/immsv/immom_python/immomtest.py
+index 4b98bea8c..ed2463ba9 100755
+--- a/samples/immsv/immom_python/immomtest.py
++++ b/samples/immsv/immom_python/immomtest.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+
+ import immom
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch
deleted file mode 100644
index f98e28da..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From c5034fe42df8923bcefc10e163151997d70b6241 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Apr 2018 14:56:47 -0700
-Subject: [PATCH] Fix format-truncation errors
-
-Fixes errors with gcc8 eg.
-error: '%u' directive output may be truncated writing between 1 and 10 bytes into a region of size between 0 and 254 [-Werror=format-truncation=]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/base/daemon.c | 4 ++--
- src/mds/mds_c_db.c | 8 ++++----
- src/mds/mds_core.h | 4 ++--
- src/mds/mds_dt2c.h | 2 +-
- 4 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/base/daemon.c b/src/base/daemon.c
-index 361dd8d..4001b73 100644
---- a/src/base/daemon.c
-+++ b/src/base/daemon.c
-@@ -95,11 +95,11 @@ static int __create_pidfile(const char *pidfile)
- {
- FILE *file = NULL;
- int fd, rc = 0;
-- char pidfiletmp[NAME_MAX] = {0};
-+ char pidfiletmp[NAME_MAX+12] = {0};
- pid_t pid;
-
- pid = getpid();
-- snprintf(pidfiletmp, NAME_MAX, "%s.%u.tmp", pidfile, pid);
-+ snprintf(pidfiletmp, NAME_MAX+12, "%s.%u.tmp", pidfile, pid);
-
- /* open the file and associate a stream with it */
- if (((fd = open(pidfiletmp, O_RDWR | O_CREAT, 0644)) == -1) ||
-diff --git a/src/mds/mds_c_db.c b/src/mds/mds_c_db.c
-index e6b95cd..3d4a222 100644
---- a/src/mds/mds_c_db.c
-+++ b/src/mds/mds_c_db.c
-@@ -124,10 +124,10 @@ void get_adest_details(MDS_DEST adest, char *adest_details)
- }
-
- if (remote == true)
-- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN,
-+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24,
- "<rem_nodeid[0x%" PRIx32 "]:%s>", ncs_node_id, process_name);
- else
-- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN,
-+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24,
- "<nodeid[0x%" PRIx32 "]:%s>", ncs_node_id, process_name);
-
- m_MDS_LOG_DBG("MDS:DB: adest_details: %s ", adest_details);
-@@ -207,10 +207,10 @@ void get_subtn_adest_details(MDS_PWE_HDL pwe_hdl, MDS_SVC_ID svc_id,
- }
-
- if (remote == true)
-- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN,
-+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24,
- "<rem_node[0x%" PRIx32 "]:%s>", ncs_node_id, process_name);
- else
-- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN,
-+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24,
- "<node[0x%" PRIx32 "]:%s>", ncs_node_id, process_name);
- done:
- m_MDS_LOG_DBG("MDS:DB: adest_details: %s ", adest_details);
-diff --git a/src/mds/mds_core.h b/src/mds/mds_core.h
-index 37696d4..7f5225d 100644
---- a/src/mds/mds_core.h
-+++ b/src/mds/mds_core.h
-@@ -163,7 +163,7 @@ typedef struct mds_subscription_results_info {
- uint32_t msg_snd_cnt; /* Message send count to this destination */
- uint32_t msg_rcv_cnt; /* Message rcv count from this destination */
- char sub_adest_details
-- [MDS_MAX_PROCESS_NAME_LEN]; /* <node[slotno]:processname[pid]> */
-+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* <node[slotno]:processname[pid]> */
-
- } MDS_SUBSCRIPTION_RESULTS_INFO;
-
-@@ -194,7 +194,7 @@ typedef struct mds_subscription_info {
- count is grater than ZERO bcast (multi-unicast) */
- uint32_t prev_ver_sub_count;
- char sub_adest_details
-- [MDS_MAX_PROCESS_NAME_LEN]; /* <node[slotno]:processname[pid]> */
-+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* <node[slotno]:processname[pid]> */
-
- } MDS_SUBSCRIPTION_INFO;
-
-diff --git a/src/mds/mds_dt2c.h b/src/mds/mds_dt2c.h
-index 012999c..006b722 100644
---- a/src/mds/mds_dt2c.h
-+++ b/src/mds/mds_dt2c.h
-@@ -143,7 +143,7 @@ typedef struct mdtm_send_req {
- */
- MDS_DEST adest; /* MDTM to do local/remote routing, destination adest */
- char sub_adest_details
-- [MDS_MAX_PROCESS_NAME_LEN]; /* <node[nodeid]:processname[pid]> */
-+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* <node[nodeid]:processname[pid]> */
- MDS_SEND_PRIORITY_TYPE pri;
- MDS_CLIENT_MSG_FORMAT_VER
- msg_fmt_ver; /* message format version specification */
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch
deleted file mode 100644
index 497bb07d..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 29510dd81e3a5e96151afdb0702863cbfd640766 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 22 Jun 2018 18:58:59 -0700
-Subject: [PATCH] check for size before using strncpy
-
-ensures that size is never execeding the string length
-that execPath can hold
-
-Fixes
-error: '__builtin___strncpy_chk' specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/imm/immnd/immnd_proc.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/imm/immnd/immnd_proc.c b/src/imm/immnd/immnd_proc.c
-index 015932a..c8f115e 100644
---- a/src/imm/immnd/immnd_proc.c
-+++ b/src/imm/immnd/immnd_proc.c
-@@ -1902,6 +1902,10 @@ static int immnd_forkPbe(IMMND_CB *cb)
- LOG_ER("Pathname too long: %u max is 1023", newLen);
- return -1;
- }
-+ if (execDirLen > 1023 || execDirLen < 0) {
-+ LOG_ER("Execdir name too long: %u max is 1023", execDirLen);
-+ return -1;
-+ }
-
- strncpy(execPath, cb->mProgName, execDirLen);
- execPath[execDirLen] = 0;
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb
deleted file mode 100644
index c534c620..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification"
-DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \
-middleware consistent with Service Availability Forum (SA Forum) \
-specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \
-established by leading Communications and Enterprise Computing Companies to \
-facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \
-code base in commercial products. \
-The OpenSAF project was launched in mid 2007 and has been under development by \
-an informal group of supporters of the OpenSAF initiative. The OpenSAF \
-Foundation was founded on January 22nd 2008 with Emerson Network Power, \
-Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members."
-HOMEPAGE = "http://www.opensaf.org"
-SECTION = "admin"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
-
-DEPENDS = "libxml2 python"
-TOOLCHAIN = "gcc"
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
- file://0001-configure-Pass-linker-specific-options-with-Wl.patch \
- file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \
- file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \
- file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \
- file://0001-Catch-std-ifstream-failure-by-reference.patch \
- file://0002-Fix-format-truncation-errors.patch \
- file://0001-Fix-string-overflow-in-snprintf.patch \
- file://0008-check-for-size-before-using-strncpy.patch \
- "
-SRC_URI[md5sum] = "21836e43b13ad33bed9bd0ed391e5a6e"
-SRC_URI[sha256sum] = "e55dc2645487fb22938e8386b99eef6eb7aff43a246ce3e92488daf6ee46247a"
-
-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,,openhpi"
-PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi"
-
-PACKAGECONFIG ?= "${@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"
-
-# http://errors.yoctoproject.org/Errors/Details/186970/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb
new file mode 100644
index 00000000..3ab4757c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb
@@ -0,0 +1,77 @@
+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 python3"
+TOOLCHAIN = "gcc"
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
+ file://0001-configure-Pass-linker-specific-options-with-Wl.patch \
+ file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \
+ file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \
+ file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \
+ file://0001-Add-configure-time-check-for-gettid-API.patch \
+ file://0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch \
+ file://0001-immom_python-convert-to-python3.patch \
+ "
+SRC_URI[md5sum] = "9b61df01d1a092101c4a626692edae19"
+SRC_URI[sha256sum] = "6da9af96e8ee58d11031d305bf4804a00deb6108e12e422722882a2091bd34bd"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/opensaf/files/releases"
+
+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,,openhpi"
+PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
+
+CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation"
+CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation="
+LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
+
+do_install_append() {
+ 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} += "${libdir}/libSa*.so ${systemd_unitdir}/system/*.service"
+FILES_${PN}-dev += "${libdir}/libopensaf_core.so"
+FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+RDEPENDS_${PN} += "bash python3-core"
+
+# http://errors.yoctoproject.org/Errors/Details/186970/
+COMPATIBLE_HOST_libc-musl = 'null'
+
+FILES_SOLIBSDEV = ""
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc b/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
index 3d4f1df4..4b9940cc 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
@@ -14,33 +14,22 @@ DEPENDS = "db icu libpcre libnsl2 openssl postfix-native \
LICENSE = "IPL-1.0 | EPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b181651ad99a7dc4cc8c4ce2f491ed1a"
-SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
- file://makedefs.patch \
- file://install.patch \
- file://main.cf \
- file://postfix \
- file://internal_recipient \
- file://postfix.service \
- file://aliasesdb \
- file://check_hostname.sh \
-"
-
S = "${WORKDIR}/postfix-${PV}"
CLEANBROKEN = "1"
BBCLASSEXTEND = "native"
-inherit update-rc.d useradd update-alternatives systemd
+inherit update-rc.d useradd update-alternatives systemd lib_package
INITSCRIPT_NAME = "postfix"
INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ."
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = \
+USERADD_PACKAGES = "${PN}-bin"
+USERADD_PARAM_${PN}-bin = \
"-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \
-d /var/spool/vmail -r -g vmail --shell /bin/false vmail \
"
-GROUPADD_PARAM_${PN} = "--system postfix;--system postdrop;--system vmail"
+GROUPADD_PARAM_${PN}-bin = "--system postfix;--system postdrop;--system vmail"
export SYSLIBS = "${LDFLAGS}"
@@ -196,11 +185,15 @@ do_install_append_class-native() {
ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq
}
-ALTERNATIVE_${PN} += "sendmail mailq newaliases"
+ALTERNATIVE_${PN}-bin = "sendmail mailq newaliases"
+# /usr/lib/sendmial is required by LSB core test
+ALTERNATIVE_${PN}-bin_linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail"
ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq"
ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases"
ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix"
ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
+ALTERNATIVE_TARGET[usr-lib-sendmail] = "${sbindir}/sendmail.postfix"
+ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
ALTERNATIVE_PRIORITY = "120"
@@ -209,34 +202,21 @@ ALTERNATIVE_LINK_NAME[mailq.1] = "${mandir}/man1/mailq.1"
ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1"
ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1"
-PACKAGE_WRITE_DEPS += "postfix-native"
-pkg_postinst_${PN} () {
- if [ "x$D" = "x" ]; then
- touch /etc/aliases
- newaliases
+pkg_postinst_ontarget_${PN}-cfg () {
+ touch /etc/aliases
+ newaliases
- # generate virtual_alias, default is hash
- touch /etc/postfix/virtual_alias
- postmap /etc/postfix/virtual_alias
- else
- if ${@'true' if 'linuxstdbase' in d.getVar('DISTROOVERRIDES', False) else 'false'}; then
- # /usr/lib/sendmail is required by LSB core test
- [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
- fi
-
- touch $D/etc/aliases
- # This can fail depending on host setup
- if ! newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases; then
- $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX}
- else
- touch $D/etc/postfix/virtual_alias
- postmap -c $D/etc/postfix $D/etc/postfix/virtual_alias
- fi
-
- fi
+ # generate virtual_alias, default is hash
+ touch /etc/postfix/virtual_alias
+ postmap /etc/postfix/virtual_alias
}
+PACKAGES =+ "${PN}-cfg"
+RDEPENDS_${PN}-cfg_class-target += "${PN}-bin"
+RDEPENDS_${PN}_class-target += "${PN}-cfg"
# Exclude .debug directories from the main package
-FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \
+FILES_${PN}-bin += "${localstatedir} ${bindir}/* ${sbindir}/* \
${libexecdir}/* ${systemd_unitdir}/*"
+FILES_${PN}-cfg = "${sysconfdir}"
FILES_${PN}-dbg += "${libexecdir}/postfix/.debug"
+ALLOW_EMPTY_${PN} = "1"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.3.1.bb b/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.3.1.bb
deleted file mode 100644
index 6718b7ef..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.3.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require postfix.inc
-
-SRC_URI += "file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
- file://postfix-install.patch \
- file://icu-config.patch \
- file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \
- "
-
-SRC_URI[md5sum] = "4381c6492f415e4a69cf5099d4acea76"
-SRC_URI[sha256sum] = "54f514dae42b5275cb4bc9c69283f16c06200b71813d0bb696568c4ba7ae7e3b"
-
-UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.3(\.\d+)+).tar.gz"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb b/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb
new file mode 100644
index 00000000..db5b41bf
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb
@@ -0,0 +1,18 @@
+require postfix.inc
+
+SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
+ file://makedefs.patch \
+ file://install.patch \
+ file://main.cf \
+ file://postfix \
+ file://internal_recipient \
+ file://postfix.service \
+ file://aliasesdb \
+ file://check_hostname.sh \
+ file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
+ file://postfix-install.patch \
+ file://icu-config.patch \
+ file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \
+ "
+SRC_URI[sha256sum] = "18555183ae8b52a9e76067799279c86f9f2770cdef3836deb8462ee0a0855dec"
+UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.3(\.\d+)+).tar.gz"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb b/external/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb
index 40994726..1e4697a6 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb
@@ -13,10 +13,10 @@ SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \
file://build_fixup.patch \
file://proftpd.service \
"
-iSRC_URI[md5sum] = "13270911c42aac842435f18205546a1b"
+SRC_URI[md5sum] = "13270911c42aac842435f18205546a1b"
SRC_URI[sha256sum] = "91ef74b143495d5ff97c4d4770c6804072a8c8eb1ad1ecc8cc541b40e152ecaf"
-inherit autotools-brokensep useradd update-rc.d systemd
+inherit autotools-brokensep useradd update-rc.d systemd multilib_script
PACKAGECONFIG ??= "shadow \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
@@ -110,6 +110,7 @@ do_install () {
sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \
-e 's|${STAGING_DIR_NATIVE}||g' \
-e 's|-fdebug-prefix-map=[^ ]*||g' \
+ -e 's|-fmacro-prefix-map=[^ ]*||g' \
-i ${D}/${bindir}/prxs
# ftpmail perl script, which reads the proftpd log file and sends
@@ -133,6 +134,8 @@ GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}"
USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \
--shell /bin/false ${FTPUSER}"
+MULTILIB_SCRIPTS = "${PN}:${bindir}/prxs"
+
FILES_${PN} += "/home/${FTPUSER}"
RDEPENDS_${PN} += "perl"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb b/external/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
index 58625c80..cab0d943 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
@@ -5,7 +5,7 @@ and PTP Version 2 implements IEEE-1588-2008. PTP was developed to provide very p
time coordination of LAN connected computers."
HOMEPAGE = "http://sourceforge.net/projects/ptpd"
SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://README;md5=0733e1b3788ab2ebbc63bf33a020da1d"
DEPENDS = "libpcap"
@@ -31,6 +31,8 @@ SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptp
SRC_URI[md5sum] = "253bab7ab51d969616ea811be1f132f3"
SRC_URI[sha256sum] = "0dbf54dd2c178bd9fe62481d2c37513ee36636d8bf137cfdad96891490cdbf93"
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ptpd/files/releases"
+
S = "${WORKDIR}/ptpd-${PV}"
EXTRA_OEMAKE = ""
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch b/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch
index 76523fb9..2606a366 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch
@@ -1,4 +1,4 @@
-From 1bafadf2502334a3e972ff667061469316d0d2ca Mon Sep 17 00:00:00 2001
+From a45e086661a3eed29193546c525998d7525ef6d9 Mon Sep 17 00:00:00 2001
From: Tudor Florea <tudor.florea@enea.com>
Date: Tue, 4 Aug 2015 02:46:39 +0200
Subject: [PATCH] Remove hardcoded /usr/local includes from configure.ac
@@ -7,33 +7,40 @@ Upstream-Status: Inappropriate [config]
Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@promwad.com>
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
+
+Update for 1.0.49.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+
---
- configure.ac | 12 ------------
- 1 file changed, 12 deletions(-)
+ configure.ac | 15 ---------------
+ 1 file changed, 15 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 6c78e8c..851d45d 100644
+index 079e6f0..9a1ec06 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -100,18 +100,6 @@ AC_ARG_VAR(PYTHON,local path to the python interpreter)
- python_possible_path="/usr/bin:/usr/local/bin:/bin:/opt/python/bin:/opt/python/usr/bin:/opt/python/usr/local/bin"
- AC_PATH_PROG(PYTHON,python,/usr/bin/env python,$python_possible_path)
+@@ -96,21 +96,6 @@ AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"])
+ AX_CHECK_LINK_FLAG([-Wl,-z,now], [LDFLAGS="$LDFLAGS -Wl,-z,now"])
+ AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"])
--if test -d /usr/local/include; then
-- CPPFLAGS="$CPPFLAGS -I/usr/local/include"
--fi
--
--if test -d /usr/kerberos/include; then
-- CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include"
--fi
--
--if test -d /usr/local/lib; then
-- LDFLAGS="$LDFLAGS -L/usr/local/lib"
+-if test "x$cross_compiling" != "xyes"; then
+- for path in \
+- /usr/kerberos \
+- /usr/local /opt /usr/local/opt \
+- /usr/openssl@1.1 /opt/openssl@1.1 /usr/local/opt/openssl@1.1 \
+- /usr/openssl /opt/openssl /usr/local/opt/openssl; do
+- if test -d $path/include; then
+- CPPFLAGS="$CPPFLAGS -I${path}/include"
+- fi
+- if test -d $path/lib; then
+- LDFLAGS="$LDFLAGS -L${path}/lib"
+- fi
+- done
-fi
-
CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
dnl Checks for header files
--
-1.9.1
+2.7.4
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch b/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch
index 4cb33bc5..32d714f6 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch
@@ -1,7 +1,8 @@
-From 0290bd6f4ceddff2c52dff833c9d31d24de7d0e1 Mon Sep 17 00:00:00 2001
+From 79fd22c0def26eba130db98e312bb00fec32ac0a Mon Sep 17 00:00:00 2001
From: Tudor Florea <tudor.florea@enea.com>
Date: Tue, 4 Aug 2015 03:07:01 +0200
-Subject: [PATCH] Don't mess with CFLAGS and LDFLAGS when --with-minimal is specified
+Subject: [PATCH] Don't mess with CFLAGS and LDFLAGS when --with-minimal is
+ specified
We especially don't want stripping enabled.
@@ -9,15 +10,16 @@ Upstream-Status: Inappropriate [config]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
+
---
configure.ac | 2 --
1 file changed, 2 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 851d45d..dc410a1 100644
+index 695ce68..0f28b55 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -423,8 +423,6 @@ AC_ARG_WITH(minimal,
+@@ -414,8 +414,6 @@ AC_ARG_WITH(minimal,
AC_DEFINE(NO_FTP_USERS)
AC_DEFINE(WITHOUT_ASCII)
AC_DEFINE(BORING_MODE)
@@ -26,6 +28,3 @@ index 851d45d..dc410a1 100644
fi ])
AC_ARG_WITH(paranoidmsg,
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb b/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb
deleted file mode 100644
index e5c56164..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "FTP Server with a strong focus on software security"
-DESCRIPTION = "Pure-FTPd is a free (BSD license), secure, production-quality and standard-conformant FTP server."
-HOMEPAGE = "http://www.pureftpd.org/project/pure-ftpd"
-SECTION = "net"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=90352fb2bfe17f4261687a0d6e09f489"
-
-DEPENDS = "libcap virtual/crypt"
-
-
-SRC_URI = "http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${PV}.tar.gz \
- file://0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch \
- file://nostrip.patch \
-"
-SRC_URI[md5sum] = "4195af8f0e5ee2a798b1014071dae3a3"
-SRC_URI[sha256sum] = "7be73a8e58b190a7054d2ae00c5e650cb9e091980420082d02ec3c3b68d8e7f9"
-
-inherit autotools
-
-EXTRA_OECONF = "--with-minimal"
-PACKAGECONFIG[libsodium] ="ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=yes, \
- ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=no, libsodium"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.49.bb b/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.49.bb
new file mode 100644
index 00000000..5a8e9c13
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.49.bb
@@ -0,0 +1,20 @@
+SUMMARY = "FTP Server with a strong focus on software security"
+DESCRIPTION = "Pure-FTPd is a free (BSD license), secure, production-quality and standard-conformant FTP server."
+HOMEPAGE = "http://www.pureftpd.org/project/pure-ftpd"
+SECTION = "net"
+LICENSE = "BSD-0-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e25e28bc568d70eb26c3a91387c86ccb"
+
+DEPENDS = "libcap virtual/crypt"
+
+SRC_URI = "http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${PV}.tar.gz \
+ file://0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch \
+ file://nostrip.patch \
+"
+SRC_URI[md5sum] = "451879495ba61c1d7dcfca8dd231119f"
+SRC_URI[sha256sum] = "767bf458c70b24f80c0bb7a1bbc89823399e75a0a7da141d30051a2b8cc892a5"
+
+inherit autotools
+
+PACKAGECONFIG[libsodium] ="ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=yes, \
+ ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=no, libsodium"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb b/external/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb
deleted file mode 100644
index 4baea01d..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-
-require radvd.inc
-
-SRC_URI[md5sum] = "64ee3fdb5544bcddef1c6cd80d77fa0a"
-SRC_URI[sha256sum] = "53757e7f2164899e1145482f1ae91829600a6e2f6fec29cfb3b350a3bb45bd5d"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.18.bb b/external/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.18.bb
new file mode 100644
index 00000000..6097b209
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.18.bb
@@ -0,0 +1,5 @@
+
+require radvd.inc
+
+SRC_URI[md5sum] = "26ead3a0d5cfbe4c81c3089eaf7b3250"
+SRC_URI[sha256sum] = "4f573e36b96ba92d03b5abbbd5f059b9c8994967812c77852f44049ac5a448fd"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch
deleted file mode 100644
index 001d9e90..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch
+++ /dev/null
@@ -1,506 +0,0 @@
-From 01a44c96dbd04936e9cb2501745a834a0b09d504 Mon Sep 17 00:00:00 2001
-From: Amos Jeffries <yadij@users.noreply.github.com>
-Date: Sun, 13 May 2018 06:57:41 +0000
-Subject: [PATCH] Bug 4843 pt1: ext_edirectory_userip_acl refactoring for GCC-8
- (#204)
-
-Proposed changes to this helper to fix strcat / strncat buffer
-overread / overflow issues.
-
-The approach takes three parts:
-
-* adds a makeHexString function to replace many for-loops
- catenating bits of strings together with hex conversion into a
- second buffer. Replacing with a snprintf() and buffer overflow
- handling.
-
-* a copy of Ip::Address::lookupHostIp to convert the input
- string into IP address binary format, then generate the hex
- string using the above new hex function instead of looped
- sub-string concatenations across several buffers.
- This removes all the "00" and "0000" strncat() calls and
- allows far simpler code even with added buffer overflow
- handling.
-
-* replace multiple string part concatenations with a few simpler
- calls to snprintf() for all the search_ip buffer constructions.
- Adding buffer overflow handling as needed for the new calls.
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
-
- .../ext_edirectory_userip_acl.cc | 376 ++++++------------
- 1 file changed, 120 insertions(+), 256 deletions(-)
-
-diff --git a/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.cc b/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.cc
-index 63609e4..ad16bfd 100644
---- a/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.cc
-+++ b/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.cc
-@@ -67,6 +67,9 @@
- #ifdef HAVE_LDAP_H
- #include <ldap.h>
- #endif
-+#ifdef HAVE_NETDB_H
-+#include <netdb.h>
-+#endif
-
- #ifdef HELPER_INPUT_BUFFER
- #define EDUI_MAXLEN HELPER_INPUT_BUFFER
-@@ -714,11 +717,14 @@ BindLDAP(edui_ldap_t *l, char *dn, char *pw, unsigned int t)
-
- /* Copy details - dn and pw CAN be NULL for anonymous and/or TLS */
- if (dn != NULL) {
-+ if (strlen(dn) >= sizeof(l->dn))
-+ return LDAP_ERR_OOB; /* DN too large */
-+
- if ((l->basedn[0] != '\0') && (strstr(dn, l->basedn) == NULL)) {
- /* We got a basedn, but it's not part of dn */
-- xstrncpy(l->dn, dn, sizeof(l->dn));
-- strncat(l->dn, ",", 1);
-- strncat(l->dn, l->basedn, strlen(l->basedn));
-+ const int x = snprintf(l->dn, sizeof(l->dn)-1, "%s,%s", dn, l->basedn);
-+ if (x < 0 || static_cast<size_t>(x) >= sizeof(l->dn))
-+ return LDAP_ERR_OOB; /* DN too large */
- } else
- xstrncpy(l->dn, dn, sizeof(l->dn));
- }
-@@ -778,24 +784,73 @@ BindLDAP(edui_ldap_t *l, char *dn, char *pw, unsigned int t)
- }
- }
-
-+// XXX: duplicate (partial) of Ip::Address::lookupHostIp
-+/**
-+ * Convert the IP address string representation in src to
-+ * its binary representation.
-+ *
-+ * \return binary representation of the src IP address.
-+ * Must be free'd using freeaddrinfo().
-+ */
-+static struct addrinfo *
-+makeIpBinary(const char *src)
-+{
-+ struct addrinfo want;
-+ memset(&want, 0, sizeof(want));
-+ want.ai_flags = AI_NUMERICHOST; // prevent actual DNS lookups!
-+
-+ struct addrinfo *dst = nullptr;
-+ if (getaddrinfo(src, nullptr, &want, &dst) != 0) {
-+ // not an IP address
-+ /* free any memory getaddrinfo() dynamically allocated. */
-+ if (dst)
-+ freeaddrinfo(dst);
-+ return nullptr;
-+ }
-+
-+ return dst;
-+}
-+
-+/**
-+ * Convert srcLen bytes from src into HEX and store into dst, which
-+ * has a maximum content size of dstSize including c-string terminator.
-+ * The dst value produced will be a 0-terminated c-string.
-+ *
-+ * \retval N length of dst written (excluding c-string terminator)
-+ * \retval -11 (LDAP_ERR_OOB) buffer overflow detected
-+ */
-+static int
-+makeHexString(char *dst, const int dstSize, const char *src, const int srcLen)
-+{
-+ // HEX encoding doubles the amount of bytes/octets copied
-+ if ((srcLen*2) >= dstSize)
-+ return LDAP_ERR_OOB; // cannot copy that many
-+
-+ *dst = 0;
-+
-+ for (int k = 0; k < srcLen; ++k) {
-+ int c = static_cast<int>(src[k]);
-+ if (c < 0)
-+ c = c + 256;
-+ char hexc[4];
-+ const int hlen = snprintf(hexc, sizeof(hexc), "%02X", c);
-+ if (hlen < 0 || static_cast<size_t>(hlen) > sizeof(hexc)) // should be impossible
-+ return LDAP_ERR_OOB;
-+ strcat(dst, hexc);
-+ }
-+ return strlen(dst);
-+}
-+
- /*
- * ConvertIP() - <edui_ldap_t> <ip>
- *
- * Take an IPv4 address in dot-decimal or IPv6 notation, and convert to 2-digit HEX stored in l->search_ip
- * This is the networkAddress that we search LDAP for.
-- *
-- * PENDING -- CHANGE OVER TO inet*_pton, but inet6_pton does not provide the correct syntax
-- *
- */
- static int
- ConvertIP(edui_ldap_t *l, char *ip)
- {
-- char bufa[EDUI_MAXLEN], bufb[EDUI_MAXLEN], obj[EDUI_MAXLEN];
-- char hexc[4], *p;
- void *y, *z;
-- size_t s;
-- long x;
-- int i, j, t, swi; /* IPv6 "::" cut over toggle */
- if (l == NULL) return LDAP_ERR_NULL;
- if (ip == NULL) return LDAP_ERR_PARAM;
- if (!(l->status & LDAP_INIT_S)) return LDAP_ERR_INIT; /* Not initalized */
-@@ -831,183 +886,22 @@ ConvertIP(edui_ldap_t *l, char *ip)
- l->status |= (LDAP_IPV4_S);
- z = NULL;
- }
-- s = strlen(ip);
-- *(bufa) = '\0';
-- *(bufb) = '\0';
-- *(obj) = '\0';
-- /* StringSplit() will zero out bufa & obj at each call */
-- memset(l->search_ip, '\0', sizeof(l->search_ip));
-- xstrncpy(bufa, ip, sizeof(bufa)); /* To avoid segfaults, use bufa instead of ip */
-- swi = 0;
-- if (l->status & LDAP_IPV6_S) {
-- /* Search for :: in string */
-- if ((bufa[0] == ':') && (bufa[1] == ':')) {
-- /* bufa starts with a ::, so just copy and clear */
-- xstrncpy(bufb, bufa, sizeof(bufb));
-- *(bufa) = '\0';
-- ++swi; /* Indicates that there is a bufb */
-- } else if ((bufa[0] == ':') && (bufa[1] != ':')) {
-- /* bufa starts with a :, a typo so just fill in a ':', cat and clear */
-- bufb[0] = ':';
-- strncat(bufb, bufa, strlen(bufa));
-- *(bufa) = '\0';
-- ++swi; /* Indicates that there is a bufb */
-- } else {
-- p = strstr(bufa, "::");
-- if (p != NULL) {
-- /* Found it, break bufa down and split into bufb here */
-- *(bufb) = '\0';
-- i = strlen(p);
-- memcpy(bufb, p, i);
-- *p = '\0';
-- bufb[i] = '\0';
-- ++swi; /* Indicates that there is a bufb */
-- }
-- }
-- }
-- s = strlen(bufa);
-- if (s < 1)
-- s = strlen(bufb);
-- while (s > 0) {
-- if ((l->status & LDAP_IPV4_S) && (swi == 0)) {
-- /* Break down IPv4 address */
-- t = StringSplit(bufa, '.', obj, sizeof(obj));
-- if (t > 0) {
-- errno = 0;
-- x = strtol(obj, (char **)NULL, 10);
-- if (((x < 0) || (x > 255)) || ((errno != 0) && (x == 0)) || ((obj[0] != '0') && (x == 0)))
-- return LDAP_ERR_OOB; /* Out of bounds -- Invalid address */
-- memset(hexc, '\0', sizeof(hexc));
-- int hlen = snprintf(hexc, sizeof(hexc), "%02X", (int)x);
-- strncat(l->search_ip, hexc, hlen);
-- } else
-- break; /* reached end of octet */
-- } else if (l->status & LDAP_IPV6_S) {
-- /* Break down IPv6 address */
-- if (swi > 1)
-- t = StringSplit(bufb, ':', obj, sizeof(obj)); /* After "::" */
-- else
-- t = StringSplit(bufa, ':', obj, sizeof(obj)); /* Before "::" */
-- /* Convert octet by size (t) - and fill 0's */
-- switch (t) { /* IPv6 is already in HEX, copy contents */
-- case 4:
-- hexc[0] = (char) toupper((int)obj[0]);
-- i = (int)hexc[0];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[1] = (char) toupper((int)obj[1]);
-- i = (int)hexc[1];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[2] = '\0';
-- strncat(l->search_ip, hexc, 2);
-- hexc[0] = (char) toupper((int)obj[2]);
-- i = (int)hexc[0];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[1] = (char) toupper((int)obj[3]);
-- i = (int)hexc[1];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[2] = '\0';
-- strncat(l->search_ip, hexc, 2);
-- break;
-- case 3:
-- hexc[0] = '0';
-- hexc[1] = (char) toupper((int)obj[0]);
-- i = (int)hexc[1];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[2] = '\0';
-- strncat(l->search_ip, hexc, 2);
-- hexc[0] = (char) toupper((int)obj[1]);
-- i = (int)hexc[0];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[1] = (char) toupper((int)obj[2]);
-- i = (int)hexc[1];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[2] = '\0';
-- strncat(l->search_ip, hexc, 2);
-- break;
-- case 2:
-- strncat(l->search_ip, "00", 2);
-- hexc[0] = (char) toupper((int)obj[0]);
-- i = (int)hexc[0];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[1] = (char) toupper((int)obj[1]);
-- i = (int)hexc[1];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[2] = '\0';
-- strncat(l->search_ip, hexc, 2);
-- break;
-- case 1:
-- strncat(l->search_ip, "00", 2);
-- hexc[0] = '0';
-- hexc[1] = (char) toupper((int)obj[0]);
-- i = (int)hexc[1];
-- if (!isxdigit(i))
-- return LDAP_ERR_OOB; /* Out of bounds */
-- hexc[2] = '\0';
-- strncat(l->search_ip, hexc, 2);
-- break;
-- default:
-- if (t > 4)
-- return LDAP_ERR_OOB;
-- break;
-- }
-- /* Code to pad the address with 0's between a '::' */
-- if ((strlen(bufa) == 0) && (swi == 1)) {
-- /* We are *AT* the split, pad in some 0000 */
-- t = strlen(bufb);
-- /* How many ':' exist in bufb ? */
-- j = 0;
-- for (i = 0; i < t; ++i) {
-- if (bufb[i] == ':')
-- ++j;
-- }
-- --j; /* Preceding "::" doesn't count */
-- t = 8 - (strlen(l->search_ip) / 4) - j; /* Remainder */
-- if (t > 0) {
-- for (i = 0; i < t; ++i)
-- strncat(l->search_ip, "0000", 4);
-- }
-- }
-- }
-- if ((bufa[0] == '\0') && (swi > 0)) {
-- s = strlen(bufb);
-- ++swi;
-- } else
-- s = strlen(bufa);
-- }
-- s = strlen(l->search_ip);
-
-- /* CHECK sizes of address, truncate or pad */
-- /* if "::" is at end of ip, then pad another block or two */
-- while ((l->status & LDAP_IPV6_S) && (s < 32)) {
-- strncat(l->search_ip, "0000", 4);
-- s = strlen(l->search_ip);
-- }
-- if ((l->status & LDAP_IPV6_S) && (s > 32)) {
-- /* Too long, truncate */
-- l->search_ip[32] = '\0';
-- s = strlen(l->search_ip);
-- }
-- /* If at end of ip, and its not long enough, then pad another block or two */
-- while ((l->status & LDAP_IPV4_S) && (s < 8)) {
-- strncat(l->search_ip, "00", 2);
-- s = strlen(l->search_ip);
-- }
-- if ((l->status & LDAP_IPV4_S) && (s > 8)) {
-- /* Too long, truncate */
-- l->search_ip[8] = '\0';
-- s = strlen(l->search_ip);
-+ size_t s = LDAP_ERR_INVALID;
-+ if (struct addrinfo *dst = makeIpBinary(ip)) {
-+ if (dst->ai_family == AF_INET6) {
-+ struct sockaddr_in6 *sia = reinterpret_cast<struct sockaddr_in6 *>(dst->ai_addr);
-+ const char *ia = reinterpret_cast<const char *>(sia->sin6_addr.s6_addr);
-+ s = makeHexString(l->search_ip, sizeof(l->search_ip), ia, 16); // IPv6 = 16-byte address
-+
-+ } else if (dst->ai_family == AF_INET) {
-+ struct sockaddr_in *sia = reinterpret_cast<struct sockaddr_in *>(dst->ai_addr);
-+ const char *ia = reinterpret_cast<const char *>(&(sia->sin_addr));
-+ s = makeHexString(l->search_ip, sizeof(l->search_ip), ia, 4); // IPv4 = 4-byte address
-+ } // else leave s with LDAP_ERR_INVALID value
-+ freeaddrinfo(dst);
- }
-
-- /* Completed, s is length of address in HEX */
- return s;
- }
-
-@@ -1099,48 +993,42 @@ SearchFilterLDAP(edui_ldap_t *l, char *group)
- }
- if (group == NULL) {
- /* No groupMembership= to add, yay! */
-- xstrncpy(bufa, "(&", sizeof(bufa));
-- strncat(bufa, edui_conf.search_filter, strlen(edui_conf.search_filter));
- /* networkAddress */
-- snprintf(bufb, sizeof(bufb), "(|(networkAddress=1\\23%s)", bufc);
- if (l->status & LDAP_IPV4_S) {
-- int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s))", \
-- bufc, bufc);
-- strncat(bufb, bufd, ln);
-+ const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s)", bufc, bufc);
-+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd))
-+ return LDAP_ERR_OOB;
-+
- } else if (l->status & LDAP_IPV6_S) {
-- int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s))", \
-- bufc, bufc);
-- strncat(bufb, bufd, ln);
-- } else
-- strncat(bufb, ")", 1);
-- strncat(bufa, bufb, strlen(bufb));
-- strncat(bufa, ")", 1);
-+ const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s)", bufc, bufc);
-+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd))
-+ return LDAP_ERR_OOB;
-+ }
-+ const int x = snprintf(bufa, sizeof(bufa), "(&%s(|(networkAddress=1\\23%s)%s))", edui_conf.search_filter, bufc, bufd);
-+ if (x < 0 || static_cast<size_t>(x) >= sizeof(bufa))
-+ return LDAP_ERR_OOB;
-+
- } else {
- /* Needs groupMembership= to add... */
-- xstrncpy(bufa, "(&(&", sizeof(bufa));
-- strncat(bufa, edui_conf.search_filter, strlen(edui_conf.search_filter));
- /* groupMembership -- NOTE: Squid *MUST* provide "cn=" from squid.conf */
-- snprintf(bufg, sizeof(bufg), "(groupMembership=%s", group);
- if ((l->basedn[0] != '\0') && (strstr(group, l->basedn) == NULL)) {
-- strncat(bufg, ",", 1);
-- strncat(bufg, l->basedn, strlen(l->basedn));
-+ const int ln = snprintf(bufg, sizeof(bufg), ",%s", l->basedn);
-+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd))
-+ return LDAP_ERR_OOB;
- }
-- strncat(bufg, ")", 1);
-- strncat(bufa, bufg, strlen(bufg));
- /* networkAddress */
-- snprintf(bufb, sizeof(bufb), "(|(networkAddress=1\\23%s)", bufc);
- if (l->status & LDAP_IPV4_S) {
-- int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s))", \
-- bufc, bufc);
-- strncat(bufb, bufd, ln);
-+ const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s)", bufc, bufc);
-+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd))
-+ return LDAP_ERR_OOB;
- } else if (l->status & LDAP_IPV6_S) {
-- int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s))", \
-- bufc, bufc);
-- strncat(bufb, bufd, ln);
-- } else
-- strncat(bufb, ")", 1);
-- strncat(bufa, bufb, strlen(bufb));
-- strncat(bufa, "))", 2);
-+ const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s)", bufc, bufc);
-+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd))
-+ return LDAP_ERR_OOB;
-+ }
-+ const int x = snprintf(bufa, sizeof(bufa), "(&(&%s(groupMembership=%s%s)(|(networkAddress=1\\23%s)%s)))", edui_conf.search_filter, group, bufg, bufc, bufd);
-+ if (x < 0 || static_cast<size_t>(x) >= sizeof(bufa))
-+ return LDAP_ERR_OOB;
- }
- s = strlen(bufa);
- xstrncpy(l->search_filter, bufa, sizeof(l->search_filter));
-@@ -1212,10 +1100,10 @@ static int
- SearchIPLDAP(edui_ldap_t *l)
- {
- ber_len_t i, x;
-- ber_len_t j, k;
-- ber_len_t y, z;
-- int c;
-- char bufa[EDUI_MAXLEN], bufb[EDUI_MAXLEN], hexc[4];
-+ ber_len_t j;
-+ ber_len_t z;
-+ char bufa[EDUI_MAXLEN];
-+ char bufb[EDUI_MAXLEN];
- LDAPMessage *ent;
- if (l == NULL) return LDAP_ERR_NULL;
- if (l->lp == NULL) return LDAP_ERR_POINTER;
-@@ -1273,19 +1161,11 @@ SearchIPLDAP(edui_ldap_t *l)
- /* bufa is the address, just compare it */
- if (!(l->status & LDAP_IPV4_S) || (l->status & LDAP_IPV6_S))
- break; /* Not looking for IPv4 */
-- for (k = 0; k < z; ++k) {
-- c = (int) bufa[k];
-- if (c < 0)
-- c = c + 256;
-- int hlen = snprintf(hexc, sizeof(hexc), "%02X", c);
-- if (k == 0)
-- xstrncpy(bufb, hexc, sizeof(bufb));
-- else
-- strncat(bufb, hexc, hlen);
-- }
-- y = strlen(bufb);
-+ const int blen = makeHexString(bufb, sizeof(bufb), bufa, z);
-+ if (blen < 0)
-+ return blen;
- /* Compare value with IP */
-- if (memcmp(l->search_ip, bufb, y) == 0) {
-+ if (memcmp(l->search_ip, bufb, blen) == 0) {
- /* We got a match! - Scan 'ber' for 'cn' values */
- z = ldap_count_values_len(ber);
- for (j = 0; j < z; ++j) {
-@@ -1308,19 +1188,11 @@ SearchIPLDAP(edui_ldap_t *l)
- /* bufa + 2 is the address (skip 2 digit port) */
- if (!(l->status & LDAP_IPV4_S) || (l->status & LDAP_IPV6_S))
- break; /* Not looking for IPv4 */
-- for (k = 2; k < z; ++k) {
-- c = (int) bufa[k];
-- if (c < 0)
-- c = c + 256;
-- int hlen = snprintf(hexc, sizeof(hexc), "%02X", c);
-- if (k == 2)
-- xstrncpy(bufb, hexc, sizeof(bufb));
-- else
-- strncat(bufb, hexc, hlen);
-- }
-- y = strlen(bufb);
-+ const int blen = makeHexString(bufb, sizeof(bufb), &bufa[2], z);
-+ if (blen < 0)
-+ return blen;
- /* Compare value with IP */
-- if (memcmp(l->search_ip, bufb, y) == 0) {
-+ if (memcmp(l->search_ip, bufb, blen) == 0) {
- /* We got a match! - Scan 'ber' for 'cn' values */
- z = ldap_count_values_len(ber);
- for (j = 0; j < z; ++j) {
-@@ -1343,19 +1215,11 @@ SearchIPLDAP(edui_ldap_t *l)
- /* bufa + 2 is the address (skip 2 digit port) */
- if (!(l->status & LDAP_IPV6_S))
- break; /* Not looking for IPv6 */
-- for (k = 2; k < z; ++k) {
-- c = (int) bufa[k];
-- if (c < 0)
-- c = c + 256;
-- int hlen = snprintf(hexc, sizeof(hexc), "%02X", c);
-- if (k == 2)
-- xstrncpy(bufb, hexc, sizeof(bufb));
-- else
-- strncat(bufb, hexc, hlen);
-- }
-- y = strlen(bufb);
-+ const int blen = makeHexString(bufb, sizeof(bufb), &bufa[2], z);
-+ if (blen < 0)
-+ return blen;
- /* Compare value with IP */
-- if (memcmp(l->search_ip, bufb, y) == 0) {
-+ if (memcmp(l->search_ip, bufb, blen) == 0) {
- /* We got a match! - Scan 'ber' for 'cn' values */
- z = ldap_count_values_len(ber);
- for (j = 0; j < z; ++j) {
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch
new file mode 100644
index 00000000..fbbad159
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch
@@ -0,0 +1,31 @@
+From 1def5b4278d97f197520d23c1dce52f93a1b2f46 Mon Sep 17 00:00:00 2001
+From: Andrej Valek <andrej.valek@siemens.com>
+Date: Tue, 9 Apr 2019 09:40:30 +0200
+Subject: [PATCH] splay.cc: fix bind is not a member of std
+
+fix
+| ../../squid-4.6/test-suite/splay.cc:134:28: error: 'bind' is not a member of 'std'
+| auto nextRandom = std::bind (distribution, generator);
+| ^~~~
+| ../../squid-4.6/test-suite/splay.cc:134:28: note: 'std::bind' is defined in header '<functional>'; did you forget to '#include <functional>'?
+
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+---
+ test-suite/splay.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/test-suite/splay.cc b/test-suite/splay.cc
+index f71b337..4e21adc 100644
+--- a/test-suite/splay.cc
++++ b/test-suite/splay.cc
+@@ -20,6 +20,7 @@
+ #include <unistd.h>
+ #endif
+ #include <random>
++#include <functional>
+
+ class intnode
+ {
+--
+2.11.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch
index 8ea55d0e..f267875e 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch
@@ -1,4 +1,4 @@
-From faaa796a138cbd5033b1e53f33faac0cf4162bf5 Mon Sep 17 00:00:00 2001
+From 86dae8010310d13bd2a2beb006b4085d06ae1556 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 25 Jun 2017 00:59:24 -0700
Subject: [PATCH] tools.cc: fixed unused-result warning
@@ -12,21 +12,23 @@ fix
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- src/tools.cc | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ src/tools.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/tools.cc b/src/tools.cc
-index 8137a03..843e266 100644
+index 5829574..19f0836 100644
--- a/src/tools.cc
+++ b/src/tools.cc
-@@ -612,8 +612,8 @@ enter_suid(void)
- if (setresuid((uid_t)-1, 0, (uid_t)-1) < 0)
- debugs (21, 3, "enter_suid: setresuid failed: " << xstrerror ());
+@@ -581,8 +581,10 @@ enter_suid(void)
+ debugs (21, 3, "enter_suid: setresuid failed: " << xstrerr(xerrno));
+ }
#else
-
- setuid(0);
-+ if (setuid(0) < 0)
-+ debugs(50, DBG_IMPORTANT, "WARNING: no_suid: setuid(0): " << xstrerror());
++ if (setuid(0) < 0) {
++ const auto xerrno = errno;
++ debugs(50, DBG_IMPORTANT, "WARNING: no_suid: setuid(0): " << xstrerr(xerrno));
++ }
#endif
#if HAVE_PRCTL && defined(PR_SET_DUMPABLE)
/* Set Linux DUMPABLE flag */
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0002-smblib-fix-buffer-over-read.patch b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0002-smblib-fix-buffer-over-read.patch
deleted file mode 100644
index c8f0c47b..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/0002-smblib-fix-buffer-over-read.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a6b1e0fd14311587186e40d09bff5c8c3aada2e4 Mon Sep 17 00:00:00 2001
-From: Amos Jeffries <squid3@treenet.co.nz>
-Date: Sat, 25 Jul 2015 05:53:16 -0700
-Subject: [PATCH] smblib: fix buffer over-read
-
-When parsing SMB LanManager packets with invalid protocol ID and the
-default set of Squid supported protocols. It may access memory outside
-the buffer storing protocol names.
-
-smblib is only used by already deprecated helpers which are deprecated
-due to far more significant NTLM protocol issues. It will also only
-result in packets being rejected later with invalid protocol names. So
-this is a minor bug rather than a vulnerability.
-
- Detected by Coverity Scan. Issue 1256165
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
-
- lib/smblib/smblib-util.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/lib/smblib/smblib-util.c b/lib/smblib/smblib-util.c
-index 6139ae2..e722cbb 100644
---- a/lib/smblib/smblib-util.c
-+++ b/lib/smblib/smblib-util.c
-@@ -204,7 +204,11 @@ int SMB_Figure_Protocol(const char *dialects[], int prot_index)
- {
- int i;
-
-- if (dialects == SMB_Prots) { /* The jobs is easy, just index into table */
-+ // prot_index may be a value outside the table SMB_Types[]
-+ // which holds data at offsets 0 to 11
-+ int ourType = (prot_index < 0 || prot_index > 11);
-+
-+ if (ourType && dialects == SMB_Prots) { /* The jobs is easy, just index into table */
-
- return(SMB_Types[prot_index]);
- } else { /* Search through SMB_Prots looking for a match */
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
index 25f68aff..1516bb01 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
@@ -1,4 +1,4 @@
-From b4943594654cd340b95aabdc2f3750a4705cc0de Mon Sep 17 00:00:00 2001
+From b73b802282bf95d214c86ba943c5765ba6930bc1 Mon Sep 17 00:00:00 2001
From: Jim Somerville <Jim.Somerville@windriver.com>
Date: Mon, 21 Oct 2013 12:50:44 -0400
Subject: [PATCH] Fix flawed dynamic -ldb link test in configure
@@ -12,19 +12,17 @@ about why and setting the need for -ldb incorrectly.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
---
- configure.ac | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
+ configure.ac | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
diff --git a/configure.ac b/configure.ac
-index 57cd1ac..3827222 100644
+index d2f7feb..c7ae568 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3229,8 +3229,16 @@ AC_CHECK_DECL(dbopen,,,[
- #include <db.h>
- #endif])
+@@ -3235,6 +3235,16 @@ case "$host" in
+ ;;
+ esac
--dnl 1.85
--SQUID_CHECK_DBOPEN_NEEDS_LIBDB
+if test "x$ac_cv_have_decl_dbopen" = "xyes"; then
+ dnl 1.85
+ SQUID_CHECK_DBOPEN_NEEDS_LIBDB
@@ -35,6 +33,6 @@ index 57cd1ac..3827222 100644
+ # dynamic compile/link test.
+ ac_cv_dbopen_libdb="yes"
+fi
- if test "x$ac_cv_dbopen_libdb" = "xyes"; then
- LIB_DB="-ldb"
- fi
+ dnl System-specific library modifications
+ dnl
+ case "$host" in
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
index 6a335254..dd83b62e 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
@@ -1,4 +1,4 @@
-From a85311965707ba2fa78f7ce044e6f61e65e66fd0 Mon Sep 17 00:00:00 2001
+From e4778299a3e49a634d2c7fe4fd9ac77777e829e3 Mon Sep 17 00:00:00 2001
From: Jim Somerville <Jim.Somerville@windriver.com>
Date: Tue, 14 Oct 2014 02:56:08 -0400
Subject: [PATCH] Skip AC_RUN_IFELSE tests
@@ -17,7 +17,7 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4
-index 5c83d88..c264118 100644
+index ad0ba60..4477446 100644
--- a/acinclude/krb5.m4
+++ b/acinclude/krb5.m4
@@ -61,7 +61,15 @@ main(void)
@@ -38,10 +38,10 @@ index 5c83d88..c264118 100644
])
]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H
diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4
-index c4874da..ba72982 100644
+index 7624b56..b449c5a 100644
--- a/acinclude/lib-checks.m4
+++ b/acinclude/lib-checks.m4
-@@ -177,7 +177,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[
+@@ -217,7 +217,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[
[
AC_MSG_RESULT([no])
],
@@ -51,8 +51,8 @@ index c4874da..ba72982 100644
+ ])
SQUID_STATE_ROLLBACK(check_const_SSL_METHOD)
- ]
-@@ -265,7 +267,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[
+ ])
+@@ -377,7 +379,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[
AC_MSG_RESULT([yes])
AC_DEFINE(SQUID_USE_SSLLHASH_HACK, 1)
],
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
index e990480a..124e0449 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
@@ -17,25 +17,25 @@ diff --git a/configure.ac b/configure.ac
index 504a844..ff4688c 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -974,15 +974,15 @@ if test "x$squid_opt_use_esi" = "xyes" -a "x$with_libxml2" != "xno" ; then
- dnl Find the main header and include path...
- AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [
- AC_CHECK_HEADERS([libxml/parser.h], [], [
-- AC_MSG_NOTICE([Testing in /usr/include/libxml2])
-+ AC_MSG_NOTICE([Testing in $SYSROOT/usr/include/libxml2])
- SAVED_CPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS"
-+ CPPFLAGS="-I$SYSROOT/usr/include/libxml2 $CPPFLAGS"
- unset ac_cv_header_libxml_parser_h
-- AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/include/libxml2"], [
-- AC_MSG_NOTICE([Testing in /usr/local/include/libxml2])
-- CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS"
-+ AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I$SYSROOT/usr/include/libxml2"], [
-+ AC_MSG_NOTICE([Testing in $SYSROOT/usr/local/include/libxml2])
-+ CPPFLAGS="-I$SYSROOT/usr/local/include/libxml2 $SAVED_CPPFLAGS"
+@@ -931,15 +931,15 @@ if test "x$squid_opt_use_esi" = "xyes" -a "x$with_libxml2" != "xno" ; then
+ dnl Find the main header and include path...
+ AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [
+ AC_CHECK_HEADERS([libxml/parser.h], [], [
+- AC_MSG_NOTICE([Testing in /usr/include/libxml2])
++ AC_MSG_NOTICE([Testing in $SYSROOT/usr/include/libxml2])
+ SAVED_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS"
++ CPPFLAGS="-I$SYSROOT/usr/include/libxml2 $CPPFLAGS"
unset ac_cv_header_libxml_parser_h
-- AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/local/include/libxml2"], [
-+ AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I$SYSROOT/usr/local/include/libxml2"], [
- AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h])
+- AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I/usr/include/libxml2"], [
+- AC_MSG_NOTICE([Testing in /usr/local/include/libxml2])
+- CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS"
++ AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I$SYSROOT/usr/include/libxml2"], [
++ AC_MSG_NOTICE([Testing in $SYSROOT/usr/local/include/libxml2])
++ CPPFLAGS="-I$SYSROOT/usr/local/include/libxml2 $SAVED_CPPFLAGS"
+ unset ac_cv_header_libxml_parser_h
+- AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I/usr/local/include/libxml2"], [
++ AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I$SYSROOT/usr/local/include/libxml2"], [
+ AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h])
+ ])
])
- ])
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch
index 9c75f17e..732cf17f 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch
@@ -1,4 +1,4 @@
-From 9bcec221a2bb438d8a9ed59aed846ffe3be9cffa Mon Sep 17 00:00:00 2001
+From 3d881c112bba765731d581194aae95651819b715 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Tue, 19 Jul 2016 01:56:23 -0400
Subject: [PATCH] squid: use serial-tests config needed by ptest
@@ -15,15 +15,15 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 3827222..504a844 100644
+index c7ae568..5e1454e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@ AC_PREREQ(2.61)
AC_CONFIG_HEADERS([include/autoconf.h])
AC_CONFIG_AUX_DIR(cfgaux)
AC_CONFIG_SRCDIR([src/main.cc])
--AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects])
-+AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects serial-tests])
+-AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects dist-xz])
++AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects dist-xz serial-tests])
AC_REVISION($Revision$)dnl
AC_PREFIX_DEFAULT(/usr/local/squid)
AM_MAINTAINER_MODE
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.27.bb b/external/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.27.bb
deleted file mode 100644
index 1557c4b2..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.27.bb
+++ /dev/null
@@ -1,115 +0,0 @@
-SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux"
-DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \
-Squid offers a rich access control, authorization and logging environment to \
-develop web proxy and content serving applications. \
-Squid offers a rich set of traffic optimization options, most of which are \
-enabled by default for simpler installation and high performance. \
-"
-HOMEPAGE = "http://www.squid-cache.org"
-SECTION = "web"
-LICENSE = "GPLv2+"
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}"
-MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${MIN_VER}/${BPN}-${PV}.tar.bz2 \
- file://Set-up-for-cross-compilation.patch \
- file://Skip-AC_RUN_IFELSE-tests.patch \
- file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \
- file://squid-use-serial-tests-config-needed-by-ptest.patch \
- file://run-ptest \
- file://volatiles.03_squid \
- file://set_sysroot_patch.patch \
- file://squid-don-t-do-squid-conf-tests-at-build-time.patch \
- file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
- file://0001-tools.cc-fixed-unused-result-warning.patch \
- file://0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch \
- file://0002-smblib-fix-buffer-over-read.patch \
- "
-
-SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch"
-
-SRC_URI[md5sum] = "c17a3ed3a40cd59c23f48b8539dafcd8"
-SRC_URI[sha256sum] = "467da134eaf0f7962ba5881793d106772fb05fefa4aea7d9569eec0412c52433"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \
- file://errors/COPYRIGHT;md5=8861130fae91400bcf99b66f133172b3 \
- "
-DEPENDS = "libtool krb5 openldap db cyrus-sasl openssl expat libxml2"
-
-inherit autotools pkgconfig useradd ptest perlnative
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('TARGET_ARCH', 'powerpc', 'noatomics', '', d)} \
- ${@bb.utils.contains('TARGET_ARCH', 'mips', 'noatomics', '', d)} \
- ${@bb.utils.contains('TARGET_ARCH', 'mipsel', 'noatomics', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
- "
-PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
-PACKAGECONFIG[noatomics] = "squid_cv_gnu_atomics=no,squid_cv_gnu_atomics=yes,,"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking,"
-
-BASIC_AUTH = "DB SASL LDAP"
-
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}"
-
-EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \
- --sysconfdir=${sysconfdir}/${BPN} \
- --with-logdir=${localstatedir}/log/${BPN} \
- 'PERL=${USRBINPATH}/env perl'"
-
-export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
-
-TESTDIR = "test-suite"
-
-do_configure_prepend() {
- export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
-}
-
-do_compile_ptest() {
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
- cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
-
- # do NOT need to rebuild Makefile itself
- sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # Add squid-conf-tests for runtime tests
- sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \
- -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \
- -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # Ensure the path for command true is correct
- sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-}
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
- echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
- fi
-
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid
-
- rmdir "${D}${localstatedir}/run/${BPN}"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run"
-
- rmdir "${D}${localstatedir}/log/${BPN}"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log"
-}
-
-FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
-FILES_${PN}-dbg += "/usr/src/debug"
-FILES_${PN}-doc += "${datadir}/*.txt"
-
-RDEPENDS_${PN} += "perl"
-RDEPENDS_${PN}-ptest += "make"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.9.bb b/external/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.9.bb
new file mode 100644
index 00000000..19949acd
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.9.bb
@@ -0,0 +1,117 @@
+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}/${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-configure-Check-for-Wno-error-format-truncation-comp.patch \
+ file://0001-tools.cc-fixed-unused-result-warning.patch \
+ file://0001-splay.cc-fix-bind-is-not-a-member-of-std.patch \
+ "
+
+SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch"
+
+SRC_URI[md5sum] = "b315d0dce37627dfe61eec7f5304baaf"
+SRC_URI[sha256sum] = "0f5829d878002147e7c4d9b8901c2c3c051693465e82e45cef9ab0e226e3e729"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://errors/COPYRIGHT;md5=19cc4dd146f397e72f3ff6f9f58fbfbe \
+ "
+DEPENDS = "libtool krb5 openldap db cyrus-sasl"
+
+inherit autotools pkgconfig useradd ptest perlnative
+
+LDFLAGS_append_mipsarch = " -latomic"
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_riscv64 = " -latomic"
+LDFLAGS_append_riscv32 = " -latomic"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+ "
+PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking,"
+PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2"
+PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl"
+
+BASIC_AUTH = "DB SASL LDAP"
+
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}"
+
+EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --with-logdir=${localstatedir}/log/${BPN} \
+ 'PERL=${USRBINPATH}/env perl'"
+
+export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
+
+TESTDIR = "test-suite"
+
+do_configure_prepend() {
+ export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
+}
+
+do_compile_ptest() {
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+ cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+
+ # do NOT need to rebuild Makefile itself
+ sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # Add squid-conf-tests for runtime tests
+ sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \
+ -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \
+ -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # Ensure the path for command true is correct
+ sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+}
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+ echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+ fi
+
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid
+
+ rmdir "${D}${localstatedir}/run/${BPN}"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run"
+
+ rmdir "${D}${localstatedir}/log/${BPN}"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log"
+}
+
+FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
+FILES_${PN}-dbg += "/usr/src/debug"
+FILES_${PN}-doc += "${datadir}/*.txt"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-ptest += "make"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/external/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
index 132972b3..413950be 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
@@ -82,10 +82,15 @@ INITSCRIPT_PACKAGES = "tftp-hpa-server"
INITSCRIPT_NAME = "tftpd-hpa"
INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 1 ."
+ALTERNATIVE_${PN}-doc = "tftpd.8 tftp.1"
+ALTERNATIVE_LINK_NAME[tftpd.8] = "${mandir}/man8/tftpd.8"
+ALTERNATIVE_LINK_NAME[tftp.1] = "${mandir}/man1/tftp.1"
+
ALTERNATIVE_${PN} = "tftp"
ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa"
ALTERNATIVE_PRIORITY = "60"
+
SYSTEMD_PACKAGES = "tftp-hpa-server"
SYSTEMD_SERVICE_tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service"
SYSTEMD_AUTO_ENABLE_tftp-hpa-server = "enable"
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb b/external/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb
index a51a8c31..a52a1e92 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_22.bb
@@ -4,6 +4,8 @@ SECTION = "admin"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/aoetools/files/vblade/"
+
SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BP}.tar.gz \
file://cross.patch \
file://makefile-add-ldflags.patch \
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch b/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch
new file mode 100644
index 00000000..7573c967
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch
@@ -0,0 +1,46 @@
+From dd353303f62d1dfe32cb000e482616b021708fbe Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 29 Nov 2018 00:47:34 -0800
+Subject: [PATCH] vsftpd: allow syscalls in the seccomp sandbox
+
+* Allow sysinfo() and getdents64 in the seccomp
+ sandbox otherwise comes below OOPS: priv_sock_get_cmd
+ as the syscall sysinfo() and getdents64 not allowed
+
+root@qemux86-64:~# tnftp 192.168.1.1
+Connected to 192.168.1.1.
+220 (vsFTPd 3.0.3)
+Name (192.168.1.1:root): anonymous
+331 Please specify the password.
+Password:
+230 Login successful.
+Remote system type is UNIX.
+Using binary mode to transfer files.
+ftp> prompt
+Interactive mode off.
+ftp> mget small*
+OOPS: priv_sock_get_cmd
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ seccompsandbox.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/seccompsandbox.c b/seccompsandbox.c
+index 2c350a9..377c50e 100644
+--- a/seccompsandbox.c
++++ b/seccompsandbox.c
+@@ -409,6 +409,8 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess)
+ allow_nr(__NR_getcwd);
+ allow_nr(__NR_chdir);
+ allow_nr(__NR_getdents);
++ allow_nr(__NR_getdents64);
++ allow_nr(__NR_sysinfo);
+ /* Misc */
+ allow_nr(__NR_umask);
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch b/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch
deleted file mode 100644
index c6c0f80a..00000000
--- a/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 9c4826c19f04da533886209361a2caddf582d65c Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Tue, 6 Sep 2016 17:17:44 +0800
-Subject: [PATCH] vsftpd: allow sysinfo() in the seccomp sandbox
-
-Upstream-Status: Pending
-
-* Allow sysinfo() in the seccomp sandbox otherwise
- comes below OOPS: priv_sock_get_cmd as the syscall
- sysinfo() not allowed
-
-tnftp 192.168.1.1
-Connected to 192.168.1.1.
-220 (vsFTPd 3.0.3)
-Name (192.168.1.1:root): anonymous
-331 Please specify the password.
-Password:
-230 Login successful.
-Remote system type is UNIX.
-Using binary mode to transfer files.
-ftp> prompt
-Interactive mode off.
-ftp> mget small*
-OOPS: priv_sock_get_cmd
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
-
----
- seccompsandbox.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/seccompsandbox.c b/seccompsandbox.c
-index 2c350a9..67d9ca5 100644
---- a/seccompsandbox.c
-+++ b/seccompsandbox.c
-@@ -409,6 +409,7 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess)
- allow_nr(__NR_getcwd);
- allow_nr(__NR_chdir);
- allow_nr(__NR_getdents);
-+ allow_nr(__NR_sysinfo);
- /* Misc */
- allow_nr(__NR_umask);
-
diff --git a/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb b/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
index 2e3e0e88..df0d7f45 100644
--- a/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
+++ b/external/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
@@ -18,7 +18,7 @@ SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \
file://volatiles.99_vsftpd \
file://vsftpd.service \
file://vsftpd-2.1.0-filter.patch \
- file://0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch \
+ file://0001-vsftpd-allow-syscalls-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 \
diff --git a/external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
deleted file mode 100644
index 54e0b99a..00000000
--- a/external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 6d606f1101c1a172fb6d738d6f1865aa61849e68 Mon Sep 17 00:00:00 2001
-From: Alexey Firago <alexey_firago@mentor.com>
-Date: Fri, 20 Oct 2017 00:04:19 +0300
-Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during
- cross-compiling or native build
-
-Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
-Signed-off-by: Hiram Lew <lew@avast.com>
-Signed-off-by: Jan Kaisrlik <jan.kaisrlik@avast.com>
----
- CMakeLists.txt | 9 ++++++++-
- templates/CMakeLists.txt.template | 9 ++++++++-
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a59fd81..cd90424 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -160,6 +160,13 @@ function(protobuf_generate_grpc_cpp)
- return()
- endif()
-
-+ #if cross-compiling or nativesdk, find host plugin
-+ if(CMAKE_CROSSCOMPILING)
-+ find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
-+ else()
-+ set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
-+ endif()
-+
- set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
- foreach(FIL ${ARGN})
- get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
-@@ -177,7 +184,7 @@ function(protobuf_generate_grpc_cpp)
- COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}
- ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}
- --cpp_out=${_gRPC_PROTO_GENS_DIR}
-- --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin>
-+ --plugin=protoc-gen-grpc=${gRPC_CPP_PLUGIN}
- ${_protobuf_include_path}
- ${REL_FIL}
- DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin
-diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template
-index de13d02..b22bd5c 100644
---- a/templates/CMakeLists.txt.template
-+++ b/templates/CMakeLists.txt.template
-@@ -209,6 +209,13 @@
- return()
- endif()
-
-+ #if cross-compiling or nativesdk, find host plugin
-+ if(CMAKE_CROSSCOMPILING)
-+ find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
-+ else()
-+ set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
-+ endif()
-+
- set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}</%text>)
- foreach(FIL <%text>${ARGN}</%text>)
- get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE)
-@@ -226,7 +233,7 @@
- COMMAND <%text>${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}</%text>
- ARGS --grpc_out=<%text>generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}</%text>
- --cpp_out=<%text>${_gRPC_PROTO_GENS_DIR}</%text>
-- --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin>
-+ --plugin=protoc-gen-grpc=${gRPC_CPP_PLUGIN}
- <%text>${_protobuf_include_path}</%text>
- <%text>${REL_FIL}</%text>
- DEPENDS <%text>${ABS_FIL}</%text> <%text>${_gRPC_PROTOBUF_PROTOC}</%text> grpc_cpp_plugin
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb b/external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb
deleted file mode 100644
index d2367143..00000000
--- a/external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
-Provides gRPC libraries for multiple languages written on top of shared C core library \
-(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
-HOMEPAGE = "https://github.com/grpc/grpc"
-SECTION = "libs"
-LICENSE = "Apache-2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl"
-DEPENDS_append_class-target = " gtest grpc-native "
-DEPENDS_append_class-nativesdk = " grpc-native "
-
-S = "${WORKDIR}/git"
-SRCREV = "d8020cb6daa87f1a3bb3b0c299bc081c4a3de1e8"
-BRANCH = "v1.14.x"
-SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;branch=${BRANCH} \
- file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
- "
-SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
-SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
-
-# Fixes build with older compilers 4.8 especially on ubuntu 14.04
-CXXFLAGS_append_class-native = " -Wl,--no-as-needed"
-
-inherit cmake
-
-EXTRA_OECMAKE = " \
- -DgRPC_CARES_PROVIDER=package \
- -DgRPC_ZLIB_PROVIDER=package \
- -DgRPC_SSL_PROVIDER=package \
- -DgRPC_PROTOBUF_PROVIDER=package \
- -DgRPC_GFLAGS_PROVIDER=package \
- -DgRPC_INSTALL=ON \
- -DCMAKE_CROSSCOMPILING=ON \
- -DBUILD_SHARED_LIBS=ON \
- "
-
-BBCLASSEXTEND = "native nativesdk"
-
-SYSROOT_DIRS_BLACKLIST_append_class-target = "${libdir}/cmake/grpc"
-
-FILES_${PN}-dev += "${bindir}"
diff --git a/external/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb b/external/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb
deleted file mode 100644
index dde8a52d..00000000
--- a/external/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright (C) 2012 Wind River Systems, Inc.
-#
-SUMMARY = "Provides a wrapper in Python to LDAP"
-DESCRIPTION = "This module provides access to the LDAP \
-(Lightweight Directory Access Protocol) through Python operations \
-instead of C API. The module mainly acts as a wrapper for the \
-OpenLDAP 2.x libraries. Errors will appear as exceptions."
-
-LICENSE = "PSF"
-HOMEPAGE = "http://www.python-ldap.org/"
-DEPENDS = "python openldap cyrus-sasl"
-
-PYPI_PACKAGE = "python-ldap"
-inherit pypi setuptools
-
-LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b"
-SRC_URI[md5sum] = "6108e189a44eea8bc7d1cc281c222978"
-SRC_URI[sha256sum] = "824fde180a53772e23edc031c4dd64ac1af4a3eade78f00d9d510937d562f64e"
-
-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/external/meta-openembedded/meta-networking/recipes-devtools/python/python3-ldap_3.2.0.bb b/external/meta-openembedded/meta-networking/recipes-devtools/python/python3-ldap_3.2.0.bb
new file mode 100644
index 00000000..f46ddbf4
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-devtools/python/python3-ldap_3.2.0.bb
@@ -0,0 +1,31 @@
+#
+# 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 = "python3 openldap cyrus-sasl"
+
+PYPI_PACKAGE = "python-ldap"
+inherit pypi setuptools3
+
+LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b"
+SRC_URI[md5sum] = "fe22522208dc9b06d16eb70f8553eaab"
+SRC_URI[sha256sum] = "7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e"
+
+do_configure_prepend() {
+ sed -i -e 's:^library_dirs =.*::' ${S}/setup.cfg
+ sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' ${S}/setup.cfg
+}
+
+RDEPENDS_${PN} = " \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-pyasn1 \
+ ${PYTHON_PN}-pyasn1-modules \
+"
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf b/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf
index 6aef9de9..744a30ff 100644
--- a/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf
+++ b/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/corosync.conf
@@ -1,58 +1,61 @@
-# Starting point for cluster with pacemaker/openais
-compatibility: none
-
-corosync {
- user: root
- group: root
-}
-
-aisexec {
- with Pacemaker
- user: root
- group: root
-}
-
-service {
- name: pacemaker
- ver: 1
-}
-
+# Please read the corosync.conf.5 manual page
totem {
version: 2
- secauth: off
- threads: 0
- interface {
- ringnumber: 0
- # Cluster network address
- bindnetaddr: 192.168.10.0
- # Should be fine in most cases, don't forget to allow
- # packets for this address/port in netfilter if there
- # is restrictive policy set for cluster network
- mcastaddr: 226.94.1.1
- mcastport: 5405
- }
+
+ # Set name of the cluster
+ cluster_name: testCluster
+
+ # crypto_cipher and crypto_hash: Used for mutual node authentication.
+ # If you choose to enable this, then do remember to create a shared
+ # secret with "corosync-keygen".
+ # enabling crypto_cipher, requires also enabling of crypto_hash.
+ # crypto works only with knet transport
+ crypto_cipher: none
+ crypto_hash: none
}
logging {
+ # Log the source file and line where messages are being
+ # generated. When in doubt, leave off. Potentially useful for
+ # debugging.
fileline: off
- to_stderr: no
+ # Log to standard error. When in doubt, set to yes. Useful when
+ # running in the foreground (when invoking "corosync -f")
+ to_stderr: yes
+ # Log to a log file. When set to "no", the "logfile" option
+ # must not be set.
to_logfile: yes
- to_syslog: yes
logfile: /var/log/cluster/corosync.log
+ # Log to the system log daemon. When in doubt, set to yes.
+ to_syslog: yes
+ # Log debug messages (very verbose). When in doubt, leave off.
debug: off
- timestamp: on
+ # Log messages with time stamps. When in doubt, set to hires (or on)
+ #timestamp: hires
logger_subsys {
- subsys: AMF
+ subsys: QUORUM
debug: off
}
}
-amf {
- mode: disabled
-}
-
quorum {
- # Quorum for the Pacemaker Cluster Resource Manager
+ # Enable and configure quorum subsystem (default: off)
+ # see also corosync.conf.5 and votequorum.5
provider: corosync_votequorum
- expected_votes: 1
+}
+
+nodelist {
+ # Change/uncomment/add node sections to match cluster configuration
+
+ node {
+ # Hostname of the node
+ name: node1
+ # Cluster membership node identifier
+ nodeid: 1
+ # Address of first link
+ ring0_addr: 127.0.0.1
+ # When knet transport is used it's possible to define up to 8 links
+ #ring1_addr: 192.168.1.1
+ }
+ # ...
}
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb b/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb
deleted file mode 100644
index 23a3d147..00000000
--- a/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
-DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
-APIs and libraries, default configuration files, and an init script."
-HOMEPAGE = "http://corosync.github.io/corosync/"
-
-SECTION = "base"
-
-inherit autotools pkgconfig systemd useradd
-
-SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \
- file://corosync.conf \
- "
-
-SRC_URI[md5sum] = "69db29ff4bc035936946be44fc8be5cd"
-SRC_URI[sha256sum] = "9bd4707bb271df16f8d543ec782eb4c35ec0330b7be696b797da4bd8f058a25d"
-
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.(?!99)\d+(\.\d+)+)"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
-
-DEPENDS = "groff-native nss libqb"
-
-SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service \
- ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \
-"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-INITSCRIPT_NAME = "corosync-daemon"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
- dbus qdevice qnetd snmp \
-"
-
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
-PACKAGECONFIG[qdevice] = "--enable-qdevices,--disable-qdevices"
-PACKAGECONFIG[qnetd] = "--enable-qnetd,--disable-qnetd"
-PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
-
-EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no"
-EXTRA_OEMAKE = "tmpfilesdir_DATA="
-
-do_configure_prepend() {
- ( cd ${S}
- ${S}/autogen.sh )
-}
-
-do_install_append() {
- install -D -m 0644 ${WORKDIR}/corosync.conf ${D}/${sysconfdir}/corosync/corosync.conf.example
- install -d ${D}${sysconfdir}/sysconfig/
- install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
- install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd
-
- rm -rf "${D}${localstatedir}/run"
-
- install -d ${D}${sysconfdir}/default/volatiles
- echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync
-
- if [ ${@bb.utils.filter('PACKAGECONFIG', 'qnetd', d)} ]; then
- chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd
- echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync
- fi
-
- if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf
- fi
-}
-
-RDEPENDS_${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
-
-FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
-FILES_${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system coroqnetd"
-USERADD_PARAM_${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd"
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb b/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb
new file mode 100644
index 00000000..c0531d38
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_3.0.3.bb
@@ -0,0 +1,74 @@
+SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
+DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
+APIs and libraries, default configuration files, and an init script."
+HOMEPAGE = "http://corosync.github.io/corosync/"
+
+SECTION = "base"
+
+inherit autotools pkgconfig systemd useradd
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
+ file://corosync.conf \
+ "
+SRC_URI[sha256sum] = "20eb903eb984f6a728282c199825e442e8bba869acefd22390076ef3a33a4ded"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.(?!99)\d+(\.\d+)+)"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
+
+DEPENDS = "groff-native nss libqb kronosnet"
+
+SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service \
+ ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \
+"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+INITSCRIPT_NAME = "corosync-daemon"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ dbus snmp \
+"
+
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
+
+EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no"
+EXTRA_OEMAKE = "tmpfilesdir_DATA="
+
+#do_configure_prepend() {
+# ( cd ${S}
+# ${S}/autogen.sh )
+#}
+
+do_install_append() {
+ install -D -m 0644 ${WORKDIR}/corosync.conf ${D}/${sysconfdir}/corosync/corosync.conf.example
+ install -d ${D}${sysconfdir}/sysconfig/
+ install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
+ install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd
+
+ rm -rf "${D}${localstatedir}/run"
+
+ install -d ${D}${sysconfdir}/default/volatiles
+ echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync
+
+ if [ ${@bb.utils.filter('PACKAGECONFIG', 'qnetd', d)} ]; then
+ chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd
+ echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync
+ fi
+
+ if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf
+ fi
+}
+
+RDEPENDS_${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
+
+FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
+FILES_${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system coroqnetd"
+USERADD_PARAM_${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd"
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch
index 0a2f31d5..f56359a4 100644
--- a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch
+++ b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch
@@ -1,12 +1,12 @@
-From 9107f3bd68aef6ae456a3cad664223b4f3d00131 Mon Sep 17 00:00:00 2001
+From ad207a6f83dac390b2d95e3a8262d27292921863 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 17:04:39 +0800
+Date: Wed, 26 Jun 2019 11:49:33 +0800
Subject: [PATCH] dlm: fix compile error since xml2-config should not be used
xml2-config is disabled, so change Makefile to use pkgconfig
to find libxml2.
-Upstream-Status: Inappropriate
+Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
@@ -14,21 +14,21 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fence/Makefile b/fence/Makefile
-index 77bf0fd..cca0b2c 100644
+index b927879..6e16078 100644
--- a/fence/Makefile
+++ b/fence/Makefile
-@@ -30,11 +30,11 @@ BIN_CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
- -fdiagnostics-show-option \
+@@ -18,11 +18,11 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
+ -fstack-clash-protection -Wl,-z,now
- BIN_CFLAGS += -fPIE -DPIE
--BIN_CFLAGS += `xml2-config --cflags`
-+BIN_CFLAGS += `pkg-config libxml-2.0 --cflags`
- BIN_CFLAGS += -I../include
+ CFLAGS += -fPIE -DPIE
+-CFLAGS += `xml2-config --cflags`
++CFLAGS += `pkg-config libxml-2.0 --cflags`
+ CFLAGS += -I../include
- BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
--BIN_LDFLAGS += `xml2-config --libs`
-+BIN_LDFLAGS += `pkg-config libxml-2.0 --libs`
- BIN_LDFLAGS += -ldl
+ LDFLAGS += -Wl,-z,relro -pie
+-LDFLAGS += `xml2-config --libs`
++LDFLAGS += `pkg-config libxml-2.0 --libs`
+ LDFLAGS += -ldl
all: $(BIN_TARGET)
--
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-package-qa-error.patch b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-package-qa-error.patch
deleted file mode 100644
index 3e384f7d..00000000
--- a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-package-qa-error.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1fb68433bde97d571fc781b52c9521b17fbb8df0 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 17:42:43 +0800
-Subject: [PATCH] dlm: fix package qa error
-
-pass LDFLAG to makefile to fix below error:
-do_package_qa: QA Issue: No GNU_HASH in the elf binary:
-/packages-split/dlm/usr/sbin/dlm_stonith' [ldflags]
-
-Upstream-Status: Inappropriate[oe-specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- fence/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fence/Makefile b/fence/Makefile
-index cca0b2c..2b3963c 100644
---- a/fence/Makefile
-+++ b/fence/Makefile
-@@ -33,7 +33,7 @@ BIN_CFLAGS += -fPIE -DPIE
- BIN_CFLAGS += `pkg-config libxml-2.0 --cflags`
- BIN_CFLAGS += -I../include
-
--BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
-+BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,now -Wl,-z,relro -pie
- BIN_LDFLAGS += `pkg-config libxml-2.0 --libs`
- BIN_LDFLAGS += -ldl
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-make-Replace-cp-a-with-mode-preserving-options.patch b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-make-Replace-cp-a-with-mode-preserving-options.patch
new file mode 100644
index 00000000..e6a37579
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-make-Replace-cp-a-with-mode-preserving-options.patch
@@ -0,0 +1,51 @@
+From 2f72f9271b8dd61ca5092e025b0f8243c6fd68f2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Mar 2020 12:38:19 -0800
+Subject: [PATCH] make: Replace cp -a with mode preserving options
+
+Helps fix permissions in staging area
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dlm_controld/Makefile | 4 ++--
+ libdlm/Makefile | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile
+index 6081cf8..fe71be2 100644
+--- a/dlm_controld/Makefile
++++ b/dlm_controld/Makefile
+@@ -88,8 +88,8 @@ install: all
+ $(INSTALL) -d $(DESTDIR)/$(PKGDIR)
+ $(INSTALL) -m 755 $(BIN_TARGET) $(DESTDIR)/$(BINDIR)
+ $(INSTALL) -m 755 $(LIB_TARGET) $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_SO) $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_SO) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR)
+ $(INSTALL) -m 644 $(LIB_PC) $(DESTDIR)/$(PKGDIR)
+ $(INSTALL) -m 644 libdlmcontrol.h $(DESTDIR)/$(HDRDIR)
+ $(INSTALL) -m 644 dlm_controld.8 $(DESTDIR)/$(MANDIR)/man8/
+diff --git a/libdlm/Makefile b/libdlm/Makefile
+index ab32761..8820bf8 100644
+--- a/libdlm/Makefile
++++ b/libdlm/Makefile
+@@ -125,10 +125,10 @@ install: all
+ $(INSTALL) -d $(DESTDIR)/$(UDEVDIR)
+ $(INSTALL) -c -m 755 $(LIB_TARGET) $(DESTDIR)/$(LIBDIR)
+ $(INSTALL) -c -m 755 $(LLT_TARGET) $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_SO) $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR)
+- cp -a $(LLT_SO) $(DESTDIR)/$(LIBDIR)
+- cp -a $(LLT_SMAJOR) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_SO) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LLT_SO) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LLT_SMAJOR) $(DESTDIR)/$(LIBDIR)
+ $(INSTALL) -m 644 $(LIB_PC) $(DESTDIR)/$(PKGDIR)
+ $(INSTALL) -m 644 $(LLT_PC) $(DESTDIR)/$(PKGDIR)
+ $(INSTALL) -c -m 644 $(HDR_TARGET) $(DESTDIR)/$(HDRDIR)
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
deleted file mode 100644
index 6f01b217..00000000
--- a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 34a9182814ae565d6f430f85cfe80c05fa9f2dda Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 17:55:32 +0800
-Subject: [PATCH] respect-ldflags-also-from-bin_ldflags
-
-Upstream-Status: Inappropriate[oe-specific]
-
-update original patch to version 4.0.7
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- dlm_controld/Makefile | 4 ++--
- dlm_tool/Makefile | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile
-index cf556c9..3381730 100644
---- a/dlm_controld/Makefile
-+++ b/dlm_controld/Makefile
-@@ -55,11 +55,11 @@ BIN_CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
- 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)
--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) \
-diff --git a/dlm_tool/Makefile b/dlm_tool/Makefile
-index c16d8f5..a48a26f 100644
---- a/dlm_tool/Makefile
-+++ b/dlm_tool/Makefile
-@@ -32,7 +32,7 @@ BIN_CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
- 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
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.7.bb b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.7.bb
deleted file mode 100644
index 027864a1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.7.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-DESCRIPTION = "dlm control daemon and tool"
-
-SECTION = "utils"
-HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage"
-
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-SRC_URI = "https://releases.pagure.org/dlm/${BP}.tar.gz \
- file://respect-ldflags-also-from-bin_ldflags.patch \
- file://0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch \
- file://0001-dlm-fix-package-qa-error.patch \
- file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \
- "
-
-SRC_URI[md5sum] = "aa604a10d5ac2d3414eb89ec6984cd12"
-SRC_URI[sha256sum] = "639ddfc82369272a68d56816689736c00b8f1b6b2869a6b66b7dbf6dad86469a"
-
-UPSTREAM_CHECK_URI = "https://pagure.io/dlm/releases"
-UPSTREAM_CHECK_REGEX = "dlm-(?P<pver>\d+(\.\d+)+)"
-
-LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d"
-
-DEPENDS = "corosync systemd"
-
-inherit pkgconfig systemd distro_features_check
-
-PACKAGECONFIG ??= ""
-
-PACKAGECONFIG[pacemaker] = ",,pacemaker"
-
-SYSTEMD_SERVICE_${PN} = "dlm.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-export EXTRA_OEMAKE = ""
-
-DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}"
-
-do_compile_prepend() {
- sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile
- sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile
-}
-
-do_compile () {
- oe_runmake 'CC=${CC}'
-}
-
-do_install_append (){
- install -d ${D}${sysconfdir}/sysconfig/
- install -d ${D}${sysconfdir}/init.d/
- install -m 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm
- install -m 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm
-
- # install systemd unit files
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system
- fi
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} LIBDIR=${libdir}
-}
-
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb
new file mode 100644
index 00000000..577db708
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb
@@ -0,0 +1,60 @@
+DESCRIPTION = "dlm control daemon and tool"
+
+SECTION = "utils"
+HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SRC_URI = "https://pagure.io/dlm/archive/dlm-${PV}/dlm-dlm-${PV}.tar.gz \
+ file://0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch \
+ file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \
+ file://0001-make-Replace-cp-a-with-mode-preserving-options.patch \
+ "
+
+SRC_URI[md5sum] = "4c57a941a15547859cd38fd55f66388e"
+SRC_URI[sha256sum] = "d59142e067cbd603aaf66151a04e9fa34330219680b8827c953d20821b951991"
+
+UPSTREAM_CHECK_URI = "https://pagure.io/dlm/releases"
+UPSTREAM_CHECK_REGEX = "dlm-(?P<pver>\d+(\.\d+)+)"
+
+LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d"
+
+S = "${WORKDIR}/dlm-dlm-${PV}"
+
+DEPENDS += "corosync"
+
+inherit pkgconfig systemd features_check
+
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[pacemaker] = ",,pacemaker"
+
+SYSTEMD_SERVICE_${PN} = "dlm.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+export EXTRA_OEMAKE = ""
+
+DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}"
+
+do_compile_prepend_toolchain-clang() {
+ sed -i -e "s/-fstack-clash-protection//g" ${S}/*/Makefile
+}
+
+do_compile() {
+ sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile
+ sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile
+ oe_runmake 'CC=${CC}'
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} LIBDIR=${libdir}
+ install -Dm 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm
+ install -Dm 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm
+
+ # install systemd unit files
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -Dm 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system/dlm.service
+ fi
+}
+
diff --git a/external/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.15.bb b/external/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.15.bb
new file mode 100644
index 00000000..6bf268da
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.15.bb
@@ -0,0 +1,23 @@
+# Copyright (C) 2020 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = " Kronosnet, often referred to as knet, is a network abstraction layer designed for High Availability use cases, where redundancy, security, fault tolerance and fast fail-over are the core requirements of your application."
+HOMEPAGE = "https://kronosnet.org/"
+LICENSE = "GPL-2.0+ & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING.applications;md5=751419260aa954499f7abaabaa882bbe \
+ file://COPYING.libraries;md5=2d5025d4aa3495befef8f17206a5b0a1"
+SECTION = "libs"
+DEPENDS = "doxygen-native libqb-native libxml2-native bzip2 libqb libxml2 libnl lksctp-tools lz4 lzo openssl nss xz zlib zstd"
+
+SRCREV = "0ba5985c3ddec8429b989f0e7bd3324f53e0a9b0"
+SRC_URI = "git://github.com/kronosnet/kronosnet;protocol=https;branch=stable1"
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+
+# libknet/transport_udp.c:326:48: error: comparison of integers of different signs: 'unsigned long' and 'int' [-Werror,-Wsign-compare]
+# for (cmsg = CMSG_FIRSTHDR(&msg);cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
+# ^~~~~~~~~~~~~~~~~~~~~~~
+CFLAGS_append_toolchain-clang = " -Wno-sign-compare"
+
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb b/external/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb
deleted file mode 100644
index 6fd0affd..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.0.bb b/external/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.0.bb
new file mode 100644
index 00000000..115353fe
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.0.bb
@@ -0,0 +1,33 @@
+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"
+
+SRCREV = "39276d14b659684c4c0612725ab83ea841c6ef99"
+SRC_URI = "git://github.com/arno-iptables-firewall/aif"
+
+S = "${WORKDIR}/git"
+
+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/external/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb b/external/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb
deleted file mode 100644
index 46168b0b..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb
+++ /dev/null
@@ -1,34 +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 libtirpc"
-
-EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc"
-
-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/external/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb b/external/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
new file mode 100644
index 00000000..ad50a89a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
@@ -0,0 +1,34 @@
+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 libtirpc"
+
+EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc"
+
+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] = "a9dc7567921213007def78ad72313109"
+SRC_URI[tar.sha256sum] = "590859cc848245dbfd9c6487761dd303b3a1771e007f4f42213063ca56205d5f"
+
+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/external/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb b/external/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
index f05bd615..27678400 100644
--- a/external/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
+++ b/external/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
@@ -12,6 +12,8 @@ RDEPENDS_${PN} += "bash"
RRECOMMENDS_${PN} += "kernel-module-ebtables \
"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/ebtables/files/ebtables/"
+
SRC_URI = "${SOURCEFORGE_MIRROR}/ebtables/ebtables-v${PV}.tar.gz \
file://ebtables-save \
file://installnonroot.patch \
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch
deleted file mode 100644
index 76d2d5d2..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch
index 946f1b71..aa9ff09a 100644
--- a/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch
+++ b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch
@@ -1,4 +1,4 @@
-From 06562244ac4a1a61e1a2c6b219a517658f7349bf Mon Sep 17 00:00:00 2001
+From db7eb5f0a4e78c6bd3c4f9cbd8332d909eb82ad6 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
@@ -9,16 +9,17 @@ 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/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 +++------
+ 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
@@ -592,7 +593,7 @@ index 558d267..79b0752 100644
struct iphdr;
diff --git a/src/libnetfilter_queue.c b/src/libnetfilter_queue.c
-index 065d618..ab0b66b 100644
+index 673e3b0..c12f068 100644
--- a/src/libnetfilter_queue.c
+++ b/src/libnetfilter_queue.c
@@ -133,8 +133,7 @@ struct nfq_data {
@@ -772,7 +773,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_set_queue_flags - set flags (options) for the kernel queue
-@@ -690,7 +678,7 @@ EXPORT_SYMBOL(nfq_set_mode);
+@@ -708,7 +696,7 @@ EXPORT_SYMBOL(nfq_set_mode);
*
* \return -1 on error with errno set appropriately; =0 otherwise.
*/
@@ -781,7 +782,7 @@ index 065d618..ab0b66b 100644
uint32_t mask, uint32_t flags)
{
union {
-@@ -711,7 +699,6 @@ int nfq_set_queue_flags(struct nfq_q_handle *qh,
+@@ -729,7 +717,6 @@ int nfq_set_queue_flags(struct nfq_q_handle *qh,
return nfnl_query(qh->h->nfnlh, &u.nmh);
}
@@ -789,7 +790,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_set_queue_maxlen - Set kernel queue maximum length parameter
-@@ -724,7 +711,7 @@ EXPORT_SYMBOL(nfq_set_queue_flags);
+@@ -742,7 +729,7 @@ EXPORT_SYMBOL(nfq_set_queue_flags);
*
* \return -1 on error; >=0 otherwise.
*/
@@ -798,7 +799,7 @@ index 065d618..ab0b66b 100644
uint32_t queuelen)
{
union {
-@@ -742,7 +729,6 @@ int nfq_set_queue_maxlen(struct nfq_q_handle *qh,
+@@ -760,7 +747,6 @@ int nfq_set_queue_maxlen(struct nfq_q_handle *qh,
return nfnl_query(qh->h->nfnlh, &u.nmh);
}
@@ -806,7 +807,7 @@ index 065d618..ab0b66b 100644
/**
* @}
-@@ -829,14 +815,13 @@ static int __set_verdict(struct nfq_q_handle *qh, uint32_t id,
+@@ -847,14 +833,13 @@ static int __set_verdict(struct nfq_q_handle *qh, uint32_t id,
*
* \return -1 on error; >= 0 otherwise.
*/
@@ -822,7 +823,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_set_verdict2 - like nfq_set_verdict, but you can set the mark.
-@@ -847,14 +832,13 @@ EXPORT_SYMBOL(nfq_set_verdict);
+@@ -865,14 +850,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
*/
@@ -838,7 +839,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_set_verdict_batch - issue verdicts on several packets at once
-@@ -868,13 +852,12 @@ EXPORT_SYMBOL(nfq_set_verdict2);
+@@ -886,13 +870,12 @@ EXPORT_SYMBOL(nfq_set_verdict2);
* batch support was added in Linux 3.1.
* These functions will fail silently on older kernels.
*/
@@ -853,7 +854,7 @@ index 065d618..ab0b66b 100644
/**
* 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);
+@@ -901,13 +884,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
*/
@@ -868,7 +869,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_set_verdict_mark - like nfq_set_verdict, but you can set the mark.
-@@ -905,14 +887,13 @@ EXPORT_SYMBOL(nfq_set_verdict_batch2);
+@@ -923,14 +905,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.
*/
@@ -884,7 +885,7 @@ index 065d618..ab0b66b 100644
/**
* @}
-@@ -947,12 +928,11 @@ EXPORT_SYMBOL(nfq_set_verdict_mark);
+@@ -965,12 +946,11 @@ EXPORT_SYMBOL(nfq_set_verdict_mark);
} __attribute__ ((packed));
\endverbatim
*/
@@ -898,7 +899,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_nfmark - get the packet mark
-@@ -960,11 +940,10 @@ EXPORT_SYMBOL(nfq_get_msg_packet_hdr);
+@@ -978,11 +958,10 @@ EXPORT_SYMBOL(nfq_get_msg_packet_hdr);
*
* \return the netfilter mark currently assigned to the given queued packet.
*/
@@ -911,7 +912,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_timestamp - get the packet timestamp
-@@ -975,7 +954,7 @@ EXPORT_SYMBOL(nfq_get_nfmark);
+@@ -993,7 +972,7 @@ EXPORT_SYMBOL(nfq_get_nfmark);
*
* \return 0 on success, non-zero on failure.
*/
@@ -920,7 +921,7 @@ index 065d618..ab0b66b 100644
{
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)
+@@ -1006,7 +985,6 @@ int nfq_get_timestamp(struct nfq_data *nfad, struct timeval *tv)
return 0;
}
@@ -928,7 +929,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_indev - get the interface that the packet was received through
-@@ -1001,11 +979,10 @@ EXPORT_SYMBOL(nfq_get_timestamp);
+@@ -1019,11 +997,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)
*/
@@ -941,7 +942,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_physindev - get the physical interface that the packet was received
-@@ -1015,11 +992,10 @@ EXPORT_SYMBOL(nfq_get_indev);
+@@ -1033,11 +1010,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?).
*/
@@ -954,7 +955,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_outdev - gets the interface that the packet will be routed out
-@@ -1029,11 +1005,10 @@ EXPORT_SYMBOL(nfq_get_physindev);
+@@ -1047,11 +1023,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?).
*/
@@ -967,7 +968,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_physoutdev - get the physical interface that the packet output
-@@ -1045,11 +1020,10 @@ EXPORT_SYMBOL(nfq_get_outdev);
+@@ -1063,11 +1038,10 @@ EXPORT_SYMBOL(nfq_get_outdev);
*
* \return The index of physical interface that the packet output will be routed out.
*/
@@ -980,7 +981,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_indev_name - get the name of the interface the packet
-@@ -1089,13 +1063,12 @@ EXPORT_SYMBOL(nfq_get_physoutdev);
+@@ -1107,13 +1081,12 @@ EXPORT_SYMBOL(nfq_get_physoutdev);
\endverbatim
*
*/
@@ -995,7 +996,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_physindev_name - get the name of the physical interface the
-@@ -1109,13 +1082,12 @@ EXPORT_SYMBOL(nfq_get_indev_name);
+@@ -1127,13 +1100,12 @@ EXPORT_SYMBOL(nfq_get_indev_name);
*
* \return -1 in case of error, > 0 if it succeed.
*/
@@ -1010,7 +1011,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_outdev_name - get the name of the physical interface the
-@@ -1129,13 +1101,12 @@ EXPORT_SYMBOL(nfq_get_physindev_name);
+@@ -1147,13 +1119,12 @@ EXPORT_SYMBOL(nfq_get_physindev_name);
*
* \return -1 in case of error, > 0 if it succeed.
*/
@@ -1025,7 +1026,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_physoutdev_name - get the name of the interface the
-@@ -1150,13 +1121,12 @@ EXPORT_SYMBOL(nfq_get_outdev_name);
+@@ -1168,13 +1139,12 @@ EXPORT_SYMBOL(nfq_get_outdev_name);
* \return -1 in case of error, > 0 if it succeed.
*/
@@ -1040,7 +1041,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_packet_hw
-@@ -1180,12 +1150,11 @@ EXPORT_SYMBOL(nfq_get_physoutdev_name);
+@@ -1198,12 +1168,11 @@ EXPORT_SYMBOL(nfq_get_physoutdev_name);
} __attribute__ ((packed));
\endverbatim
*/
@@ -1054,7 +1055,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_uid - get the UID of the user the packet belongs to
-@@ -1193,7 +1162,7 @@ EXPORT_SYMBOL(nfq_get_packet_hw);
+@@ -1215,7 +1184,7 @@ EXPORT_SYMBOL(nfq_get_packet_hw);
*
* \return 1 if there is a UID available, 0 otherwise.
*/
@@ -1063,7 +1064,7 @@ index 065d618..ab0b66b 100644
{
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)
+@@ -1223,7 +1192,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;
}
@@ -1071,7 +1072,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_gid - get the GID of the user the packet belongs to
-@@ -1209,7 +1177,7 @@ EXPORT_SYMBOL(nfq_get_uid);
+@@ -1235,7 +1203,7 @@ EXPORT_SYMBOL(nfq_get_uid);
*
* \return 1 if there is a GID available, 0 otherwise.
*/
@@ -1080,15 +1081,15 @@ index 065d618..ab0b66b 100644
{
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)
+@@ -1243,7 +1211,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);
+ * nfq_get_secctx - get the security context for this packet
+@@ -1256,7 +1223,7 @@ EXPORT_SYMBOL(nfq_get_gid);
*
* \return -1 on error, otherwise > 0
*/
@@ -1097,7 +1098,7 @@ index 065d618..ab0b66b 100644
{
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)
+@@ -1269,7 +1236,6 @@ int nfq_get_secctx(struct nfq_data *nfad, unsigned char **secdata)
return 0;
}
@@ -1105,7 +1106,7 @@ index 065d618..ab0b66b 100644
/**
* nfq_get_payload - get payload
-@@ -1253,7 +1219,7 @@ EXPORT_SYMBOL(nfq_get_secctx);
+@@ -1282,7 +1248,7 @@ EXPORT_SYMBOL(nfq_get_secctx);
*
* \return -1 on error, otherwise > 0.
*/
@@ -1114,7 +1115,7 @@ index 065d618..ab0b66b 100644
{
*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)
+@@ -1291,7 +1257,6 @@ int nfq_get_payload(struct nfq_data *nfad, unsigned char **data)
return -1;
}
@@ -1122,7 +1123,7 @@ index 065d618..ab0b66b 100644
/**
* @}
-@@ -1307,7 +1272,7 @@ do { \
+@@ -1336,7 +1301,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.
*/
@@ -1131,7 +1132,7 @@ index 065d618..ab0b66b 100644
{
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)
+@@ -1489,7 +1454,6 @@ int nfq_snprintf_xml(char *buf, size_t rem, struct nfq_data *tb, int flags)
return len;
}
@@ -1224,6 +1225,3 @@ index ba28c77..5582407 100644
/**
* @}
---
-2.12.2
-
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb
deleted file mode 100644
index e4e186bd..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb
+++ /dev/null
@@ -1,16 +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 \
-"
-SRC_URI[tar.md5sum] = "7139c5f408dd9606ffecfd5dcda8175b"
-SRC_URI[tar.sha256sum] = "efcc08021284e75f4d96d3581c5155a11f08fd63316b1938cbcb269c87f37feb"
-
-S = "${WORKDIR}/libnetfilter_conntrack-${PV}"
-
-inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb
new file mode 100644
index 00000000..cd894339
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.8.bb
@@ -0,0 +1,15 @@
+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 = "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2"
+SRC_URI[md5sum] = "3121b55acf97322db830da75d8407cba"
+SRC_URI[sha256sum] = "0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf"
+
+S = "${WORKDIR}/libnetfilter_conntrack-${PV}"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb
deleted file mode 100644
index 754e11d9..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Netfilter packet queue access library"
-DESCRIPTION = "Userspace library providing a programming interface (API) to access the Linux kernel netfilter packet queue"
-HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_queue/index.html"
-SECTION = "libs"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-DEPENDS = "libnfnetlink libmnl"
-
-PV .= "+git${SRCREV}"
-SRCREV = "981025e103d887fb6a9c9bb49c74ec323108d098"
-
-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/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.3.bb b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.3.bb
new file mode 100644
index 00000000..896cfdfa
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.3.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Netfilter packet queue access library"
+DESCRIPTION = "Userspace library providing a programming interface (API) to access the Linux kernel netfilter packet queue"
+HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_queue/index.html"
+SECTION = "libs"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+DEPENDS = "libnfnetlink libmnl"
+
+SRCREV = "601abd1c71ccdf90753cf294c120ad43fb25dc54"
+
+SRC_URI = "git://git.netfilter.org/libnetfilter_queue \
+ file://0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch b/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch
deleted file mode 100644
index 995fd59a..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch
+++ /dev/null
@@ -1,289 +0,0 @@
-From 21eb59fbd071ebffb8495232766824944fb521a0 Mon Sep 17 00:00:00 2001
-From: Alex Kiernan <alex.kiernan@gmail.com>
-Date: Wed, 7 Nov 2018 21:19:53 +0000
-Subject: [PATCH] Move exports before symbol definition
-
-Based on 7966020 ("src: Fix exporting symbols with clang"), when
-EXPORT_SYMBOL is located after function definition, clang won't properly
-export the function, resulting in a library with no symbols when built with
-clang.
-
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- src/flowtable.c | 54 +++++++++++++++++++++++++++---------------------------
- 1 file changed, 27 insertions(+), 27 deletions(-)
-
-diff --git a/src/flowtable.c b/src/flowtable.c
-index c1ddae4..d7434e3 100644
---- a/src/flowtable.c
-+++ b/src/flowtable.c
-@@ -34,12 +34,13 @@ struct nftnl_flowtable {
- uint32_t flags;
- };
-
-+EXPORT_SYMBOL(nftnl_flowtable_alloc);
- struct nftnl_flowtable *nftnl_flowtable_alloc(void)
- {
- return calloc(1, sizeof(struct nftnl_flowtable));
- }
--EXPORT_SYMBOL(nftnl_flowtable_alloc);
-
-+EXPORT_SYMBOL(nftnl_flowtable_free);
- void nftnl_flowtable_free(const struct nftnl_flowtable *c)
- {
- int i;
-@@ -56,14 +57,14 @@ void nftnl_flowtable_free(const struct nftnl_flowtable *c)
- }
- xfree(c);
- }
--EXPORT_SYMBOL(nftnl_flowtable_free);
-
-+EXPORT_SYMBOL(nftnl_flowtable_is_set);
- bool nftnl_flowtable_is_set(const struct nftnl_flowtable *c, uint16_t attr)
- {
- return c->flags & (1 << attr);
- }
--EXPORT_SYMBOL(nftnl_flowtable_is_set);
-
-+EXPORT_SYMBOL(nftnl_flowtable_unset);
- void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr)
- {
- int i;
-@@ -96,7 +97,6 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr)
-
- c->flags &= ~(1 << attr);
- }
--EXPORT_SYMBOL(nftnl_flowtable_unset);
-
- static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = {
- [NFTNL_FLOWTABLE_HOOKNUM] = sizeof(uint32_t),
-@@ -105,6 +105,7 @@ static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = {
- [NFTNL_FLOWTABLE_FLAGS] = sizeof(uint32_t),
- };
-
-+EXPORT_SYMBOL(nftnl_flowtable_set_data);
- int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr,
- const void *data, uint32_t data_len)
- {
-@@ -170,32 +171,32 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr,
- c->flags |= (1 << attr);
- return 0;
- }
--EXPORT_SYMBOL(nftnl_flowtable_set_data);
-
-+EXPORT_SYMBOL(nftnl_flowtable_set);
- void nftnl_flowtable_set(struct nftnl_flowtable *c, uint16_t attr, const void *data)
- {
- nftnl_flowtable_set_data(c, attr, data, nftnl_flowtable_validate[attr]);
- }
--EXPORT_SYMBOL(nftnl_flowtable_set);
-
-+EXPORT_SYMBOL(nftnl_flowtable_set_u32);
- void nftnl_flowtable_set_u32(struct nftnl_flowtable *c, uint16_t attr, uint32_t data)
- {
- nftnl_flowtable_set_data(c, attr, &data, sizeof(uint32_t));
- }
--EXPORT_SYMBOL(nftnl_flowtable_set_u32);
-
-+EXPORT_SYMBOL(nftnl_flowtable_set_s32);
- void nftnl_flowtable_set_s32(struct nftnl_flowtable *c, uint16_t attr, int32_t data)
- {
- nftnl_flowtable_set_data(c, attr, &data, sizeof(int32_t));
- }
--EXPORT_SYMBOL(nftnl_flowtable_set_s32);
-
-+EXPORT_SYMBOL(nftnl_flowtable_set_str);
- int nftnl_flowtable_set_str(struct nftnl_flowtable *c, uint16_t attr, const char *str)
- {
- return nftnl_flowtable_set_data(c, attr, str, strlen(str) + 1);
- }
--EXPORT_SYMBOL(nftnl_flowtable_set_str);
-
-+EXPORT_SYMBOL(nftnl_flowtable_get_data);
- const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c,
- uint16_t attr, uint32_t *data_len)
- {
-@@ -229,21 +230,21 @@ const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c,
- }
- return NULL;
- }
--EXPORT_SYMBOL(nftnl_flowtable_get_data);
-
-+EXPORT_SYMBOL(nftnl_flowtable_get);
- const void *nftnl_flowtable_get(const struct nftnl_flowtable *c, uint16_t attr)
- {
- uint32_t data_len;
- return nftnl_flowtable_get_data(c, attr, &data_len);
- }
--EXPORT_SYMBOL(nftnl_flowtable_get);
-
-+EXPORT_SYMBOL(nftnl_flowtable_get_str);
- const char *nftnl_flowtable_get_str(const struct nftnl_flowtable *c, uint16_t attr)
- {
- return nftnl_flowtable_get(c, attr);
- }
--EXPORT_SYMBOL(nftnl_flowtable_get_str);
-
-+EXPORT_SYMBOL(nftnl_flowtable_get_u32);
- uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr)
- {
- uint32_t data_len;
-@@ -253,8 +254,8 @@ uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr)
-
- return val ? *val : 0;
- }
--EXPORT_SYMBOL(nftnl_flowtable_get_u32);
-
-+EXPORT_SYMBOL(nftnl_flowtable_get_s32);
- int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr)
- {
- uint32_t data_len;
-@@ -264,8 +265,8 @@ int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr)
-
- return val ? *val : 0;
- }
--EXPORT_SYMBOL(nftnl_flowtable_get_s32);
-
-+EXPORT_SYMBOL(nftnl_flowtable_nlmsg_build_payload);
- void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh,
- const struct nftnl_flowtable *c)
- {
-@@ -301,7 +302,6 @@ void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh,
- if (c->flags & (1 << NFTNL_FLOWTABLE_SIZE))
- mnl_attr_put_u32(nlh, NFTA_FLOWTABLE_SIZE, htonl(c->size));
- }
--EXPORT_SYMBOL(nftnl_flowtable_nlmsg_build_payload);
-
- static int nftnl_flowtable_parse_attr_cb(const struct nlattr *attr, void *data)
- {
-@@ -412,6 +412,7 @@ static int nftnl_flowtable_parse_hook(struct nlattr *attr, struct nftnl_flowtabl
- return 0;
- }
-
-+EXPORT_SYMBOL(nftnl_flowtable_nlmsg_parse);
- int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtable *c)
- {
- struct nlattr *tb[NFTA_FLOWTABLE_MAX + 1] = {};
-@@ -460,7 +461,6 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab
-
- return ret;
- }
--EXPORT_SYMBOL(nftnl_flowtable_nlmsg_parse);
-
- static const char *nftnl_hooknum2str(int family, int hooknum)
- {
-@@ -612,20 +612,20 @@ static int nftnl_flowtable_do_parse(struct nftnl_flowtable *c,
- return ret;
- }
-
-+EXPORT_SYMBOL(nftnl_flowtable_parse);
- int nftnl_flowtable_parse(struct nftnl_flowtable *c, enum nftnl_parse_type type,
- const char *data, struct nftnl_parse_err *err)
- {
- return nftnl_flowtable_do_parse(c, type, data, err, NFTNL_PARSE_BUFFER);
- }
--EXPORT_SYMBOL(nftnl_flowtable_parse);
-
-+EXPORT_SYMBOL(nftnl_flowtable_parse_file);
- int nftnl_flowtable_parse_file(struct nftnl_flowtable *c,
- enum nftnl_parse_type type,
- FILE *fp, struct nftnl_parse_err *err)
- {
- return nftnl_flowtable_do_parse(c, type, fp, err, NFTNL_PARSE_FILE);
- }
--EXPORT_SYMBOL(nftnl_flowtable_parse_file);
-
- static int nftnl_flowtable_export(char *buf, size_t size,
- const struct nftnl_flowtable *c, int type)
-@@ -720,6 +720,7 @@ static int nftnl_flowtable_cmd_snprintf(char *buf, size_t size,
- return offset;
- }
-
-+EXPORT_SYMBOL(nftnl_flowtable_snprintf);
- int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtable *c,
- uint32_t type, uint32_t flags)
- {
-@@ -729,7 +730,6 @@ int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtabl
- return nftnl_flowtable_cmd_snprintf(buf, size, c, nftnl_flag2cmd(flags),
- type, flags);
- }
--EXPORT_SYMBOL(nftnl_flowtable_snprintf);
-
- static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c,
- uint32_t cmd, uint32_t type, uint32_t flags)
-@@ -737,18 +737,19 @@ static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c,
- return nftnl_flowtable_snprintf(buf, size, c, type, flags);
- }
-
-+EXPORT_SYMBOL(nftnl_flowtable_fprintf);
- int nftnl_flowtable_fprintf(FILE *fp, const struct nftnl_flowtable *c,
- uint32_t type, uint32_t flags)
- {
- return nftnl_fprintf(fp, c, NFTNL_CMD_UNSPEC, type, flags,
- nftnl_flowtable_do_snprintf);
- }
--EXPORT_SYMBOL(nftnl_flowtable_fprintf);
-
- struct nftnl_flowtable_list {
- struct list_head list;
- };
-
-+EXPORT_SYMBOL(nftnl_flowtable_list_alloc);
- struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void)
- {
- struct nftnl_flowtable_list *list;
-@@ -761,8 +762,8 @@ struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void)
-
- return list;
- }
--EXPORT_SYMBOL(nftnl_flowtable_list_alloc);
-
-+EXPORT_SYMBOL(nftnl_flowtable_list_free);
- void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list)
- {
- struct nftnl_flowtable *s, *tmp;
-@@ -773,34 +774,34 @@ void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list)
- }
- xfree(list);
- }
--EXPORT_SYMBOL(nftnl_flowtable_list_free);
-
-+EXPORT_SYMBOL(nftnl_flowtable_list_is_empty);
- int nftnl_flowtable_list_is_empty(const struct nftnl_flowtable_list *list)
- {
- return list_empty(&list->list);
- }
--EXPORT_SYMBOL(nftnl_flowtable_list_is_empty);
-
-+EXPORT_SYMBOL(nftnl_flowtable_list_add);
- void nftnl_flowtable_list_add(struct nftnl_flowtable *s,
- struct nftnl_flowtable_list *list)
- {
- list_add(&s->head, &list->list);
- }
--EXPORT_SYMBOL(nftnl_flowtable_list_add);
-
-+EXPORT_SYMBOL(nftnl_flowtable_list_add_tail);
- void nftnl_flowtable_list_add_tail(struct nftnl_flowtable *s,
- struct nftnl_flowtable_list *list)
- {
- list_add_tail(&s->head, &list->list);
- }
--EXPORT_SYMBOL(nftnl_flowtable_list_add_tail);
-
-+EXPORT_SYMBOL(nftnl_flowtable_list_del);
- void nftnl_flowtable_list_del(struct nftnl_flowtable *s)
- {
- list_del(&s->head);
- }
--EXPORT_SYMBOL(nftnl_flowtable_list_del);
-
-+EXPORT_SYMBOL(nftnl_flowtable_list_foreach);
- int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list,
- int (*cb)(struct nftnl_flowtable *t, void *data), void *data)
- {
-@@ -814,4 +815,3 @@ int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list,
- }
- return 0;
- }
--EXPORT_SYMBOL(nftnl_flowtable_list_foreach);
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch b/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch
new file mode 100644
index 00000000..f49ef2a7
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch
@@ -0,0 +1,631 @@
+From e03b003610a176d608da9a02e433e7ded7e4b75f Mon Sep 17 00:00:00 2001
+From: Todd Cunningham <tcunningham07@gmail.com>
+Date: Wed, 11 Dec 2019 10:18:56 +1000
+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>
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+
+Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+Signed-off-by: Todd Cunningham <tcunningham07@gmail.com>
+---
+ include/expr_ops.h | 2 +-
+ include/obj.h | 2 +-
+ src/expr.c | 4 ++--
+ src/expr/bitwise.c | 2 +-
+ src/expr/byteorder.c | 2 +-
+ src/expr/cmp.c | 2 +-
+ src/expr/connlimit.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/flow_offload.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/osf.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/socket.c | 2 +-
+ src/expr/synproxy.c | 2 +-
+ src/expr/target.c | 2 +-
+ src/expr/tproxy.c | 2 +-
+ src/expr/tunnel.c | 2 +-
+ src/expr/xfrm.c | 2 +-
+ src/obj/counter.c | 2 +-
+ src/obj/ct_expect.c | 2 +-
+ src/obj/ct_helper.c | 2 +-
+ src/obj/ct_timeout.c | 2 +-
+ src/obj/limit.c | 2 +-
+ src/obj/quota.c | 2 +-
+ src/obj/secmark.c | 2 +-
+ src/obj/synproxy.c | 2 +-
+ src/obj/tunnel.c | 2 +-
+ src/object.c | 2 +-
+ 49 files changed, 50 insertions(+), 50 deletions(-)
+
+diff --git a/include/expr_ops.h b/include/expr_ops.h
+index a7f1b9a..d2946de 100644
+--- a/include/expr_ops.h
++++ b/include/expr_ops.h
+@@ -17,7 +17,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);
+ };
+
+ struct expr_ops *nftnl_expr_ops_lookup(const char *name);
+diff --git a/include/obj.h b/include/obj.h
+index 9394d79..08610d7 100644
+--- a/include/obj.h
++++ b/include/obj.h
+@@ -99,7 +99,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);
+ };
+
+ extern struct obj_ops obj_ops_counter;
+diff --git a/src/expr.c b/src/expr.c
+index 80c4c36..b698a60 100644
+--- a/src/expr.c
++++ b/src/expr.c
+@@ -275,10 +275,10 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
+ if (size)
+ buf[0] = '\0';
+
+- if (!expr->ops->snprintf)
++ if (!expr->ops->snprintf_)
+ return 0;
+
+- ret = expr->ops->snprintf(buf + offset, remain, type, flags, expr);
++ ret = expr->ops->snprintf_(buf + offset, remain, type, flags, expr);
+ SNPRINTF_BUFFER_SIZE(ret, remain, offset);
+
+ return offset;
+diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c
+index c9d40df..27d644b 100644
+--- a/src/expr/bitwise.c
++++ b/src/expr/bitwise.c
+@@ -219,5 +219,5 @@ 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,
+ };
+diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c
+index efdfa2b..7ae9dfb 100644
+--- a/src/expr/byteorder.c
++++ b/src/expr/byteorder.c
+@@ -234,5 +234,5 @@ 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,
+ };
+diff --git a/src/expr/cmp.c b/src/expr/cmp.c
+index 86d7842..e3be442 100644
+--- a/src/expr/cmp.c
++++ b/src/expr/cmp.c
+@@ -216,5 +216,5 @@ 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,
+ };
+diff --git a/src/expr/connlimit.c b/src/expr/connlimit.c
+index 53af93b..6c8bc40 100644
+--- a/src/expr/connlimit.c
++++ b/src/expr/connlimit.c
+@@ -149,5 +149,5 @@ struct expr_ops expr_ops_connlimit = {
+ .get = nftnl_expr_connlimit_get,
+ .parse = nftnl_expr_connlimit_parse,
+ .build = nftnl_expr_connlimit_build,
+- .snprintf = nftnl_expr_connlimit_snprintf,
++ .snprintf_ = nftnl_expr_connlimit_snprintf,
+ };
+diff --git a/src/expr/counter.c b/src/expr/counter.c
+index 89a602e..a32a69e 100644
+--- a/src/expr/counter.c
++++ b/src/expr/counter.c
+@@ -147,5 +147,5 @@ 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,
+ };
+diff --git a/src/expr/ct.c b/src/expr/ct.c
+index 124de9d..7bde179 100644
+--- a/src/expr/ct.c
++++ b/src/expr/ct.c
+@@ -273,5 +273,5 @@ 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,
+ };
+diff --git a/src/expr/dup.c b/src/expr/dup.c
+index 2bb35e5..d9bd4b1 100644
+--- a/src/expr/dup.c
++++ b/src/expr/dup.c
+@@ -154,5 +154,5 @@ 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,
+ };
+diff --git a/src/expr/dynset.c b/src/expr/dynset.c
+index 68115ba..6e43bb4 100644
+--- a/src/expr/dynset.c
++++ b/src/expr/dynset.c
+@@ -288,5 +288,5 @@ 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,
+ };
+diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c
+index e5f714b..e68792b 100644
+--- a/src/expr/exthdr.c
++++ b/src/expr/exthdr.c
+@@ -276,5 +276,5 @@ 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,
+ };
+diff --git a/src/expr/fib.c b/src/expr/fib.c
+index 9475af4..8e7090d 100644
+--- a/src/expr/fib.c
++++ b/src/expr/fib.c
+@@ -213,5 +213,5 @@ 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,
+ };
+diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c
+index 6ccec9a..c2f2478 100644
+--- a/src/expr/flow_offload.c
++++ b/src/expr/flow_offload.c
+@@ -134,5 +134,5 @@ struct expr_ops expr_ops_flow = {
+ .get = nftnl_expr_flow_get,
+ .parse = nftnl_expr_flow_parse,
+ .build = nftnl_expr_flow_build,
+- .snprintf = nftnl_expr_flow_snprintf,
++ .snprintf_ = nftnl_expr_flow_snprintf,
+ };
+diff --git a/src/expr/fwd.c b/src/expr/fwd.c
+index cff8235..bcd7d3f 100644
+--- a/src/expr/fwd.c
++++ b/src/expr/fwd.c
+@@ -174,5 +174,5 @@ 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,
+ };
+diff --git a/src/expr/hash.c b/src/expr/hash.c
+index 2c801d2..a9f6e7e 100644
+--- a/src/expr/hash.c
++++ b/src/expr/hash.c
+@@ -241,5 +241,5 @@ 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,
+ };
+diff --git a/src/expr/immediate.c b/src/expr/immediate.c
+index 47106ae..ea86c88 100644
+--- a/src/expr/immediate.c
++++ b/src/expr/immediate.c
+@@ -235,5 +235,5 @@ 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,
+ };
+diff --git a/src/expr/limit.c b/src/expr/limit.c
+index 5872e27..0ce482f 100644
+--- a/src/expr/limit.c
++++ b/src/expr/limit.c
+@@ -216,5 +216,5 @@ 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,
+ };
+diff --git a/src/expr/log.c b/src/expr/log.c
+index bbe43d2..5506bc2 100644
+--- a/src/expr/log.c
++++ b/src/expr/log.c
+@@ -267,5 +267,5 @@ 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,
+ };
+diff --git a/src/expr/lookup.c b/src/expr/lookup.c
+index a495ac0..678868c 100644
+--- a/src/expr/lookup.c
++++ b/src/expr/lookup.c
+@@ -221,5 +221,5 @@ 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,
+ };
+diff --git a/src/expr/masq.c b/src/expr/masq.c
+index f6f3ceb..88292a6 100644
+--- a/src/expr/masq.c
++++ b/src/expr/masq.c
+@@ -169,5 +169,5 @@ 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,
+ };
+diff --git a/src/expr/match.c b/src/expr/match.c
+index 4fa74b2..249c6b5 100644
+--- a/src/expr/match.c
++++ b/src/expr/match.c
+@@ -198,5 +198,5 @@ 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,
+ };
+diff --git a/src/expr/meta.c b/src/expr/meta.c
+index 73f6efa..35d5ec5 100644
+--- a/src/expr/meta.c
++++ b/src/expr/meta.c
+@@ -226,5 +226,5 @@ 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,
+ };
+diff --git a/src/expr/nat.c b/src/expr/nat.c
+index 6b7d50e..be4a579 100644
+--- a/src/expr/nat.c
++++ b/src/expr/nat.c
+@@ -279,5 +279,5 @@ 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,
+ };
+diff --git a/src/expr/numgen.c b/src/expr/numgen.c
+index 4e0d541..5995ee3 100644
+--- a/src/expr/numgen.c
++++ b/src/expr/numgen.c
+@@ -195,5 +195,5 @@ 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,
+ };
+diff --git a/src/expr/objref.c b/src/expr/objref.c
+index 7388b18..e673ffd 100644
+--- a/src/expr/objref.c
++++ b/src/expr/objref.c
+@@ -210,5 +210,5 @@ 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,
+ };
+diff --git a/src/expr/osf.c b/src/expr/osf.c
+index 98d0df9..618b46e 100644
+--- a/src/expr/osf.c
++++ b/src/expr/osf.c
+@@ -161,5 +161,5 @@ struct expr_ops expr_ops_osf = {
+ .get = nftnl_expr_osf_get,
+ .parse = nftnl_expr_osf_parse,
+ .build = nftnl_expr_osf_build,
+- .snprintf = nftnl_expr_osf_snprintf,
++ .snprintf_ = nftnl_expr_osf_snprintf,
+ };
+diff --git a/src/expr/payload.c b/src/expr/payload.c
+index 2192dad..37aacc4 100644
+--- a/src/expr/payload.c
++++ b/src/expr/payload.c
+@@ -266,5 +266,5 @@ 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,
+ };
+diff --git a/src/expr/queue.c b/src/expr/queue.c
+index 051ef71..b06feff 100644
+--- a/src/expr/queue.c
++++ b/src/expr/queue.c
+@@ -207,5 +207,5 @@ 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,
+ };
+diff --git a/src/expr/quota.c b/src/expr/quota.c
+index 39a92e6..41797be 100644
+--- a/src/expr/quota.c
++++ b/src/expr/quota.c
+@@ -161,5 +161,5 @@ 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,
+ };
+diff --git a/src/expr/range.c b/src/expr/range.c
+index d1d5083..b619cdf 100644
+--- a/src/expr/range.c
++++ b/src/expr/range.c
+@@ -227,5 +227,5 @@ 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,
+ };
+diff --git a/src/expr/redir.c b/src/expr/redir.c
+index 477659a..5c4ebeb 100644
+--- a/src/expr/redir.c
++++ b/src/expr/redir.c
+@@ -181,5 +181,5 @@ 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,
+ };
+diff --git a/src/expr/reject.c b/src/expr/reject.c
+index 141942e..a98990d 100644
+--- a/src/expr/reject.c
++++ b/src/expr/reject.c
+@@ -148,5 +148,5 @@ 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,
+ };
+diff --git a/src/expr/rt.c b/src/expr/rt.c
+index 0fce72d..32ace19 100644
+--- a/src/expr/rt.c
++++ b/src/expr/rt.c
+@@ -177,5 +177,5 @@ 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,
+ };
+diff --git a/src/expr/socket.c b/src/expr/socket.c
+index 96550d5..2394dbf 100644
+--- a/src/expr/socket.c
++++ b/src/expr/socket.c
+@@ -174,5 +174,5 @@ struct expr_ops expr_ops_socket = {
+ .get = nftnl_expr_socket_get,
+ .parse = nftnl_expr_socket_parse,
+ .build = nftnl_expr_socket_build,
+- .snprintf = nftnl_expr_socket_snprintf,
++ .snprintf_ = nftnl_expr_socket_snprintf,
+ };
+diff --git a/src/expr/synproxy.c b/src/expr/synproxy.c
+index 245f4fb..9721029 100644
+--- a/src/expr/synproxy.c
++++ b/src/expr/synproxy.c
+@@ -166,5 +166,5 @@ struct expr_ops expr_ops_synproxy = {
+ .get = nftnl_expr_synproxy_get,
+ .parse = nftnl_expr_synproxy_parse,
+ .build = nftnl_expr_synproxy_build,
+- .snprintf = nftnl_expr_synproxy_snprintf,
++ .snprintf_ = nftnl_expr_synproxy_snprintf,
+ };
+diff --git a/src/expr/target.c b/src/expr/target.c
+index 9100038..7180085 100644
+--- a/src/expr/target.c
++++ b/src/expr/target.c
+@@ -198,5 +198,5 @@ 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,
+ };
+diff --git a/src/expr/tproxy.c b/src/expr/tproxy.c
+index 3827b75..feabbbe 100644
+--- a/src/expr/tproxy.c
++++ b/src/expr/tproxy.c
+@@ -183,5 +183,5 @@ struct expr_ops expr_ops_tproxy = {
+ .get = nftnl_expr_tproxy_get,
+ .parse = nftnl_expr_tproxy_parse,
+ .build = nftnl_expr_tproxy_build,
+- .snprintf = nftnl_expr_tproxy_snprintf,
++ .snprintf_ = nftnl_expr_tproxy_snprintf,
+ };
+diff --git a/src/expr/tunnel.c b/src/expr/tunnel.c
+index b2b8d72..1ed46d3 100644
+--- a/src/expr/tunnel.c
++++ b/src/expr/tunnel.c
+@@ -173,5 +173,5 @@ struct expr_ops expr_ops_tunnel = {
+ .get = nftnl_expr_tunnel_get,
+ .parse = nftnl_expr_tunnel_parse,
+ .build = nftnl_expr_tunnel_build,
+- .snprintf = nftnl_expr_tunnel_snprintf,
++ .snprintf_ = nftnl_expr_tunnel_snprintf,
+ };
+diff --git a/src/expr/xfrm.c b/src/expr/xfrm.c
+index 8fe5438..b6b2772 100644
+--- a/src/expr/xfrm.c
++++ b/src/expr/xfrm.c
+@@ -239,5 +239,5 @@ struct expr_ops expr_ops_xfrm = {
+ .get = nftnl_expr_xfrm_get,
+ .parse = nftnl_expr_xfrm_parse,
+ .build = nftnl_expr_xfrm_build,
+- .snprintf = nftnl_expr_xfrm_snprintf,
++ .snprintf_ = nftnl_expr_xfrm_snprintf,
+ };
+diff --git a/src/obj/counter.c b/src/obj/counter.c
+index 1baba4e..3710bce 100644
+--- a/src/obj/counter.c
++++ b/src/obj/counter.c
+@@ -145,5 +145,5 @@ 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,
+ };
+diff --git a/src/obj/ct_expect.c b/src/obj/ct_expect.c
+index c0bb5ba..953c08c 100644
+--- a/src/obj/ct_expect.c
++++ b/src/obj/ct_expect.c
+@@ -209,5 +209,5 @@ struct obj_ops obj_ops_ct_expect = {
+ .get = nftnl_obj_ct_expect_get,
+ .parse = nftnl_obj_ct_expect_parse,
+ .build = nftnl_obj_ct_expect_build,
+- .snprintf = nftnl_obj_ct_expect_snprintf,
++ .snprintf_ = nftnl_obj_ct_expect_snprintf,
+ };
+diff --git a/src/obj/ct_helper.c b/src/obj/ct_helper.c
+index d91f636..2037461 100644
+--- a/src/obj/ct_helper.c
++++ b/src/obj/ct_helper.c
+@@ -166,5 +166,5 @@ 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,
+ };
+diff --git a/src/obj/ct_timeout.c b/src/obj/ct_timeout.c
+index e2e9991..a4f2dd2 100644
+--- a/src/obj/ct_timeout.c
++++ b/src/obj/ct_timeout.c
+@@ -330,5 +330,5 @@ struct obj_ops obj_ops_ct_timeout = {
+ .get = nftnl_obj_ct_timeout_get,
+ .parse = nftnl_obj_ct_timeout_parse,
+ .build = nftnl_obj_ct_timeout_build,
+- .snprintf = nftnl_obj_ct_timeout_snprintf,
++ .snprintf_ = nftnl_obj_ct_timeout_snprintf,
+ };
+diff --git a/src/obj/limit.c b/src/obj/limit.c
+index 60b0159..538f37a 100644
+--- a/src/obj/limit.c
++++ b/src/obj/limit.c
+@@ -185,5 +185,5 @@ struct obj_ops obj_ops_limit = {
+ .get = nftnl_obj_limit_get,
+ .parse = nftnl_obj_limit_parse,
+ .build = nftnl_obj_limit_build,
+- .snprintf = nftnl_obj_limit_snprintf,
++ .snprintf_ = nftnl_obj_limit_snprintf,
+ };
+diff --git a/src/obj/quota.c b/src/obj/quota.c
+index 1914037..585a088 100644
+--- a/src/obj/quota.c
++++ b/src/obj/quota.c
+@@ -161,5 +161,5 @@ 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,
+ };
+diff --git a/src/obj/secmark.c b/src/obj/secmark.c
+index e27b5fa..6241bee 100644
+--- a/src/obj/secmark.c
++++ b/src/obj/secmark.c
+@@ -133,5 +133,5 @@ struct obj_ops obj_ops_secmark = {
+ .get = nftnl_obj_secmark_get,
+ .parse = nftnl_obj_secmark_parse,
+ .build = nftnl_obj_secmark_build,
+- .snprintf = nftnl_obj_secmark_snprintf,
++ .snprintf_ = nftnl_obj_secmark_snprintf,
+ };
+diff --git a/src/obj/tunnel.c b/src/obj/tunnel.c
+index 7ffade8..800eb3e 100644
+--- a/src/obj/tunnel.c
++++ b/src/obj/tunnel.c
+@@ -564,5 +564,5 @@ struct obj_ops obj_ops_tunnel = {
+ .get = nftnl_obj_tunnel_get,
+ .parse = nftnl_obj_tunnel_parse,
+ .build = nftnl_obj_tunnel_build,
+- .snprintf = nftnl_obj_tunnel_snprintf,
++ .snprintf_ = nftnl_obj_tunnel_snprintf,
+ };
+diff --git a/src/object.c b/src/object.c
+index d8c87ee..5307d7e 100644
+--- a/src/object.c
++++ b/src/object.c
+@@ -370,7 +370,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size,
+ SNPRINTF_BUFFER_SIZE(ret, remain, offset);
+
+ if (obj->ops) {
+- ret = obj->ops->snprintf(buf + offset, offset, type, flags,
++ ret = obj->ops->snprintf_(buf + offset, offset, type, flags,
+ obj);
+ SNPRINTF_BUFFER_SIZE(ret, remain, offset);
+ }
+diff --git a/src/obj/synproxy.c b/src/obj/synproxy.c
+index 56ebc85..6b5380f 100644
+--- a/src/obj/synproxy.c
++++ b/src/obj/synproxy.c
+@@ -157,5 +157,5 @@ struct obj_ops obj_ops_synproxy = {
+ .get = nftnl_obj_synproxy_get,
+ .parse = nftnl_obj_synproxy_parse,
+ .build = nftnl_obj_synproxy_build,
+- .snprintf = nftnl_obj_synproxy_snprintf,
++ .snprintf_ = nftnl_obj_synproxy_snprintf,
+ };
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch b/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch
deleted file mode 100644
index e7e8f6fe..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch
+++ /dev/null
@@ -1,549 +0,0 @@
-From 5ea9fa9d345005f2f53b1b598edb85f5f24ca9da Mon Sep 17 00:00:00 2001
-From: Alex Kiernan <alex.kiernan@gmail.com>
-Date: Wed, 7 Nov 2018 19:41:54 +0000
-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>
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- include/expr_ops.h | 2 +-
- include/obj.h | 2 +-
- src/expr.c | 4 ++--
- src/expr/bitwise.c | 2 +-
- src/expr/byteorder.c | 2 +-
- src/expr/cmp.c | 2 +-
- src/expr/connlimit.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/flow_offload.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/socket.c | 2 +-
- src/expr/target.c | 2 +-
- src/obj/counter.c | 2 +-
- src/obj/ct_helper.c | 2 +-
- src/obj/limit.c | 2 +-
- src/obj/quota.c | 2 +-
- src/object.c | 4 ++--
- 40 files changed, 42 insertions(+), 42 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 4a728c8..4c20bd1 100644
---- a/include/obj.h
-+++ b/include/obj.h
-@@ -55,7 +55,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/expr.c b/src/expr.c
-index 62565e0..2489c30 100644
---- a/src/expr.c
-+++ b/src/expr.c
-@@ -285,10 +285,10 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
- if (size)
- buf[0] = '\0';
-
-- if (!expr->ops->snprintf)
-+ if (!expr->ops->snprintf_)
- return 0;
-
-- ret = expr->ops->snprintf(buf + offset, remain, type, flags, expr);
-+ ret = expr->ops->snprintf_(buf + offset, remain, type, flags, expr);
- SNPRINTF_BUFFER_SIZE(ret, remain, offset);
-
- return offset;
-diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c
-index a89734b..f8360b1 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 47c04cf..61f733f 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 b26d0eb..522c7be 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/connlimit.c b/src/expr/connlimit.c
-index 60965b5..4e41866 100644
---- a/src/expr/connlimit.c
-+++ b/src/expr/connlimit.c
-@@ -202,6 +202,6 @@ struct expr_ops expr_ops_connlimit = {
- .get = nftnl_expr_connlimit_get,
- .parse = nftnl_expr_connlimit_parse,
- .build = nftnl_expr_connlimit_build,
-- .snprintf = nftnl_expr_connlimit_snprintf,
-+ .snprintf_ = nftnl_expr_connlimit_snprintf,
- .json_parse = nftnl_expr_connlimit_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 39e9be6..b363f7c 100644
---- a/src/expr/ct.c
-+++ b/src/expr/ct.c
-@@ -357,6 +357,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 ed8e620..8d603e3 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 160d0e1..a43f4da 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 75cafbc..89ea7f5 100644
---- a/src/expr/exthdr.c
-+++ b/src/expr/exthdr.c
-@@ -385,6 +385,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 b922b26..ece4645 100644
---- a/src/expr/fib.c
-+++ b/src/expr/fib.c
-@@ -274,6 +274,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/flow_offload.c b/src/expr/flow_offload.c
-index a2001c9..9cdbc21 100644
---- a/src/expr/flow_offload.c
-+++ b/src/expr/flow_offload.c
-@@ -179,6 +179,6 @@ struct expr_ops expr_ops_flow = {
- .get = nftnl_expr_flow_get,
- .parse = nftnl_expr_flow_parse,
- .build = nftnl_expr_flow_build,
-- .snprintf = nftnl_expr_flow_snprintf,
-+ .snprintf_ = nftnl_expr_flow_snprintf,
- .json_parse = nftnl_expr_flow_json_parse,
- };
-diff --git a/src/expr/fwd.c b/src/expr/fwd.c
-index 9021606..7178f43 100644
---- a/src/expr/fwd.c
-+++ b/src/expr/fwd.c
-@@ -233,6 +233,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 415537e..186c5b0 100644
---- a/src/expr/hash.c
-+++ b/src/expr/hash.c
-@@ -383,6 +383,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 b0570bd..91ccbdc 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 86d9651..5769c1c 100644
---- a/src/expr/log.c
-+++ b/src/expr/log.c
-@@ -353,6 +353,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 5fcb81f..b2f0dd6 100644
---- a/src/expr/lookup.c
-+++ b/src/expr/lookup.c
-@@ -292,6 +292,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 de82105..91f1ebb 100644
---- a/src/expr/meta.c
-+++ b/src/expr/meta.c
-@@ -291,6 +291,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 9271303..427c282 100644
---- a/src/expr/nat.c
-+++ b/src/expr/nat.c
-@@ -384,6 +384,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 5336fde..8e0479a 100644
---- a/src/expr/numgen.c
-+++ b/src/expr/numgen.c
-@@ -313,6 +313,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 64ee863..4504488 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 a392a27..ee26c10 100644
---- a/src/expr/queue.c
-+++ b/src/expr/queue.c
-@@ -275,6 +275,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 b2789ff..8910f8a 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 b2aa345..41b77ab 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 c3c92c7..688a042 100644
---- a/src/expr/rt.c
-+++ b/src/expr/rt.c
-@@ -235,6 +235,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/socket.c b/src/expr/socket.c
-index db160a1..4c50011 100644
---- a/src/expr/socket.c
-+++ b/src/expr/socket.c
-@@ -204,5 +204,5 @@ struct expr_ops expr_ops_socket = {
- .get = nftnl_expr_socket_get,
- .parse = nftnl_expr_socket_parse,
- .build = nftnl_expr_socket_build,
-- .snprintf = nftnl_expr_socket_snprintf,
-+ .snprintf_ = nftnl_expr_socket_snprintf,
- };
-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 332bb2b..edeb7be 100644
---- a/src/obj/counter.c
-+++ b/src/obj/counter.c
-@@ -182,6 +182,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 62569fe..69757ff 100644
---- a/src/obj/ct_helper.c
-+++ b/src/obj/ct_helper.c
-@@ -208,6 +208,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/limit.c b/src/obj/limit.c
-index 7f8bcf7..25018b6 100644
---- a/src/obj/limit.c
-+++ b/src/obj/limit.c
-@@ -236,6 +236,6 @@ struct obj_ops obj_ops_limit = {
- .get = nftnl_obj_limit_get,
- .parse = nftnl_obj_limit_parse,
- .build = nftnl_obj_limit_build,
-- .snprintf = nftnl_obj_limit_snprintf,
-+ .snprintf_ = nftnl_obj_limit_snprintf,
- .json_parse = nftnl_obj_limit_json_parse,
- };
-diff --git a/src/obj/quota.c b/src/obj/quota.c
-index 6d36784..ecaa8b1 100644
---- a/src/obj/quota.c
-+++ b/src/obj/quota.c
-@@ -203,6 +203,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 d8278f3..9654b7b 100644
---- a/src/object.c
-+++ b/src/object.c
-@@ -429,7 +429,7 @@ static int nftnl_obj_export(char *buf, size_t size,
- nftnl_buf_u64(&b, type, obj->handle, HANDLE);
-
- 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;
-@@ -450,7 +450,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size,
- SNPRINTF_BUFFER_SIZE(ret, remain, offset);
-
- if (obj->ops) {
-- ret = obj->ops->snprintf(buf + offset, offset, type, flags,
-+ ret = obj->ops->snprintf_(buf + offset, offset, type, flags,
- obj);
- SNPRINTF_BUFFER_SIZE(ret, remain, offset);
- }
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb b/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb
deleted file mode 100644
index 77959a73..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb
+++ /dev/null
@@ -1,15 +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"
-PV .= "+git${SRCPV}"
-SRCREV = "d379dfcb6c94dcb93a8f16896572d6e162138e0f"
-SRC_URI = "git://git.netfilter.org/libnftnl \
- file://0001-Move-exports-before-symbol-definition.patch \
- file://0002-avoid-naming-local-function-as-one-of-printf-family.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.7.bb b/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.7.bb
new file mode 100644
index 00000000..4ff00bf8
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.7.bb
@@ -0,0 +1,14 @@
+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"
+
+SRCREV = "eedafeb6db330b8adff1b7cdd3dac325f9144195"
+SRC_URI = "git://git.netfilter.org/libnftnl \
+ file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb b/external/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb
index 8177ebcc..32454552 100644
--- a/external/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb
+++ b/external/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb
@@ -3,6 +3,8 @@ HOMEPAGE = "http://netfilter.org/projects/nfacct/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+UPSTREAM_CHECK_URI = "ftp://ftp.netfilter.org/pub/nfacct/"
+
SRC_URI = "ftp://ftp.netfilter.org/pub/${BPN}/${BP}.tar.bz2"
SRC_URI[md5sum] = "94faafdaaed85ca9220c5692be8a408e"
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb b/external/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb
deleted file mode 100644
index aadf4f7f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Netfilter Tables userspace utillites"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79"
-
-DEPENDS = "libmnl libnftnl readline gmp bison-native"
-
-SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \
- "
-SRC_URI[md5sum] = "d4dcb61df80aa544b2e142e91d937635"
-SRC_URI[sha256sum] = "ad8181b5fcb9ca572f444bed54018749588522ee97e4c21922648bb78d7e7e91"
-
-inherit autotools manpages pkgconfig
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[man] = "--enable--man-doc, --disable-man-doc"
-
-ASNEEDED = ""
-
-RRECOMMENDS_${PN} += "kernel-module-nf-tables"
diff --git a/external/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.5.bb b/external/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.5.bb
new file mode 100644
index 00000000..0fd187f1
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.5.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Netfilter Tables userspace utillites"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79"
+
+DEPENDS = "libmnl libnftnl bison-native \
+ ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}"
+
+# Ensure we reject the 0.099 version by matching at least two dots
+UPSTREAM_CHECK_REGEX = "nftables-(?P<pver>\d+(\.\d+){2,}).tar.bz2"
+
+SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "f2c1957eabc370057c4576b8f33a71d91a6ad019b8b335abafe61c9c42cc7e16"
+
+inherit autotools manpages pkgconfig
+
+PACKAGECONFIG ??= "python readline"
+PACKAGECONFIG[json] = "--with-json, --without-json, jansson"
+PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native"
+PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp"
+PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --with-python-bin="", python3"
+PACKAGECONFIG[readline] = "--with-cli=readline, --without-cli, readline"
+PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
+
+RRECOMMENDS_${PN} += "kernel-module-nf-tables"
+
+PACKAGES =+ "${PN}-python"
+FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
+RDEPENDS_${PN}-python = "python3-core python3-json"
diff --git a/external/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.5.bb b/external/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.5.bb
new file mode 100644
index 00000000..a3d4b7cc
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.5.bb
@@ -0,0 +1,32 @@
+SUMMARY = "ZNC, an advanced IRC bouncer"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "openssl zlib icu"
+
+SRC_URI = "git://github.com/znc/znc.git;name=znc \
+ git://github.com/jimloco/Csocket.git;destsuffix=git/third_party/Csocket;name=Csocket \
+ "
+SRCREV_znc = "c7f72f8bc800115ac985e7e13eace78031cb1b50"
+SRCREV_Csocket = "e8d9e0bb248c521c2c7fa01e1c6a116d929c41b4"
+
+# This constructs a composite revision based on multiple SRCREV's.
+#
+SRCREV_FORMAT = "znc_Csocket"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig
+
+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
+do_configure_prepend() {
+ automake --add-missing || true
+}
+
+do_install_append() {
+ sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
+}
diff --git a/external/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb b/external/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
deleted file mode 100644
index 8c6979c2..00000000
--- a/external/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "ZNC, an advanced IRC bouncer"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "openssl zlib icu"
-
-PV = "1.7.1"
-
-SRC_URI = "git://github.com/znc/znc.git;name=znc \
- git://github.com/jimloco/Csocket.git;destsuffix=git/third_party/Csocket;name=Csocket \
- "
-SRCREV_znc = "c426898b3a1b899dfe8a8b2a3eeb4b18d8be1bf2"
-SRCREV_Csocket = "e8d9e0bb248c521c2c7fa01e1c6a116d929c41b4"
-
-# This constructs a composite revision based on multiple SRCREV's.
-#
-SRCREV_FORMAT = "znc_Csocket"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig
-
-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
-do_configure_prepend() {
- automake --add-missing || true
-}
-
-do_install_append() {
- sed -i 's/-fdebug-prefix-map[^ ]*//g; s#${STAGING_DIR_TARGET}##g' ${D}${libdir}/pkgconfig/*.pc
-}
diff --git a/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb b/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb
deleted file mode 100644
index 2c69c58f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb b/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb
new file mode 100644
index 00000000..73199592
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb
@@ -0,0 +1,35 @@
+require wireguard.inc
+
+SRCREV = "43f57dac7b8305024f83addc533c9eede6509129"
+
+SRC_URI = "git://git.zx2c4.com/wireguard-linux-compat"
+
+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}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}
+ install -m 0644 ${MODULE_NAME}.ko \
+ ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko
+}
diff --git a/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb b/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb
deleted file mode 100644
index c4ddbcb0..00000000
--- a/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-require wireguard.inc
-
-inherit bash-completion systemd pkgconfig
-
-DEPENDS = "wireguard-module libmnl"
-
-do_compile_prepend () {
- cd ${S}/tools
-}
-
-do_install () {
- cd ${S}/tools
- oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
- SYSTEMDUNITDIR="${systemd_unitdir}" \
- WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
- WITH_BASHCOMPLETION=yes \
- WITH_WGQUICK=yes \
- install
-}
-
-FILES_${PN} = " \
- ${sysconfdir} \
- ${systemd_unitdir} \
- ${bindir} \
-"
-
-RDEPENDS_${PN} = "wireguard-module bash"
diff --git a/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200319.bb b/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200319.bb
new file mode 100644
index 00000000..f698b9a9
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20200319.bb
@@ -0,0 +1,25 @@
+require wireguard.inc
+
+SRCREV = "a8063adc8ae9b4fc9848500e93f94bee8ad2e585"
+SRC_URI = "git://git.zx2c4.com/wireguard-tools"
+
+inherit bash-completion systemd pkgconfig
+
+DEPENDS += "wireguard-module libmnl"
+
+do_install () {
+ oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
+ SYSTEMDUNITDIR="${systemd_unitdir}" \
+ WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
+ WITH_BASHCOMPLETION=yes \
+ WITH_WGQUICK=yes \
+ install
+}
+
+FILES_${PN} = " \
+ ${sysconfdir} \
+ ${systemd_unitdir} \
+ ${bindir} \
+"
+
+RDEPENDS_${PN} = "wireguard-module bash"
diff --git a/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc b/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
index 6bd581a6..a3a7867c 100644
--- a/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
+++ b/external/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
@@ -10,8 +10,4 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz"
-SRC_URI[md5sum] = "39bb99fe11356423fb1ab45ae2d938bb"
-SRC_URI[sha256sum] = "2b97697e9b271ba8836a04120a287b824648124f21d5309170ec51c1f86ac5ed"
-
-S = "${WORKDIR}/WireGuard-${PV}/src/"
+S = "${WORKDIR}/git/src"
diff --git a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
index 394a69e6..cf306ec8 100644
--- a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
+++ b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "netkit-ft includes the ftp client."
SECTION = "net"
HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
LIC_FILES_CHKSUM = "file://ftp/ftp.c;beginline=2;endline=3;md5=2d40a75a50d83b8f6317b3f53db72bfa"
@@ -18,6 +18,8 @@ SRC_URI[patch31.sha256sum] = "4edd46a32d70daa7ba00f0ebf0118dc5d17dff23d6e46aa21a
inherit autotools-brokensep
+CLEANBROKEN = "1"
+
do_configure () {
./configure --prefix=${prefix}
echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
diff --git a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
index 6f203c5a..f6c05daa 100644
--- a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
+++ b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
@@ -37,7 +37,7 @@ CFLAGS += " -D_GNU_SOURCE -Wno-deprecated-declarations"
LDFLAGS += " -L${STAGING_LIBDIR} -lutil -lcrypt"
PACKAGECONFIG ??= ""
-PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG_append = " ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam"
COMPATIBLE_HOST_libc-musl = 'null'
@@ -103,6 +103,3 @@ RPROVIDES_${PN}-server = "rshd"
RDEPENDS_${PN}-server = "xinetd"
RDEPENDS_${PN}-server += "tcp-wrappers"
-
-# http://errors.yoctoproject.org/Errors/Details/186963/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch
index 55926468..3655a571 100644
--- a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch
+++ b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch
@@ -13,21 +13,69 @@ Upstream-Status: Pending
rup/rup.c | 2 +-
4 files changed, 4 insertions(+), 13 deletions(-)
-diff --git a/configure b/configure
-index 85f6ca6..2d2d4b7 100755
--- a/configure
+++ b/configure
-@@ -147,7 +147,7 @@ else
+@@ -92,7 +92,6 @@ else
+ echo -n 'Checking if C compiler works... '
+ if (
+ $CC __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'yes'
+ else
+@@ -146,8 +145,7 @@ else
+
fi
- LDFLAGS=
+-LDFLAGS=
-LIBS=
-+LIBS="-ltirpc"
++LIBS="$LIBS -ltirpc"
rm -f __conftest*
-diff --git a/rpc.rusersd/rusers_proc.c b/rpc.rusersd/rusers_proc.c
-index 9ae6306..f9e237c 100644
+@@ -172,13 +170,11 @@ int main() {
+ EOF
+ if (
+ $CC $CFLAGS __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'yes'
+ else
+ if (
+ $CC $CFLAGS -D__USE_BSD_SIGNAL __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-D__USE_BSD_SIGNAL'
+ CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
+@@ -231,7 +227,6 @@ if (
+ else
+ if (
+ $CC $CFLAGS -D_GNU_SOURCE __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-D_GNU_SOURCE'
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+@@ -262,20 +257,17 @@ int main() {
+ EOF
+ if (
+ $CC $CFLAGS __conftest.c $LIBBSD -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'ok'
+ else
+ if (
+ $CC $CFLAGS __conftest.c -lsnprintf $LIBBSD -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-lsnprintf'
+ LIBS="$LIBS -lsnprintf"
+ else
+ if (
+ $CC $CFLAGS __conftest.c -ldb $LIBBSD -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-ldb'
+ LIBS="$LIBS -ldb"
--- a/rpc.rusersd/rusers_proc.c
+++ b/rpc.rusersd/rusers_proc.c
@@ -57,12 +57,7 @@ char rp_rcsid[] =
@@ -44,8 +92,6 @@ index 9ae6306..f9e237c 100644
void rusers_service(struct svc_req *rqstp, SVCXPRT *transp);
-diff --git a/rpc.rusersd/rusersd.c b/rpc.rusersd/rusersd.c
-index 762be9b..dd355ac 100644
--- a/rpc.rusersd/rusersd.c
+++ b/rpc.rusersd/rusersd.c
@@ -38,11 +38,7 @@ char rusersd_rcsid[] =
@@ -61,11 +107,9 @@ index 762be9b..dd355ac 100644
#include "../version.h"
-diff --git a/rup/rup.c b/rup/rup.c
-index e5669ff..887f89d 100644
--- a/rup/rup.c
+++ b/rup/rup.c
-@@ -48,7 +48,7 @@ char rcsid[] = "$Id: rup.c,v 1.8 2000/07/22 19:51:40 dholland Exp $";
+@@ -48,7 +48,7 @@ char rcsid[] = "$Id: rup.c,v 1.8 2000/07
#undef FSHIFT /* Use protocol's shift and scale values */
#undef FSCALE
@@ -74,6 +118,3 @@ index e5669ff..887f89d 100644
#include "../version.h"
---
-2.17.0
-
diff --git a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
index 9b8af27f..c39faef8 100644
--- a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
+++ b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
@@ -2,9 +2,9 @@ DESCRIPTION = "netkit-rusers includes rusers - Displays who is logged in to mach
rusersd - Logged in users server"
HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://rusers/rusers.c;beginline=2;endline=3;md5=f4fc634a4ce8c569911196b72b10770e"
-DEPENDS = " tcp-wrappers libtirpc rpcbind"
+DEPENDS = " tcp-wrappers libtirpc rpcbind rpcsvc-proto rpcsvc-proto-native"
SRC_URI = "http://http.debian.net/debian/pool/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \
http://http.debian.net/debian/pool/main/n/${BPN}/${BPN}_${PV}-8.diff.gz;name=patch8 \
@@ -17,16 +17,12 @@ SRC_URI[archive.sha256sum] = "f00138651865ad2dcfec5dedda0cda403cb80c4ab68efcc3bb
SRC_URI[patch8.md5sum] = "1ff498113e0f920d92088092e5570bdc"
SRC_URI[patch8.sha256sum] = "14882dbdda4e37baa84d55b54b46c7e063a20fc9e04d1be1a2807643cd0f3067"
-inherit autotools-brokensep
-
CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-LIBS += "-ltirpc"
+
+EXTRA_OEMAKE = "RUSERSX=${STAGING_INCDIR}/rpcsvc/rusers.x"
do_configure () {
- ./configure --prefix=${prefix}
- echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
- echo "USE_GLIBC=1" >> MCONFIG
- echo "LIBS=${LIBS}" >> MCONFIG
+ ./configure --prefix=${prefix} --installroot=${D} --with-c-compiler="${CC}"
}
do_install () {
@@ -62,9 +58,6 @@ EOF
install rusersd.conf ${D}/${sysconfdir}/xinetd.d/rusersd
}
-
-INSANE_SKIP_${PN} = "already-stripped"
-
PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
FILES_${PN}-client = "${bindir}/*"
FILES_${PN}-server = "${sbindir}/* ${sysconfdir}"
@@ -72,7 +65,8 @@ FILES_${PN}-doc = "${mandir}"
FILES_${PN}-dbg = "${prefix}/src/debug \
${bindir}/.debug ${sbindir}/.debug"
-RDEPENDS_${PN}-server = "tcp-wrappers xinetd rpcbind"
+RDEPENDS_${PN}-server += "tcp-wrappers xinetd rpcbind"
# http://errors.yoctoproject.org/Errors/Details/186962/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
+PNBLACKLIST[netkit-rusers] = "Fails to build rup.c:51:10: fatal error: rstat.h: No such file or directory"
diff --git a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
index 717b4d73..349a1351 100644
--- a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
+++ b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
@@ -12,8 +12,6 @@ Upstream-Status: Pending
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[] =
@@ -24,11 +22,9 @@ index 1d4f7b6..f1f043c 100644
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 $";
+@@ -49,6 +49,7 @@ char rcsid[] = "$Id: rwho.c,v 1.7 1999/0
#include <assert.h>
#include <stdio.h>
#include <time.h>
@@ -36,8 +32,6 @@ index 63919ac..71aec9e 100644
#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[] =
@@ -66,6 +60,13 @@ index 54498d0..40cabcf 100644
/*
* Taken from:
*
---
-2.14.1
-
+--- a/include/protocols/rwhod.h
++++ b/include/protocols/rwhod.h
+@@ -37,6 +37,7 @@
+ #ifndef _RWHOD_H_
+ #define _RWHOD_H_
+
++#include <stdint.h>
+ /*
+ * rwho protocol packet format.
+ */
diff --git a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
index 5685f03d..ad543b0f 100644
--- a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
+++ b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
@@ -1,11 +1,11 @@
DESCRIPTION = "netkit-rwho includes, ruptime rwho and rwhod (Daemon to maintain data for rwho/ruptime)"
HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
LIC_FILES_CHKSUM = "file://rwho/rwho.c;beginline=2;endline=3;md5=5a85f13c0142d72fc378e00f15da5b9e"
SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;name=archive \
- ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;name=patch13 \
+ ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;subdir=${BP};name=patch13 \
file://rwhod \
file://rwhod.default \
file://0001-Add-missing-include-path-to-I-options.patch \
@@ -20,13 +20,37 @@ inherit autotools-brokensep useradd update-rc.d update-alternatives
CFLAGS += " -D_GNU_SOURCE"
-debian_do_patch() {
- cd ${S}
- while read line; do patch -p1 < ${WORKDIR}/debian/patches/$line; done < ${WORKDIR}/debian/patches/series
+# Unlike other Debian packages, net-tools *.diff.gz contains another series of
+# patches maintained by quilt. So manually apply them before applying other local
+# patches. Also remove all temp files before leaving, because do_patch() will pop
+# up all previously applied patches in the start
+do_patch[depends] += "quilt-native:do_populate_sysroot"
+netkit_do_patch() {
+ cd ${S}
+ # it's important that we only pop the existing patches when they've
+ # been applied, otherwise quilt will climb the directory tree
+ # and reverse out some completely different set of patches
+ if [ -d ${S}/patches ]; then
+ # whilst this is the default directory, doing it like this
+ # defeats the directory climbing that quilt will otherwise
+ # do; note the directory must exist to defeat this, hence
+ # the test inside which we operate
+ QUILT_PATCHES=${S}/patches quilt pop -a
+ fi
+ if [ -d ${S}/.pc-${BPN} ]; then
+ rm -rf ${S}/.pc
+ mv ${S}/.pc-${BPN} ${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-${BPN}
}
+do_unpack[cleandirs] += "${S}"
+
python do_patch() {
- bb.build.exec_func('debian_do_patch', d)
+ bb.build.exec_func('netkit_do_patch', d)
bb.build.exec_func('patch_do_patch', d)
}
diff --git a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch
new file mode 100644
index 00000000..d21c6027
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch
@@ -0,0 +1,112 @@
+From 6ab007dbb1958371abff2eaaad2b26da89b3c74e Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Fri, 24 Apr 2020 09:43:44 +0800
+Subject: [PATCH] telnetd/utility.c: fix CVE-2020-10188
+
+Upstream-Status: Backport
+[Fedora: https://src.fedoraproject.org/rpms/telnet/raw/master/f/telnet-0.17-overflow-exploit.patch]
+
+CVE: CVE-2020-10188
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ telnetd/utility.c | 32 +++++++++++++++++++++-----------
+ 1 file changed, 21 insertions(+), 11 deletions(-)
+
+diff --git a/telnetd/utility.c b/telnetd/utility.c
+index 75314cb..b9a46a6 100644
+--- a/telnetd/utility.c
++++ b/telnetd/utility.c
+@@ -169,31 +169,38 @@ void ptyflush(void)
+ */
+ static
+ char *
+-nextitem(char *current)
++nextitem(char *current, const char *endp)
+ {
++ if (current >= endp) {
++ return NULL;
++ }
+ if ((*current&0xff) != IAC) {
+ return current+1;
+ }
++ if (current+1 >= endp) {
++ return NULL;
++ }
+ switch (*(current+1)&0xff) {
+ case DO:
+ case DONT:
+ case WILL:
+ case WONT:
+- return current+3;
++ return current+3 <= endp ? current+3 : NULL;
+ case SB: /* loop forever looking for the SE */
+ {
+ register char *look = current+2;
+
+- for (;;) {
++ while (look < endp) {
+ if ((*look++&0xff) == IAC) {
+- if ((*look++&0xff) == SE) {
++ if (look < endp && (*look++&0xff) == SE) {
+ return look;
+ }
+ }
+ }
++ return NULL;
+ }
+ default:
+- return current+2;
++ return current+2 <= endp ? current+2 : NULL;
+ }
+ } /* end of nextitem */
+
+@@ -219,7 +226,7 @@ void netclear(void)
+ register char *thisitem, *next;
+ char *good;
+ #define wewant(p) ((nfrontp > p) && ((*p&0xff) == IAC) && \
+- ((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL))
++ (nfrontp > p+1 && (((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL))))
+
+ #if defined(ENCRYPT)
+ thisitem = nclearto > netobuf ? nclearto : netobuf;
+@@ -227,7 +234,7 @@ void netclear(void)
+ thisitem = netobuf;
+ #endif
+
+- while ((next = nextitem(thisitem)) <= nbackp) {
++ while ((next = nextitem(thisitem, nbackp)) != NULL && next <= nbackp) {
+ thisitem = next;
+ }
+
+@@ -239,20 +246,23 @@ void netclear(void)
+ good = netobuf; /* where the good bytes go */
+ #endif
+
+- while (nfrontp > thisitem) {
++ while (thisitem != NULL && nfrontp > thisitem) {
+ if (wewant(thisitem)) {
+ int length;
+
+ next = thisitem;
+ do {
+- next = nextitem(next);
+- } while (wewant(next) && (nfrontp > next));
++ next = nextitem(next, nfrontp);
++ } while (next != NULL && wewant(next) && (nfrontp > next));
++ if (next == NULL) {
++ next = nfrontp;
++ }
+ length = next-thisitem;
+ bcopy(thisitem, good, length);
+ good += length;
+ thisitem = next;
+ } else {
+- thisitem = nextitem(thisitem);
++ thisitem = nextitem(thisitem, nfrontp);
+ }
+ }
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
index db4b1c98..0e92add6 100644
--- a/external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
+++ b/external/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "netkit-telnet includes the telnet daemon and client."
HOMEPAGE = "http://www.hcs.harvard.edu/~dholland/computers/netkit.html"
SECTION = "net"
DEPENDS = "ncurses"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef"
SRC_URI = "http://ftp.linux.org.uk/pub/linux/Networking/netkit/${BP}.tar.gz \
@@ -12,6 +12,7 @@ SRC_URI = "http://ftp.linux.org.uk/pub/linux/Networking/netkit/${BP}.tar.gz \
file://cross-compile.patch \
file://0001-telnet-telnetd-Fix-print-format-strings.patch \
file://0001-telnet-telnetd-Fix-deadlock-on-cleanup.patch \
+ file://CVE-2020-10188.patch \
"
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netkit-telnet/"
@@ -57,9 +58,13 @@ ALTERNATIVE_${PN} = "telnet"
ALTERNATIVE_LINK_NAME[telnet] = "${bindir}/telnet"
ALTERNATIVE_TARGET[telnet] = "${bindir}/telnet.${PN}"
+ALTERNATIVE_${PN}-doc = "telnetd.8"
+ALTERNATIVE_LINK_NAME[telnetd.8] = "${mandir}/man8/telnetd.8"
+
SRC_URI[md5sum] = "d6beabaaf53fe6e382c42ce3faa05a36"
SRC_URI[sha256sum] = "9c80d5c7838361a328fb6b60016d503def9ce53ad3c589f3b08ff71a2bb88e00"
FILES_${PN} += "${sbindir}/in.* ${libdir}/* ${sysconfdir}/xinetd.d/*"
# http://errors.yoctoproject.org/Errors/Details/186954/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
+RCONFLICTS_${PN} = "inetutils-telnetd"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.8.3.bb b/external/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.8.3.bb
deleted file mode 100644
index 8f028474..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.8.3.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Babel is a loop-avoiding distance-vector routing protocol"
-DESCRIPTION = "\
-Babel is a loop-avoiding distance-vector routing protocol for IPv6 and \
-IPv4 with fast convergence properties. It is based on the ideas in DSDV, AODV \
-and Cisco's EIGRP, but is designed to work well not only in wired networks \
-but also in wireless mesh networks, and has been extended with support \
-for overlay networks. Babel is in the process of becoming an IETF Standard. \
-"
-HOMEPAGE = "https://www.irif.fr/~jch/software/babel/"
-SECTION = "net"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754"
-
-SRC_URI = "git://github.com/jech/babeld.git;protocol=git"
-SRCREV = "535184173fcde5ddc43020cd197d01d1ea0e9a8b"
-
-S = "${WORKDIR}/git"
-
-do_compile () {
- oe_runmake babeld
-}
-
-do_install () {
- oe_runmake install.minimal PREFIX=${D}
-}
-
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.1.bb b/external/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.1.bb
new file mode 100644
index 00000000..6dd15ad9
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.1.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Babel is a loop-avoiding distance-vector routing protocol"
+DESCRIPTION = "\
+Babel is a loop-avoiding distance-vector routing protocol for IPv6 and \
+IPv4 with fast convergence properties. It is based on the ideas in DSDV, AODV \
+and Cisco's EIGRP, but is designed to work well not only in wired networks \
+but also in wireless mesh networks, and has been extended with support \
+for overlay networks. Babel is in the process of becoming an IETF Standard. \
+"
+HOMEPAGE = "https://www.irif.fr/~jch/software/babel/"
+SECTION = "net"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754"
+
+SRC_URI = "git://github.com/jech/babeld.git;protocol=git"
+SRCREV = "0835d5d894ea016ab7b81562466cade2c51a12d4"
+
+UPSTREAM_CHECK_GITTAGREGEX = "babeld-(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+do_compile () {
+ oe_runmake babeld
+}
+
+do_install () {
+ oe_runmake install.minimal PREFIX=${D}
+}
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.1.bb b/external/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
index ffdab22c..cfe71dd6 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
@@ -25,7 +25,7 @@ EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}"
DEPENDS += "flex-native bison-native libpam"
-inherit autotools-brokensep distro_features_check
+inherit autotools-brokensep features_check
REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb b/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb
deleted file mode 100644
index b8818fa6..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb
+++ /dev/null
@@ -1,139 +0,0 @@
-SUMMARY = "An open source implementation of the diameter protocol"
-DESCRIPTION = "\
-freeDiameter is an open source Diameter protocol implementation \
-(RFC3588). It provides an extensible platform for deploying a \
-Diameter network for your Authentication, Authorization and \
-Accounting needs."
-
-HOMEPAGE = "http://www.freediameter.net"
-
-DEPENDS = "flex bison cmake-native libgcrypt gnutls libidn lksctp-tools virtual/kernel bison-native"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-fd_pkgname = "freeDiameter"
-
-SRC_URI = "\
- http://www.freediameter.net/hg/${fd_pkgname}/archive/${PV}.tar.gz;downloadfilename=${fd_pkgname}-${PV}.tar.gz \
- file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \
- file://freediameter.service \
- file://freediameter.init \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://pass-ptest-env.patch', '', d)} \
- file://freeDiameter.conf \
- file://0001-libfdcore-sctp.c-update-the-old-sctp-api-check.patch \
- "
-
-SRC_URI[md5sum] = "61b1062aa144b5f12eed514611e6d697"
-SRC_URI[sha256sum] = "bd7f105542e9903e776aa006c6931c1f5d3d477cb59af33a9162422efa477097"
-
-S = "${WORKDIR}/${fd_pkgname}-${PV}"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=892b2ed6ae815488a08416ff7ee74a35"
-
-PTEST_PATH = "${libdir}/${fd_pkgname}/ptest"
-
-inherit cmake pkgconfig update-rc.d ptest systemd
-
-EXTRA_OECMAKE = " \
- -DDEFAULT_CONF_PATH:PATH=${sysconfdir}/${fd_pkgname} \
- -DBUILD_DBG_MONITOR:BOOL=ON \
- -DBUILD_TEST_APP:BOOL=ON \
- -DBUILD_TESTING:BOOL=ON \
- -DBUILD_APP_RADGW:BOOL=ON \
- -DBUILD_APP_REDIRECT:BOOL=ON \
- -DBUILD_TEST_ACCT:BOOL=ON \
- -DBUILD_TEST_NETEMUL:BOOL=ON \
- -DBUILD_TEST_RT_ANY:BOOL=ON \
- -DINSTALL_LIBRARY_SUFFIX:PATH=${baselib} \
- -DINSTALL_EXTENSIONS_SUFFIX:PATH=${baselib}/${fd_pkgname} \
- -DINSTALL_TEST_SUFFIX:PATH=${PTEST_PATH}-tests \
- -DCMAKE_SKIP_RPATH:BOOL=ON \
-"
-# INSTALL_LIBRARY_SUFFIX is relative to CMAKE_INSTALL_PREFIX
-# specify it on cmd line will fix the SET bug in CMakeList.txt
-
-# -DBUILD_APP_ACCT:BOOL=ON This needs POSTGRESQL support
-
-# -DBUILD_APP_DIAMEAP:BOOL=ON -DBUILD_APP_SIP:BOOL=ON -DBUILD_TEST_SIP:BOOL=ON
-# These need MySQL support
-
-# -DBUILD_DBG_INTERACTIVE:BOOL=ON This needs SWIG support
-
-# -DALL_EXTENSIONS=ON will enable all
-
-FD_KEY ?="${BPN}.key"
-FD_PEM ?= "${BPN}.pem"
-FD_CA ?= "${BPN}.pem"
-FD_DH_PEM ?= "${BPN}-dh.pem"
-FD_HOSTNAME ?= "${MACHINE}"
-FD_REALM ?= "openembedded.org"
-
-do_install_append() {
- # install the sample configuration files
- install -d -m 0755 ${D}${sysconfdir}/${fd_pkgname}
- for i in ${S}/doc/*.conf.sample; do
- install -m 0644 $i ${D}${sysconfdir}/${fd_pkgname}/
- done
- mv ${D}${sysconfdir}/${fd_pkgname}/freediameter.conf.sample \
- ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf.sample
- install -d ${D}${sysconfdir}/freeDiameter
- install ${WORKDIR}/freeDiameter.conf ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf
-
- # install daemon init related files
- install -d -m 0755 ${D}${sysconfdir}/default
- install -d -m 0755 ${D}${sysconfdir}/init.d
- install -m 0644 ${S}/contrib/debian/freediameter-daemon.default \
- ${D}${sysconfdir}/default/${BPN}
- install -m 0755 ${WORKDIR}/freediameter.init ${D}${sysconfdir}/init.d/${BPN}
-
- # install for systemd
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/freediameter.service ${D}${systemd_system_unitdir}
- sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/*.service
-
- cat >> ${D}${sysconfdir}/freeDiameter/freeDiameter.conf <<EOF
-## OE specific ##
-#Identity="${FD_HOSTNAME}";
-Identity = "${FD_HOSTNAME}.${FD_REALM}";
-Realm = "${FD_REALM}";
-Port = 30868;
-SecPort = 30869;
-TLS_Cred = "/etc/freeDiameter/${FD_PEM}" , "/etc/freeDiameter/${FD_KEY}";
-TLS_CA = "/etc/freeDiameter/${FD_CA}";
-TLS_DH_File = "/etc/freeDiameter/${FD_DH_PEM}";
-EOF
-
- # create self cert
- openssl req -x509 -config ${STAGING_DIR_NATIVE}/etc/ssl/openssl.cnf -newkey rsa:4096 -sha256 -nodes -out ${D}${sysconfdir}/freeDiameter/${FD_PEM} -keyout ${D}${sysconfdir}/freeDiameter/${FD_KEY} -days 3650 -subj '/CN=${FD_HOSTNAME}.${FD_REALM}'
- openssl dhparam -out ${D}${sysconfdir}/freeDiameter/${FD_DH_PEM} 1024
-
-}
-
-do_install_ptest() {
- sed -i "s#\(EXTENSIONS_DIR=\).*\$#\1${libdir}/${fd_pkgname}/#" ${D}${PTEST_PATH}/run-ptest
- mv ${D}${PTEST_PATH}-tests/* ${D}${PTEST_PATH}/
- rmdir ${D}${PTEST_PATH}-tests
- install -m 0644 ${B}/tests/CTestTestfile.cmake ${D}${PTEST_PATH}/
-}
-
-FILES_${PN}-dbg += "${libdir}/${fd_pkgname}/.debug/*"
-
-# include the extensions in main package
-FILES_${PN} += "${libdir}/${fd_pkgname}/*"
-
-RDEPENDS_${PN} = "glib-2.0 gnutls libidn"
-RDEPENDS_${PN} += "openssl openssl-conf openssl-engines"
-RRECOMMENDS_${PN} += "kernel-module-tipc kernel-module-sctp"
-RRECOMMENDS_${PN} += "kernel-module-udp-tunnel kernel-module-ipip"
-RDEPENDS_${PN}-ptest = "cmake"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "${BPN}"
-INITSCRIPT_PARAMS$_${PN} = "start 30 . stop 70 0 1 2 3 4 5 6 ."
-
-SYSTEMD_SERVICE_${PN} = "freediameter.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-CONFFILES_${PN} = "${sysconfdir}/freediameter.conf"
-
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb b/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb
new file mode 100644
index 00000000..385b8b37
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb
@@ -0,0 +1,139 @@
+SUMMARY = "An open source implementation of the diameter protocol"
+DESCRIPTION = "\
+freeDiameter is an open source Diameter protocol implementation \
+(RFC3588). It provides an extensible platform for deploying a \
+Diameter network for your Authentication, Authorization and \
+Accounting needs."
+
+HOMEPAGE = "http://www.freediameter.net"
+
+DEPENDS = "flex bison cmake-native libgcrypt gnutls libidn lksctp-tools virtual/kernel bison-native"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+fd_pkgname = "freeDiameter"
+
+SRC_URI = "\
+ http://www.freediameter.net/hg/${fd_pkgname}/archive/${PV}.tar.gz;downloadfilename=${fd_pkgname}-${PV}.tar.gz \
+ file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \
+ file://freediameter.service \
+ file://freediameter.init \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://pass-ptest-env.patch', '', d)} \
+ file://freeDiameter.conf \
+ file://0001-libfdcore-sctp.c-update-the-old-sctp-api-check.patch \
+ "
+
+SRC_URI[md5sum] = "73ce230b4789f9f28fff77cbc83c65af"
+SRC_URI[sha256sum] = "ce05b4bf2a04cd2f472e77ba4b86fbfca690bfc83e51da8ce0e575804b763eda"
+
+S = "${WORKDIR}/${fd_pkgname}-${PV}"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=69bdc1d97648a2d35914563fcbbb361a"
+
+PTEST_PATH = "${libdir}/${fd_pkgname}/ptest"
+
+inherit cmake pkgconfig update-rc.d ptest systemd
+
+EXTRA_OECMAKE = " \
+ -DDEFAULT_CONF_PATH:PATH=${sysconfdir}/${fd_pkgname} \
+ -DBUILD_DBG_MONITOR:BOOL=ON \
+ -DBUILD_TEST_APP:BOOL=ON \
+ -DBUILD_TESTING:BOOL=ON \
+ -DBUILD_APP_RADGW:BOOL=ON \
+ -DBUILD_APP_REDIRECT:BOOL=ON \
+ -DBUILD_TEST_ACCT:BOOL=ON \
+ -DBUILD_TEST_NETEMUL:BOOL=ON \
+ -DBUILD_TEST_RT_ANY:BOOL=ON \
+ -DINSTALL_LIBRARY_SUFFIX:PATH=${baselib} \
+ -DINSTALL_EXTENSIONS_SUFFIX:PATH=${baselib}/${fd_pkgname} \
+ -DINSTALL_TEST_SUFFIX:PATH=${PTEST_PATH}-tests \
+ -DCMAKE_SKIP_RPATH:BOOL=ON \
+"
+# INSTALL_LIBRARY_SUFFIX is relative to CMAKE_INSTALL_PREFIX
+# specify it on cmd line will fix the SET bug in CMakeList.txt
+
+# -DBUILD_APP_ACCT:BOOL=ON This needs POSTGRESQL support
+
+# -DBUILD_APP_DIAMEAP:BOOL=ON -DBUILD_APP_SIP:BOOL=ON -DBUILD_TEST_SIP:BOOL=ON
+# These need MySQL support
+
+# -DBUILD_DBG_INTERACTIVE:BOOL=ON This needs SWIG support
+
+# -DALL_EXTENSIONS=ON will enable all
+
+FD_KEY ?="${BPN}.key"
+FD_PEM ?= "${BPN}.pem"
+FD_CA ?= "${BPN}.pem"
+FD_DH_PEM ?= "${BPN}-dh.pem"
+FD_HOSTNAME ?= "${MACHINE}"
+FD_REALM ?= "openembedded.org"
+
+do_install_append() {
+ # install the sample configuration files
+ install -d -m 0755 ${D}${sysconfdir}/${fd_pkgname}
+ for i in ${S}/doc/*.conf.sample; do
+ install -m 0644 $i ${D}${sysconfdir}/${fd_pkgname}/
+ done
+ mv ${D}${sysconfdir}/${fd_pkgname}/freediameter.conf.sample \
+ ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf.sample
+ install -d ${D}${sysconfdir}/freeDiameter
+ install ${WORKDIR}/freeDiameter.conf ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf
+
+ # install daemon init related files
+ install -d -m 0755 ${D}${sysconfdir}/default
+ install -d -m 0755 ${D}${sysconfdir}/init.d
+ install -m 0644 ${S}/contrib/debian/freediameter-daemon.default \
+ ${D}${sysconfdir}/default/${BPN}
+ install -m 0755 ${WORKDIR}/freediameter.init ${D}${sysconfdir}/init.d/${BPN}
+
+ # install for systemd
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/freediameter.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/*.service
+
+ cat >> ${D}${sysconfdir}/freeDiameter/freeDiameter.conf <<EOF
+## OE specific ##
+#Identity="${FD_HOSTNAME}";
+Identity = "${FD_HOSTNAME}.${FD_REALM}";
+Realm = "${FD_REALM}";
+Port = 30868;
+SecPort = 30869;
+TLS_Cred = "/etc/freeDiameter/${FD_PEM}" , "/etc/freeDiameter/${FD_KEY}";
+TLS_CA = "/etc/freeDiameter/${FD_CA}";
+TLS_DH_File = "/etc/freeDiameter/${FD_DH_PEM}";
+EOF
+
+ # create self cert
+ openssl req -x509 -config ${STAGING_DIR_NATIVE}/etc/ssl/openssl.cnf -newkey rsa:4096 -sha256 -nodes -out ${D}${sysconfdir}/freeDiameter/${FD_PEM} -keyout ${D}${sysconfdir}/freeDiameter/${FD_KEY} -days 3650 -subj '/CN=${FD_HOSTNAME}.${FD_REALM}'
+ openssl dhparam -out ${D}${sysconfdir}/freeDiameter/${FD_DH_PEM} 1024
+
+}
+
+do_install_ptest() {
+ sed -i "s#\(EXTENSIONS_DIR=\).*\$#\1${libdir}/${fd_pkgname}/#" ${D}${PTEST_PATH}/run-ptest
+ mv ${D}${PTEST_PATH}-tests/* ${D}${PTEST_PATH}/
+ rmdir ${D}${PTEST_PATH}-tests
+ install -m 0644 ${B}/tests/CTestTestfile.cmake ${D}${PTEST_PATH}/
+}
+
+FILES_${PN}-dbg += "${libdir}/${fd_pkgname}/.debug/*"
+
+# include the extensions in main package
+FILES_${PN} += "${libdir}/${fd_pkgname}/*"
+
+RDEPENDS_${PN} = "glib-2.0 gnutls libidn"
+RDEPENDS_${PN} += "openssl openssl-conf openssl-engines"
+RRECOMMENDS_${PN} += "kernel-module-tipc kernel-module-sctp"
+RRECOMMENDS_${PN} += "kernel-module-udp-tunnel kernel-module-ipip"
+RDEPENDS_${PN}-ptest = "cmake"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "${BPN}"
+INITSCRIPT_PARAMS$_${PN} = "start 30 . stop 70 0 1 2 3 4 5 6 ."
+
+SYSTEMD_SERVICE_${PN} = "freediameter.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+CONFFILES_${PN} = "${sysconfdir}/freediameter.conf"
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch
new file mode 100644
index 00000000..692c344d
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch
@@ -0,0 +1,60 @@
+From 89ea6ac4a8840e8c2be0140a9805c6522c6c5280 Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Wed, 28 Jun 2017 17:30:00 -0500
+Subject: [PATCH 01/11] Create subroutine for cleaning recent interfaces
+
+Moves functionality for cleaning the list of recent
+interfaces into its own subroutine.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 0e10bd5..ffc9696 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -856,6 +856,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
+ return err;
+ }
+
++// Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute
++mDNSlocal void CleanRecentInterfaces(void)
++{
++ PosixNetworkInterface **ri = &gRecentInterfaces;
++ const mDNSs32 utc = mDNSPlatformUTC();
++ while (*ri)
++ {
++ PosixNetworkInterface *pi = *ri;
++ if (utc - pi->LastSeen < 60) ri = (PosixNetworkInterface **)&pi->coreIntf.next;
++ else { *ri = (PosixNetworkInterface *)pi->coreIntf.next; free(pi); }
++ }
++}
++
+ // Creates a PosixNetworkInterface for the interface whose IP address is
+ // intfAddr and whose name is intfName and registers it with mDNS core.
+ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, const char *intfName, int intfIndex)
+@@ -1010,16 +1023,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
+
+ // Clean up.
+ if (intfList != NULL) free_ifi_info(intfList);
+-
+- // Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute
+- PosixNetworkInterface **ri = &gRecentInterfaces;
+- const mDNSs32 utc = mDNSPlatformUTC();
+- while (*ri)
+- {
+- PosixNetworkInterface *pi = *ri;
+- if (utc - pi->LastSeen < 60) ri = (PosixNetworkInterface **)&pi->coreIntf.next;
+- else { *ri = (PosixNetworkInterface *)pi->coreIntf.next; free(pi); }
+- }
++ CleanRecentInterfaces();
+
+ return err;
+ }
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch
deleted file mode 100644
index 863866d1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From d3082d2c606c810aa0a39378bf1e02575af3a301 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 2 Feb 2018 21:54:11 -0800
-Subject: [PATCH] nss_mdns: Do not include nss.h when libc != glibc
-
-Provide nss_status macro instead for non-glibc case
-where nss.h is absent
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- mDNSPosix/nss_mdns.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/mDNSPosix/nss_mdns.c b/mDNSPosix/nss_mdns.c
-index afadb3c..c469584 100755
---- a/mDNSPosix/nss_mdns.c
-+++ b/mDNSPosix/nss_mdns.c
-@@ -378,8 +378,19 @@ init_config ();
-
- #define ENTNAME hostent
- #define DATABASE "hosts"
--
-+#ifdef __GLIBC__
- #include <nss.h>
-+#else
-+enum nss_status
-+{
-+ NSS_STATUS_TRYAGAIN = -2,
-+ NSS_STATUS_UNAVAIL,
-+ NSS_STATUS_NOTFOUND,
-+ NSS_STATUS_SUCCESS,
-+ NSS_STATUS_RETURN
-+};
-+#define NETDB_INTERNAL NULL
-+#endif
- // For nss_status
- #include <netdb.h>
- // For hostent
---
-2.16.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch
new file mode 100644
index 00000000..21ba3184
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-Create-subroutine-for-tearing-down-an-interface.patch
@@ -0,0 +1,58 @@
+From a2148df99ddcd122247f95c4cbcce5c4118581a1 Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Wed, 28 Jun 2017 17:30:00 -0500
+Subject: [PATCH 02/11] Create subroutine for tearing down an interface
+
+Creates a subroutine for tearing down an interface.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index ffc9696..5e5b2cd 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -591,6 +591,19 @@ mDNSlocal void FreePosixNetworkInterface(PosixNetworkInterface *intf)
+ gRecentInterfaces = intf;
+ }
+
++mDNSlocal void TearDownInterface(mDNS *const m, PosixNetworkInterface *intf)
++{
++ mDNS_DeregisterInterface(m, &intf->coreIntf, NormalActivation);
++ if (gMDNSPlatformPosixVerboseLevel > 0) fprintf(stderr, "Deregistered interface %s\n", intf->intfName);
++ FreePosixNetworkInterface(intf);
++
++ num_registered_interfaces--;
++ if (num_registered_interfaces == 0) {
++ num_pkts_accepted = 0;
++ num_pkts_rejected = 0;
++ }
++}
++
+ // Grab the first interface, deregister it, free it, and repeat until done.
+ mDNSlocal void ClearInterfaceList(mDNS *const m)
+ {
+@@ -599,13 +612,10 @@ mDNSlocal void ClearInterfaceList(mDNS *const m)
+ while (m->HostInterfaces)
+ {
+ PosixNetworkInterface *intf = (PosixNetworkInterface*)(m->HostInterfaces);
+- mDNS_DeregisterInterface(m, &intf->coreIntf, NormalActivation);
+- if (gMDNSPlatformPosixVerboseLevel > 0) fprintf(stderr, "Deregistered interface %s\n", intf->intfName);
+- FreePosixNetworkInterface(intf);
++ TearDownInterface(m, intf);
+ }
+- num_registered_interfaces = 0;
+- num_pkts_accepted = 0;
+- num_pkts_rejected = 0;
++
++ assert(num_registered_interfaces == 0);
+ }
+
+ // Sets up a send/receive socket.
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch
new file mode 100644
index 00000000..8c0e6bf3
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0003-Track-interface-socket-family.patch
@@ -0,0 +1,50 @@
+From 71a7c728ae0d8143b66aa40decca74ebaa9aa2ce Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Wed, 28 Jun 2017 17:30:00 -0500
+Subject: [PATCH 03/11] Track interface socket family
+
+Tracks the socket family associated with the interface.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 1 +
+ mDNSPosix/mDNSPosix.h | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 5e5b2cd..8fe22be 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -918,6 +918,7 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
+ // Set up the extra fields in PosixNetworkInterface.
+ assert(intf->intfName != NULL); // intf->intfName already set up above
+ intf->index = intfIndex;
++ intf->sa_family = intfAddr->sa_family;
+ intf->multicastSocket4 = -1;
+ #if HAVE_IPV6
+ intf->multicastSocket6 = -1;
+diff --git a/mDNSPosix/mDNSPosix.h b/mDNSPosix/mDNSPosix.h
+index ca60d80..f77c185 100644
+--- a/mDNSPosix/mDNSPosix.h
++++ b/mDNSPosix/mDNSPosix.h
+@@ -19,6 +19,7 @@
+ #define __mDNSPlatformPosix_h
+
+ #include <signal.h>
++#include <sys/socket.h>
+ #include <sys/time.h>
+
+ #ifdef __cplusplus
+@@ -40,6 +41,7 @@ struct PosixNetworkInterface
+ const char * intfName;
+ PosixNetworkInterface * aliasIntf;
+ int index;
++ sa_family_t sa_family;
+ int multicastSocket4;
+ #if HAVE_IPV6
+ int multicastSocket6;
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch
new file mode 100644
index 00000000..05ad49b9
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch
@@ -0,0 +1,177 @@
+From e1f483510a1011e37540fdee8f3bc36111fa45a0 Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Thu, 13 Jul 2017 09:00:00 -0500
+Subject: [PATCH 04/11] Use list for changed interfaces
+
+Uses a linked list to store the index of changed network interfaces
+instead of a bitfield. This allows for network interfaces with an
+index greater than 31 (an index of 36 was seen on Android).
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 67 +++++++++++++++++++++++++++++++++----------
+ 1 file changed, 52 insertions(+), 15 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 8fe22be..699855a 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -75,6 +75,14 @@ struct IfChangeRec
+ };
+ typedef struct IfChangeRec IfChangeRec;
+
++// Used to build a list of network interface indices
++struct NetworkInterfaceIndex
++{
++ int if_index;
++ struct NetworkInterfaceIndex *Next;
++};
++typedef struct NetworkInterfaceIndex NetworkInterfaceIndex;
++
+ // Note that static data is initialized to zero in (modern) C.
+ static fd_set gEventFDs;
+ static int gMaxFD; // largest fd in gEventFDs
+@@ -1071,6 +1079,32 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD)
+ return err;
+ }
+
++mDNSlocal mDNSBool ListContainsInterfaceIndex(GenLinkedList *list, int if_index)
++{
++ NetworkInterfaceIndex *item;
++
++ for (item = (NetworkInterfaceIndex*)list->Head; item != NULL; item = item->Next)
++ {
++ if (if_index == item->if_index) return mDNStrue;
++ }
++
++ return mDNSfalse;
++}
++
++mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index)
++{
++ NetworkInterfaceIndex *item;
++
++ if (ListContainsInterfaceIndex(list, if_index)) return;
++
++ item = malloc(sizeof *item);
++ if (item == NULL) return;
++
++ item->if_index = if_index;
++ item->Next = NULL;
++ AddToTail(list, item);
++}
++
+ #if MDNS_DEBUGMSGS
+ mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg)
+ {
+@@ -1098,14 +1132,13 @@ mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg)
+ }
+ #endif
+
+-mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
++mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *changedInterfaces)
+ // Read through the messages on sd and if any indicate that any interface records should
+ // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0.
+ {
+ ssize_t readCount;
+ char buff[4096];
+ struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff;
+- mDNSu32 result = 0;
+
+ // The structure here is more complex than it really ought to be because,
+ // unfortunately, there's no good way to size a buffer in advance large
+@@ -1141,9 +1174,9 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
+
+ // Process the NetLink message
+ if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK)
+- result |= 1 << ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index;
++ AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index);
+ else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR)
+- result |= 1 << ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index;
++ AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index);
+
+ // Advance pNLMsg to the next message in the buffer
+ if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE)
+@@ -1154,8 +1187,6 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
+ else
+ break; // all done!
+ }
+-
+- return result;
+ }
+
+ #else // USES_NETLINK
+@@ -1187,14 +1218,13 @@ mDNSlocal void PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg)
+ }
+ #endif
+
+-mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
++mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *changedInterfaces)
+ // Read through the messages on sd and if any indicate that any interface records should
+ // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0.
+ {
+ ssize_t readCount;
+ char buff[4096];
+ struct ifa_msghdr *pRSMsg = (struct ifa_msghdr*) buff;
+- mDNSu32 result = 0;
+
+ readCount = read(sd, buff, sizeof buff);
+ if (readCount < (ssize_t) sizeof(struct ifa_msghdr))
+@@ -1209,12 +1239,10 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
+ pRSMsg->ifam_type == RTM_IFINFO)
+ {
+ if (pRSMsg->ifam_type == RTM_IFINFO)
+- result |= 1 << ((struct if_msghdr*) pRSMsg)->ifm_index;
++ AddInterfaceIndexToList(changedInterfaces, ((struct if_msghdr*) pRSMsg)->ifm_index);
+ else
+- result |= 1 << pRSMsg->ifam_index;
++ AddInterfaceIndexToList(changedInterfaces, pRSMsg->ifam_index);
+ }
+-
+- return result;
+ }
+
+ #endif // USES_NETLINK
+@@ -1224,7 +1252,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
+ {
+ IfChangeRec *pChgRec = (IfChangeRec*) context;
+ fd_set readFDs;
+- mDNSu32 changedInterfaces = 0;
++ GenLinkedList changedInterfaces;
++ NetworkInterfaceIndex *changedInterface;
+ struct timeval zeroTimeout = { 0, 0 };
+
+ (void)fd; // Unused
+@@ -1233,17 +1262,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
+ FD_ZERO(&readFDs);
+ FD_SET(pChgRec->NotifySD, &readFDs);
+
++ InitLinkedList(&changedInterfaces, offsetof(NetworkInterfaceIndex, Next));
++
+ do
+ {
+- changedInterfaces |= ProcessRoutingNotification(pChgRec->NotifySD);
++ ProcessRoutingNotification(pChgRec->NotifySD, &changedInterfaces);
+ }
+ while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout));
+
+ // Currently we rebuild the entire interface list whenever any interface change is
+ // detected. If this ever proves to be a performance issue in a multi-homed
+ // configuration, more care should be paid to changedInterfaces.
+- if (changedInterfaces)
++ if (changedInterfaces.Head != NULL)
+ mDNSPlatformPosixRefreshInterfaceList(pChgRec->mDNS);
++
++ while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL)
++ {
++ RemoveFromList(&changedInterfaces, changedInterface);
++ free(changedInterface);
++ }
+ }
+
+ // Register with either a Routing Socket or RtNetLink to listen for interface changes.
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch
new file mode 100644
index 00000000..f2b171e5
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch
@@ -0,0 +1,212 @@
+From 92025cab86619f548bf3eb816a1804ef40507ca7 Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Mon, 24 Jul 2017 09:38:55 -0500
+Subject: [PATCH 05/11] Handle noisy netlink sockets
+
+The POSIX implementation currently clears all network interfaces
+when netlink indicates that there has been a change. This causes
+the following problems:
+
+ 1) Applications are informed that all of the services they are
+ tracking have been removed.
+ 2) Increases network load because the client must re-query for
+ all records it is interested in.
+
+This changes netlink notification handling by:
+
+ 1) Always comparing with the latest interface list returned
+ by the OS.
+ 2) Confirming that the interface has been changed in a way
+ that we care about.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 143 +++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 133 insertions(+), 10 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 699855a..59a8b8c 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -1247,14 +1247,38 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+
+ #endif // USES_NETLINK
+
++// Test whether the given PosixNetworkInterface matches the given struct ifi_info
++mDNSlocal mDNSBool InterfacesMatch(PosixNetworkInterface *intf, struct ifi_info *ifi)
++{
++ mDNSBool match = mDNSfalse;
++ mDNSAddr ip, mask;
++
++ if((intf->index == ifi->ifi_index) &&
++ (intf->sa_family == ifi->ifi_addr->sa_family) &&
++ (strcmp(intf->coreIntf.ifname, ifi->ifi_name) == 0))
++ {
++ SockAddrTomDNSAddr(ifi->ifi_addr, &ip, NULL);
++ SockAddrTomDNSAddr(ifi->ifi_netmask, &mask, NULL);
++
++ match = mDNSSameAddress(&intf->coreIntf.ip, &ip) &&
++ mDNSSameAddress(&intf->coreIntf.mask, &mask);
++ }
++
++ return match;
++}
++
+ // Called when data appears on interface change notification socket
+ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
+ {
+ IfChangeRec *pChgRec = (IfChangeRec*) context;
++ mDNS *m = pChgRec->mDNS;
+ fd_set readFDs;
+ GenLinkedList changedInterfaces;
+ NetworkInterfaceIndex *changedInterface;
+ struct timeval zeroTimeout = { 0, 0 };
++ struct ifi_info *ifi_list, **ifi, *ifi_free, *ifi_loop4 = NULL;
++ PosixNetworkInterface *intf, *intfNext;
++ mDNSBool found, foundav4;
+
+ (void)fd; // Unused
+ (void)filter; // Unused
+@@ -1270,12 +1294,115 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
+ }
+ while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout));
+
+- // Currently we rebuild the entire interface list whenever any interface change is
+- // detected. If this ever proves to be a performance issue in a multi-homed
+- // configuration, more care should be paid to changedInterfaces.
+- if (changedInterfaces.Head != NULL)
+- mDNSPlatformPosixRefreshInterfaceList(pChgRec->mDNS);
++ CleanRecentInterfaces();
++
++ if (changedInterfaces.Head == NULL) goto cleanup;
++
++ ifi_list = get_ifi_info(AF_INET, mDNStrue);
++ if (ifi_list == NULL) goto cleanup;
++
++#if HAVE_IPV6
++ /* Link the IPv6 list to the end of the IPv4 list */
++ ifi = &ifi_list;
++ while (*ifi != NULL) ifi = &(*ifi)->ifi_next;
++ *ifi = get_ifi_info(AF_INET6, mDNStrue);
++#endif
++
++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext)
++ {
++ intfNext = (PosixNetworkInterface*)(intf->coreIntf.next);
++
++ // Loopback interface(s) are handled later
++ if (intf->coreIntf.Loopback) continue;
++
++ found = mDNSfalse;
++ for (ifi = &ifi_list; *ifi != NULL; ifi = &(*ifi)->ifi_next)
++ {
++ if (InterfacesMatch(intf, *ifi))
++ {
++ found = mDNStrue;
++
++ // Removes unchanged from ifi_list
++ ifi_free = *ifi;
++ *ifi = (*ifi)->ifi_next;
++ ifi_free->ifi_next = NULL;
++ free_ifi_info(ifi_free);
++
++ break;
++ }
++ }
++
++ // Removes changed and old interfaces from m->HostInterfaces
++ if (!found) TearDownInterface(m, intf);
++ }
++
++ // Add new and changed interfaces in ifi_list
++ // Save off loopback interface in case it is needed later
++ for (ifi = &ifi_list; *ifi != NULL; ifi = &(*ifi)->ifi_next)
++ {
++ if ((ifi_loop4 == NULL) &&
++ ((*ifi)->ifi_addr->sa_family == AF_INET) &&
++ ((*ifi)->ifi_flags & IFF_UP) &&
++ ((*ifi)->ifi_flags & IFF_LOOPBACK))
++ {
++ ifi_loop4 = *ifi;
++ continue;
++ }
++
++ if ( (((*ifi)->ifi_addr->sa_family == AF_INET)
++#if HAVE_IPV6
++ || ((*ifi)->ifi_addr->sa_family == AF_INET6)
++#endif
++ ) && ((*ifi)->ifi_flags & IFF_UP)
++ && !((*ifi)->ifi_flags & IFF_POINTOPOINT)
++ && !((*ifi)->ifi_flags & IFF_LOOPBACK))
++ {
++ SetupOneInterface(m, *ifi);
++ }
++ }
++
++ // Determine if there is at least one non-loopback IPv4 interface. This is to work around issues
++ // with multicast loopback on IPv6 interfaces -- see corresponding logic in SetupInterfaceList().
++ foundav4 = mDNSfalse;
++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = (PosixNetworkInterface*)(intf->coreIntf.next))
++ {
++ if (intf->sa_family == AF_INET && !intf->coreIntf.Loopback)
++ {
++ foundav4 = mDNStrue;
++ break;
++ }
++ }
++
++ if (foundav4)
++ {
++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext)
++ {
++ intfNext = (PosixNetworkInterface*)(intf->coreIntf.next);
++ if (intf->coreIntf.Loopback) TearDownInterface(m, intf);
++ }
++ }
++ else
++ {
++ found = mDNSfalse;
++
++ for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = (PosixNetworkInterface*)(intf->coreIntf.next))
++ {
++ if (intf->coreIntf.Loopback)
++ {
++ found = mDNStrue;
++ break;
++ }
++ }
++
++ if (!found && (ifi_loop4 != NULL))
++ {
++ SetupOneInterface(m, ifi_loop4);
++ }
++ }
++
++ if (ifi_list != NULL) free_ifi_info(ifi_list);
+
++cleanup:
+ while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL)
+ {
+ RemoveFromList(&changedInterfaces, changedInterface);
+@@ -1400,15 +1527,11 @@ mDNSexport void mDNSPlatformClose(mDNS *const m)
+ #endif
+ }
+
+-// This is used internally by InterfaceChangeCallback.
+-// It's also exported so that the Standalone Responder (mDNSResponderPosix)
++// This is exported so that the Standalone Responder (mDNSResponderPosix)
+ // can call it in response to a SIGHUP (mainly for debugging purposes).
+ mDNSexport mStatus mDNSPlatformPosixRefreshInterfaceList(mDNS *const m)
+ {
+ int err;
+- // This is a pretty heavyweight way to process interface changes --
+- // destroying the entire interface list and then making fresh one from scratch.
+- // We should make it like the OS X version, which leaves unchanged interfaces alone.
+ ClearInterfaceList(m);
+ err = SetupInterfaceList(m);
+ return PosixErrorToStatus(err);
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch
new file mode 100644
index 00000000..b461a60d
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0006-Remove-unneeded-function.patch
@@ -0,0 +1,51 @@
+From 157d67f152777754c059ced7511352102f23ffae Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Mon, 24 Jul 2017 09:39:18 -0500
+Subject: [PATCH 06/11] Remove unneeded function
+
+Removes a function we no longer need by integrating it into the only
+function that calls it. This was originally separated so that we could
+only process network interfaces that netlink indicated had been changed,
+this has since been extended to test for all network intefaces.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 13 ++-----------
+ 1 file changed, 2 insertions(+), 11 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 59a8b8c..3fc5451 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -1079,24 +1079,15 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD)
+ return err;
+ }
+
+-mDNSlocal mDNSBool ListContainsInterfaceIndex(GenLinkedList *list, int if_index)
++mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index)
+ {
+ NetworkInterfaceIndex *item;
+
+ for (item = (NetworkInterfaceIndex*)list->Head; item != NULL; item = item->Next)
+ {
+- if (if_index == item->if_index) return mDNStrue;
++ if (if_index == item->if_index) return;
+ }
+
+- return mDNSfalse;
+-}
+-
+-mDNSlocal void AddInterfaceIndexToList(GenLinkedList *list, int if_index)
+-{
+- NetworkInterfaceIndex *item;
+-
+- if (ListContainsInterfaceIndex(list, if_index)) return;
+-
+ item = malloc(sizeof *item);
+ if (item == NULL) return;
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch
new file mode 100644
index 00000000..86201c65
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch
@@ -0,0 +1,129 @@
+From 07a9401d84804d7f0181aa4fb0f13a54b2a1c9a8 Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Tue, 1 Aug 2017 17:06:01 -0500
+Subject: [PATCH 07/11] Indicate loopback interface to mDNS core
+
+Tells the mDNS core if an interface is a loopback interface,
+similar to AddInterfaceToList() in the MacOS implementation.
+Also reorganizes SetupOneInterface() to use a const struct
+rather than growing its parameter list again.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 37 ++++++++++++++++++-------------------
+ 1 file changed, 18 insertions(+), 19 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 3fc5451..798ab10 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -889,16 +889,14 @@ mDNSlocal void CleanRecentInterfaces(void)
+
+ // Creates a PosixNetworkInterface for the interface whose IP address is
+ // intfAddr and whose name is intfName and registers it with mDNS core.
+-mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, const char *intfName, int intfIndex)
++mDNSlocal int SetupOneInterface(mDNS *const m, struct ifi_info *const ifi)
+ {
+ int err = 0;
+ PosixNetworkInterface *intf;
+ PosixNetworkInterface *alias = NULL;
+
+ assert(m != NULL);
+- assert(intfAddr != NULL);
+- assert(intfName != NULL);
+- assert(intfMask != NULL);
++ assert(ifi != NULL);
+
+ // Allocate the interface structure itself.
+ intf = (PosixNetworkInterface*)calloc(1, sizeof(*intf));
+@@ -907,26 +905,27 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
+ // And make a copy of the intfName.
+ if (err == 0)
+ {
+- intf->intfName = strdup(intfName);
++ intf->intfName = strdup(ifi->ifi_name);
+ if (intf->intfName == NULL) { assert(0); err = ENOMEM; }
+ }
+
+ if (err == 0)
+ {
+ // Set up the fields required by the mDNS core.
+- SockAddrTomDNSAddr(intfAddr, &intf->coreIntf.ip, NULL);
+- SockAddrTomDNSAddr(intfMask, &intf->coreIntf.mask, NULL);
++ SockAddrTomDNSAddr(ifi->ifi_addr, &intf->coreIntf.ip, NULL);
++ SockAddrTomDNSAddr(ifi->ifi_netmask, &intf->coreIntf.mask, NULL);
+
+ //LogMsg("SetupOneInterface: %#a %#a", &intf->coreIntf.ip, &intf->coreIntf.mask);
+- strncpy(intf->coreIntf.ifname, intfName, sizeof(intf->coreIntf.ifname));
++ strncpy(intf->coreIntf.ifname, ifi->ifi_name, sizeof(intf->coreIntf.ifname));
+ intf->coreIntf.ifname[sizeof(intf->coreIntf.ifname)-1] = 0;
+ intf->coreIntf.Advertise = m->AdvertiseLocalAddresses;
+ intf->coreIntf.McastTxRx = mDNStrue;
++ intf->coreIntf.Loopback = ((ifi->ifi_flags & IFF_LOOPBACK) != 0) ? mDNStrue : mDNSfalse;
+
+ // Set up the extra fields in PosixNetworkInterface.
+ assert(intf->intfName != NULL); // intf->intfName already set up above
+- intf->index = intfIndex;
+- intf->sa_family = intfAddr->sa_family;
++ intf->index = ifi->ifi_index;
++ intf->sa_family = ifi->ifi_addr->sa_family;
+ intf->multicastSocket4 = -1;
+ #if HAVE_IPV6
+ intf->multicastSocket6 = -1;
+@@ -936,17 +935,17 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
+ intf->coreIntf.InterfaceID = (mDNSInterfaceID)alias;
+
+ if (alias != intf)
+- debugf("SetupOneInterface: %s %#a is an alias of %#a", intfName, &intf->coreIntf.ip, &alias->coreIntf.ip);
++ debugf("SetupOneInterface: %s %#a is an alias of %#a", ifi->ifi_name, &intf->coreIntf.ip, &alias->coreIntf.ip);
+ }
+
+ // Set up the multicast socket
+ if (err == 0)
+ {
+- if (alias->multicastSocket4 == -1 && intfAddr->sa_family == AF_INET)
+- err = SetupSocket(intfAddr, MulticastDNSPort, intf->index, &alias->multicastSocket4);
++ if (alias->multicastSocket4 == -1 && ifi->ifi_addr->sa_family == AF_INET)
++ err = SetupSocket(ifi->ifi_addr, MulticastDNSPort, intf->index, &alias->multicastSocket4);
+ #if HAVE_IPV6
+- else if (alias->multicastSocket6 == -1 && intfAddr->sa_family == AF_INET6)
+- err = SetupSocket(intfAddr, MulticastDNSPort, intf->index, &alias->multicastSocket6);
++ else if (alias->multicastSocket6 == -1 && ifi->ifi_addr->sa_family == AF_INET6)
++ err = SetupSocket(ifi->ifi_addr, MulticastDNSPort, intf->index, &alias->multicastSocket6);
+ #endif
+ }
+
+@@ -973,8 +972,8 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
+ }
+ else
+ {
+- // Use intfName instead of intf->intfName in the next line to avoid dereferencing NULL.
+- debugf("SetupOneInterface: %s %#a failed to register %d", intfName, &intf->coreIntf.ip, err);
++ // Use ifi->ifi_name instead of intf->intfName in the next line to avoid dereferencing NULL.
++ debugf("SetupOneInterface: %s %#a failed to register %d", ifi->ifi_name, &intf->coreIntf.ip, err);
+ if (intf) { FreePosixNetworkInterface(intf); intf = NULL; }
+ }
+
+@@ -1023,7 +1022,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
+ }
+ else
+ {
+- if (SetupOneInterface(m, i->ifi_addr, i->ifi_netmask, i->ifi_name, i->ifi_index) == 0)
++ if (SetupOneInterface(m, i) == 0)
+ if (i->ifi_addr->sa_family == AF_INET)
+ foundav4 = mDNStrue;
+ }
+@@ -1037,7 +1036,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
+ // In the interim, we skip loopback interface only if we found at least one v4 interface to use
+ // if ((m->HostInterfaces == NULL) && (firstLoopback != NULL))
+ if (!foundav4 && firstLoopback)
+- (void) SetupOneInterface(m, firstLoopback->ifi_addr, firstLoopback->ifi_netmask, firstLoopback->ifi_name, firstLoopback->ifi_index);
++ (void) SetupOneInterface(m, firstLoopback);
+ }
+
+ // Clean up.
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch
new file mode 100644
index 00000000..fdc5105c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0008-Mark-deleted-interfaces-as-being-changed.patch
@@ -0,0 +1,39 @@
+From 0fcc0f210f3a9310a1963de640b384ce866410fd Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Wed, 9 Aug 2017 09:16:58 -0500
+Subject: [PATCH 08/11] Mark deleted interfaces as being changed
+
+Netlink notification handling ignores messages for deleted links,
+RTM_DELLINK. It does handle RTM_GETLINK. According to libnl docu-
+mentation (http://www.infradead.org/~tgr/libnl/doc/route.html)
+RTM_DELLINK can be sent by the kernel, but RTM_GETLINK cannot.
+There was likely a mixup in the original implementation, so this
+change replaces handling for RTM_GETLINK with RTM_DELLINK.
+
+Testing and Verification Instructions:
+ 1. Use ip-link to add and remove a VLAN interface and verify
+ that mDNSResponder handles the deleted link.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 798ab10..a8a57df 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -1163,7 +1163,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+ #endif
+
+ // Process the NetLink message
+- if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK)
++ if (pNLMsg->nlmsg_type == RTM_DELLINK || pNLMsg->nlmsg_type == RTM_NEWLINK)
+ AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index);
+ else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR)
+ AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index);
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch
new file mode 100644
index 00000000..362d6976
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0009-Fix-possible-NULL-dereference.patch
@@ -0,0 +1,45 @@
+From 38cff19781f81586926b02f0fd1cb36c040395e0 Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Thu, 10 Aug 2017 08:21:53 -0500
+Subject: [PATCH 09/11] Fix possible NULL dereference
+
+Fixes a possible NULL dereference if memory for
+the PosixNetworkInterface could not be allocated.
+Other logic seems to prevent dereferencing this
+variable if NULL, but this instance seems to have
+been overlooked.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index a8a57df..3243ed4 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -951,12 +951,15 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct ifi_info *const ifi)
+
+ // If interface is a direct link, address record will be marked as kDNSRecordTypeKnownUnique
+ // and skip the probe phase of the probe/announce packet sequence.
+- intf->coreIntf.DirectLink = mDNSfalse;
++ if (err == 0)
++ {
++ intf->coreIntf.DirectLink = mDNSfalse;
+ #ifdef DIRECTLINK_INTERFACE_NAME
+- if (strcmp(intfName, STRINGIFY(DIRECTLINK_INTERFACE_NAME)) == 0)
+- intf->coreIntf.DirectLink = mDNStrue;
++ if (strcmp(intfName, STRINGIFY(DIRECTLINK_INTERFACE_NAME)) == 0)
++ intf->coreIntf.DirectLink = mDNStrue;
+ #endif
+- intf->coreIntf.SupportsUnicastMDNSResponse = mDNStrue;
++ intf->coreIntf.SupportsUnicastMDNSResponse = mDNStrue;
++ }
+
+ // The interface is all ready to go, let's register it with the mDNS core.
+ if (err == 0)
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch
new file mode 100644
index 00000000..b9b01572
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0010-Handle-errors-from-socket-calls.patch
@@ -0,0 +1,62 @@
+From 382b3b924e43abd1bdc5792918161d0922666691 Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Thu, 10 Aug 2017 08:27:32 -0500
+Subject: [PATCH 10/11] Handle errors from socket calls
+
+Adds handling for socket() or read() returning a
+negative value (indicating an error has occurred).
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 3243ed4..84af26b 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -1129,7 +1129,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+ // Read through the messages on sd and if any indicate that any interface records should
+ // be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0.
+ {
+- ssize_t readCount;
++ ssize_t readVal, readCount;
+ char buff[4096];
+ struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff;
+
+@@ -1138,7 +1138,10 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+ // enough to hold all pending data and so avoid message fragmentation.
+ // (Note that FIONREAD is not supported on AF_NETLINK.)
+
+- readCount = read(sd, buff, sizeof buff);
++ readVal = read(sd, buff, sizeof buff);
++ if (readVal < 0) return;
++ readCount = readVal;
++
+ while (1)
+ {
+ // Make sure we've got an entire nlmsghdr in the buffer, and payload, too.
+@@ -1154,7 +1157,9 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+ pNLMsg = (struct nlmsghdr*) buff;
+
+ // read more data
+- readCount += read(sd, buff + readCount, sizeof buff - readCount);
++ readVal = read(sd, buff + readCount, sizeof buff - readCount);
++ if (readVal < 0) return;
++ readCount += readVal;
+ continue; // spin around and revalidate with new readCount
+ }
+ else
+@@ -1429,6 +1434,7 @@ mDNSlocal mDNSBool mDNSPlatformInit_CanReceiveUnicast(void)
+ int err;
+ int s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ struct sockaddr_in s5353;
++ if (s < 0) return mDNSfalse;
+ s5353.sin_family = AF_INET;
+ s5353.sin_port = MulticastDNSPort.NotAnInteger;
+ s5353.sin_addr.s_addr = 0;
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch
new file mode 100644
index 00000000..d64fb35d
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch
@@ -0,0 +1,51 @@
+From 19de26db69408f02241e232b39224589a0f630df Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Thu, 10 Aug 2017 08:46:03 -0500
+Subject: [PATCH 11/11] Change a dynamic allocation to file-scope variable
+
+Changes a variable from being dynamically-allocated to being
+statically-allocated at the file scope. Addresses a Coverity
+issue where it appeared that the memory was being leaked.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 84af26b..b7795ed 100644
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -91,6 +91,7 @@ static sigset_t gEventSignalSet; // Signals which event loop list
+ static sigset_t gEventSignals; // Signals which were received while inside loop
+
+ static PosixNetworkInterface *gRecentInterfaces;
++static IfChangeRec gChgRec;
+
+ // ***************************************************************************
+ // Globals (for debugging)
+@@ -1412,16 +1413,11 @@ cleanup:
+ mDNSlocal mStatus WatchForInterfaceChange(mDNS *const m)
+ {
+ mStatus err;
+- IfChangeRec *pChgRec;
+
+- pChgRec = (IfChangeRec*) mDNSPlatformMemAllocate(sizeof *pChgRec);
+- if (pChgRec == NULL)
+- return mStatus_NoMemoryErr;
+-
+- pChgRec->mDNS = m;
+- err = OpenIfNotifySocket(&pChgRec->NotifySD);
++ gChgRec.mDNS = m;
++ err = OpenIfNotifySocket(&gChgRec.NotifySD);
+ if (err == 0)
+- err = mDNSPosixAddFDToEventLoop(pChgRec->NotifySD, InterfaceChangeCallback, pChgRec);
++ err = mDNSPosixAddFDToEventLoop(gChgRec.NotifySD, InterfaceChangeCallback, &gChgRec);
+
+ return err;
+ }
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
deleted file mode 100644
index 9a7152fc..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
+++ /dev/null
@@ -1,90 +0,0 @@
-SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
-DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
-HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
-
-RPROVIDES_${PN} += "libdns_sd.so"
-
-SRC_URI = "http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
- file://build.patch;patchdir=.. \
- file://mdns.service \
- file://0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch;patchdir=.. \
- "
-
-SRC_URI[md5sum] = "4a6bc1628851002634ea3833a4dca317"
-SRC_URI[sha256sum] = "de61dd0034357aa50c60806726fb1f70fa8e953ff9cb62eccfb73efad10dba0a"
-
-PARALLEL_MAKE = ""
-
-S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix"
-
-EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install () {
- install -d ${D}${sbindir}
- install -m 0755 build/prod/mdnsd ${D}${sbindir}
-
- install -d ${D}${libdir}
- cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1
- chmod 0644 ${D}${libdir}/libdns_sd.so.1
- ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so
-
- install -d ${D}${includedir}
- install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir}
-
- install -d ${D}${mandir}/man8
- install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8
-
- install -d ${D}${bindir}
- install -m 0755 ../Clients/build/dns-sd ${D}${bindir}
-
- install -d ${D}${libdir}
- oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir}
- ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2
-
- install -d ${D}${sysconfdir}
- install -m 0644 nss_mdns.conf ${D}${sysconfdir}
-
- install -d ${D}${mandir}/man5
- install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5
-
- install -d ${D}${mandir}/man8
- install -m 0644 libnss_mdns.8 ${D}${mandir}/man8
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/
-}
-
-pkg_postinst_${PN} () {
- sed -e '/^hosts:/s/\s*\<mdns\>//' \
- -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns\3\4\5/' \
- -i $D/etc/nsswitch.conf
-}
-
-pkg_prerm_${PN} () {
- sed -e '/^hosts:/s/\s*\<mdns\>//' \
- -e '/^hosts:/s/\s*mdns//' \
- -i $D/etc/nsswitch.conf
-}
-
-inherit systemd
-
-SYSTEMD_SERVICE_${PN} = "mdns.service"
-
-FILES_${PN} += "${systemd_unitdir}/system/mdns.service"
-FILES_${PN} += "${libdir}/libdns_sd.so.1 \
- ${bindir}/dns-sd \
- ${libdir}/libnss_mdns-0.2.so \
- ${sysconfdir}/nss_mdns.conf"
-
-FILES_${PN}-dev += "${libdir}/libdns_sd.so \
- ${includedir}/dns_sd.h "
-
-FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \
- ${mandir}/man5/nss_mdns.conf.5 \
- ${mandir}/man8/libnss_mdns.8"
-
-PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb
new file mode 100644
index 00000000..0f8dc92d
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb
@@ -0,0 +1,101 @@
+SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
+DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
+HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
+
+COMPATIBLE_HOST_libc-musl = 'null'
+
+RPROVIDES_${PN} += "libdns_sd.so"
+
+SRC_URI = "https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
+ file://build.patch;patchdir=.. \
+ file://mdns.service \
+ file://0001-Create-subroutine-for-cleaning-recent-interfaces.patch;patchdir=.. \
+ file://0002-Create-subroutine-for-tearing-down-an-interface.patch;patchdir=.. \
+ file://0003-Track-interface-socket-family.patch;patchdir=.. \
+ file://0004-Use-list-for-changed-interfaces.patch;patchdir=.. \
+ file://0005-Handle-noisy-netlink-sockets.patch;patchdir=.. \
+ file://0006-Remove-unneeded-function.patch;patchdir=.. \
+ file://0007-Indicate-loopback-interface-to-mDNS-core.patch;patchdir=.. \
+ file://0008-Mark-deleted-interfaces-as-being-changed.patch;patchdir=.. \
+ file://0009-Fix-possible-NULL-dereference.patch;patchdir=.. \
+ file://0010-Handle-errors-from-socket-calls.patch;patchdir=.. \
+ file://0011-Change-a-dynamic-allocation-to-file-scope-variable.patch;patchdir=.. \
+ "
+SRC_URI[md5sum] = "4e139a8e1133349006b0436291c9e29b"
+SRC_URI[sha256sum] = "2cef0ee9900504c5277fb81de0a28e6c0835fe482ebecf1067c6864f5c4eda74"
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix"
+
+EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 0755 build/prod/mdnsd ${D}${sbindir}
+
+ install -d ${D}${libdir}
+ cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1
+ chmod 0644 ${D}${libdir}/libdns_sd.so.1
+ ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so
+
+ install -d ${D}${includedir}
+ install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir}
+
+ install -d ${D}${mandir}/man8
+ install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8
+
+ install -d ${D}${bindir}
+ install -m 0755 ../Clients/build/dns-sd ${D}${bindir}
+
+ install -d ${D}${libdir}
+ oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir}
+ ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 nss_mdns.conf ${D}${sysconfdir}
+
+ install -d ${D}${mandir}/man5
+ install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5
+
+ install -d ${D}${mandir}/man8
+ install -m 0644 libnss_mdns.8 ${D}${mandir}/man8
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/
+}
+
+pkg_postinst_${PN} () {
+ sed -e '/^hosts:/s/\s*\<mdns\>//' \
+ -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns\3\4\5/' \
+ -i $D/etc/nsswitch.conf
+}
+
+pkg_prerm_${PN} () {
+ sed -e '/^hosts:/s/\s*\<mdns\>//' \
+ -e '/^hosts:/s/\s*mdns//' \
+ -i $D/etc/nsswitch.conf
+}
+
+inherit systemd
+
+SYSTEMD_SERVICE_${PN} = "mdns.service"
+
+FILES_${PN} += "${systemd_unitdir}/system/mdns.service"
+FILES_${PN} += "${libdir}/libdns_sd.so.1 \
+ ${bindir}/dns-sd \
+ ${libdir}/libnss_mdns-0.2.so \
+ ${sysconfdir}/nss_mdns.conf"
+
+FILES_${PN}-dev += "${libdir}/libdns_sd.so \
+ ${includedir}/dns_sd.h "
+
+FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \
+ ${mandir}/man5/nss_mdns.conf.5 \
+ ${mandir}/man8/libnss_mdns.8"
+
+PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch
new file mode 100644
index 00000000..dd159b9c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch
@@ -0,0 +1,168 @@
+From 4bf83597379523032663c8e95b3786a217c9a849 Mon Sep 17 00:00:00 2001
+From: Hugh McMaster <hugh.mcmaster@outlook.com>
+Date: Wed, 3 Apr 2019 21:36:03 +1100
+Subject: [PATCH] Add pkg-config support for building applications and
+ sub-agents
+
+The netsnmp package should be used when building Net-SNMP applications.
+The netsnmp-agent package should be used when building Net-SNMP subagents.
+
+Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
+[ bvanassche: edited makefile code and .pc files; added ./configure changes ]
+
+Upstream-Status: Backport
+https://sourceforge.net/p/net-snmp/patches/_discuss/thread/a0d66e91dd/f940/attachment/0001-Add-pkg-config-support-for-building-applications-and.patch
+---
+ Makefile.in | 2 ++
+ Makefile.rules | 30 ++++++++++++++++++++++++++----
+ configure | 4 ++++
+ configure.ac | 1 +
+ netsnmp-agent.pc.in | 12 ++++++++++++
+ netsnmp.pc.in | 12 ++++++++++++
+ 6 files changed, 57 insertions(+), 4 deletions(-)
+ create mode 100644 netsnmp-agent.pc.in
+ create mode 100644 netsnmp.pc.in
+
+diff --git a/Makefile.in b/Makefile.in
+index 9dbdde1353..ec972636c2 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -35,6 +35,7 @@ INSTALLBUILTHEADERS=include/net-snmp/net-snmp-config.h
+ INSTALLBUILTINCLUDEHEADERS=@FEATUREHEADERS@
+ INSTALLBINSCRIPTS=net-snmp-config net-snmp-create-v3-user
+ INSTALLUCDHEADERS=ucd-snmp-config.h version.h mib_module_config.h
++INSTALL_PKGCONFIG=netsnmp.pc netsnmp-agent.pc
+
+ #
+ # other install rules.
+@@ -275,6 +276,7 @@ configclean: makefileclean
+ libtool include/net-snmp/net-snmp-config.h \
+ net-snmp-config net-snmp-config-x configure-summary \
+ net-snmp-create-v3-user net-snmp-create-v3-user-x
++ rm -f *.pc
+ rm -f mibs/.index
+ rm -f include/net-snmp/agent/mib_module_config.h \
+ include/net-snmp/agent/agent_module_config.h \
+diff --git a/Makefile.rules b/Makefile.rules
+index 9e9e9009e5..e714f91e72 100644
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -85,12 +85,14 @@ subdirs:
+ # installlibs handles local, ucd and subdir libs. need to do subdir libs
+ # before bins, sinze those libs may be needed for successful linking
+ install: installlocalheaders @installucdheaders@ \
+- installlibs \
+- installlocalbin installlocalsbin \
++ installlibs install_pkgconfig \
++ installlocalbin installlocalsbin \
+ installsubdirs $(OTHERINSTALL)
+
+-uninstall: uninstalllibs uninstallbin uninstallsbin uninstallheaders \
+- uninstallsubdirs $(OTHERUNINSTALL)
++uninstall: uninstalllibs uninstall_pkgconfig \
++ uninstallbin uninstallsbin \
++ uninstallheaders \
++ uninstallsubdirs $(OTHERUNINSTALL)
+
+ installprogs: installbin installsbin
+
+@@ -287,6 +289,26 @@ uninstalllibs:
+ done \
+ fi
+
++#
++# pkg-config files
++#
++install_pkgconfig: $(INSTALL_PKGCONFIG)
++ @if test "x$(INSTALL_PKGCONFIG)" != x; then \
++ $(SHELL) $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$(libdir)/pkgconfig; \
++ for i in $(INSTALL_PKGCONFIG); do \
++ echo "installing $$i in $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \
++ done; \
++ $(INSTALL) $(INSTALL_PKGCONFIG) $(INSTALL_PREFIX)$(libdir)/pkgconfig; \
++ fi
++
++uninstall_pkgconfig:
++ @if test "x$(INSTALL_PKGCONFIG)" != x; then \
++ for i in $(INSTALL_PKGCONFIG); do \
++ echo "removing $$i from $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \
++ $(UNINSTALL) $(INSTALL_PREFIX)$(libdir)/pkgconfig/$$i;\
++ done; \
++ fi
++
+ #
+ # normal bin binaries
+ #
+diff --git a/configure b/configure
+index cad6b74486..8909bffe05 100755
+--- a/configure
++++ b/configure
+@@ -31717,6 +31717,8 @@ ac_config_files="$ac_config_files net-snmp-config:net-snmp-config.in"
+
+ ac_config_files="$ac_config_files net-snmp-create-v3-user:net-snmp-create-v3-user.in"
+
++ac_config_files="$ac_config_files netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in"
++
+ ac_config_files="$ac_config_files dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in"
+
+ ac_config_files="$ac_config_files local/snmpconf"
+@@ -32740,6 +32742,8 @@ do
+ "mibs/Makefile") CONFIG_FILES="$CONFIG_FILES mibs/Makefile:Makefile.top:mibs/Makefile.in:Makefile.rules" ;;
+ "net-snmp-config") CONFIG_FILES="$CONFIG_FILES net-snmp-config:net-snmp-config.in" ;;
+ "net-snmp-create-v3-user") CONFIG_FILES="$CONFIG_FILES net-snmp-create-v3-user:net-snmp-create-v3-user.in" ;;
++ "netsnmp.pc") CONFIG_FILES="$CONFIG_FILES netsnmp.pc:netsnmp.pc.in" ;;
++ "netsnmp-agent.pc") CONFIG_FILES="$CONFIG_FILES netsnmp-agent.pc:netsnmp-agent.pc.in" ;;
+ "dist/generation-scripts/gen-variables") CONFIG_FILES="$CONFIG_FILES dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in" ;;
+ "local/snmpconf") CONFIG_FILES="$CONFIG_FILES local/snmpconf" ;;
+ "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+diff --git a/configure.ac b/configure.ac
+index 1622b7c051..898b50f368 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -118,6 +118,7 @@ AC_CONFIG_FILES([net-snmp-config:net-snmp-config.in],
+ [chmod +x net-snmp-config])
+ AC_CONFIG_FILES([net-snmp-create-v3-user:net-snmp-create-v3-user.in],
+ [chmod +x net-snmp-create-v3-user])
++AC_CONFIG_FILES([netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in])
+ AC_CONFIG_FILES([dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in])
+ AC_CONFIG_FILES([local/snmpconf])
+
+diff --git a/netsnmp-agent.pc.in b/netsnmp-agent.pc.in
+new file mode 100644
+index 0000000000..3a1c77bbf8
+--- /dev/null
++++ b/netsnmp-agent.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++includedir=@includedir@
++libdir=@libdir@
++
++Name: netsnmp-agent (@PACKAGE_NAME@)
++Description: SNMP (Simple Network Management Protocol) sub-agent SDK.
++URL: http://www.net-snmp.org
++Version: @PACKAGE_VERSION@
++Cflags: -I${includedir}
++Libs: -L${libdir} -lnetsnmpmibs -lnetsnmpagent -lnetsnmp
++Libs.private: @LDFLAGS@ @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ @LNETSNMPLIBS@ @LIBS@
+diff --git a/netsnmp.pc.in b/netsnmp.pc.in
+new file mode 100644
+index 0000000000..0a1f5785a4
+--- /dev/null
++++ b/netsnmp.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++includedir=@includedir@
++libdir=@libdir@
++
++Name: netsnmp (@PACKAGE_NAME@)
++Description: SNMP (Simple Network Management Protocol) daemon and applications.
++URL: http://www.net-snmp.org
++Version: @PACKAGE_VERSION@
++Cflags: -I${includedir}
++Libs: -L${libdir} -lnetsnmp
++Libs.private: @LDFLAGS@ @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@
+--
+2.26.2
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
index bfc55a08..5ad7470c 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
@@ -1,4 +1,4 @@
-From 7ae2ce8dbf1c54d4e2db4a5f49397a239baadc49 Mon Sep 17 00:00:00 2001
+From 2ad4df6d503be72a8910c3087611adb33d77ffde Mon Sep 17 00:00:00 2001
From: Li xin <lixin.fnst@cn.fujitsu.com>
Date: Fri, 21 Aug 2015 18:23:13 +0900
Subject: [PATCH] config_os_headers: Error Fix
@@ -13,16 +13,15 @@ conftest.c:168:17: fatal error: pkg.h: No such file or directory
Upstream-Status: pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
-
---
configure.d/config_os_headers | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
-index af99746..83b2e31 100644
+index 2fdb5a35d6..0272f02c8e 100644
--- a/configure.d/config_os_headers
+++ b/configure.d/config_os_headers
-@@ -489,8 +489,8 @@ then
+@@ -487,8 +487,8 @@ then
unset ac_cv_header_pkg_h
netsnmp_save_CPPFLAGS="$CPPFLAGS"
netsnmp_save_LDFLAGS="$LDFLAGS"
@@ -33,3 +32,6 @@ index af99746..83b2e31 100644
AC_CHECK_HEADERS(pkg.h,
NETSNMP_SEARCH_LIBS(pkg_init, pkg,
AC_DEFINE(HAVE_LIBPKG, 1, [define if you have BSD pkg-ng])))
+--
+2.26.2
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch
new file mode 100644
index 00000000..33a1e745
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch
@@ -0,0 +1,62 @@
+From 383e67e359b89abe0440597ce414297892ade511 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 26 Feb 2019 14:26:07 +0800
+Subject: [PATCH] net-snmp: fix compile error with --disable-des
+
+| scapi.c: In function 'sc_encrypt':
+| scapi.c:1256:5: error: 'pad_size' undeclared (first use in this function); did you mean 'dysize'?
+| pad_size = pai->pad_size;
+| ^~~~~~~~
+| dysize
+
+pad_size is defined only without --disable-des
+[snip]
+#ifndef NETSNMP_DISABLE_DES
+ int pad, plast, pad_size = 0;
+
+but used when disable-des,
+[snip]
+ QUITFUN(SNMPERR_GENERR, sc_encrypt_quit);
+ }
+ pad_size = pai->pad_size;
+
+ memset(my_iv, 0, sizeof(my_iv));
+
+#ifndef NETSNMP_DISABLE_DES
+ if (USM_CREATE_USER_PRIV_DES == (pai->type & USM_PRIV_MASK_ALG)) {
+
+ /*
+
+fix by move it into #ifndef NETSNMP_DISABLE_DES
+
+Upstream-Status: Submitted [https://sourceforge.net/p/net-snmp/bugs/2927/]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ snmplib/scapi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/snmplib/scapi.c b/snmplib/scapi.c
+index 8ad1d70d90..8c6882d9ab 100644
+--- a/snmplib/scapi.c
++++ b/snmplib/scapi.c
+@@ -1251,7 +1251,6 @@ sc_encrypt(const oid * privtype, size_t privtypelen,
+
+ QUITFUN(SNMPERR_GENERR, sc_encrypt_quit);
+ }
+- pad_size = pai->pad_size;
+
+ memset(my_iv, 0, sizeof(my_iv));
+
+@@ -1261,6 +1260,8 @@ sc_encrypt(const oid * privtype, size_t privtypelen,
+ /*
+ * now calculate the padding needed
+ */
++
++ pad_size = pai->pad_size;
+ pad = pad_size - (ptlen % pad_size);
+ plast = (int) ptlen - (pad_size - pad);
+ if (pad == pad_size)
+--
+2.26.2
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch
deleted file mode 100644
index 2d540967..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From f592398b1c659f84168f5c84f63af3b71454b8f5 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 28 Sep 2018 22:59:23 +0800
-Subject: [PATCH] remove configure options from versioninfo
-
-Configure options contains host build paths which breaks
-binary reproducibility.
-
-It is no harm to remove it from version info.
-
-Upstream-Status: Inappropriate [cross compile specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- agent/mibgroup/ucd-snmp/versioninfo.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/agent/mibgroup/ucd-snmp/versioninfo.c b/agent/mibgroup/ucd-snmp/versioninfo.c
-index a5151c1..1160382 100644
---- a/agent/mibgroup/ucd-snmp/versioninfo.c
-+++ b/agent/mibgroup/ucd-snmp/versioninfo.c
-@@ -92,7 +92,7 @@ var_extensible_version(struct variable *vp,
- static char errmsg[300];
- char *cptr;
- time_t curtime;
--#ifdef NETSNMP_CONFIGURE_OPTIONS
-+#if 0
- static char config_opts[] = NETSNMP_CONFIGURE_OPTIONS;
- #endif
-
-@@ -126,7 +126,7 @@ var_extensible_version(struct variable *vp,
- *var_len = strlen(errmsg);
- return ((u_char *) errmsg);
- case VERCONFIG:
--#ifdef NETSNMP_CONFIGURE_OPTIONS
-+#if 0
- *var_len = strlen(config_opts);
- if (*var_len > 1024)
- *var_len = 1024; /* mib imposed restriction */
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
index 74b0c12e..fb773e63 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
@@ -1,4 +1,7 @@
-net-snmp: add knob whether nlist.h are checked
+From a1134a31d417cc05a1fdb094f613a00a7a5e7ac5 Mon Sep 17 00:00:00 2001
+From: Chong Lu <Chong.Lu@windriver.com>
+Date: Thu, 28 May 2020 09:46:34 -0500
+Subject: [PATCH] net-snmp: add knob whether nlist.h are checked
Previously, it still was checked when there was no nlish.h in sysroots directory.
Add knob to decide whether nlist.h are checked or not.
@@ -7,14 +10,14 @@ Upstream-status: Pending
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
---
- configure.d/config_os_headers | 2 ++
+ configure.d/config_os_headers | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
-index d903f58..a05d30e 100644
+index 2fdb5a35d6..af997461d5 100644
--- a/configure.d/config_os_headers
+++ b/configure.d/config_os_headers
-@@ -31,6 +31,7 @@ AC_CHECK_HEADERS([getopt.h pthread.h regex.h ] dnl
+@@ -32,6 +32,7 @@ AC_CHECK_HEADERS([getopt.h pthread.h regex.h ] dnl
[sys/un.h ])
# Library and Agent:
@@ -22,7 +25,7 @@ index d903f58..a05d30e 100644
AC_CHECK_HEADERS([nlist.h],,,[
AC_INCLUDES_DEFAULT
[
-@@ -38,6 +39,7 @@ AC_INCLUDES_DEFAULT
+@@ -39,6 +40,7 @@ AC_INCLUDES_DEFAULT
#define LIBBSD_DISABLE_DEPRECATED 1
#endif
]])
@@ -31,5 +34,5 @@ index d903f58..a05d30e 100644
# Library:
AC_CHECK_HEADERS([fcntl.h io.h kstat.h ] dnl
--
-1.7.9.5
+2.26.2
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch
new file mode 100644
index 00000000..b0dbf5ad
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch
@@ -0,0 +1,15 @@
+Reproducible build: To avoid build host paths being written into binaries,
+accept NETSNMP_CONFIGURE_OPTIONS from the environment.
+NETSNMP_CONFIGURE_OPTIONS can be set either null or to a fixed value.
+
+--- net-snmp-5.8.original/configure.ac 2018-11-20 17:41:39.926529072 +1300
++++ net-snmp-5.8/configure.ac 2018-11-20 17:54:44.488180224 +1300
+@@ -28,7 +28,7 @@
+ #
+ # save the configure arguments
+ #
+-AC_DEFINE_UNQUOTED(NETSNMP_CONFIGURE_OPTIONS,"$ac_configure_args",
++AC_DEFINE_UNQUOTED(NETSNMP_CONFIGURE_OPTIONS,"${NETSNMP_CONFIGURE_OPTIONS-$ac_configure_args}",
+ [configure options specified])
+ CONFIGURE_OPTIONS="\"$ac_configure_args\""
+ AC_SUBST(CONFIGURE_OPTIONS)
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
new file mode 100644
index 00000000..4316c7a7
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
@@ -0,0 +1,19 @@
+Reproducible build: Don't check for /etc/printcap on the build machine when
+cross-compiling. Use AC_CHECK_FILE to set the cached variable
+ac_cv_file__etc_printcap instead. When cross-compiling, this variable should be
+set in the environment to "yes" or "no" as appropriate for the target platform.
+
+--- net-snmp-5.8.original/configure.d/config_os_misc4 2018-11-20 17:05:03.986274522 +1300
++++ net-snmp-5.8/configure.d/config_os_misc4 2018-11-20 17:08:32.250700448 +1300
+@@ -116,9 +116,9 @@
+ [Path to the lpstat command])
+ AC_DEFINE(HAVE_LPSTAT, 1, [Set if the lpstat command is available])
+ fi
+-if test -r /etc/printcap; then
++AC_CHECK_FILE([/etc/printcap],
+ AC_DEFINE(HAVE_PRINTCAP, 1, [Set if /etc/printcap exists])
+-fi
++)
+
+
+ # Check ps args
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
index 757c1dbf..5466649a 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
@@ -1,13 +1,13 @@
SUMMARY = "Various tools relating to the Simple Network Management Protocol"
HOMEPAGE = "http://www.net-snmp.org/"
SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD & MIT"
-LIC_FILES_CHKSUM = "file://README;beginline=3;endline=8;md5=7f7f00ba639ac8e8deb5a622ea24634e"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9d100a395a38584f2ec18a8275261687"
DEPENDS = "openssl libnl pciutils"
-SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
+SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
file://init \
file://snmpd.conf \
file://snmptrapd.conf \
@@ -24,15 +24,18 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
file://0004-configure-fix-incorrect-variable.patch \
file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \
file://net-snmp-fix-for-disable-des.patch \
- file://0001-remove-configure-options-from-versioninfo.patch \
+ file://reproducibility-have-printcap.patch \
+ file://reproducibility-accept-configure-options-from-env.patch \
+ file://0001-net-snmp-fix-compile-error-disable-des.patch \
+ file://0001-Add-pkg-config-support-for-building-applications-and.patch \
"
-SRC_URI[md5sum] = "6aae5948df7efde626613d6a4b3cd9d4"
-SRC_URI[sha256sum] = "c6291385b8ed84f05890fe4197005daf7e7ee7b082c2e390fa114a9477a56042"
+SRC_URI[md5sum] = "63bfc65fbb86cdb616598df1aff6458a"
+SRC_URI[sha256sum] = "b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4976adf"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/"
UPSTREAM_CHECK_REGEX = "/net-snmp/(?P<pver>\d+(\.\d+)+)/"
-inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative ptest
+inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative ptest multilib_script multilib_header
EXTRA_OEMAKE = "INSTALL_PREFIX=${D} OTHERLDFLAGS='${LDFLAGS}' HOST_CPPFLAGS='${BUILD_CPPFLAGS}'"
@@ -41,15 +44,15 @@ CCACHE = ""
TARGET_CC_ARCH += "${LDFLAGS}"
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} des"
PACKAGECONFIG[elfutils] = "--with-elf, --without-elf, elfutils"
PACKAGECONFIG[libnl] = "--with-nl, --without-nl, libnl"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable-embedded-perl --with-perl-modules=no,\
- perl, perl perl-lib"
+ perl,"
+PACKAGECONFIG[des] = "--enable-des,--disable-des"
EXTRA_OECONF = "--enable-shared \
--disable-manuals \
@@ -68,12 +71,17 @@ CACHED_CONFIGUREVARS = " \
ac_cv_header_valgrind_memcheck_h=no \
ac_cv_ETC_MNTTAB=/etc/mtab \
lt_cv_shlibpath_overrides_runpath=yes \
+ ac_cv_path_UNAMEPROG=${base_bindir}/uname \
+ ac_cv_file__etc_printcap=no \
+ NETSNMP_CONFIGURE_OPTIONS= \
"
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)}"
+PTEST_BUILD_HOST_FILES += "net-snmp-config gen-variables"
+
do_configure_prepend() {
sed -i -e "s|I/usr/include|I${STAGING_INCDIR}|g" \
"${S}"/configure \
@@ -81,8 +89,8 @@ do_configure_prepend() {
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}/
+ 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" \
@@ -114,11 +122,16 @@ do_install_append() {
install -m 0644 ${WORKDIR}/snmptrapd.service ${D}${systemd_unitdir}/system
sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \
-i ${D}${bindir}/net-snmp-create-v3-user
- sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \
- -e "s@\([^ ]*-fdebug-prefix-map=[^ ]*\)\1*@@g" \
- -e "s@\([^ ]*--sysroot=[^ ]*\)\1*@@g" \
- -e "s@\([^ ]*--with-libtool-sysroot=[^ ]*\)\1*@@g" \
- -e "s@\([^ ]*--with-install-prefix=[^ ]*\)\1*@@g" \
+ sed -e 's@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g' \
+ -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
+ -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
+ -e 's@[^ ]*--sysroot=[^ "]*@@g' \
+ -e 's@[^ ]*--with-libtool-sysroot=[^ "]*@@g' \
+ -e 's@[^ ]*--with-install-prefix=[^ "]*@@g' \
+ -e 's@[^ ]*PKG_CONFIG_PATH=[^ "]*@@g' \
+ -e 's@[^ ]*PKG_CONFIG_LIBDIR=[^ "]*@@g' \
+ -e 's@-L${STAGING_DIR_HOST}${libdir}@@g' \
+ -e 's@-I${STAGING_DIR_HOST}${includedir}@@g' \
-i ${D}${bindir}/net-snmp-config
if [ "${HAS_PERL}" = "1" ]; then
@@ -126,6 +139,8 @@ do_install_append() {
-e "s@^NSC_LIBDIR=-L.*@NSC_LIBDIR=-L\$\{libdir\}@g" \
-i ${D}${bindir}/net-snmp-config
fi
+
+ oe_multilib_header net-snmp/net-snmp-config.h
}
do_install_ptest() {
@@ -169,12 +184,6 @@ net_snmp_sysroot_preprocess () {
fi
}
-PACKAGE_PREPROCESS_FUNCS += "net_snmp_package_preprocess"
-net_snmp_package_preprocess () {
- sed -e 's@${RECIPE_SYSROOT}@@g' \
- -i ${PKGD}${bindir}/net-snmp-config
-}
-
PACKAGES += "${PN}-libs ${PN}-mibs ${PN}-server ${PN}-client \
${PN}-server-snmpd ${PN}-server-snmptrapd \
${PN}-lib-netsnmp ${PN}-lib-agent ${PN}-lib-helpers \
@@ -187,7 +196,8 @@ ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${PN}-server = "1"
ALLOW_EMPTY_${PN}-libs = "1"
-FILES_${PN}-perl-modules = "${libdir}/perl/*"
+FILES_${PN}-perl-modules = "${libdir}/perl?/*"
+RDEPENDS_${PN}-perl-modules = "perl"
FILES_${PN}-libs = ""
FILES_${PN}-mibs = "${datadir}/snmp/mibs"
@@ -211,7 +221,11 @@ FILES_${PN}-lib-trapd = "${libdir}/libnetsnmptrapd${SOLIBS}"
FILES_${PN} = ""
FILES_${PN}-client = "${bindir}/* ${datadir}/snmp/"
FILES_${PN}-dbg += "${libdir}/.debug/ ${sbindir}/.debug/ ${bindir}/.debug/"
-FILES_${PN}-dev += "${bindir}/mib2c ${bindir}/mib2c-update"
+FILES_${PN}-dev += "${bindir}/mib2c \
+ ${bindir}/mib2c-update \
+ ${bindir}/net-snmp-config \
+ ${bindir}/net-snmp-create-v3-user \
+"
CONFFILES_${PN}-server-snmpd = "${sysconfdir}/snmp/snmpd.conf"
CONFFILES_${PN}-server-snmptrapd = "${sysconfdir}/snmp/snmptrapd.conf"
@@ -259,3 +273,5 @@ RREPLACES_${PN}-server-snmptrapd += "${PN}-server-snmptrapd-systemd"
RCONFLICTS_${PN}-server-snmptrapd += "${PN}-server-snmptrapd-systemd"
LEAD_SONAME = "libnetsnmp.so"
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/net-snmp-config"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service b/external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service
index 7b3faf67..d02d0ff7 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service
@@ -5,7 +5,7 @@ Requires=rpcbind.service
[Service]
Type=forking
-PIDFile=@STATEDIR@/run/openl2tpd.pid
+PIDFile=/run/openl2tpd.pid
EnvironmentFile=@SYSCONFDIR@/default/openl2tpd
ExecStartPre=@BASE_BINDIR@/sh -c "@BASE_SBINDIR@/modprobe -sq l2tp_ppp || @BASE_SBINDIR@/modprobe -sq pppol2tp"
ExecStart=@SBINDIR@/openl2tpd $OPENL2TPDARGS
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb b/external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
index 90e8b111..9c0c28e1 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e9d9259cbbf00945adc25a470c1d3585 \
DEPENDS = "popt flex readline rpcsvc-proto-native bison-native"
-SRC_URI = "ftp://ftp.openl2tp.org/releases/${BP}/${BP}.tar.gz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \
file://Makefile-modify-CFLAGS-to-aviod-build-error.patch \
file://openl2tp-simplify-gcc-warning-hack.patch \
file://Makefile-obey-LDFLAGS.patch \
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch b/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
new file mode 100644
index 00000000..40b082e7
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
@@ -0,0 +1,26 @@
+From a64e52f9b58519aa2b8a1073fa6c04da04933428 Mon Sep 17 00:00:00 2001
+From: Jonathan Richardson <jonathan.richardson@broadcom.com>
+Date: Wed, 26 Feb 2020 12:16:38 -0800
+Subject: [PATCH] Fix musl libc build issue
+
+clif.h should include sys/types.h for the definition of pid_t. It fails
+to compile when using musl libc.
+
+Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
+
+---
+ include/clif.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/clif.h b/include/clif.h
+index 648eedf..92f4fd8 100644
+--- a/include/clif.h
++++ b/include/clif.h
+@@ -32,6 +32,7 @@
+ #ifndef CLIF_H
+ #define CLIF_H
+
++#include <sys/types.h>
+ #include <sys/un.h>
+ #include "clif_sock.h"
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch b/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch
new file mode 100644
index 00000000..b58fc104
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch
@@ -0,0 +1,29 @@
+From eb14aa66dc0384071af401cced8c02993b55502e Mon Sep 17 00:00:00 2001
+From: Jonathan Richardson <jonathan.richardson@broadcom.com>
+Date: Wed, 26 Feb 2020 15:54:51 -0800
+Subject: [PATCH] autotools: Add include path to generated version.h
+
+When the build dir isn't the same as source dir it fails to compile
+because the generated version.h from AC_CONFIG_FILES is always in build
+dir. Include the path to it in AM_CPPFLAGS.
+
+Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
+
+---
+ Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 0fb9bb0..2952019 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -14,6 +14,9 @@ endif
+ AM_CPPFLAGS = -I${srcdir}/include -DSYSCONFDIR="\"${sysconfdir}\"" \
+ -D_FORTIFY_SOURCE=2
+
++# Required for the generated version.h when build dir is not the same as srcdir.
++AM_CPPFLAGS += -I${top_builddir}/include
++
+ ACLOCAL_AMFLAGS = -I m4
+
+ parse_cli.o: CFLAGS+=-U_FORTIFY_SOURCE -Wno-error
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch b/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
new file mode 100644
index 00000000..a26a5299
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
@@ -0,0 +1,57 @@
+From dc3f2250908587710f109c80ddf8a94f0bc40b82 Mon Sep 17 00:00:00 2001
+From: Jonathan Richardson <jonathan.richardson@broadcom.com>
+Date: Fri, 6 Apr 2018 10:49:04 -0700
+Subject: [PATCH] autotools: Add option to disable installation of systemd conf
+ files
+
+Add option to configure.ac to enable or disable install of systemd conf
+files. If --with-systemdsystemunitdir is passed to configure then the
+files will be installed to the provided directory. If the option isn't
+provided then the value is determined from the systemd pkgconfig file,
+if found in PKG_CONFIG_PATH.
+
+This change is required because Makefile.am always installed the files
+to a hard coded path that couldn't be changed.
+
+
+Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
+---
+ Makefile.am | 3 ++-
+ configure.ac | 9 +++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 292c0fd..0fb9bb0 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -138,8 +138,9 @@ install-data-hook: installdirs-local
+ pkgconfigdir = ${libdir}/pkgconfig
+ pkgconfig_DATA = lldpad.pc liblldp_clif.pc
+
+-systemdsystemunitdir = $(prefix)/lib/systemd/system
++if HAVE_SYSTEMD
+ dist_systemdsystemunit_DATA = lldpad.service lldpad.socket
++endif
+
+ bashcompletiondir = $(sysconfdir)/bash_completion.d
+ dist_bashcompletion_DATA = contrib/bash_completion/lldpad contrib/bash_completion/lldptool
+diff --git a/configure.ac b/configure.ac
+index 0667446..f75f433 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -95,6 +95,15 @@ AC_TYPE_UINT16_T
+ AC_TYPE_UINT32_T
+ AC_TYPE_UINT8_T
+
++# Support for systemd unit files.
++AC_ARG_WITH([systemdsystemunitdir],
++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
++if test "x$with_systemdsystemunitdir" != xno; then
++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
++fi
++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
++
+ AC_CONFIG_FILES([Makefile include/version.h lldpad.spec lldpad.pc liblldp_clif.pc])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_OUTPUT
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb b/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
new file mode 100644
index 00000000..5fbf0645
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Open-LLDP"
+DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX"
+HOMEPAGE = "http://open-lldp.org/start"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}
+
+DEPENDS = "libnl libconfig readline"
+
+SRCREV = "36d729de7ce5b56cf061d94d610cf0510154820c"
+SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \
+ file://0001-Fix-musl-libc-build-issue.patch \
+ file://0001-autotools-Add-include-path-to-generated-version.h.patch \
+ file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \
+ "
+
+# Makefile.am adds -Werror to AM_CFLAGS. There are warnings so disable it.
+TARGET_CFLAGS += "-Wno-error"
+
+# Enable install of systemd conf files.
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}"
+
+SYSTEMD_SERVICE_${PN} = "lldpad.service lldpad.socket"
+
+# To enable service at boot set to enable in local.conf.
+SYSTEMD_AUTO_ENABLE ?= "disable"
+
+RRECOMMENDS_${PN} = "iproute2-tc"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch b/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch
deleted file mode 100644
index 804bf123..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f6c4d2468ae0dadd2f35680d61b98b2a59077328 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Jul 2017 10:31:03 -0700
-Subject: [PATCH] include missing sys/types.h
-
-Fixes errors seen on musl
-pqueue.h:21:3: error: unknown type name 'u_int32_t'
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- pqueue.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/pqueue.h b/pqueue.h
-index c37ba7b..ae4cc6a 100644
---- a/pqueue.h
-+++ b/pqueue.h
-@@ -3,6 +3,7 @@
-
- #include <time.h>
- #include <sys/time.h>
-+#include <sys/types.h>
-
- /* wait this many seconds for missing packets before forgetting about them */
- #define DEFAULT_PACKET_TIMEOUT 0.3
---
-2.13.2
-
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb b/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb
new file mode 100644
index 00000000..53a79af7
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Client for Microsoft PPTP VPNs"
+DESCRIPTION = "PPTP Client is a Linux, FreeBSD, NetBSD \
+ and OpenBSD client for the proprietary Microsoft Point-to-Point \
+ Tunneling Protocol, PPTP. Allows connection to a PPTP based \
+ Virtual Private Network (VPN) as used by employers and some \
+ cable and ADSL internet service providers."
+HOMEPAGE = "http://pptpclient.sourceforge.net"
+SECTION = "net"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit perlnative
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \
+ file://options.pptp \
+ "
+
+SRC_URI[md5sum] = "8d25341352fdae5ad5b36b9f18254908"
+SRC_URI[sha256sum] = "82492db8e487ce73b182ee7f444251d20c44f5c26d6e96c553ec7093aefb5af4"
+
+S = "${WORKDIR}/pptp-${PV}"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_install() {
+ install -d ${D}${sbindir} ${D}${sysconfdir}/ppp ${D}${mandir}/man8
+ install -m 555 pptp ${D}${sbindir}
+ install -m 644 pptp.8 ${D}${mandir}/man8
+ install -m 644 ${WORKDIR}/options.pptp ${D}${sysconfdir}/ppp
+}
+
+RDEPENDS_${PN} = "ppp"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb b/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb
deleted file mode 100644
index 10c9170f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Client for Microsoft PPTP VPNs"
-DESCRIPTION = "PPTP Client is a Linux, FreeBSD, NetBSD \
- and OpenBSD client for the proprietary Microsoft Point-to-Point \
- Tunneling Protocol, PPTP. Allows connection to a PPTP based \
- Virtual Private Network (VPN) as used by employers and some \
- cable and ADSL internet service providers."
-HOMEPAGE = "http://pptpclient.sourceforge.net"
-SECTION = "net"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \
- file://options.pptp \
- file://0001-include-missing-sys-types.h.patch \
- "
-
-SRC_URI[md5sum] = "b2117b377f65294a9786f80f0235d308"
-SRC_URI[sha256sum] = "0b1e8cbfc578d3f5ab12ee87c5c2c60419abfe9cc445690a8a19c320b11c9201"
-
-S = "${WORKDIR}/pptp-${PV}"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_install() {
- install -d ${D}${sbindir} ${D}${sysconfdir}/ppp ${D}${mandir}/man8
- install -m 555 pptp ${D}${sbindir}
- install -m 644 pptp.8 ${D}${mandir}/man8
- install -m 644 ${WORKDIR}/options.pptp ${D}${sysconfdir}/ppp
-}
-
-RDEPENDS_${PN} = "ppp"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service
index 76f9f61e..c1021fbd 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/bgpd.service
@@ -7,9 +7,9 @@ ConditionPathExists=@SYSCONFDIR@/quagga/bgpd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
-PIDFile=@localstatedir@/run/quagga/bgpd.pid
+PIDFile=/run/quagga/bgpd.pid
ExecStart=@SBINDIR@/bgpd -d $bgpd_options -f @SYSCONFDIR@/quagga/bgpd.conf
-ExecStopPost=@base_bindir@/rm -rf @localstatedir@/run/quagga/bgpd.pid
+ExecStopPost=@base_bindir@/rm -rf /run/quagga/bgpd.pid
Restart=on-abort
[Install]
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service
index a2e493b4..99d0e6dc 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospf6d.service
@@ -7,9 +7,9 @@ ConditionPathExists=@SYSCONFDIR@/quagga/ospf6d.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
-PIDFile=@localstatedir@/run/quagga/ospf6d.pid
+PIDFile=/run/quagga/ospf6d.pid
ExecStart=@SBINDIR@/ospf6d -d $ospf6d_options -f @SYSCONFDIR@/quagga/ospf6d.conf
-ExecStopPost=@base_bindir@/rm -rf @localstatedir@/run/quagga/ospf6d.pid
+ExecStopPost=@base_bindir@/rm -rf /run/quagga/ospf6d.pid
Restart=on-abort
[Install]
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service
index 0c62cbce..fe8343be 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ospfd.service
@@ -7,9 +7,9 @@ ConditionPathExists=@SYSCONFDIR@/quagga/ospfd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
-PIDFile=@localstatedir@/run/quagga/ospfd.pid
+PIDFile=/run/quagga/ospfd.pid
ExecStart=@SBINDIR@/ospfd -d $ospfd_options -f @SYSCONFDIR@/quagga/ospfd.conf
-ExecStopPost=@base_bindir@/rm -rf @localstatedir@/run/quagga/ospfd.pid
+ExecStopPost=@base_bindir@/rm -rf /run/quagga/ospfd.pid
Restart=on-abort
[Install]
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service
index 1d20389e..7af65ca8 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd.service
@@ -7,9 +7,9 @@ ConditionPathExists=@SYSCONFDIR@/quagga/ripd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
-PIDFile=@localstatedir@/run/quagga/ripd.pid
+PIDFile=/run/quagga/ripd.pid
ExecStart=@SBINDIR@/ripd -d $ripd_options -f @SYSCONFDIR@/quagga/ripd.conf
-ExecStopPost=@base_bindir@/rm -rf @localstatedir@/run/quagga/ripd.pid
+ExecStopPost=@base_bindir@/rm -rf /run/quagga/ripd.pid
Restart=on-abort
[Install]
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service
index 0355ad12..9305f86b 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripngd.service
@@ -7,9 +7,9 @@ ConditionPathExists=@SYSCONFDIR@/quagga/ripngd.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
-PIDFile=@localstatedir@/run/quagga/ripngd.pid
+PIDFile=/run/quagga/ripngd.pid
ExecStart=@SBINDIR@/ripngd -d $ripngd_options -f @SYSCONFDIR@/quagga/ripngd.conf
-ExecStopPost=@base_bindir@/rm -rf @localstatedir@/run/quagga/ripngd.pid
+ExecStopPost=@base_bindir@/rm -rf /run/quagga/ripngd.pid
Restart=on-abort
[Install]
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service
index e4fb6c80..e34af724 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/files/zebra.service
@@ -7,10 +7,10 @@ ConditionPathExists=@SYSCONFDIR@/quagga/zebra.conf
[Service]
Type=forking
EnvironmentFile=-@SYSCONFDIR@/default/quagga
-PIDFile=@localstatedir@/run/quagga/zebra.pid
+PIDFile=/run/quagga/zebra.pid
ExecStartPre=@BASE_SBINDIR@/ip route flush proto zebra
ExecStart=@SBINDIR@/zebra -d $zebra_options -f @SYSCONFDIR@/quagga/zebra.conf
-ExecStopPost=@base_bindir@/rm -rf @localstatedir@/run/quagga/zebra.pid
+ExecStopPost=@base_bindir@/rm -rf /run/quagga/zebra.pid
Restart=on-abort
[Install]
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
index dfd6aa7e..134a33d4 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
@@ -40,7 +40,7 @@ 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 pkgconfig
+inherit autotools update-rc.d useradd systemd pkgconfig multilib_header
SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service"
@@ -106,6 +106,9 @@ do_install () {
sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/* ${D}${sysconfdir}/default/watchquagga
sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/* ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${sbindir}:${base_bindir}:${bindir}!' ${D}${sysconfdir}/init.d/*
+ sed -i 's!--with-libtool-sysroot=[^ "]*!!' ${D}${includedir}/quagga/version.h
+
+ oe_multilib_header quagga/version.h
# For PAM
for feature in ${DISTRO_FEATURES}; do
@@ -116,9 +119,9 @@ do_install () {
done
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /var/run/quagga 0755 quagga quagga -" \
- > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+ install -d ${D}${nonarch_libdir}/tmpfiles.d
+ echo "d /run/quagga 0755 quagga quagga -" \
+ > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf
fi
# Remove sysinit script if sysvinit is not in DISTRO_FEATURES
@@ -166,6 +169,8 @@ FILES_${PN}-ospfclient = "${sbindir}/ospfclient ${libdir}/libospfapiclient.so.*
FILES_${PN}-watchquagga = "${sbindir}/watchquagga ${sysconfdir}/default/watchquagga \
${sysconfdir}/init.d/watchquagga"
+FILES_${PN} += "${nonarch_libdir}/tmpfiles.d/*.conf"
+
# Indicate that the default files are configuration files
CONFFILES_${PN} = "${sysconfdir}/default/quagga \
${sysconfdir}/quagga/bgpd.conf \
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb b/external/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb
index 780423f0..ea377545 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb
@@ -12,7 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/r/${BPN}/${BPN}_${PV}.orig.tar.gz \
SRC_URI[md5sum] = "6fb7d4d0aefafaee7385831ac46a8e9c"
SRC_URI[sha256sum] = "282a9f1355f190efbb06c0d7c4e062eaa652caf342ed3ad361ac595f72f09f14"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause & BSD-2-Clause & HPND"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3e47566c9271b786693d8a08792dbf41"
inherit autotools-brokensep
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch
deleted file mode 100644
index 03697ff1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a6a85ec5c85cbd3c86743b6e2fa391198869bff8 Mon Sep 17 00:00:00 2001
-From: Tom Rini <tom_rini@mentor.com>
-Date: Wed, 27 Jul 2011 03:46:52 +0000
-Subject: [PATCH] rp-pppoe: Port from oe.dev
-
-Relax restrictions on the PPPoE src address, as per debian bug
-293811:
-
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293811
-
-Upstream-Status: Inappropriate [Backport from Debian]
-
----
- src/discovery.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/discovery.c b/src/discovery.c
-index 7ee259d..5213a37 100644
---- a/src/discovery.c
-+++ b/src/discovery.c
-@@ -472,8 +472,8 @@ waitForPADO(PPPoEConnection *conn, int timeout)
- if (!packetIsForMe(conn, &packet)) continue;
-
- if (packet.code == CODE_PADO) {
-- if (NOT_UNICAST(packet.ethHdr.h_source)) {
-- printErr("Ignoring PADO packet from non-unicast MAC address");
-+ if (BROADCAST(packet.ethHdr.h_source)) {
-+ printErr("Ignoring broadcast PADO packet");
- continue;
- }
- #ifdef PLUGIN
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch
index 7601f0d3..7601f0d3 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch
index 2103b388..2103b388 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch
index bbd516fd..bbd516fd 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch
index be892803..be892803 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch
index 3b945934..3b945934 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch
index 9801f6e2..9801f6e2 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch
index 8a857888..8a857888 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default
index 996d57f3..996d57f3 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init
index 21afe0be..21afe0be 100755
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service
index 41e0b9e8..41e0b9e8 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch
index f64da4fa..f64da4fa 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch
index c759e09a..c759e09a 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb
deleted file mode 100644
index fbe015f5..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb
+++ /dev/null
@@ -1,77 +0,0 @@
-SUMMARY = "A user-mode PPPoE client and server suite for Linux"
-HOMEPAGE = "http://www.roaringpenguin.com/products/pppoe"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=a194eaefae2be54ee3221339b10d0581"
-
-PR = "r10"
-
-SRC_URI = "http://www.roaringpenguin.com/files/download/${BP}.tar.gz \
- file://top-autoconf.patch \
- file://configure_in_cross.patch \
- file://pppoe-src-restrictions.patch \
- file://update-config.patch \
- file://dont-swallow-errors.patch \
- file://discard-use-of-dnl-in-Makefile.am.patch \
- file://configure.patch \
- file://pppoe-server.default \
- file://pppoe-server.init \
- file://configure.in-Error-fix.patch \
- 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"
-
-inherit autotools-brokensep update-rc.d systemd
-
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/pppoe-server.service ${D}${systemd_unitdir}/system
- sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/pppoe-server.service
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/pppoe-server.service
- install -d ${D}${datadir}/doc/${PN}
- if [ -f ${D}${datadir}/doc/README ]; then
- mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
- fi
-}
-
-do_install() {
- # Install init script and default settings
- install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/pppoe-server.default ${D}${sysconfdir}/default/pppoe-server
- install -m 0755 ${WORKDIR}/pppoe-server.init ${D}${sysconfdir}/init.d/pppoe-server
- # Install
- oe_runmake -C ${S} DESTDIR=${D} docdir=${docdir} install
- chmod 4755 ${D}${sbindir}/pppoe
-}
-
-SYSTEMD_PACKAGES = "${PN}-server"
-SYSTEMD_SERVICE_${PN}-server = "pppoe-server.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-# Insert server package before main package
-PACKAGES = "${PN}-dbg ${PN}-server ${PN}-relay ${PN}-sniff ${PN} ${PN}-doc"
-
-FILES_${PN}-server = "${sysconfdir}/default/pppoe-server \
- ${sysconfdir}/init.d/pppoe-server \
- ${sbindir}/pppoe-server \
- ${sysconfdir}/ppp/pppoe-server-options"
-FILES_${PN}-relay = "${sbindir}/pppoe-relay"
-FILES_${PN}-sniff = "${sbindir}/pppoe-sniff"
-
-CONFFILES_${PN} = "${sysconfdir}/ppp/pppoe.conf \
- ${sysconfdir}/ppp/firewall-standalone \
- ${sysconfdir}/ppp/firewall-masq"
-CONFFILES_${PN}-server = "${sysconfdir}/ppp/pppoe-server-options \
- ${sysconfdir}/default/pppoe-server"
-
-INITSCRIPT_PACKAGES = "${PN}-server"
-INITSCRIPT_NAME_${PN}-server = "pppoe-server"
-INITSCRIPT_PARAMS_${PN}-server = "defaults 92 8"
-
-RDEPENDS_${PN} = "ppp"
-RDEPENDS_${PN}-server = "${PN}"
-RRECOMMENDS_${PN} = "ppp-oe"
-
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb
new file mode 100644
index 00000000..492ade5a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb
@@ -0,0 +1,76 @@
+SUMMARY = "A user-mode PPPoE client and server suite for Linux"
+HOMEPAGE = "http://www.roaringpenguin.com/products/pppoe"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=a194eaefae2be54ee3221339b10d0581"
+
+PR = "r10"
+
+SRC_URI = "https://dianne.skoll.ca/projects/rp-pppoe/download/rp-pppoe-${PV}.tar.gz \
+ file://top-autoconf.patch \
+ file://configure_in_cross.patch \
+ file://update-config.patch \
+ file://dont-swallow-errors.patch \
+ file://discard-use-of-dnl-in-Makefile.am.patch \
+ file://configure.patch \
+ file://pppoe-server.default \
+ file://pppoe-server.init \
+ file://configure.in-Error-fix.patch \
+ 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] = "ec9dccd9a367a1f71f2dc81069796dd8"
+SRC_URI[sha256sum] = "8cd6bc71ba46bd5f6eb4daf60220ccdcd991a8525111dee466501b1b9717e676"
+
+inherit autotools-brokensep update-rc.d systemd
+
+do_install_append() {
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/pppoe-server.service ${D}${systemd_unitdir}/system
+ sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/pppoe-server.service
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/pppoe-server.service
+ install -d ${D}${datadir}/doc/${PN}
+ if [ -f ${D}${datadir}/doc/README ]; then
+ mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
+ fi
+}
+
+do_install() {
+ # Install init script and default settings
+ install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/pppoe-server.default ${D}${sysconfdir}/default/pppoe-server
+ install -m 0755 ${WORKDIR}/pppoe-server.init ${D}${sysconfdir}/init.d/pppoe-server
+ # Install
+ oe_runmake -C ${S} DESTDIR=${D} docdir=${docdir} install
+ chmod 4755 ${D}${sbindir}/pppoe
+}
+
+SYSTEMD_PACKAGES = "${PN}-server"
+SYSTEMD_SERVICE_${PN}-server = "pppoe-server.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+# Insert server package before main package
+PACKAGES = "${PN}-dbg ${PN}-server ${PN}-relay ${PN}-sniff ${PN} ${PN}-doc"
+
+FILES_${PN}-server = "${sysconfdir}/default/pppoe-server \
+ ${sysconfdir}/init.d/pppoe-server \
+ ${sbindir}/pppoe-server \
+ ${sysconfdir}/ppp/pppoe-server-options"
+FILES_${PN}-relay = "${sbindir}/pppoe-relay"
+FILES_${PN}-sniff = "${sbindir}/pppoe-sniff"
+
+CONFFILES_${PN} = "${sysconfdir}/ppp/pppoe.conf \
+ ${sysconfdir}/ppp/firewall-standalone \
+ ${sysconfdir}/ppp/firewall-masq"
+CONFFILES_${PN}-server = "${sysconfdir}/ppp/pppoe-server-options \
+ ${sysconfdir}/default/pppoe-server"
+
+INITSCRIPT_PACKAGES = "${PN}-server"
+INITSCRIPT_NAME_${PN}-server = "pppoe-server"
+INITSCRIPT_PARAMS_${PN}-server = "defaults 92 8"
+
+RDEPENDS_${PN} = "ppp"
+RDEPENDS_${PN}-server = "${PN}"
+RRECOMMENDS_${PN} = "ppp-oe"
+
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp/0001-Use-foreign-switch-for-automake.patch b/external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp/0001-Use-foreign-switch-for-automake.patch
deleted file mode 100644
index b932ebbb..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp/0001-Use-foreign-switch-for-automake.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb b/external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
index 3ec74668..4f8e4d42 100644
--- a/external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
@@ -2,13 +2,14 @@ DESCRIPTION = "This is a userland SCTP stack supporting FreeBSD, Linux, Mac OS X
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ffcf846341f3856d79a483eafa18e2a5"
-SRCREV = "dbfc1b8c4cf1a46a4d8987ba542d5ff06bdaf14c"
+SRCREV = "a10cd498d964508c0e6ec6bd2be9dd4afcbb4d86"
SRC_URI = "git://github.com/sctplab/usrsctp;protocol=https;branch=master \
- file://0001-Use-foreign-switch-for-automake.patch \
"
S = "${WORKDIR}/git"
+UPSTREAM_CHECK_COMMITS = "1"
+
inherit autotools pkgconfig
DEPENDS += "openssl"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
deleted file mode 100644
index d037c7cf..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Xelerance version of the Layer 2 Tunneling Protocol (L2TP) daemon"
-HOMEPAGE = "http://www.xelerance.com/software/xl2tpd/"
-SECTION = "net"
-DEPENDS = "ppp virtual/kernel"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/xelerance/xl2tpd.git \
-"
-
-S = "${WORKDIR}/git"
-
-inherit update-rc.d
-
-do_compile () {
- oe_runmake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}" PREFIX="${prefix}" KERNELSRC=${STAGING_KERNEL_DIR} all
-}
-
-do_install () {
- oe_runmake PREFIX="${D}${prefix}" install
-
- install -d ${D}${sysconfdir}/init.d
- touch ${D}${sysconfdir}/xl2tpd.conf
- install -m 0755 debian/xl2tpd.init ${D}${sysconfdir}/init.d/xl2tpd
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
- sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
- sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
- sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/xl2tpd
-
- install -d ${D}${sysconfdir}/default
- install -m 0644 debian/xl2tpd.default ${D}${sysconfdir}/default/xl2tpd
-}
-
-CONFFILES_${PN} += "${sysconfdir}/xl2tpd.conf ${sysconfdir}/default/xl2tpd"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "xl2tpd"
-
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb b/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb
new file mode 100644
index 00000000..b02e183d
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Xelerance version of the Layer 2 Tunneling Protocol (L2TP) daemon"
+HOMEPAGE = "http://www.xelerance.com/software/xl2tpd/"
+SECTION = "net"
+DEPENDS = "ppp virtual/kernel"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/xelerance/xl2tpd.git"
+SRCREV = "ba619c79c4790c78c033df0abde4a9a5de744a08"
+
+S = "${WORKDIR}/git"
+
+inherit update-rc.d
+
+do_compile () {
+ oe_runmake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}" PREFIX="${prefix}" KERNELSRC=${STAGING_KERNEL_DIR} all
+}
+
+do_install () {
+ oe_runmake PREFIX="${D}${prefix}" install
+
+ install -d ${D}${sysconfdir}/init.d
+ touch ${D}${sysconfdir}/xl2tpd.conf
+ install -m 0755 debian/xl2tpd.init ${D}${sysconfdir}/init.d/xl2tpd
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
+ sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
+ sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
+ sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/xl2tpd
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 debian/xl2tpd.default ${D}${sysconfdir}/default/xl2tpd
+}
+
+CONFFILES_${PN} += "${sysconfdir}/xl2tpd.conf ${sysconfdir}/default/xl2tpd"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "xl2tpd"
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb b/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb
deleted file mode 100644
index df2ec52c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xl2tpd.inc
-
-# The SRCREV corresponds to v1.3.6.
-# Adding tag=v1.3.6 to the SRC_URI will force access to the upstream repo.
-#
-SRCREV = "5619e1771048e74b729804e8602f409af0f3faea"
-
diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb b/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb
deleted file mode 100644
index 88ae5d6f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require xl2tpd.inc
-
-# This is v1.3.6 plus some commits. There is no tag for this commit.
-#
-PV = "1.3.9+git${SRCPV}"
-
-SRCREV = "f114c10ac532051badeca0132b144a2f1596f047"
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch b/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch
index e8be45e6..eb58389c 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch
@@ -8,24 +8,17 @@ 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(-)
+ Makefile | 10 ++++------
+ extensions/Makefile | 4 ++++
+ 2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
-index 7bead0d..336db6b 100644
+index 62ebdf2..cd06813 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:=
+@@ -12,9 +12,7 @@ DESTDIR:=
- MANS = arptables.8 arptables-save.8 arptables-restore.8
+ MANS = arptables-legacy.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
@@ -34,8 +27,8 @@ index 7bead0d..336db6b 100644
ifndef ARPT_LIBDIR
ARPT_LIBDIR:=$(LIBDIR)/arptables
endif
-@@ -25,13 +23,13 @@ include extensions/Makefile
- all: arptables libarptc/libarptc.a
+@@ -24,13 +22,13 @@ include extensions/Makefile
+ all: arptables-legacy libarptc/libarptc.a
arptables.o: arptables.c
- $(CC) $(CFLAGS) -c -o $@ $<
@@ -51,29 +44,18 @@ index 7bead0d..336db6b 100644
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
+index 0189cc9..e8af782 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)
+@@ -5,3 +5,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) $(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
+2.17.1
diff --git a/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch b/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch
deleted file mode 100644
index 24956c4c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-Index: arptables-v0.0.3-4/arptables.sysv
-===================================================================
---- arptables-v0.0.3-4.orig/arptables.sysv 2010-03-22 16:28:03.000000000 +0300
-+++ arptables-v0.0.3-4/arptables.sysv 2010-03-22 16:27:51.000000000 +0300
-@@ -12,10 +12,10 @@
- # config: __SYSCONFIG__/arptables
-
- source /etc/init.d/functions
--source /etc/sysconfig/network
-+# source /etc/sysconfig/network
-
- # Check that networking is up.
--[ ${NETWORKING} = "no" ] && exit 0
-+# [ ${NETWORKING} = "no" ] && exit 0
-
- [ -x __EXEC_PATH__/arptables ] || exit 1
- [ -x __EXEC_PATH__/arptables-save ] || exit 1
-@@ -28,32 +28,30 @@
- desc="Arp filtering"
-
- start() {
-- echo -n $"Starting $desc ($prog): "
-+ echo -n "Starting $desc ($prog): "
- __EXEC_PATH__/arptables-restore < __SYSCONFIG__/arptables || RETVAL=1
-
- if [ $RETVAL -eq 0 ]; then
-- success "$prog startup"
-- rm -f /var/lock/subsys/$prog
-+ echo "$prog ok"
-+ touch /var/lock/subsys/$prog
- else
-- failure "$prog startup"
-+ echo "$prog failed"
- fi
-
-- echo
- return $RETVAL
- }
-
- stop() {
-- echo -n $"Stopping $desc ($prog): "
-+ echo -n "Stopping $desc ($prog): "
- __EXEC_PATH__/arptables-restore < /dev/null || RETVAL=1
-
- if [ $RETVAL -eq 0 ]; then
-- success "$prog shutdown"
-- rm -f %{_localstatedir}/lock/subsys/$prog
-+ echo "$prog stopped"
-+ rm -f /var/lock/subsys/$prog
- else
-- failure "$prog shutdown"
-+ echo "$prog failed to stop"
- fi
-
-- echo
- return $RETVAL
- }
-
-@@ -63,15 +61,14 @@
- }
-
- save() {
-- echo -n $"Saving $desc ($prog): "
-+ echo -n "Saving $desc ($prog): "
- __EXEC_PATH__/arptables-save > __SYSCONFIG__/arptables || RETVAL=1
-
- if [ $RETVAL -eq 0 ]; then
-- success "$prog saved"
-+ echo "$prog saved"
- else
-- failure "$prog saved"
-+ echo "$prog is not saved"
- fi
-- echo
- }
-
- case "$1" in
diff --git a/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch b/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch
deleted file mode 100644
index f332658b..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From cd312bc0e3686404428878d23b8888cba09a20e1 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 18 Sep 2014 19:46:58 -0700
-Subject: [PATCH] arptables.sysv: remove bashism
-
-Use "." to replace of "source", and change /bin/bash to /bin/sh, the
-echo $"foo" works well in busybox.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- arptables.sysv | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arptables.sysv b/arptables.sysv
-index 7a90bd2..7710376 100644
---- a/arptables.sysv
-+++ b/arptables.sysv
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # init script for arptables
- #
-@@ -11,7 +11,7 @@
- #
- # config: __SYSCONFIG__/arptables
-
--source /etc/init.d/functions
-+. /etc/init.d/functions
- # source /etc/sysconfig/network
-
- # Check that networking is up.
---
-1.7.9.5
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb b/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb
index cec1d1f7..c02a1994 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb
@@ -2,15 +2,13 @@ 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}"
+SRCREV = "efae8949e31f8b2eb6290f377a28384cecaf105a"
+PV = "0.0.5+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"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch b/external/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
deleted file mode 100644
index 8cadb2bb..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 12414304245cce6ef0e8b9547949be5109845353 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 13:33:33 +0800
-Subject: [PATCH] cmake: Install libcares.pc
-
-Prepare and install libcares.pc file during cmake build, so libraries
-using pkg-config to find libcares will not fail.
-
-Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
-
-update to 1.14.0, fix patch warning
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- CMakeLists.txt | 23 +++++++++++++++++++++++
- libcares.pc.cmakein | 20 ++++++++++++++++++++
- 2 files changed, 43 insertions(+)
- create mode 100644 libcares.pc.cmakein
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 60a880c..71eaa53 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -193,22 +193,30 @@ ADD_DEFINITIONS(${SYSFLAGS})
-
-
- # Tell C-Ares about libraries to depend on
-+# Also pass these libraries to pkg-config file
-+SET(CARES_PRIVATE_LIBS_LIST)
- IF (HAVE_LIBRESOLV)
- LIST (APPEND CARES_DEPENDENT_LIBS resolv)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lresolv")
- ENDIF ()
- IF (HAVE_LIBNSL)
- LIST (APPEND CARES_DEPENDENT_LIBS nsl)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lnsl")
- ENDIF ()
- IF (HAVE_LIBSOCKET)
- LIST (APPEND CARES_DEPENDENT_LIBS socket)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lsocket")
- ENDIF ()
- IF (HAVE_LIBRT)
- LIST (APPEND CARES_DEPENDENT_LIBS rt)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lrt")
- ENDIF ()
- IF (WIN32)
- LIST (APPEND CARES_DEPENDENT_LIBS ws2_32)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lws2_32")
- ENDIF ()
-
-+string (REPLACE ";" " " CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS_LIST}")
-
- # When checking for symbols, we need to make sure we set the proper
- # headers, libraries, and definitions for the detection to work properly
-@@ -514,6 +522,15 @@ CONFIGURE_FILE (ares_build.h.cmake ${PROJECT_BINARY_DIR}/ares_build.h)
- # Write ares_config.h configuration file. This is used only for the build.
- CONFIGURE_FILE (ares_config.h.cmake ${PROJECT_BINARY_DIR}/ares_config.h)
-
-+# Pass required CFLAGS to pkg-config in case of static library
-+IF (CARES_STATIC)
-+ SET (CPPFLAG_CARES_STATICLIB "-DCARES_STATICLIB")
-+ENDIF()
-+
-+# Write ares_config.h configuration file. This is used only for the build.
-+CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
-+
-+
-
- # TRANSFORM_MAKEFILE_INC
- #
-@@ -664,6 +681,12 @@ IF (CARES_INSTALL)
- INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
- ENDIF ()
-
-+# pkg-config file
-+IF (CARES_INSTALL)
-+ SET (PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
-+ INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION ${PKGCONFIG_INSTALL_DIR})
-+ENDIF ()
-+
- # Legacy chain-building variables (provided for compatibility with old code).
- # Don't use these, external code should be updated to refer to the aliases directly (e.g., Cares::cares).
- SET (CARES_FOUND 1 CACHE INTERNAL "CARES LIBRARY FOUND")
-diff --git a/libcares.pc.cmakein b/libcares.pc.cmakein
-new file mode 100644
-index 0000000..3579256
---- /dev/null
-+++ b/libcares.pc.cmakein
-@@ -0,0 +1,20 @@
-+#***************************************************************************
-+# Project ___ __ _ _ __ ___ ___
-+# / __|____ / _` | '__/ _ \/ __|
-+# | (_|_____| (_| | | | __/\__ \
-+# \___| \__,_|_| \___||___/
-+#
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=@CMAKE_INSTALL_PREFIX@
-+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
-+
-+Name: c-ares
-+URL: http://daniel.haxx.se/projects/c-ares/
-+Description: asynchronous DNS lookup library
-+Version: @VERSION@
-+Requires:
-+Requires.private:
-+Cflags: -I${includedir} @CPPFLAG_CARES_STATICLIB@
-+Libs: -L${libdir} -lcares
-+Libs.private: @CARES_PRIVATE_LIBS@
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb b/external/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb
deleted file mode 100644
index b31543d9..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2012-2014 LG Electronics, Inc.
-SUMMARY = "c-ares is a C library that resolves names asynchronously."
-HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb997454c8d62aa6a47f07a8cd48b006"
-
-PV = "1.14.0+gitr${SRCPV}"
-
-SRC_URI = "\
- git://github.com/c-ares/c-ares.git \
- file://cmake-install-libcares.pc.patch \
-"
-SRCREV = "17dc1b3102e0dfc3e7e31369989013154ee17893"
-
-UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-PACKAGES =+ "${PN}-utils"
-
-FILES_${PN}-utils = "${bindir}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb b/external/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb
index 11680052..12b9124f 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb
@@ -9,7 +9,7 @@ with high quality. Unlike these formats CELT imposes very little delay \
on the signal, even less than is typical for speech centric formats \
like Speex, GSM, or G.729."
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=375f60ab360d17f0172737036ff155b2"
PV = "0.5.1.3+git${SRCPV}"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/0001-Fix-compilation-with-musl.patch b/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/0001-Fix-compilation-with-musl.patch
new file mode 100644
index 00000000..17b63535
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/0001-Fix-compilation-with-musl.patch
@@ -0,0 +1,29 @@
+From 11ec10cdb5ab4b94c5999e018a9c854419997761 Mon Sep 17 00:00:00 2001
+From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+Date: Wed, 10 Apr 2019 03:18:17 +0200
+Subject: [PATCH] Fix compilation with musl
+
+Fixes:
+../hash_intmd5.c:58: undefined reference to `MIN'
+
+Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+---
+ hash_intmd5.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/hash_intmd5.c b/hash_intmd5.c
+index 49da1cf..47efe4c 100644
+--- a/hash_intmd5.c
++++ b/hash_intmd5.c
+@@ -33,6 +33,8 @@
+
+ #include "md5.c"
+
++#include <sys/param.h>
++
+ static MD5_CTX ctx;
+
+ int
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch b/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
index 9f943cdc..187898a6 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
@@ -1,7 +1,7 @@
-From 9ca48a6fef1da1bb0dd67ab94256c7e240da1834 Mon Sep 17 00:00:00 2001
+From f35e07aceb4a16121d83b47ee77990018bec98ea Mon Sep 17 00:00:00 2001
From: Joe Slater <jslater@windriver.com>
Date: Thu, 9 Mar 2017 10:58:06 -0800
-Subject: [PATCH] chrony: fix build failure for arma9
+Subject: [PATCH] chrony: fix build failure for arma9
Eliminate references to syscalls not available
for ARM_EABI. Also add a dependency on libseccomp
@@ -18,16 +18,15 @@ Subject: [PATCH] chrony: fix build failure for arma9
Refresh patch for new upstream version.
Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
-
---
- sys_linux.c | 19 +++++++++++++------
- 1 file changed, 13 insertions(+), 6 deletions(-)
+ sys_linux.c | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/sys_linux.c b/sys_linux.c
-index f4b532d..d05fa24 100644
+index 898dc7a..b268ad1 100644
--- a/sys_linux.c
+++ b/sys_linux.c
-@@ -482,14 +482,14 @@ SYS_Linux_EnableSystemCallFilter(int level)
+@@ -479,14 +479,14 @@ SYS_Linux_EnableSystemCallFilter(int level)
const int syscalls[] = {
/* Clock */
SCMP_SYS(adjtimex), SCMP_SYS(clock_gettime), SCMP_SYS(gettimeofday),
@@ -38,24 +37,24 @@ index f4b532d..d05fa24 100644
- SCMP_SYS(getrlimit), SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
+ SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
SCMP_SYS(rt_sigprocmask), SCMP_SYS(set_tid_address), SCMP_SYS(sigreturn),
- SCMP_SYS(wait4),
+ SCMP_SYS(wait4), SCMP_SYS(waitpid),
/* Memory */
- SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap), SCMP_SYS(mmap2),
+ SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap2),
SCMP_SYS(mprotect), SCMP_SYS(mremap), SCMP_SYS(munmap), SCMP_SYS(shmdt),
/* Filesystem */
- SCMP_SYS(access), SCMP_SYS(chmod), SCMP_SYS(chown), SCMP_SYS(chown32),
-@@ -500,14 +500,21 @@ SYS_Linux_EnableSystemCallFilter(int level)
+ SCMP_SYS(_llseek), SCMP_SYS(access), SCMP_SYS(chmod), SCMP_SYS(chown),
+@@ -499,14 +499,22 @@ SYS_Linux_EnableSystemCallFilter(int level)
SCMP_SYS(bind), SCMP_SYS(connect), SCMP_SYS(getsockname), SCMP_SYS(getsockopt),
- SCMP_SYS(recvfrom), SCMP_SYS(recvmmsg), SCMP_SYS(recvmsg),
- SCMP_SYS(sendmmsg), SCMP_SYS(sendmsg), SCMP_SYS(sendto),
+ SCMP_SYS(recv), SCMP_SYS(recvfrom), SCMP_SYS(recvmmsg), SCMP_SYS(recvmsg),
+ SCMP_SYS(send), SCMP_SYS(sendmmsg), SCMP_SYS(sendmsg), SCMP_SYS(sendto),
- /* TODO: check socketcall arguments */
- SCMP_SYS(socketcall),
/* General I/O */
SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(openat), SCMP_SYS(pipe),
-- SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex), SCMP_SYS(select),
-+ SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex),
- SCMP_SYS(set_robust_list), SCMP_SYS(write),
+ SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(ppoll), SCMP_SYS(pselect6), SCMP_SYS(read),
+- SCMP_SYS(futex), SCMP_SYS(select), SCMP_SYS(set_robust_list), SCMP_SYS(write),
++ SCMP_SYS(futex), SCMP_SYS(set_robust_list), SCMP_SYS(write),
/* Miscellaneous */
SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname),
+ /* not always available */
@@ -67,6 +66,10 @@ index f4b532d..d05fa24 100644
+ /* TODO: check socketcall arguments */
+ SCMP_SYS(socketcall),
+#endif
++
};
const int socket_domains[] = {
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.3.bb b/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.3.bb
deleted file mode 100644
index 2586370f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.3.bb
+++ /dev/null
@@ -1,134 +0,0 @@
-SUMMARY = "Versatile implementation of the Network Time Protocol"
-DESCRIPTION = "Chrony can synchronize the system clock with NTP \
-servers, reference clocks (e.g. GPS receiver), and manual input using \
-wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \
-server and peer to provide a time service to other computers in the \
-network. \
-\
-It is designed to perform well in a wide range of conditions, \
-including intermittent network connections, heavily congested \
-networks, changing temperatures (ordinary computer clocks are \
-sensitive to temperature), and systems that do not run continuously, or \
-run on a virtual machine. \
-\
-Typical accuracy between two machines on a LAN is in tens, or a few \
-hundreds, of microseconds; over the Internet, accuracy is typically \
-within a few milliseconds. With a good hardware reference clock \
-sub-microsecond accuracy is possible. \
-\
-Two programs are included in chrony: chronyd is a daemon that can be \
-started at boot time and chronyc is a command-line interface program \
-which can be used to monitor chronyd's performance and to change \
-various operating parameters whilst it is running. \
-\
-This recipe produces two binary packages: 'chrony' which contains chronyd, \
-the configuration file and the init script, and 'chronyc' which contains \
-the client program only."
-
-HOMEPAGE = "https://chrony.tuxfamily.org/"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \
- file://chrony.conf \
- file://chronyd \
- file://arm_eabi.patch \
-"
-SRC_URI[md5sum] = "81ab62cf5d60b4b3fa8cd2c1b267ffd9"
-SRC_URI[sha256sum] = "0d1fb2d5875032f2d5a86f3770374c87ee4c941916f64171e81f7684f2a73128"
-
-DEPENDS = "pps-tools"
-
-# Note: Despite being built via './configure; make; make install',
-# chrony does not use GNU Autotools.
-inherit update-rc.d systemd
-
-# Configuration options:
-# - For command line editing support in chronyc, you may specify either
-# 'editline' or 'readline' but not both. editline is smaller, but
-# many systems already have readline for other purposes so you might want
-# to choose that instead. However, beware license incompatibility
-# since chrony is GPLv2 and readline versions after 6.0 are GPLv3+.
-# You can of course choose neither, but if you're that tight on space
-# consider dropping chronyc entirely (you can use it remotely with
-# appropriate chrony.conf options).
-# - Security-related:
-# - 'sechash' is omitted by default because it pulls in nss which is huge.
-# - 'privdrop' allows chronyd to run as non-root; would need changes to
-# chrony.conf and init script.
-# - 'scfilter' enables support for system call filtering, but requires the
-# kernel to have CONFIG_SECCOMP enabled.
-PACKAGECONFIG ??= "editline \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
-PACKAGECONFIG[editline] = ",--without-editline,libedit"
-PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
-PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
-PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp"
-PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
-PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-
-# --disable-static isn't supported by chrony's configure script.
-DISABLE_STATIC = ""
-
-do_configure() {
- ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \
- --localstatedir=${localstatedir} --datarootdir=${datadir} \
- ${PACKAGECONFIG_CONFARGS}
-}
-
-do_install() {
- # Binaries
- install -d ${D}${bindir}
- install -m 0755 ${S}/chronyc ${D}${bindir}
- install -d ${D}${sbindir}
- install -m 0755 ${S}/chronyd ${D}${sbindir}
-
- # Config file
- install -d ${D}${sysconfdir}
- install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}
-
- # System V init script
- install -d ${D}${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d
-
- # systemd unit configuration file
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/
-
- # Variable data (for drift and/or rtc file)
- install -d ${D}${localstatedir}/lib/chrony
-
- # Log files
- install -d ${D}${localstatedir}/log/chrony
-
- # Fix hard-coded paths in config files and init scripts
- sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \
- -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \
- ${D}${sysconfdir}/chrony.conf \
- ${D}${sysconfdir}/init.d/chronyd \
- ${D}${systemd_unitdir}/system/chronyd.service
- sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd
- sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service
-}
-
-FILES_${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}"
-CONFFILES_${PN} = "${sysconfdir}/chrony.conf"
-INITSCRIPT_NAME = "chronyd"
-INITSCRIPT_PARAMS = "defaults"
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "chronyd.service"
-
-# It's probably a bad idea to run chrony and another time daemon on
-# the same system. systemd includes the SNTP client 'timesyncd', which
-# will be disabled by chronyd.service, however it will remain on the rootfs
-# wasting 150 kB unless you put 'PACKAGECONFIG_remove_pn-systemd = "timesyncd"'
-# in a conf file or bbappend somewhere.
-RCONFLICTS_${PN} = "ntp ntimed"
-
-# Separate the client program into its own package
-PACKAGES =+ "chronyc"
-FILES_chronyc = "${bindir}/chronyc"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.5.bb b/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.5.bb
new file mode 100644
index 00000000..7c6356d2
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.5.bb
@@ -0,0 +1,138 @@
+SUMMARY = "Versatile implementation of the Network Time Protocol"
+DESCRIPTION = "Chrony can synchronize the system clock with NTP \
+servers, reference clocks (e.g. GPS receiver), and manual input using \
+wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \
+server and peer to provide a time service to other computers in the \
+network. \
+\
+It is designed to perform well in a wide range of conditions, \
+including intermittent network connections, heavily congested \
+networks, changing temperatures (ordinary computer clocks are \
+sensitive to temperature), and systems that do not run continuously, or \
+run on a virtual machine. \
+\
+Typical accuracy between two machines on a LAN is in tens, or a few \
+hundreds, of microseconds; over the Internet, accuracy is typically \
+within a few milliseconds. With a good hardware reference clock \
+sub-microsecond accuracy is possible. \
+\
+Two programs are included in chrony: chronyd is a daemon that can be \
+started at boot time and chronyc is a command-line interface program \
+which can be used to monitor chronyd's performance and to change \
+various operating parameters whilst it is running. \
+\
+This recipe produces two binary packages: 'chrony' which contains chronyd, \
+the configuration file and the init script, and 'chronyc' which contains \
+the client program only."
+
+HOMEPAGE = "https://chrony.tuxfamily.org/"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \
+ file://chrony.conf \
+ file://chronyd \
+ file://arm_eabi.patch \
+"
+
+SRC_URI_append_libc-musl = " \
+ file://0001-Fix-compilation-with-musl.patch \
+"
+SRC_URI[md5sum] = "5f66338bc940a9b51eede8f391e7bed3"
+SRC_URI[sha256sum] = "4e02795b1260a4ec51e6ace84149036305cc9fc340e65edb9f8452aa611339b5"
+
+DEPENDS = "pps-tools"
+
+# Note: Despite being built via './configure; make; make install',
+# chrony does not use GNU Autotools.
+inherit update-rc.d systemd
+
+# Configuration options:
+# - For command line editing support in chronyc, you may specify either
+# 'editline' or 'readline' but not both. editline is smaller, but
+# many systems already have readline for other purposes so you might want
+# to choose that instead. However, beware license incompatibility
+# since chrony is GPLv2 and readline versions after 6.0 are GPLv3+.
+# You can of course choose neither, but if you're that tight on space
+# consider dropping chronyc entirely (you can use it remotely with
+# appropriate chrony.conf options).
+# - Security-related:
+# - 'sechash' is omitted by default because it pulls in nss which is huge.
+# - 'privdrop' allows chronyd to run as non-root; would need changes to
+# chrony.conf and init script.
+# - 'scfilter' enables support for system call filtering, but requires the
+# kernel to have CONFIG_SECCOMP enabled.
+PACKAGECONFIG ??= "editline \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
+PACKAGECONFIG[editline] = ",--without-editline,libedit"
+PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
+PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
+PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp"
+PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
+PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+
+# --disable-static isn't supported by chrony's configure script.
+DISABLE_STATIC = ""
+
+do_configure() {
+ ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \
+ --localstatedir=${localstatedir} --datarootdir=${datadir} \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_install() {
+ # Binaries
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/chronyc ${D}${bindir}
+ install -d ${D}${sbindir}
+ install -m 0755 ${S}/chronyd ${D}${sbindir}
+
+ # Config file
+ install -d ${D}${sysconfdir}
+ install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}
+
+ # System V init script
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d
+
+ # systemd unit configuration file
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/
+
+ # Variable data (for drift and/or rtc file)
+ install -d ${D}${localstatedir}/lib/chrony
+
+ # Log files
+ install -d ${D}${localstatedir}/log/chrony
+
+ # Fix hard-coded paths in config files and init scripts
+ sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \
+ -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \
+ ${D}${sysconfdir}/chrony.conf \
+ ${D}${sysconfdir}/init.d/chronyd \
+ ${D}${systemd_unitdir}/system/chronyd.service
+ sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd
+ sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service
+}
+
+FILES_${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}"
+CONFFILES_${PN} = "${sysconfdir}/chrony.conf"
+INITSCRIPT_NAME = "chronyd"
+INITSCRIPT_PARAMS = "defaults"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "chronyd.service"
+
+# It's probably a bad idea to run chrony and another time daemon on
+# the same system. systemd includes the SNTP client 'timesyncd', which
+# will be disabled by chronyd.service, however it will remain on the rootfs
+# wasting 150 kB unless you put 'PACKAGECONFIG_remove_pn-systemd = "timesyncd"'
+# in a conf file or bbappend somewhere.
+RCONFLICTS_${PN} = "ntp ntimed"
+
+# Separate the client program into its own package
+PACKAGES =+ "chronyc"
+FILES_chronyc = "${bindir}/chronyc"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils/0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch b/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils/0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch
new file mode 100644
index 00000000..233ae40c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils/0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch
@@ -0,0 +1,43 @@
+From f61f5f8a328207867b5c523b1c6bef6aaecaab88 Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@cn.fujitsu.com>
+Date: Sat, 15 Feb 2020 16:05:58 +0800
+Subject: [PATCH] Bugfix: Modify the dir of install-exec-hook and
+ install-data-hook
+
+Error message:
+(cd /sbin && ln -sf mount.cifs mount.smb3)
+ /yocto/work001/fnst/wangmy/build/tmp/hosttools/install -c mount.cifs
+'/yocto/work001/fnst/wangmy/build/tmp/work/core2-64-poky-linux/cifs-utils/6.10-r0/image/sbin'
+make install-data-hook
+ln: failed to create symbolic link 'mount.smb3': Permission denied
+
+Upstream-Status: Pending
+
+Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
+---
+ Makefile.am | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index fe9cd34..e9be6b3 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -119,11 +119,11 @@ endif
+ SUBDIRS = contrib
+
+ install-exec-hook:
+- (cd $(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3)
++ (cd $(DESTDIR)$(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3)
+
+ install-data-hook:
+- (cd $(man8dir) && ln -sf mount.cifs.8 mount.smb3.8)
++ (test -n "$(man_MANS)" || exit 0; cd $(DESTDIR)$(man8dir) && ln -sf mount.cifs.8 mount.smb3.8)
+
+ uninstall-hook:
+- (cd $(ROOTSBINDIR) && rm -f $(ROOTSBINDIR)/mount.smb3)
+- (cd $(man8dir) && rm -f $(man8dir)/mount.smb3.8)
++ (cd $(DESTDIR)$(ROOTSBINDIR) && rm -f $(DESTDIR)$(ROOTSBINDIR)/mount.smb3)
++ (test -n "$(man_MANS)" || exit 0; cd $(DESTDIR)$(man8dir) && rm -f $(DESTDIR)$(man8dir)/mount.smb3.8)
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb b/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb
new file mode 100644
index 00000000..8d82ee45
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.10.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "A a package of utilities for doing and managing mounts of the Linux CIFS filesystem."
+HOMEPAGE = "http://wiki.samba.org/index.php/LinuxCIFS_utils"
+SECTION = "otherosfs"
+LICENSE = "GPLv3 & LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+PV = "6.10"
+
+SRCREV = "5ff5fc2ecc10353fd39ad508db5c2828fd2d8d9a"
+SRC_URI = "git://git.samba.org/cifs-utils.git"
+
+S = "${WORKDIR}/git"
+DEPENDS += "libtalloc"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap"
+# when enabled, it creates ${bindir}/cifscreds and --ignore-fail-on-non-empty in do_install_append is needed
+PACKAGECONFIG[cifscreds] = "--enable-cifscreds,--disable-cifscreds,keyutils"
+# when enabled, it creates ${sbindir}/cifs.upcall and --ignore-fail-on-non-empty in do_install_append is needed
+PACKAGECONFIG[cifsupcall] = "--enable-cifsupcall,--disable-cifsupcall,krb5 libtalloc keyutils"
+PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap,keyutils samba"
+PACKAGECONFIG[cifsacl] = "--enable-cifsacl,--disable-cifsacl,samba"
+PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disable-pam,libpam keyutils"
+
+SRC_URI += " \
+ file://0001-Bugfix-Modify-the-dir-of-install-exec-hook-and.patch \
+ "
+
+inherit autotools pkgconfig
+
+do_install_append() {
+ # Remove empty /usr/bin and /usr/sbin directories since the mount helper
+ # is installed to /sbin
+ rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir}
+}
+
+FILES_${PN} += "${base_libdir}/security"
+FILES_${PN}-dbg += "${base_libdir}/security/.debug"
+RRECOMMENDS_${PN} = "kernel-module-cifs"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb b/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb
deleted file mode 100644
index 198e3ef9..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "A a package of utilities for doing and managing mounts of the Linux CIFS filesystem."
-HOMEPAGE = "http://wiki.samba.org/index.php/LinuxCIFS_utils"
-SECTION = "otherosfs"
-LICENSE = "GPLv3 & LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-PV = "6.7"
-
-SRCREV = "8101a07871f185c7044fa2ca221b282ab4607c8b"
-SRC_URI = "git://git.samba.org/cifs-utils.git \
- file://0001-mount.cifs-Remove-data_blob.h-include.patch \
- "
-
-S = "${WORKDIR}/git"
-DEPENDS += "libtalloc"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap"
-# when enabled, it creates ${bindir}/cifscreds and --ignore-fail-on-non-empty in do_install_append is needed
-PACKAGECONFIG[cifscreds] = "--enable-cifscreds,--disable-cifscreds,keyutils"
-# when enabled, it creates ${sbindir}/cifs.upcall and --ignore-fail-on-non-empty in do_install_append is needed
-PACKAGECONFIG[cifsupcall] = "--enable-cifsupcall,--disable-cifsupcall,krb5 libtalloc keyutils"
-PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap,keyutils samba"
-PACKAGECONFIG[cifsacl] = "--enable-cifsacl,--disable-cifsacl,samba"
-PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disable-pam,libpam keyutils"
-
-inherit autotools pkgconfig
-
-do_install_append() {
- # Remove empty /usr/bin and /usr/sbin directories since the mount helper
- # is installed to /sbin
- rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir}
-}
-
-FILES_${PN} += "${base_libdir}/security"
-FILES_${PN}-dbg += "${base_libdir}/security/.debug"
-RRECOMMENDS_${PN} = "kernel-module-cifs"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch b/external/meta-openembedded/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch
deleted file mode 100644
index 07f2a572..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com>
-
-From 272d523a57a4e8791d625a479128613be5e401f5 Mon Sep 17 00:00:00 2001
-From: Thomas Witt <pyromaniac@exherbo.org>
-Date: Wed, 15 Mar 2017 20:20:44 +0000
-Subject: [PATCH] mount.cifs: Remove data_blob.h include
-
-data_blob.h includes talloc.h from libtalloc, but that is only marked as
-a dependency for cifs.upcall. No symbols from that header are used by
-cifs.mount, so remove it to avoid the libtalloc dependency
-
-Signed-off-by: Thomas Witt <pyromaniac@exherbo.org>
----
- mount.cifs.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/mount.cifs.c b/mount.cifs.c
-index 13b71ef..2612feb 100644
---- a/mount.cifs.c
-+++ b/mount.cifs.c
-@@ -61,7 +61,6 @@
- #include "mount.h"
- #include "util.h"
- #include "resolve_host.h"
--#include "data_blob.h"
-
- #ifndef MS_MOVE
- #define MS_MOVE 8192
---
-1.9.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb b/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb
index 31875ea5..4ecaabd7 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb
@@ -4,18 +4,13 @@ SECTION = "doc"
LICENSE = "DMTF"
-SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-Doc.zip \
+SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-Doc.zip;subdir=${BP} \
file://LICENSE \
"
SRC_URI[md5sum] = "3d01940bc1085c6c42184c25fb61f739"
SRC_URI[sha256sum] = "3174cf0f8657b19d80dc59e184778d8e553da424728cb2966fe9d5428dd84267"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4"
-do_unpack() {
- unzip -q ${DL_DIR}/cim_schema_${PV}Final-Doc.zip -d ${S}
- cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/
-}
-
do_install() {
install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV}-docs
cp -R --no-dereference --preserve=mode,links -v ${S}/* ${D}${datadir}/doc/cim-schema-${PV}-docs
diff --git a/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb b/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb
index a14de46d..67d1db22 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb
@@ -4,18 +4,13 @@ LICENSE = "DMTF"
RCONFLICTS_${PN} = "cim-schema-exper"
-SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-MOFs.zip \
+SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-MOFs.zip;subdir=${BP} \
file://LICENSE \
"
SRC_URI[md5sum] = "a9bdf17c7374e3b5b7adeaac4842c4ad"
SRC_URI[sha256sum] = "dbfa3064ea427acd71a4bebbc172ca2dc44b0b09a6d83b0945b9ffa988a9058a"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4"
-do_unpack() {
- unzip -q ${DL_DIR}/cim_schema_${PV}Final-MOFs.zip -d ${S}
- cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/
-}
-
do_install() {
install -d -m 0755 ${D}${datadir}/mof/cimv${PV}/
install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema/files/LICENSE b/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema/files/LICENSE
deleted file mode 100644
index 54a28120..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema/files/LICENSE
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 1998-2008 Distributed Management Task Force, Inc. (DMTF).
-// All rights reserved.
-// DMTF is a not-for-profit association of industry members dedicated
-// to promoting enterprise and systems management and interoperability.
-// DMTF specifications and documents may be reproduced by
-// members and non-members, provided that correct attribution is given.
-// As DMTF specifications may be revised from time to time,
-// the particular version and release date should always be noted.
-//
-// Implementation of certain elements of this standard or proposed
-// standard may be subject to third party patent rights, including
-// provisional patent rights (herein "patent rights"). DMTF makes
-// no representations to users of the standard as to the existence
-// of such rights, and is not responsible to recognize, disclose, or
-// identify any or all such third party patent right, owners or
-// claimants, nor for any incomplete or inaccurate identification or
-// disclosure of such rights, owners or claimants. DMTF shall have no
-// liability to any party, in any manner or circumstance, under any
-// legal theory whatsoever, for failure to recognize, disclose, or
-// identify any such third party patent rights, or for such party's
-// reliance on the standard or incorporation thereof in its product,
-// protocols or testing procedures. DMTF shall have no liability to
-// any party implementing such standard, whether such implementation
-// is foreseeable or not, nor to any patent owner or claimant, and shall
-// have no liability or responsibility for costs or losses incurred if
-// a standard is withdrawn or modified after publication, and shall be
-// indemnified and held harmless by any party implementing the
-// standard from any and all claims of infringement by a patent owner
-// for such implementations.
-//
-// For information about patents held by third-parties which have
-// notified the DMTF that, in their opinion, such patent may relate to
-// or impact implementations of DMTF standards, visit
-// http://www.dmtf.org/about/policies/disclosures.php.
diff --git a/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
index 4f4bbf14..33678e23 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
+++ b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
@@ -12,6 +12,7 @@ SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getV
file://dnsmasq.conf \
file://dnsmasq-resolvconf.service \
file://dnsmasq-noresolvconf.service \
+ file://dnsmasq-resolved.conf \
"
inherit pkgconfig update-rc.d systemd
@@ -58,6 +59,8 @@ do_install () {
else
install -m 0644 ${WORKDIR}/dnsmasq-noresolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service
fi
+ install -d ${D}${sysconfdir}/systemd/resolved.conf.d/
+ install -m 0644 ${WORKDIR}/dnsmasq-resolved.conf ${D}${sysconfdir}/systemd/resolved.conf.d/
install -m 0755 ${S}/contrib/lease-tools/dhcp_release ${D}${bindir}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb
deleted file mode 100644
index a66b9a9a..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require dnsmasq.inc
-
-SRC_URI[dnsmasq-2.79.md5sum] = "5d7120a46d0c16a334f46757d7e2ba55"
-SRC_URI[dnsmasq-2.79.sha256sum] = "77512dd6f31ffd96718e8dcbbf54f02c083f051d4cca709bd32540aea269f789"
-SRC_URI += "\
- file://lua.patch \
-"
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.81.bb b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.81.bb
new file mode 100644
index 00000000..92415386
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.81.bb
@@ -0,0 +1,8 @@
+require dnsmasq.inc
+
+SRC_URI[dnsmasq-2.81.md5sum] = "e43808177a773014b5892ccba238f7a8"
+SRC_URI[dnsmasq-2.81.sha256sum] = "3c28c68c6c2967c3a96e9b432c0c046a5df17a426d3a43cffe9e693cf05804d0"
+SRC_URI += "\
+ file://lua.patch \
+"
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf
new file mode 100644
index 00000000..33f46496
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf
@@ -0,0 +1,3 @@
+# Avoid conflicts between dnsmasq and systemd-resolved about port 53
+[Resolve]
+DNSStubListener=no
diff --git a/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf
index 9e5ab9f8..2897b903 100755
--- a/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf
+++ b/external/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf
@@ -2,7 +2,7 @@
#
# Format is one option per line, legal options are the same
# as the long options legal on the command line. See
-# "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details.
+# "/usr/bin/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,
diff --git a/external/meta-openembedded/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb b/external/meta-openembedded/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb
deleted file mode 100644
index ca59bd21..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "DNSSEC and DLV configuration and priming tool"
-DESCRIPTION = "\
-DNSSEC configuration and priming tool. Keys are required until the root \
-is signed, as well as for local unpublished DNSSEC keys to be preloaded \
-into the recursive nameserver. These DNSSEC configuration files can be \
-directly included in the bind or unbound nameserver configuration files. \
-dnssec-conf includes a commandline configuration client for Bind and \
-Unbound, known DNSSEC keys, URL's to official publication pages of keys, \
-and harvested keys, as well a script to harvest DNSKEY's from DNS. \
-See also: system-config-dnssec"
-HOMEPAGE = "https://github.com/xelerance/dnssec-conf"
-SECTION = "net"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3"
-DEPENDS += "xmlto-native docbook-xml-dtd4-native \
- docbook-xsl-stylesheets-native libxslt-native"
-
-SRC_URI = "git://github.com/xelerance/dnssec-conf.git"
-SRCREV = "8e799683736b4a7b5e5e78f98fba0a6f48393537"
-
-S = "${WORKDIR}/git"
-
-do_install () {
- rm -rf ${D}
- make PREFIX=${prefix} DESTDIR=${D} ETCDIR=${D}${sysconfdir} install
- # We no longer ship trust anchors. Most of these are in the DLV Registry now.
- # and it prevents the problem of shipping outdated trust anchors.
- # For DLV, we ship the ISC DLV Registry key
- rm -rf ${D}${sysconfdir}/pki/dnssec-keys/harvest/*
- rm -rf ${D}${sysconfdir}/pki/dnssec-keys/production/reverse/*
- install -d -m 0755 ${D}${sysconfdir}/sysconfig
- install -m 0644 packaging/fedora/dnssec.sysconfig ${D}${sysconfdir}/sysconfig/dnssec
-}
-
-RDEPENDS_${PN} = "python"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb b/external/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb
deleted file mode 100644
index 882d5d55..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
-HOMEPAGE = "https://www.dovecot.org/"
-DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory."
-SECTION = "mail"
-LICENSE = "LGPLv2.1 & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
-
-SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
- file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
- file://dovecot.service \
- file://dovecot.socket \
- file://0001-doveadm-Fix-parallel-build.patch \
- "
-
-SRC_URI[md5sum] = "d61d1e923a22f9062cc9f47696882666"
-SRC_URI[sha256sum] = "e9483d68a7698d701bc06124fcf6e1b1f16380c2986c7ec0cf4e1475b9d0c218"
-
-DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc"
-CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-LDFLAGS += "-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/external/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.4.bb b/external/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.4.bb
new file mode 100644
index 00000000..0f7fad2b
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.4.bb
@@ -0,0 +1,69 @@
+SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
+HOMEPAGE = "https://www.dovecot.org/"
+DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory."
+SECTION = "mail"
+LICENSE = "LGPLv2.1 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
+
+SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
+ file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
+ file://dovecot.service \
+ file://dovecot.socket \
+ file://0001-doveadm-Fix-parallel-build.patch \
+ "
+
+SRC_URI[md5sum] = "66c4d71858b214afee5b390ee602dee2"
+SRC_URI[sha256sum] = "777c61e264869e9b288b8d6603f4ed3ac3aac9ec573908067353f51269dce2fe"
+
+DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc"
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+LDFLAGS += "-ltirpc"
+
+inherit autotools pkgconfig systemd useradd gettext
+
+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/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch
deleted file mode 100644
index c0f3adf2..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Subject: drbd-tools: only rmmod if DRBD is a module
-
-Account for the case if the DRBD drive is built into
-the kernel. Otherwise, errors, like the following,
-will occur:
-
-root@localhost:~# /etc/init.d/drbd stop
- Stopping all DRBD resources: ERROR: Module drbd
- does not exist in /proc/modules
-
-Upstream-Status: Submitted [https://github.com/LINBIT/drbd-utils/pull/2]
-
-Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-
-[ refresh to 8.4.4: squash Aws' and Jason's patches ]
-Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- scripts/drbd | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/scripts/drbd b/scripts/drbd
-index 20bf628..de589dc 100755
---- a/scripts/drbd
-+++ b/scripts/drbd
-@@ -241,7 +241,9 @@ case "$1" in
- if [ -d /sys/module/drbd/holders ]; then
- (cd /sys/module/drbd/holders; for tr in *; do [ -d ${tr} ] && ${RMMOD} ${tr}; done)
- fi
-- $RMMOD drbd && break
-+ if [ ! -z "$(cat /proc/modules | grep -w drbd)" ]; then
-+ $RMMOD drbd && break
-+ fi
- fi
- done
- run_hook stop
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
new file mode 100644
index 00000000..5e128727
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
@@ -0,0 +1,108 @@
+From 642b5823abeee27a0fdc2d12d0e1235461ace9ed Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 5 Sep 2019 18:57:39 +0800
+Subject: [PATCH] drbd-utils: support usrmerge
+
+Upstream-Status: Inappropriate[oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 2 +-
+ scripts/Makefile.in | 4 ++--
+ user/v83/Makefile.in | 14 +++++++-------
+ user/v84/Makefile.in | 14 +++++++-------
+ 4 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4df1b4d..c4ef1bc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -176,7 +176,7 @@ AC_ARG_WITH(tmpfilesdir,
+ AC_SUBST(tmpfilesdir)
+
+ # set default early
+-default_udevdir=/lib/udev
++default_udevdir=${prefix}/lib/udev
+ if test x"$with_udev" = x || \
+ test x"$with_udev" = xyes ; then
+ if test x"$PKG_CONFIG" != x; then
+diff --git a/scripts/Makefile.in b/scripts/Makefile.in
+index fbb0beb..da701a1 100644
+--- a/scripts/Makefile.in
++++ b/scripts/Makefile.in
+@@ -75,8 +75,8 @@ endif
+ ifeq ($(subst both,systemd,$(initscripttype)),systemd)
+ install -d $(DESTDIR)$(systemdunitdir)
+ install -m 644 drbd.service $(DESTDIR)$(systemdunitdir)/
+- install -d $(DESTDIR)/lib/drbd/
+- install -m 755 drbd $(DESTDIR)/lib/drbd/
++ install -d $(DESTDIR)/${nonarch_libdir}/drbd
++ install -m 755 drbd $(DESTDIR)/${nonarch_libdir}/drbd
+ install -d $(DESTDIR)$(tmpfilesdir)/
+ install -m 444 drbd.tmpfiles.conf $(DESTDIR)$(tmpfilesdir)/drbd.conf
+ endif
+diff --git a/user/v83/Makefile.in b/user/v83/Makefile.in
+index 27516de..b301376 100644
+--- a/user/v83/Makefile.in
++++ b/user/v83/Makefile.in
+@@ -96,19 +96,19 @@ install:
+ ifeq ($(WITH_83_SUPPORT),yes)
+ install -d $(DESTDIR)$(localstatedir)/lib/drbd
+ install -d $(DESTDIR)$(localstatedir)/lock
+- install -d $(DESTDIR)/lib/drbd/
++ install -d $(DESTDIR)/${nonarch_libdir}/drbd/
+ if getent group haclient > /dev/null 2> /dev/null ; then \
+- install -g haclient -m 4750 drbdsetup-83 $(DESTDIR)/lib/drbd/ ; \
+- install -m 755 drbdadm-83 $(DESTDIR)/lib/drbd/ ; \
++ install -g haclient -m 4750 drbdsetup-83 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
++ install -m 755 drbdadm-83 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
+ else \
+- install -m 755 drbdsetup-83 $(DESTDIR)/lib/drbd/ ; \
+- install -m 755 drbdadm-83 $(DESTDIR)/lib/drbd/ ; \
++ install -m 755 drbdsetup-83 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
++ install -m 755 drbdadm-83 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
+ fi
+ endif
+
+ uninstall:
+- rm -f $(DESTDIR)/lib/drbd/drbdsetup-83
+- rm -f $(DESTDIR)/lib/drbd/drbdadm-83
++ rm -f $(DESTDIR)/${nonarch_libdir}/drbd/drbdsetup-83
++ rm -f $(DESTDIR)/${nonarch_libdir}/drbd/drbdadm-83
+
+ .PHONY: install uninstall clean distclean
+ ../../configure:
+diff --git a/user/v84/Makefile.in b/user/v84/Makefile.in
+index 38977c6..05ef060 100644
+--- a/user/v84/Makefile.in
++++ b/user/v84/Makefile.in
+@@ -109,19 +109,19 @@ ifeq ($(WITH_84_SUPPORT),yes)
+ install -d $(DESTDIR)$(localstatedir)/lib/drbd
+ install -d $(DESTDIR)$(localstatedir)/run/drbd
+ install -d $(DESTDIR)$(localstatedir)/lock
+- install -d $(DESTDIR)/lib/drbd/
++ install -d $(DESTDIR)/${nonarch_libdir}/drbd/
+ if getent group haclient > /dev/null 2> /dev/null ; then \
+- install -g haclient -m 4750 drbdsetup-84 $(DESTDIR)/lib/drbd/ ; \
+- install -m 755 drbdadm-84 $(DESTDIR)/lib/drbd/ ; \
++ install -g haclient -m 4750 drbdsetup-84 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
++ install -m 755 drbdadm-84 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
+ else \
+- install -m 755 drbdsetup-84 $(DESTDIR)/lib/drbd/ ; \
+- install -m 755 drbdadm-84 $(DESTDIR)/lib/drbd/ ; \
++ install -m 755 drbdsetup-84 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
++ install -m 755 drbdadm-84 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
+ fi
+ endif
+
+ uninstall:
+- rm -f $(DESTDIR)/lib/drbd/drbdsetup-84
+- rm -f $(DESTDIR)/lib/drbd/drbdadm-84
++ rm -f $(DESTDIR)/${nonarch_libdir}/drbd/drbdsetup-84
++ rm -f $(DESTDIR)/${nonarch_libdir}/drbd/drbdadm-84
+
+ spell:
+ for f in drbdadm_adjust.c drbdadm_main.c drbdadm_parser.c drbdadm_usage_cnt.c drbdsetup.c drbdtool_common.c; do \
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.12.0.bb b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.12.0.bb
new file mode 100644
index 00000000..b83f68f8
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.12.0.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Distributed block device driver for Linux"
+DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\
+DRBD mirrors a block device over the network to another machine.\
+Think of it as networked raid 1. It is a building block for\
+setting up high availability (HA) clusters."
+HOMEPAGE = "http://www.drbd.org/"
+SECTION = "admin"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+
+SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils \
+ git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers \
+ ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \
+ "
+# v9.12.0
+SRCREV_drbd-utils = "91629a4cce49ca0d4f917fe0bffa25cfe8db3052"
+SRCREV_drbd-headers = "233006b4d26cf319638be0ef6d16ec7dee287b66"
+
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases"
+
+SYSTEMD_SERVICE_${PN} = "drbd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+DEPENDS = "flex-native"
+
+inherit autotools-brokensep systemd
+
+EXTRA_OECONF = " \
+ --with-initdir=/etc/init.d \
+ --without-pacemaker \
+ --without-rgmanager \
+ --without-bashcompletion \
+ --with-distro debian \
+ --with-initscripttype=both \
+ --with-systemdunitdir=${systemd_unitdir}/system \
+ --without-manual \
+ "
+
+# If we have inherited reproducible_build, we want to use it.
+export WANT_DRBD_REPRODUCIBLE_BUILD = "yes"
+
+do_install_append() {
+ # don't install empty /var/lock and /var/run to avoid conflict with base-files
+ rm -rf ${D}${localstatedir}/lock
+ rm -rf ${D}${localstatedir}/run
+}
+
+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.
+#
+FILES_${PN} += "/run"
+FILES_${PN} += "${nonarch_base_libdir}/drbd \
+ ${nonarch_libdir}/drbd \
+ ${nonarch_libdir}/tmpfiles.d"
+FILES_${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.5.0.bb b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.5.0.bb
deleted file mode 100644
index bd1e8576..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.5.0.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Distributed block device driver for Linux"
-DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\
-DRBD mirrors a block device over the network to another machine.\
-Think of it as networked raid 1. It is a building block for\
-setting up high availability (HA) clusters."
-HOMEPAGE = "http://www.drbd.org/"
-SECTION = "admin"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
-
-SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils \
- git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers \
- file://0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch \
- "
-# v9.5.0
-SRCREV_drbd-utils = "ee126652638328b55dc6bff47d07d6161ab768db"
-SRCREV_drbd-headers = "b47cc11bcabe1a65c40ad23f71dcaf2da6419630"
-
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases"
-
-SYSTEMD_SERVICE_${PN} = "drbd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-inherit autotools-brokensep systemd
-
-EXTRA_OECONF = " \
- --with-initdir=/etc/init.d \
- --without-pacemaker \
- --without-rgmanager \
- --without-bashcompletion \
- --with-distro debian \
- --with-initscripttype=both \
- --with-systemdunitdir=${systemd_unitdir}/system \
- --without-manual \
- "
-
-do_configure_prepend() {
- # move the the file under folder /lib/drbd/ to /usr/lib/drbd when usrmerge enabled
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- for m_file in `find ${S} -name 'Makefile.in'`; do
- sed -i -e "s;\$(DESTDIR)\/lib\/drbd;\$(DESTDIR)\${nonarch_libdir}\/drbd;g" $m_file
- done
- # move the the file under folder /lib/udev/ to /usr/lib/udev when usrmerge enabled
- sed -i -e "s;default_udevdir=/lib/udev;default_udevdir=\${prefix}/lib/udev;g" ${S}/configure.ac
- fi
-
-}
-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.
-#
-FILES_${PN} += "/run"
-FILES_${PN} += "${nonarch_base_libdir}/drbd \
- ${nonarch_libdir}/drbd \
- ${nonarch_libdir}/tmpfiles.d"
-FILES_${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.19-1.bb b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.19-1.bb
new file mode 100644
index 00000000..23fe2021
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.19-1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Distributed block device driver for Linux"
+DESCRIPTION = "DRBD is a block device which is designed to build high \
+ availability clusters. This is done by mirroring a whole \
+ block device via (a dedicated) network. You could see \
+ it as a network raid-1."
+HOMEPAGE = "http://oss.linbit.com/drbd/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+DEPENDS = "virtual/kernel"
+
+SRC_URI = "http://www.linbit.com/downloads/drbd/9.0/drbd-${PV}.tar.gz \
+ file://check_existence_of_modules_before_installing.patch \
+ "
+SRC_URI[md5sum] = "bd1202eaaf81641752d0c9b003b10f6c"
+SRC_URI[sha256sum] = "5b3d2bcb99542940e40af903dea783cf04524e9f41cc530e210d2c15ef84fa58"
+
+inherit module
+
+EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
+
+do_install () {
+ oe_runmake install DESTDIR="${D}"
+}
+
+PNBLACKLIST[drbd] = "Kernel module Needs forward porting to kernel 5.2+"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb b/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
deleted file mode 100644
index fa4d10b4..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Distributed block device driver for Linux"
-DESCRIPTION = "DRBD is a block device which is designed to build high \
- availability clusters. This is done by mirroring a whole \
- block device via (a dedicated) network. You could see \
- it as a network raid-1."
-HOMEPAGE = "http://oss.linbit.com/drbd/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
-DEPENDS = "virtual/kernel"
-
-SRC_URI = "http://www.linbit.com/downloads/drbd/9.0/drbd-${PV}.tar.gz \
- file://check_existence_of_modules_before_installing.patch"
-
-SRC_URI[md5sum] = "c1dd58043f46e9926b579aa65d4ea980"
-SRC_URI[sha256sum] = "87f72d46db9bad926415b3ab9f5f1397de8c581d2e2ec1addbdd5ce2604e6123"
-inherit module
-
-EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
-
-do_install () {
- oe_runmake install DESTDIR="${D}"
-}
-
-PNBLACKLIST[drbd] = "implicit declaration of function 'setup_timer'; 4.15 head file issue?"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb b/external/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
index 663161a9..972d5aa7 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
@@ -18,11 +18,15 @@ EXTRA_OECONF = "--with-libesmtp=${STAGING_EXECPREFIXDIR}"
inherit autotools update-alternatives
-ALTERNATIVE_${PN} += "sendmail mailq newaliases"
+ALTERNATIVE_${PN} = "sendmail mailq newaliases"
+# /usr/lib/sendmial is required by LSB core test
+ALTERNATIVE_${PN}_linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail"
ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq"
ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases"
ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
ALTERNATIVE_TARGET[sendmail] = "${bindir}/esmtp"
+ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
+ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/esmtp"
ALTERNATIVE_PRIORITY = "10"
@@ -39,9 +43,4 @@ do_install_append() {
rm -rf ${D}${libdir}
}
-pkg_postinst_${PN}_linuxstdbase () {
- # /usr/lib/sendmial is required by LSB core test
- [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
-}
-
FILES_${PN} += "${libdir}/"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail/02_remove_SSLv3.patch b/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail/02_remove_SSLv3.patch
deleted file mode 100644
index 95cfa2f4..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail/02_remove_SSLv3.patch
+++ /dev/null
@@ -1,1576 +0,0 @@
-Description: <short summary of the patch>
- TODO: Put a short summary on the line above and replace this paragraph
- with a longer explanation of this change. Complete the meta-information
- with other relevant fields (see below for details). To make it easier, the
- information below has been extracted from the changelog. Adjust it or drop
- it.
- .
- fetchmail (6.3.26-2) unstable; urgency=low
- .
- * New maintainer (closes: #800750).
- * Backport upstream fix for SSLv3 removal (closes: #804604) and do not
- recommend SSLv3 (closes: #801178).
- * Remove quilt and its usage.
- * Add dh-python to build depends.
- * Update upstream URLs.
- * Update watch file.
- * Update Standards-Version to 3.9.6 .
-Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
-Bug-Debian: https://bugs.debian.org/800750
-Bug-Debian: https://bugs.debian.org/801178
-Bug-Debian: https://bugs.debian.org/804604
-
----
-The information above should follow the Patch Tagging Guidelines, please
-checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
-are templates for supplementary fields that you might want to add:
-
-Origin: <vendor|upstream|other>, <url of original patch>
-Bug: <url in upstream bugtracker>
-Bug-Debian: https://bugs.debian.org/<bugnumber>
-Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
-Forwarded: <no|not-needed|url proving that it has been forwarded>
-Reviewed-By: <name and email of someone who approved the patch>
-Last-Update: <YYYY-MM-DD>
-
---- fetchmail-6.3.26.orig/Makefile.am
-+++ fetchmail-6.3.26/Makefile.am
-@@ -31,7 +31,7 @@ libfm_a_SOURCES= xmalloc.c base64.c rfc8
- servport.c ntlm.h smbbyteorder.h smbdes.h smbmd4.h \
- smbencrypt.h smbdes.c smbencrypt.c smbmd4.c smbutil.c \
- libesmtp/gethostbyname.h libesmtp/gethostbyname.c \
-- smbtypes.h fm_getaddrinfo.c tls.c rfc822valid.c \
-+ smbtypes.h fm_getaddrinfo.c starttls.c rfc822valid.c \
- xmalloc.h sdump.h sdump.c x509_name_match.c \
- fm_strl.h md5c.c
- if NTLM_ENABLE
---- fetchmail-6.3.26.orig/Makefile.in
-+++ fetchmail-6.3.26/Makefile.in
-@@ -97,14 +97,14 @@ am__libfm_a_SOURCES_DIST = xmalloc.c bas
- rfc2047e.c servport.c ntlm.h smbbyteorder.h smbdes.h smbmd4.h \
- smbencrypt.h smbdes.c smbencrypt.c smbmd4.c smbutil.c \
- libesmtp/gethostbyname.h libesmtp/gethostbyname.c smbtypes.h \
-- fm_getaddrinfo.c tls.c rfc822valid.c xmalloc.h sdump.h sdump.c \
-+ fm_getaddrinfo.c starttls.c rfc822valid.c xmalloc.h sdump.h sdump.c \
- x509_name_match.c fm_strl.h md5c.c ntlmsubr.c
- @NTLM_ENABLE_TRUE@am__objects_1 = ntlmsubr.$(OBJEXT)
- am_libfm_a_OBJECTS = xmalloc.$(OBJEXT) base64.$(OBJEXT) \
- rfc822.$(OBJEXT) report.$(OBJEXT) rfc2047e.$(OBJEXT) \
- servport.$(OBJEXT) smbdes.$(OBJEXT) smbencrypt.$(OBJEXT) \
- smbmd4.$(OBJEXT) smbutil.$(OBJEXT) gethostbyname.$(OBJEXT) \
-- fm_getaddrinfo.$(OBJEXT) tls.$(OBJEXT) rfc822valid.$(OBJEXT) \
-+ fm_getaddrinfo.$(OBJEXT) starttls.$(OBJEXT) rfc822valid.$(OBJEXT) \
- sdump.$(OBJEXT) x509_name_match.$(OBJEXT) md5c.$(OBJEXT) \
- $(am__objects_1)
- libfm_a_OBJECTS = $(am_libfm_a_OBJECTS)
-@@ -483,7 +483,7 @@ libfm_a_SOURCES = xmalloc.c base64.c rfc
- servport.c ntlm.h smbbyteorder.h smbdes.h smbmd4.h \
- smbencrypt.h smbdes.c smbencrypt.c smbmd4.c smbutil.c \
- libesmtp/gethostbyname.h libesmtp/gethostbyname.c smbtypes.h \
-- fm_getaddrinfo.c tls.c rfc822valid.c xmalloc.h sdump.h sdump.c \
-+ fm_getaddrinfo.c starttls.c rfc822valid.c xmalloc.h sdump.h sdump.c \
- x509_name_match.c fm_strl.h md5c.c $(am__append_1)
- libfm_a_LIBADD = $(EXTRAOBJ)
- libfm_a_DEPENDENCIES = $(EXTRAOBJ)
---- fetchmail-6.3.26.orig/NEWS
-+++ fetchmail-6.3.26/NEWS
-@@ -51,8 +51,6 @@ removed from a 6.4.0 or newer release.)
- * The --bsmtp - mode of operation may be removed in a future release.
- * Given that OpenSSL is severely underdocumented, and needs license exceptions,
- fetchmail may switch to a different SSL library.
--* SSLv2 support will be removed from a future fetchmail release. It has been
-- obsolete for more than a decade.
-
- --------------------------------------------------------------------------------
-
---- fetchmail-6.3.26.orig/README.SSL
-+++ fetchmail-6.3.26/README.SSL
-@@ -11,36 +11,45 @@ specific to fetchmail.
- In case of troubles, mail the README.SSL-SERVER file to your ISP and
- have them check their server configuration against it.
-
--Unfortunately, fetchmail confuses SSL/TLS protocol levels with whether
--a service needs to use in-band negotiation (STLS/STARTTLS for POP3/IMAP4) or is
--totally SSL-wrapped on a separate port. For compatibility reasons, this cannot
--be fixed in a bugfix release.
-+Unfortunately, fetchmail confuses SSL/TLS protocol levels with whether a
-+service needs to use in-band negotiation (STLS/STARTTLS for POP3/IMAP4)
-+or is totally SSL-wrapped on a separate port. For compatibility
-+reasons, this cannot be fixed in a bugfix or minor release.
-+
-+Also, fetchmail 6.4.0 and newer releases changed some of the semantics
-+as the result of a bug-fix, and will auto-negotiate TLSv1 or newer only.
-+If your server does not support this, you may have to specify --sslproto
-+ssl3. This is in order to prefer the newer TLS protocols, because SSLv2
-+and v3 are broken.
-
-- -- Matthias Andree, 2009-05-09
-+ -- Matthias Andree, 2015-01-16
-
-
- Quickstart
- ----------
-
-+Use an up-to-date release of OpenSSL 1.0.1 or newer, so as to get
-+TLSv1.2 support.
-+
- For use of SSL or TLS with in-band negotiation on the regular service's port,
- i. e. with STLS or STARTTLS, use these command line options
-
-- --sslproto tls1 --sslcertck
-+ --sslproto auto --sslcertck
-
- or these options in the rcfile (after the respective "user"... options)
-
-- sslproto tls1 sslcertck
-+ sslproto auto sslcertck
-
-
- For use of SSL or TLS on a separate port, if the whole TCP connection is
--SSL-encrypted from the very beginning, use these command line options (in the
--rcfile, omit all leading "--"):
-+SSL-encrypted from the very beginning (SSL- or TLS-wrapped), use these
-+command line options (in the rcfile, omit all leading "--"):
-
-- --ssl --sslproto ssl3 --sslcertck
-+ --ssl --sslproto auto --sslcertck
-
- or these options in the rcfile (after the respective "user"... options)
-
-- ssl sslproto ssl3 sslcertck
-+ ssl sslproto auto sslcertck
-
-
- Background and use (long version :-))
---- fetchmail-6.3.26.orig/config.h.in
-+++ fetchmail-6.3.26/config.h.in
-@@ -49,9 +49,9 @@
- don't. */
- #undef HAVE_DECL_H_ERRNO
-
--/* Define to 1 if you have the declaration of `SSLv2_client_method', and to 0
-+/* Define to 1 if you have the declaration of `SSLv3_client_method', and to 0
- if you don't. */
--#undef HAVE_DECL_SSLV2_CLIENT_METHOD
-+#undef HAVE_DECL_SSLV3_CLIENT_METHOD
-
- /* Define to 1 if you have the declaration of `strerror', and to 0 if you
- don't. */
---- fetchmail-6.3.26.orig/configure
-+++ fetchmail-6.3.26/configure
-@@ -1,13 +1,11 @@
- #! /bin/sh
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.68 for fetchmail 6.3.26.
-+# Generated by GNU Autoconf 2.69 for fetchmail 6.3.26.
- #
- # Report bugs to <fetchmail-users@lists.berlios.de>.
- #
- #
--# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
--# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
--# Foundation, Inc.
-+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
- #
- #
- # This configure script is free software; the Free Software Foundation
-@@ -136,6 +134,31 @@ export LANGUAGE
- # CDPATH.
- (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-+# Use a proper internal environment variable to ensure we don't fall
-+ # into an infinite loop, continuously re-executing ourselves.
-+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-+ _as_can_reexec=no; export _as_can_reexec;
-+ # We cannot yet assume a decent shell, so we have to provide a
-+# neutralization value for shells without unset; and this also
-+# works around shells that cannot unset nonexistent variables.
-+# Preserve -v and -x to the replacement shell.
-+BASH_ENV=/dev/null
-+ENV=/dev/null
-+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-+case $- in # ((((
-+ *v*x* | *x*v* ) as_opts=-vx ;;
-+ *v* ) as_opts=-v ;;
-+ *x* ) as_opts=-x ;;
-+ * ) as_opts= ;;
-+esac
-+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-+# Admittedly, this is quite paranoid, since all the known shells bail
-+# out after a failed `exec'.
-+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-+as_fn_exit 255
-+ fi
-+ # We don't want this to propagate to other subprocesses.
-+ { _as_can_reexec=; unset _as_can_reexec;}
- if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
-@@ -169,7 +192,8 @@ if ( set x; as_fn_ret_success y && test
- else
- exitcode=1; echo positional parameters were not saved.
- fi
--test x\$exitcode = x0 || exit 1"
-+test x\$exitcode = x0 || exit 1
-+test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-@@ -214,21 +238,25 @@ IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
-- # We cannot yet assume a decent shell, so we have to provide a
-- # neutralization value for shells without unset; and this also
-- # works around shells that cannot unset nonexistent variables.
-- # Preserve -v and -x to the replacement shell.
-- BASH_ENV=/dev/null
-- ENV=/dev/null
-- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-- export CONFIG_SHELL
-- case $- in # ((((
-- *v*x* | *x*v* ) as_opts=-vx ;;
-- *v* ) as_opts=-v ;;
-- *x* ) as_opts=-x ;;
-- * ) as_opts= ;;
-- esac
-- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-+ export CONFIG_SHELL
-+ # We cannot yet assume a decent shell, so we have to provide a
-+# neutralization value for shells without unset; and this also
-+# works around shells that cannot unset nonexistent variables.
-+# Preserve -v and -x to the replacement shell.
-+BASH_ENV=/dev/null
-+ENV=/dev/null
-+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-+case $- in # ((((
-+ *v*x* | *x*v* ) as_opts=-vx ;;
-+ *v* ) as_opts=-v ;;
-+ *x* ) as_opts=-x ;;
-+ * ) as_opts= ;;
-+esac
-+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-+# Admittedly, this is quite paranoid, since all the known shells bail
-+# out after a failed `exec'.
-+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-+exit 255
- fi
-
- if test x$as_have_required = xno; then :
-@@ -331,6 +359,14 @@ $as_echo X"$as_dir" |
-
-
- } # as_fn_mkdir_p
-+
-+# as_fn_executable_p FILE
-+# -----------------------
-+# Test if FILE is an executable regular file.
-+as_fn_executable_p ()
-+{
-+ test -f "$1" && test -x "$1"
-+} # as_fn_executable_p
- # as_fn_append VAR VALUE
- # ----------------------
- # Append the text in VALUE to the end of the definition contained in VAR. Take
-@@ -452,6 +488,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-+ # already done that, so ensure we don't try to do so again and fall
-+ # in an infinite loop. This has already happened in practice.
-+ _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
-@@ -486,16 +526,16 @@ if (echo >conf$$.file) 2>/dev/null; then
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-- # In both cases, we have to default to `cp -p'.
-+ # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-- as_ln_s='cp -p'
-+ as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
-- as_ln_s='cp -p'
-+ as_ln_s='cp -pR'
- fi
- else
-- as_ln_s='cp -p'
-+ as_ln_s='cp -pR'
- fi
- rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
- rmdir conf$$.dir 2>/dev/null
-@@ -507,28 +547,8 @@ else
- as_mkdir_p=false
- fi
-
--if test -x / >/dev/null 2>&1; then
-- as_test_x='test -x'
--else
-- if ls -dL / >/dev/null 2>&1; then
-- as_ls_L_option=L
-- else
-- as_ls_L_option=
-- fi
-- as_test_x='
-- eval sh -c '\''
-- if test -d "$1"; then
-- test -d "$1/.";
-- else
-- case $1 in #(
-- -*)set "./$1";;
-- esac;
-- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-- ???[sx]*):;;*)false;;esac;fi
-- '\'' sh
-- '
--fi
--as_executable_p=$as_test_x
-+as_test_x='test -x'
-+as_executable_p=as_fn_executable_p
-
- # Sed expression to map a string onto a valid CPP name.
- as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-@@ -742,6 +762,7 @@ infodir
- docdir
- oldincludedir
- includedir
-+runstatedir
- localstatedir
- sharedstatedir
- sysconfdir
-@@ -841,6 +862,7 @@ datadir='${datarootdir}'
- sysconfdir='${prefix}/etc'
- sharedstatedir='${prefix}/com'
- localstatedir='${prefix}/var'
-+runstatedir='${localstatedir}/run'
- includedir='${prefix}/include'
- oldincludedir='/usr/include'
- docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-@@ -1093,6 +1115,15 @@ do
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
-+ -runstatedir | --runstatedir | --runstatedi | --runstated \
-+ | --runstate | --runstat | --runsta | --runst | --runs \
-+ | --run | --ru | --r)
-+ ac_prev=runstatedir ;;
-+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-+ | --run=* | --ru=* | --r=*)
-+ runstatedir=$ac_optarg ;;
-+
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-@@ -1230,7 +1261,7 @@ fi
- for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-- libdir localedir mandir
-+ libdir localedir mandir runstatedir
- do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
-@@ -1258,8 +1289,6 @@ target=$target_alias
- if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
-- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-@@ -1385,6 +1414,7 @@ Fine tuning of the installation director
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
-+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
-@@ -1548,9 +1578,9 @@ test -n "$ac_init_help" && exit $ac_stat
- if $ac_init_version; then
- cat <<\_ACEOF
- fetchmail configure 6.3.26
--generated by GNU Autoconf 2.68
-+generated by GNU Autoconf 2.69
-
--Copyright (C) 2010 Free Software Foundation, Inc.
-+Copyright (C) 2012 Free Software Foundation, Inc.
- This configure script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it.
- _ACEOF
-@@ -1827,7 +1857,7 @@ $as_echo "$ac_try_echo"; } >&5
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
-- $as_test_x conftest$ac_exeext
-+ test -x conftest$ac_exeext
- }; then :
- ac_retval=0
- else
-@@ -2030,7 +2060,8 @@ int
- main ()
- {
- static int test_array [1 - 2 * !(($2) >= 0)];
--test_array [0] = 0
-+test_array [0] = 0;
-+return test_array [0];
-
- ;
- return 0;
-@@ -2046,7 +2077,8 @@ int
- main ()
- {
- static int test_array [1 - 2 * !(($2) <= $ac_mid)];
--test_array [0] = 0
-+test_array [0] = 0;
-+return test_array [0];
-
- ;
- return 0;
-@@ -2072,7 +2104,8 @@ int
- main ()
- {
- static int test_array [1 - 2 * !(($2) < 0)];
--test_array [0] = 0
-+test_array [0] = 0;
-+return test_array [0];
-
- ;
- return 0;
-@@ -2088,7 +2121,8 @@ int
- main ()
- {
- static int test_array [1 - 2 * !(($2) >= $ac_mid)];
--test_array [0] = 0
-+test_array [0] = 0;
-+return test_array [0];
-
- ;
- return 0;
-@@ -2122,7 +2156,8 @@ int
- main ()
- {
- static int test_array [1 - 2 * !(($2) <= $ac_mid)];
--test_array [0] = 0
-+test_array [0] = 0;
-+return test_array [0];
-
- ;
- return 0;
-@@ -2195,7 +2230,7 @@ This file contains any messages produced
- running configure, to aid debugging if configure makes a mistake.
-
- It was created by fetchmail $as_me 6.3.26, which was
--generated by GNU Autoconf 2.68. Invocation command line was
-+generated by GNU Autoconf 2.69. Invocation command line was
-
- $ $0 $@
-
-@@ -2689,7 +2724,7 @@ case $as_dir/ in #((
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
-@@ -2858,7 +2893,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -2898,7 +2933,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -2949,7 +2984,7 @@ do
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
-- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
-@@ -3002,7 +3037,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -3295,7 +3330,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -3466,7 +3501,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -3512,7 +3547,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -3552,7 +3587,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -3605,7 +3640,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -3646,7 +3681,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
-@@ -3704,7 +3739,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -3748,7 +3783,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -4194,8 +4229,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
- /* end confdefs.h. */
- #include <stdarg.h>
- #include <stdio.h>
--#include <sys/types.h>
--#include <sys/stat.h>
-+struct stat;
- /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
- struct buf { int x; };
- FILE * (*rcsopen) (struct buf *, struct stat *, int);
-@@ -4751,7 +4785,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -4791,7 +4825,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -4859,7 +4893,7 @@ do
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-+ as_fn_executable_p "$ac_path_GREP" || continue
- # Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
- case `"$ac_path_GREP" --version 2>&1` in
-@@ -4925,7 +4959,7 @@ do
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-+ as_fn_executable_p "$ac_path_EGREP" || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
- case `"$ac_path_EGREP" --version 2>&1` in
-@@ -5132,8 +5166,8 @@ else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
--# define __EXTENSIONS__ 1
-- $ac_includes_default
-+# define __EXTENSIONS__ 1
-+ $ac_includes_default
- int
- main ()
- {
-@@ -5513,11 +5547,11 @@ else
- int
- main ()
- {
--/* FIXME: Include the comments suggested by Paul. */
-+
- #ifndef __cplusplus
-- /* Ultrix mips cc rejects this. */
-+ /* Ultrix mips cc rejects this sort of thing. */
- typedef int charset[2];
-- const charset cs;
-+ const charset cs = { 0, 0 };
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *pcpcc;
- char **ppc;
-@@ -5534,8 +5568,9 @@ main ()
- ++pcpcc;
- ppc = (char**) pcpcc;
- pcpcc = (char const *const *) ppc;
-- { /* SCO 3.2v4 cc rejects this. */
-- char *t;
-+ { /* SCO 3.2v4 cc rejects this sort of thing. */
-+ char tx;
-+ char *t = &tx;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
-@@ -5551,10 +5586,10 @@ main ()
- iptr p = 0;
- ++p;
- }
-- { /* AIX XL C 1.02.0.0 rejects this saying
-+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-- struct s { int j; const int *ap[3]; };
-- struct s *b; b->j = 5;
-+ struct s { int j; const int *ap[3]; } bx;
-+ struct s *b = &bx; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
-@@ -5600,7 +5635,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_LEX="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -5632,7 +5667,8 @@ a { ECHO; }
- b { REJECT; }
- c { yymore (); }
- d { yyless (1); }
--e { yyless (input () != 0); }
-+e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
-+ yyless ((input () != 0)); }
- f { unput (yytext[0]); }
- . { BEGIN INITIAL; }
- %%
-@@ -5792,7 +5828,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_YACC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -6044,7 +6080,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -8548,7 +8584,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_procmail="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -8590,7 +8626,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_sendmail="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -8632,7 +8668,7 @@ do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
-- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_maildrop="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
-@@ -10121,16 +10157,16 @@ $as_echo "$as_me: WARNING: Consider re-r
- fi
-
- case "$LIBS" in *-lssl*)
-- ac_fn_c_check_decl "$LINENO" "SSLv2_client_method" "ac_cv_have_decl_SSLv2_client_method" "#include <openssl/ssl.h>
-+ ac_fn_c_check_decl "$LINENO" "SSLv3_client_method" "ac_cv_have_decl_SSLv3_client_method" "#include <openssl/ssl.h>
- "
--if test "x$ac_cv_have_decl_SSLv2_client_method" = xyes; then :
-+if test "x$ac_cv_have_decl_SSLv3_client_method" = xyes; then :
- ac_have_decl=1
- else
- ac_have_decl=0
- fi
-
- cat >>confdefs.h <<_ACEOF
--#define HAVE_DECL_SSLV2_CLIENT_METHOD $ac_have_decl
-+#define HAVE_DECL_SSLV3_CLIENT_METHOD $ac_have_decl
- _ACEOF
-
- ;;
-@@ -11334,16 +11370,16 @@ if (echo >conf$$.file) 2>/dev/null; then
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-- # In both cases, we have to default to `cp -p'.
-+ # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-- as_ln_s='cp -p'
-+ as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
-- as_ln_s='cp -p'
-+ as_ln_s='cp -pR'
- fi
- else
-- as_ln_s='cp -p'
-+ as_ln_s='cp -pR'
- fi
- rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
- rmdir conf$$.dir 2>/dev/null
-@@ -11403,28 +11439,16 @@ else
- as_mkdir_p=false
- fi
-
--if test -x / >/dev/null 2>&1; then
-- as_test_x='test -x'
--else
-- if ls -dL / >/dev/null 2>&1; then
-- as_ls_L_option=L
-- else
-- as_ls_L_option=
-- fi
-- as_test_x='
-- eval sh -c '\''
-- if test -d "$1"; then
-- test -d "$1/.";
-- else
-- case $1 in #(
-- -*)set "./$1";;
-- esac;
-- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-- ???[sx]*):;;*)false;;esac;fi
-- '\'' sh
-- '
--fi
--as_executable_p=$as_test_x
-+
-+# as_fn_executable_p FILE
-+# -----------------------
-+# Test if FILE is an executable regular file.
-+as_fn_executable_p ()
-+{
-+ test -f "$1" && test -x "$1"
-+} # as_fn_executable_p
-+as_test_x='test -x'
-+as_executable_p=as_fn_executable_p
-
- # Sed expression to map a string onto a valid CPP name.
- as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-@@ -11446,7 +11470,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
- # values after options handling.
- ac_log="
- This file was extended by fetchmail $as_me 6.3.26, which was
--generated by GNU Autoconf 2.68. Invocation command line was
-+generated by GNU Autoconf 2.69. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
-@@ -11512,10 +11536,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
- ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
- ac_cs_version="\\
- fetchmail config.status 6.3.26
--configured by $0, generated by GNU Autoconf 2.68,
-+configured by $0, generated by GNU Autoconf 2.69,
- with options \\"\$ac_cs_config\\"
-
--Copyright (C) 2010 Free Software Foundation, Inc.
-+Copyright (C) 2012 Free Software Foundation, Inc.
- This config.status script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it."
-
-@@ -11606,7 +11630,7 @@ fi
- _ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- if \$ac_cs_recheck; then
-- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
---- fetchmail-6.3.26.orig/configure.ac
-+++ fetchmail-6.3.26/configure.ac
-@@ -802,7 +802,7 @@ else
- fi
-
- case "$LIBS" in *-lssl*)
-- AC_CHECK_DECLS([SSLv2_client_method],,,[#include <openssl/ssl.h>])
-+ AC_CHECK_DECLS([SSLv3_client_method],,,[#include <openssl/ssl.h>])
- ;;
- esac
-
---- fetchmail-6.3.26.orig/fetchmail-FAQ.html
-+++ fetchmail-6.3.26/fetchmail-FAQ.html
-@@ -667,8 +667,8 @@ because there is not currently a standar
- also uses this method, so the two will interoperate happily. They
- better, because this is how Craig gets his mail ;-)</p>
-
--<p>Finally, you can use <a href="#K5">SSL</a> for complete
--end-to-end encryption if you have an SSL-enabled mailserver.</p>
-+<p>Finally, you can use <a href="#K5">SSL or TLS</a> for complete
-+end-to-end encryption if you have a TLS-enabled mailserver.</p>
-
- <h2><a id="G11" name="G11">G11. Is any special configuration needed
- to use a dynamic IP address?</a></h2>
-@@ -2120,7 +2120,7 @@ SSL?</a></h2>
-
- <p>You'll need to have the <a
- href="http://www.openssl.org/">OpenSSL</a> libraries installed, and they
--should at least be version 0.9.7.
-+should at least be version 0.9.8, with 1.0.1 preferred.
- Configure with --with-ssl. If you have the OpenSSL libraries
- installed in commonly-used default locations, this will
- suffice. If you have them installed in a non-default location,
-@@ -2130,7 +2130,7 @@ to --with-ssl after an equal sign.</p>
- <p>Fetchmail binaries built this way support <code>ssl</code>,
- <code>sslkey</code>, and <code>sslcert</code> options that control
- SSL encryption, and will automatically use <code>tls</code> if the
--server offers it. You will need to have an SSL-enabled mailserver to
-+server offers it. You will need to have an SSL/TLS-enabled mailserver to
- use these options. See the manual page for details and some words
- of care on the limited security provided.</p>
-
-@@ -2155,13 +2155,14 @@ poll MYSERVER port 993 plugin "openssl s
- protocol imap username MYUSERNAME password MYPASSWORD
- </pre>
-
--<p>You should note that SSL is only secure against a "man-in-the-middle"
--attack if the client is able to verify that the peer's public key is the
--correct one, and has not been substituted by an attacker. fetchmail can do
--this in one of two ways: by verifying the SSL certificate, or by checking
--the fingerprint of the peer's public key.</p>
-+<p>You should note that SSL or TLS are only secure against a
-+"man-in-the-middle" attack if the client is able to verify that the
-+peer's public key is the correct one, and has not been substituted by an
-+attacker. fetchmail can do this in one of two ways: by verifying the SSL
-+certificate, or by checking the fingerprint of the peer's public
-+key.</p>
-
--<p>There are three parts to SSL certificate verification: checking that the
-+<p>There are three parts to TLS certificate verification: checking that the
- domain name in the certificate matches the hostname you asked to connect to;
- checking that the certificate expiry date has not passed; and checking that
- the certificate has been signed by a known Certificate Authority (CA). This
-@@ -2227,8 +2228,12 @@ will automatically attempt TLS negotiati
- time. This can however cause problems if the upstream didn't configure
- his certificates properly.</p>
-
--<p>In order to prevent fetchmail from trying TLS (STLS, STARTTLS)
--negotiation, add this option:</p>
-+<p>In order to prevent fetchmail 6.4.0 and newer versions from trying
-+STLS or STARTTLS negotiation, add this option:</p>
-+<pre>sslproto ''</pre>
-+
-+<p>In order to prevent older fetchmail versions from trying TLS (STLS, STARTTLS)
-+negotiation where the above does not work, try this option:</p>
-
- <pre>sslproto ssl23</pre>
-
-@@ -2876,15 +2881,22 @@ need to say something like '<code>envelo
-
- <pre>
- Received: from send103.yahoomail.com (send103.yahoomail.com [205.180.60.92])
-- by iserv.ttns.net (8.8.5/8.8.5) with SMTP id RAA10088
-- for &lt;ksturgeon@fbceg.org&gt;; Wed, 9 Sep 1998 17:01:59 -0700
-+ by iserv.example.net (8.8.5/8.8.5) with SMTP id RAA10088
-+ for &lt;ksturgeon@fbceg.example.org&gt;; Wed, 9 Sep 1998 17:01:59 -0700
- </pre>
-
--<p>it checks to see if 'iserv.ttns.net' is a DNS alias of your
--mailserver before accepting 'ksturgeon@fbceg.org' as an envelope
-+<p>it checks to see if 'iserv.example.net' is a DNS alias of your
-+mailserver before accepting 'ksturgeon@fbceg.example.org' as an envelope
- address. This check might fail if your DNS were misconfigured, or
--if you were using 'no dns' and had failed to declare iserv.ttns.net
--as an alias of your server.</p>
-+if you were using 'no dns' and had failed to declare iserv.example.net
-+as an alias of your server. The typical hint is logging similar to:
-+<code>line rejected, iserv.example.net is not an alias of the mailserver</code>,
-+if you use fetchmail in verbose mode.</p>
-+
-+<p><strong>Workaround:</strong> You can specify the alias explicitly, with <code>aka
-+ <em>iserv.example.net</em></code> statements in the rcfile. Replace
-+<em>iserv.example.net</em> by the name you find in <strong>your</strong>
-+'by' part of the 'Received:' line.</p>
-
- <h2><a id="M8" name="M8">M8. Users are getting multiple copies of
- messages.</a></h2>
-@@ -3237,6 +3249,8 @@ Hayes mode escape "+++".</p>
- <h2><a id="X8" name="X8">X8. A spurious ) is being appended to my
- messages.</a></h2>
-
-+<p><em>Fetchmail 6.3.5 and newer releases are supposed to fix this.</em></p>
-+
- <p>Due to the problem described in <a href="#S2">S2</a>, the
- IMAP support in fetchmail cannot follow the IMAP protocol 100&nbsp;%.
- Most of the time it doesn't matter, but if you combine it with an
-@@ -3279,8 +3293,6 @@ it at the end of the message it forwards
- on, you'll get a message about actual != expected.</li>
- </ol>
-
--<p>There is no fix for this.</p>
--
- <h2><a id="X9" name="X9">X9. Missing "Content-Transfer-Encoding" header
- with Domino IMAP</a></h2>
-
---- fetchmail-6.3.26.orig/fetchmail.c
-+++ fetchmail-6.3.26/fetchmail.c
-@@ -54,6 +54,10 @@
- #define ENETUNREACH 128 /* Interactive doesn't know this */
- #endif /* ENETUNREACH */
-
-+#ifdef SSL_ENABLE
-+#include <openssl/ssl.h> /* for OPENSSL_NO_SSL2 and ..._SSL3 checks */
-+#endif
-+
- /* prototypes for internal functions */
- static int load_params(int, char **, int);
- static void dump_params (struct runctl *runp, struct query *, flag implicit);
-@@ -138,7 +142,7 @@ static void printcopyright(FILE *fp) {
- "Copyright (C) 2004 Matthias Andree, Eric S. Raymond,\n"
- " Robert M. Funk, Graham Wilson\n"
- "Copyright (C) 2005 - 2012 Sunil Shetye\n"
-- "Copyright (C) 2005 - 2013 Matthias Andree\n"
-+ "Copyright (C) 2005 - 2015 Matthias Andree\n"
- ));
- fprintf(fp, GT_("Fetchmail comes with ABSOLUTELY NO WARRANTY. This is free software, and you\n"
- "are welcome to redistribute it under certain conditions. For details,\n"
-@@ -262,6 +266,9 @@ int main(int argc, char **argv)
- #endif /* ODMR_ENABLE */
- #ifdef SSL_ENABLE
- "+SSL"
-+#if (HAVE_DECL_SSLV3_CLIENT_METHOD + 0 == 0) || defined(OPENSSL_NO_SSL3)
-+ "-SSLv3"
-+#endif
- #endif
- #ifdef OPIE_ENABLE
- "+OPIE"
---- fetchmail-6.3.26.orig/fetchmail.h
-+++ fetchmail-6.3.26/fetchmail.h
-@@ -771,9 +771,9 @@ int servport(const char *service);
- int fm_getaddrinfo(const char *node, const char *serv, const struct addrinfo *hints, struct addrinfo **res);
- void fm_freeaddrinfo(struct addrinfo *ai);
-
--/* prototypes from tls.c */
--int maybe_tls(struct query *ctl);
--int must_tls(struct query *ctl);
-+/* prototypes from starttls.c */
-+int maybe_starttls(struct query *ctl);
-+int must_starttls(struct query *ctl);
-
- /* prototype from rfc822valid.c */
- int rfc822_valid_msgid(const unsigned char *);
---- fetchmail-6.3.26.orig/fetchmail.man
-+++ fetchmail-6.3.26/fetchmail.man
-@@ -412,23 +412,22 @@ from. The folder information is written
- .B \-\-ssl
- (Keyword: ssl)
- .br
--Causes the connection to the mail server to be encrypted
--via SSL. Connect to the server using the specified base protocol over a
--connection secured by SSL. This option defeats opportunistic starttls
--negotiation. It is highly recommended to use \-\-sslproto 'SSL3'
--\-\-sslcertck to validate the certificates presented by the server and
--defeat the obsolete SSLv2 negotiation. More information is available in
--the \fIREADME.SSL\fP file that ships with fetchmail.
--.IP
--Note that fetchmail may still try to negotiate SSL through starttls even
--if this option is omitted. You can use the \-\-sslproto option to defeat
--this behavior or tell fetchmail to negotiate a particular SSL protocol.
-+Causes the connection to the mail server to be encrypted via SSL, by
-+negotiating SSL directly after connecting (SSL-wrapped mode). It is
-+highly recommended to use \-\-sslcertck to validate the certificates
-+presented by the server. Please see the description of \-\-sslproto
-+below! More information is available in the \fIREADME.SSL\fP file that
-+ships with fetchmail.
-+.IP
-+Note that even if this option is omitted, fetchmail may still negotiate
-+SSL in-band for POP3 or IMAP, through the STLS or STARTTLS feature. You
-+can use the \-\-sslproto option to modify that behavior.
- .IP
- If no port is specified, the connection is attempted to the well known
- port of the SSL version of the base protocol. This is generally a
- different port than the port used by the base protocol. For IMAP, this
- is port 143 for the clear protocol and port 993 for the SSL secured
--protocol, for POP3, it is port 110 for the clear text and port 995 for
-+protocol; for POP3, it is port 110 for the clear text and port 995 for
- the encrypted variant.
- .IP
- If your system lacks the corresponding entries from /etc/services, see
-@@ -470,39 +469,73 @@ cause some complications in daemon mode.
- .IP
- Also see \-\-sslcert above.
- .TP
--.B \-\-sslproto <name>
--(Keyword: sslproto)
-+.B \-\-sslproto <value>
-+(Keyword: sslproto, NOTE: semantic changes since v6.4.0)
- .br
--Forces an SSL/TLS protocol. Possible values are \fB''\fP,
--\&'\fBSSL2\fP' (not supported on all systems),
--\&'\fBSSL23\fP', (use of these two values is discouraged
--and should only be used as a last resort) \&'\fBSSL3\fP', and
--\&'\fBTLS1\fP'. The default behaviour if this option is unset is: for
--connections without \-\-ssl, use \&'\fBTLS1\fP' so that fetchmail will
--opportunistically try STARTTLS negotiation with TLS1. You can configure
--this option explicitly if the default handshake (TLS1 if \-\-ssl is not
--used) does not work for your server.
--.IP
--Use this option with '\fBTLS1\fP' value to enforce a STARTTLS
--connection. In this mode, it is highly recommended to also use
--\-\-sslcertck (see below). Note that this will then cause fetchmail
--v6.3.19 to force STARTTLS negotiation even if it is not advertised by
--the server.
--.IP
--To defeat opportunistic TLSv1 negotiation when the server advertises
--STARTTLS or STLS, and use a cleartext connection use \fB''\fP. This
--option, even if the argument is the empty string, will also suppress the
--diagnostic 'SERVER: opportunistic upgrade to TLS.' message in verbose
--mode. The default is to try appropriate protocols depending on context.
-+This option has a dual use, out of historic fetchmail behaviour. It
-+controls both the SSL/TLS protocol version and, if \-\-ssl is not
-+specified, the STARTTLS behaviour (upgrading the protocol to an SSL or
-+TLS connection in-band). Some other options may however make TLS
-+mandatory.
-+.PP
-+Only if this option and \-\-ssl are both missing for a poll, there will
-+be opportunistic TLS for POP3 and IMAP, where fetchmail will attempt to
-+upgrade to TLSv1 or newer.
-+.PP
-+Recognized values for \-\-sslproto are given below. You should normally
-+chose one of the auto-negotiating options, i. e. '\fBauto\fP' or one of
-+the options ending in a plus (\fB+\fP) character. Note that depending
-+on OpenSSL library version and configuration, some options cause
-+run-time errors because the requested SSL or TLS versions are not
-+supported by the particular installed OpenSSL library.
-+.RS
-+.IP "\fB''\fP, the empty string"
-+Disable STARTTLS. If \-\-ssl is given for the same server, log an error
-+and pretend that '\fBauto\fP' had been used instead.
-+.IP '\fBauto\fP'
-+(default). Since v6.4.0. Require TLS. Auto-negotiate TLSv1 or newer, disable SSLv3 downgrade.
-+(fetchmail 6.3.26 and older have auto-negotiated all protocols that
-+their OpenSSL library supported, including the broken SSLv3).
-+.IP "\&'\fBSSL23\fP'
-+see '\fBauto\fP'.
-+.IP \&'\fBSSL3\fP'
-+Require SSLv3 exactly. SSLv3 is broken, not supported on all systems, avoid it
-+if possible. This will make fetchmail negotiate SSLv3 only, and is the
-+only way besides '\fBSSL3+\fP' to have fetchmail 6.4.0 or newer permit SSLv3.
-+.IP \&'\fBSSL3+\fP'
-+same as '\fBauto\fP', but permit SSLv3 as well. This is the only way
-+besides '\fBSSL3\fP' to have fetchmail 6.4.0 or newer permit SSLv3.
-+.IP \&'\fBTLS1\fP'
-+Require TLSv1. This does not negotiate TLSv1.1 or newer, and is
-+discouraged. Replace by TLS1+ unless the latter chokes your server.
-+.IP \&'\fBTLS1+\fP'
-+Since v6.4.0. See 'fBauto\fP'.
-+.IP \&'\fBTLS1.1\fP'
-+Since v6.4.0. Require TLS v1.1 exactly.
-+.IP \&'\fBTLS1.1+\fP'
-+Since v6.4.0. Require TLS. Auto-negotiate TLSv1.1 or newer.
-+.IP \&'\fBTLS1.2\fP'
-+Since v6.4.0. Require TLS v1.2 exactly.
-+.IP '\fBTLS1.2+\fP'
-+Since v6.4.0. Require TLS. Auto-negotiate TLSv1.2 or newer.
-+.IP "Unrecognized parameters"
-+are treated the same as '\fBauto\fP'.
-+.RE
-+.IP
-+NOTE: you should hardly ever need to use anything other than '' (to
-+force an unencrypted connection) or 'auto' (to enforce TLS).
- .TP
- .B \-\-sslcertck
- (Keyword: sslcertck)
- .br
--Causes fetchmail to strictly check the server certificate against a set of
--local trusted certificates (see the \fBsslcertfile\fP and \fBsslcertpath\fP
--options). If the server certificate cannot be obtained or is not signed by one
--of the trusted ones (directly or indirectly), the SSL connection will fail,
--regardless of the \fBsslfingerprint\fP option.
-+Causes fetchmail to require that SSL/TLS be used and disconnect if it
-+can not successfully negotiate SSL or TLS, or if it cannot successfully
-+verify and validate the certificate and follow it to a trust anchor (or
-+trusted root certificate). The trust anchors are given as a set of local
-+trusted certificates (see the \fBsslcertfile\fP and \fBsslcertpath\fP
-+options). If the server certificate cannot be obtained or is not signed
-+by one of the trusted ones (directly or indirectly), fetchmail will
-+disconnect, regardless of the \fBsslfingerprint\fP option.
- .IP
- Note that CRL (certificate revocation lists) are only supported in
- OpenSSL 0.9.7 and newer! Your system clock should also be reasonably
-@@ -1202,31 +1235,33 @@ capability response. Specify a user opti
- username and the part to the right as the NTLM domain.
-
- .SS Secure Socket Layers (SSL) and Transport Layer Security (TLS)
-+.PP All retrieval protocols can use SSL or TLS wrapping for the
-+transport. Additionally, POP3 and IMAP retrival can also negotiate
-+SSL/TLS by means of STARTTLS (or STLS).
- .PP
- Note that fetchmail currently uses the OpenSSL library, which is
- severely underdocumented, so failures may occur just because the
- programmers are not aware of OpenSSL's requirement of the day.
- For instance, since v6.3.16, fetchmail calls
- OpenSSL_add_all_algorithms(), which is necessary to support certificates
--using SHA256 on OpenSSL 0.9.8 -- this information is deeply hidden in the
--documentation and not at all obvious. Please do not hesitate to report
--subtle SSL failures.
--.PP
--You can access SSL encrypted services by specifying the \-\-ssl option.
--You can also do this using the "ssl" user option in the .fetchmailrc
--file. With SSL encryption enabled, queries are initiated over a
--connection after negotiating an SSL session, and the connection fails if
--SSL cannot be negotiated. Some services, such as POP3 and IMAP, have
-+using SHA256 on OpenSSL 0.9.8 -- this information is deeply hidden in
-+the documentation and not at all obvious. Please do not hesitate to
-+report subtle SSL failures.
-+.PP
-+You can access SSL encrypted services by specifying the options starting
-+with \-\-ssl, such as \-\-ssl, \-\-sslproto, \-\-sslcertck, and others.
-+You can also do this using the corresponding user options in the .fetchmailrc
-+file. Some services, such as POP3 and IMAP, have
- different well known ports defined for the SSL encrypted services. The
- encrypted ports will be selected automatically when SSL is enabled and
--no explicit port is specified. The \-\-sslproto 'SSL3' option should be
--used to select the SSLv3 protocol (default if unset: v2 or v3). Also,
--the \-\-sslcertck command line or sslcertck run control file option
--should be used to force strict certificate checking - see below.
-+no explicit port is specified. Also, the \-\-sslcertck command line or
-+sslcertck run control file option should be used to force strict
-+certificate checking - see below.
- .PP
- If SSL is not configured, fetchmail will usually opportunistically try to use
--STARTTLS. STARTTLS can be enforced by using \-\-sslproto "TLS1". TLS
--connections use the same port as the unencrypted version of the
-+STARTTLS. STARTTLS can be enforced by using \-\-sslproto\~auto and
-+defeated by using \-\-sslproto\~''.
-+TLS connections use the same port as the unencrypted version of the
- protocol and negotiate TLS via special command. The \-\-sslcertck
- command line or sslcertck run control file option should be used to
- force strict certificate checking - see below.
---- fetchmail-6.3.26.orig/imap.c
-+++ fetchmail-6.3.26/imap.c
-@@ -405,6 +405,8 @@ static int imap_getauth(int sock, struct
- /* apply for connection authorization */
- {
- int ok = 0;
-+ char *commonname;
-+
- (void)greeting;
-
- /*
-@@ -429,25 +431,21 @@ static int imap_getauth(int sock, struct
- return(PS_SUCCESS);
- }
-
--#ifdef SSL_ENABLE
-- if (maybe_tls(ctl)) {
-- char *commonname;
--
-- commonname = ctl->server.pollname;
-- if (ctl->server.via)
-- commonname = ctl->server.via;
-- if (ctl->sslcommonname)
-- commonname = ctl->sslcommonname;
-+ commonname = ctl->server.pollname;
-+ if (ctl->server.via)
-+ commonname = ctl->server.via;
-+ if (ctl->sslcommonname)
-+ commonname = ctl->sslcommonname;
-
-- if (strstr(capabilities, "STARTTLS")
-- || must_tls(ctl)) /* if TLS is mandatory, ignore capabilities */
-+#ifdef SSL_ENABLE
-+ if (maybe_starttls(ctl)) {
-+ if ((strstr(capabilities, "STARTTLS") && maybe_starttls(ctl))
-+ || must_starttls(ctl)) /* if TLS is mandatory, ignore capabilities */
- {
-- /* Use "tls1" rather than ctl->sslproto because tls1 is the only
-- * protocol that will work with STARTTLS. Don't need to worry
-- * whether TLS is mandatory or opportunistic unless SSLOpen() fails
-- * (see below). */
-+ /* Don't need to worry whether TLS is mandatory or
-+ * opportunistic unless SSLOpen() fails (see below). */
- if (gen_transact(sock, "STARTTLS") == PS_SUCCESS
-- && (set_timeout(mytimeout), SSLOpen(sock, ctl->sslcert, ctl->sslkey, "tls1", ctl->sslcertck,
-+ && (set_timeout(mytimeout), SSLOpen(sock, ctl->sslcert, ctl->sslkey, ctl->sslproto, ctl->sslcertck,
- ctl->sslcertfile, ctl->sslcertpath, ctl->sslfingerprint, commonname,
- ctl->server.pollname, &ctl->remotename)) != -1)
- {
-@@ -470,7 +468,7 @@ static int imap_getauth(int sock, struct
- {
- report(stdout, GT_("%s: upgrade to TLS succeeded.\n"), commonname);
- }
-- } else if (must_tls(ctl)) {
-+ } else if (must_starttls(ctl)) {
- /* Config required TLS but we couldn't guarantee it, so we must
- * stop. */
- set_timeout(0);
-@@ -492,6 +490,10 @@ static int imap_getauth(int sock, struct
- /* Usable. Proceed with authenticating insecurely. */
- }
- }
-+ } else {
-+ if (strstr(capabilities, "STARTTLS") && outlevel >= O_VERBOSE) {
-+ report(stdout, GT_("%s: WARNING: server offered STARTTLS but sslproto '' given.\n"), commonname);
-+ }
- }
- #endif /* SSL_ENABLE */
-
---- fetchmail-6.3.26.orig/po/Makevars
-+++ fetchmail-6.3.26/po/Makevars
-@@ -46,3 +46,15 @@ MSGID_BUGS_ADDRESS = fetchmail-devel@lis
- # This is the list of locale categories, beyond LC_MESSAGES, for which the
- # message catalogs shall be used. It is usually empty.
- EXTRA_LOCALE_CATEGORIES =
-+
-+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
-+# context. Possible values are "yes" and "no". Set this to yes if the
-+# package uses functions taking also a message context, like pgettext(), or
-+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
-+USE_MSGCTXT = no
-+
-+# These options get passed to msgmerge.
-+# Useful options are in particular:
-+# --previous to keep previous msgids of translated messages,
-+# --quiet to reduce the verbosity.
-+MSGMERGE_OPTIONS =
---- fetchmail-6.3.26.orig/pop3.c
-+++ fetchmail-6.3.26/pop3.c
-@@ -281,6 +281,7 @@ static int pop3_getauth(int sock, struct
- #endif /* OPIE_ENABLE */
- #ifdef SSL_ENABLE
- flag connection_may_have_tls_errors = FALSE;
-+ char *commonname;
- #endif /* SSL_ENABLE */
-
- done_capa = FALSE;
-@@ -393,7 +394,7 @@ static int pop3_getauth(int sock, struct
- (ctl->server.authenticate == A_KERBEROS_V5) ||
- (ctl->server.authenticate == A_OTP) ||
- (ctl->server.authenticate == A_CRAM_MD5) ||
-- maybe_tls(ctl))
-+ maybe_starttls(ctl))
- {
- if ((ok = capa_probe(sock)) != PS_SUCCESS)
- /* we are in STAGE_GETAUTH => failure is PS_AUTHFAIL! */
-@@ -406,12 +407,12 @@ static int pop3_getauth(int sock, struct
- (ok == PS_SOCKET && !ctl->wehaveauthed))
- {
- #ifdef SSL_ENABLE
-- if (must_tls(ctl)) {
-+ if (must_starttls(ctl)) {
- /* fail with mandatory STLS without repoll */
- report(stderr, GT_("TLS is mandatory for this session, but server refused CAPA command.\n"));
- report(stderr, GT_("The CAPA command is however necessary for TLS.\n"));
- return ok;
-- } else if (maybe_tls(ctl)) {
-+ } else if (maybe_starttls(ctl)) {
- /* defeat opportunistic STLS */
- xfree(ctl->sslproto);
- ctl->sslproto = xstrdup("");
-@@ -431,24 +432,19 @@ static int pop3_getauth(int sock, struct
- }
-
- #ifdef SSL_ENABLE
-- if (maybe_tls(ctl)) {
-- char *commonname;
-+ commonname = ctl->server.pollname;
-+ if (ctl->server.via)
-+ commonname = ctl->server.via;
-+ if (ctl->sslcommonname)
-+ commonname = ctl->sslcommonname;
-
-- commonname = ctl->server.pollname;
-- if (ctl->server.via)
-- commonname = ctl->server.via;
-- if (ctl->sslcommonname)
-- commonname = ctl->sslcommonname;
--
-- if (has_stls
-- || must_tls(ctl)) /* if TLS is mandatory, ignore capabilities */
-+ if (maybe_starttls(ctl)) {
-+ if (has_stls || must_starttls(ctl)) /* if TLS is mandatory, ignore capabilities */
- {
-- /* Use "tls1" rather than ctl->sslproto because tls1 is the only
-- * protocol that will work with STARTTLS. Don't need to worry
-- * whether TLS is mandatory or opportunistic unless SSLOpen() fails
-- * (see below). */
-+ /* Don't need to worry whether TLS is mandatory or
-+ * opportunistic unless SSLOpen() fails (see below). */
- if (gen_transact(sock, "STLS") == PS_SUCCESS
-- && (set_timeout(mytimeout), SSLOpen(sock, ctl->sslcert, ctl->sslkey, "tls1", ctl->sslcertck,
-+ && (set_timeout(mytimeout), SSLOpen(sock, ctl->sslcert, ctl->sslkey, ctl->sslproto, ctl->sslcertck,
- ctl->sslcertfile, ctl->sslcertpath, ctl->sslfingerprint, commonname,
- ctl->server.pollname, &ctl->remotename)) != -1)
- {
-@@ -475,7 +471,7 @@ static int pop3_getauth(int sock, struct
- {
- report(stdout, GT_("%s: upgrade to TLS succeeded.\n"), commonname);
- }
-- } else if (must_tls(ctl)) {
-+ } else if (must_starttls(ctl)) {
- /* Config required TLS but we couldn't guarantee it, so we must
- * stop. */
- set_timeout(0);
-@@ -495,7 +491,11 @@ static int pop3_getauth(int sock, struct
- }
- }
- }
-- } /* maybe_tls() */
-+ } else { /* maybe_starttls() */
-+ if (has_stls && outlevel >= O_VERBOSE) {
-+ report(stdout, GT_("%s: WARNING: server offered STLS, but sslproto '' given.\n"), commonname);
-+ }
-+ } /* maybe_starttls() */
- #endif /* SSL_ENABLE */
-
- /*
---- fetchmail-6.3.26.orig/socket.c
-+++ fetchmail-6.3.26/socket.c
-@@ -876,7 +876,9 @@ int SSLOpen(int sock, char *mycert, char
- {
- struct stat randstat;
- int i;
-+ int avoid_ssl_versions = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
- long sslopts = SSL_OP_ALL;
-+ int ssle_connect = 0;
-
- SSL_load_error_strings();
- SSL_library_init();
-@@ -906,25 +908,57 @@ int SSLOpen(int sock, char *mycert, char
- /* Make sure a connection referring to an older context is not left */
- _ssl_context[sock] = NULL;
- if(myproto) {
-- if(!strcasecmp("ssl2",myproto)) {
--#if HAVE_DECL_SSLV2_CLIENT_METHOD + 0 > 0
-- _ctx[sock] = SSL_CTX_new(SSLv2_client_method());
-+ if(!strcasecmp("ssl3",myproto)) {
-+#if (HAVE_DECL_SSLV3_CLIENT_METHOD > 0) && (0 == OPENSSL_NO_SSL3 + 0)
-+ _ctx[sock] = SSL_CTX_new(SSLv3_client_method());
-+ avoid_ssl_versions &= ~SSL_OP_NO_SSLv3;
- #else
-- report(stderr, GT_("Your operating system does not support SSLv2.\n"));
-+ report(stderr, GT_("Your OpenSSL version does not support SSLv3.\n"));
- return -1;
- #endif
-- } else if(!strcasecmp("ssl3",myproto)) {
-- _ctx[sock] = SSL_CTX_new(SSLv3_client_method());
-+ } else if(!strcasecmp("ssl3+",myproto)) {
-+ avoid_ssl_versions &= ~SSL_OP_NO_SSLv3;
-+ myproto = NULL;
- } else if(!strcasecmp("tls1",myproto)) {
- _ctx[sock] = SSL_CTX_new(TLSv1_client_method());
-- } else if (!strcasecmp("ssl23",myproto)) {
-+ } else if(!strcasecmp("tls1+",myproto)) {
-+ myproto = NULL;
-+#if defined(TLS1_1_VERSION) && TLS_MAX_VERSION >= TLS1_1_VERSION
-+ } else if(!strcasecmp("tls1.1",myproto)) {
-+ _ctx[sock] = SSL_CTX_new(TLSv1_1_client_method());
-+ } else if(!strcasecmp("tls1.1+",myproto)) {
-+ myproto = NULL;
-+ avoid_ssl_versions |= SSL_OP_NO_TLSv1;
-+#else
-+ } else if(!strcasecmp("tls1.1",myproto) || !strcasecmp("tls1.1+", myproto)) {
-+ report(stderr, GT_("Your OpenSSL version does not support TLS v1.1.\n"));
-+ return -1;
-+#endif
-+#if defined(TLS1_2_VERSION) && TLS_MAX_VERSION >= TLS1_2_VERSION
-+ } else if(!strcasecmp("tls1.2",myproto)) {
-+ _ctx[sock] = SSL_CTX_new(TLSv1_2_client_method());
-+ } else if(!strcasecmp("tls1.2+",myproto)) {
-+ myproto = NULL;
-+ avoid_ssl_versions |= SSL_OP_NO_TLSv1;
-+ avoid_ssl_versions |= SSL_OP_NO_TLSv1_1;
-+#else
-+ } else if(!strcasecmp("tls1.2",myproto) || !strcasecmp("tls1.2+", myproto)) {
-+ report(stderr, GT_("Your OpenSSL version does not support TLS v1.2.\n"));
-+ return -1;
-+#endif
-+ } else if (!strcasecmp("ssl23",myproto) || 0 == strcasecmp("auto",myproto)) {
- myproto = NULL;
- } else {
-- report(stderr,GT_("Invalid SSL protocol '%s' specified, using default (SSLv23).\n"), myproto);
-+ report(stderr,GT_("Invalid SSL protocol '%s' specified, using default autoselect (SSL23).\n"), myproto);
- myproto = NULL;
- }
- }
-- if(!myproto) {
-+ // do not combine into an else { } as myproto may be nulled
-+ // above!
-+ if (!myproto) {
-+ // SSLv23 is a misnomer and will in fact use the best
-+ // available protocol, subject to SSL_OP_NO*
-+ // constraints.
- _ctx[sock] = SSL_CTX_new(SSLv23_client_method());
- }
- if(_ctx[sock] == NULL) {
-@@ -938,7 +972,7 @@ int SSLOpen(int sock, char *mycert, char
- sslopts &= ~ SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS;
- }
-
-- SSL_CTX_set_options(_ctx[sock], sslopts);
-+ SSL_CTX_set_options(_ctx[sock], sslopts | avoid_ssl_versions);
-
- if (certck) {
- SSL_CTX_set_verify(_ctx[sock], SSL_VERIFY_PEER, SSL_ck_verify_callback);
-@@ -1008,8 +1042,18 @@ int SSLOpen(int sock, char *mycert, char
- }
-
- if (SSL_set_fd(_ssl_context[sock], sock) == 0
-- || SSL_connect(_ssl_context[sock]) < 1) {
-+ || (ssle_connect = SSL_connect(_ssl_context[sock])) < 1) {
-+ int e = errno;
-+ unsigned long ssle_err_from_queue = ERR_peek_error();
-+ unsigned long ssle_err_from_get_error = SSL_get_error(_ssl_context[sock], ssle_connect);
- ERR_print_errors_fp(stderr);
-+ if (SSL_ERROR_SYSCALL == ssle_err_from_get_error && 0 == ssle_err_from_queue) {
-+ if (0 == ssle_connect) {
-+ report(stderr, GT_("Server shut down connection prematurely during SSL_connect().\n"));
-+ } else if (ssle_connect < 0) {
-+ report(stderr, GT_("System error during SSL_connect(): %s\n"), strerror(e));
-+ }
-+ }
- SSL_free( _ssl_context[sock] );
- _ssl_context[sock] = NULL;
- SSL_CTX_free(_ctx[sock]);
-@@ -1017,6 +1061,24 @@ int SSLOpen(int sock, char *mycert, char
- return(-1);
- }
-
-+ if (outlevel >= O_VERBOSE) {
-+ SSL_CIPHER const *sc;
-+ int bitsmax, bitsused;
-+
-+ const char *ver;
-+
-+ ver = SSL_get_version(_ssl_context[sock]);
-+
-+ sc = SSL_get_current_cipher(_ssl_context[sock]);
-+ if (!sc) {
-+ report (stderr, GT_("Cannot obtain current SSL/TLS cipher - no session established?\n"));
-+ } else {
-+ bitsused = SSL_CIPHER_get_bits(sc, &bitsmax);
-+ report(stdout, GT_("SSL/TLS: using protocol %s, cipher %s, %d/%d secret/processed bits\n"),
-+ ver, SSL_CIPHER_get_name(sc), bitsused, bitsmax);
-+ }
-+ }
-+
- /* Paranoia: was the callback not called as we expected? */
- if (!_depth0ck) {
- report(stderr, GT_("Certificate/fingerprint verification was somehow skipped!\n"));
---- /dev/null
-+++ fetchmail-6.3.26/starttls.c
-@@ -0,0 +1,37 @@
-+/** \file tls.c - collect common TLS functionality
-+ * \author Matthias Andree
-+ * \date 2006
-+ */
-+
-+#include "fetchmail.h"
-+
-+#include <string.h>
-+
-+#ifdef HAVE_STRINGS_H
-+#include <strings.h>
-+#endif
-+
-+/** return true if user allowed opportunistic STARTTLS/STLS */
-+int maybe_starttls(struct query *ctl) {
-+#ifdef SSL_ENABLE
-+ /* opportunistic or forced TLS */
-+ return (!ctl->sslproto || strlen(ctl->sslproto))
-+ && !ctl->use_ssl;
-+#else
-+ (void)ctl;
-+ return 0;
-+#endif
-+}
-+
-+/** return true if user requires STARTTLS/STLS, note though that this
-+ * code must always use a logical AND with maybe_tls(). */
-+int must_starttls(struct query *ctl) {
-+#ifdef SSL_ENABLE
-+ return maybe_starttls(ctl)
-+ && (ctl->sslfingerprint || ctl->sslcertck
-+ || (ctl->sslproto && !strcasecmp(ctl->sslproto, "tls1")));
-+#else
-+ (void)ctl;
-+ return 0;
-+#endif
-+}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb b/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb
deleted file mode 100644
index 5af5d0df..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.3.26.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP"
-HOMEPAGE = "http://www.fetchmail.info/"
-DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC."
-SECTION = "mail"
-LICENSE = "GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbb509e0303f5ded1cbfc0cc8705f28c"
-
-DEPENDS = "openssl"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \
- file://02_remove_SSLv3.patch \
- "
-SRC_URI[md5sum] = "61b66faad044afa26e142bb1791aa2b3"
-SRC_URI[sha256sum] = "79b4c54cdbaf02c1a9a691d9948fcb1a77a1591a813e904283a8b614b757e850"
-
-inherit autotools gettext python-dir pythonnative
-
-EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}"
-
-PACKAGES =+ "fetchmail-python"
-FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.4.bb b/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.4.bb
new file mode 100644
index 00000000..efab0c80
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.4.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP"
+HOMEPAGE = "http://www.fetchmail.info/"
+DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC."
+SECTION = "mail"
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ca53985c1fd053ae0bffffaa89ed49f1"
+
+DEPENDS = "openssl"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \
+ "
+SRC_URI[md5sum] = "53d52179c8bf8e2f57489538b49bfda9"
+SRC_URI[sha256sum] = "511b60daabf7543a01de06af07c8772290c6807cd53c42a8504960e978f3abea"
+
+inherit autotools gettext python3-dir python3native
+
+EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}"
+
+PACKAGES =+ "fetchmail-python"
+FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb b/external/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb
deleted file mode 100644
index 82e3bf07..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "sends ICMP ECHO_REQUEST packets to network hosts"
-DESCRIPTION = "fping is a ping like program which uses the Internet Control \
-Message Protocol (ICMP) echo request to determine if a target host is \
-responding. fping differs from ping in that you can specify any number of \
-targets on the command line, or specify a file containing the lists of \
-targets to ping. Instead of sending to one target until it times out or \
-replies, fping will send out a ping packet and move on to the next target \
-in a round-robin fashion."
-HOMEPAGE = "http://www.fping.org/"
-SECTION = "net"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=09d77789fe32be35acde9637a5ee39b1"
-
-SRC_URI = "http://www.fping.org/dist/fping-${PV}.tar.gz"
-SRC_URI[md5sum] = "2e17cb655aa4eb59b5a4a38a89e746ed"
-SRC_URI[sha256sum] = "09b8960e235341bae6000085d38106357eae656a79e0119bd27e816c9003656a"
-
-S = "${WORKDIR}/fping-${PV}"
-
-inherit autotools
-
-EXTRA_OECONF = "--enable-ipv4"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/fping/fping_4.2.bb b/external/meta-openembedded/meta-networking/recipes-support/fping/fping_4.2.bb
new file mode 100644
index 00000000..594f5b9c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/fping/fping_4.2.bb
@@ -0,0 +1,25 @@
+SUMMARY = "sends ICMP ECHO_REQUEST packets to network hosts"
+DESCRIPTION = "fping is a ping like program which uses the Internet Control \
+Message Protocol (ICMP) echo request to determine if a target host is \
+responding. fping differs from ping in that you can specify any number of \
+targets on the command line, or specify a file containing the lists of \
+targets to ping. Instead of sending to one target until it times out or \
+replies, fping will send out a ping packet and move on to the next target \
+in a round-robin fashion."
+HOMEPAGE = "http://www.fping.org/"
+SECTION = "net"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c6170fbadddfcd74f011515291d96901"
+
+SRC_URI = "http://www.fping.org/dist/fping-${PV}.tar.gz"
+SRC_URI[md5sum] = "218e71764177a8ce25564a7810f8e729"
+SRC_URI[sha256sum] = "7d339674b6a95aae1d8ad487ff5056fd95b474c3650938268f6a905c3771b64a"
+
+S = "${WORKDIR}/fping-${PV}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-ipv4"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.10.bb b/external/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.10.bb
new file mode 100644
index 00000000..3eca3ab6
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.10.bb
@@ -0,0 +1,36 @@
+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] = "47a9c7c214c40dceb5dc2aa8832e4f32"
+SRC_URI[sha256sum] = "f6c09bec97ed8e474a98ae14f9f53e1bcdda33393f20667b6af3fb6bb894ca77"
+
+DEPENDS = "libpcap gpgme"
+
+EXTRA_OECONF = " --with-iptables=/usr/sbin/iptables \
+ "
+
+do_configure () {
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/config
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/config
+
+ aclocal
+ libtoolize --automake --copy --force
+ autoconf
+ 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/external/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb b/external/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb
deleted file mode 100644
index 0fd5f6fe..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-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 () {
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/config
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/config
-
- aclocal
- libtoolize --automake --copy --force
- autoconf
- 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/external/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.0.bb b/external/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.0.bb
deleted file mode 100644
index eb678784..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "HTTP based time synchronization tool"
-
-DESCRIPTION = "The HTTP Time Protocol (HTP) is used to synchronize a computer's time with\
- web servers as reference time source. This program can be used instead\
- ntpdate or similar, in networks that has a firewall blocking the NTP port.\
- Htpdate will synchronize the computer time to Greenwich Mean Time (GMT),\
- using the timestamps from HTTP headers found in web servers response (the\
- HEAD method will be used to get the information).\
- Htpdate works through proxy servers. Accuracy of htpdate will be usually\
- within 0.5 seconds (better with multiple servers).\
-"
-
-HOMEPAGE = "http://www.vervest.org/htp/"
-
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://htpdate.c;beginline=26;endline=30;md5=d7018a4d2c5a6eab392709a05e5e168a"
-
-SRC_URI = "http://www.vervest.org/htp/archive/c/htpdate-${PV}.tar.xz \
- file://0001-Make-environment-variables-assignments-to-be-weak.patch \
- file://0001-Replace-ntp_adjtime-with-adjtimex.patch \
- "
-SRC_URI[md5sum] = "9d5ca69be06edf5d535b52b5f790da4e"
-SRC_URI[sha256sum] = "22b2cf3ec45b0eedecddd3ad2a3d754ac57942ae7dcbac410d254935f0bdbc03"
-
-do_configure () {
- :
-}
-
-do_compile () {
- oe_runmake
-}
-
-do_install () {
- oe_runmake install 'INSTALL=install' 'STRIP=echo' 'DESTDIR=${D}'
-}
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.2.bb b/external/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.2.bb
new file mode 100644
index 00000000..d9d72686
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.2.bb
@@ -0,0 +1,39 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "HTTP based time synchronization tool"
+
+DESCRIPTION = "The HTTP Time Protocol (HTP) is used to synchronize a computer's time with\
+ web servers as reference time source. This program can be used instead\
+ ntpdate or similar, in networks that has a firewall blocking the NTP port.\
+ Htpdate will synchronize the computer time to Greenwich Mean Time (GMT),\
+ using the timestamps from HTTP headers found in web servers response (the\
+ HEAD method will be used to get the information).\
+ Htpdate works through proxy servers. Accuracy of htpdate will be usually\
+ within 0.5 seconds (better with multiple servers).\
+"
+
+HOMEPAGE = "http://www.vervest.org/htp/"
+
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "file://htpdate.c;beginline=26;endline=30;md5=d7018a4d2c5a6eab392709a05e5e168a"
+
+SRC_URI = "http://www.vervest.org/htp/archive/c/htpdate-${PV}.tar.xz \
+ file://0001-Make-environment-variables-assignments-to-be-weak.patch \
+ file://0001-Replace-ntp_adjtime-with-adjtimex.patch \
+ "
+SRC_URI[md5sum] = "aad8c33933648532ac8716c809b15be1"
+SRC_URI[sha256sum] = "5f1f959877852abb3153fa407e8532161a7abe916aa635796ef93f8e4119f955"
+
+do_configure () {
+ :
+}
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake install 'INSTALL=install' 'STRIP=echo' 'DESTDIR=${D}'
+}
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.8_typo.patch b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.8_typo.patch
new file mode 100644
index 00000000..24691003
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.8_typo.patch
@@ -0,0 +1,15 @@
+Description: Correct typo: s/ommited/omitted/
+Author: Michael Shuler <michael@pbandjelly.org>
+Index: ifmetric/man/ifmetric.8
+===================================================================
+--- ifmetric.orig/man/ifmetric.8
++++ ifmetric/man/ifmetric.8
+@@ -9,7 +9,7 @@ ifmetric is a Linux tool for setting the
+
+ ifmetric uses the Linux NETLINK interface to manipulate the routes. Because of that it is compatible with routes created with the new iproute2 utility.
+ .SH OPTIONS
+-You should specify the interface name as first parameter. The second parameter should be the new metric. If ommited the metric 0 (highest) is used.
++You should specify the interface name as first parameter. The second parameter should be the new metric. If omitted the metric 0 (highest) is used.
+ .SH RETURN VALUES
+ \fI0\f1 Success
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_netlink-invalid-arg.patch b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_netlink-invalid-arg.patch
new file mode 100644
index 00000000..374135d4
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_netlink-invalid-arg.patch
@@ -0,0 +1,16 @@
+Description: Fix "NETLINK: Error: Invalid argument" for links that are down, in kernel 4.4+
+Author: Jim Paris <jim@jtan.com>
+Bug-Debian: http://bugs.debian.org/864889
+Index: ifmetric/src/nlrequest.c
+===================================================================
+--- a/src/ifmetric.c
++++ b/src/ifmetric.c
+@@ -97,6 +97,8 @@
+ l = NLMSG_PAYLOAD(n, sizeof(struct rtmsg));
+ a = RTM_RTA(r);
+
++ r->rtm_flags &= ~(RTNH_F_DEAD | RTNH_F_LINKDOWN);
++
+ while(RTA_OK(a, l)) {
+ switch(a->rta_type) {
+ case RTA_PRIORITY:
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_typo.patch b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_typo.patch
new file mode 100644
index 00000000..992f7d2f
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_typo.patch
@@ -0,0 +1,24 @@
+Description: Correct spelling-error-in-binary s/Recieved/Received/
+Author: Michael Shuler <michael@pbandjelly.org>
+Index: ifmetric/src/ifmetric.c
+===================================================================
+--- ifmetric.orig/src/ifmetric.c 2013-09-04 18:37:59.000000000 -0500
++++ ifmetric/src/ifmetric.c 2013-09-04 19:08:38.539750778 -0500
+@@ -38,7 +38,7 @@
+ case RTA_OIF:
+
+ if (RTA_PAYLOAD(a) != sizeof(int)) {
+- fprintf(stderr, "NETLINK: Recieved corrupt RTA_OIF payload.\n");
++ fprintf(stderr, "NETLINK: Received corrupt RTA_OIF payload.\n");
+ return -1;
+ }
+
+@@ -102,7 +102,7 @@
+ case RTA_PRIORITY:
+
+ if (RTA_PAYLOAD(a) != sizeof(int)) {
+- fprintf(stderr, "NETLINK: Recieved corrupt RTA_PRIORITY payload.\n");
++ fprintf(stderr, "NETLINK: Received corrupt RTA_PRIORITY payload.\n");
+ return NULL;
+ }
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/nlrequest.c_packet-too-small_fix.patch b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/nlrequest.c_packet-too-small_fix.patch
new file mode 100644
index 00000000..15b31033
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/nlrequest.c_packet-too-small_fix.patch
@@ -0,0 +1,16 @@
+Description: Fix "NETLINK: Packet too small or truncated!" error.
+Author: Benedek László <benedekl@gmail.com>
+Bug-Debian: http://bugs.debian.org/514197
+Index: ifmetric/src/nlrequest.c
+===================================================================
+--- ifmetric.orig/src/nlrequest.c 2013-09-05 14:10:42.000000000 -0500
++++ ifmetric/src/nlrequest.c 2013-09-05 14:19:06.573420862 -0500
+@@ -44,7 +44,7 @@
+
+ for (;;) {
+ int bytes;
+- char replybuf[2048];
++ char replybuf[4096];
+ struct nlmsghdr *p = (struct nlmsghdr *) replybuf;
+
+ if ((bytes = recv(s, &replybuf, sizeof(replybuf), 0)) < 0) {
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric_0.3.bb b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric_0.3.bb
new file mode 100644
index 00000000..4ee7c42a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric_0.3.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Set routing metrics for a network interface"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "http://0pointer.de/lennart/projects/ifmetric/ifmetric-${PV}.tar.gz \
+ file://ifmetric.8_typo.patch \
+ file://ifmetric.c_netlink-invalid-arg.patch \
+ file://ifmetric.c_typo.patch \
+ file://nlrequest.c_packet-too-small_fix.patch"
+SRC_URI[md5sum] = "74aa3f5ee8aca16a87e124ddcc64fa36"
+SRC_URI[sha256sum] = "0fa8510a4e34e555f136f9df81d26618313f2d69a4880c0fb5967f19502f1aec"
+
+inherit autotools
+
+# disable lynx support for now
+EXTRA_OECONF = "--disable-lynx"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch b/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch
index 38d30647..e95b6f99 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch
@@ -1,4 +1,4 @@
-From fd80c0599083013a1b583feba5d7473f52b35938 Mon Sep 17 00:00:00 2001
+From 7fd0e0b88df692dfc67335f235a1bb74854a0498 Mon Sep 17 00:00:00 2001
From: Mariia Movchan <mmovchan@cisco.com>
Date: Tue, 6 Mar 2018 16:03:39 +0200
Subject: [PATCH] Makefile: pass extra linker flags
@@ -9,16 +9,17 @@ ERROR: QA Issue: No GNU_HASH in the elf binary
Upstream-Status: Pending
Signed-off-by: Mariia Movchan <mmovchan@cisco.com>
+
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index 8beff8f..047f02a 100644
+index 54569c1..798988f 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ LIBS?=
- VERSION=0.2.2
+ VERSION=0.2.3
CC?=gcc
CFLAGS?=-O2 -g -Wall
-LDFLAGS=$(LIBS)
@@ -26,6 +27,3 @@ index 8beff8f..047f02a 100644
ifeq ($(USE_GEOIP),yes)
ifeq ($(USE_DYN_GEOIP),yes)
---
-2.15.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb b/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb
deleted file mode 100644
index b4564240..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Tool to assist in network address calculations for IPv4 and IPv6."
-HOMEPAGE = "https://github.com/nmav/ipcalc"
-
-SECTION = "net"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-S = "${WORKDIR}/git"
-SRCREV = "8348808a7869ca8f25a5b5deeaa418c2f6d52758"
-SRC_URI = "\
- git://github.com/nmav/ipcalc.git;protocol=https; \
- file://0001-Makefile-pass-extra-linker-flags.patch \
-"
-
-export USE_GEOIP = "no"
-
-do_install() {
- install -d ${D}/${bindir}
- install -m 0755 ${S}/ipcalc ${D}/${bindir}
-}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb b/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb
new file mode 100644
index 00000000..ad0ec270
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tool to assist in network address calculations for IPv4 and IPv6."
+HOMEPAGE = "https://github.com/nmav/ipcalc"
+
+SECTION = "net"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+SRCREV = "c3ee70c878b9c5833a77a1f339f1ca4dc6f225c5"
+SRC_URI = "\
+ git://github.com/nmav/ipcalc.git;protocol=https; \
+ file://0001-Makefile-pass-extra-linker-flags.patch \
+"
+
+export USE_GEOIP = "no"
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -m 0755 ${S}/ipcalc ${D}/${bindir}
+}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch
deleted file mode 100644
index 11a91039..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 282d492e4cab7b4d9c7321f4c0c55b615948e280 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 11 May 2018 14:09:17 -0700
-Subject: [PATCH] Disable gcc8 specific warnings
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libipsec/ipsec_dump_policy.c | 5 +++++
- src/libipsec/pfkey_dump.c | 5 +++++
- src/racoon/isakmp.c | 11 ++++++++++-
- 3 files changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/src/libipsec/ipsec_dump_policy.c b/src/libipsec/ipsec_dump_policy.c
-index 4d0eb77..c3fc842 100644
---- a/src/libipsec/ipsec_dump_policy.c
-+++ b/src/libipsec/ipsec_dump_policy.c
-@@ -275,6 +275,10 @@ ipsec_dump_policy1(policy, delimiter, withports)
- return buf;
- }
-
-+#pragma GCC diagnostic push
-+#if defined(__GNUC__) && (__GNUC__ >= 8)
-+#pragma GCC diagnostic ignored "-Wformat-truncation"
-+#endif
- static char *
- ipsec_dump_ipsecrequest(buf, len, xisr, bound, withports)
- char *buf;
-@@ -419,3 +423,4 @@ set_address(buf, len, sa, withports)
-
- return buf;
- }
-+#pragma GCC diagnostic pop
-diff --git a/src/libipsec/pfkey_dump.c b/src/libipsec/pfkey_dump.c
-index 4627ebc..451e535 100644
---- a/src/libipsec/pfkey_dump.c
-+++ b/src/libipsec/pfkey_dump.c
-@@ -691,6 +691,10 @@ str_ipport(sa)
- /*
- * set "/prefix[port number]" to buffer.
- */
-+#pragma GCC diagnostic push
-+#if defined(__GNUC__) && (__GNUC__ >= 8)
-+#pragma GCC diagnostic ignored "-Wformat-truncation"
-+#endif
- static char *
- str_prefport(family, pref, port, ulp)
- u_int family, pref, port, ulp;
-@@ -735,6 +739,7 @@ str_prefport(family, pref, port, ulp)
-
- return buf;
- }
-+#pragma GCC diagnostic pop
-
- static void
- str_upperspec(ulp, p1, p2)
-diff --git a/src/racoon/isakmp.c b/src/racoon/isakmp.c
-index 7ff53a3..4addf24 100644
---- a/src/racoon/isakmp.c
-+++ b/src/racoon/isakmp.c
-@@ -3124,7 +3124,12 @@ script_hook(iph1, script)
- #endif
-
- /* local address */
-+#pragma GCC diagnostic push
-+#if defined(__GNUC__) && (__GNUC__ >= 8)
-+#pragma GCC diagnostic ignored "-Wstringop-truncation"
-+#endif
- GETNAMEINFO(iph1->local, addrstr, portstr);
-+#pragma GCC diagnostic pop
-
- if (script_env_append(&envp, &envc, "LOCAL_ADDR", addrstr) != 0) {
- plog(LLV_ERROR, LOCATION, NULL, "Cannot set LOCAL_ADDR\n");
-@@ -3138,8 +3143,12 @@ script_hook(iph1, script)
-
- /* Peer address */
- if (iph1->remote != NULL) {
-+#pragma GCC diagnostic push
-+#if defined(__GNUC__) && (__GNUC__ >= 8)
-+#pragma GCC diagnostic ignored "-Wstringop-truncation"
-+#endif
- GETNAMEINFO(iph1->remote, addrstr, portstr);
--
-+#pragma GCC diagnostic pop
- if (script_env_append(&envp, &envc,
- "REMOTE_ADDR", addrstr) != 0) {
- plog(LLV_ERROR, LOCATION, NULL,
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch
deleted file mode 100644
index 5c091474..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 9135ca401186fb14e5e5110bbb04d1ccc480360a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 15 Nov 2016 04:15:44 +0000
-Subject: [PATCH] Fix build with clang
-
-Fixes for following errors found by clang
-
-src/racoon/eaytest.c:316:6: error: comparison of array 'dnstr_w1' not equal to a null pointer is always true
- [-Werror,-Wtautological-pointer-compare]
- if (dnstr_w1 != NULL) {
- ^~~~~~~~ ~~~~
-src/racoon/eaytest.c:326:6: error: comparison of array 'dnstr_w1' not equal to a null pointer is always true
- [-Werror,-Wtautological-pointer-compare]
- if (dnstr_w1 != NULL) {
- ^~~~~~~~ ~~~~
-
-src/racoon/isakmp.c:1134:11: error: promoted type 'int' of K&R function parameter is not compatible with the
- parameter type 'u_int8_t' (aka 'unsigned char') declared in a previous prototype [-Werror,-Wknr-promoted-parameter]
- u_int8_t etype;
- ^
-src/racoon/isakmp.c:184:48: note: previous declaration is here
- struct sockaddr *, struct sockaddr *, u_int8_t));
- ^
- 1 error generated.
-
-src/racoon/racoonctl.c:1457:15: error: incompatible pointer types passing 'struct evt_async *' to parameter of type
- 'caddr_t' (aka 'char *') [-Werror,-Wincompatible-pointer-types]
- print_cfg(ec, len);
- ^~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/racoon/eaytest.c | 4 ++--
- src/racoon/isakmp.c | 10 +++++-----
- src/racoon/racoonctl.c | 7 +++----
- 3 files changed, 10 insertions(+), 11 deletions(-)
-
-diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c
-index 1474bdc..d609e4f 100644
---- a/src/racoon/eaytest.c
-+++ b/src/racoon/eaytest.c
-@@ -313,7 +313,7 @@ certtest(ac, av)
-
- printf("exact match: succeed.\n");
-
-- if (dnstr_w1 != NULL) {
-+ if (dnstr_w1[0] != '\0') {
- asn1dn = eay_str2asn1dn(dnstr_w1, strlen(dnstr_w1));
- if (asn1dn == NULL || asn1dn->l == asn1dn0.l)
- errx(1, "asn1dn length wrong for wildcard 1\n");
-@@ -323,7 +323,7 @@ certtest(ac, av)
- printf("wildcard 1 match: succeed.\n");
- }
-
-- if (dnstr_w1 != NULL) {
-+ if (dnstr_w1[0] != '\0') {
- asn1dn = eay_str2asn1dn(dnstr_w2, strlen(dnstr_w2));
- if (asn1dn == NULL || asn1dn->l == asn1dn0.l)
- errx(1, "asn1dn length wrong for wildcard 2\n");
-diff --git a/src/racoon/isakmp.c b/src/racoon/isakmp.c
-index 2672f7a..da7ebe8 100644
---- a/src/racoon/isakmp.c
-+++ b/src/racoon/isakmp.c
-@@ -567,7 +567,7 @@ isakmp_main(msg, remote, local)
-
- /* it must be responder's 1st exchange. */
- if (isakmp_ph1begin_r(msg, remote, local,
-- isakmp->etype) < 0)
-+ (u_int8_t)isakmp->etype) < 0)
- return -1;
- break;
-
-@@ -1128,10 +1128,10 @@ isakmp_ph1begin_i(rmconf, remote, local)
-
- /* new negotiation of phase 1 for responder */
- static int
--isakmp_ph1begin_r(msg, remote, local, etype)
-- vchar_t *msg;
-- struct sockaddr *remote, *local;
-- u_int8_t etype;
-+isakmp_ph1begin_r(vchar_t *msg,
-+ struct sockaddr *remote,
-+ struct sockaddr *local,
-+ u_int8_t etype)
- {
- struct isakmp *isakmp = (struct isakmp *)msg->v;
- struct ph1handle *iph1;
-diff --git a/src/racoon/racoonctl.c b/src/racoon/racoonctl.c
-index da28ecd..bbf068e 100644
---- a/src/racoon/racoonctl.c
-+++ b/src/racoon/racoonctl.c
-@@ -1299,9 +1299,8 @@ print_evt(evtdump)
- * Print ISAKMP mode config info (IP and banner)
- */
- void
--print_cfg(buf, len)
-- caddr_t buf;
-- int len;
-+print_cfg(caddr_t buf,
-+ int len)
- {
- struct evt_async *evtdump = (struct evt_async *)buf;
- struct isakmp_data *attr;
-@@ -1454,7 +1453,7 @@ handle_recv(combuf)
- else if (evt_quit_event == ec->ec_type) {
- switch (ec->ec_type) {
- case EVT_PHASE1_MODE_CFG:
-- print_cfg(ec, len);
-+ print_cfg((caddr_t)ec, len);
- break;
- default:
- print_evt(ec);
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch
deleted file mode 100644
index 630ecdb5..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch
+++ /dev/null
@@ -1,249 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch
deleted file mode 100644
index 22827443..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch
+++ /dev/null
@@ -1,1086 +0,0 @@
-From b572350a922187d43dd4629c3b43e19979fae3ef Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <cote2004-github@yahoo.com>
-Date: Tue, 25 Sep 2018 15:30:04 +0800
-Subject: [PATCH] ipsec-tools: add openssl 1.1 support
-
-To: equeiroz@troianet.com.br
-
-This patch updates the calls to openssl 1.1 API, and adds a
-compatibility layer so it compiles with (at least) openssl 1.0.2, I
-haven't tested it with lower versions, but all that's needed is to edit
-the openssl_compat.* files and add the missing functions there--they're
-usually trivial.
-
-Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
-
-Upstream-Status: Submitted [https://sourceforge.net/p/ipsec-tools/mailman/message/36327963/]
-https://github.com/openwrt/packages/blob/master/net/ipsec-tools/patches/015-openssl-1.1.patch
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/racoon/Makefile.am | 10 +--
- src/racoon/algorithm.c | 6 +-
- src/racoon/crypto_openssl.c | 197 +++++++++++++++++++++-------------------
- src/racoon/crypto_openssl.h | 2 +-
- src/racoon/eaytest.c | 7 +-
- src/racoon/ipsec_doi.c | 2 +-
- src/racoon/openssl_compat.c | 213 ++++++++++++++++++++++++++++++++++++++++++++
- src/racoon/openssl_compat.h | 45 ++++++++++
- src/racoon/plainrsa-gen.c | 41 +++++----
- src/racoon/prsa_par.y | 28 ++++--
- src/racoon/rsalist.c | 5 +-
- 11 files changed, 430 insertions(+), 126 deletions(-)
- create mode 100644 src/racoon/openssl_compat.c
- create mode 100644 src/racoon/openssl_compat.h
-
-diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am
-index 0662957..272b009 100644
---- a/src/racoon/Makefile.am
-+++ b/src/racoon/Makefile.am
-@@ -4,7 +4,7 @@ sbin_PROGRAMS = racoon racoonctl plainrsa-gen
- noinst_PROGRAMS = eaytest
- include_racoon_HEADERS = racoonctl.h var.h vmbuf.h misc.h gcmalloc.h admin.h \
- schedule.h sockmisc.h isakmp_var.h isakmp.h isakmp_xauth.h \
-- isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h
-+ isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h openssl_compat.h
- lib_LTLIBRARIES = libracoon.la
-
- adminsockdir=${localstatedir}/racoon
-@@ -32,7 +32,7 @@ racoon_SOURCES = \
- gssapi.c dnssec.c getcertsbyname.c privsep.c \
- pfkey.c admin.c evt.c ipsec_doi.c oakley.c grabmyaddr.c vendorid.c \
- policy.c localconf.c remoteconf.c crypto_openssl.c algorithm.c \
-- proposal.c sainfo.c strnames.c \
-+ openssl_compat.c proposal.c sainfo.c strnames.c \
- plog.c logger.c schedule.c str2val.c \
- safefile.c backupsa.c genlist.c rsalist.c \
- cftoken.l cfparse.y prsa_tok.l prsa_par.y
-@@ -51,12 +51,12 @@ libracoon_la_SOURCES = kmpstat.c vmbuf.c sockmisc.c misc.c
- libracoon_la_CFLAGS = -DNOUSE_PRIVSEP $(AM_CFLAGS)
-
- plainrsa_gen_SOURCES = plainrsa-gen.c plog.c \
-- crypto_openssl.c logger.c
-+ crypto_openssl.c logger.c openssl_compat.c
- EXTRA_plainrsa_gen_SOURCES = $(MISSING_ALGOS)
- plainrsa_gen_LDADD = $(CRYPTOBJS) vmbuf.o misc.o
- plainrsa_gen_DEPENDENCIES = $(CRYPTOBJS) vmbuf.o misc.o
-
--eaytest_SOURCES = eaytest.c plog.c logger.c
-+eaytest_SOURCES = eaytest.c plog.c logger.c openssl_compat.c
- EXTRA_eaytest_SOURCES = missing/crypto/sha2/sha2.c
- eaytest_LDADD = crypto_openssl_test.o vmbuf.o str2val.o misc_noplog.o \
- $(CRYPTOBJS)
-@@ -75,7 +75,7 @@ noinst_HEADERS = \
- debugrm.h isakmp.h misc.h sainfo.h \
- dhgroup.h isakmp_agg.h netdb_dnssec.h schedule.h \
- isakmp_cfg.h isakmp_xauth.h isakmp_unity.h isakmp_frag.h \
-- throttle.h privsep.h \
-+ throttle.h privsep.h openssl_compat.h \
- cfparse_proto.h cftoken_proto.h genlist.h rsalist.h \
- missing/crypto/sha2/sha2.h missing/crypto/rijndael/rijndael_local.h \
- missing/crypto/rijndael/rijndael-api-fst.h \
-diff --git a/src/racoon/algorithm.c b/src/racoon/algorithm.c
-index 3fd50f6..66c874b 100644
---- a/src/racoon/algorithm.c
-+++ b/src/racoon/algorithm.c
-@@ -128,7 +128,7 @@ static struct enc_algorithm oakley_encdef[] = {
- { "aes", algtype_aes, OAKLEY_ATTR_ENC_ALG_AES, 16,
- eay_aes_encrypt, eay_aes_decrypt,
- eay_aes_weakkey, eay_aes_keylen, },
--#ifdef HAVE_OPENSSL_CAMELLIA_H
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- { "camellia", algtype_camellia, OAKLEY_ATTR_ENC_ALG_CAMELLIA, 16,
- eay_camellia_encrypt, eay_camellia_decrypt,
- eay_camellia_weakkey, eay_camellia_keylen, },
-@@ -168,7 +168,7 @@ static struct enc_algorithm ipsec_encdef[] = {
- { "twofish", algtype_twofish, IPSECDOI_ESP_TWOFISH, 16,
- NULL, NULL,
- NULL, eay_twofish_keylen, },
--#ifdef HAVE_OPENSSL_IDEA_H
-+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA)
- { "3idea", algtype_3idea, IPSECDOI_ESP_3IDEA, 8,
- NULL, NULL,
- NULL, NULL, },
-@@ -179,7 +179,7 @@ static struct enc_algorithm ipsec_encdef[] = {
- { "rc4", algtype_rc4, IPSECDOI_ESP_RC4, 8,
- NULL, NULL,
- NULL, NULL, },
--#ifdef HAVE_OPENSSL_CAMELLIA_H
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- { "camellia", algtype_camellia, IPSECDOI_ESP_CAMELLIA, 16,
- NULL, NULL,
- NULL, eay_camellia_keylen, },
-diff --git a/src/racoon/crypto_openssl.c b/src/racoon/crypto_openssl.c
-index 55b076a..8fb358f 100644
---- a/src/racoon/crypto_openssl.c
-+++ b/src/racoon/crypto_openssl.c
-@@ -90,6 +90,7 @@
- #endif
- #endif
- #include "plog.h"
-+#include "openssl_compat.h"
-
- #define USE_NEW_DES_API
-
-@@ -316,9 +317,12 @@ eay_cmp_asn1dn(n1, n2)
- i = idx+1;
- goto end;
- }
-- if ((ea->value->length == 1 && ea->value->data[0] == '*') ||
-- (eb->value->length == 1 && eb->value->data[0] == '*')) {
-- if (OBJ_cmp(ea->object,eb->object)) {
-+ ASN1_STRING *sa = X509_NAME_ENTRY_get_data(ea);
-+ ASN1_STRING *sb = X509_NAME_ENTRY_get_data(eb);
-+ if ((ASN1_STRING_length(sa) == 1 && ASN1_STRING_get0_data(sa)[0] == '*') ||
-+ (ASN1_STRING_length(sb) == 1 && ASN1_STRING_get0_data(sb)[0] == '*')) {
-+ if (OBJ_cmp(X509_NAME_ENTRY_get_object(ea),
-+ X509_NAME_ENTRY_get_object(eb))) {
- i = idx+1;
- goto end;
- }
-@@ -430,7 +434,7 @@ cb_check_cert_local(ok, ctx)
-
- if (!ok) {
- X509_NAME_oneline(
-- X509_get_subject_name(ctx->current_cert),
-+ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)),
- buf,
- 256);
- /*
-@@ -438,7 +442,8 @@ cb_check_cert_local(ok, ctx)
- * ok if they are self signed. But we should still warn
- * the user.
- */
-- switch (ctx->error) {
-+ int ctx_error = X509_STORE_CTX_get_error(ctx);
-+ switch (ctx_error) {
- case X509_V_ERR_CERT_HAS_EXPIRED:
- case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
- case X509_V_ERR_INVALID_CA:
-@@ -453,9 +458,9 @@ cb_check_cert_local(ok, ctx)
- }
- plog(log_tag, LOCATION, NULL,
- "%s(%d) at depth:%d SubjectName:%s\n",
-- X509_verify_cert_error_string(ctx->error),
-- ctx->error,
-- ctx->error_depth,
-+ X509_verify_cert_error_string(ctx_error),
-+ ctx_error,
-+ X509_STORE_CTX_get_error_depth(ctx),
- buf);
- }
- ERR_clear_error();
-@@ -477,10 +482,11 @@ cb_check_cert_remote(ok, ctx)
-
- if (!ok) {
- X509_NAME_oneline(
-- X509_get_subject_name(ctx->current_cert),
-+ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)),
- buf,
- 256);
-- switch (ctx->error) {
-+ int ctx_error=X509_STORE_CTX_get_error(ctx);
-+ switch (ctx_error) {
- case X509_V_ERR_UNABLE_TO_GET_CRL:
- ok = 1;
- log_tag = LLV_WARNING;
-@@ -490,9 +496,9 @@ cb_check_cert_remote(ok, ctx)
- }
- plog(log_tag, LOCATION, NULL,
- "%s(%d) at depth:%d SubjectName:%s\n",
-- X509_verify_cert_error_string(ctx->error),
-- ctx->error,
-- ctx->error_depth,
-+ X509_verify_cert_error_string(ctx_error),
-+ ctx_error,
-+ X509_STORE_CTX_get_error_depth(ctx),
- buf);
- }
- ERR_clear_error();
-@@ -516,14 +522,15 @@ eay_get_x509asn1subjectname(cert)
- if (x509 == NULL)
- goto error;
-
-+ X509_NAME *subject_name = X509_get_subject_name(x509);
- /* get the length of the name */
-- len = i2d_X509_NAME(x509->cert_info->subject, NULL);
-+ len = i2d_X509_NAME(subject_name, NULL);
- name = vmalloc(len);
- if (!name)
- goto error;
- /* get the name */
- bp = (unsigned char *) name->v;
-- len = i2d_X509_NAME(x509->cert_info->subject, &bp);
-+ len = i2d_X509_NAME(subject_name, &bp);
-
- X509_free(x509);
-
-@@ -661,15 +668,16 @@ eay_get_x509asn1issuername(cert)
- if (x509 == NULL)
- goto error;
-
-+ X509_NAME *issuer_name = X509_get_issuer_name(x509);
- /* get the length of the name */
-- len = i2d_X509_NAME(x509->cert_info->issuer, NULL);
-+ len = i2d_X509_NAME(issuer_name, NULL);
- name = vmalloc(len);
- if (name == NULL)
- goto error;
-
- /* get the name */
- bp = (unsigned char *) name->v;
-- len = i2d_X509_NAME(x509->cert_info->issuer, &bp);
-+ len = i2d_X509_NAME(issuer_name, &bp);
-
- X509_free(x509);
-
-@@ -850,7 +858,7 @@ eay_check_x509sign(source, sig, cert)
- return -1;
- }
-
-- res = eay_rsa_verify(source, sig, evp->pkey.rsa);
-+ res = eay_rsa_verify(source, sig, EVP_PKEY_get0_RSA(evp));
-
- EVP_PKEY_free(evp);
- X509_free(x509);
-@@ -992,7 +1000,7 @@ eay_get_x509sign(src, privkey)
- if (evp == NULL)
- return NULL;
-
-- sig = eay_rsa_sign(src, evp->pkey.rsa);
-+ sig = eay_rsa_sign(src, EVP_PKEY_get0_RSA(evp));
-
- EVP_PKEY_free(evp);
-
-@@ -1079,7 +1087,11 @@ eay_strerror()
- int line, flags;
- unsigned long es;
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ es = 0; /* even when allowed by OPENSSL_API_COMPAT, it is defined as 0 */
-+#else
- es = CRYPTO_thread_id();
-+#endif
-
- while ((l = ERR_get_error_line_data(&file, &line, &data, &flags)) != 0){
- n = snprintf(ebuf + len, sizeof(ebuf) - len,
-@@ -1100,7 +1112,7 @@ vchar_t *
- evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc)
- {
- vchar_t *res;
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
-
- if (!e)
- return NULL;
-@@ -1111,7 +1123,7 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc
- if ((res = vmalloc(data->l)) == NULL)
- return NULL;
-
-- EVP_CIPHER_CTX_init(&ctx);
-+ ctx = EVP_CIPHER_CTX_new();
-
- switch(EVP_CIPHER_nid(e)){
- case NID_bf_cbc:
-@@ -1125,54 +1137,41 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc
- /* XXX: can we do that also for algos with a fixed key size ?
- */
- /* init context without key/iv
-- */
-- if (!EVP_CipherInit(&ctx, e, NULL, NULL, enc))
-- {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
-+ */
-+ if (!EVP_CipherInit(ctx, e, NULL, NULL, enc))
-+ goto out;
-
-- /* update key size
-- */
-- if (!EVP_CIPHER_CTX_set_key_length(&ctx, key->l))
-- {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
--
-- /* finalize context init with desired key size
-- */
-- if (!EVP_CipherInit(&ctx, NULL, (u_char *) key->v,
-+ /* update key size
-+ */
-+ if (!EVP_CIPHER_CTX_set_key_length(ctx, key->l))
-+ goto out;
-+
-+ /* finalize context init with desired key size
-+ */
-+ if (!EVP_CipherInit(ctx, NULL, (u_char *) key->v,
- (u_char *) iv->v, enc))
-- {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
-+ goto out;
- break;
- default:
-- if (!EVP_CipherInit(&ctx, e, (u_char *) key->v,
-- (u_char *) iv->v, enc)) {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
-+ if (!EVP_CipherInit(ctx, e, (u_char *) key->v,
-+ (u_char *) iv->v, enc))
-+ goto out;
- }
-
- /* disable openssl padding */
-- EVP_CIPHER_CTX_set_padding(&ctx, 0);
-+ EVP_CIPHER_CTX_set_padding(ctx, 0);
-
-- if (!EVP_Cipher(&ctx, (u_char *) res->v, (u_char *) data->v, data->l)) {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
-+ if (!EVP_Cipher(ctx, (u_char *) res->v, (u_char *) data->v, data->l))
-+ goto out;
-
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
-
- return res;
-+out:
-+ EVP_CIPHER_CTX_free(ctx);
-+ OpenSSL_BUG();
-+ vfree(res);
-+ return NULL;
- }
-
- int
-@@ -1230,7 +1229,7 @@ eay_des_keylen(len)
- return evp_keylen(len, EVP_des_cbc());
- }
-
--#ifdef HAVE_OPENSSL_IDEA_H
-+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA)
- /*
- * IDEA-CBC
- */
-@@ -1587,7 +1586,7 @@ eay_aes_keylen(len)
- return len;
- }
-
--#if defined(HAVE_OPENSSL_CAMELLIA_H)
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- /*
- * CAMELLIA-CBC
- */
-@@ -1680,9 +1679,9 @@ eay_hmac_init(key, md)
- vchar_t *key;
- const EVP_MD *md;
- {
-- HMAC_CTX *c = racoon_malloc(sizeof(*c));
-+ HMAC_CTX *c = HMAC_CTX_new();
-
-- HMAC_Init(c, key->v, key->l, md);
-+ HMAC_Init_ex(c, key->v, key->l, md, NULL);
-
- return (caddr_t)c;
- }
-@@ -1761,8 +1760,7 @@ eay_hmacsha2_512_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (SHA512_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -1811,8 +1809,7 @@ eay_hmacsha2_384_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (SHA384_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -1861,8 +1858,7 @@ eay_hmacsha2_256_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (SHA256_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -1912,8 +1908,7 @@ eay_hmacsha1_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (SHA_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -1962,8 +1957,7 @@ eay_hmacmd5_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (MD5_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -2266,6 +2260,7 @@ eay_dh_generate(prime, g, publen, pub, priv)
- u_int32_t g;
- {
- BIGNUM *p = NULL;
-+ BIGNUM *BNg = NULL;
- DH *dh = NULL;
- int error = -1;
-
-@@ -2276,25 +2271,28 @@ eay_dh_generate(prime, g, publen, pub, priv)
-
- if ((dh = DH_new()) == NULL)
- goto end;
-- dh->p = p;
-- p = NULL; /* p is now part of dh structure */
-- dh->g = NULL;
-- if ((dh->g = BN_new()) == NULL)
-+ if ((BNg = BN_new()) == NULL)
- goto end;
-- if (!BN_set_word(dh->g, g))
-+ if (!BN_set_word(BNg, g))
- goto end;
-+ if (! DH_set0_pqg(dh, p, NULL, BNg))
-+ goto end;
-+ BNg = NULL;
-+ p = NULL; /* p is now part of dh structure */
-
- if (publen != 0)
-- dh->length = publen;
-+ DH_set_length(dh, publen);
-
- /* generate public and private number */
- if (!DH_generate_key(dh))
- goto end;
-
- /* copy results to buffers */
-- if (eay_bn2v(pub, dh->pub_key) < 0)
-+ BIGNUM *pub_key, *priv_key;
-+ DH_get0_key(dh, (const BIGNUM**) &pub_key, (const BIGNUM**) &priv_key);
-+ if (eay_bn2v(pub, pub_key) < 0)
- goto end;
-- if (eay_bn2v(priv, dh->priv_key) < 0) {
-+ if (eay_bn2v(priv, priv_key) < 0) {
- vfree(*pub);
- goto end;
- }
-@@ -2306,6 +2304,8 @@ end:
- DH_free(dh);
- if (p != 0)
- BN_free(p);
-+ if (BNg != 0)
-+ BN_free(BNg);
- return(error);
- }
-
-@@ -2319,6 +2319,10 @@ eay_dh_compute(prime, g, pub, priv, pub2, key)
- int l;
- unsigned char *v = NULL;
- int error = -1;
-+ BIGNUM *p = BN_new();
-+ BIGNUM *BNg = BN_new();
-+ BIGNUM *pub_key = BN_new();
-+ BIGNUM *priv_key = BN_new();
-
- /* make public number to compute */
- if (eay_v2bn(&dh_pub, pub2) < 0)
-@@ -2327,19 +2331,21 @@ eay_dh_compute(prime, g, pub, priv, pub2, key)
- /* make DH structure */
- if ((dh = DH_new()) == NULL)
- goto end;
-- if (eay_v2bn(&dh->p, prime) < 0)
-+ if (p == NULL || BNg == NULL || pub_key == NULL || priv_key == NULL)
- goto end;
-- if (eay_v2bn(&dh->pub_key, pub) < 0)
-+
-+ if (eay_v2bn(&p, prime) < 0)
- goto end;
-- if (eay_v2bn(&dh->priv_key, priv) < 0)
-+ if (eay_v2bn(&pub_key, pub) < 0)
- goto end;
-- dh->length = pub2->l * 8;
--
-- dh->g = NULL;
-- if ((dh->g = BN_new()) == NULL)
-+ if (eay_v2bn(&priv_key, priv) < 0)
- goto end;
-- if (!BN_set_word(dh->g, g))
-+ if (!BN_set_word(BNg, g))
- goto end;
-+ DH_set0_key(dh, pub_key, priv_key);
-+ DH_set_length(dh, pub2->l * 8);
-+ DH_set0_pqg(dh, p, NULL, BNg);
-+ pub_key = priv_key = p = BNg = NULL;
-
- if ((v = racoon_calloc(prime->l, sizeof(u_char))) == NULL)
- goto end;
-@@ -2350,6 +2356,14 @@ eay_dh_compute(prime, g, pub, priv, pub2, key)
- error = 0;
-
- end:
-+ if (p != NULL)
-+ BN_free(p);
-+ if (BNg != NULL)
-+ BN_free(BNg);
-+ if (pub_key != NULL)
-+ BN_free(pub_key);
-+ if (priv_key != NULL)
-+ BN_free(priv_key);
- if (dh_pub != NULL)
- BN_free(dh_pub);
- if (dh != NULL)
-@@ -2400,12 +2414,14 @@ eay_bn2v(var, bn)
- void
- eay_init()
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- OpenSSL_add_all_algorithms();
- ERR_load_crypto_strings();
- #ifdef HAVE_OPENSSL_ENGINE_H
- ENGINE_load_builtin_engines();
- ENGINE_register_all_complete();
- #endif
-+#endif
- }
-
- vchar_t *
-@@ -2504,8 +2520,7 @@ binbuf_pubkey2rsa(vchar_t *binbuf)
- goto out;
- }
-
-- rsa_pub->n = mod;
-- rsa_pub->e = exp;
-+ RSA_set0_key(rsa_pub, mod, exp, NULL);
-
- out:
- return rsa_pub;
-@@ -2582,5 +2597,5 @@ eay_random()
- const char *
- eay_version()
- {
-- return SSLeay_version(SSLEAY_VERSION);
-+ return OpenSSL_version(OPENSSL_VERSION);
- }
-diff --git a/src/racoon/crypto_openssl.h b/src/racoon/crypto_openssl.h
-index 66fac73..ee5b765 100644
---- a/src/racoon/crypto_openssl.h
-+++ b/src/racoon/crypto_openssl.h
-@@ -124,7 +124,7 @@ extern vchar_t *eay_aes_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
- extern int eay_aes_weakkey __P((vchar_t *));
- extern int eay_aes_keylen __P((int));
-
--#if defined(HAVE_OPENSSL_CAMELLIA_H)
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- /* Camellia */
- extern vchar_t *eay_camellia_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
- extern vchar_t *eay_camellia_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
-diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c
-index d609e4f..d2d20da 100644
---- a/src/racoon/eaytest.c
-+++ b/src/racoon/eaytest.c
-@@ -62,6 +62,7 @@
- #include "dhgroup.h"
- #include "crypto_openssl.h"
- #include "gnuc.h"
-+#include "openssl_compat.h"
-
- #include "package_version.h"
-
-@@ -103,7 +104,7 @@ rsa_verify_with_pubkey(src, sig, pubkey_txt)
- printf ("PEM_read_PUBKEY(): %s\n", eay_strerror());
- return -1;
- }
-- error = eay_check_rsasign(src, sig, evp->pkey.rsa);
-+ error = eay_check_rsasign(src, sig, EVP_PKEY_get0_RSA(evp));
-
- return error;
- }
-@@ -698,7 +699,7 @@ ciphertest(ac, av)
- eay_cast_encrypt, eay_cast_decrypt) < 0)
- return -1;
-
--#ifdef HAVE_OPENSSL_IDEA_H
-+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA)
- if (ciphertest_1 ("IDEA",
- &data, 8,
- &key, key.l,
-@@ -715,7 +716,7 @@ ciphertest(ac, av)
- eay_rc5_encrypt, eay_rc5_decrypt) < 0)
- return -1;
- #endif
--#if defined(HAVE_OPENSSL_CAMELLIA_H)
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- if (ciphertest_1 ("CAMELLIA",
- &data, 16,
- &key, key.l,
-diff --git a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c
-index 08e4325..7b1604d 100644
---- a/src/racoon/ipsec_doi.c
-+++ b/src/racoon/ipsec_doi.c
-@@ -715,7 +715,7 @@ out:
- /* key length must not be specified on some algorithms */
- if (keylen) {
- if (sa->enctype == OAKLEY_ATTR_ENC_ALG_DES
--#ifdef HAVE_OPENSSL_IDEA_H
-+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA)
- || sa->enctype == OAKLEY_ATTR_ENC_ALG_IDEA
- #endif
- || sa->enctype == OAKLEY_ATTR_ENC_ALG_3DES) {
-diff --git a/src/racoon/openssl_compat.c b/src/racoon/openssl_compat.c
-new file mode 100644
-index 0000000..864b5fb
---- /dev/null
-+++ b/src/racoon/openssl_compat.c
-@@ -0,0 +1,213 @@
-+/*
-+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
-+ *
-+ * Licensed under the OpenSSL license (the "License"). You may not use
-+ * this file except in compliance with the License. You can obtain a copy
-+ * in the file LICENSE in the source distribution or at
-+ * https://www.openssl.org/source/license.html
-+ */
-+
-+#include "openssl_compat.h"
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+#include <string.h>
-+
-+static void *OPENSSL_zalloc(size_t num)
-+{
-+ void *ret = OPENSSL_malloc(num);
-+
-+ if (ret != NULL)
-+ memset(ret, 0, num);
-+ return ret;
-+}
-+
-+int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-+{
-+ /* If the fields n and e in r are NULL, the corresponding input
-+ * parameters MUST be non-NULL for n and e. d may be
-+ * left NULL (in case only the public key is used).
-+ */
-+ if ((r->n == NULL && n == NULL)
-+ || (r->e == NULL && e == NULL))
-+ return 0;
-+
-+ if (n != NULL) {
-+ BN_free(r->n);
-+ r->n = n;
-+ }
-+ if (e != NULL) {
-+ BN_free(r->e);
-+ r->e = e;
-+ }
-+ if (d != NULL) {
-+ BN_free(r->d);
-+ r->d = d;
-+ }
-+
-+ return 1;
-+}
-+
-+int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q)
-+{
-+ /* If the fields p and q in r are NULL, the corresponding input
-+ * parameters MUST be non-NULL.
-+ */
-+ if ((r->p == NULL && p == NULL)
-+ || (r->q == NULL && q == NULL))
-+ return 0;
-+
-+ if (p != NULL) {
-+ BN_free(r->p);
-+ r->p = p;
-+ }
-+ if (q != NULL) {
-+ BN_free(r->q);
-+ r->q = q;
-+ }
-+
-+ return 1;
-+}
-+
-+int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)
-+{
-+ /* If the fields dmp1, dmq1 and iqmp in r are NULL, the corresponding input
-+ * parameters MUST be non-NULL.
-+ */
-+ if ((r->dmp1 == NULL && dmp1 == NULL)
-+ || (r->dmq1 == NULL && dmq1 == NULL)
-+ || (r->iqmp == NULL && iqmp == NULL))
-+ return 0;
-+
-+ if (dmp1 != NULL) {
-+ BN_free(r->dmp1);
-+ r->dmp1 = dmp1;
-+ }
-+ if (dmq1 != NULL) {
-+ BN_free(r->dmq1);
-+ r->dmq1 = dmq1;
-+ }
-+ if (iqmp != NULL) {
-+ BN_free(r->iqmp);
-+ r->iqmp = iqmp;
-+ }
-+
-+ return 1;
-+}
-+
-+void RSA_get0_key(const RSA *r,
-+ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
-+{
-+ if (n != NULL)
-+ *n = r->n;
-+ if (e != NULL)
-+ *e = r->e;
-+ if (d != NULL)
-+ *d = r->d;
-+}
-+
-+void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q)
-+{
-+ if (p != NULL)
-+ *p = r->p;
-+ if (q != NULL)
-+ *q = r->q;
-+}
-+
-+void RSA_get0_crt_params(const RSA *r,
-+ const BIGNUM **dmp1, const BIGNUM **dmq1,
-+ const BIGNUM **iqmp)
-+{
-+ if (dmp1 != NULL)
-+ *dmp1 = r->dmp1;
-+ if (dmq1 != NULL)
-+ *dmq1 = r->dmq1;
-+ if (iqmp != NULL)
-+ *iqmp = r->iqmp;
-+}
-+
-+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ /* If the fields p and g in d are NULL, the corresponding input
-+ * parameters MUST be non-NULL. q may remain NULL.
-+ */
-+ if ((dh->p == NULL && p == NULL)
-+ || (dh->g == NULL && g == NULL))
-+ return 0;
-+
-+ if (p != NULL) {
-+ BN_free(dh->p);
-+ dh->p = p;
-+ }
-+ if (q != NULL) {
-+ BN_free(dh->q);
-+ dh->q = q;
-+ }
-+ if (g != NULL) {
-+ BN_free(dh->g);
-+ dh->g = g;
-+ }
-+
-+ if (q != NULL) {
-+ dh->length = BN_num_bits(q);
-+ }
-+
-+ return 1;
-+}
-+
-+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ if (pub_key != NULL)
-+ *pub_key = dh->pub_key;
-+ if (priv_key != NULL)
-+ *priv_key = dh->priv_key;
-+}
-+
-+int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ /* If the field pub_key in dh is NULL, the corresponding input
-+ * parameters MUST be non-NULL. The priv_key field may
-+ * be left NULL.
-+ */
-+ if (dh->pub_key == NULL && pub_key == NULL)
-+ return 0;
-+
-+ if (pub_key != NULL) {
-+ BN_free(dh->pub_key);
-+ dh->pub_key = pub_key;
-+ }
-+ if (priv_key != NULL) {
-+ BN_free(dh->priv_key);
-+ dh->priv_key = priv_key;
-+ }
-+
-+ return 1;
-+}
-+
-+int DH_set_length(DH *dh, long length)
-+{
-+ dh->length = length;
-+ return 1;
-+}
-+
-+HMAC_CTX *HMAC_CTX_new(void)
-+{
-+ return OPENSSL_zalloc(sizeof(HMAC_CTX));
-+}
-+
-+void HMAC_CTX_free(HMAC_CTX *ctx)
-+{
-+ HMAC_CTX_cleanup(ctx);
-+ OPENSSL_free(ctx);
-+}
-+
-+RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
-+{
-+ if (pkey->type != EVP_PKEY_RSA) {
-+ return NULL;
-+ }
-+ return pkey->pkey.rsa;
-+}
-+
-+
-+#endif /* OPENSSL_VERSION_NUMBER */
-diff --git a/src/racoon/openssl_compat.h b/src/racoon/openssl_compat.h
-new file mode 100644
-index 0000000..9e152c2
---- /dev/null
-+++ b/src/racoon/openssl_compat.h
-@@ -0,0 +1,45 @@
-+#ifndef OPENSSL_COMPAT_H
-+#define OPENSSL_COMPAT_H
-+
-+#include <openssl/opensslv.h>
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+#include <openssl/rsa.h>
-+#include <openssl/dh.h>
-+#include <openssl/evp.h>
-+#include <openssl/hmac.h>
-+
-+int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
-+int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
-+int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp);
-+void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d);
-+void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q);
-+void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp);
-+
-+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
-+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key);
-+int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key);
-+int DH_set_length(DH *dh, long length);
-+
-+HMAC_CTX *HMAC_CTX_new(void);
-+void HMAC_CTX_free(HMAC_CTX* ctx);
-+
-+RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey);
-+
-+#define ASN1_STRING_length(s) s->length
-+#define ASN1_STRING_get0_data(s) s->data
-+
-+#define X509_get_subject_name(x) x->cert_info->subject
-+#define X509_get_issuer_name(x) x->cert_info->issuer
-+#define X509_NAME_ENTRY_get_data(n) n->value
-+#define X509_NAME_ENTRY_get_object(n) n->object
-+#define X509_STORE_CTX_get_current_cert(ctx) ctx->current_cert
-+#define X509_STORE_CTX_get_error(ctx) ctx->error
-+#define X509_STORE_CTX_get_error_depth(ctx) ctx->error_depth
-+
-+#define OPENSSL_VERSION SSLEAY_VERSION
-+#define OpenSSL_version SSLeay_version
-+
-+#endif /* OPENSSL_VERSION_NUMBER */
-+
-+#endif /* OPENSSL_COMPAT_H */
-diff --git a/src/racoon/plainrsa-gen.c b/src/racoon/plainrsa-gen.c
-index cad1861..b949b08 100644
---- a/src/racoon/plainrsa-gen.c
-+++ b/src/racoon/plainrsa-gen.c
-@@ -60,6 +60,7 @@
- #include "vmbuf.h"
- #include "plog.h"
- #include "crypto_openssl.h"
-+#include "openssl_compat.h"
-
- #include "package_version.h"
-
-@@ -90,12 +91,14 @@ mix_b64_pubkey(const RSA *key)
- char *binbuf;
- long binlen, ret;
- vchar_t *res;
--
-- binlen = 1 + BN_num_bytes(key->e) + BN_num_bytes(key->n);
-+ const BIGNUM *e, *n;
-+
-+ RSA_get0_key(key, &n, &e, NULL);
-+ binlen = 1 + BN_num_bytes(e) + BN_num_bytes(n);
- binbuf = malloc(binlen);
- memset(binbuf, 0, binlen);
-- binbuf[0] = BN_bn2bin(key->e, (unsigned char *) &binbuf[1]);
-- ret = BN_bn2bin(key->n, (unsigned char *) (&binbuf[binbuf[0] + 1]));
-+ binbuf[0] = BN_bn2bin(e, (unsigned char *) &binbuf[1]);
-+ ret = BN_bn2bin(n, (unsigned char *) (&binbuf[binbuf[0] + 1]));
- if (1 + binbuf[0] + ret != binlen) {
- plog(LLV_ERROR, LOCATION, NULL,
- "Pubkey generation failed. This is really strange...\n");
-@@ -131,16 +134,20 @@ print_rsa_key(FILE *fp, const RSA *key)
-
- fprintf(fp, "# : PUB 0s%s\n", pubkey64->v);
- fprintf(fp, ": RSA\t{\n");
-- fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(key->n));
-+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp;
-+ RSA_get0_key(key, &n, &e, &d);
-+ RSA_get0_factors(key, &p, &q);
-+ RSA_get0_crt_params(key, &dmp1, &dmq1, &iqmp);
-+ fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(n));
- fprintf(fp, "\t# pubkey=0s%s\n", pubkey64->v);
-- fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(key->n)));
-- fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(key->e)));
-- fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(key->d)));
-- fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(key->p)));
-- fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(key->q)));
-- fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(key->dmp1)));
-- fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(key->dmq1)));
-- fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(key->iqmp)));
-+ fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(n)));
-+ fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(e)));
-+ fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(d)));
-+ fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(p)));
-+ fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(q)));
-+ fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(dmp1)));
-+ fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(dmq1)));
-+ fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(iqmp)));
- fprintf(fp, " }\n");
-
- vfree(pubkey64);
-@@ -203,11 +210,13 @@ int
- gen_rsa_key(FILE *fp, size_t bits, unsigned long exp)
- {
- int ret;
-- RSA *key;
-+ RSA *key = RSA_new();
-+ BIGNUM *e = BN_new();
-
-- key = RSA_generate_key(bits, exp, NULL, NULL);
-- if (!key) {
-+ BN_set_word(e, exp);
-+ if (! RSA_generate_key_ex(key, bits, e, NULL)) {
- fprintf(stderr, "RSA_generate_key(): %s\n", eay_strerror());
-+ RSA_free(key);
- return -1;
- }
-
-diff --git a/src/racoon/prsa_par.y b/src/racoon/prsa_par.y
-index 1987e4d..27ce4c6 100644
---- a/src/racoon/prsa_par.y
-+++ b/src/racoon/prsa_par.y
-@@ -68,6 +68,7 @@
- #include "isakmp_var.h"
- #include "handler.h"
- #include "crypto_openssl.h"
-+#include "openssl_compat.h"
- #include "sockmisc.h"
- #include "rsalist.h"
-
-@@ -85,7 +86,18 @@ char *prsa_cur_fname = NULL;
- struct genlist *prsa_cur_list = NULL;
- enum rsa_key_type prsa_cur_type = RSA_TYPE_ANY;
-
--static RSA *rsa_cur;
-+struct my_rsa_st {
-+ BIGNUM *n;
-+ BIGNUM *e;
-+ BIGNUM *d;
-+ BIGNUM *p;
-+ BIGNUM *q;
-+ BIGNUM *dmp1;
-+ BIGNUM *dmq1;
-+ BIGNUM *iqmp;
-+};
-+
-+static struct my_rsa_st *rsa_cur;
-
- void
- prsaerror(const char *s, ...)
-@@ -201,8 +213,12 @@ rsa_statement:
- rsa_cur->iqmp = NULL;
- }
- }
-- $$ = rsa_cur;
-- rsa_cur = RSA_new();
-+ RSA * rsa_tmp = RSA_new();
-+ RSA_set0_key(rsa_tmp, rsa_cur->n, rsa_cur->e, rsa_cur->d);
-+ RSA_set0_factors(rsa_tmp, rsa_cur->p, rsa_cur->q);
-+ RSA_set0_crt_params(rsa_tmp, rsa_cur->dmp1, rsa_cur->dmq1, rsa_cur->iqmp);
-+ $$ = rsa_tmp;
-+ memset(rsa_cur, 0, sizeof(struct my_rsa_st));
- }
- | TAG_PUB BASE64
- {
-@@ -351,10 +367,12 @@ prsa_parse_file(struct genlist *list, char *fname, enum rsa_key_type type)
- prsa_cur_fname = fname;
- prsa_cur_list = list;
- prsa_cur_type = type;
-- rsa_cur = RSA_new();
-+ rsa_cur = malloc(sizeof(struct my_rsa_st));
-+ memset(rsa_cur, 0, sizeof(struct my_rsa_st));
- ret = prsaparse();
- if (rsa_cur) {
-- RSA_free(rsa_cur);
-+ memset(rsa_cur, 0, sizeof(struct my_rsa_st));
-+ free(rsa_cur);
- rsa_cur = NULL;
- }
- fclose (fp);
-diff --git a/src/racoon/rsalist.c b/src/racoon/rsalist.c
-index f152c82..96e8363 100644
---- a/src/racoon/rsalist.c
-+++ b/src/racoon/rsalist.c
-@@ -52,6 +52,7 @@
- #include "genlist.h"
- #include "remoteconf.h"
- #include "crypto_openssl.h"
-+#include "openssl_compat.h"
-
- #ifndef LIST_FIRST
- #define LIST_FIRST(head) ((head)->lh_first)
-@@ -98,7 +99,9 @@ rsa_key_dup(struct rsa_key *key)
- return NULL;
-
- if (key->rsa) {
-- new->rsa = key->rsa->d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa);
-+ const BIGNUM *d;
-+ RSA_get0_key(key->rsa, NULL, NULL, &d);
-+ new->rsa = (d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa));
- if (new->rsa == NULL)
- goto dup_error;
- }
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch
deleted file mode 100644
index d5602c03..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 738a9857be9c92ad2f70be88ccee238e3154a936 Mon Sep 17 00:00:00 2001
-From: Joe MacDonald <joe.macdonald@windriver.com>
-Date: Wed, 2 Oct 2013 14:20:37 -0400
-Subject: [PATCH] racoon/pfkey: avoid potential null-pointer dereference
-
-Building with -Werror=maybe-uninitialized revealed that 'remote' from
-pk_recvmigrate() could be used with uninitialized data in
-migrate_sp_ike_addresses(). Ensure it is always at a minimum assigned
-NULL.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com>
----
- src/racoon/pfkey.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/racoon/pfkey.c b/src/racoon/pfkey.c
-index d00b166..e0dc1db 100644
---- a/src/racoon/pfkey.c
-+++ b/src/racoon/pfkey.c
-@@ -3352,7 +3352,7 @@ pk_recvmigrate(mhp)
- struct sockaddr *old_saddr, *new_saddr;
- struct sockaddr *old_daddr, *new_daddr;
- struct sockaddr *old_local, *old_remote;
-- struct sockaddr *local, *remote;
-+ struct sockaddr *local, *remote = NULL;
- struct sadb_x_kmaddress *kmaddr;
- struct sadb_x_policy *xpl;
- struct sadb_x_ipsecrequest *xisr_list;
---
-1.7.9.5
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch
deleted file mode 100644
index 13e9d73f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From e48b9097dce7bc2bfbb9e9c542124d3b5cebab39 Mon Sep 17 00:00:00 2001
-From: Paul Barker <paul@paulbarker.me.uk>
-Date: Wed, 5 Mar 2014 13:39:14 +0000
-Subject: [PATCH] Don't link against libfl
-
-We can remove all references to yywrap by adding "%option noyywrap" statements
-to each flex source file that doesn't override yywrap. After this, we no longer
-need to link against libfl and so no longer get errors about undefined
-references to yylex.
-
-Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
-Upstream-status: Submitted 2014-03-11
- see http://sourceforge.net/p/ipsec-tools/mailman/ipsec-tools-devel/thread/CANyK_8ewmxGA3vBVJW6s1APXPmxPR%2BDFWZ61EL8pCt288aKQ6w%40mail.gmail.com/#msg32088797
----
- src/libipsec/Makefile.am | 1 -
- src/racoon/Makefile.am | 2 +-
- src/racoon/cftoken.l | 2 ++
- src/setkey/Makefile.am | 1 -
- src/setkey/token.l | 2 ++
- 5 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/libipsec/Makefile.am b/src/libipsec/Makefile.am
-index 6a4e3b3..df1e106 100644
---- a/src/libipsec/Makefile.am
-+++ b/src/libipsec/Makefile.am
-@@ -26,7 +26,6 @@ libipsec_la_SOURCES = \
- # version is current:revision:age.
- # See: http://www.gnu.org/manual/libtool-1.4.2/html_chapter/libtool_6.html#SEC32
- libipsec_la_LDFLAGS = -version-info 0:1:0
--libipsec_la_LIBADD = $(LEXLIB)
-
- noinst_HEADERS = ipsec_strerror.h
-
-diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am
-index dbaded9..0662957 100644
---- a/src/racoon/Makefile.am
-+++ b/src/racoon/Makefile.am
-@@ -38,7 +38,7 @@ racoon_SOURCES = \
- cftoken.l cfparse.y prsa_tok.l prsa_par.y
- EXTRA_racoon_SOURCES = isakmp_xauth.c isakmp_cfg.c isakmp_unity.c throttle.c \
- isakmp_frag.c nattraversal.c security.c $(MISSING_ALGOS)
--racoon_LDADD = $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) $(LEXLIB) \
-+racoon_LDADD = $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) \
- $(SECCTX_OBJS) vmbuf.o sockmisc.o misc.o ../libipsec/libipsec.la
- racoon_DEPENDENCIES = \
- $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) $(SECCTX_OBJS) \
-diff --git a/src/racoon/cftoken.l b/src/racoon/cftoken.l
-index 490242c..1701922 100644
---- a/src/racoon/cftoken.l
-+++ b/src/racoon/cftoken.l
-@@ -106,6 +106,8 @@ static int incstackp = 0;
- static int yy_first_time = 1;
- %}
-
-+%option noyywrap
-+
- /* common seciton */
- nl \n
- ws [ \t]+
-diff --git a/src/setkey/Makefile.am b/src/setkey/Makefile.am
-index 746c1f1..389e6cf 100644
---- a/src/setkey/Makefile.am
-+++ b/src/setkey/Makefile.am
-@@ -13,7 +13,6 @@ setkey_SOURCES = \
-
- setkey_LDFLAGS = ../libipsec/libipsec.la
- setkey_DEPENDENCIES = ../libipsec/libipsec.la
--setkey_LDADD = $(LEXLIB)
-
- noinst_HEADERS = vchar.h extern.h
- man8_MANS = setkey.8
-diff --git a/src/setkey/token.l b/src/setkey/token.l
-index ad3d843..eb23b76 100644
---- a/src/setkey/token.l
-+++ b/src/setkey/token.l
-@@ -88,6 +88,8 @@
- #endif
- %}
-
-+%option noyywrap
-+
- /* common section */
- nl \n
- ws [ \t]+
---
-1.9.0
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch
deleted file mode 100644
index e9dd84aa..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch
deleted file mode 100644
index 8d270a62..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: ipsec-tools-0.8.1/configure.ac
-===================================================================
---- ipsec-tools-0.8.1.orig/configure.ac 2013-01-08 12:43:29.000000000 +0000
-+++ ipsec-tools-0.8.1/configure.ac 2014-07-18 07:51:30.045555880 +0000
-@@ -6,7 +6,7 @@
- AC_CONFIG_SRCDIR([configure.ac])
- AC_CONFIG_HEADERS(config.h)
-
--AM_INIT_AUTOMAKE(dist-bzip2)
-+AM_INIT_AUTOMAKE([foreign dist-bzip2])
-
- AC_ENABLE_SHARED(no)
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch
deleted file mode 100644
index 5286376a..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-[PATCH] fix CVE-2015-4047
-
-Upstream-Status: Backport
-
-http://www.openwall.com/lists/oss-security/2015/05/20/1
-
-racoon/gssapi.c in IPsec-Tools 0.8.2 allows remote attackers to cause
-a denial of service (NULL pointer dereference and IKE daemon crash) via
-a series of crafted UDP requests.
-
-https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-4047
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- src/racoon/gssapi.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/racoon/gssapi.c b/src/racoon/gssapi.c
-index e64b201..1ad3b42 100644
---- a/src/racoon/gssapi.c
-+++ b/src/racoon/gssapi.c
-@@ -192,6 +192,11 @@ gssapi_init(struct ph1handle *iph1)
- gss_name_t princ, canon_princ;
- OM_uint32 maj_stat, min_stat;
-
-+ if (iph1->rmconf == NULL) {
-+ plog(LLV_ERROR, LOCATION, NULL, "no remote config\n");
-+ return -1;
-+ }
-+
- gps = racoon_calloc(1, sizeof (struct gssapi_ph1_state));
- if (gps == NULL) {
- plog(LLV_ERROR, LOCATION, NULL, "racoon_calloc failed\n");
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch
deleted file mode 100644
index bd079655..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-Upstream-Status: Backport [https://anonscm.debian.org/cgit/pkg-ipsec-tools/pkg-ipsec-tools.git/plain/debian/patches/CVE-2016-10396.patch?id=62ac12648a4eb7c5ba5dba0f81998d1acf310d8b]
-
-Fix CVE-2016-10396.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-Description: Fix remotely exploitable DoS. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10396
-Source: vendor; https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51682
-Bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867986
-
-Index: pkg-ipsec-tools/src/racoon/isakmp_frag.c
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/isakmp_frag.c
-+++ pkg-ipsec-tools/src/racoon/isakmp_frag.c
-@@ -1,4 +1,4 @@
--/* $NetBSD: isakmp_frag.c,v 1.5 2009/04/22 11:24:20 tteras Exp $ */
-+/* $NetBSD: isakmp_frag.c,v 1.5.36.1 2017/04/21 16:50:42 bouyer Exp $ */
-
- /* Id: isakmp_frag.c,v 1.4 2004/11/13 17:31:36 manubsd Exp */
-
-@@ -173,6 +173,43 @@ vendorid_frag_cap(gen)
- return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]);
- }
-
-+static int
-+isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item)
-+{
-+ struct isakmp_frag_item *pitem = NULL;
-+ struct isakmp_frag_item *citem = iph1->frag_chain;
-+
-+ /* no frag yet, just insert at beginning of list */
-+ if (iph1->frag_chain == NULL) {
-+ iph1->frag_chain = item;
-+ return 0;
-+ }
-+
-+ do {
-+ /* duplicate fragment number, abort (CVE-2016-10396) */
-+ if (citem->frag_num == item->frag_num)
-+ return -1;
-+
-+ /* need to insert before current item */
-+ if (citem->frag_num > item->frag_num) {
-+ if (pitem != NULL)
-+ pitem->frag_next = item;
-+ else
-+ /* insert at the beginning of the list */
-+ iph1->frag_chain = item;
-+ item->frag_next = citem;
-+ return 0;
-+ }
-+
-+ pitem = citem;
-+ citem = citem->frag_next;
-+ } while (citem != NULL);
-+
-+ /* we reached the end of the list, insert */
-+ pitem->frag_next = item;
-+ return 0;
-+}
-+
- int
- isakmp_frag_extract(iph1, msg)
- struct ph1handle *iph1;
-@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg)
- item->frag_next = NULL;
- item->frag_packet = buf;
-
-- /* Look for the last frag while inserting the new item in the chain */
-- if (item->frag_last)
-- last_frag = item->frag_num;
-+ /* Check for the last frag before inserting the new item in the chain */
-+ if (item->frag_last) {
-+ /* if we have the last fragment, indices must match */
-+ if (iph1->frag_last_index != 0 &&
-+ item->frag_last != iph1->frag_last_index) {
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "Repeated last fragment index mismatch\n");
-+ racoon_free(item);
-+ vfree(buf);
-+ return -1;
-+ }
-
-- if (iph1->frag_chain == NULL) {
-- iph1->frag_chain = item;
-- } else {
-- struct isakmp_frag_item *current;
-+ last_frag = iph1->frag_last_index = item->frag_num;
-+ }
-
-- current = iph1->frag_chain;
-- while (current->frag_next) {
-- if (current->frag_last)
-- last_frag = item->frag_num;
-- current = current->frag_next;
-- }
-- current->frag_next = item;
-+ /* insert fragment into chain */
-+ if (isakmp_frag_insert(iph1, item) == -1) {
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "Repeated fragment index mismatch\n");
-+ racoon_free(item);
-+ vfree(buf);
-+ return -1;
- }
-
-- /* If we saw the last frag, check if the chain is complete */
-+ /* If we saw the last frag, check if the chain is complete
-+ * we have a sorted list now, so just walk through */
- if (last_frag != 0) {
-+ item = iph1->frag_chain;
- for (i = 1; i <= last_frag; i++) {
-- item = iph1->frag_chain;
-- do {
-- if (item->frag_num == i)
-- break;
-- item = item->frag_next;
-- } while (item != NULL);
--
-+ if (item->frag_num != i)
-+ break;
-+ item = item->frag_next;
- if (item == NULL) /* Not found */
- break;
- }
-
-- if (item != NULL) /* It is complete */
-+ if (i > last_frag) /* It is complete */
- return 1;
- }
-
-@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1)
- }
- data = buf->v;
-
-+ item = iph1->frag_chain;
- for (i = 1; i <= frag_count; i++) {
-- item = iph1->frag_chain;
-- do {
-- if (item->frag_num == i)
-- break;
-- item = item->frag_next;
-- } while (item != NULL);
--
-- if (item == NULL) {
-+ if (item->frag_num != i) {
- plog(LLV_ERROR, LOCATION, NULL,
- "Missing fragment #%d\n", i);
- vfree(buf);
-@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1)
- }
- memcpy(data, item->frag_packet->v, item->frag_packet->l);
- data += item->frag_packet->l;
-+ item = item->frag_next;
- }
-
- out:
-Index: pkg-ipsec-tools/src/racoon/isakmp_inf.c
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/isakmp_inf.c
-+++ pkg-ipsec-tools/src/racoon/isakmp_inf.c
-@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca
- #endif
- #ifdef ENABLE_FRAG
- iph1->frag = 0;
-+ iph1->frag_last_index = 0;
- iph1->frag_chain = NULL;
- #endif
-
-Index: pkg-ipsec-tools/src/racoon/isakmp.c
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/isakmp.c
-+++ pkg-ipsec-tools/src/racoon/isakmp.c
-@@ -1072,6 +1072,7 @@ isakmp_ph1begin_i(rmconf, remote, local)
- iph1->frag = 1;
- else
- iph1->frag = 0;
-+ iph1->frag_last_index = 0;
- iph1->frag_chain = NULL;
- #endif
- iph1->approval = NULL;
-@@ -1176,6 +1177,7 @@ isakmp_ph1begin_r(msg, remote, local, et
- #endif
- #ifdef ENABLE_FRAG
- iph1->frag = 0;
-+ iph1->frag_last_index = 0;
- iph1->frag_chain = NULL;
- #endif
- iph1->approval = NULL;
-Index: pkg-ipsec-tools/src/racoon/handler.h
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/handler.h
-+++ pkg-ipsec-tools/src/racoon/handler.h
-@@ -1,4 +1,4 @@
--/* $NetBSD: handler.h,v 1.25 2010/11/17 10:40:41 tteras Exp $ */
-+/* $NetBSD: handler.h,v 1.26 2017/01/24 19:23:56 christos Exp $ */
-
- /* Id: handler.h,v 1.19 2006/02/25 08:25:12 manubsd Exp */
-
-@@ -141,6 +141,7 @@ struct ph1handle {
- #endif
- #ifdef ENABLE_FRAG
- int frag; /* IKE phase 1 fragmentation */
-+ int frag_last_index;
- struct isakmp_frag_item *frag_chain; /* Received fragments */
- #endif
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch
deleted file mode 100644
index 36efc491..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-squahes below warning
- warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
-
-Seen with glibc 2.20
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-Index: ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h
-===================================================================
---- ipsec-tools-0.8.2.orig/src/include-glibc/glibc-bugs.h 2006-09-09 09:22:08.000000000 -0700
-+++ ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h 2014-09-03 22:27:22.551563888 -0700
-@@ -4,7 +4,11 @@
- #define __GLIBC_BUGS_H__ 1
-
- #define _XOPEN_SOURCE 500
-+/* Legacy feature macro.*/
- #define _BSD_SOURCE
-+/* New feature macro that provides everything _BSD_SOURCE and
-+ * _SVID_SOURCE provided and possibly more. */
-+#define _DEFAULT_SOURCE
-
- #include <features.h>
- #include <sys/types.h>
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch
deleted file mode 100644
index e82db087..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-racoon: Resend UPDATE message when received EINTR message
-
-Upstream-Status: Pending
-
-While kernel is processing the UPDATE message which is sent from racoon,
-it maybe interrupted by system signal and if this case happens,
-kernel responds with an EINTR message to racoon and kernel fails to
-establish the corresponding SA.
-Fix this problem by resend the UPDATE message when EINTR(Interrupted
-system call) error happens.
-
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
----
---- a/src/libipsec/libpfkey.h
-+++ b/src/libipsec/libpfkey.h
-@@ -92,6 +92,12 @@
- u_int16_t ctxstrlen; /* length of security context string */
- };
-
-+struct update_msg_info {
-+ struct sadb_msg *update_msg;
-+ int so;
-+ int len;
-+};
-+
- /* The options built into libipsec */
- extern int libipsec_opt;
- #define LIBIPSEC_OPT_NATT 0x01
---- a/src/libipsec/pfkey.c
-+++ b/src/libipsec/pfkey.c
-@@ -1219,7 +1219,8 @@
- }
- #endif
-
--
-+struct update_msg_info update_msg_send = {NULL, 0, 0};
-+
- /* sending SADB_ADD or SADB_UPDATE message to the kernel */
- static int
- pfkey_send_x1(struct pfkey_send_sa_args *sa_parms)
-@@ -1483,10 +1484,24 @@
-
- /* send message */
- len = pfkey_send(sa_parms->so, newmsg, len);
-- free(newmsg);
-
-- if (len < 0)
-- return -1;
-+ if (newmsg->sadb_msg_type == SADB_UPDATE) {
-+ if (update_msg_send.update_msg)
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = newmsg;
-+ update_msg_send.so = sa_parms->so;
-+ update_msg_send.len = len;
-+
-+ if (len < 0) {
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = NULL;
-+ return -1;
-+ }
-+ } else {
-+ free(newmsg);
-+ if (len < 0)
-+ return -1;
-+ }
-
- __ipsec_errcode = EIPSEC_NO_ERROR;
- return len;
---- a/src/racoon/session.c
-+++ b/src/racoon/session.c
-@@ -100,6 +100,8 @@
-
- #include "sainfo.h"
-
-+extern struct update_msg_info update_msg_send;
-+
- struct fd_monitor {
- int (*callback)(void *ctx, int fd);
- void *ctx;
-@@ -348,6 +350,11 @@
- close_sockets();
- backupsa_clean();
-
-+ if (update_msg_send.update_msg) {
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = NULL;
-+ }
-+
- plog(LLV_INFO, LOCATION, NULL, "racoon process %d shutdown\n", getpid());
-
- exit(0);
---- a/src/racoon/pfkey.c
-+++ b/src/racoon/pfkey.c
-@@ -103,10 +103,12 @@
- #include "crypto_openssl.h"
- #include "grabmyaddr.h"
-+#include "../libipsec/libpfkey.h"
-
- #if defined(SADB_X_EALG_RIJNDAELCBC) && !defined(SADB_X_EALG_AESCBC)
- #define SADB_X_EALG_AESCBC SADB_X_EALG_RIJNDAELCBC
- #endif
-
-+extern struct update_msg_info update_msg_send;
- /* prototype */
- static u_int ipsecdoi2pfkey_aalg __P((u_int));
- static u_int ipsecdoi2pfkey_ealg __P((u_int));
-@@ -253,6 +255,13 @@
- s_pfkey_type(msg->sadb_msg_type),
- strerror(msg->sadb_msg_errno));
-
-+ if (msg->sadb_msg_errno == EINTR &&
-+ update_msg_send.update_msg) {
-+ plog(LLV_DEBUG, LOCATION, NULL,
-+ "pfkey update resend\n");
-+ send(update_msg_send.so, (void *)update_msg_send.update_msg, (socklen_t)update_msg_send.len, 0);
-+ }
-+
- goto end;
- }
-
-@@ -498,6 +507,11 @@
- {
- flushsp();
-
-+ if (update_msg_send.update_msg) {
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = NULL;
-+ }
-+
- if (pfkey_send_spddump(lcconf->sock_pfkey) < 0) {
- plog(LLV_ERROR, LOCATION, NULL,
- "libipsec sending spddump failed: %s\n",
-@@ -1295,6 +1309,8 @@
- return 0;
- }
-
-+int update_received = 0;
-+
- static int
- pk_recvupdate(mhp)
- caddr_t *mhp;
-@@ -1307,6 +1323,13 @@
- int incomplete = 0;
- struct saproto *pr;
-
-+ update_received = 1;
-+
-+ if (update_msg_send.update_msg) {
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = NULL;
-+ }
-+
- /* ignore this message because of local test mode. */
- if (f_local)
- return 0;
-@@ -4163,3 +4186,8 @@
-
- return buf;
- }
-+
-+int receive_from_isakmp()
-+{
-+ return pfkey_handler(NULL, lcconf->sock_pfkey);
-+}
---- a/src/racoon/pfkey.h
-+++ b/src/racoon/pfkey.h
-@@ -71,5 +71,6 @@
- extern u_int32_t pk_getseq __P((void));
- extern const char *sadbsecas2str
- __P((struct sockaddr *, struct sockaddr *, int, u_int32_t, int));
-+extern int receive_from_isakmp __P((void));
-
- #endif /* _PFKEY_H */
---- a/src/racoon/isakmp_quick.c
-+++ b/src/racoon/isakmp_quick.c
-@@ -774,6 +774,8 @@
- return error;
- }
-
-+extern int update_received;
-+
- /*
- * send to responder
- * HDR*, HASH(3)
-@@ -892,6 +894,11 @@
- }
- plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
-
-+ while (!update_received)
-+ receive_from_isakmp();
-+
-+ update_received = 0;
-+
- /* Do ADD for responder */
- if (pk_sendadd(iph2) < 0) {
- plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
-@@ -1035,6 +1042,11 @@
- }
- plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
-
-+ while (!update_received)
-+ receive_from_isakmp();
-+
-+ update_received = 0;
-+
- /* Do ADD for responder */
- if (pk_sendadd(iph2) < 0) {
- plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
-@@ -1989,6 +2001,11 @@
- }
- plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
-
-+ while (!update_received)
-+ receive_from_isakmp();
-+
-+ update_received = 0;
-+
- /* Do ADD for responder */
- if (pk_sendadd(iph2) < 0) {
- plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch
deleted file mode 100644
index e272bc20..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Subject: [PATCH] ipsec-tools: racoon: check several invalid ivm
-
-Upstream-Status: Pending
-
-Add checking for invalid ivm, or it will crash racoon.
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
----
- isakmp_cfg.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c
---- a/src/racoon/isakmp_cfg.c
-+++ b/src/racoon/isakmp_cfg.c
-@@ -171,6 +171,11 @@ isakmp_cfg_r(iph1, msg)
- iph1->mode_cfg->last_msgid != packet->msgid )
- iph1->mode_cfg->ivm =
- isakmp_cfg_newiv(iph1, packet->msgid);
-+ if(iph1->mode_cfg->ivm == NULL) {
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "failed to create new IV\n");
-+ return;
-+ }
- ivm = iph1->mode_cfg->ivm;
-
- dmsg = oakley_do_decrypt(iph1, msg, ivm->iv, ivm->ive);
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch
deleted file mode 100644
index de1bdb40..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Subject: [PATCH] ipsec-tools: racoon: check several invalid pointers
-
-Upstream-Status: Pending
-
-Add checking for invalid pointers, or it will crash racoon.
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
----
- ipsec_doi.c | 5 +++--
- isakmp_cfg.c | 7 +++++++
- isakmp_quick.c | 6 ++++--
- 3 files changed, 14 insertions(+), 4 deletions(-)
-
-diff -urpN a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c
---- a/src/racoon/ipsec_doi.c
-+++ b/src/racoon/ipsec_doi.c
-@@ -3374,8 +3374,9 @@ ipsecdoi_chkcmpids( idt, ids, exact )
-
- /* handle wildcard IDs */
-
-- if (idt == NULL || ids == NULL)
-- {
-+ if (idt == NULL || ids == NULL ||
-+ idt->v == NULL || idt->l == 0 ||
-+ ids->v == NULL || ids->l == 0) {
- if( !exact )
- {
- plog(LLV_DEBUG, LOCATION, NULL,
-diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c
---- a/src/racoon/isakmp_cfg.c
-+++ b/src/racoon/isakmp_cfg.c
-@@ -1138,6 +1138,13 @@ isakmp_cfg_newiv(iph1, msgid)
- return NULL;
- }
-
-+ if (iph1->ivm == NULL || iph1->ivm->iv == NULL ||
-+ iph1->ivm->iv->v == NULL || iph1->ivm->iv->l == 0) {
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "isakmp_cfg_newiv called with invalid IV management\n");
-+ return NULL;
-+ }
-+
- if (ics->ivm != NULL)
- oakley_delivm(ics->ivm);
-
-diff -urpN a/src/racoon/isakmp_quick.c b/src/racoon/isakmp_quick.c
---- a/src/racoon/isakmp_quick.c
-+++ b/src/racoon/isakmp_quick.c
-@@ -2243,8 +2243,10 @@ get_proposal_r(iph2)
- int error = ISAKMP_INTERNAL_ERROR;
-
- /* check the existence of ID payload */
-- if ((iph2->id_p != NULL && iph2->id == NULL)
-- || (iph2->id_p == NULL && iph2->id != NULL)) {
-+ if ((iph2->id_p != NULL &&
-+ (iph2->id == NULL || iph2->id->v == NULL || iph2->id->l == 0)) ||
-+ (iph2->id != NULL &&
-+ (iph2->id_p == NULL || iph2->id_p->v == NULL || iph2->id_p->l == 0))) {
- plog(LLV_ERROR, LOCATION, NULL,
- "Both IDs wasn't found in payload.\n");
- return ISAKMP_NTYPE_INVALID_ID_INFORMATION;
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf
deleted file mode 100644
index 6b507508..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-# Defaults for racoon service
-# sourced by racoon.service
-# installed at /etc/default/racoon by the maintainer scripts
-#
-# This is a POSIX shell fragment
-#
-# Arguments to pass to racoon
-RACOON_ARGS=""
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample
deleted file mode 100644
index 2948a4a3..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# NOTE: This file will not be used if you use racoon-tool(8) to manage your
-# IPsec connections. racoon-tool will process racoon-tool.conf(5) and
-# generate a configuration (/var/lib/racoon/racoon.conf) and use it, instead
-# of this file.
-#
-# Simple racoon.conf
-#
-#
-# Please look in /usr/share/doc/racoon/examples for
-# examples that come with the source.
-#
-# Please read racoon.conf(5) for details, and alsoread setkey(8).
-#
-#
-# Also read the Linux IPSEC Howto up at
-# http://www.ipsec-howto.org/t1.html
-#
-log notify;
-path pre_shared_key "/etc/racoon/psk.txt";
-path certificate "/etc/racoon/certs";
-
-#remote 172.31.1.1 {
-# exchange_mode main,aggressive;
-# proposal {
-# encryption_algorithm 3des;
-# hash_algorithm sha1;
-# authentication_method pre_shared_key;
-# dh_group modp1024;
-# }
-# generate_policy off;
-#}
-#
-#sainfo address 192.168.203.10[any] any address 192.168.22.0/24[any] any {
-# pfs_group modp768;
-# encryption_algorithm 3des;
-# authentication_algorithm hmac_md5;
-# compression_algorithm deflate;
-#}
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service
deleted file mode 100644
index a10e7702..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Racoon IKEv1 key management daemon for IPSEC
-After=syslog.target network.target
-
-[Service]
-Type=forking
-EnvironmentFile=-@SYSCONFDIR@/default/racoon
-ExecStart=@SBINDIR@/racoon $RACOON_ARGS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb b/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
deleted file mode 100644
index a6d473b5..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
+++ /dev/null
@@ -1,98 +0,0 @@
-DESCRIPTION = "IPsec-Tools is a port of KAME's IPsec utilities to the \
-Linux-2.6 IPsec implementation."
-HOMEPAGE = "http://ipsec-tools.sourceforge.net/"
-SECTION = "net"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://src/libipsec/pfkey.c;beginline=6;endline=31;md5=bc9b7ff40beff19fe6bc6aef26bd2b24"
-
-DEPENDS = "virtual/kernel openssl readline flex-native bison-native"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRC_URI = "http://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV}.tar.bz2 \
- file://0002-Don-t-link-against-libfl.patch \
- file://configure.patch \
- file://0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch \
- file://racoon-check-invalid-pointers.patch \
- file://racoon-check-invalid-ivm.patch \
- file://glibc-2.20.patch \
- file://racoon-Resend-UPDATE-message-when-received-EINTR-message.patch \
- file://racoon.conf.sample \
- file://racoon.conf \
- 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 \
- file://fix-CVE-2016-10396.patch \
- file://0001-Disable-gcc8-specific-warnings.patch \
- file://0001-ipsec-tools-add-openssl-1.1-support.patch \
- "
-SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41"
-SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d"
-
-inherit autotools systemd
-
-# Options:
-# --enable-adminport enable admin port
-# --enable-rc5 enable RC5 encryption (patented)
-# --enable-idea enable IDEA encryption (patented)
-# --enable-gssapi enable GSS-API authentication
-# --enable-hybrid enable hybrid, both mode-cfg and xauth support
-# --enable-frag enable IKE fragmentation payload support
-# --enable-stats enable statistics logging function
-# --enable-dpd enable dead peer detection
-# --enable-samode-unspec enable to use unspecified a mode of SA
-# --disable-ipv6 disable ipv6 support
-# --enable-natt enable NAT-Traversal (yes/no/kernel)
-# --enable-natt-versions=list list of supported NAT-T versions delimited by coma.
-# --with-kernel-headers=/lib/modules/<uname>/build/include
-# where your Linux Kernel headers are installed
-# --with-readline support readline input (yes by default)
-# --with-flex use directiory (default: no)
-# --with-flexlib=<LIB> specify flex library.
-# --with-openssl=DIR specify OpenSSL directory
-# --with-libradius=DIR specify libradius path (like/usr/pkg)
-# --with-libpam=DIR specify libpam path (like/usr/pkg)
-#
-# Note: if you give it the actual kernel headers it won't build, it actually
-# needs to point at the linux-libc-headers version of the kernel headers.
-#
-EXTRA_OECONF = "--with-kernel-headers=${STAGING_INCDIR} \
- --with-readline \
- --with-openssl=${STAGING_LIBDIR}/.. \
- --without-libradius \
- --disable-security-context \
- --enable-shared \
- --enable-dpd \
- --enable-natt=yes \
- --sysconfdir=${sysconfdir}/racoon \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}"
-
-# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530527
-CFLAGS += "-fno-strict-aliasing"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,"
-PACKAGECONFIG[selinux] = "--enable-security-context,--disable-security-context,libselinux,"
-
-SYSTEMD_SERVICE_${PN} = "racoon.service"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/racoon
- install -m 0644 ${WORKDIR}/racoon.conf.sample ${D}${sysconfdir}/racoon/racoon.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/racoon.service ${D}${systemd_unitdir}/system
-
- sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/racoon.service
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/racoon.service
-
- install -d ${D}${sysconfdir}/default/
- install -m 0644 ${WORKDIR}/racoon.conf ${D}${sysconfdir}/default/racoon
- fi
-}
-
-FILES_${PN} += "${sysconfdir}/racoon/racoon.conf \
- ${sysconfdir}/default/racoon"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.29.bb b/external/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.29.bb
deleted file mode 100644
index 4f3c16dc..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.29.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Linux Virtual Server administration Utility"
-HOMEPAGE = "http://www.linux-vs.org/software/index.html"
-DESCRIPTION = "Ipvsadm is used to set up, maintain or inspect the virtual server \
-table in the Linux kernel. The Linux Virtual Server can be used to \
-build scalable network services based on a cluster of two or more nodes. \
-The active node of the cluster redirects service requests to a \
-collection of server hosts that will actually perform the services. \
-Supported features include two protocols (TCP and UDP), three packet-forwarding \
-methods (NAT, tunneling, and direct routing), and eight load balancing algorithms \
-(round robin, weighted round robin, least-connec-tion, weighted least-connection, \
-locality-based least-connection, locality-based least-connection with replication, \
-destination-hashing, and source-hashing)."
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://README;beginline=40;endline=56;md5=b4e40069f15598d0e3fe2aa177e5ec77"
-
-DEPENDS += "libnl popt"
-
-SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/utils/kernel/ipvsadm/${BP}.tar.gz \
- file://0001-Modify-the-Makefile-for-cross-compile.patch \
- file://0003-ipvsadm-remove-dependency-on-bash.patch \
- file://makefile-add-ldflags.patch \
-"
-
-SRC_URI[md5sum] = "88b35030b4766b3e44ad15aacdef65c4"
-SRC_URI[sha256sum] = "297f5cd459c3eef81ed0ca32e53bf320ed6b132fe7ed6ea5e44aa6b1fbd2a7de"
-
-UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/ipvsadm"
-
-do_compile() {
- oe_runmake \
- CC="${CC} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3 -L${STAGING_LIBDIR}" \
- all
-}
-
-do_install() {
- sed -i -e "s;SBIN\t\t= \$(BUILD_ROOT)/sbin;SBIN\t\t= \$(BUILD_ROOT)/$base_sbindir;" ${S}/Makefile
- oe_runmake 'BUILD_ROOT=${D}' install
-}
-
-inherit pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.31.bb b/external/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.31.bb
new file mode 100644
index 00000000..8fb116f5
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.31.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Linux Virtual Server administration Utility"
+HOMEPAGE = "http://www.linux-vs.org/software/index.html"
+DESCRIPTION = "Ipvsadm is used to set up, maintain or inspect the virtual server \
+table in the Linux kernel. The Linux Virtual Server can be used to \
+build scalable network services based on a cluster of two or more nodes. \
+The active node of the cluster redirects service requests to a \
+collection of server hosts that will actually perform the services. \
+Supported features include two protocols (TCP and UDP), three packet-forwarding \
+methods (NAT, tunneling, and direct routing), and eight load balancing algorithms \
+(round robin, weighted round robin, least-connec-tion, weighted least-connection, \
+locality-based least-connection, locality-based least-connection with replication, \
+destination-hashing, and source-hashing)."
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://README;beginline=40;endline=56;md5=b4e40069f15598d0e3fe2aa177e5ec77"
+
+DEPENDS += "libnl popt"
+
+SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/utils/kernel/ipvsadm/${BP}.tar.xz \
+ file://0001-Modify-the-Makefile-for-cross-compile.patch \
+ file://0003-ipvsadm-remove-dependency-on-bash.patch \
+ file://makefile-add-ldflags.patch \
+"
+
+SRC_URI[md5sum] = "f6d1707c5baf684b58fd33682d67871f"
+SRC_URI[sha256sum] = "1a0a5e25b5a1226435d2fb76341656f83a710183aebb0d204db39c0ec3bedfdb"
+
+UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/ipvsadm"
+
+do_compile() {
+ oe_runmake \
+ CC="${CC} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3 -L${STAGING_LIBDIR}" \
+ all
+}
+
+do_install() {
+ sed -i -e "s;SBIN\t\t= \$(BUILD_ROOT)/sbin;SBIN\t\t= \$(BUILD_ROOT)$base_sbindir;" \
+ -e "s;INIT\t\t= \$(BUILD_ROOT)/etc/rc.d/init.d;INIT\t\t= \$(BUILD_ROOT)${sysconfdir}/init.d;" \
+ ${S}/Makefile
+ oe_runmake 'BUILD_ROOT=${D}' install
+}
+
+inherit pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
deleted file mode 100644
index 5818d57f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From bc4ff7e37ce120c257e52a81fe3475499dfd2573 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 10:10:24 +0800
-Subject: [PATCH] libldb: fix config error
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- wscript | 58 +++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 29 insertions(+), 29 deletions(-)
-
-diff --git a/wscript b/wscript
-index b0af7b6..8ad9f96 100644
---- a/wscript
-+++ b/wscript
-@@ -115,40 +115,40 @@ def configure(conf):
- onlyif='talloc tdb tevent pyldb-util',
- implied_deps='replace talloc tdb tevent'):
- conf.define('USING_SYSTEM_LDB', 1)
-+ if not Options.options.without_ldb_lmdb:
-+ if not conf.CHECK_CODE('return !(sizeof(size_t) >= 8)',
-+ "HAVE_64_BIT_SIZE_T_FOR_LMDB",
-+ execute=True,
-+ msg='Checking for a 64-bit host to '
-+ 'support lmdb'):
-+ Logs.warn("--without-ldb-lmdb implied as this "
-+ "host is not 64-bit")
-+
-+ if not conf.env.standalone_ldb and \
-+ not Options.options.without_ad_dc and \
-+ conf.CONFIG_GET('ENABLE_SELFTEST'):
-+ Logs.warn("NOTE: Some AD DC parts of selftest will fail")
-
-- if not conf.CHECK_CODE('return !(sizeof(size_t) >= 8)',
-- "HAVE_64_BIT_SIZE_T_FOR_LMDB",
-- execute=True,
-- msg='Checking for a 64-bit host to '
-- 'support lmdb'):
-- Logs.warn("--without-ldb-lmdb implied as this "
-- "host is not 64-bit")
--
-- if not conf.env.standalone_ldb and \
-- not Options.options.without_ad_dc and \
-- conf.CONFIG_GET('ENABLE_SELFTEST'):
-- Logs.warn("NOTE: Some AD DC parts of selftest will fail")
--
-- conf.env.REQUIRE_LMDB = False
-- else:
-- if conf.env.standalone_ldb:
-- if Options.options.without_ldb_lmdb:
-- conf.env.REQUIRE_LMDB = False
-- else:
-- conf.env.REQUIRE_LMDB = True
-- elif Options.options.without_ad_dc:
- conf.env.REQUIRE_LMDB = False
- else:
-- if Options.options.without_ldb_lmdb:
-- if not Options.options.without_ad_dc and \
-- conf.CONFIG_GET('ENABLE_SELFTEST'):
-- raise Utils.WafError('--without-ldb-lmdb conflicts '
-- 'with --enable-selftest while '
-- 'building the AD DC')
--
-+ if conf.env.standalone_ldb:
-+ if Options.options.without_ldb_lmdb:
-+ conf.env.REQUIRE_LMDB = False
-+ else:
-+ conf.env.REQUIRE_LMDB = True
-+ elif Options.options.without_ad_dc:
- conf.env.REQUIRE_LMDB = False
- else:
-- conf.env.REQUIRE_LMDB = True
-+ if Options.options.without_ldb_lmdb:
-+ if not Options.options.without_ad_dc and \
-+ conf.CONFIG_GET('ENABLE_SELFTEST'):
-+ raise Utils.WafError('--without-ldb-lmdb conflicts '
-+ 'with --enable-selftest while '
-+ 'building the AD DC')
-+
-+ conf.env.REQUIRE_LMDB = False
-+ else:
-+ conf.env.REQUIRE_LMDB = True
-
-
- if conf.CONFIG_SET('USING_SYSTEM_LDB'):
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 00000000..45c5acab
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf build system also upgraded.
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+ args = Utils.to_list(kw.get('exec_args', []))
+ proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ """
+ color = 'PINK'
+ def run(self):
++ args = self.generator.bld.kw.get('exec_args', [])
+ if getattr(self.generator, 'rpath', None):
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+- else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++ else:
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ else:
+ env = self.env.env or {}
+ env.update(dict(os.environ))
+ for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+
+ @feature('test_exec')
+ @after_method('apply_link')
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
index ee4936a5..3f2921ed 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
@@ -1,30 +1,32 @@
-From f4cda3a71311e4496b725bc5f46af93413ec7a1c Mon Sep 17 00:00:00 2001
-From: Bian Naimeng <biannm@cn.fujitsu.com>
-Date: Fri, 17 Jul 2015 11:58:49 +0800
-Subject: [PATCH] libldb: add new recipe
+From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 25 Jun 2019 14:25:08 +0800
+Subject: [PATCH] do not import target module while cross compile
-Some modules such as dynamic library maybe cann't be imported while cross compile,
-we just check whether does the module exist.
+Some modules such as dynamic library maybe cann't be imported
+while cross compile, we just check whether does the module exist.
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+update to version 4.10.5, and switch to python3
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- buildtools/wafsamba/samba_bundled.py | 32 ++++++++++++++++++++++++--------
- 1 file changed, 24 insertions(+), 8 deletions(-)
+ buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
-index 253d604..398cc6a 100644
+index 60ce7da..5468a36 100644
--- a/buildtools/wafsamba/samba_bundled.py
+++ b/buildtools/wafsamba/samba_bundled.py
-@@ -2,6 +2,7 @@
+@@ -4,6 +4,7 @@ import sys
+ from waflib import Build, Options, Logs
+ from waflib.Configure import conf
+ from wafsamba import samba_utils
++import importlib.util, os
- import sys
- import Build, Options, Logs
-+import imp, os
- from Configure import conf
- from samba_utils import TO_LIST
-
-@@ -249,17 +250,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
+ def PRIVATE_NAME(bld, name, private_extension, private_library):
+ '''possibly rename a library to include a bundled extension'''
+@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
# versions
minversion = minimum_library_version(conf, libname, minversion)
@@ -34,34 +36,32 @@ index 253d604..398cc6a 100644
- found = False
- else:
+ # Find module in PYTHONPATH
-+ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
-+ if stuff:
++ spec = importlib.util._find_spec_from_path(modulename, [os.environ["PYTHONPATH"]])
++ if spec:
try:
- version = m.__version__
- except AttributeError:
-+ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
++ module = importlib.util.module_from_spec(spec)
++ spec.loader.load_module(module)
+ except ImportError:
found = False
+
+ if conf.env.CROSS_COMPILE:
+ # Some modules such as dynamic library maybe cann't be imported
+ # while cross compile, we just check whether the module exist
-+ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
++ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (spec.name))
+ found = True
else:
- found = tuplize_version(version) >= tuplize_version(minversion)
+ try:
-+ version = m.__version__
++ version = module.__version__
+ except AttributeError:
+ found = False
+ else:
+ found = tuplize_version(version) >= tuplize_version(minversion)
-+ finally:
-+ if stuff[0]:
-+ stuff[0].close()
-+ else:
-+ found = False
-+
if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
sys.exit(1)
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch
deleted file mode 100644
index 357afbea..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From ffffd29bc6303d60b3d77048fbbf6776f6fbbe01 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 19 Jul 2018 16:40:31 +0800
-Subject: [PATCH] ldb: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Update to version 1.4.1, and fix one configure error
-
-Cross answers file cross-answers-i586.txt is incomplete with
-"Checking for a 64-bit host to support lmdb: UNKNOWN"
-
-we don't support lmdb, so only check when lmdb is support
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- lib/replace/wscript | 94 ++++++++++++++++++++++++++++++++++++++++-------------
- wscript | 6 ++++
- 2 files changed, 77 insertions(+), 23 deletions(-)
-
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fd00a42..434192e 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
- opt.PRIVATE_EXTENSION_DEFAULT('')
- opt.RECURSE('buildtools/wafsamba')
-
-+ opt.add_option('--with-acl',
-+ help=("Enable use of acl"),
-+ action="store_true", dest='enable_acl')
-+ opt.add_option('--without-acl',
-+ help=("Disable use of acl"),
-+ action="store_false", dest='enable_acl', default=False)
-+
-+ opt.add_option('--with-attr',
-+ help=("Enable use of attr"),
-+ action="store_true", dest='enable_attr')
-+ opt.add_option('--without-attr',
-+ help=("Disable use of attr"),
-+ action="store_false", dest='enable_attr', default=False)
-+
-+ opt.add_option('--with-libaio',
-+ help=("Enable use of libaio"),
-+ action="store_true", dest='enable_libaio')
-+ opt.add_option('--without-libaio',
-+ help=("Disable use of libaio"),
-+ action="store_false", dest='enable_libaio', default=False)
-+
-+ opt.add_option('--with-libbsd',
-+ help=("Enable use of libbsd"),
-+ action="store_true", dest='enable_libbsd')
-+ opt.add_option('--without-libbsd',
-+ help=("Disable use of libbsd"),
-+ action="store_false", dest='enable_libbsd', default=False)
-+
-+ opt.add_option('--with-libcap',
-+ help=("Enable use of libcap"),
-+ action="store_true", dest='enable_libcap')
-+ opt.add_option('--without-libcap',
-+ help=("Disable use of libcap"),
-+ action="store_false", dest='enable_libcap', default=False)
-+
- @Utils.run_once
- def configure(conf):
- conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
- conf.DEFINE('HAVE_LIBREPLACE', 1)
- conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
-
-- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
-- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
- conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
-- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
-- conf.CHECK_HEADERS('shadow.h sys/acl.h')
-- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+ conf.CHECK_HEADERS('shadow.h')
-+ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+ if Options.options.enable_acl:
-+ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+ if Options.options.enable_attr:
-+ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+ if Options.options.enable_libaio:
-+ conf.CHECK_HEADERS('libaio.h')
-+
-+ if Options.options.enable_libcap:
-+ conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
- conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -108,7 +156,9 @@ def configure(conf):
- conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
- conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+ if Options.options.enable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
- conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
- conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -340,22 +390,20 @@ def configure(conf):
-
- conf.CHECK_FUNCS('prctl dirname basename')
-
-- strlcpy_in_bsd = False
--
-- # libbsd on some platforms provides strlcpy and strlcat
-- if not conf.CHECK_FUNCS('strlcpy strlcat'):
-- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-- checklibc=True):
-- strlcpy_in_bsd = True
-- if not conf.CHECK_FUNCS('getpeereid'):
-- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS('setproctitle_init'):
-- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
--
-- if not conf.CHECK_FUNCS('closefrom'):
-- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+ if Options.options.enable_libbsd:
-+ # libbsd on some platforms provides strlcpy and strlcat
-+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+ checklibc=True)
-+ if not conf.CHECK_FUNCS('getpeereid'):
-+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('setproctitle_init'):
-+ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
-+
-+ if not conf.CHECK_FUNCS('closefrom'):
-+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-
- conf.CHECK_CODE('''
- struct ucred cred;
-@@ -699,7 +747,7 @@ def configure(conf):
- # look for a method of finding the list of network interfaces
- for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
- bsd_for_strlcpy = ''
-- if strlcpy_in_bsd:
-+ if Options.options.enable_libbsd:
- bsd_for_strlcpy = ' bsd'
- if conf.CHECK_CODE('''
- #define %s 1
-diff --git a/wscript b/wscript
-index ad91bc6..2d20fee 100644
---- a/wscript
-+++ b/wscript
-@@ -36,6 +36,12 @@ def set_options(opt):
- help='disable new LMDB backend for LDB',
- action='store_true', dest='without_ldb_lmdb', default=False)
-
-+ opt.add_option('--with-valgrind',
-+ help=("enable use of valgrind"),
-+ action="store_true", dest='enable_valgrind')
-+ opt.add_option('--without-valgrind',
-+ help=("disable use of valgrind"),
-+ action="store_false", dest='enable_valgrind', default=False)
-
- def configure(conf):
- conf.RECURSE('lib/tdb')
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
new file mode 100644
index 00000000..bffd0653
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
@@ -0,0 +1,171 @@
+From 0841c3ed69c388251c1aeae63f2c3813555a54f6 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 1 Jul 2019 16:14:16 +0800
+Subject: [PATCH] ldb: Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+upgrade to version 1.5.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/replace/wscript | 92 +++++++++++++++++++++++++++++++++++++++++------------
+ wscript | 8 +++++
+ 2 files changed, 79 insertions(+), 21 deletions(-)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index a7fd25d..ad26041 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -24,6 +24,41 @@ def options(opt):
+ opt.BUILTIN_DEFAULT('NONE')
+ opt.PRIVATE_EXTENSION_DEFAULT('')
+ opt.RECURSE('buildtools/wafsamba')
++
++ opt.add_option('--with-acl',
++ help=("Enable use of acl"),
++ action="store_true", dest='enable_acl')
++ opt.add_option('--without-acl',
++ help=("Disable use of acl"),
++ action="store_false", dest='enable_acl', default=False)
++
++ opt.add_option('--with-attr',
++ help=("Enable use of attr"),
++ action="store_true", dest='enable_attr')
++ opt.add_option('--without-attr',
++ help=("Disable use of attr"),
++ action="store_false", dest='enable_attr', default=False)
++
++ opt.add_option('--with-libaio',
++ help=("Enable use of libaio"),
++ action="store_true", dest='enable_libaio')
++ opt.add_option('--without-libaio',
++ help=("Disable use of libaio"),
++ action="store_false", dest='enable_libaio', default=False)
++
++ opt.add_option('--with-libbsd',
++ help=("Enable use of libbsd"),
++ action="store_true", dest='enable_libbsd')
++ opt.add_option('--without-libbsd',
++ help=("Disable use of libbsd"),
++ action="store_false", dest='enable_libbsd', default=False)
++
++ opt.add_option('--with-libcap',
++ help=("Enable use of libcap"),
++ action="store_true", dest='enable_libcap')
++ opt.add_option('--without-libcap',
++ help=("Disable use of libcap"),
++ action="store_false", dest='enable_libcap', default=False)
+
+ @Utils.run_once
+ def configure(conf):
+@@ -34,12 +69,25 @@ def configure(conf):
+ conf.DEFINE('HAVE_LIBREPLACE', 1)
+ conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+
+- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
+ conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+- conf.CHECK_HEADERS('shadow.h sys/acl.h')
+- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++ conf.CHECK_HEADERS('shadow.h')
++ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++ if Options.options.enable_acl:
++ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++ if Options.options.enable_attr:
++ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++ if Options.options.enable_libaio:
++ conf.CHECK_HEADERS('libaio.h')
++
++ if Options.options.enable_libcap:
++ conf.CHECK_HEADERS('sys/capability.h')
++
+ conf.CHECK_HEADERS('port.h')
+ conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+ conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -110,8 +158,9 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
+ conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
+
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
++ if Options.options.enable_valgrind:
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+ conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+ conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+ conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -380,20 +429,21 @@ def configure(conf):
+
+ strlcpy_in_bsd = False
+
+- # libbsd on some platforms provides strlcpy and strlcat
+- if not conf.CHECK_FUNCS('strlcpy strlcat'):
+- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+- checklibc=True):
+- strlcpy_in_bsd = True
+- if not conf.CHECK_FUNCS('getpeereid'):
+- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS('setproctitle_init'):
+- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+- if not conf.CHECK_FUNCS('closefrom'):
+- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++ if Options.options.enable_libbsd:
++ # libbsd on some platforms provides strlcpy and strlcat
++ if not conf.CHECK_FUNCS('strlcpy strlcat'):
++ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++ checklibc=True):
++ strlcpy_in_bsd = True
++ if not conf.CHECK_FUNCS('getpeereid'):
++ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS('setproctitle_init'):
++ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
++
++ if not conf.CHECK_FUNCS('closefrom'):
++ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+
+ conf.CHECK_CODE('''
+ struct ucred cred;
+diff --git a/wscript b/wscript
+index d3402a7..d4e0ce1 100644
+--- a/wscript
++++ b/wscript
+@@ -38,6 +38,14 @@ def options(opt):
+ help='disable new LMDB backend for LDB',
+ action='store_true', dest='without_ldb_lmdb', default=False)
+
++ opt.add_option('--with-valgrind',
++ help=("enable use of valgrind"),
++ action="store_true", dest='enable_valgrind')
++ opt.add_option('--without-valgrind',
++ help=("disable use of valgrind"),
++ action="store_false", dest='enable_valgrind', default=False)
++
++
+
+ def configure(conf):
+ conf.RECURSE('lib/tdb')
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb
deleted file mode 100644
index 3c7e5455..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb
+++ /dev/null
@@ -1,68 +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 samba"
-
-SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
- file://do-not-import-target-module-while-cross-compile.patch \
- file://options-1.4.1.patch \
- file://0001-libldb-fix-config-error.patch \
- file://libldb-fix-musl-libc-unkown-type-error.patch \
- file://libldb-fix-musl-libc-conflict-type-error.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] = "159a1b1a56dcccf410d1bba911be6076"
-SRC_URI[sha256sum] = "2df13aa25b376b314ce24182c37691959019523de3cc5356c40c1a333b0890a2"
-
-inherit waf-samba distro_features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-S = "${WORKDIR}/ldb-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
- --disable-rpath-install \
- --bundled-libraries=cmocka \
- --builtin-libraries=replace \
- --with-modulesdir=${libdir}/ldb/modules \
- --with-privatelibdir=${libdir}/ldb \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- --without-ldb-lmdb \
- "
-
-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/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.7.bb b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.7.bb
new file mode 100644
index 00000000..da77a238
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.7.bb
@@ -0,0 +1,71 @@
+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 += "python3"
+
+SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
+ file://do-not-import-target-module-while-cross-compile.patch \
+ file://libldb-fix-musl-libc-unkown-type-error.patch \
+ file://libldb-fix-musl-libc-conflict-type-error.patch \
+ file://0001-waf-add-support-of-cross_compile.patch \
+ file://options-1.5.4.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"
+PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
+
+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] = "4d72bbfe7c7fcdf592482a98c853d222"
+SRC_URI[sha256sum] = "b9eeb77ecb94f3b53caeff7cbc1850b6294fa937be4364c53a92a62c6548c001"
+
+inherit waf-samba
+
+S = "${WORKDIR}/ldb-${PV}"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+EXTRA_OECONF += "--disable-rpath \
+ --disable-rpath-install \
+ --bundled-libraries=cmocka \
+ --builtin-libraries=replace \
+ --with-modulesdir=${libdir}/ldb/modules \
+ --with-privatelibdir=${libdir}/ldb \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ "
+
+PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
+
+NOAUTOPACKAGEDEBUG = "1"
+
+FILES_${PN} += "${libdir}/ldb/*"
+FILES_${PN}-dbg += "${bindir}/.debug/* \
+ ${libdir}/.debug/* \
+ ${libdir}/ldb/.debug/* \
+ ${libdir}/ldb/modules/ldb/.debug/*"
+
+FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+ ${libdir}/libpyldb-util.*.so.* \
+ "
+FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
+ ${libdir}/.debug/libpyldb-util.*.so.*"
+FILES_pyldb-dev = "${libdir}/libpyldb-util.*.so"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc b/external/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
index e86f832f..319ab29c 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
+++ b/external/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
@@ -1,11 +1,13 @@
DESCRIPTION = "open source C/C++ client library and tools for the memcached server"
DEPENDS = "libevent util-linux"
SECTION = "libdevel"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=865490941c91ba790f0ea78dec93bd60"
SRC_URI = "http://launchpad.net/libmemcached/1.0/${PV}/+download/libmemcached-${PV}.tar.gz"
+UPSTREAM_CHECK_URI = "https://launchpad.net/libmemcached"
+
TARGET_LDFLAGS += "-luuid"
TARGET_CFLAGS += "-D__USE_GNU -D_GNU_SOURCE"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch b/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 00000000..e58339af
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+ args = Utils.to_list(kw.get('exec_args', []))
+ proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ """
+ color = 'PINK'
+ def run(self):
++ args = self.generator.bld.kw.get('exec_args', [])
+ if getattr(self.generator, 'rpath', None):
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+- else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++ else:
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ else:
+ env = self.env.env or {}
+ env.update(dict(os.environ))
+ for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+
+ @feature('test_exec')
+ @after_method('apply_link')
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch b/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch
deleted file mode 100644
index df45d36e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From 319a2a1bb46ae35fa9d66878cb08285035f0bd5f Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 19 Jul 2018 15:41:31 +0800
-Subject: [PATCH] talloc: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Modified to apply to version 2.1.10.
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Modified tp apply to version 2.1.14
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- lib/replace/wscript | 90 +++++++++++++++++++++++++++++++++++++++++------------
- wscript | 7 +++++
- 2 files changed, 77 insertions(+), 20 deletions(-)
-
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fd00a42..a77c058 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -22,6 +22,41 @@ def set_options(opt):
- opt.BUILTIN_DEFAULT('NONE')
- opt.PRIVATE_EXTENSION_DEFAULT('')
- opt.RECURSE('buildtools/wafsamba')
-+
-+ opt.add_option('--with-acl',
-+ help=("Enable use of acl"),
-+ action="store_true", dest='enable_acl')
-+ opt.add_option('--without-acl',
-+ help=("Disable use of acl"),
-+ action="store_false", dest='enable_acl', default=False)
-+
-+ opt.add_option('--with-attr',
-+ help=("Enable use of attr"),
-+ action="store_true", dest='enable_attr')
-+ opt.add_option('--without-attr',
-+ help=("Disable use of attr"),
-+ action="store_false", dest='enable_attr', default=False)
-+
-+ opt.add_option('--with-libaio',
-+ help=("Enable use of libaio"),
-+ action="store_true", dest='enable_libaio')
-+ opt.add_option('--without-libaio',
-+ help=("Disable use of libaio"),
-+ action="store_false", dest='enable_libaio', default=False)
-+
-+ opt.add_option('--with-libbsd',
-+ help=("Enable use of libbsd"),
-+ action="store_true", dest='enable_libbsd')
-+ opt.add_option('--without-libbsd',
-+ help=("Disable use of libbsd"),
-+ action="store_false", dest='enable_libbsd', default=False)
-+
-+ opt.add_option('--with-libcap',
-+ help=("Enable use of libcap"),
-+ action="store_true", dest='enable_libcap')
-+ opt.add_option('--without-libcap',
-+ help=("Disable use of libcap"),
-+ action="store_false", dest='enable_libcap', default=False)
-
- @Utils.run_once
- def configure(conf):
-@@ -32,12 +67,25 @@ def configure(conf):
- conf.DEFINE('HAVE_LIBREPLACE', 1)
- conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
-
-- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
-- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+ conf.CHECK_HEADERS('attr/xattr.h compat.h ctype.h dustat.h')
- conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
-- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
-- conf.CHECK_HEADERS('shadow.h sys/acl.h')
-- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+ conf.CHECK_HEADERS('shadow.h')
-+ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+ if Options.options.enable_acl:
-+ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+ if Options.options.enable_attr:
-+ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+ if Options.options.enable_libaio:
-+ conf.CHECK_HEADERS('libaio.h')
-+
-+ if Options.options.enable_libcap:
-+ conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
- conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -108,7 +156,9 @@ def configure(conf):
- conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
- conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+ if Options.options.enable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
- conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
- conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -342,20 +392,20 @@ def configure(conf):
-
- strlcpy_in_bsd = False
-
-- # libbsd on some platforms provides strlcpy and strlcat
-- if not conf.CHECK_FUNCS('strlcpy strlcat'):
-- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-- checklibc=True):
-- strlcpy_in_bsd = True
-- if not conf.CHECK_FUNCS('getpeereid'):
-- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS('setproctitle_init'):
-- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
--
-- if not conf.CHECK_FUNCS('closefrom'):
-- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+ if Options.options.enable_libbsd:
-+ # libbsd on some platforms provides strlcpy and strlcat
-+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+ checklibc=True):
-+ strlcpy_in_bsd = True
-+ if not conf.CHECK_FUNCS('getpeereid'):
-+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('setproctitle_init'):
-+ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('closefrom'):
-+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-
- conf.CHECK_CODE('''
- struct ucred cred;
-diff --git a/wscript b/wscript
-index 18f726e..fed8ab9 100644
---- a/wscript
-+++ b/wscript
-@@ -32,6 +32,13 @@ def set_options(opt):
- opt.add_option('--enable-talloc-compat1',
- help=("Build talloc 1.x.x compat library [False]"),
- action="store_true", dest='TALLOC_COMPAT1', default=False)
-+ opt.add_option('--with-valgrind',
-+ help=("enable use of valgrind"),
-+ action="store_true", dest='enable_valgrind')
-+ opt.add_option('--without-valgrind',
-+ help=("disable use of valgrind"),
-+ action="store_false", dest='enable_valgrind', default=False)
-+
-
-
- def configure(conf):
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch b/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch
new file mode 100644
index 00000000..3847b013
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch
@@ -0,0 +1,173 @@
+From c6d76c8ade57b996a8123b1c1a3a28ba4666e9c6 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 10:57:06 +0800
+Subject: [PATCH] talloc: Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Modified to apply to version 2.1.10.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Modified tp apply to version 2.2.0
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/replace/wscript | 91 ++++++++++++++++++++++++++++++++++++++++-------------
+ wscript | 7 ++++-
+ 2 files changed, 76 insertions(+), 22 deletions(-)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index 1d01e1e..7bc7666 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -25,6 +25,41 @@ def options(opt):
+ opt.PRIVATE_EXTENSION_DEFAULT('')
+ opt.RECURSE('buildtools/wafsamba')
+
++ opt.add_option('--with-acl',
++ help=("Enable use of acl"),
++ action="store_true", dest='enable_acl')
++ opt.add_option('--without-acl',
++ help=("Disable use of acl"),
++ action="store_false", dest='enable_acl', default=False)
++
++ opt.add_option('--with-attr',
++ help=("Enable use of attr"),
++ action="store_true", dest='enable_attr')
++ opt.add_option('--without-attr',
++ help=("Disable use of attr"),
++ action="store_false", dest='enable_attr', default=False)
++
++ opt.add_option('--with-libaio',
++ help=("Enable use of libaio"),
++ action="store_true", dest='enable_libaio')
++ opt.add_option('--without-libaio',
++ help=("Disable use of libaio"),
++ action="store_false", dest='enable_libaio', default=False)
++
++ opt.add_option('--with-libbsd',
++ help=("Enable use of libbsd"),
++ action="store_true", dest='enable_libbsd')
++ opt.add_option('--without-libbsd',
++ help=("Disable use of libbsd"),
++ action="store_false", dest='enable_libbsd', default=False)
++
++ opt.add_option('--with-libcap',
++ help=("Enable use of libcap"),
++ action="store_true", dest='enable_libcap')
++ opt.add_option('--without-libcap',
++ help=("Disable use of libcap"),
++ action="store_false", dest='enable_libcap', default=False)
++
+ @Utils.run_once
+ def configure(conf):
+ conf.RECURSE('buildtools/wafsamba')
+@@ -34,12 +69,25 @@ def configure(conf):
+ conf.DEFINE('HAVE_LIBREPLACE', 1)
+ conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+
+- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++ conf.CHECK_HEADERS('attr/xattr.h compat.h ctype.h dustat.h')
+ conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+- conf.CHECK_HEADERS('shadow.h sys/acl.h')
+- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++ conf.CHECK_HEADERS('shadow.h')
++ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++ if Options.options.enable_acl:
++ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++ if Options.options.enable_attr:
++ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++ if Options.options.enable_libaio:
++ conf.CHECK_HEADERS('libaio.h')
++
++ if Options.options.enable_libcap:
++ conf.CHECK_HEADERS('sys/capability.h')
++
+ conf.CHECK_HEADERS('port.h')
+ conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
+ conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -110,8 +158,9 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
+ conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
+
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
++ if Options.options.enable_valgrind:
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+ conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+ conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+ conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -380,20 +429,20 @@ def configure(conf):
+
+ strlcpy_in_bsd = False
+
+- # libbsd on some platforms provides strlcpy and strlcat
+- if not conf.CHECK_FUNCS('strlcpy strlcat'):
+- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+- checklibc=True):
+- strlcpy_in_bsd = True
+- if not conf.CHECK_FUNCS('getpeereid'):
+- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS('setproctitle_init'):
+- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+- if not conf.CHECK_FUNCS('closefrom'):
+- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++ if Options.options.enable_libbsd:
++ # libbsd on some platforms provides strlcpy and strlcat
++ if not conf.CHECK_FUNCS('strlcpy strlcat'):
++ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++ checklibc=True):
++ strlcpy_in_bsd = True
++ if not conf.CHECK_FUNCS('getpeereid'):
++ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS('setproctitle_init'):
++ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS('closefrom'):
++ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+
+ conf.CHECK_CODE('''
+ struct ucred cred;
+diff --git a/wscript b/wscript
+index e402069..9976f4c 100644
+--- a/wscript
++++ b/wscript
+@@ -31,7 +31,12 @@ def options(opt):
+ opt.add_option('--enable-talloc-compat1',
+ help=("Build talloc 1.x.x compat library [False]"),
+ action="store_true", dest='TALLOC_COMPAT1', default=False)
+-
++ opt.add_option('--with-valgrind',
++ help=("enable use of valgrind"),
++ action="store_true", dest='enable_valgrind')
++ opt.add_option('--without-valgrind',
++ help=("disable use of valgrind"),
++ action="store_false", dest='enable_valgrind', default=False)
+
+ def configure(conf):
+ conf.RECURSE('lib/replace')
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb b/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb
deleted file mode 100644
index 9a463a6d..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://talloc.samba.org"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & GPL-3.0+"
-LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6d5228bfa7825249 \
- file://pytalloc.h;beginline=1;endline=18;md5=2c498cc6f2263672483237b20f46b43d"
-
-
-SRC_URI = "https://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
- file://options-2.1.14.patch \
-"
-SRC_URI[md5sum] = "7478da02e309316231a497a9f17a980d"
-SRC_URI[sha256sum] = "b185602756a628bac507fa8af8b9df92ace69d27c0add5dab93190ad7c3367ce"
-
-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-dev"
-
-RPROVIDES_${PN}-dbg += "pytalloc-dbg"
-
-FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
- ${libdir}/libpytalloc-util.so.2 \
- ${libdir}/libpytalloc-util.so.2.1.1 \
- "
-FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
-RDEPENDS_pytalloc = "python"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.3.0.bb b/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.3.0.bb
new file mode 100644
index 00000000..59deb15b
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.3.0.bb
@@ -0,0 +1,54 @@
+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://www.samba.org/ftp/talloc/talloc-${PV}.tar.gz \
+ file://options-2.2.0.patch \
+ file://0001-waf-add-support-of-cross_compile.patch \
+"
+SRC_URI[md5sum] = "8416b153547add81cd1a4d24e598c890"
+SRC_URI[sha256sum] = "75d5bcb34482545a82ffb06da8f6c797f963a0da450d0830c669267b14992fc6"
+
+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}"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+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-dev"
+
+RPROVIDES_${PN}-dbg += "pytalloc-dbg"
+
+FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+ ${libdir}/libpytalloc-util.so.2 \
+ ${libdir}/libpytalloc-util.so.2.1.1 \
+ "
+FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
+RDEPENDS_pytalloc = "python3"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch b/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch
deleted file mode 100644
index bcc45c9f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Don't check manpages for xsltproc.
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-
---- tdb-1.3.0.orig/wscript 2015-04-22 09:52:32.366000222 +0900
-+++ tdb-1.3.0/wscript 2015-04-22 09:51:57.720000205 +0900
-@@ -90,7 +90,7 @@ def configure(conf):
- not conf.env.disable_tdb_mutex_locking):
- conf.define('USE_TDB_MUTEX_LOCKING', 1)
-
-- conf.CHECK_XSLTPROC_MANPAGES()
-+ conf.find_program('xsltproc', var='XSLTPROC')
-
- if not conf.env.disable_python:
- # also disable if we don't have the python libs installed
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch b/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
index 365b92da..c35cab7c 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
@@ -1,6 +1,6 @@
-From 6de1affddde4003a956523c330ecf24e22e094ac Mon Sep 17 00:00:00 2001
+From 71a10c176c34da898c0169371b3c1b032d2f88b1 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 19 Jul 2018 16:20:32 +0800
+Date: Wed, 19 Jun 2019 17:53:34 +0800
Subject: [PATCH] tdb: Add configure options for packages
Add configure options for the following packages:
@@ -15,22 +15,19 @@ Upstream-Status: Inappropriate [oe deterministic build specific]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-Update for libtdb_1.3.14.
+Update to 1.4.0
-Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
-
-Update for libtdb_1.3.16
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- lib/replace/wscript | 89 +++++++++++++++++++++++++++++++++++++++++------------
+ lib/replace/wscript | 94 ++++++++++++++++++++++++++++++++++++++++-------------
wscript | 6 ++++
- 2 files changed, 75 insertions(+), 20 deletions(-)
+ 2 files changed, 78 insertions(+), 22 deletions(-)
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fd00a42..2df83cd 100644
+index 1d01e1e..2336dc3 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
+@@ -25,6 +25,41 @@ def options(opt):
opt.PRIVATE_EXTENSION_DEFAULT('')
opt.RECURSE('buildtools/wafsamba')
@@ -72,7 +69,7 @@ index fd00a42..2df83cd 100644
@Utils.run_once
def configure(conf):
conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
+@@ -34,12 +69,25 @@ def configure(conf):
conf.DEFINE('HAVE_LIBREPLACE', 1)
conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
@@ -81,7 +78,7 @@ index fd00a42..2df83cd 100644
+ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
+ conf.CHECK_HEADERS('attr/xattr.h compat.h ctype.h dustat.h')
conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
-- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+- conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
- conf.CHECK_HEADERS('shadow.h sys/acl.h')
- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
@@ -101,20 +98,23 @@ index fd00a42..2df83cd 100644
+ conf.CHECK_HEADERS('sys/capability.h')
+
conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+ conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -108,7 +156,9 @@ def configure(conf):
+@@ -110,9 +158,10 @@ def configure(conf):
conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+ if Options.options.enable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -342,20 +392,19 @@ def configure(conf):
+ conf.CHECK_HEADERS('syscall.h sys/syscall.h inttypes.h')
+@@ -380,20 +429,21 @@ def configure(conf):
strlcpy_in_bsd = False
@@ -135,24 +135,26 @@ index fd00a42..2df83cd 100644
+ if Options.options.enable_libbsd:
+ # libbsd on some platforms provides strlcpy and strlcat
+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+ checklibc=True)
++ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++ checklibc=True):
++ strlcpy_in_bsd = True
+ if not conf.CHECK_FUNCS('getpeereid'):
+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS('setproctitle_init'):
++ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+
+ if not conf.CHECK_FUNCS('closefrom'):
+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+
conf.CHECK_CODE('''
struct ucred cred;
diff --git a/wscript b/wscript
-index 6505648..6608481 100644
+index 5598d02..8d47244 100644
--- a/wscript
+++ b/wscript
-@@ -63,6 +63,12 @@ def set_options(opt):
+@@ -69,6 +69,12 @@ def options(opt):
action="store_true", dest='disable_tdb_mutex_locking',
default=False)
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb b/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb
deleted file mode 100644
index 0579ed6e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "The tdb library"
-HOMEPAGE = "http://tdb.samba.org/"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & GPL-3.0+"
-
-LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \
- file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6"
-
-SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
- file://do-not-check-xsltproc-manpages.patch \
- file://tdb-Add-configure-options-for-packages.patch \
-"
-
-SRC_URI[md5sum] = "7d06d8709188e07df853d9e91db88927"
-SRC_URI[sha256sum] = "6a3fc2616567f23993984ada3cea97d953a27669ffd1bfbbe961f26e0cf96cc5"
-
-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"
-
-RPROVIDES_${PN}-dbg += "python-tdb-dbg"
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_tdb-tools = "${bindir}/*"
-FILES_python-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-RDEPENDS_python-tdb = "python"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb b/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb
new file mode 100644
index 00000000..c131014f
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.3.bb
@@ -0,0 +1,56 @@
+SUMMARY = "The tdb library"
+HOMEPAGE = "http://tdb.samba.org/"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & GPL-3.0+"
+
+LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \
+ file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6"
+
+SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
+ file://tdb-Add-configure-options-for-packages.patch \
+"
+
+SRC_URI[md5sum] = "e638e8890f743624a754304b3f994f4d"
+SRC_URI[sha256sum] = "c8058393dfa15f47e11ebd2f1d132693f0b3b3b8bf22d0201bfb305026f88a1b"
+
+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
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+EXTRA_OECONF += "--disable-rpath \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ "
+
+do_install_append() {
+ # add this link for cross check python module existence. eg: on x86-64 host, check python module
+ # under recipe-sysroot which is mips64.
+ cd ${D}${PYTHON_SITEPACKAGES_DIR}; ln -s tdb.*.so tdb.so
+}
+
+PACKAGES += "tdb-tools python3-tdb"
+
+RPROVIDES_${PN}-dbg += "python3-tdb-dbg"
+
+FILES_${PN} = "${libdir}/*.so.*"
+FILES_tdb-tools = "${bindir}/*"
+FILES_python3-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+RDEPENDS_python3-tdb = "python3"
+INSANE_SKIP_${MLPREFIX}python3-tdb = "dev-so"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch b/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 00000000..a717f1bb
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded.
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+ args = Utils.to_list(kw.get('exec_args', []))
+ proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ """
+ color = 'PINK'
+ def run(self):
++ args = self.generator.bld.kw.get('exec_args', [])
+ if getattr(self.generator, 'rpath', None):
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+- else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++ else:
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ else:
+ env = self.env.env or {}
+ env.update(dict(os.environ))
+ for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+
+ @feature('test_exec')
+ @after_method('apply_link')
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch b/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch
new file mode 100644
index 00000000..882af064
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch
@@ -0,0 +1,170 @@
+From b2b19aa9968258b22cf31db0b9dba6bcf96046cf Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 13:55:44 +0800
+Subject: [PATCH] Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Modified to apply to version 0.9.33.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Update patch to version 0.10.0
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/replace/wscript | 89 ++++++++++++++++++++++++++++++++++++++++-------------
+ wscript | 6 ++++
+ 2 files changed, 74 insertions(+), 21 deletions(-)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index 1d01e1e..5cf444a 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -25,6 +25,41 @@ def options(opt):
+ opt.PRIVATE_EXTENSION_DEFAULT('')
+ opt.RECURSE('buildtools/wafsamba')
+
++ opt.add_option('--with-acl',
++ help=("Enable use of acl"),
++ action="store_true", dest='enable_acl')
++ opt.add_option('--without-acl',
++ help=("Disable use of acl"),
++ action="store_false", dest='enable_acl', default=False)
++
++ opt.add_option('--with-attr',
++ help=("Enable use of attr"),
++ action="store_true", dest='enable_attr')
++ opt.add_option('--without-attr',
++ help=("Disable use of attr"),
++ action="store_false", dest='enable_attr', default=False)
++
++ opt.add_option('--with-libaio',
++ help=("Enable use of libaio"),
++ action="store_true", dest='enable_libaio')
++ opt.add_option('--without-libaio',
++ help=("Disable use of libaio"),
++ action="store_false", dest='enable_libaio', default=False)
++
++ opt.add_option('--with-libbsd',
++ help=("Enable use of libbsd"),
++ action="store_true", dest='enable_libbsd')
++ opt.add_option('--without-libbsd',
++ help=("Disable use of libbsd"),
++ action="store_false", dest='enable_libbsd', default=False)
++
++ opt.add_option('--with-libcap',
++ help=("Enable use of libcap"),
++ action="store_true", dest='enable_libcap')
++ opt.add_option('--without-libcap',
++ help=("Disable use of libcap"),
++ action="store_false", dest='enable_libcap', default=False)
++
+ @Utils.run_once
+ def configure(conf):
+ conf.RECURSE('buildtools/wafsamba')
+@@ -34,12 +69,25 @@ def configure(conf):
+ conf.DEFINE('HAVE_LIBREPLACE', 1)
+ conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+
+- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
+ conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+- conf.CHECK_HEADERS('shadow.h sys/acl.h')
+- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++ conf.CHECK_HEADERS('shadow.h')
++ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++ if Options.options.enable_acl:
++ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++ if Options.options.enable_attr:
++ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++ if Options.options.enable_libaio:
++ conf.CHECK_HEADERS('libaio.h')
++
++ if Options.options.enable_libcap:
++ conf.CHECK_HEADERS('sys/capability.h')
++
+ conf.CHECK_HEADERS('port.h')
+ conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
+ conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -110,8 +158,9 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
+ conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
+
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
++ if Options.options.enable_valgrind:
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+ conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+ conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+ conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -380,20 +429,18 @@ def configure(conf):
+
+ strlcpy_in_bsd = False
+
+- # libbsd on some platforms provides strlcpy and strlcat
+- if not conf.CHECK_FUNCS('strlcpy strlcat'):
+- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+- checklibc=True):
+- strlcpy_in_bsd = True
+- if not conf.CHECK_FUNCS('getpeereid'):
+- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS('setproctitle_init'):
+- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+- if not conf.CHECK_FUNCS('closefrom'):
+- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++ if Options.options.enable_libbsd:
++ # libbsd on some platforms provides strlcpy and strlcat
++ if not conf.CHECK_FUNCS('strlcpy strlcat'):
++ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++ checklibc=True)
++ if not conf.CHECK_FUNCS('getpeereid'):
++ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++
++ if not conf.CHECK_FUNCS('closefrom'):
++ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+
+ conf.CHECK_CODE('''
+ struct ucred cred;
+diff --git a/wscript b/wscript
+index ded182a..824a6dd 100644
+--- a/wscript
++++ b/wscript
+@@ -25,6 +25,12 @@ def options(opt):
+ opt.RECURSE('lib/replace')
+ opt.RECURSE('lib/talloc')
+
++ opt.add_option('--with-valgrind',
++ help=("enable use of valgrind"),
++ action="store_true", dest='enable_valgrind')
++ opt.add_option('--without-valgrind',
++ help=("disable use of valgrind"),
++ action="store_false", dest='enable_valgrind', default=False)
+
+ def configure(conf):
+ conf.RECURSE('lib/replace')
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch b/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch
deleted file mode 100644
index 363c5867..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From c3e2e4f89cf37b27609fd02ad67eb02d0015cc1e Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 21 Sep 2016 09:57:49 +0800
-Subject: [PATCH 1/1] tevent: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Modified to apply to version 0.9.33.
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- lib/replace/wscript | 89 ++++++++++++++++++++++++++++++++++++++++-------------
- wscript | 7 ++++-
- 2 files changed, 73 insertions(+), 23 deletions(-)
-
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 2c638b7..079761d 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
- opt.PRIVATE_EXTENSION_DEFAULT('')
- opt.RECURSE('buildtools/wafsamba')
-
-+ opt.add_option('--with-acl',
-+ help=("Enable use of acl"),
-+ action="store_true", dest='enable_acl')
-+ opt.add_option('--without-acl',
-+ help=("Disable use of acl"),
-+ action="store_false", dest='enable_acl', default=False)
-+
-+ opt.add_option('--with-attr',
-+ help=("Enable use of attr"),
-+ action="store_true", dest='enable_attr')
-+ opt.add_option('--without-attr',
-+ help=("Disable use of attr"),
-+ action="store_false", dest='enable_attr', default=False)
-+
-+ opt.add_option('--with-libaio',
-+ help=("Enable use of libaio"),
-+ action="store_true", dest='enable_libaio')
-+ opt.add_option('--without-libaio',
-+ help=("Disable use of libaio"),
-+ action="store_false", dest='enable_libaio', default=False)
-+
-+ opt.add_option('--with-libbsd',
-+ help=("Enable use of libbsd"),
-+ action="store_true", dest='enable_libbsd')
-+ opt.add_option('--without-libbsd',
-+ help=("Disable use of libbsd"),
-+ action="store_false", dest='enable_libbsd', default=False)
-+
-+ opt.add_option('--with-libcap',
-+ help=("Enable use of libcap"),
-+ action="store_true", dest='enable_libcap')
-+ opt.add_option('--without-libcap',
-+ help=("Disable use of libcap"),
-+ action="store_false", dest='enable_libcap', default=False)
-+
- @Utils.run_once
- def configure(conf):
- conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
- conf.DEFINE('HAVE_LIBREPLACE', 1)
- conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
-
-- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
-- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
- conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
-- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
-- conf.CHECK_HEADERS('shadow.h sys/acl.h')
-- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+ conf.CHECK_HEADERS('shadow.h')
-+ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+ if Options.options.enable_acl:
-+ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+ if Options.options.enable_attr:
-+ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+ if Options.options.enable_libaio:
-+ conf.CHECK_HEADERS('libaio.h')
-+
-+ if Options.options.enable_libcap:
-+ conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
- conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -101,7 +149,8 @@ def configure(conf):
- conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
- conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+ if Options.options.enable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
- conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
- conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -294,22 +343,18 @@ def configure(conf):
-
- conf.CHECK_FUNCS('prctl dirname basename')
-
-- strlcpy_in_bsd = False
--
-- # libbsd on some platforms provides strlcpy and strlcat
-- if not conf.CHECK_FUNCS('strlcpy strlcat'):
-- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-- checklibc=True):
-- strlcpy_in_bsd = True
-- if not conf.CHECK_FUNCS('getpeereid'):
-- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS('setproctitle_init'):
-- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if Options.options.enable_libbsd:
-+ # libbsd on some platforms provides strlcpy and strlcat
-+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+ checklibc=True)
-+ if not conf.CHECK_FUNCS('getpeereid'):
-+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-
-- if not conf.CHECK_FUNCS('closefrom'):
-- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('closefrom'):
-+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-
- conf.CHECK_CODE('''
- struct ucred cred;
-@@ -660,7 +705,7 @@ removeea setea
- # look for a method of finding the list of network interfaces
- for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
- bsd_for_strlcpy = ''
-- if strlcpy_in_bsd:
-+ if Options.options.enable_libbsd:
- bsd_for_strlcpy = ' bsd'
- if conf.CHECK_CODE('''
- #define %s 1
-diff --git a/wscript b/wscript
-index 94d190f..742f779 100644
---- a/wscript
-+++ b/wscript
-@@ -22,7 +22,12 @@ def set_options(opt):
- opt.PRIVATE_EXTENSION_DEFAULT('tevent', noextension='tevent')
- opt.RECURSE('lib/replace')
- opt.RECURSE('lib/talloc')
--
-+ opt.add_option('--with-valgrind',
-+ help=("enable use of valgrind"),
-+ action="store_true", dest='enable_valgrind')
-+ opt.add_option('--without-valgrind',
-+ help=("disable use of valgrind"),
-+ action="store_false", dest='enable_valgrind', default=False)
-
- def configure(conf):
- conf.RECURSE('lib/replace')
---
-2.16.2
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.1.bb b/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.1.bb
new file mode 100644
index 00000000..f1b170da
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.1.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://tevent.samba.org"
+SECTION = "libs"
+LICENSE = "LGPLv3+"
+
+DEPENDS += "libtalloc libtirpc"
+RDEPENDS_python3-tevent = "python3"
+
+SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
+ file://options-0.10.0.patch \
+ file://0001-libtevent-fix-musl-libc-compile-error.patch \
+ file://0001-waf-add-support-of-cross_compile.patch \
+"
+LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
+
+SRC_URI[md5sum] = "1060eb69d6994a847eecb73c4d391ced"
+SRC_URI[sha256sum] = "79a4da68b38b86ac71d8ac824ee3605ab22a6a91cfa83033a7db73f3dd6910b6"
+
+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}"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+EXTRA_OECONF += "--disable-rpath \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ --without-gettext \
+ "
+do_install_append() {
+ # add this link for cross check python module existence. eg: on x86-64 host, check python module
+ # under recipe-sysroot which is mips64.
+ cd ${D}${PYTHON_SITEPACKAGES_DIR}; ln -s _tevent.*.so _tevent.so
+}
+
+PACKAGES += "python3-tevent"
+
+RPROVIDES_${PN}-dbg += "python3-tevent-dbg"
+
+FILES_python3-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+
+INSANE_SKIP_${MLPREFIX}python3-tevent = "dev-so"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb b/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb
deleted file mode 100644
index 4df251c7..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://tevent.samba.org"
-SECTION = "libs"
-LICENSE = "LGPLv3+"
-
-DEPENDS += "libtalloc libtirpc"
-RDEPENDS_python-tevent = "python"
-
-SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
- file://options-0.9.36.patch \
- file://0001-libtevent-fix-musl-libc-compile-error.patch \
-"
-LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
-
-SRC_URI[md5sum] = "6859cd4081fdb2a76b1cb4bf1c803a59"
-SRC_URI[sha256sum] = "168345ed65eac03785cf77b95238e7dc66cbb473a42811693a6b0916e5dae7e0"
-
-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"
-
-RPROVIDES_${PN}-dbg += "python-tevent-dbg"
-
-FILES_python-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch
new file mode 100644
index 00000000..a7c7093e
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch
@@ -0,0 +1,48 @@
+From 29b37e45577c0921846c1709a190f08a3b032666 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 8 Mar 2019 09:08:38 -0800
+Subject: [PATCH] IFNAMSIZ is defined in net/if.h
+
+Fixes
+/mnt/a/yoe/build/tmp/work/qemuriscv64-yoe-linux-musl/linux-atm/2.5.2-r0/recipe-sysroot/usr/include/linux/if_arp.h:121:16: error: 'IFNAMSIZ' undeclared here (not in a function)
+| char arp_dev[IFNAMSIZ];
+| ^~~~~~~~
+In file included from ../../../linux-atm-2.5.2/src/arpd/itf.c:17:
+/mnt/a/yoe/build/tmp/work/qemuriscv64-yoe-linux-musl/linux-atm/2.5.2-r0/recipe-sysroot/usr/include/linux/if_arp.h:121:16: error: 'IFNAMSIZ' undeclared here (not in a function)
+| char arp_dev[IFNAMSIZ];
+| ^~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/arpd/arp.c | 1 +
+ src/arpd/itf.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/arpd/arp.c b/src/arpd/arp.c
+index 92d3787..ff1574c 100644
+--- a/src/arpd/arp.c
++++ b/src/arpd/arp.c
+@@ -17,6 +17,7 @@
+ #include <netinet/in.h> /* for ntohs, etc. */
+ #define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */
+ #include <linux/types.h>
++#include <net/if.h>
+ #include <linux/if_arp.h>
+ #include <linux/if_ether.h>
+ #include <atm.h>
+diff --git a/src/arpd/itf.c b/src/arpd/itf.c
+index 92f0951..d285e3b 100644
+--- a/src/arpd/itf.c
++++ b/src/arpd/itf.c
+@@ -14,6 +14,7 @@
+ #include <sys/socket.h>
+ #define _LINUX_NETDEVICE_H /* glibc2 */
+ #include <linux/types.h>
++#include <net/if.h>
+ #include <linux/if_arp.h>
+
+ #include "atmd.h"
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch
new file mode 100644
index 00000000..a54869db
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch
@@ -0,0 +1,59 @@
+From 4456e13880803a300e4b6f263ad22a37481b5df5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 09:33:43 -0700
+Subject: [PATCH] saaldump,atmdump: Include linux/sockios.h for SIOCGSTAMP
+
+In linux kernel commit 0768e17073dc527ccd18ed5f96ce85f9985e9115
+the asm-generic/sockios.h header no longer defines SIOCGSTAMP.
+Instead it provides only SIOCGSTAMP_OLD.
+
+The linux/sockios.h header now defines SIOCGSTAMP using either
+SIOCGSTAMP_OLD or SIOCGSTAMP_NEW as appropriate. This linux only
+header file is not pulled so we get a build failure.
+
+Fixes
+../../../linux-atm-2.5.2/src/maint/atmdump.c:142:18: error: use of undeclared identifier 'SIOCGSTAMP'
+ if (ioctl(s,SIOCGSTAMP,&stamp) < 0) {
+ ^
+1 error generated.
+make[3]: *** [Makefile:623: atmdump.o] Error 1
+make[3]: *** Waiting for unfinished jobs....
+../../../linux-atm-2.5.2/src/maint/saaldump.c:169:14: error: use of undeclared identifier 'SIOCGSTAMP'
+ if (ioctl(s,SIOCGSTAMP,&stamp) < 0) {
+ ^
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/maint/atmdump.c | 2 +-
+ src/maint/saaldump.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/maint/atmdump.c b/src/maint/atmdump.c
+index 8b17826..9e4853b 100644
+--- a/src/maint/atmdump.c
++++ b/src/maint/atmdump.c
+@@ -5,7 +5,7 @@
+ #if HAVE_CONFIG_H
+ #include <config.h>
+ #endif
+-
++#include <linux/sockios.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <unistd.h>
+diff --git a/src/maint/saaldump.c b/src/maint/saaldump.c
+index 83bdde9..69429a8 100644
+--- a/src/maint/saaldump.c
++++ b/src/maint/saaldump.c
+@@ -5,7 +5,7 @@
+ #if HAVE_CONFIG_H
+ #include <config.h>
+ #endif
+-
++#include <linux/sockios.h>
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <stdio.h>
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch
deleted file mode 100644
index ce061231..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/musl-no-on_exit.patch b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/musl-no-on_exit.patch
new file mode 100644
index 00000000..25211d7c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/musl-no-on_exit.patch
@@ -0,0 +1,37 @@
+Description: musl lacks on_exit
+Author: Adrian Bunk <bunk@stusta.de>
+
+Only prints a trace on nonzero exit(),
+so can safely be disabled in musl builds.
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Inappropriate [musl specific]
+
+--- linux-atm-2.5.1.orig/src/sigd/atmsigd.c
++++ linux-atm-2.5.1/src/sigd/atmsigd.c
+@@ -283,6 +283,7 @@ static void setup_signals(void)
+ /* ------------------------------- main ... ------------------------------- */
+
+
++#if 0
+ static void trace_on_exit(int status,void *dummy)
+ {
+ char path[PATH_MAX+1];
+@@ -300,6 +301,7 @@ static void trace_on_exit(int status,voi
+ dump_trace(file,"Message trace (after error exit)");
+ if (file != stderr) (void) fclose(file);
+ }
++#endif
+
+
+ static void manual_override(void)
+@@ -517,7 +519,9 @@ int main(int argc,char **argv)
+ exit(0);
+ }
+ }
++#if 0
+ (void) on_exit(trace_on_exit,NULL);
++#endif
+ poll_loop();
+ close_all();
+ for (sig = entities; sig; sig = sig->next) stop_saal(&sig->saal);
diff --git a/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
index 9fce4fba..e594906c 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
@@ -3,19 +3,20 @@ HOMEPAGE = "http://linux-atm.sourceforge.net/"
SECTION = "libs"
LICENSE = "GPL-2.0 & LGPL-2.0"
-DEPENDS = "virtual/kernel flex flex-native"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+DEPENDS = "flex flex-native"
SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
file://link-with-ldflags.patch \
file://install-from-buildir.patch \
file://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 \
+ file://0001-IFNAMSIZ-is-defined-in-net-if.h.patch \
+ file://0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch \
"
+SRC_URI_append_libc-musl = " file://musl-no-on_exit.patch"
+
SRC_URI[md5sum] = "d49499368c3cf15f73a05d9bce8824a8"
SRC_URI[sha256sum] = "9645481a2b16476b59220aa2d6bc5bc41043f291326c9b37581018fbd16dd53a"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb b/external/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb
index 70cea6c7..3cabc4ff 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb
@@ -65,5 +65,6 @@ FILES_${PN}-dev += " \
FILES_${PN}-utils = "${bindir}/*"
+RRECOMMENDS_${PN} += "kernel-module-sctp"
RRECOMMENDS_${PN}-utils += "kernel-module-sctp"
RRECOMMENDS_${PN}-ptest += "kernel-module-sctp"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb b/external/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
index b70c43f1..5917cfb3 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
@@ -21,7 +21,7 @@ SRCREV = "1c2d8674cc6f4b1166a066e8822e295c105ae7a2"
S = "${WORKDIR}/git"
-inherit autotools python-dir pkgconfig
+inherit autotools python3-dir pkgconfig
CACHED_CONFIGUREVARS += "am_cv_python_pythondir=${PYTHON_SITEPACKAGES_DIR}/lowpan-tools"
@@ -35,3 +35,5 @@ FILES_${PN}-dbg += "${libexecdir}/lowpan-tools/.debug/"
PACKAGES =+ "${PN}-python"
FILES_${PN}-python = "${libdir}/python*"
+
+PNBLACKLIST[lowpan-tools] = "WARNING these tools are deprecated! Use wpan-tools instead"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger/0001-Fix-musl-build.patch b/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger/0001-Fix-musl-build.patch
new file mode 100644
index 00000000..d36087d5
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger/0001-Fix-musl-build.patch
@@ -0,0 +1,31 @@
+From 12d1cc9da14b0cd0265bca3c4289a335ddf2e357 Mon Sep 17 00:00:00 2001
+From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+Date: Mon, 8 Apr 2019 21:00:20 +0200
+Subject: [PATCH] Fix musl build
+
+Fixes compilation error on musl:
+| ../macchanger-1.7.0/src/netinfo.c:116:26: error: expected ';' before 'epa'
+| req.ifr_data = (caddr_t)epa;
+
+Missing data type is defined in <sys/types.h>.
+
+Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+---
+ src/netinfo.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/netinfo.c b/src/netinfo.c
+index 3525123..1aa3293 100644
+--- a/src/netinfo.c
++++ b/src/netinfo.c
+@@ -28,6 +28,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <sys/ioctl.h>
++#include <sys/types.h>
+
+ #include <linux/ethtool.h>
+ #include <linux/sockios.h>
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger_1.5.0.bb b/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger_1.5.0.bb
deleted file mode 100644
index a90177f1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger_1.5.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Tool to view/change network interface MAC addresses"
-DESCRIPTION = "A GNU/Linux utility for viewing/manipulating the MAC address of network interfaces."
-HOMEPAGE = "http://www.alobbs.com/macchanger"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-SECTION = "net"
-
-SRC_URI = "${GNU_MIRROR}/macchanger/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "79b7cdaeca3d8ebafa764c4b0dd03ab7"
-SRC_URI[sha256sum] = "d44bfa27cb29c5a718627cb3ef3aa42eb5130426545eb2031120826cd73fa8fe"
-
-FILES_${PN} = " \
- ${bindir}/${BPN} \
- ${datadir}/${BPN}/wireless.list \
- ${datadir}/${BPN}/OUI.list \
-"
-
-FILES_${PN}-doc = " \
- ${datadir}/info \
- ${datadir}/man \
-"
-
-inherit autotools
diff --git a/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger_1.7.0.bb b/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger_1.7.0.bb
new file mode 100644
index 00000000..6506fd8e
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/macchanger/macchanger_1.7.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Tool to view/change network interface MAC addresses"
+DESCRIPTION = "A GNU/Linux utility for viewing/manipulating the MAC address of network interfaces."
+HOMEPAGE = "https://github.com/alobbs/macchanger"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "net"
+
+SRC_URI = "https://github.com/alobbs/macchanger/releases/download/${PV}/${BPN}-${PV}.tar.gz \
+ file://0001-Fix-musl-build.patch \
+"
+SRC_URI[md5sum] = "ca56f16142914337391dac91603eb332"
+SRC_URI[sha256sum] = "dae2717c270fd5f62d790dbf80c19793c651b1b26b62c101b82d5fdf25a845bf"
+
+FILES_${PN} = " \
+ ${bindir}/${BPN} \
+ ${datadir}/${BPN}/wireless.list \
+ ${datadir}/${BPN}/OUI.list \
+"
+
+FILES_${PN}-doc = " \
+ ${datadir}/info \
+ ${datadir}/man \
+"
+
+inherit autotools
diff --git a/external/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.10.bb b/external/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.10.bb
deleted file mode 100644
index d2cafc9f..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.10.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "A high-performance memory object caching system"
-DESCRIPTION = "\
- memcached optimizes specific high-load serving applications that are designed \
- to take advantage of its versatile no-locking memory access system. Clients \
- are available in several different programming languages, to suit the needs \
- of the specific application. Traditionally this has been used in mod_perl \
- apps to avoid storing large chunks of data in Apache memory, and to share \
- this burden across several machines."
-SECTION = "web"
-HOMEPAGE = "http://memcached.org/"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff"
-
-inherit autotools
-
-DEPENDS += "libevent"
-RDEPENDS_${PN} += "perl perl-module-posix perl-module-autoloader \
- perl-module-tie-hash bash \
- "
-
-SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \
- file://memcached-add-hugetlbfs-check.patch \
- "
-SRC_URI[md5sum] = "8462616b554183a75845b03c56837cca"
-SRC_URI[sha256sum] = "494c060dbd96d546c74ab85a3cc3984d009b4423767ac33e05dd2340c01f1c4b"
-
-# 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/external/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb b/external/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb
new file mode 100644
index 00000000..feb4f3f1
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.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] = "4b64296ea0eeccdee9168c035e0488ab"
+SRC_URI[sha256sum] = "cfd7b023a9cefe7ae8a67184f51d841dbbf97994ed0e8a55e31ee092320ea1e4"
+
+# set the same COMPATIBLE_HOST as libhugetlbfs
+COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|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/external/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb b/external/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb
deleted file mode 100644
index 9d3275e2..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb
+++ /dev/null
@@ -1,27 +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=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/external/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.93.bb b/external/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.93.bb
new file mode 100644
index 00000000..dd150700
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.93.bb
@@ -0,0 +1,25 @@
+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=00a894a39d53726a27386534d1c4e468"
+
+SRCREV = "304349bad86229aedbc62c07d5e98a8292967991"
+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/external/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb b/external/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb
deleted file mode 100644
index 35602368..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Network Block Device"
-HOMEPAGE = "http://nbd.sourceforge.net"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "glib-2.0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "98b74c655ed94a66686c5ba19480d98e"
-SRC_URI[sha256sum] = "d95c6bb1a3ab33b953af99b73fb4833e123bd25433513b32d57dbeb1a0a0d189"
-
-inherit autotools pkgconfig
-
-PACKAGES = "${PN}-client ${PN}-server ${PN}-dbg ${PN}-trdump ${PN}-doc"
-
-FILES_${PN}-client = "${sbindir}/${BPN}-client"
-FILES_${PN}-server = "${bindir}/${BPN}-server"
-FILES_${PN}-trdump = "${bindir}/${BPN}-trdump"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.20.bb b/external/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.20.bb
new file mode 100644
index 00000000..12a82c25
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.20.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Network Block Device"
+HOMEPAGE = "http://nbd.sourceforge.net"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "glib-2.0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "910fe6c152f8c30ad8608388e6a4ce89"
+SRC_URI[sha256sum] = "e0e1b3538ab7ae5accf56180afd1a9887d415b98d21223b8ad42592b4af7d6cd"
+
+inherit autotools pkgconfig
+
+PACKAGES = "${PN}-client ${PN}-server ${PN}-dbg ${PN}-trdump ${PN}-doc"
+
+FILES_${PN}-client = "${sbindir}/${BPN}-client"
+FILES_${PN}-server = "${bindir}/${BPN}-server"
+FILES_${PN}-trdump = "${bindir}/${BPN}-trdump"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch b/external/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch
new file mode 100644
index 00000000..c7ec41eb
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit/0001-server-Fix-build-when-printf-is-a-macro.patch
@@ -0,0 +1,39 @@
+From 28f07715ab4d670ce81e12776bbece043305bd83 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 11 Apr 2020 15:08:39 -0700
+Subject: [PATCH] server: Fix build when printf is a macro
+
+clang complains on x86 when building
+
+main.c:116:2: error: embedding a #include directive within macro arguments is not supported
+ ^
+
+convert nesting include into a string assignment, to same effect but
+making it compatible with clang as well
+
+Upstream-Status: Submitted [https://github.com/libguestfs/nbdkit/pull/3]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ server/main.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/server/main.c b/server/main.c
+index 748122f..c0ac874 100644
+--- a/server/main.c
++++ b/server/main.c
+@@ -112,9 +112,10 @@ static void
+ usage (void)
+ {
+ /* --{short,long}-options remain undocumented */
+- printf (
++ char const *opt_list =
+ #include "synopsis.c"
+- );
++ ;
++ printf ("%s\n", opt_list);
+ printf ("\n"
+ "Please read the nbdkit(1) manual page for full usage.\n");
+ }
+--
+2.26.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb b/external/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb
new file mode 100644
index 00000000..a63e49ec
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_git.bb
@@ -0,0 +1,36 @@
+SUMMARY = "nbdkit is a toolkit for creating NBD servers."
+DESCRIPTION = "NBD — Network Block Device — is a protocol \
+for accessing Block Devices (hard disks and disk-like things) \
+over a Network. \
+\
+nbdkit is a toolkit for creating NBD servers."
+
+HOMEPAGE = "https://github.com/libguestfs/nbdkit"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4332a97808994cf2133a65b6c6f33eaf"
+
+SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \
+ file://0001-server-Fix-build-when-printf-is-a-macro.patch \
+"
+
+PV = "1.19.6+git${SRCPV}"
+SRCREV = "257561bc9f2f01eb9f21686bcec4b863d17a26c4"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "curl xz e2fsprogs zlib"
+
+# autotools-brokensep is needed as nbdkit does not support build in external directory
+inherit pkgconfig python3native perlnative bash-completion autotools-brokensep
+
+# Those are required to build standalone
+EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl"
+
+# Disable some extended support (not desired for small embedded systems)
+#EXTRA_OECONF += " --disable-python"
+#EXTRA_OECONF += " --disable-ocaml"
+#EXTRA_OECONF += " --disable-rust"
+#EXTRA_OECONF += " --disable-ruby"
+#EXTRA_OECONF += " --disable-tcl"
+#EXTRA_OECONF += " --disable-lua"
+#EXTRA_OECONF += " --disable-vddk"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat/0001-Depend-on-haveuint128.h-for-umult64.c.patch b/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat/0001-Depend-on-haveuint128.h-for-umult64.c.patch
new file mode 100644
index 00000000..6226e2c0
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat/0001-Depend-on-haveuint128.h-for-umult64.c.patch
@@ -0,0 +1,44 @@
+From 7f6a104a682d59f28f7df889129f4467cc45e912 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 6 Nov 2019 19:55:42 -0800
+Subject: [PATCH] Depend on haveuint128.h for umult64.c
+
+This fixes parallel build issue e.g.
+mult/umult64.c:9:10: fatal error: 'haveuint128.h' file not found
+ ^~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ GNUmakefile | 1 +
+ Makefile | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 3f3193d..751ca60 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -126,6 +126,7 @@ $(CDB_OBJS): cdb.h uint32.h
+ $(CRITBIT_OBJS): critbit.h
+
+ mult64.o: haveuint128.h
++umult64.o: haveuint128.h
+
+
+ iob_addbuf.o iob_addfile.o iob_new.o iob_reset.o iob_send.o: iob_internal.h iob.h
+diff --git a/Makefile b/Makefile
+index 0d08da4..02df6c6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -430,7 +430,7 @@ range_str4inbuf.o: mult/range_str4inbuf.c rangecheck.h
+ range_strinbuf.o: mult/range_strinbuf.c rangecheck.h
+ umult16.o: mult/umult16.c uint16.h
+ umult32.o: mult/umult32.c uint32.h
+-umult64.o: mult/umult64.c uint64.h
++umult64.o: mult/umult64.c uint64.h haveuint128.h
+ open_append.o: open/open_append.c open.h
+ open_excl.o: open/open_excl.c open.h
+ open_read.o: open/open_read.c open.h
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.31.bb b/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.31.bb
deleted file mode 100644
index 4b072f7e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.31.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb b/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb
new file mode 100644
index 00000000..d2f4df78
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb
@@ -0,0 +1,31 @@
+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 \
+ file://0001-Depend-on-haveuint128.h-for-umult64.c.patch \
+ "
+SRC_URI[md5sum] = "ee015ccf45cb2bc61c942642038c2bdc"
+SRC_URI[sha256sum] = "f4b9b3d9922dc25bc93adedf9e9ff8ddbebaf623f14c8e7a5f2301bfef7998c1"
+
+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} \
+ LIBDIR=${libdir} \
+ MAN3DIR=${mandir}/man3
+}
+
+ALLOW_EMPTY_${PN} = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb b/external/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
index ec487975..5f866052 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
@@ -15,6 +15,8 @@ SRC_URI = "git://git.remlab.net/git/ndisc6.git;protocol=http \
S = "${WORKDIR}/git"
+DEPENDS = "coreutils-native"
+
inherit autotools gettext
EXTRA_OECONF += "PERL=${USRBINPATH}/perl"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb b/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb
deleted file mode 100644
index defc05cd..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-require netcat.inc
-SUMMARY = "OpenBSD Netcat"
-HOMEPAGE = "http://ftp.debian.org"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=f39e60ae4ea9fdb559c833be2e59de99"
-
-DEPENDS += "glib-2.0 libbsd"
-do_patch[depends] = "quilt-native:do_populate_sysroot"
-
-SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/netcat-openbsd/1.190-2/netcat-openbsd_${PV}.orig.tar.gz;name=netcat \
- https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/netcat-openbsd/1.190-2/netcat-openbsd_${PV}-2.debian.tar.xz;name=netcat-patch;subdir=${BP} \
- file://0001-bundle-own-base64-encode-decode-functions.patch \
- "
-
-SRC_URI[netcat.md5sum] = "dd32fd1d7903b541ad8709794539b959"
-SRC_URI[netcat.sha256sum] = "68ccc448392c05ec51baed0167a72b8c650454f990b895d6e6877d416a38e536"
-SRC_URI[netcat-patch.md5sum] = "78058b7af0170654b877b02c37716cdf"
-SRC_URI[netcat-patch.sha256sum] = "88088af3f520c7825e59bc133d65e70fc4a30139d451c6faabbd9f240bc78374"
-
-inherit pkgconfig
-
-EXTRA_OEMAKE += "'LDFLAGS=${LDFLAGS}'"
-
-do_configure[noexec] = "1"
-
-netcat_do_patch() {
- cd ${S}
- quilt pop -a || true
- 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
- 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)
-}
-
-do_compile() {
- cd ${S}
- pkgrel=4
- oe_runmake CFLAGS="$CFLAGS -DDEBIAN_VERSION=\"\\\"${pkgrel}\\\"\""
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 755 ${S}/nc ${D}${bindir}/nc.${BPN}
-}
-ALTERNATIVE_PRIORITY = "60"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb b/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb
new file mode 100644
index 00000000..20ad43a4
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb
@@ -0,0 +1,56 @@
+require netcat.inc
+SUMMARY = "OpenBSD Netcat"
+HOMEPAGE = "http://ftp.debian.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=f39e60ae4ea9fdb559c833be2e59de99"
+
+DEPENDS += "glib-2.0 libbsd"
+do_patch[depends] = "quilt-native:do_populate_sysroot"
+
+SRC_URI = "http://snapshot.debian.org/archive/debian/20181022T085404Z/pool/main/n/netcat-openbsd/netcat-openbsd_${PV}.orig.tar.gz;name=netcat \
+ http://snapshot.debian.org/archive/debian/20181022T085404Z/pool/main/n/netcat-openbsd/netcat-openbsd_${PV}-1.debian.tar.xz;name=netcat-patch;subdir=${BP} \
+ file://0001-bundle-own-base64-encode-decode-functions.patch \
+ "
+
+SRC_URI[netcat.md5sum] = "219d5e49c45658e229a3bda63063a986"
+SRC_URI[netcat.sha256sum] = "0e283b2a214313c69447cd962c528ac19afb3ddfe606b25de6d179f187cde4c3"
+SRC_URI[netcat-patch.md5sum] = "7eba241989dbef6caa78ec4bc8e35151"
+SRC_URI[netcat-patch.sha256sum] = "c6736fcbab5254cbbc52278993a951da1126e42800a297c27db297e332e2017e"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE += "'LDFLAGS=${LDFLAGS}'"
+
+do_configure[noexec] = "1"
+
+netcat_do_patch() {
+ cd ${S}
+ quilt pop -a || true
+ 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
+ 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)
+}
+
+do_compile() {
+ cd ${S}
+ pkgrel=4
+ oe_runmake CFLAGS="$CFLAGS -DDEBIAN_VERSION=\"\\\"${pkgrel}\\\"\""
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 755 ${S}/nc ${D}${bindir}/nc.${BPN}
+}
+ALTERNATIVE_PRIORITY = "60"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat/gettext.patch b/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat/gettext.patch
new file mode 100644
index 00000000..f2e5f992
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat/gettext.patch
@@ -0,0 +1,16 @@
+Fix build with gettext 0.20.x
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -49,7 +49,7 @@ AC_SUBST(all_libraries)
+ dnl I18n support
+ ALL_LINGUAS="it sk"
+ AM_GNU_GETTEXT([external], need-ngettext)
+-AM_INTL_SUBDIR
++#AM_INTL_SUBDIR
+
+ dnl find resolver functions and the socket library on some broken OS
+ AC_LBL_LIBRARY_NET
diff --git a/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb b/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb
index d961af54..14d743f8 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb
@@ -8,6 +8,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/netcat/netcat-${PV}.tar.bz2 \
file://obsolete_autoconf_macros.patch \
file://netcat-locale_h.patch \
file://make-netcat_flag_count_work.patch \
+ file://gettext.patch \
"
SRC_URI[md5sum] = "0a29eff1736ddb5effd0b1ec1f6fe0ef"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb b/external/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb
index a4a9c91c..a180571f 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb
@@ -14,11 +14,13 @@ SRC_URI = "git://pagure.io/netcf.git;protocol=https \
UPSTREAM_CHECK_GITTAGREGEX = "release-(?P<pver>(\d+(\.\d+)+))"
-DEPENDS += "augeas libnl libxslt libxml2 gnulib"
+DEPENDS += "augeas libnl libxslt libxml2"
+
+do_configure[depends] += "${MLPREFIX}gnulib:do_populate_sysroot"
S = "${WORKDIR}/git"
-inherit gettext autotools pkgconfig systemd
+inherit gettext autotools perlnative pkgconfig systemd
EXTRA_OECONF_append_class-target = " --with-driver=redhat"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb b/external/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
index 8921ea74..d48f3aea 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
@@ -19,7 +19,7 @@ SRCREV = "f482bab49fcedee46fc5b755da127f608325cd13"
S = "${WORKDIR}/git"
-inherit update-rc.d autotools
+inherit update-rc.d autotools texinfo
# cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros
CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE"
@@ -31,6 +31,8 @@ CFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', \
PACKAGECONFIG ??= ""
PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,lksctp-tools,"
+PACKAGECONFIG[intervals] = "--enable-intervals,--disable-intervals,,"
+PACKAGECONFIG[histogram] = "--enable-histogram,--disable-histogram,,"
# autotools.bbclass attends to include m4 files with path depth <= 2 by
# "find ${S} -maxdepth 2 -name \*.m4", so move m4 files from m4/m4.
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2/0001-fetch-ocsp-response-use-python3.patch b/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2/0001-fetch-ocsp-response-use-python3.patch
new file mode 100644
index 00000000..e4db0963
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2/0001-fetch-ocsp-response-use-python3.patch
@@ -0,0 +1,27 @@
+From 73ec79432fc557a8be4f1500982b1c0f5fdf12a9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
+Date: Thu, 7 Nov 2019 09:58:52 +0000
+Subject: [PATCH] fetch-ocsp-response: use python3
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [oe specific]
+Signed-off-by: André Draszik <git@andred.net>
+---
+ script/fetch-ocsp-response | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/script/fetch-ocsp-response b/script/fetch-ocsp-response
+index 0ff7461..185116b 100755
+--- a/script/fetch-ocsp-response
++++ b/script/fetch-ocsp-response
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+
+ # nghttp2 - HTTP/2 C Library
+--
+2.23.0.rc1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb b/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb
deleted file mode 100644
index 3ccd486b..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "HTTP/2 C Library and tools"
-HOMEPAGE = "https://nghttp2.org/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
-
-SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.bz2"
-SRC_URI[md5sum] = "926f07ad3b50f38f7d8935ced04716cf"
-SRC_URI[sha256sum] = "0df4229f4123b5aa96e834ebcfdffe954e93d986f0252fd10123d50c6f010983"
-
-DEPENDS = "libxml2 openssl zlib jansson cunit c-ares"
-
-inherit cmake pythonnative python-dir
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb b/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb
new file mode 100644
index 00000000..9ed8c564
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "HTTP/2 C Library and tools"
+HOMEPAGE = "https://nghttp2.org/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
+DEPENDS = "c-ares cunit jansson libev libevent libxml2 openssl zlib"
+
+UPSTREAM_CHECK_URI = "https://github.com/nghttp2/nghttp2/releases"
+
+SRC_URI = "\
+ https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz \
+ file://0001-fetch-ocsp-response-use-python3.patch \
+"
+SRC_URI[md5sum] = "8d1a6b96760254e4dd142d7176e8fb7c"
+SRC_URI[sha256sum] = "09fc43d428ff237138733c737b29fb1a7e49d49de06d2edbed3bc4cdcee69073"
+
+inherit cmake manpages python3native
+PACKAGECONFIG[manpages] = ""
+
+# examples are never installed, and don't need to be built in the
+# first place
+EXTRA_OECMAKE = "-DENABLE_EXAMPLES=OFF -DENABLE_APP=ON"
+
+do_install_append() {
+ rm ${D}${bindir}/deflatehd ${D}${bindir}/inflatehd
+}
+
+PACKAGES =+ "lib${PN} ${PN}-client ${PN}-proxy ${PN}-server"
+
+RDEPENDS_${PN} = "${PN}-client (>= ${PV}) ${PN}-proxy (>= ${PV}) ${PN}-server (>= ${PV})"
+RDEPENDS_${PN}_class-native = ""
+RDEPENDS_${PN}-proxy = "openssl python3-core python3-io python3-shell"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+FILES_lib${PN} = "${libdir}/*${SOLIBS}"
+FILES_${PN}-client = "${bindir}/h2load ${bindir}/nghttp"
+FILES_${PN}-proxy = "${bindir}/nghttpx ${datadir}/${BPN}/fetch-ocsp-response"
+FILES_${PN}-server = "${bindir}/nghttpd"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nis/nis.inc b/external/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
index 200eaf74..a968af17 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
+++ b/external/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 = d.getVar("TARGET_OS", True)
+ os = d.getVar("TARGET_OS")
if os == "linux-uclibc":
raise bb.parse.SkipRecipe("NIS functionality requires rpcsvc/yp.h, uClibC does not provide this")
}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch b/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch
new file mode 100644
index 00000000..9484d0b0
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch
@@ -0,0 +1,45 @@
+From 25d5daf30aa2dc451ba528712f668036d8506054 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 07:50:26 -0700
+Subject: [PATCH] Add configure time check for gettid API
+
+glibc 2.30 has added this syscalls wrapper
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 +
+ src/log_msg.c | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 9e32a4a..6d1067b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,6 +33,7 @@ if test -n "$TIRPC_LIBS"; then
+ AC_DEFINE(HAVE_TIRPC, 1, [Define to 1 if TIRPC is available])
+ fi
+
++AC_CHECK_FUNCS(gettid)
+ dnl The difficult part: could we reconfigure NSS or must we use DNS ?
+ AC_CHECK_FUNCS(__nss_configure_lookup)
+ if eval "test \"`echo '$ac_cv_func___nss_configure_lookup'`\" != yes"; then
+diff --git a/src/log_msg.c b/src/log_msg.c
+index 49f0905..37da311 100644
+--- a/src/log_msg.c
++++ b/src/log_msg.c
+@@ -26,6 +26,7 @@
+ #include "log_msg.h"
+
+ #include <sys/syscall.h>
++#if !HAVE_GETTID
+ #ifdef __NR_gettid
+ static pid_t
+ gettid (void)
+@@ -39,6 +40,7 @@ gettid (void)
+ return getpid ();
+ }
+ #endif
++#endif
+
+ int debug_flag = 0;
+ int logfile_flag = 0;
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb b/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb
deleted file mode 100644
index 9822f455..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-# This package builds the NIS ypbind daemon
-# The source package is utils/net/NIS/ypbind-mt
-#
-require nis.inc
-
-DESCRIPTION = " \
-Multithreaded NIS bind service (ypbind-mt). \
-ypbind-mt is a complete new implementation of a NIS \
-binding daemon for Linux. It has the following \
-features. Supports ypbind protocol V1 and V2. \
-Uses threads for better response. Supports multiple \
-domain bindings. Supports /var/yp/binding/* file \
-for Linux libc 4/5 and glibc 2.x. Supports a list \
-of known secure NIS server (/etc/yp.conf) Binds to \
-the server which answered as first. \
-\
-This is the final IPv4-only version of ypbind-mt. \
-"
-HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html"
-DEPENDS = " \
- yp-tools \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
- "
-DEPENDS_append_libc-musl = " bsd-headers nss"
-RDEPENDS_${PN} += "yp-tools"
-
-# ypbind-mt now provides all the functionality of ypbind
-# and is used in place of it.
-PROVIDES += "ypbind"
-
-SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \
- file://ypbind.init \
- file://ypbind.service \
- file://0001-dns_hosts-Fix-build-with-musl.patch \
- "
-SRC_URI[md5sum] = "1aeccd0d11c064d5d59c56941bca682b"
-SRC_URI[sha256sum] = "a2e1fa8fc992a12b289c229e00e38c20d59070c3bcf08babf40c692515c340e0"
-
-inherit systemd update-rc.d
-
-SYSTEMD_SERVICE_${PN} = "ypbind.service"
-INITSCRIPT_NAME = "ypbind"
-INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ."
-
-CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true"
-
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/nss3"
-
-do_install_append () {
- install -d ${D}${sysconfdir}/init.d
- install -d ${D}${sysconfdir}/rcS.d
-
- install -m 0755 ${WORKDIR}/ypbind.init ${D}${sysconfdir}/init.d/ypbind
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system
-}
-
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb b/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb
new file mode 100644
index 00000000..03b98c9c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb
@@ -0,0 +1,63 @@
+# This package builds the NIS ypbind daemon
+# The source package is utils/net/NIS/ypbind-mt
+#
+require nis.inc
+
+DESCRIPTION = " \
+Multithreaded NIS bind service (ypbind-mt). \
+ypbind-mt is a complete new implementation of a NIS \
+binding daemon for Linux. It has the following \
+features. Supports ypbind protocol V1 and V2. \
+Uses threads for better response. Supports multiple \
+domain bindings. Supports /var/yp/binding/* file \
+for Linux libc 4/5 and glibc 2.x. Supports a list \
+of known secure NIS server (/etc/yp.conf) Binds to \
+the server which answered as first. \
+\
+This is the final IPv4-only version of ypbind-mt. \
+"
+HOMEPAGE = "https://github.com/thkukuk/ypbind-mt/"
+DEPENDS = " \
+ yp-tools \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ "
+DEPENDS_append_libc-musl = " bsd-headers nss"
+RDEPENDS_${PN} += "yp-tools"
+
+# ypbind-mt now provides all the functionality of ypbind
+# and is used in place of it.
+PROVIDES += "ypbind"
+
+SRC_URI = "https://github.com/thkukuk/ypbind-mt/releases/download/v${PV}/${BPN}-${PV}.tar.xz \
+ file://ypbind.init \
+ file://ypbind.service \
+ file://0001-dns_hosts-Fix-build-with-musl.patch \
+ file://0001-Add-configure-time-check-for-gettid-API.patch \
+ "
+SRC_URI[md5sum] = "7cf89641fdc128d0919207e4b7caaf1d"
+SRC_URI[sha256sum] = "0696c0263c4fd48a4ff2ce6c109f05f37aab0f71646d81cb22c7c28591bf80eb"
+
+inherit systemd update-rc.d
+
+SYSTEMD_SERVICE_${PN} = "ypbind.service"
+INITSCRIPT_NAME = "ypbind"
+INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ."
+
+CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true"
+
+CFLAGS_append = " -I${STAGING_INCDIR}/nss3 -I${STAGING_INCDIR}/nspr"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -d ${D}${sysconfdir}/rcS.d
+
+ install -m 0755 ${WORKDIR}/ypbind.init ${D}${sysconfdir}/init.d/ypbind
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system
+}
+
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop/embed-libs.patch b/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop/embed-libs.patch
new file mode 100644
index 00000000..2d1ab737
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop/embed-libs.patch
@@ -0,0 +1,20 @@
+Use --embed option so that it can return libpython as well
+
+% ../recipe-sysroot-native/usr/bin/python3-native/python3-config --libs --embed
+-lpython3.8 -lcrypt -lpthread -ldl -lutil -lm -lm
+[kraj@apollo /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/ntop/5.0.1-r0/ntop-5.0.1]
+% ../recipe-sysroot-native/usr/bin/python3-native/python3-config --libs
+-lcrypt -lpthread -ldl -lutil -lm -lm
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/configure.in
++++ b/configure.in
+@@ -1463,7 +1463,7 @@ dnl>
+ fi
+
+ if test "x$PYTHON_CONFIG" != "x"; then
+- PYTHON_LIBS="`$PYTHON_CONFIG --libs`"
++ PYTHON_LIBS="`$PYTHON_CONFIG --libs --embed`"
+ if test "x$PYTHON_LIBS" = "x"; then
+ AC_MSG_RESULT(Python[-devel] support is present but misconfigured)
+ else
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch b/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch
new file mode 100644
index 00000000..e627e59a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch
@@ -0,0 +1,19 @@
+Fix following error:
+
+netflowPlugin.c: In function 'netflowUtilsLoop':
+netflowPlugin.c:2144:1: error: no return statement in function returning non-void [-Werror=return-type]
+ 2144 | }
+ | ^
+
+Return NULL like netflowMainLoop does.
+
+--- ntop-5.0.1.orig/plugins/netflowPlugin.c 2012-03-09 17:44:17.000000000 +0000
++++ ntop-5.0.1/plugins/netflowPlugin.c 2019-08-09 10:25:40.878799852 +0000
+@@ -2141,6 +2141,7 @@
+ waitCondvar(&myGlobals.device[deviceId].netflowGlobals->ifStatsQueueCondvar);
+ }
+ }
++ return(NULL);
+ }
+ #endif
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb b/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
index 2a7a7f2c..d835e399 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
@@ -18,15 +18,17 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/ntop/ntop-${PV}.tar.gz \
file://use-static-inline.patch \
file://0001-nDPI-Include-sys-types.h.patch \
file://0001-plugins-Makefile.am-fix-for-automake-1.16.1.patch \
+ file://fix-missing-return-from-non-void-function.patch \
+ file://embed-libs.patch \
"
SRC_URI[md5sum] = "01710b6925a8a5ffe1a41b8b512ebd69"
SRC_URI[sha256sum] = "7e8e84cb14d2173beaca4d4cb991a14d84a4bef84ec37b2276bc363f45c52ef8"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/ntop/files/ntop/Stable"
-inherit autotools-brokensep useradd pythonnative pkgconfig systemd
+inherit autotools-brokensep useradd python3native pkgconfig systemd
-DEPENDS = "geoip rrdtool python zlib libpcap gdbm"
+DEPENDS = "geoip rrdtool python3 zlib libpcap gdbm"
PACKAGECONFIG ??= "openssl snmp plugins"
PACKAGECONFIG[openssl] = "--with-ssl, --without-ssl, openssl, openssl"
@@ -34,7 +36,7 @@ PACKAGECONFIG[snmp] = "--enable-snmp=yes NETSNMP=${STAGING_BINDIR_CROSS}/net-snm
--disable-snmp,net-snmp,"
PACKAGECONFIG[plugins] = "--enable-plugins=yes, --disable-plugins, ,"
-EXTRA_OECONF += "ac_cv_file_aclocal_m4=yes ac_cv_file_depcomp=no"
+EXTRA_OECONF += "ac_cv_file_aclocal_m4=yes ac_cv_file_depcomp=no PYTHON_CONFIG=python3-config"
do_configure() {
cp ${STAGING_DATADIR_NATIVE}/aclocal/libtool.m4 libtool.m4.in
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf b/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf
index 676e1864..b5900309 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf
+++ b/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf
@@ -14,4 +14,8 @@ driftfile /var/lib/ntp/drift
server 127.127.1.0
fudge 127.127.1.0 stratum 14
# Defining a default security setting
-restrict default
+restrict -4 default notrap nomodify nopeer noquery
+restrict -6 default notrap nomodify nopeer noquery
+
+restrict 127.0.0.1 # allow local host
+restrict ::1 # allow local host
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch b/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch
deleted file mode 100644
index 58e71c3b..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- ntp-4.2.8p12.original/scripts/build/mkver.in 2018-11-12 14:06:49.333020430 +1300
-+++ ntp-4.2.8p12/scripts/build/mkver.in 2018-11-12 14:15:04.947480167 +1300
-@@ -15,7 +15,12 @@
- *) ConfStr="${ConfStr}-@VER_SUFFIX@" ;;
- esac
-
--ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`"
-+if [ -n "$SOURCE_DATE_EPOCH" ]; then
-+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date -d@$SOURCE_DATE_EPOCH 2>/dev/null`" ||
-+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date -r $SOURCE_DATE_EPOCH`"
-+else
-+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`"
-+fi
-
- if [ ! -f .version ]; then
- echo 0 > .version
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb b/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb
deleted file mode 100644
index dc18a602..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb
+++ /dev/null
@@ -1,178 +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=4cee33257467509e498f4cd9a6a4bd53"
-
-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://reproducibility-fixed-path-to-posix-shell.patch \
- file://reproducibility-respect-source-date-epoch.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] = "ea040ab9b4ca656b5229b89d6b822f13"
-SRC_URI[sha256sum] = "288772cecfcd9a53694ffab108d1825a31ba77f3a8466b0401baeca3bc232a38"
-
-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 ntpq ${PN}-tickadj ${PN}-utils"
-# NOTE: you don't need ntpdate, use "ntpd -q -g -x"
-
-# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
-# with wonky clocks (e.g. OpenSlug)
-RDEPENDS_${PN} = "${PN}-tickadj"
-# ntpd require libgcc for execution
-RDEPENDS_${PN} += "libgcc"
-# Handle move from bin to utils package
-RPROVIDES_${PN}-utils = "${PN}-bin"
-RREPLACES_${PN}-utils = "${PN}-bin"
-RCONFLICTS_${PN}-utils = "${PN}-bin"
-# ntpq was split out of ntp-utils
-RDEPENDS_${PN}-utils = "ntpq"
-
-SYSTEMD_PACKAGES = "${PN} ntpdate sntp"
-SYSTEMD_SERVICE_${PN} = "ntpd.service"
-SYSTEMD_SERVICE_ntpdate = "ntpdate.service"
-SYSTEMD_SERVICE_sntp = "sntp.service"
-SYSTEMD_AUTO_ENABLE_sntp = "disable"
-
-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 \
- "
-FILES_ntpq = "${sbindir}/ntpq"
-
-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/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb b/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb
new file mode 100644
index 00000000..7e168825
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb
@@ -0,0 +1,177 @@
+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=4190b39435611e92a4da74e682623f19"
+
+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://reproducibility-fixed-path-to-posix-shell.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[sha256sum] = "f65840deab68614d5d7ceb2d0bb9304ff70dcdedd09abb79754a87536b849c19"
+
+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 ntpdc ntpq ${PN}-tickadj ${PN}-utils"
+# NOTE: you don't need ntpdate, use "ntpd -q -g -x"
+
+# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
+# with wonky clocks (e.g. OpenSlug)
+RDEPENDS_${PN} = "${PN}-tickadj"
+# ntpd require libgcc for execution
+RDEPENDS_${PN} += "libgcc"
+# Handle move from bin to utils package
+RPROVIDES_${PN}-utils = "${PN}-bin"
+RREPLACES_${PN}-utils = "${PN}-bin"
+RCONFLICTS_${PN}-utils = "${PN}-bin"
+# ntpdc and ntpq were split out of ntp-utils
+RDEPENDS_${PN}-utils = "ntpdc ntpq"
+
+SYSTEMD_PACKAGES = "${PN} ntpdate sntp"
+SYSTEMD_SERVICE_${PN} = "ntpd.service"
+SYSTEMD_SERVICE_ntpdate = "ntpdate.service"
+SYSTEMD_SERVICE_sntp = "sntp.service"
+SYSTEMD_AUTO_ENABLE_sntp = "disable"
+
+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 \
+ ${NTP_USER_HOME} \
+ ${systemd_unitdir}/ntp-units.d/60-ntpd.list \
+"
+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 \
+ "
+FILES_ntpdc = "${sbindir}/ntpdc"
+FILES_ntpq = "${sbindir}/ntpq"
+
+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/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp.socket b/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp.socket
new file mode 100644
index 00000000..a8ae74fb
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Network Performance Testing Server Activation Socket
+
+[Socket]
+ListenStream=5000
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp@.service b/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp@.service
new file mode 100644
index 00000000..b778e855
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp@.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Network Performance Testing Server
+After=local-fs.target
+
+[Service]
+User=nobody
+ExecStart=/usr/bin/nuttcp -S
+StandardInput=socket
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb b/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb
deleted file mode 100644
index 9430add4..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (C) 2013 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "network performance measurement tool"
-DESCRIPTION = "nuttcp is a network performance measurement tool intended for use by network \
-and system managers. Its most basic usage is to determine the raw TCP (or UDP) \
-network layer throughput by transferring memory buffers from a source system \
-across an interconnecting network to a destination system, either transferring \
-data for a specified time interval, or alternatively transferring a specified \
-number of bytes."
-HOMEPAGE = "http://www.nuttcp.net/Welcome%20Page.html"
-LICENSE = "GPL-2.0"
-SECTION = "net"
-LIC_FILES_CHKSUM = "file://${BP}.c;beginline=4;endline=30;md5=ae7045c3c3616092e07d87f04ba0d960"
-
-SRC_URI = "http://nuttcp.net/${BPN}/beta/${BP}.c"
-SRC_URI[md5sum] = "1ebf4a08bad2a295a8155f02995e8754"
-SRC_URI[sha256sum] = "c6e33810ccce67260f8d5d627f60e429d44f532365c58ed5673d035e2a59c4db"
-
-S = "${WORKDIR}"
-
-do_compile () {
- ${CC} ${CFLAGS} ${LDFLAGS} -o nuttcp nuttcp-${PV}.c
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 nuttcp ${D}${bindir}
-}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb b/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb
new file mode 100644
index 00000000..193caf3c
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb
@@ -0,0 +1,38 @@
+SUMMARY = "network performance measurement tool"
+DESCRIPTION = "nuttcp is a network performance measurement tool intended for use by network \
+and system managers. Its most basic usage is to determine the raw TCP (or UDP) \
+network layer throughput by transferring memory buffers from a source system \
+across an interconnecting network to a destination system, either transferring \
+data for a specified time interval, or alternatively transferring a specified \
+number of bytes."
+HOMEPAGE = "http://www.nuttcp.net/Welcome%20Page.html"
+LICENSE = "GPL-2.0"
+SECTION = "net"
+LIC_FILES_CHKSUM = "file://${BP}.c;beginline=4;endline=30;md5=496a7c0bb83c07ff528d226bf85e05c5"
+
+UPSTREAM_CHECK_URI = "https://www.nuttcp.net/nuttcp/beta/"
+
+SRC_URI = "http://nuttcp.net/${BPN}/beta/${BP}.c \
+ file://nuttcp@.service \
+ file://nuttcp.socket"
+SRC_URI[md5sum] = "d3c92c4d2f261221193c3726c1b9a42f"
+SRC_URI[sha256sum] = "8c5595bcd27c2fd66831be74c390df078cfb1870aa427f2511ac2586d236c8a1"
+
+S = "${WORKDIR}"
+
+do_compile () {
+ ${CC} ${CFLAGS} ${LDFLAGS} -o nuttcp nuttcp-${PV}.c
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0755 nuttcp ${D}${bindir}
+ install -m 0644 ${WORKDIR}/nuttcp@.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/nuttcp.socket ${D}${systemd_system_unitdir}
+}
+
+FILES_${PN} += " \
+ ${bindir} \
+ ${systemd_system_unitdir} \
+"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/nvmetcli/nvmetcli_0.7.bb b/external/meta-openembedded/meta-networking/recipes-support/nvmetcli/nvmetcli_0.7.bb
new file mode 100644
index 00000000..31f55e35
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/nvmetcli/nvmetcli_0.7.bb
@@ -0,0 +1,39 @@
+SUMMARY = "NVM-Express target user space configuration utility."
+DESCRIPTION = "This package contains the command line interface to the NVMe \
+over Fabrics nvmet in the Linux kernel. It allows configuring the nvmet \
+interactively as well as saving / restoring the configuration to / from a json \
+file."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+inherit systemd setuptools3
+
+# nvmet service will start and stop the NVMe Target configuration on boot and
+# shutdown from a saved NVMe Target configuration in the /etc/nvmet/config.json
+# file. This file is not installed by default since the configuration will vary
+# on real systems. Example configuration files are provided by including the
+# nvmetcli-examples package.
+SYSTEMD_SERVICE_${PN} = "nvmet.service"
+
+SYSTEMD_AUTO_ENABLE ?= "disable"
+
+RDEPENDS_${PN} += "python3 python3-six python3-pyparsing python3-configshell-fb"
+
+SRCREV = "0a6b088db2dc2e5de11e6f23f1e890e4b54fee64"
+SRC_URI = "git://git.infradead.org/users/hch/nvmetcli.git;branch=master"
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ # Install example configuration scripts.
+ install -d ${D}${datadir}/nvmet
+ cp -fr ${S}/examples ${D}${datadir}/nvmet/
+
+ # Install systemd service file.
+ install -d ${D}${systemd_unitdir}/system
+ cp -fr ${S}/nvmet.service ${D}${systemd_unitdir}/system
+}
+
+# Examples package contains example json files used to configure nvmet.
+PACKAGES += "${PN}-examples"
+FILES_${PN}-examples = "${datadir}/nvmet/examples/*"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch b/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch
deleted file mode 100644
index fbdc4e91..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e0d86318227a23f00cf0f6639a6685bb9f5771a1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 12 Dec 2017 09:42:19 -0800
-Subject: [PATCH] util.h: endian.h is available on musl on linux
-
-just checking for glibc alone is not enough since
-it excludes musl, therefore check for platform
-being linux as well
-
-Fixes build issues
-
-include/libisns/util.h:114:12: fatal error: sys/endian.h: No such file or directory
- # include <sys/endian.h>
- ^~~~~~~~~~~~~~
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/libisns/util.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/libisns/util.h b/include/libisns/util.h
-index 9a2bd13..6cc1a1b 100644
---- a/include/libisns/util.h
-+++ b/include/libisns/util.h
-@@ -100,7 +100,7 @@ enum {
- * There's no htonll yet
- */
- #ifndef htonll
--# ifdef __GLIBC__
-+# if defined(__GLIBC__) || defined(__linux__)
- # include <endian.h>
- # include <byteswap.h>
- # if __BYTE_ORDER == __BIG_ENDIAN
---
-2.15.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.98.bb b/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.98.bb
deleted file mode 100644
index 5e64f893..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.98.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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"
-
-SRC_URI = "git://github.com/open-iscsi/open-isns \
- file://0001-util.h-endian.h-is-available-on-musl-on-linux.patch \
- "
-
-SRCREV = "e84374ce7d1f5fc58a4c0fc751e075b2cc752c34"
-
-S = "${WORKDIR}/git"
-
-inherit systemd autotools-brokensep update-rc.d
-
-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
-
- install -D -m 755 ${S}/etc/openisns.init ${D}${sysconfdir}/init.d/openisns
- sed -i 's|daemon isnsd|start-stop-daemon --start --quiet --oknodo --exec ${sbindir}/isnsd --|' \
- ${D}${sysconfdir}/init.d/openisns
-}
-
-FILES_${PN} += "${libdir} ${systemd_unitdir}"
-
-INITSCRIPT_NAME = "openisns"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.99.bb b/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.99.bb
new file mode 100644
index 00000000..a03b92f5
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.99.bb
@@ -0,0 +1,38 @@
+# 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"
+
+SRC_URI = "git://github.com/open-iscsi/open-isns"
+
+SRCREV = "cfdbcff867ee580a71bc9c18c3a38a6057df0150"
+
+S = "${WORKDIR}/git"
+
+inherit systemd autotools-brokensep update-rc.d
+
+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
+
+ install -D -m 755 ${S}/etc/openisns.init ${D}${sysconfdir}/init.d/openisns
+ sed -i 's|daemon isnsd|start-stop-daemon --start --quiet --oknodo --exec ${sbindir}/isnsd --|' \
+ ${D}${sysconfdir}/init.d/openisns
+}
+
+FILES_${PN} += "${libdir} ${systemd_unitdir}"
+
+INITSCRIPT_NAME = "openisns"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
deleted file mode 100644
index d4e02be4..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
index 449142fc..24348842 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
@@ -1,18 +1,23 @@
-Author: Aws Ismail <aws.ismail@windriver.com>
-Date: Thu Jun 7 16:00:13 2012 -0400
+From 7854c60c92243adb14ea89e16fc226d2e47dd4f9 Mon Sep 17 00:00:00 2001
+From: Aws Ismail <aws.ismail@windriver.com>
+Date: Thu, 7 Jun 2012 16:00:13 -0400
+Subject: [PATCH] Fix symlink install error in cmdlang
- 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>
+This patch fixes the error during the install stage when
+creating a symbolic link for opeipmish in openipmi/cmdlang
-Index: OpenIPMI-2.0.24/cmdlang/Makefile.am
-===================================================================
---- OpenIPMI-2.0.24.orig/cmdlang/Makefile.am
-+++ OpenIPMI-2.0.24/cmdlang/Makefile.am
-@@ -35,6 +35,7 @@ openipmish_LDADD = libOpenIPMIcmdlang.l
+Upstream-Status: Pending
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+---
+ cmdlang/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am
+index 0ca3827..d9a941f 100644
+--- a/cmdlang/Makefile.am
++++ b/cmdlang/Makefile.am
+@@ -35,6 +35,7 @@ openipmish_LDADD = libOpenIPMIcmdlang.la \
# compatability.
install-data-local:
rm -f $(DESTDIR)$(bindir)/ipmish
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
index 082511a6..61b39995 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
@@ -1,12 +1,25 @@
+From 4f41e090e33a00117a27f0c77b6338fb8b495f37 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Jun 2017 21:58:32 -0700
+Subject: [PATCH] openipmi: Fix build with musl
+
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.24/ui/ui.c
-===================================================================
---- OpenIPMI-2.0.24.orig/ui/ui.c
-+++ OpenIPMI-2.0.24/ui/ui.c
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ui/ui.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ui/ui.c b/ui/ui.c
+index 529ff22..066d118 100644
+--- a/ui/ui.c
++++ b/ui/ui.c
@@ -42,6 +42,7 @@
#include <fcntl.h>
#include <time.h>
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
index 51a398ba..c4559c97 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
@@ -1,3 +1,6 @@
+From 6542ebe7a0d37dee8e9afb856feb8f6c3d334632 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] ipmi-init: fix the arguments
The functions success/failure/warning defined in /etc/init.d/functions
@@ -12,7 +15,7 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ipmi.init b/ipmi.init
-index 2ebcd94..d8161c5 100644
+index ea10b11..aac9f83 100644
--- a/ipmi.init
+++ b/ipmi.init
@@ -45,17 +45,17 @@ elif [ -r /etc/init.d/functions ]; then
@@ -36,6 +39,4 @@ index 2ebcd94..d8161c5 100644
echo
;;
*)
---
-1.9.1
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
index 1fa68f9b..858adc50 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
@@ -1,16 +1,19 @@
-Author: Aws Ismail <aws.ismail@windriver.com>
-Date: Thu Jun 7 12:28:34 2012 -0400
+From a6ffa3939a3ab2ad6a8d277cd8292b7dad6469c6 Mon Sep 17 00:00:00 2001
+From: Aws Ismail <aws.ismail@windriver.com>
+Date: Thu, 7 Jun 2012 12:28:34 -0400
+Subject: [PATCH] Do not build openipmigui man page
- 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>
+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>
+---
+ man/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/Makefile.am b/man/Makefile.am
index 632f55b..5ce79f5 100644
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
index 83485a9e..ce37d5eb 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
@@ -1,4 +1,4 @@
-From aa0dc0783a6ff5fb56c914b640836223e3c192bb Mon Sep 17 00:00:00 2001
+From 6395659ca6d64b20bf78bb640c2cc523d6c1d9c2 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
@@ -7,17 +7,15 @@ 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(-)
+ cmdlang/Makefile.am | 3 +--
+ unix/Makefile.am | 6 ++----
+ 2 files changed, 3 insertions(+), 6 deletions(-)
-Index: OpenIPMI-2.0.24/cmdlang/Makefile.am
-===================================================================
---- OpenIPMI-2.0.24.orig/cmdlang/Makefile.am
-+++ OpenIPMI-2.0.24/cmdlang/Makefile.am
-@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.
+diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am
+index d9a941f..21b9531 100644
+--- a/cmdlang/Makefile.am
++++ b/cmdlang/Makefile.am
+@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.c cmd_domain.c cmd_entity.c cmd_mc.c \
libOpenIPMIcmdlang_la_LIBADD = -lm \
$(top_builddir)/utils/libOpenIPMIutils.la \
$(top_builddir)/lib/libOpenIPMI.la
@@ -27,11 +25,11 @@ Index: OpenIPMI-2.0.24/cmdlang/Makefile.am
bin_PROGRAMS = openipmish
-Index: OpenIPMI-2.0.24/unix/Makefile.am
-===================================================================
---- OpenIPMI-2.0.24.orig/unix/Makefile.am
-+++ OpenIPMI-2.0.24/unix/Makefile.am
-@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la li
+diff --git a/unix/Makefile.am b/unix/Makefile.am
+index 5128839..bd0f897 100644
+--- a/unix/Makefile.am
++++ b/unix/Makefile.am
+@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la libOpenIPMIpthread.la
libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c
libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \
$(top_builddir)/utils/libOpenIPMIutils.la $(RT_LIB)
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch b/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch
deleted file mode 100644
index 38940759..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-openipmi load swig/python/.libs/_OpenIPMI.so to create .pyc and .pyo files.
-It fails when multilib is enable:
-
-| ImportError: .../lib32-openipmi/2.0.25-r0/OpenIPMI-2.0.25/swig/python/.libs/_OpenIPMI.so: wrong ELF class: ELFCLASS32
-
-Don't compile and install .pyc and .pyo files to fix the failure.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-diff --git a/swig/python/openipmigui/Makefile.am b/swig/python/openipmigui/Makefile.am
-index 570e7b9..88258bf 100644
---- a/swig/python/openipmigui/Makefile.am
-+++ b/swig/python/openipmigui/Makefile.am
-@@ -34,9 +34,9 @@ localcopy:
- fi \
- done
-
--all-local: localcopy $(PYC_FILES) $(PYO_FILES)
-+all-local: localcopy
-
--install-exec-local: $(EXTRA_DIST) $(PYC_FILES) $(PYO_FILES)
-+install-exec-local: $(EXTRA_DIST)
- $(INSTALL) -d $(DESTDIR)$(PYTHON_INSTALL_DIR)/openipmigui
- $(INSTALL_DATA) $^ $(DESTDIR)$(PYTHON_INSTALL_DIR)/openipmigui
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb b/external/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb
deleted file mode 100644
index d28ebd48..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb
+++ /dev/null
@@ -1,110 +0,0 @@
-SUMMARY = "IPMI (Intelligent Platform Management Interface) library and tools"
-DESCRIPTION = "OpenIPMI is an effort to create a full-function IPMI system, \
-to allow full access to all IPMI information on a server \
-and to abstract it to a level that will make it easy to use"
-
-HOMEPAGE = "http://openipmi.sourceforge.net"
-
-DEPENDS = " \
- glib-2.0 \
- ncurses \
- net-snmp \
- openssl \
- popt \
- python \
- swig-native \
- "
-
-LICENSE = "GPLv2 & LGPLv2.1 & BSD"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://COPYING.BSD;md5=4b318d4160eb69c8ee53452feb1b4cdf \
- "
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \
- file://fix-symlink-install-error-in-cmdlang.patch \
- file://openipmi-no-openipmigui-man.patch \
- file://openipmi-remove-host-path-from-la_LDFLAGS.patch \
- file://ipmi-init-fix-the-arguments.patch \
- file://do-not-install-pyc-and-pyo.patch \
- file://include_sys_types.patch \
- file://openipmigui-not-compile-pyc-pyo.patch \
- file://openipmi-helper \
- file://ipmi.service \
- "
-
-S = "${WORKDIR}/OpenIPMI-${PV}"
-SRC_URI[md5sum] = "1461ac4d78fc516646fd0a6e605a8b05"
-SRC_URI[sha256sum] = "f0f1a0ec732409930b7a31a6daa6cf39b585f52059b62a5f092b7ece21aa75a5"
-
-inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd
-
-EXTRA_OECONF = "--disable-static \
- --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \
- --with-python='${STAGING_BINDIR_NATIVE}/python-native/python' \
- --with-pythoninstall='${PYTHON_SITEPACKAGES_DIR}' \
- --with-glibver=2.0"
-
-PACKAGECONFIG ??= "gdbm"
-PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm,"
-
-PACKAGES += "${PN}-perl ${PN}-python"
-
-FILES_${PN}-perl = " \
- ${libdir}/perl/vendor_perl/*/OpenIPMI.pm \
- ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/OpenIPMI.so \
- "
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES_${PN}-dbg += " \
- ${libdir}/perl/vendor_perl/*/auto/OpenIPMI/.debug \
- ${PYTHON_SITEPACKAGES_DIR}/.debug \
- "
-
-do_configure () {
-
- # Let's perform regular configuration first then handle perl issues.
- autotools_do_configure
-
- perl_ver=`perl -V:version | cut -d\' -f 2`
-
- # Force openipmi perl bindings to be compiled using perl-native instead of
- # the host's perl. Set the proper install directory for the resulting
- # openipmi.pm and openipmi.so
- for i in ${S}/swig/Makefile ${S}/swig/perl/Makefile; do
- echo "SAL: i = $i"
- echo "SAL: STAGING_INCDIR_NATIVE = $STAGING_INCDIR_NATIVE"
- echo "SAL: libdir = $libdir"
- sed -i -e "/^PERL_CFLAGS/s:-I/usr/local/include:-I${STAGING_INCDIR_NATIVE}:g" $i
- sed -i -e "/^PERL_INSTALL_DIR/s:^PERL_INSTALL_DIR = .*:PERL_INSTALL_DIR = ${libdir}/perl/vendor_perl/$perl_ver:g" $i
- done
-}
-
-do_install_append () {
- echo "SAL: D = $D"
- echo "SAL: libdir = $libdir"
- install -m 0755 -d ${D}${sysconfdir}/sysconfig ${D}${sysconfdir}/init.d
- install -m 0755 ${S}/ipmi.init ${D}${sysconfdir}/init.d/ipmi
- install -m 0644 ${S}/ipmi.sysconf ${D}${sysconfdir}/sysconfig/ipmi
- # SAL: mv: cannot stat `/localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/openipmi-2.0.19-r4/image/usr/lib64/perl5': No such file or directory
- # SAL: real path to perl is /localdisk/loadbuild/slittle1/workspace/cgts_test_build/bitbake_build/tmp/work/x86_64-wrs-linux/perl-5.14.2-r8.3/package/usr/lib64/perl5 and it is a symlink to perl so no need to mv.
- if [ -d ${D}${libdir}/perl5 ]
- then
- mv ${D}${libdir}/perl5 ${D}${libdir}/perl
- fi
-
- # for systemd
- install -d ${D}${systemd_unitdir}/system
- install -m 0664 ${WORKDIR}/ipmi.service ${D}${systemd_unitdir}/system
- sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/ipmi.service
- install -d ${D}${libexecdir}
- install -m 0755 ${WORKDIR}/openipmi-helper ${D}${libexecdir}
-}
-
-INITSCRIPT_NAME = "ipmi"
-INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ."
-
-SYSTEMD_SERVICE_${PN} = "ipmi.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.29.bb b/external/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.29.bb
new file mode 100644
index 00000000..85634a70
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.29.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 \
+ python3 \
+ swig-native \
+ readline \
+ "
+
+LICENSE = "GPLv2 & LGPLv2.1 & BSD"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.BSD;md5=4b318d4160eb69c8ee53452feb1b4cdf \
+ "
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \
+ file://fix-symlink-install-error-in-cmdlang.patch \
+ file://openipmi-no-openipmigui-man.patch \
+ file://openipmi-remove-host-path-from-la_LDFLAGS.patch \
+ file://ipmi-init-fix-the-arguments.patch \
+ file://include_sys_types.patch \
+ file://openipmi-helper \
+ file://ipmi.service \
+ "
+
+S = "${WORKDIR}/OpenIPMI-${PV}"
+
+SRC_URI[md5sum] = "46b452e95d69c92e4172b3673ed88d52"
+SRC_URI[sha256sum] = "2244124579afb14e569f34393e9ac61e658a28b6ffa8e5c0d2c1c12a8ce695cd"
+
+inherit autotools-brokensep pkgconfig python3native perlnative update-rc.d systemd cpan-base
+
+EXTRA_OECONF = "--disable-static \
+ --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \
+ --with-python='${STAGING_BINDIR_NATIVE}/python3-native/python3' \
+ --with-pythoninstall='${PYTHON_SITEPACKAGES_DIR}' \
+ --with-glibver=2.0"
+
+PACKAGECONFIG ??= "gdbm"
+PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm,"
+
+PACKAGES += "${PN}-perl ${PN}-python"
+PRIVATE_LIBS_${PN}-perl = "libOpenIPMI.so.0"
+
+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_CFLAGS/s:-I .* :-I ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE :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/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn b/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn
index a3cd6a2f..e5af4b23 100755
--- a/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn
+++ b/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn
@@ -4,6 +4,7 @@
# <rob@mars.org>, edited by iwj and cs
# Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as>
# Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net>
+# Modified for respecting pid file on service start by Fabian Klemp <fabian.klemp@axino-group.com>
test $DEBIAN_SCRIPT_DEBUG && set -v -x
@@ -14,10 +15,17 @@ test -d $CONFIG_DIR || exit 0
start_vpn () {
modprobe tun >/dev/null 2>&1 || true
- $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \
- --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->"
+ start-stop-daemon --start --quiet --pidfile /var/run/openvpn.$NAME.pid \
+ --exec $DAEMON -- \
+ --daemon --writepid /var/run/openvpn.$NAME.pid \
+ --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || rc="$?"
+ case $rc in
+ 1) echo -n " ALREADY STARTED->";;
+ 3) echo -n " FAILED->";;
+ esac
echo -n " $NAME"
}
+
stop_vpn () {
kill `cat $PIDFILE` || true
rm $PIDFILE
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.6.bb b/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.6.bb
deleted file mode 100644
index 84fd467c..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.6.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "A full-featured SSL VPN solution via tun device."
-HOMEPAGE = "http://openvpn.sourceforge.net"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7aee596ed2deefe3e8a861e24292abba"
-DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-inherit autotools systemd update-rc.d
-
-SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
- file://openvpn \
- file://openvpn@.service \
- file://openvpn-volatile.conf"
-
-SRC_URI[md5sum] = "971d57e29b78b4b902eb2f4aae2f05a7"
-SRC_URI[sha256sum] = "738dbd37fcf8eb9382c53628db22258c41ba9550165519d9200e8bebaef4cbe2"
-
-SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "openvpn"
-INITSCRIPT_PARAMS_${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ."
-
-CFLAGS += "-fno-inline"
-
-# I want openvpn to be able to read password from file (hrw)
-EXTRA_OECONF += "--enable-iproute2"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
-
-# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
-EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
-
- install -d ${D}/${sysconfdir}/openvpn
- install -d ${D}/${sysconfdir}/openvpn/sample
- install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
- install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
- install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
- install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service
- install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service
-
- install -d ${D}/${localstatedir}
- install -d ${D}/${localstatedir}/lib
- install -d -m 710 ${D}/${localstatedir}/lib/openvpn
-
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
- sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
- fi
-}
-
-PACKAGES =+ " ${PN}-sample "
-
-RRECOMMENDS_${PN} = "kernel-module-tun"
-
-FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
-FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \
- ${sysconfdir}/tmpfiles.d \
- "
-FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \
- ${systemd_unitdir}/system/openvpn@loopback-client.service \
- ${sysconfdir}/openvpn/sample/"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.9.bb b/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.9.bb
new file mode 100644
index 00000000..529e3912
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.9.bb
@@ -0,0 +1,73 @@
+SUMMARY = "A full-featured SSL VPN solution via tun device."
+HOMEPAGE = "https://openvpn.net/"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7aee596ed2deefe3e8a861e24292abba"
+DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+inherit autotools systemd update-rc.d
+
+SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
+ file://openvpn \
+ file://openvpn@.service \
+ file://openvpn-volatile.conf"
+
+UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads"
+
+SRC_URI[md5sum] = "52863fa9b98e5a3d7f8bec1d5785a2ba"
+SRC_URI[sha256sum] = "46b268ef88e67ca6de2e9f19943eb9e5ac8544e55f5c1f3af677298d03e64b6e"
+
+SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "openvpn"
+INITSCRIPT_PARAMS_${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ."
+
+CFLAGS += "-fno-inline"
+
+# I want openvpn to be able to read password from file (hrw)
+EXTRA_OECONF += "--enable-iproute2"
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
+
+# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
+EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
+
+ install -d ${D}/${sysconfdir}/openvpn
+ install -d ${D}/${sysconfdir}/openvpn/sample
+ install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
+ install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
+ install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
+ install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service
+ install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service
+
+ install -d ${D}/${localstatedir}
+ install -d ${D}/${localstatedir}/lib
+ install -d -m 710 ${D}/${localstatedir}/lib/openvpn
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
+ fi
+}
+
+PACKAGES =+ " ${PN}-sample "
+
+RRECOMMENDS_${PN} = "kernel-module-tun"
+
+FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
+FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \
+ ${sysconfdir}/tmpfiles.d \
+ "
+FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \
+ ${systemd_unitdir}/system/openvpn@loopback-client.service \
+ ${sysconfdir}/openvpn/sample/"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/phytool/phytool.bb b/external/meta-openembedded/meta-networking/recipes-support/phytool/phytool.bb
index 4ed3ed1e..29499d6d 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/phytool/phytool.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/phytool/phytool.bb
@@ -2,8 +2,8 @@ SUMMARY = "PHY interface tool for Linux"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
-PV = "1.0.1+git${SRCPV}"
-SRCREV = "3149bfdb4f513e2f0da0a7d0bc5d0873578696f2"
+PV = "2+git${SRCPV}"
+SRCREV = "8882328c08ba2efb13c049812098f1d0cb8adf0c"
SRC_URI = "git://github.com/wkz/phytool.git"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch
index 4b595613..feed0213 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch
@@ -14,14 +14,67 @@ Fixes errors
| cmake_install.cmake:48 (include)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Update for version 26.1. Remove more man files which can no be built.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
- libibumad/man/CMakeLists.txt | 1 -
- libibverbs/man/CMakeLists.txt | 15 ---------------
- providers/mlx5/man/CMakeLists.txt | 1 -
- 3 files changed, 17 deletions(-)
+ infiniband-diags/man/CMakeLists.txt | 34 -------------------
+ libibumad/man/CMakeLists.txt | 2 --
+ libibverbs/man/CMakeLists.txt | 52 -----------------------------
+ librdmacm/man/CMakeLists.txt | 2 --
+ providers/efa/man/CMakeLists.txt | 2 --
+ providers/mlx4/man/CMakeLists.txt | 1 -
+ providers/mlx5/man/CMakeLists.txt | 65 -------------------------------------
+ 7 files changed, 158 deletions(-)
+diff --git a/infiniband-diags/man/CMakeLists.txt b/infiniband-diags/man/CMakeLists.txt
+index 1f1f91c9..094a389f 100644
+--- a/infiniband-diags/man/CMakeLists.txt
++++ b/infiniband-diags/man/CMakeLists.txt
+@@ -46,40 +46,6 @@ rdma_rst_common(
+ )
+
+ rdma_man_pages(
+- check_lft_balance.8.in.rst
+- dump_fts.8.in.rst
+- ibaddr.8.in.rst
+- ibcacheedit.8.in.rst
+- ibccconfig.8.in.rst
+- ibccquery.8.in.rst
+- ibfindnodesusing.8.in.rst
+- ibhosts.8.in.rst
+- ibidsverify.8.in.rst
+- iblinkinfo.8.in.rst
+- ibnetdiscover.8.in.rst
+- ibnodes.8.in.rst
+- ibping.8.in.rst
+- ibportstate.8.in.rst
+- ibqueryerrors.8.in.rst
+- ibroute.8.in.rst
+- ibrouters.8.in.rst
+- ibstat.8.in.rst
+- ibstatus.8.in.rst
+- ibswitches.8.in.rst
+- ibsysstat.8.in.rst
+- ibtracert.8.in.rst
+- infiniband-diags.8.in.rst
+- perfquery.8.in.rst
+- saquery.8.in.rst
+- sminfo.8.in.rst
+- smpdump.8.in.rst
+- smpquery.8.in.rst
+- vendstat.8.in.rst
+- )
+-
+-rdma_alias_man_pages(
+- dump_fts.8 dump_lfts.8
+- dump_fts.8 dump_mfts.8
+ )
+
+ if (ENABLE_IBDIAGS_COMPAT)
diff --git a/libibumad/man/CMakeLists.txt b/libibumad/man/CMakeLists.txt
-index 185584a0..ac45a4e9 100644
+index 185584a0..857a4b8b 100644
--- a/libibumad/man/CMakeLists.txt
+++ b/libibumad/man/CMakeLists.txt
@@ -15,7 +15,6 @@ rdma_man_pages(
@@ -32,19 +85,34 @@ index 185584a0..ac45a4e9 100644
umad_open_port.3
umad_poll.3
umad_recv.3
+@@ -38,5 +37,4 @@ rdma_alias_man_pages(
+ umad_class_str.3 umad_method_str.3
+ umad_get_ca.3 umad_release_ca.3
+ umad_get_port.3 umad_release_port.3
+- umad_init.3 umad_done.3
+ )
diff --git a/libibverbs/man/CMakeLists.txt b/libibverbs/man/CMakeLists.txt
-index 86dd49de..b54675be 100644
+index e1d5edf8..92c68611 100644
--- a/libibverbs/man/CMakeLists.txt
+++ b/libibverbs/man/CMakeLists.txt
-@@ -5,7 +5,6 @@ rdma_man_pages(
+@@ -1,24 +1,18 @@
+ rdma_man_pages(
+- ibv_advise_mr.3.md
+ ibv_alloc_dm.3
+ ibv_alloc_mw.3
+- ibv_alloc_null_mr.3.md
+ ibv_alloc_parent_domain.3
ibv_alloc_pd.3
ibv_alloc_td.3
ibv_asyncwatch.1
+- ibv_attach_counters_point_flow.3.md
- ibv_attach_mcast.3.md
ibv_bind_mw.3
ibv_create_ah.3
ibv_create_ah_from_wc.3
-@@ -14,7 +13,6 @@ rdma_man_pages(
+ ibv_create_comp_channel.3
+- ibv_create_counters.3.md
+ ibv_create_cq.3
ibv_create_cq_ex.3
ibv_modify_cq.3
ibv_create_flow.3
@@ -52,7 +120,7 @@ index 86dd49de..b54675be 100644
ibv_create_qp.3
ibv_create_qp_ex.3
ibv_create_rwq_ind_table.3
-@@ -23,15 +21,9 @@ rdma_man_pages(
+@@ -27,16 +21,8 @@ rdma_man_pages(
ibv_create_wq.3
ibv_devices.1
ibv_devinfo.1
@@ -61,14 +129,15 @@ index 86dd49de..b54675be 100644
ibv_get_async_event.3
ibv_get_cq_event.3
- ibv_get_device_guid.3.md
- ibv_get_device_list.3
+- ibv_get_device_list.3.md
- ibv_get_device_name.3.md
+- ibv_get_pkey_index.3.md
- ibv_get_srq_num.3.md
- ibv_inc_rkey.3.md
ibv_modify_qp.3
ibv_modify_qp_rate_limit.3
ibv_modify_srq.3
-@@ -46,19 +38,12 @@ rdma_man_pages(
+@@ -51,24 +37,15 @@ rdma_man_pages(
ibv_post_srq_recv.3
ibv_query_device.3
ibv_query_device_ex.3
@@ -81,6 +150,7 @@ index 86dd49de..b54675be 100644
- ibv_rate_to_mbps.3.md
- ibv_rate_to_mult.3.md
ibv_rc_pingpong.1
+- ibv_read_counters.3.md
ibv_reg_mr.3
- ibv_req_notify_cq.3.md
- ibv_rereg_mr.3.md
@@ -88,16 +158,184 @@ index 86dd49de..b54675be 100644
ibv_srq_pingpong.1
ibv_uc_pingpong.1
ibv_ud_pingpong.1
+- ibv_wr_post.3.md
+ ibv_xsrq_pingpong.1
+ )
+ rdma_alias_man_pages(
+@@ -79,47 +56,18 @@ rdma_alias_man_pages(
+ ibv_alloc_mw.3 ibv_dealloc_mw.3
+ ibv_alloc_pd.3 ibv_dealloc_pd.3
+ ibv_alloc_td.3 ibv_dealloc_td.3
+- ibv_attach_mcast.3 ibv_detach_mcast.3
+ ibv_create_ah.3 ibv_destroy_ah.3
+ ibv_create_ah_from_wc.3 ibv_init_ah_from_wc.3
+ ibv_create_comp_channel.3 ibv_destroy_comp_channel.3
+- ibv_create_counters.3 ibv_destroy_counters.3
+ ibv_create_cq.3 ibv_destroy_cq.3
+ ibv_create_flow.3 ibv_destroy_flow.3
+- ibv_create_flow_action.3 ibv_destroy_flow_action.3
+- ibv_create_flow_action.3 ibv_modify_flow_action.3
+ ibv_create_qp.3 ibv_destroy_qp.3
+ ibv_create_rwq_ind_table.3 ibv_destroy_rwq_ind_table.3
+ ibv_create_srq.3 ibv_destroy_srq.3
+ ibv_create_wq.3 ibv_destroy_wq.3
+- ibv_event_type_str.3 ibv_node_type_str.3
+- ibv_event_type_str.3 ibv_port_state_str.3
+ ibv_get_async_event.3 ibv_ack_async_event.3
+ ibv_get_cq_event.3 ibv_ack_cq_events.3
+- ibv_get_device_list.3 ibv_free_device_list.3
+ ibv_open_device.3 ibv_close_device.3
+ ibv_open_xrcd.3 ibv_close_xrcd.3
+- ibv_rate_to_mbps.3 mbps_to_ibv_rate.3
+- ibv_rate_to_mult.3 mult_to_ibv_rate.3
+ ibv_reg_mr.3 ibv_dereg_mr.3
+- ibv_wr_post.3 ibv_wr_abort.3
+- ibv_wr_post.3 ibv_wr_complete.3
+- ibv_wr_post.3 ibv_wr_start.3
+- ibv_wr_post.3 ibv_wr_atomic_cmp_swp.3
+- ibv_wr_post.3 ibv_wr_atomic_fetch_add.3
+- ibv_wr_post.3 ibv_wr_bind_mw.3
+- ibv_wr_post.3 ibv_wr_local_inv.3
+- ibv_wr_post.3 ibv_wr_rdma_read.3
+- ibv_wr_post.3 ibv_wr_rdma_write.3
+- ibv_wr_post.3 ibv_wr_rdma_write_imm.3
+- ibv_wr_post.3 ibv_wr_send.3
+- ibv_wr_post.3 ibv_wr_send_imm.3
+- ibv_wr_post.3 ibv_wr_send_inv.3
+- ibv_wr_post.3 ibv_wr_send_tso.3
+- ibv_wr_post.3 ibv_wr_set_inline_data.3
+- ibv_wr_post.3 ibv_wr_set_inline_data_list.3
+- ibv_wr_post.3 ibv_wr_set_sge.3
+- ibv_wr_post.3 ibv_wr_set_sge_list.3
+- ibv_wr_post.3 ibv_wr_set_ud_addr.3
+- ibv_wr_post.3 ibv_wr_set_xrc_srqn.3
+ )
+diff --git a/librdmacm/man/CMakeLists.txt b/librdmacm/man/CMakeLists.txt
+index 2d1efbff..d016c926 100644
+--- a/librdmacm/man/CMakeLists.txt
++++ b/librdmacm/man/CMakeLists.txt
+@@ -20,7 +20,6 @@ rdma_man_pages(
+ rdma_destroy_qp.3
+ rdma_destroy_srq.3
+ rdma_disconnect.3
+- rdma_establish.3.md
+ rdma_event_str.3
+ rdma_free_devices.3
+ rdma_get_cm_event.3
+@@ -33,7 +32,6 @@ rdma_man_pages(
+ rdma_get_send_comp.3
+ rdma_get_src_port.3
+ rdma_getaddrinfo.3
+- rdma_init_qp_attr.3.md
+ rdma_join_multicast.3
+ rdma_join_multicast_ex.3
+ rdma_leave_multicast.3
+diff --git a/providers/efa/man/CMakeLists.txt b/providers/efa/man/CMakeLists.txt
+index d6a4f57b..376f293d 100644
+--- a/providers/efa/man/CMakeLists.txt
++++ b/providers/efa/man/CMakeLists.txt
+@@ -1,4 +1,2 @@
+ rdma_man_pages(
+- efadv_create_driver_qp.3.md
+- efadv.7.md
+ )
+diff --git a/providers/mlx4/man/CMakeLists.txt b/providers/mlx4/man/CMakeLists.txt
+index 3df77caf..99a75101 100644
+--- a/providers/mlx4/man/CMakeLists.txt
++++ b/providers/mlx4/man/CMakeLists.txt
+@@ -1,6 +1,5 @@
+ rdma_man_pages(
+ mlx4dv_init_obj.3
+ mlx4dv_query_device.3
+- mlx4dv_set_context_attr.3.md
+ mlx4dv.7
+ )
diff --git a/providers/mlx5/man/CMakeLists.txt b/providers/mlx5/man/CMakeLists.txt
-index cdc7115e..876b6fcf 100644
+index 0bd9eba1..876b6fcf 100644
--- a/providers/mlx5/man/CMakeLists.txt
+++ b/providers/mlx5/man/CMakeLists.txt
-@@ -1,5 +1,4 @@
+@@ -1,81 +1,7 @@
rdma_man_pages(
+- mlx5dv_alloc_dm.3.md
+- mlx5dv_alloc_var.3.md
+- mlx5dv_create_cq.3.md
+- mlx5dv_create_flow.3.md
+- mlx5dv_create_flow_action_modify_header.3.md
+- mlx5dv_create_flow_action_packet_reformat.3.md
+- mlx5dv_create_flow_matcher.3.md
+- mlx5dv_create_mkey.3.md
+- mlx5dv_create_qp.3.md
+- mlx5dv_devx_alloc_uar.3.md
+- mlx5dv_devx_create_cmd_comp.3.md
+- mlx5dv_devx_create_event_channel.3.md
+- mlx5dv_devx_get_event.3.md
+- mlx5dv_devx_obj_create.3.md
+- mlx5dv_devx_qp_modify.3.md
+- mlx5dv_devx_query_eqn.3.md
+- mlx5dv_devx_subscribe_devx_event.3.md
+- mlx5dv_devx_umem_reg.3.md
+- mlx5dv_dr_flow.3.md
+- mlx5dv_dump.3.md
- mlx5dv_flow_action_esp.3.md
mlx5dv_get_clock_info.3
mlx5dv_init_obj.3
+- mlx5dv_is_supported.3.md
+- mlx5dv_open_device.3.md
mlx5dv_query_device.3
+ mlx5dv_ts_to_ns.3
+- mlx5dv_wr_post.3.md
+ mlx5dv.7
+ )
+-rdma_alias_man_pages(
+- mlx5dv_alloc_var.3 mlx5dv_free_var.3
+- mlx5dv_create_mkey.3 mlx5dv_destroy_mkey.3
+- mlx5dv_devx_alloc_uar.3 mlx5dv_devx_free_uar.3
+- mlx5dv_devx_create_cmd_comp.3 mlx5dv_devx_destroy_cmd_comp.3
+- mlx5dv_devx_create_event_channel.3 mlx5dv_devx_destroy_event_channel.3
+- mlx5dv_devx_create_cmd_comp.3 mlx5dv_devx_get_async_cmd_comp.3
+- mlx5dv_devx_obj_create.3 mlx5dv_devx_general_cmd.3
+- mlx5dv_devx_obj_create.3 mlx5dv_devx_obj_destroy.3
+- mlx5dv_devx_obj_create.3 mlx5dv_devx_obj_query.3
+- mlx5dv_devx_obj_create.3 mlx5dv_devx_obj_query_async.3
+- mlx5dv_devx_obj_create.3 mlx5dv_devx_obj_modify.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_qp_query.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_cq_modify.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_cq_query.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_wq_modify.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_wq_query.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_srq_modify.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_srq_query.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_ind_tbl_modify.3
+- mlx5dv_devx_qp_modify.3 mlx5dv_devx_ind_tbl_query.3
+- mlx5dv_devx_subscribe_devx_event.3 mlx5dv_devx_subscribe_devx_event_fd.3
+- mlx5dv_devx_umem_reg.3 mlx5dv_devx_umem_dereg.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_dest_table.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_dest_ibv_qp.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_dest_vport.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_flow_counter.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_drop.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_flow_meter.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_modify_header.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_packet_reformat.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_tag.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_destroy.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_action_modify_flow_meter.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_domain_create.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_domain_destroy.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_domain_sync.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_matcher_create.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_matcher_destroy.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_rule_create.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_rule_destroy.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_table_create.3
+- mlx5dv_dr_flow.3 mlx5dv_dr_table_destroy.3
+- mlx5dv_dump.3 mlx5dv_dump_dr_domain.3
+- mlx5dv_dump.3 mlx5dv_dump_dr_matcher.3
+- mlx5dv_dump.3 mlx5dv_dump_dr_rule.3
+- mlx5dv_dump.3 mlx5dv_dump_dr_table.3
+- mlx5dv_wr_post.3 mlx5dv_wr_set_dc_addr.3
+- mlx5dv_wr_post.3 mlx5dv_qp_ex_from_ibv_qp_ex.3
+-)
--
2.17.1
diff --git a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch
deleted file mode 100644
index b04c9b72..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f2df1db11f3a9580774300e703b6f53dbcdb28ef Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jun 2018 20:17:57 -0700
-Subject: [PATCH] S_IFSOCK is defined in both glibc/musl
-
-Fixes
-
-preload.c:1183:46: error: '__S_IFSOCK' undeclared (first use in this function); did you mean 'S_IFSOCK'?
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- librdmacm/preload.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/librdmacm/preload.c b/librdmacm/preload.c
-index 0f2aa250..d46beb1b 100644
---- a/librdmacm/preload.c
-+++ b/librdmacm/preload.c
-@@ -1180,7 +1180,7 @@ int __fxstat(int ver, int socket, struct stat *buf)
- if (fd_get(socket, &fd) == fd_rsocket) {
- ret = real.fxstat(ver, socket, buf);
- if (!ret)
-- buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK;
-+ buf->st_mode = (buf->st_mode & ~S_IFMT) | S_IFSOCK;
- } else {
- ret = real.fxstat(ver, fd, buf);
- }
diff --git a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-endian.h-for-htole32-and-friends.patch b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-endian.h-for-htole32-and-friends.patch
deleted file mode 100644
index aa335244..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-endian.h-for-htole32-and-friends.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 65b9a47c07be4611b4fbbcafff1993186bcb0537 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 12 Jun 2018 19:15:52 -0700
-Subject: [PATCH 1/2] include endian.h for htole32 and friends
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- providers/hns/hns_roce_u.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h
-index bd66c6e7..b07424db 100644
---- a/providers/hns/hns_roce_u.h
-+++ b/providers/hns/hns_roce_u.h
-@@ -34,6 +34,7 @@
- #define _HNS_ROCE_U_H
-
- #include <stddef.h>
-+#include <endian.h>
- #include <util/compiler.h>
-
- #include <infiniband/driver.h>
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-Remove-unused-include-for-execinfo.h.patch b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-Remove-unused-include-for-execinfo.h.patch
deleted file mode 100644
index 347f964e..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-Remove-unused-include-for-execinfo.h.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3d9cae15c69c0b3260a024ad5d6802a8d85515a2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 12 Jun 2018 19:18:24 -0700
-Subject: [PATCH 2/2] Remove unused include for execinfo.h
-
-Fixes build on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- providers/qedr/qelr_verbs.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/providers/qedr/qelr_verbs.c b/providers/qedr/qelr_verbs.c
-index e3b01f28..2ee1c832 100644
---- a/providers/qedr/qelr_verbs.c
-+++ b/providers/qedr/qelr_verbs.c
-@@ -54,7 +54,6 @@
-
- #include <stdio.h>
- #include <stdlib.h>
--#include <execinfo.h>
-
- #define QELR_SQE_ELEMENT_SIZE (sizeof(struct rdma_sq_sge))
- #define QELR_RQE_ELEMENT_SIZE (sizeof(struct rdma_rq_sge))
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-neigh.c-Do-not-include-net-if_packet.h.patch b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-neigh.c-Do-not-include-net-if_packet.h.patch
deleted file mode 100644
index e887f222..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-neigh.c-Do-not-include-net-if_packet.h.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 82486f7e1ee2aa07a5c12cb357834993aa8c1d20 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jun 2018 20:19:13 -0700
-Subject: [PATCH] neigh.c: Do not include net/if_packet.h
-
-This header is glibc specific
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libibverbs/neigh.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/libibverbs/neigh.c b/libibverbs/neigh.c
-index 21177db0..cfc593a0 100644
---- a/libibverbs/neigh.c
-+++ b/libibverbs/neigh.c
-@@ -2,7 +2,6 @@
- */
-
- #include "config.h"
--#include <net/if_packet.h>
- #include <linux/netlink.h>
- #include <linux/rtnetlink.h>
- #include <endian.h>
diff --git a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_18.1.bb b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_18.1.bb
deleted file mode 100644
index 6ad864d1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_18.1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Userspace support for InfiniBand/RDMA verbs"
-DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem."
-SECTION = "libs"
-
-DEPENDS = "libnl"
-RDEPENDS_${PN} = "bash perl"
-
-SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=stable-v18 \
- file://0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch \
- file://0002-neigh.c-Do-not-include-net-if_packet.h.patch \
- file://0001-include-endian.h-for-htole32-and-friends.patch \
- file://0002-Remove-unused-include-for-execinfo.h.patch \
- file://0001-Remove-man-files-which-cant-be-built.patch \
- "
-SRCREV = "7844b3fbe5120623d63b29ecb43eb83a61129658"
-S = "${WORKDIR}/git"
-
-#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md
-LICENSE = "BSD-2-Clause | GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \
- file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-
-FILES_SOLIBSDEV = ""
-FILES_${PN} += "${libdir}/*"
-INSANE_SKIP_${PN} += "dev-so"
-
-inherit cmake
-
-OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_28.0.bb b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_28.0.bb
new file mode 100644
index 00000000..15fd7ff6
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_28.0.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Userspace support for InfiniBand/RDMA verbs"
+DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem."
+SECTION = "libs"
+
+DEPENDS = "libnl"
+RDEPENDS_${PN} = "bash perl"
+
+BRANCH = "stable-v${@d.getVar('PV').split('.')[0]}"
+SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=${BRANCH} \
+ file://0001-Remove-man-files-which-cant-be-built.patch \
+ "
+SRCREV = "f12c953f0864691eacc9fcc4cda489b92ffd5a85"
+S = "${WORKDIR}/git"
+
+#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md
+LICENSE = "BSD-2-Clause | GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \
+ file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+EXTRA_OECMAKE = " \
+ -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \
+ -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \
+"
+
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "${libdir}/*"
+INSANE_SKIP_${PN} += "dev-so"
+
+inherit cmake cpan-base systemd
+
+SYSTEMD_SERVICE_${PN} = " \
+ srp_daemon.service \
+ iwpmd.service \
+ ibacm.socket \
+ rdma-load-modules@.service \
+ srp_daemon_port@.service \
+ rdma-hw.target \
+ ibacm.service \
+"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Fix-build-with-format-string-checks.patch b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Fix-build-with-format-string-checks.patch
index f8eb3ae6..8ca26b51 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Fix-build-with-format-string-checks.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Fix-build-with-format-string-checks.patch
@@ -15,11 +15,9 @@ 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)
+@@ -415,7 +415,7 @@ int ruli_in_print(FILE *out, const _ruli
{
switch (family) {
case PF_INET:
@@ -28,6 +26,25 @@ index 00d5d0d..f1eabae 100644
case PF_INET6:
return ruli_inet6_print(out, &addr->ipv6);
---
-2.13.1
-
+--- a/sample/getaddrinfo.c
++++ b/sample/getaddrinfo.c
+@@ -174,7 +174,7 @@ static void solve(const char *fullname)
+
+ for (ai = ai_res; ai; ai = ai->ai_next) {
+
+- printf(fullname);
++ printf("%s", fullname);
+
+ switch (ai->ai_family) {
+ case PF_INET:
+--- a/sample/ruli-getaddrinfo.c
++++ b/sample/ruli-getaddrinfo.c
+@@ -176,7 +176,7 @@ static void solve(const char *fullname)
+
+ for (ai = ai_res; ai; ai = ai->ai_next) {
+
+- printf(fullname);
++ printf("%s", fullname);
+
+ switch (ai->ai_family) {
+ case PF_INET:
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Make-space-for-flags-from-environment.patch b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Make-space-for-flags-from-environment.patch
new file mode 100644
index 00000000..c3ca07a3
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Make-space-for-flags-from-environment.patch
@@ -0,0 +1,95 @@
+From bb19a2c7e5b3142d70d3e13c2d8a92a63f2b840a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 20 Nov 2019 22:12:52 -0800
+Subject: [PATCH] Make space for flags from environment
+
+Add force option to ln cmd, so do_install can be rerun in same directory
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sample/Makefile | 20 ++++++++++----------
+ src/Makefile | 8 ++++----
+ 2 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/sample/Makefile b/sample/Makefile
+index 15cafd9..d83641f 100644
+--- a/sample/Makefile
++++ b/sample/Makefile
+@@ -35,9 +35,9 @@ ifeq ($(PLATFORM),SunOS)
+ SOLARIS_LIBS = -lresolv -lnsl -lsocket
+ endif
+
+-CC = gcc
+-CFLAGS = -O2 -pipe -Wall -g -I../src -I$(OOP_INCLUDE_DIR)
+-LDFLAGS = -L../src -L$(OOP_LIB_DIR) $(SOLARIS_LDFLAGS)
++CC ?= gcc
++CFLAGS += -O2 -pipe -Wall -g -I../src -I$(OOP_INCLUDE_DIR)
++LDFLAGS += -L../src -L$(OOP_LIB_DIR) $(SOLARIS_LDFLAGS)
+ UNRULI_LINK = $(CC) $(ARCH) $(LDFLAGS) -o $@ $^ $(SOLARIS_LIBS)
+ LINK = $(UNRULI_LINK) -lruli -loop
+
+@@ -65,13 +65,13 @@ install: $(TARGETS)
+ mkdir -p $(INSTALL_BIN_DIR) $(INSTALL_MAN1_DIR)
+ cp $(TARGETS) $(INSTALL_BIN_DIR)
+ cp ../doc/man/*.1 $(INSTALL_MAN1_DIR)
+- cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 smtpsearch.1
+- cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 httpsearch.1
+- cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 sync_srvsearch.1
+- cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 sync_smtpsearch.1
+- cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 sync_httpsearch.1
+- cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 ruli-getaddrinfo.1
+- cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 getaddrinfo.1
++ cd $(INSTALL_MAN_DIR)/man1 && ln -sf srvsearch.1 smtpsearch.1
++ cd $(INSTALL_MAN_DIR)/man1 && ln -sf srvsearch.1 httpsearch.1
++ cd $(INSTALL_MAN_DIR)/man1 && ln -sf srvsearch.1 sync_srvsearch.1
++ cd $(INSTALL_MAN_DIR)/man1 && ln -sf srvsearch.1 sync_smtpsearch.1
++ cd $(INSTALL_MAN_DIR)/man1 && ln -sf srvsearch.1 sync_httpsearch.1
++ cd $(INSTALL_MAN_DIR)/man1 && ln -sf srvsearch.1 ruli-getaddrinfo.1
++ cd $(INSTALL_MAN_DIR)/man1 && ln -sf srvsearch.1 getaddrinfo.1
+
+ %.o: %.c
+ $(CC) $(ARCH) $(CPPFLAGS) $(CFLAGS) -c $<
+diff --git a/src/Makefile b/src/Makefile
+index 9b56b5e..39a5ea1 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -45,7 +45,7 @@ endif
+
+ 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 @@ SHARED = -fPIC
+ 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) -Werror $(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 @@ LIBOBJ = ruli_isaac.o ruli_mem.o ruli_rand.o ruli_util.o ruli_list.o \
+ 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
+@@ -95,7 +95,7 @@ install: ruli
+ 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
++ cd $(INSTALL_LIB_DIR) && ln -sf $(SONAME) libruli.so
+ @echo
+ @echo "REMINDER:"
+ @echo "Add $(INSTALL_LIB_DIR) to your dynamic loader path:"
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-ruli_srv-Mark-prev_addr_list_size-as-unused.patch b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-ruli_srv-Mark-prev_addr_list_size-as-unused.patch
new file mode 100644
index 00000000..213006a6
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-ruli_srv-Mark-prev_addr_list_size-as-unused.patch
@@ -0,0 +1,35 @@
+From 895ae26e36c4498677ad0b2695a6e5af05548a29 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 20 Nov 2019 22:02:43 -0800
+Subject: [PATCH] ruli_srv: Mark prev_addr_list_size as unused
+
+This ensures that compiler does not trip on building it
+
+ruli_srv.c:157:20: error: variable 'prev_addr_list_size' set but not used [-Werror=unused-but-set-variable]
+| int prev_addr_list_size;
+| ^~~~~~~~~~~~~~~~~~~
+cc1: all warnings being treated as errors
+
+Upstream-Status: Inappropriate [Workaround]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/ruli_srv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ruli_srv.c b/src/ruli_srv.c
+index 45c70c7..ff82349 100644
+--- a/src/ruli_srv.c
++++ b/src/ruli_srv.c
+@@ -154,7 +154,7 @@ static void *on_walk_answer(ruli_host_t *host_qry, void *qry_arg)
+ walk_t *walk_qry = (walk_t *) qry_arg;
+ ruli_srv_t *srv_qry = walk_qry->srv_query;
+ ruli_srv_entry_t *srv_entry;
+- int prev_addr_list_size;
++ __attribute__((unused)) int prev_addr_list_size;
+
+ assert(ruli_host_answer_code(host_qry) != RULI_SRV_CODE_VOID);
+
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ruli/files/Makefile.patch b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/Makefile.patch
deleted file mode 100644
index 60789a3d..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/ruli/files/Makefile.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-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/external/meta-openembedded/meta-networking/recipes-support/ruli/files/float-conversion.patch b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/float-conversion.patch
new file mode 100644
index 00000000..999f23fc
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/ruli/files/float-conversion.patch
@@ -0,0 +1,19 @@
+clarify type conversion
+
+fixes
+| ruli_rand.c:54:47: error: implicit conversion from 'unsigned int' to 'float' changes value from 4294967295 to 4294967296 [-Werror,-Wimplicit-int-float-conversion]
+|
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/ruli_rand.c
++++ b/src/ruli_rand.c
+@@ -51,7 +51,7 @@ int ruli_rand_next(ruli_rand_t *rand_ctx
+
+ u = isaac_rand(&rand_ctx->isaac_ctx);
+
+- r = (int) ((float) (1.0 + max - min) * u / ISAAC_UB4MAXVAL + min);
++ r = (int) ((float) (1.0 + max - min) * u / (float) (ISAAC_UB4MAXVAL + min));
+
+ assert(min <= r);
+ assert(r <= max);
diff --git a/external/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb b/external/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb
index 885796d2..f920b592 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb
@@ -8,18 +8,31 @@ 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 \
+ file://0001-ruli_srv-Mark-prev_addr_list_size-as-unused.patch \
+ file://0001-Make-space-for-flags-from-environment.patch \
+ file://float-conversion.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}
+B = "${S}"
+
+EXTRA_OEMAKE = 'CC="${CC}" OOP_BASE_DIR="${STAGING_EXECPREFIXDIR}" \
+ INSTALL_BASE_DIR="${D}${exec_prefix}" \
+ OOP_LIB_DIR=${STAGING_EXECPREFIXDIR}/${baselib} \
+ INSTALL_LIB_DIR=${D}${libdir}'
+
+do_configure() {
+ touch configure-stamp
+}
+
+do_install() {
+ oe_runmake install
}
+
+PACKAGES =+ "${PN}-bin"
+
+FILES_${PN} =+ "${bindir}"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.0.0.bb b/external/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.0.0.bb
deleted file mode 100644
index 9b6fc2f3..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.0.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Static Multicast Routing Daemon"
-DESCRIPTION = "SMCRoute is a daemon and command line tool to manipulate the multicast routing table in the UNIX kernel."
-HOMEPAGE = "http://troglobit.github.io/smcroute.html"
-SECTION = "net"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-
-SRCREV = "d6280e64b27d5a4bd7f37dac36b455f4ae5f9ab3"
-SRC_URI = "git://github.com/troglobit/smcroute.git;branch=master;protocol=git"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
diff --git a/external/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb b/external/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb
new file mode 100644
index 00000000..0b63f79a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Static Multicast Routing Daemon"
+DESCRIPTION = "SMCRoute is a daemon and command line tool to manipulate the multicast routing table in the UNIX kernel."
+HOMEPAGE = "http://troglobit.github.io/smcroute.html"
+SECTION = "net"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRCREV = "a8e5847e5f7e411be424f9b52a6cdf9d2ed4aeb5"
+SRC_URI = "git://github.com/troglobit/smcroute.git;branch=master;protocol=git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/external/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb b/external/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
index 30d0a767..1d56bea1 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
@@ -10,12 +10,12 @@ environment - not only on its computer-server machine, but also from \
anywhere on the Internet and using a wide variety of machine \
architectures."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=b37311cb5604f3e5cc2fb0fd23527e95"
-PV = "0.12.13+git${SRCPV}"
+PV = "0.14.1+git${SRCPV}"
-SRCREV = "87441524f4e7b79658e42bd8f1f6c3e3c8649aa5"
+SRCREV = "e0ec178a72aa33e307ee5ac02b63bf336da921a5"
SRC_URI = " \
git://anongit.freedesktop.org/spice/spice-protocol \
diff --git a/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch b/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
index 505b7c89..e63cbe3b 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
@@ -14,21 +14,19 @@ Upstream-Status: Pending
server/red-client.c | 6 +++---
2 files changed, 6 insertions(+), 5 deletions(-)
-diff --git a/server/red-channel.c b/server/red-channel.c
-index 1b38f04d..11dc667b 100644
--- a/server/red-channel.c
+++ b/server/red-channel.c
-@@ -192,7 +192,7 @@ red_channel_constructed(GObject *object)
+@@ -204,7 +204,7 @@ red_channel_constructed(GObject *object)
{
RedChannel *self = RED_CHANNEL(object);
-- red_channel_debug(self, "thread_id 0x%lx", self->priv->thread_id);
-+ red_channel_debug(self, "thread_id 0x%lx", (unsigned long)self->priv->thread_id);
+- red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", self->priv->thread_id);
++ red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
-@@ -475,7 +475,8 @@ void red_channel_remove_client(RedChannel *channel, RedChannelClient *rcc)
- red_channel_warning(channel, "channel->thread_id (0x%lx) != pthread_self (0x%lx)."
+@@ -479,7 +479,8 @@ void red_channel_remove_client(RedChanne
+ "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
"If one of the threads is != io-thread && != vcpu-thread, "
"this might be a BUG",
- channel->priv->thread_id, pthread_self());
@@ -37,12 +35,10 @@ index 1b38f04d..11dc667b 100644
}
spice_return_if_fail(channel);
link = g_list_find(channel->priv->clients, rcc);
-diff --git a/server/red-client.c b/server/red-client.c
-index ddfc5400..76986640 100644
--- a/server/red-client.c
+++ b/server/red-client.c
-@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *client)
- spice_warning("client->thread_id (0x%lx) != pthread_self (0x%lx)."
+@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *clien
+ "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
"If one of the threads is != io-thread && != vcpu-thread,"
" this might be a BUG",
- client->thread_id, pthread_self());
@@ -50,8 +46,8 @@ index ddfc5400..76986640 100644
}
FOREACH_CHANNEL_CLIENT(client, rcc) {
if (red_channel_client_is_connected(rcc)) {
-@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *client)
- spice_warning("client->thread_id (0x%lx) != pthread_self (0x%lx)."
+@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *clien
+ "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
"If one of the threads is != io-thread && != vcpu-thread,"
" this might be a BUG",
- client->thread_id,
@@ -61,6 +57,3 @@ index ddfc5400..76986640 100644
}
red_client_set_disconnecting(client);
FOREACH_CHANNEL_CLIENT(client, rcc) {
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch b/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch
new file mode 100644
index 00000000..d04bee95
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch
@@ -0,0 +1,96 @@
+From a2af005b5d4a62839e56f42a43df793356e78f58 Mon Sep 17 00:00:00 2001
+From: "Hongzhi.Song" <hongzhi.song@windriver.com>
+Date: Tue, 4 Jun 2019 03:58:17 -0400
+Subject: [PATCH] Fix compile errors on Linux 32bit system
+
+There are folowing compile errors on Linux 32bit system:
+
+red-channel.c:207:73: error: format '%x' expects argument of type
+'unsigned int', but argument 7 has type 'long unsigned int' [-Werror=format=]
+|207| red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x",
+ ~~~~~~~~~~~~~~~~~~~~~^
+ self->priv->thread_id);
+ ~~~~~~~~~~~~~~~~~~~~~^
+
+On 32bit system, #define G_GSIZE_MODIFIER "". But the type of
+'self->priv->thread_id' is 'unsigned long int' which should match '%lx'
+not '%x'.
+
+So we should recovery the <0x%" G_GSIZE_MODIFIER "x"> to <0x%lx">.
+And others files modification are similar to G_GSIZE_MODIFIER.
+
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+---
+Upstream-Status: Submitted [https://lists.freedesktop.org/archives/spice-devel/2019-June/049285.html]
+
+ server/red-channel.c | 6 +++---
+ server/red-client.c | 8 ++++----
+ server/red-replay-qxl.c | 2 +-
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/server/red-channel.c b/server/red-channel.c
+index f81142d..6a03ec2 100644
+--- a/server/red-channel.c
++++ b/server/red-channel.c
+@@ -202,7 +202,7 @@ red_channel_constructed(GObject *object)
+ {
+ RedChannel *self = RED_CHANNEL(object);
+
+- red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
++ red_channel_debug(self, "thread_id 0x%lx", (unsigned long)self->priv->thread_id);
+
+ RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
+
+@@ -473,8 +473,8 @@ void red_channel_remove_client(RedChannel *channel, RedChannelClient *rcc)
+
+ if (!pthread_equal(pthread_self(), channel->priv->thread_id)) {
+ red_channel_warning(channel,
+- "channel->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
+- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
++ "channel->thread_id (0x%lx) != "
++ "pthread_self (0x%lx)."
+ "If one of the threads is != io-thread && != vcpu-thread, "
+ "this might be a BUG",
+ (unsigned long)channel->priv->thread_id,
+diff --git a/server/red-client.c b/server/red-client.c
+index 2b859cb..ff4da2a 100644
+--- a/server/red-client.c
++++ b/server/red-client.c
+@@ -174,8 +174,8 @@ void red_client_migrate(RedClient *client)
+ RedChannel *channel;
+
+ if (!pthread_equal(pthread_self(), client->thread_id)) {
+- spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
+- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
++ spice_warning("client->thread_id (0x%lx) != "
++ "pthread_self (0x%lx)."
+ "If one of the threads is != io-thread && != vcpu-thread,"
+ " this might be a BUG",
+ (unsigned long)client->thread_id, (unsigned long)pthread_self());
+@@ -193,8 +193,8 @@ void red_client_destroy(RedClient *client)
+ RedChannelClient *rcc;
+
+ if (!pthread_equal(pthread_self(), client->thread_id)) {
+- spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
+- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
++ spice_warning("client->thread_id (0x%lx) != "
++ "pthread_self (0x%lx)."
+ "If one of the threads is != io-thread && != vcpu-thread,"
+ " this might be a BUG",
+ (unsigned long)client->thread_id,
+diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c
+index 6d34818..0deb406 100644
+--- a/server/red-replay-qxl.c
++++ b/server/red-replay-qxl.c
+@@ -264,7 +264,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz
+ exit(1);
+ }
+ if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) {
+- spice_error("inflate error %d (disc: %" G_GSSIZE_FORMAT ")",
++ spice_error("inflate error %d (disc: %li)",
+ ret, *size - strm.total_out);
+ if (ret == Z_DATA_ERROR) {
+ /* last operation may be wrong. since we do the recording
+--
+2.8.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch b/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch
deleted file mode 100644
index 1f9d5fdd..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7023732c65b4dc509c46a54fb7715da275b5597f Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 13 Sep 2018 12:39:44 +0800
-Subject: [PATCH] spice: fix compile fail problem
-
-compile error:
-format '%d' expects argument of type 'int', but argument 6 has
-type 'long unsigned int' [-Werror=format=]
-
-spice compile failed on 32bit system, since upstream commit
-9541cd2fe(in V0.14.1) change %ld to %PRIdPTR, %PRIdPTR is %d, but argument
-strm.total_out is uLong.
-
-Upstream-Status: Submitted[https://github.com/freedesktop/spice/pull/1]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- server/red-replay-qxl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c
-index 1fce76c..bd33b58 100644
---- a/server/red-replay-qxl.c
-+++ b/server/red-replay-qxl.c
-@@ -266,7 +266,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz
- exit(1);
- }
- if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) {
-- spice_error("inflate error %d (disc: %" PRIdPTR ")", ret, *size - strm.total_out);
-+ spice_error("inflate error %d (disc: %ld)", ret, *size - strm.total_out);
- if (ret == Z_DATA_ERROR) {
- /* last operation may be wrong. since we do the recording
- * in red_worker, when there is a shutdown from the vcpu/io thread
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb b/external/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
index 1ad46c2c..9d3a0e6c 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
@@ -13,10 +13,10 @@ architectures."
LICENSE = "BSD & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-PV = "0.14.1+git${SRCPV}"
+PV = "0.14.2+git${SRCPV}"
-SRCREV_spice = "eaa07ef15cfc3bf57a69da2576af66f028787774"
-SRCREV_spice-common = "6b93b3fce8909b836ef1d1434d191900d8aa00be"
+SRCREV_spice = "7cbd70b931db76c69c89c2d9d5d704f67381a81b"
+SRCREV_spice-common = "4fc4c2db36c7f07b906e9a326a9d3dc0ae6a2671"
SRCREV_FORMAT = "spice_spice-common"
@@ -24,18 +24,19 @@ SRC_URI = " \
git://anongit.freedesktop.org/spice/spice;name=spice \
git://anongit.freedesktop.org/spice/spice-common;destsuffix=git/subprojects/spice-common;name=spice-common \
file://0001-Convert-pthread_t-to-be-numeric.patch \
- file://0001-spice-fix-compile-fail-problem.patch \
+ file://0001-Fix-compile-errors-on-Linux-32bit-system.patch \
"
S = "${WORKDIR}/git"
-inherit autotools gettext pythonnative python-dir pkgconfig
+inherit autotools gettext python3native python3-dir pkgconfig
-DEPENDS += "spice-protocol jpeg pixman alsa-lib glib-2.0 python-pyparsing-native python-six-native glib-2.0-native"
+DEPENDS += "spice-protocol jpeg pixman alsa-lib glib-2.0 python3-pyparsing-native python3-six-native glib-2.0-native"
DEPENDS_append_class-nativesdk = "nativesdk-openssl"
-export PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python"
-export PYTHONPATH="${PKG_CONFIG_SYSROOT_DIR}${libdir}/python2.7/site-packages"
+export PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
+
+CFLAGS_append = " -Wno-error"
PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = ""
@@ -54,4 +55,4 @@ COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
BBCLASSEXTEND = "native nativesdk"
-EXTRA_OECONF_toolchain-clang += "--disable-werror"
+EXTRA_OECONF_append_toolchain-clang = " --disable-werror"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.8.0.bb b/external/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.8.0.bb
new file mode 100644
index 00000000..9ee43be1
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.8.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "usbredir libraries and utilities"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4b54a1fd55a448865a0b32d41598759d \
+"
+
+DEPENDS = "libusb1"
+
+SRCREV = "07b98b8e71f620dfdd57e92ddef6b677b259a092"
+
+SRC_URI = " \
+ git://anongit.freedesktop.org/spice/usbredir \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/spice/usbredir_git.bb b/external/meta-openembedded/meta-networking/recipes-support/spice/usbredir_git.bb
deleted file mode 100644
index 3fea7528..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/spice/usbredir_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "usbredir libraries and utilities"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4b54a1fd55a448865a0b32d41598759d \
-"
-
-DEPENDS = "libusb1"
-
-SRCREV = "39aa3c69f61bba28856a3eef3fe4ab37a3968e88"
-PV = "0.7.1+git${SRCPV}"
-
-SRC_URI = " \
- git://anongit.freedesktop.org/spice/usbredir \
-"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch b/external/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
index 00178c84..2d17507b 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
@@ -9,13 +9,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
src/libstrongswan/utils/utils/memory.h | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h
-index e840330..8a356a8 100644
--- a/src/libstrongswan/utils/utils/memory.h
+++ b/src/libstrongswan/utils/utils/memory.h
-@@ -22,6 +22,8 @@
- #ifndef MEMORY_H_
- #define MEMORY_H_
+@@ -26,6 +26,8 @@
+ #include <string.h>
+ #endif
+#include <stdint.h>
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb b/external/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb
deleted file mode 100644
index c8bb17c5..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb
+++ /dev/null
@@ -1,134 +0,0 @@
-DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
-Linux operating system."
-SUMMARY = "strongSwan is an OpenSource IPsec implementation"
-HOMEPAGE = "http://www.strongswan.org"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gmp openssl flex-native flex bison-native"
-
-SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
- file://fix-funtion-parameter.patch \
- file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \
- "
-
-SRC_URI[md5sum] = "86b7e9321cde075cf382268fd282e0b0"
-SRC_URI[sha256sum] = "006f9c9126e2a2f4e7a874b5e1bd2abec1bbbb193c8b3b3a4c6ccd8c2d454bec"
-
-UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
-
-EXTRA_OECONF = " \
- --without-lib-prefix \
-"
-
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-
-PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \
-"
-PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
-PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
-PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
-PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
-PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
-PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
-PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
-
-# requires swanctl
-PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
-
-inherit autotools systemd pkgconfig
-
-RRECOMMENDS_${PN} = "kernel-module-ipsec"
-
-FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
-FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
-FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la"
-FILES_${PN}-staticdev += "${libdir}/ipsec/*.a"
-
-CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
-
-PACKAGES += "${PN}-plugins"
-ALLOW_EMPTY_${PN}-plugins = "1"
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
-NOAUTOPACKAGEDEBUG = "1"
-
-python split_strongswan_plugins () {
- sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
- libdir = d.expand('${libdir}/ipsec/plugins')
- dbglibdir = os.path.join(libdir, '.debug')
-
- def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
- dvar = d.getVar('PKGD', True)
- oldfiles = d.getVar('CONFFILES_' + pkg, True)
- newfile = '/' + os.path.relpath(f, dvar)
-
- if not oldfiles:
- d.setVar('CONFFILES_' + pkg, newfile)
- else:
- d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile)
-
- split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
- do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
-
- split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
- split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
- split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
-
- if split_packages:
- pn = d.getVar('PN', True)
- d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
-}
-
-PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins "
-
-# Install some default plugins based on default strongSwan ./configure options
-# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
-RDEPENDS_${PN} += "\
- ${PN}-plugin-aes \
- ${PN}-plugin-attr \
- ${PN}-plugin-cmac \
- ${PN}-plugin-constraints \
- ${PN}-plugin-des \
- ${PN}-plugin-dnskey \
- ${PN}-plugin-hmac \
- ${PN}-plugin-kernel-netlink \
- ${PN}-plugin-md5 \
- ${PN}-plugin-nonce \
- ${PN}-plugin-pem \
- ${PN}-plugin-pgp \
- ${PN}-plugin-pkcs1 \
- ${PN}-plugin-pkcs7 \
- ${PN}-plugin-pkcs8 \
- ${PN}-plugin-pkcs12 \
- ${PN}-plugin-pubkey \
- ${PN}-plugin-random \
- ${PN}-plugin-rc2 \
- ${PN}-plugin-resolve \
- ${PN}-plugin-revocation \
- ${PN}-plugin-sha1 \
- ${PN}-plugin-sha2 \
- ${PN}-plugin-socket-default \
- ${PN}-plugin-sshkey \
- ${PN}-plugin-updown \
- ${PN}-plugin-vici \
- ${PN}-plugin-x509 \
- ${PN}-plugin-xauth-generic \
- ${PN}-plugin-xcbc \
- ${PN}-plugin-curve25519 \
- "
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}-swanctl.service', '${BPN}.service', d)}"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.4.bb b/external/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.4.bb
new file mode 100644
index 00000000..0a273319
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.4.bb
@@ -0,0 +1,135 @@
+DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
+Linux operating system."
+SUMMARY = "strongSwan is an OpenSource IPsec implementation"
+HOMEPAGE = "http://www.strongswan.org"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gmp openssl flex-native flex bison-native"
+
+SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
+ file://fix-funtion-parameter.patch \
+ file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \
+ "
+
+SRC_URI[md5sum] = "0634e7f40591bd3f6770e583c3f27d29"
+SRC_URI[sha256sum] = "2d9a57e33813b62d58cba07531c4d5a35c6b823dfe9b8ff7c623b6571f02553c"
+
+UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
+
+EXTRA_OECONF = " \
+ --without-lib-prefix \
+ --with-dev-headers=${includedir}/strongswan \
+"
+
+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[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils"
+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 ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
+FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h"
+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')
+ oldfiles = d.getVar('CONFFILES_' + pkg)
+ 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')
+ d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
+}
+
+PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins "
+
+# Install some default plugins based on default strongSwan ./configure options
+# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
+RDEPENDS_${PN} += "\
+ ${PN}-plugin-aes \
+ ${PN}-plugin-attr \
+ ${PN}-plugin-cmac \
+ ${PN}-plugin-constraints \
+ ${PN}-plugin-des \
+ ${PN}-plugin-dnskey \
+ ${PN}-plugin-hmac \
+ ${PN}-plugin-kernel-netlink \
+ ${PN}-plugin-md5 \
+ ${PN}-plugin-nonce \
+ ${PN}-plugin-pem \
+ ${PN}-plugin-pgp \
+ ${PN}-plugin-pkcs1 \
+ ${PN}-plugin-pkcs7 \
+ ${PN}-plugin-pkcs8 \
+ ${PN}-plugin-pkcs12 \
+ ${PN}-plugin-pubkey \
+ ${PN}-plugin-random \
+ ${PN}-plugin-rc2 \
+ ${PN}-plugin-resolve \
+ ${PN}-plugin-revocation \
+ ${PN}-plugin-sha1 \
+ ${PN}-plugin-sha2 \
+ ${PN}-plugin-socket-default \
+ ${PN}-plugin-sshkey \
+ ${PN}-plugin-updown \
+ ${PN}-plugin-vici \
+ ${PN}-plugin-x509 \
+ ${PN}-plugin-xauth-generic \
+ ${PN}-plugin-xcbc \
+ ${PN}-plugin-curve25519 \
+ "
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} ${BPN}-starter.service"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.49.bb b/external/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.49.bb
deleted file mode 100644
index eca77cf8..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.49.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Program for providing universal TLS/SSL tunneling service"
-DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
-HOMEPAGE = "https://www.stunnel.org/"
-SECTION = "net"
-# Note: Linking stunnel statically or dynamically with other modules is making
-# a combined work based on stunnel. Thus, the terms and conditions of the GNU
-# General Public License cover the whole combination.
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f6b7fe7379c9c2d7db6c80f7bd41e06d"
-
-DEPENDS = "autoconf-archive libnsl2 openssl"
-
-SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
- file://fix-openssl-no-des.patch \
-"
-
-SRC_URI[md5sum] = "0b41240e5585ec7d55ca343feed5530f"
-SRC_URI[sha256sum] = "3d6641213a82175c19f23fde1c3d1c841738385289eb7ca1554f4a58b96d955e"
-
-inherit autotools
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-
-EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
-
-# When cross compiling, configure defaults to nobody, but provides no option to change it.
-EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'"
-
-# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline
-# syntax with stunnel >= 4.05
-PACKAGES =+ "stunnel3"
-FILES_stunnel3 = "${bindir}/stunnel3"
-RDEPENDS_stunnel3 += "${PN} perl"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.56.bb b/external/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.56.bb
new file mode 100644
index 00000000..3411e5d0
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.56.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Program for providing universal TLS/SSL tunneling service"
+DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
+HOMEPAGE = "https://www.stunnel.org/"
+SECTION = "net"
+# Note: Linking stunnel statically or dynamically with other modules is making
+# a combined work based on stunnel. Thus, the terms and conditions of the GNU
+# General Public License cover the whole combination.
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.md;md5=d6d635d290ba1705821254a0278f1ef7"
+
+DEPENDS = "autoconf-archive libnsl2 openssl"
+
+SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
+ file://fix-openssl-no-des.patch \
+"
+
+SRC_URI[md5sum] = "01b0ca9e071f582ff803a85d5ed72166"
+SRC_URI[sha256sum] = "7384bfb356b9a89ddfee70b5ca494d187605bb516b4fff597e167f97e2236b22"
+
+inherit autotools
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap"
+
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
+EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
+
+# When cross compiling, configure defaults to nobody, but provides no option to change it.
+EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'"
+
+# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline
+# syntax with stunnel >= 4.05
+PACKAGES =+ "stunnel3"
+FILES_stunnel3 = "${bindir}/stunnel3"
+RDEPENDS_stunnel3 += "${PN} perl"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch
deleted file mode 100644
index 919f2b00..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From c45443a0d3e16b92622bea6b589e5930e8f0d815 Mon Sep 17 00:00:00 2001
-From: Peiran Hong <peiran.hong@windriver.com>
-Date: Fri, 13 Sep 2019 17:02:57 -0400
-Subject: [PATCH] CVE-2017-16808/AoE: Add a missing bounds check.
-
----
- netdissect.h | 12 ++++++++++++
- print-aoe.c | 1 +
- 2 files changed, 13 insertions(+)
-
-diff --git a/netdissect.h b/netdissect.h
-index 089b0406..cd05fdb9 100644
---- a/netdissect.h
-+++ b/netdissect.h
-@@ -69,6 +69,11 @@ typedef struct {
- typedef unsigned char nd_uint8_t;
- typedef signed char nd_int8_t;
-
-+/*
-+ * Use this for MAC addresses.
-+ */
-+#define MAC_ADDR_LEN 6 /* length of MAC addresses */
-+
- /* snprintf et al */
-
- #include <stdarg.h>
-@@ -309,12 +314,19 @@ struct netdissect_options {
- ((uintptr_t)ndo->ndo_snapend - (l) <= (uintptr_t)ndo->ndo_snapend && \
- (uintptr_t)&(var) <= (uintptr_t)ndo->ndo_snapend - (l)))
-
-+#define ND_TTEST_LEN(p, l) \
-+ (IS_NOT_NEGATIVE(l) && \
-+ ((uintptr_t)ndo->ndo_snapend - (l) <= (uintptr_t)ndo->ndo_snapend && \
-+ (uintptr_t)(p) <= (uintptr_t)ndo->ndo_snapend - (l)))
-+
- /* True if "var" was captured */
- #define ND_TTEST(var) ND_TTEST2(var, sizeof(var))
-
- /* Bail if "l" bytes of "var" were not captured */
- #define ND_TCHECK2(var, l) if (!ND_TTEST2(var, l)) goto trunc
-
-+#define ND_TCHECK_LEN(p, l) if (!ND_TTEST_LEN(p, l)) goto trunc
-+
- /* Bail if "var" was not captured */
- #define ND_TCHECK(var) ND_TCHECK2(var, sizeof(var))
-
-diff --git a/print-aoe.c b/print-aoe.c
-index 97e93df2..ac097a04 100644
---- a/print-aoe.c
-+++ b/print-aoe.c
-@@ -325,6 +325,7 @@ aoev1_reserve_print(netdissect_options *ndo,
- goto invalid;
- /* addresses */
- for (i = 0; i < nmacs; i++) {
-+ ND_TCHECK_LEN(cp, MAC_ADDR_LEN);
- ND_PRINT((ndo, "\n\tEthernet Address %u: %s", i, etheraddr_string(ndo, cp)));
- cp += ETHER_ADDR_LEN;
- }
---
-2.21.0
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
index b71435a0..f8ff354f 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
@@ -1,18 +1,19 @@
-From 8ee1ab1ac89557d48ac1ab7ddcc3c51be9b734ad Mon Sep 17 00:00:00 2001
+From 8c9c728757f89ebe6c4019114b83a63c63596f69 Mon Sep 17 00:00:00 2001
From: "Hongjun.Yang" <hongjun.yang@windriver.com>
-Date: Wed, 22 Oct 2014 10:02:48 +0800
+Date: Wed, 2 Oct 2019 16:57:06 -0400
Subject: [PATCH] Add ptest for tcpdump
Upstream-Status: Pending
Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com>
+Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
---
Makefile.in | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
-index 0941f0e..3ce40c6 100644
+index 3b589184..7b10e38c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -437,9 +437,17 @@ distclean:
@@ -23,7 +24,7 @@ index 0941f0e..3ce40c6 100644
+buildtest-TESTS: tcpdump
+
+runtest-PTEST:
- (cd tests && ./TESTrun.sh)
+ (mkdir -p tests && SRCDIR=`cd ${srcdir}; pwd` && export SRCDIR && $$SRCDIR/tests/TESTrun.sh )
+install-ptest:
+ cp -r tests $(DESTDIR)
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch
new file mode 100644
index 00000000..977ab95b
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch
@@ -0,0 +1,31 @@
+From 02085028cdaf075943c27ebc02bb6de0289ec1d3 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Wed, 2 Oct 2019 16:43:48 -0400
+Subject: [PATCH] avoid absolute path when searching for libdlpi
+
+Let the build environment control library search paths.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3401a7a3..6a52485a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -528,7 +528,7 @@ don't.])
+ fi
+
+ # libdlpi is needed for Solaris 11 and later.
+-AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi" LDFLAGS="-L/lib $LDFLAGS", ,-L/lib)
++AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi")
+
+ dnl
+ dnl Check for "pcap_list_datalinks()", "pcap_set_datalink()",
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest
index c03a8b8e..2bfb2267 100755
--- a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest
+++ b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest
@@ -1,5 +1,5 @@
#!/bin/sh
make -k runtest-PTEST | sed -e '/: passed/ s/^/PASS: /g' \
- -e '/: failed/ s/^/FAIL: /g' \
+ -e '/: TEST FAILED.*/ s/^/FAIL: /g' \
-e 's/: passed//g' \
- -e 's/: failed//g'
+ -e 's/: TEST FAILED.*//g'
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
index 8cefadf2..8793bf7a 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
+++ b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
@@ -1,10 +1,8 @@
-From 741d77e42fc4af49804f7ee43b7237e01633cbcd Mon Sep 17 00:00:00 2001
+From dd023c133980fcc0cff5896e85377675e0571894 Mon Sep 17 00:00:00 2001
From: Roy Li <rongqing.li@windriver.com>
Date: Tue, 8 Jul 2014 13:20:47 +0800
Subject: [PATCH] unnecessary to check libpcap
-Upstream-Status: Pending
-
since the check of libpcap did not consider the cross-compile, lead to the
below error:
This autoconf log indicates errors, it looked at host include and/or
@@ -13,22 +11,30 @@ below error:
In fact, the libpcap has been added into the tcpdump's DEPENDS, not need to
check if libpcap existed.
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
---
- configure.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ configure.ac | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
-diff --git a/configure.in b/configure.in
-index b2305a5..b3b5dbf 100644
---- a/configure.in
-+++ b/configure.in
-@@ -418,7 +418,7 @@ dnl Some platforms may need -lnsl for getrpcbynumber.
+diff --git a/configure.ac b/configure.ac
+index 56e2a624..3401a7a3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -404,7 +404,9 @@ dnl Some platforms may need -lnsl for getrpcbynumber.
AC_SEARCH_LIBS(getrpcbynumber, nsl,
AC_DEFINE(HAVE_GETRPCBYNUMBER, 1, [define if you have getrpcbynumber()]))
-AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS)
-+#AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS)
++# Simplified (more cross compile friendly) check for libpcap. All we really
++# need is to sanity check that libpcap is available and add -lpcap to LIBS.
++AC_CHECK_LIB(pcap, pcap_compile, LIBS="$LIBS -lpcap")
#
# Check for these after AC_LBL_LIBPCAP, so we link with the appropriate
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
deleted file mode 100644
index 14e90b09..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.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://add-ptest.patch \
- file://run-ptest \
- file://0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch \
-"
-
-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/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb
new file mode 100644
index 00000000..94543dd1
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb
@@ -0,0 +1,51 @@
+SUMMARY = "A sophisticated network protocol analyzer"
+HOMEPAGE = "http://www.tcpdump.org/"
+SECTION = "net"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867"
+
+DEPENDS = "libpcap"
+
+RDEPENDS_${PN}-ptest += " make perl \
+ perl-module-file-basename \
+ perl-module-posix \
+ perl-module-carp"
+
+SRC_URI = " \
+ http://www.tcpdump.org/release/${BP}.tar.gz \
+ file://unnecessary-to-check-libpcap.patch \
+ file://avoid-absolute-path-when-searching-for-libdlpi.patch \
+ file://add-ptest.patch \
+ file://run-ptest \
+"
+
+SRC_URI[md5sum] = "a4ead41d371f91aa0a2287f589958bae"
+SRC_URI[sha256sum] = "2cd47cb3d460b6ff75f4a9940f594317ad456cfbf2bd2c8e5151e16559db6410"
+
+inherit autotools-brokensep ptest
+
+PACKAGECONFIG ?= "openssl"
+
+PACKAGECONFIG[libcap-ng] = "--with-cap-ng,--without-cap-ng,libcap-ng"
+PACKAGECONFIG[openssl] = "--with-crypto,--without-crypto,openssl"
+PACKAGECONFIG[smi] = "--with-smi,--without-smi,libsmi"
+# Note: CVE-2018-10103 (SMB - partially fixed, but SMB printing disabled)
+PACKAGECONFIG[smb] = "--enable-smb,--disable-smb"
+
+EXTRA_AUTORECONF += "-I m4"
+
+do_configure_prepend() {
+ mkdir -p ${S}/m4
+ if [ -f aclocal.m4 ]; then
+ mv aclocal.m4 ${S}/m4
+ fi
+}
+
+do_install_append() {
+ # make install installs an unneeded extra copy of the tcpdump binary
+ rm -f ${D}${sbindir}/tcpdump.${PV}
+}
+
+do_compile_ptest() {
+ oe_runmake buildtest-TESTS
+}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.bb b/external/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.bb
deleted file mode 100644
index 681ef02b..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.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 = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "3e65d5b872e441c6a0038191a3dc7ce9"
-SRC_URI[sha256sum] = "043756c532dab93e2be33a517ef46b1341f7239278a1045ae670041dd8a4531d"
-
-DEPENDS = "libpcap"
-
-EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"
-
-inherit siteinfo autotools-brokensep
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb b/external/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb
new file mode 100644
index 00000000..39be950a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Use previously captured traffic to test network devices"
+
+HOMEPAGE = "http://tcpreplay.synfin.net/"
+SECTION = "net"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=890b830b22fd632e9ffd996df20338f8"
+
+SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "53b52bf64f0b6b9443428e657b37bc6b"
+SRC_URI[sha256sum] = "ed2402caa9434ff5c74b2e7b31178c73e7c7c5c4ea1e1d0e2e39a7dc46958fde"
+
+DEPENDS = "libpcap"
+
+EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"
+
+inherit siteinfo autotools-brokensep
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.conf b/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.conf
new file mode 100644
index 00000000..4ca18efa
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.conf
@@ -0,0 +1,330 @@
+##
+## tinyproxy.conf -- tinyproxy daemon configuration file
+##
+## This example tinyproxy.conf file contains example settings
+## with explanations in comments. For decriptions of all
+## parameters, see the tinproxy.conf(5) manual page.
+##
+
+#
+# User/Group: This allows you to set the user and group that will be
+# used for tinyproxy after the initial binding to the port has been done
+# as the root user. Either the user or group name or the UID or GID
+# number may be used.
+#
+User tinyproxy
+Group nogroup
+
+#
+# Port: Specify the port which tinyproxy will listen on. Please note
+# that should you choose to run on a port lower than 1024 you will need
+# to start tinyproxy using root.
+#
+Port 8888
+
+#
+# Listen: If you have multiple interfaces this allows you to bind to
+# only one. If this is commented out, tinyproxy will bind to all
+# interfaces present.
+#
+#Listen 192.168.0.1
+
+#
+# Bind: This allows you to specify which interface will be used for
+# outgoing connections. This is useful for multi-home'd machines where
+# you want all traffic to appear outgoing from one particular interface.
+#
+#Bind 192.168.0.1
+
+#
+# BindSame: If enabled, tinyproxy will bind the outgoing connection to the
+# ip address of the incoming connection.
+#
+#BindSame yes
+
+#
+# Timeout: The maximum number of seconds of inactivity a connection is
+# allowed to have before it is closed by tinyproxy.
+#
+Timeout 600
+
+#
+# ErrorFile: Defines the HTML file to send when a given HTTP error
+# occurs. You will probably need to customize the location to your
+# particular install. The usual locations to check are:
+# /usr/local/share/tinyproxy
+# /usr/share/tinyproxy
+# /etc/tinyproxy
+#
+#ErrorFile 404 "/usr/share/tinyproxy/404.html"
+#ErrorFile 400 "/usr/share/tinyproxy/400.html"
+#ErrorFile 503 "/usr/share/tinyproxy/503.html"
+#ErrorFile 403 "/usr/share/tinyproxy/403.html"
+#ErrorFile 408 "/usr/share/tinyproxy/408.html"
+
+#
+# DefaultErrorFile: The HTML file that gets sent if there is no
+# HTML file defined with an ErrorFile keyword for the HTTP error
+# that has occured.
+#
+DefaultErrorFile "/usr/share/tinyproxy/default.html"
+
+#
+# StatHost: This configures the host name or IP address that is treated
+# as the stat host: Whenever a request for this host is received,
+# Tinyproxy will return an internal statistics page instead of
+# forwarding the request to that host. The default value of StatHost is
+# tinyproxy.stats.
+#
+#StatHost "tinyproxy.stats"
+#
+
+#
+# StatFile: The HTML file that gets sent when a request is made
+# for the stathost. If this file doesn't exist a basic page is
+# hardcoded in tinyproxy.
+#
+StatFile "/usr/share/tinyproxy/stats.html"
+
+#
+# LogFile: Allows you to specify the location where information should
+# be logged to. If you would prefer to log to syslog, then disable this
+# and enable the Syslog directive. These directives are mutually
+# exclusive.
+#
+#LogFile "/var/log/tinyproxy/tinyproxy.log"
+
+#
+# Syslog: Tell tinyproxy to use syslog instead of a logfile. This
+# option must not be enabled if the Logfile directive is being used.
+# These two directives are mutually exclusive.
+#
+#Syslog On
+
+#
+# LogLevel:
+#
+# Set the logging level. Allowed settings are:
+# Critical (least verbose)
+# Error
+# Warning
+# Notice
+# Connect (to log connections without Info's noise)
+# Info (most verbose)
+#
+# The LogLevel logs from the set level and above. For example, if the
+# LogLevel was set to Warning, then all log messages from Warning to
+# Critical would be output, but Notice and below would be suppressed.
+#
+LogLevel Info
+
+#
+# PidFile: Write the PID of the main tinyproxy thread to this file so it
+# can be used for signalling purposes.
+#
+PidFile "/var/run/tinyproxy/tinyproxy.pid"
+
+#
+# XTinyproxy: Tell Tinyproxy to include the X-Tinyproxy header, which
+# contains the client's IP address.
+#
+#XTinyproxy Yes
+
+#
+# Upstream:
+#
+# Turns on upstream proxy support.
+#
+# The upstream rules allow you to selectively route upstream connections
+# based on the host/domain of the site being accessed.
+#
+# For example:
+# # connection to test domain goes through testproxy
+# upstream testproxy:8008 ".test.domain.invalid"
+# upstream testproxy:8008 ".our_testbed.example.com"
+# upstream testproxy:8008 "192.168.128.0/255.255.254.0"
+#
+# # no upstream proxy for internal websites and unqualified hosts
+# no upstream ".internal.example.com"
+# no upstream "www.example.com"
+# no upstream "10.0.0.0/8"
+# no upstream "192.168.0.0/255.255.254.0"
+# no upstream "."
+#
+# # connection to these boxes go through their DMZ firewalls
+# upstream cust1_firewall:8008 "testbed_for_cust1"
+# upstream cust2_firewall:8008 "testbed_for_cust2"
+#
+# # default upstream is internet firewall
+# upstream firewall.internal.example.com:80
+#
+# The LAST matching rule wins the route decision. As you can see, you
+# can use a host, or a domain:
+# name matches host exactly
+# .name matches any host in domain "name"
+# . matches any host with no domain (in 'empty' domain)
+# IP/bits matches network/mask
+# IP/mask matches network/mask
+#
+#Upstream some.remote.proxy:port
+
+#
+# MaxClients: This is the absolute highest number of threads which will
+# be created. In other words, only MaxClients number of clients can be
+# connected at the same time.
+#
+MaxClients 100
+
+#
+# MinSpareServers/MaxSpareServers: These settings set the upper and
+# lower limit for the number of spare servers which should be available.
+#
+# If the number of spare servers falls below MinSpareServers then new
+# server processes will be spawned. If the number of servers exceeds
+# MaxSpareServers then the extras will be killed off.
+#
+MinSpareServers 5
+MaxSpareServers 20
+
+#
+# StartServers: The number of servers to start initially.
+#
+StartServers 10
+
+#
+# MaxRequestsPerChild: The number of connections a thread will handle
+# before it is killed. In practise this should be set to 0, which
+# disables thread reaping. If you do notice problems with memory
+# leakage, then set this to something like 10000.
+#
+MaxRequestsPerChild 0
+
+#
+# Allow: Customization of authorization controls. If there are any
+# access control keywords then the default action is to DENY. Otherwise,
+# the default action is ALLOW.
+#
+# The order of the controls are important. All incoming connections are
+# tested against the controls based on order.
+#
+Allow 127.0.0.1
+
+#
+# AddHeader: Adds the specified headers to outgoing HTTP requests that
+# Tinyproxy makes. Note that this option will not work for HTTPS
+# traffic, as Tinyproxy has no control over what headers are exchanged.
+#
+#AddHeader "X-My-Header" "Powered by Tinyproxy"
+
+#
+# ViaProxyName: The "Via" header is required by the HTTP RFC, but using
+# the real host name is a security concern. If the following directive
+# is enabled, the string supplied will be used as the host name in the
+# Via header; otherwise, the server's host name will be used.
+#
+ViaProxyName "tinyproxy"
+
+#
+# DisableViaHeader: When this is set to yes, Tinyproxy does NOT add
+# the Via header to the requests. This virtually puts Tinyproxy into
+# stealth mode. Note that RFC 2616 requires proxies to set the Via
+# header, so by enabling this option, you break compliance.
+# Don't disable the Via header unless you know what you are doing...
+#
+#DisableViaHeader Yes
+
+#
+# Filter: This allows you to specify the location of the filter file.
+#
+#Filter "/etc/filter"
+
+#
+# FilterURLs: Filter based on URLs rather than domains.
+#
+#FilterURLs On
+
+#
+# FilterExtended: Use POSIX Extended regular expressions rather than
+# basic.
+#
+#FilterExtended On
+
+#
+# FilterCaseSensitive: Use case sensitive regular expressions.
+#
+#FilterCaseSensitive On
+
+#
+# FilterDefaultDeny: Change the default policy of the filtering system.
+# If this directive is commented out, or is set to "No" then the default
+# policy is to allow everything which is not specifically denied by the
+# filter file.
+#
+# However, by setting this directive to "Yes" the default policy becomes
+# to deny everything which is _not_ specifically allowed by the filter
+# file.
+#
+#FilterDefaultDeny Yes
+
+#
+# Anonymous: If an Anonymous keyword is present, then anonymous proxying
+# is enabled. The headers listed are allowed through, while all others
+# are denied. If no Anonymous keyword is present, then all headers are
+# allowed through. You must include quotes around the headers.
+#
+# Most sites require cookies to be enabled for them to work correctly, so
+# you will need to allow Cookies through if you access those sites.
+#
+#Anonymous "Host"
+#Anonymous "Authorization"
+#Anonymous "Cookie"
+
+#
+# ConnectPort: This is a list of ports allowed by tinyproxy when the
+# CONNECT method is used. To disable the CONNECT method altogether, set
+# the value to 0. If no ConnectPort line is found, all ports are
+# allowed (which is not very secure.)
+#
+# The following two ports are used by SSL.
+#
+ConnectPort 443
+ConnectPort 563
+
+#
+# Configure one or more ReversePath directives to enable reverse proxy
+# support. With reverse proxying it's possible to make a number of
+# sites appear as if they were part of a single site.
+#
+# If you uncomment the following two directives and run tinyproxy
+# on your own computer at port 8888, you can access Google using
+# http://localhost:8888/google/ and Wired News using
+# http://localhost:8888/wired/news/. Neither will actually work
+# until you uncomment ReverseMagic as they use absolute linking.
+#
+#ReversePath "/google/" "http://www.google.com/"
+#ReversePath "/wired/" "http://www.wired.com/"
+
+#
+# When using tinyproxy as a reverse proxy, it is STRONGLY recommended
+# that the normal proxy is turned off by uncommenting the next directive.
+#
+#ReverseOnly Yes
+
+#
+# Use a cookie to track reverse proxy mappings. If you need to reverse
+# proxy sites which have absolute links you must uncomment this.
+#
+#ReverseMagic Yes
+
+#
+# The URL that's used to access this reverse proxy. The URL is used to
+# rewrite HTTP redirects so that they won't escape the proxy. If you
+# have a chain of reverse proxies, you'll need to put the outermost
+# URL here (the address which the end user types into his/her browser).
+#
+# If not set then no rewriting occurs.
+#
+#ReverseBaseURL "http://localhost:8888/"
+
+
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service b/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service
index df427457..78df437f 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service
+++ b/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service
@@ -3,12 +3,12 @@ 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/chown -R tinyproxy.nogroup /var/log/tinyproxy
ExecStartPre=/bin/mkdir -p /var/run/tinyproxy
-ExecStartPre=/bin/chown -R nobody.tinyproxy /var/run/tinyproxy
+ExecStartPre=/bin/chown -R tinyproxy.nogroup /var/run/tinyproxy
ExecStart=/usr/bin/tinyproxy -d
+PIDFile=/var/run/tinyproxy/tinyproxy.pid
[Install]
WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb b/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb
index 144dcf33..7d97f52a 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb
@@ -4,8 +4,10 @@ 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"
+ file://disable-documentation.patch \
+ file://tinyproxy.service \
+ file://tinyproxy.conf \
+ "
SRC_URI[md5sum] = "423047c8dc53a15e19f78e238198549c"
SRC_URI[sha256sum] = "6020955e6a0ef0ef898ad5bb17a448c47f9e4c003c464b4ae7c4dba063272055"
@@ -23,7 +25,7 @@ inherit autotools systemd useradd
#User specific
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --home /dev/null \
- --no-user-group --gid nogroup tinypoxy"
+ --no-user-group --gid nogroup tinyproxy"
SYSTEMD_PACKAGES += "${BPN}"
SYSTEMD_SERVICE_${PN} = "tinyproxy.service"
@@ -34,4 +36,5 @@ do_install_append() {
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/tinyproxy.service ${D}${systemd_system_unitdir}
fi
+ install -m 0644 ${WORKDIR}/tinyproxy.conf ${D}${sysconfdir}/tinyproxy.conf
}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb b/external/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb
index 8f17d3fd..19bbf03f 100644
--- a/external/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb
+++ b/external/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb
@@ -13,6 +13,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
inherit update-alternatives
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/traceroute/files/traceroute/"
+
SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \
file://filter-out-the-patches-from-subdirs.patch \
"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.2.bb b/external/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.2.bb
new file mode 100644
index 00000000..8e35ee13
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.2.bb
@@ -0,0 +1,17 @@
+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"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz"
+SRC_URI[md5sum] = "db0519bf7b1e0329449e81c1e68262f8"
+SRC_URI[sha256sum] = "ecab6ab07fe0ebaf7bfe35d99fe2da28ede3ddc6f21f825d3b259cf171258505"
+
+DEPENDS = "openssl"
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.8.bb b/external/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.8.bb
deleted file mode 100644
index 0bbdd6b1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.8.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-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] = "f7a5affd3000b5aafbb13df49719b6c0"
-SRC_URI[sha256sum] = "e98c6318e497124d777ca71eae752d213207c35de9f782c8bcaaf82ece20e599"
-
-DEPENDS = "openssl"
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
diff --git a/external/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-startup-scripts.patch b/external/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-startup-scripts.patch
new file mode 100644
index 00000000..46f6a7b3
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-startup-scripts.patch
@@ -0,0 +1,78 @@
+From 186ac39de8eb9aedcf3d87cdbe389d10cde03d66 Mon Sep 17 00:00:00 2001
+From: Beniamin Sandu <beniaminsandu@gmail.com>
+Date: Tue, 16 Jul 2019 19:59:23 +0300
+Subject: [PATCH] contrib: add yocto compatible startup scripts
+
+Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
+---
+ contrib/unbound.init | 10 +++++-----
+ contrib/unbound.service.in | 4 ++--
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+ mode change 100644 => 100755 contrib/unbound.init
+
+diff --git a/contrib/unbound.init b/contrib/unbound.init
+old mode 100644
+new mode 100755
+index cccadecc..4eba752b
+--- a/contrib/unbound.init
++++ b/contrib/unbound.init
+@@ -19,11 +19,11 @@
+ ### END INIT INFO
+
+ # Source function library.
+-. /etc/rc.d/init.d/functions
++. /etc/init.d/functions
+
+ exec="/usr/sbin/unbound"
+ prog="unbound"
+-config="/var/unbound/unbound.conf"
++config="/etc/unbound/unbound.conf"
+ pidfile="/var/unbound/unbound.pid"
+ rootdir="/var/unbound"
+
+@@ -61,7 +61,7 @@ start() {
+ fi;
+
+ # if not running, start it up here
+- daemon $exec
++ daemonize $exec
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+@@ -71,7 +71,7 @@ start() {
+ stop() {
+ echo -n $"Stopping $prog: "
+ # stop it here, often "killproc $prog"
+- killproc -p $pidfile $prog
++ killproc $prog
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+@@ -99,7 +99,7 @@ force_reload() {
+
+ rh_status() {
+ # run checks to determine if the service is running or use generic status
+- status -p $pidfile $prog
++ status $prog
+ }
+
+ rh_status_q() {
+diff --git a/contrib/unbound.service.in b/contrib/unbound.service.in
+index 95976dd9..0e7f79a9 100644
+--- a/contrib/unbound.service.in
++++ b/contrib/unbound.service.in
+@@ -10,9 +10,9 @@ WantedBy=multi-user.target
+
+ [Service]
+ ExecReload=/bin/kill -HUP $MAINPID
+-ExecStart=@UNBOUND_SBIN_DIR@/unbound
++ExecStart=@UNBOUND_SBIN_DIR@/unbound -d
+ NotifyAccess=main
+-Type=notify
++Type=simple
+ CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_SYS_RESOURCE
+ MemoryDenyWriteExecute=true
+ NoNewPrivileges=true
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.4.bb b/external/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.4.bb
new file mode 100644
index 00000000..6200214a
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.4.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Unbound is a validating, recursive, and caching DNS resolver"
+DESCRIPTION = "Unbound's design is a set of modular components which incorporate \
+ features including enhanced security (DNSSEC) validation, Internet Protocol \
+ Version 6 (IPv6), and a client resolver library API as an integral part of the \
+ architecture"
+
+HOMEPAGE = "https://www.unbound.net/"
+SECTION = "net"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06"
+
+SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=http;branch=master \
+ file://0001-contrib-add-yocto-compatible-startup-scripts.patch \
+"
+SRCREV="b60c4a472c856f0a98120b7259e991b3a6507eb5"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+DEPENDS = "openssl libevent libtool-native bison-native expat"
+RDEPENDS_${PN} = "bash openssl-bin daemonize"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = "--with-libexpat=${STAGING_EXECPREFIXDIR} \
+ --with-ssl=${STAGING_EXECPREFIXDIR} \
+ libtool=${HOST_SYS}-libtool \
+"
+
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile systemd', d)}"
+PACKAGECONFIG[dnscrypt] = "--enable-dnscrypt, --disable-dnscrypt, libsodium"
+PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
+do_install_append() {
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${B}/contrib/unbound.service ${D}${systemd_unitdir}/system
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${S}/contrib/unbound.init ${D}${sysconfdir}/init.d/unbound
+}
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+INITSCRIPT_NAME = "unbound"
+INITSCRIPT_PARAMS = "defaults"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch b/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch
deleted file mode 100644
index e65ef9b1..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1a6a5d2bcb1adec9ba138c2ebee7bbc994620aff Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 12 Jun 2018 23:23:44 -0700
-Subject: [PATCH] Add libm to link for fmod() API
-
-fixes
-ld: CMakeFiles/tshark.dir/ui/cli/tap-comparestat.c.o: undefined reference to symbol 'fmod@@GLIBC_2.2.5'
-| /mnt/a/oe/build/tmp/work/core2-64-bec-linux/wireshark/1_2.6.1-r0/recipe-sysroot/lib/libm.so.6: error adding symbols: DSO missing from command line
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7950e85..acee140 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -2494,6 +2494,7 @@ if(BUILD_tshark)
- ${LIBEPAN_LIBS}
- ${APPLE_CORE_FOUNDATION_LIBRARY}
- ${APPLE_SYSTEM_CONFIGURATION_LIBRARY}
-+ m
- )
- set(tshark_FILES
- capture_opts.c
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.6.10.bb b/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.6.10.bb
deleted file mode 100644
index 1bda9ed4..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.6.10.bb
+++ /dev/null
@@ -1,94 +0,0 @@
-DESCRIPTION = "wireshark - a popular network protocol analyzer"
-HOMEPAGE = "http://www.wireshark.org"
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
-
-DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native"
-
-DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native "
-
-SRC_URI = "https://1.as.dl.wireshark.org/src/all-versions/${BP}.tar.xz \
- file://0001-Add-libm-to-link-for-fmod-API.patch \
- "
-
-UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
-
-SRC_URI[md5sum] = "4fd0cd96d990eab0e708339a5e0dc207"
-SRC_URI[sha256sum] = "b8fc32244352437db727a4517371dddfa9ffbf0057cfb58265588876b42b6c7e"
-
-PE = "1"
-
-inherit cmake pkgconfig pythonnative perlnative upstream-version-is-even
-
-ARM_INSTRUCTION_SET = "arm"
-
-# Options: gtk+, gtk+3 and qt5
-GTK = "gtk+3"
-
-PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
-PACKAGECONFIG_append_class-target = " ${@bb.utils.contains("DISTRO_FEATURES", "x11", " ${GTK}", "", d)}"
-
-PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh"
-
-PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap"
-PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap"
-PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi"
-PACKAGECONFIG[libnl] = ",,libnl"
-PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19"
-PACKAGECONFIG[gtk+] = "-DENABLE_GTK=ON -DBUILD_wireshark_gtk=ON, -DENABLE_GTK=OFF, gtk+"
-PACKAGECONFIG[gtk+3] = "-DENABLE_GTK3=ON -DBUILD_wireshark_gtk=ON, -DENABLE_GTK3=OFF, gtk+3"
-PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls"
-PACKAGECONFIG[ssl] = ",,openssl"
-PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5"
-PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua"
-PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
-PACKAGECONFIG[geoip] = ",, geoip"
-PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
-PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
-PACKAGECONFIG[libssh] = ",,libssh2"
-PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
-
-# these next two options require addional layers
-PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares"
-PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qtbase"
-
-EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
- -DBUILD_mmdbresolve=OFF \
- -DBUILD_randpktdump=OFF \
- -DBUILD_androiddump=OFF \
- -DBUILD_dcerpcidl2wrs=OFF \
- -DM_INCLUDE_DIR=${includedir} \
- -DM_LIBRARY=${libdir} \
- "
-CFLAGS_append = " -lm"
-
-do_install_append_class-native() {
- install -d ${D}${bindir}
- for f in lemon
- do
- install -m 0755 ${B}/run/$f ${D}${bindir}
- done
-}
-
-do_install_append_class-target() {
- for f in `find ${D}${libdir} ${D}${bindir} -type f -executable`
- do
- chrpath --delete $f
- done
-}
-
-PACKAGE_BEFORE_PN += "tshark"
-PACKAGE_BEFORE_PN += "${PN}-gtk"
-
-FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*"
-FILES_${PN}-gtk = "${bindir}/wireshark-gtk ${datadir}/icons ${datadir}/appdata \
- ${datadir}/applications ${datadir}/wireshark ${datadir}/mime \
- ${mandir}/man1/wireshark.* "
-
-FILES_${PN} += "${datadir}*"
-
-RDEPENDS_tshark = "wireshark"
-RDEPENDS_${PN}-gtk = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "${GTK}", "", d)} wireshark"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.4.bb b/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.4.bb
new file mode 100644
index 00000000..c3caaefd
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.4.bb
@@ -0,0 +1,81 @@
+DESCRIPTION = "wireshark - a popular network protocol analyzer"
+HOMEPAGE = "http://www.wireshark.org"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
+
+DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native"
+
+DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native "
+
+SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz"
+
+UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
+
+SRC_URI[md5sum] = "4bbee1bdd5b88343733590fabfffddf3"
+SRC_URI[sha256sum] = "d17d461e849e2d0b033431c45f71d8ee8ec3c8faa232a6ad63069a47927db8aa"
+
+PE = "1"
+
+inherit cmake pkgconfig python3native perlnative upstream-version-is-even mime mime-xdg
+
+PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
+
+PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh"
+
+PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap"
+PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap"
+PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi"
+PACKAGECONFIG[libnl] = ",,libnl"
+PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19"
+PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls"
+PACKAGECONFIG[ssl] = ",,openssl"
+PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5"
+PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua"
+PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
+PACKAGECONFIG[geoip] = ",, geoip"
+PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
+PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
+PACKAGECONFIG[libssh] = ",,libssh2"
+PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
+
+# these next two options require addional layers
+PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares"
+PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
+
+EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
+ -DBUILD_mmdbresolve=OFF \
+ -DBUILD_randpktdump=OFF \
+ -DBUILD_androiddump=OFF \
+ -DBUILD_dcerpcidl2wrs=OFF \
+ -DM_INCLUDE_DIR=${includedir} \
+ -DM_LIBRARY=${libdir} \
+ "
+CFLAGS_append = " -lm"
+
+do_install_append_class-native() {
+ install -d ${D}${bindir}
+ for f in lemon
+ do
+ install -m 0755 ${B}/run/$f ${D}${bindir}
+ done
+}
+
+do_install_append_class-target() {
+ for f in `find ${D}${libdir} ${D}${bindir} -type f -executable`
+ do
+ chrpath --delete $f
+ done
+}
+
+PACKAGE_BEFORE_PN += "tshark"
+
+FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*"
+
+FILES_${PN} += "${datadir}*"
+
+RDEPENDS_tshark = "wireshark"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_0.9.bb b/external/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_0.9.bb
new file mode 100644
index 00000000..bab75fee
--- /dev/null
+++ b/external/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_0.9.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Userspace tools for Linux IEEE 802.15.4 stack"
+HOMEPAGE = "http://wpan.cakelab.org/releases/"
+DESCRIPTION = "This is a set of utils to manage the Linux WPAN stack via \
+netlink interface. This requires recent kernel with nl802154 interface."
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cfd939b1d7e6aba9fcefb7f6e2fd45d"
+
+DEPENDS = "libnl"
+
+SRC_URI = "git://github.com/linux-wpan/wpan-tools"
+SRCREV = "a316ca2caa746d60817400e5bf646c2820f09273"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb b/external/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb
deleted file mode 100644
index b6d2f692..00000000
--- a/external/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Userspace tools for Linux IEEE 802.15.4 stack"
-HOMEPAGE = "http://wpan.cakelab.org/releases/"
-DESCRIPTION = "This is a set of utils to manage the Linux WPAN stack via \
-netlink interface. This requires recent kernel with nl802154 interface."
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4cfd939b1d7e6aba9fcefb7f6e2fd45d"
-
-DEPENDS = "libnl"
-
-PV = "0.8+git${SRCPV}"
-SRC_URI = "git://github.com/linux-wpan/wpan-tools \
- "
-SRCREV = "3f473f5136f89773997cb4fff2d8ed647734e2f5"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/README b/external/meta-openembedded/meta-oe/README
index de351f20..10583aef 100644
--- a/external/meta-openembedded/meta-oe/README
+++ b/external/meta-openembedded/meta-oe/README
@@ -4,13 +4,20 @@ meta-oe
This layer depends on:
URI: git://github.com/openembedded/openembedded-core.git
-branch: thud
+branch: dunfell
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][thud]' in the subject'
+luajit recipe requires host compiler to be able to generate 32bit code when target is 32bit
+e.g. arm, so ensure that $CC -m32 is functional on build host, if building this recipe, needed
+packages to fullfit this might have different names on different host distributions
+e.g. on archlinux based distributions install prerequisites like below
+
+pacman -S lib32-gcc-libs lib32-glibc
+
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][dunfell]' 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[thud][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][dunfell][PATCH'
You are encouraged to fork the mirror on GitHub https://github.com/openembedded/openembedded-core
to share your patches, this is preferred for patch sets consisting of more than one patch.
@@ -19,4 +26,4 @@ Other services like gitorious, repo.or.cz or self-hosted setups are of course ac
'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.
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+dunfell maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/external/meta-openembedded/meta-oe/classes/breakpad.bbclass b/external/meta-openembedded/meta-oe/classes/breakpad.bbclass
index 36f11ff4..cebe559a 100644
--- a/external/meta-openembedded/meta-oe/classes/breakpad.bbclass
+++ b/external/meta-openembedded/meta-oe/classes/breakpad.bbclass
@@ -25,6 +25,9 @@ PACKAGE_PREPROCESS_FUNCS += "breakpad_package_preprocess"
breakpad_package_preprocess () {
mkdir -p ${PKGD}/usr/share/breakpad-syms
find ${D} -name ${BREAKPAD_BIN} -exec sh -c "dump_syms {} > ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.sym" \;
+ HASH=$(head -n1 ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.sym | rev | cut -d ' ' -f2 | rev)
+ mkdir -p ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}/${HASH}
+ mv ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.sym ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}/${HASH}
}
PACKAGES =+ "${PN}-breakpad"
diff --git a/external/meta-openembedded/meta-oe/classes/gitpkgv.bbclass b/external/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
index 2d9680a3..180421ed 100644
--- a/external/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
+++ b/external/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
@@ -7,8 +7,8 @@
# NN equals the total number of revs up to SRCREV
# GITHASH is SRCREV's (full) hash
#
-# - GITPKGVTAG which is the output of 'git describe' allowing for
-# automatic versioning
+# - GITPKGVTAG which is the output of 'git describe --tags --exact-match'
+# allowing for automatic versioning
#
# gitpkgv.bbclass assumes the git repository has been cloned, and
# contains SRCREV. So ${GITPKGV} and ${GITPKGVTAG} should never be
@@ -40,10 +40,16 @@
GITPKGV = "${@get_git_pkgv(d, False)}"
GITPKGVTAG = "${@get_git_pkgv(d, True)}"
-def gitpkgv_drop_tag_prefix(version):
+# This regexp is used to drop unwanted parts of the found tags. Any matching
+# groups will be concatenated to yield the final version.
+GITPKGV_TAG_REGEXP ??= "v(\d.*)"
+
+def gitpkgv_drop_tag_prefix(d, version):
import re
- if re.match("v\d", version):
- return version[1:]
+
+ m = re.match(d.getVar('GITPKGV_TAG_REGEXP'), version)
+ if m:
+ return ''.join(group for group in m.groups() if group)
else:
return version
@@ -87,10 +93,8 @@ def get_git_pkgv(d, use_tags):
if not os.path.exists(rev_file) or os.path.getsize(rev_file)==0:
commits = bb.fetch2.runfetchcmd(
- "cd %(repodir)s && "
- "git rev-list %(rev)s -- 2> /dev/null "
- "| wc -l" % vars,
- d, quiet=True).strip().lstrip('0')
+ "git --git-dir=%(repodir)s rev-list %(rev)s -- 2>/dev/null | wc -l"
+ % vars, d, quiet=True).strip().lstrip('0')
if commits != "":
oe.path.remove(rev_file, recurse=False)
@@ -105,10 +109,9 @@ def get_git_pkgv(d, use_tags):
if use_tags:
try:
output = bb.fetch2.runfetchcmd(
- "cd %(repodir)s && "
- "git describe %(rev)s 2>/dev/null" % vars,
- d, quiet=True).strip()
- ver = gitpkgv_drop_tag_prefix(output)
+ "git --git-dir=%(repodir)s describe %(rev)s --tags --exact-match 2>/dev/null"
+ % vars, d, quiet=True).strip()
+ ver = gitpkgv_drop_tag_prefix(d, output)
except Exception:
ver = "0.0-%s-g%s" % (commits, vars['rev'][:7])
else:
diff --git a/external/meta-openembedded/meta-oe/classes/gitver.bbclass b/external/meta-openembedded/meta-oe/classes/gitver.bbclass
index 07f44c34..cab850c7 100644
--- a/external/meta-openembedded/meta-oe/classes/gitver.bbclass
+++ b/external/meta-openembedded/meta-oe/classes/gitver.bbclass
@@ -48,7 +48,7 @@ def get_git_hash(d):
srcdir = d.getVar("EXTERNALSRC") or d.getVar("S")
gitdir = os.path.abspath(os.path.join(srcdir, ".git"))
try:
- rev = gitrev_run("git rev-list HEAD -1")
+ rev = gitrev_run("git rev-list HEAD -1", gitdir)
return rev[:7]
except Exception as exc:
bb.fatal(str(exc))
diff --git a/external/meta-openembedded/meta-oe/classes/itstool.bbclass b/external/meta-openembedded/meta-oe/classes/itstool.bbclass
new file mode 100644
index 00000000..45e3fb83
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/classes/itstool.bbclass
@@ -0,0 +1,5 @@
+# helper class to prepare correct environment for native itstool
+
+inherit python3native
+
+DEPENDS_append = " itstool-native"
diff --git a/external/meta-openembedded/meta-oe/classes/scancode.bbclass b/external/meta-openembedded/meta-oe/classes/scancode.bbclass
index 701660f5..e0f0dbca 100644
--- a/external/meta-openembedded/meta-oe/classes/scancode.bbclass
+++ b/external/meta-openembedded/meta-oe/classes/scancode.bbclass
@@ -3,18 +3,18 @@
# For more informaiton https://github.com/nexB/scancode-toolkit
SCANCODE_FORMAT ?= "html-app"
-EXT = "${@'html' if d.getVar('SCANCODE_FORMAT', True) == 'html-app' else 'json'}"
+EXT = "${@'html' if d.getVar('SCANCODE_FORMAT') == 'html-app' else 'json'}"
SCANCODE_TOOLKIT = "${@get_scancode_toolkit(d)}"
SCANCODE_TAG = "v2.2.1"
SCANCODE_GIT_LOCATION ?= "https://github.com/nexB/scancode-toolkit.git"
SCANCODE_SRC_LOCATION ?= "${DL_DIR}/scancode"
def get_scancode_toolkit(d):
- lf = bb.utils.lockfile(d.getVar('SCANCODE_SRC_LOCATION', True) + ".lock")
- if (not os.path.exists(d.getVar('SCANCODE_SRC_LOCATION', True))):
- os.system("git clone %s %s -b %s" % (d.getVar('SCANCODE_GIT_LOCATION', True), d.getVar('SCANCODE_SRC_LOCATION', True), d.getVar('SCANCODE_TAG', True)))
+ lf = bb.utils.lockfile(d.getVar('SCANCODE_SRC_LOCATION') + ".lock")
+ if (not os.path.exists(d.getVar('SCANCODE_SRC_LOCATION'))):
+ os.system("git clone %s %s -b %s" % (d.getVar('SCANCODE_GIT_LOCATION'), d.getVar('SCANCODE_SRC_LOCATION'), d.getVar('SCANCODE_TAG')))
bb.utils.unlockfile(lf)
- return (d.getVar('SCANCODE_SRC_LOCATION', True))
+ return (d.getVar('SCANCODE_SRC_LOCATION'))
do_scancode() {
mkdir -p ${DEPLOY_DIR_IMAGE}/scancode
diff --git a/external/meta-openembedded/meta-oe/conf/layer.conf b/external/meta-openembedded/meta-oe/conf/layer.conf
index 23c10ce3..adcec830 100644
--- a/external/meta-openembedded/meta-oe/conf/layer.conf
+++ b/external/meta-openembedded/meta-oe/conf/layer.conf
@@ -23,16 +23,25 @@ BBFILE_PATTERN_openembedded-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_openembedded-layer = "6"
+# only activates content when identified layers are present,
+# to ensure yocto compatibility check pass
+BBFILES_DYNAMIC += " \
+meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
+perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \
+"
+
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_openembedded-layer = "1"
LAYERDEPENDS_openembedded-layer = "core"
-LAYERSERIES_COMPAT_openembedded-layer = "thud"
+LAYERSERIES_COMPAT_openembedded-layer = "thud warrior zeus dunfell"
LICENSE_PATH += "${LAYERDIR}/licenses"
+PREFERRED_RPROVIDER_libdevmapper = "lvm2"
+
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
mplayer-common \
fbset-modes \
@@ -47,8 +56,13 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
usb-modeswitch-data->usb-modeswitch \
lmsensors->lmsensors-config \
phoronix-test-suite->bash \
- phoronix-test-suite->python \
+ phoronix-test-suite->python3 \
phoronix-test-suite->php \
+ phoronix-test-suite->lsb-release \
+ phoronix-test-suite->util-linux \
+ phoronix-test-suite->busybox \
+ phoronix-test-suite->shared-mime-info \
+ phoronix-test-suite->desktop-file-utils \
"
# ttf.inc inherits fontcache which adds fontconfig-utils to RDEPENDS
@@ -65,7 +79,9 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
ttf-liberation-sans-narrow->fontconfig \
ttf-lklug->fontconfig \
ttf-lohit->fontconfig \
+ ttf-noto-emoji->fontconfig \
ttf-pt-sans->fontconfig \
+ ttf-roboto->fontconfig \
ttf-mplus->fontconfig \
ttf-sazanami->fontconfig \
ttf-tlwg->fontconfig \
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb
new file mode 100644
index 00000000..de4fa164
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Command line interface for testing internet bandwidth using speedtest.net"
+AUTHOR = "Matt Martz"
+
+LICENSE="Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit setuptools3
+
+SRC_URI = "git://github.com/sivel/speedtest-cli.git"
+SRCREV = "c58ad3367bf27f4b4a4d5b1bca29ebd574731c5d"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS_${PN} = "python3 python3-setuptools-scm"
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb
new file mode 100644
index 00000000..065243cc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb
@@ -0,0 +1,35 @@
+SUMMARY = "A small tool to read/write memory"
+DESCRIPTION = "rwmem is a small tool for reading and writing device registers. \
+rwmem supports two modes: mmap mode and i2c mode. \
+\
+In mmap mode rwmem accesses a file by memory mapping it. \
+Using /dev/mem as the memory mapped file makes rwmem access memory and \
+can thus be used to access devices which have memory mapped registers. \
+\
+In i2c mode rwmem accesses an i2c peripheral by sending i2c messages to it."
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "python3 python3-pybind11"
+
+PV .= "+git${SRCPV}"
+
+SRCREV_rwmem = "3ec3e421211b58e766651c2e3a3a21acf14a1906"
+SRCREV_inih = "4b10c654051a86556dfdb634c891b6c3224c4109"
+
+SRCREV_FORMAT = "rwmem_inih"
+
+SRC_URI = " \
+ git://github.com/tomba/rwmem.git;protocol=https;name=rwmem \
+ git://github.com/benhoyt/inih.git;protocol=https;name=inih;nobranch=1;destsuffix=git/ext/inih \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+do_install() {
+ install -D -m 0755 ${B}/bin/rwmem ${D}${bindir}/rwmem
+ install -D -m 0644 ${B}/lib/librwmem.a ${D}${libdir}/librwmem.a
+}
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..0e38f7d8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,40 @@
+From 50a48a7bd8d65a165ce2aac4ba0c1e02bded04aa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 12:21:31 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/devinput.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/devinput.c b/plugins/devinput.c
+index d4d733a..feb4a61 100644
+--- a/plugins/devinput.c
++++ b/plugins/devinput.c
+@@ -34,6 +34,11 @@
+ #include <linux/uinput.h>
+ #include <sys/stat.h>
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #ifndef EV_SYN
+ /* previous name */
+ #define EV_SYN EV_RST
+@@ -459,7 +464,7 @@ char* devinput_rec(struct ir_remote* remotes)
+ return 0;
+ }
+
+- log_trace("time %ld.%06ld type %d code %d value %d", event.time.tv_sec, event.time.tv_usec, event.type,
++ log_trace("time %ld.%06ld type %d code %d value %d", event.input_event_sec, event.input_event_usec, event.type,
+ event.code, event.value);
+
+ value = (unsigned)event.value;
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lirc.tmpfiles b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc.tmpfiles
index 0b80e2e4..0b80e2e4 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lirc.tmpfiles
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc.tmpfiles
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lirc_options.conf b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc_options.conf
index d8ddedd8..d8ddedd8 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lirc_options.conf
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc_options.conf
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.conf b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.conf
index 29b03c72..29b03c72 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.conf
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.conf
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.init b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.init
index 8b124af6..8b124af6 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.init
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.init
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.service b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.service
index c8661368..c8661368 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircd.service
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.service
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircexec.init b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircexec.init
index 3a8c1a30..3a8c1a30 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/lircexec.init
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircexec.init
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/pollfd.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/pollfd.patch
index 4feea803..4feea803 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/pollfd.patch
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/pollfd.patch
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.9.4d.bb
index b13163de..f5996967 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.9.4d.bb
@@ -6,13 +6,13 @@ DESCRIPTION_append_lirc-nslu2example = " This package contains a working config
HOMEPAGE = "http://www.lirc.org"
SECTION = "console/network"
LICENSE = "GPLv2"
-DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19"
-
+DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \
file://pollfd.patch \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
file://lircd.service \
file://lircd.init \
file://lircexec.init \
@@ -60,9 +60,9 @@ PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python"
RDEPENDS_${PN} = "bash"
RDEPENDS_${PN}-exec = "${PN}"
-RDEPENDS_${PN}-python = "python"
+RDEPENDS_${PN}-python = "python3-shell python3-pyyaml python3-datetime python3-netclient python3-stringold"
-RRECOMMENDS_lirc = "${PN}-exec ${PN}-plugins"
+RRECOMMENDS_${PN} = "${PN}-exec ${PN}-plugins"
FILES_${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs"
FILES_${PN}-contrib = "${datadir}/lirc/contrib"
@@ -72,8 +72,7 @@ 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"
-
+FILES_${PN}-python += "${bindir}/irdb-get ${bindir}/irtext2udp ${bindir}/lircd-setup ${bindir}/pronto2lirc ${libdir}/python*/site-packages"
INITSCRIPT_PACKAGES = "lirc lirc-exec"
INITSCRIPT_NAME_lirc-exec = "lircexec"
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
new file mode 100644
index 00000000..50da5e5d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -0,0 +1,20 @@
+RDEPENDS_packagegroup-meta-oe-devtools += "\
+ python3-distutils-extra \
+ rwmem \
+ speedtest-cli \
+ mongodb \
+"
+
+RDEPENDS_packagegroup-meta-oe-connectivity += "\
+ lirc \
+"
+
+RDEPENDS_packagegroup-meta-oe-extended += "\
+ lcdproc \
+ mozjs \
+"
+RDEPENDS_packagegroup-meta-oe-support += "\
+ smem \
+"
+RDEPENDS_packagegroup-meta-oe-extended_remove_libc-musl = "lcdproc"
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
new file mode 100644
index 00000000..e636adc5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
@@ -0,0 +1,35 @@
+From 97914aeab52b4d0ea0ab9e5ff985a1c5cddb0fa1 Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:41:39 +0200
+Subject: [PATCH 06/10] IntelRDFPMathLib20U1: Check for __DEFINED_wchar_t
+
+This is defined by musl if wchar_t is already defined
+
+avoids errors like
+
+src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h:46:15: error: typedef redefinition with different types
+ ('int' vs 'unsigned int')
+typedef int wchar_t;
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+---
+ src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
+index 56775bc..be96a85 100755
+--- a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
++++ b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
+@@ -43,7 +43,7 @@
+
+ #if 0 // MongoDB Modification -- just `#include <stddef.h>`
+ // Fix system header issue on Sun solaris and define required type by ourselves
+-#if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED) && !defined(__QNX__)
++#if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED) && !defined(__QNX__) && !defined(__DEFINED_wchar_t)
+ typedef int wchar_t;
+ #endif
+ #else
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch
new file mode 100644
index 00000000..5337fcdb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch
@@ -0,0 +1,31 @@
+From ca004968b8d2149f72d4edcfe029489a8c5e10ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Sep 2019 12:31:31 -0700
+Subject: [PATCH] Mark one of strerror_r implementation glibc specific
+
+glibc has two incompatible strerror_r definitions, one of them is
+specific to glibc, mark this one so
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/util/errno_util.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mongo/util/errno_util.cpp b/src/mongo/util/errno_util.cpp
+index 564c0071ea..4f7e1d3a38 100644
+--- a/src/mongo/util/errno_util.cpp
++++ b/src/mongo/util/errno_util.cpp
+@@ -61,7 +61,7 @@ std::string errnoWithDescription(int errNumber) {
+ char buf[kBuflen];
+ char* msg{nullptr};
+
+-#if defined(__GNUC__) && defined(_GNU_SOURCE) && \
++#if defined(__GNUC__) && defined(_GNU_SOURCE) && defined(__GLIBC__) && \
+ (!defined(__ANDROID_API__) || !(__ANDROID_API__ <= 22)) && !defined(EMSCRIPTEN)
+ msg = strerror_r(errNumber, buf, kBuflen);
+ #elif defined(_WIN32)
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch
index 070411ab..3d949c87 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch
@@ -1,7 +1,7 @@
-From 5994023a03634dfc0318976c293e7391fe6aa060 Mon Sep 17 00:00:00 2001
+From 8d035e84c2edb44461ef4df9cdef0a6dfce0a1d7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 24 Aug 2018 12:56:22 -0700
-Subject: [PATCH 1/2] Support deprecated resolver functions
+Subject: [PATCH 07/10] Support deprecated resolver functions
Needed for musl libc
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 6 insertions(+)
diff --git a/src/mongo/util/dns_query_posix-impl.h b/src/mongo/util/dns_query_posix-impl.h
-index d19958010c..bbca3309ed 100644
+index a5e3629..fb29d2d 100644
--- a/src/mongo/util/dns_query_posix-impl.h
+++ b/src/mongo/util/dns_query_posix-impl.h
-@@ -53,6 +53,12 @@
+@@ -54,6 +54,12 @@
#include <boost/noncopyable.hpp>
@@ -29,5 +29,5 @@ index d19958010c..bbca3309ed 100644
namespace dns {
// The anonymous namespace is safe, in this header, as it is not really a header. It is only used
--
-2.18.0
+2.7.4
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
new file mode 100644
index 00000000..19088462
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
@@ -0,0 +1,56 @@
+From 1b2e24e14ee72e54e466be2512c78272f62d60b4 Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:21:44 +0200
+Subject: [PATCH 01/10] Tell scons to use build settings from environment
+ variables
+
+Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+---
+ SConstruct | 8 ++++++--
+ 1 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 7ebbcbc..e63cf15 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -608,6 +608,7 @@ def variable_arch_converter(val):
+ 'amd64': 'x86_64',
+ 'emt64': 'x86_64',
+ 'x86': 'i386',
++ 'aarch64': 'arm64',
+ }
+ val = val.lower()
+
+@@ -695,7 +696,8 @@ env_vars.Add(
+ )
+
+ env_vars.Add('CC',
+- help='Select the C compiler to use')
++ help='Select the C compiler to use',
++ default=os.getenv('CC'))
+
+ env_vars.Add('CCFLAGS',
+ help='Sets flags for the C and C++ compiler',
+@@ -715,7 +717,8 @@ env_vars.Add('CPPPATH',
+ converter=variable_shlex_converter)
+
+ env_vars.Add('CXX',
+- help='Select the C++ compiler to use')
++ help='Select the C++ compiler to use',
++ default=os.getenv('CXX'))
+
+ env_vars.Add('CXXFLAGS',
+ help='Sets flags for the C++ compiler',
+@@ -1018,6 +1021,7 @@ envDict = dict(BUILD_ROOT=buildDir,
+ )
+
+ env = Environment(variables=env_vars, **envDict)
++env.PrependENVPath('PATH', os.getenv('PATH'))
+ del envDict
+
+ for var in ['CC', 'CXX']:
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
new file mode 100644
index 00000000..d98fa56c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
@@ -0,0 +1,41 @@
+From d701ceeb15662038435b80ba556a80c17f76d2dc Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:30:13 +0200
+Subject: [PATCH 03/10] Use __GLIBC__ to control use of gnu_get_libc_version
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+---
+ src/mongo/util/processinfo_linux.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
+index cccb91c..45c4b7d 100644
+--- a/src/mongo/util/processinfo_linux.cpp
++++ b/src/mongo/util/processinfo_linux.cpp
+@@ -44,10 +44,10 @@
+ #include <unistd.h>
+ #ifdef __BIONIC__
+ #include <android/api-level.h>
+-#elif __UCLIBC__
+-#include <features.h>
+-#else
++#elif defined(__GLIBC__) && !defined(__UCLIBC__)
+ #include <gnu/libc-version.h>
++#else
++#include <features.h>
+ #endif
+
+ #include <boost/filesystem.hpp>
+@@ -546,7 +546,7 @@ void ProcessInfo::SystemInfo::collectSystemInfo() {
+ std::stringstream ss;
+ ss << "uClibc-" << __UCLIBC_MAJOR__ << "." << __UCLIBC_MINOR__ << "." << __UCLIBC_SUBLEVEL__;
+ bExtra.append("libcVersion", ss.str());
+-#else
++#elif defined(__GLIBC__)
+ bExtra.append("libcVersion", gnu_get_libc_version());
+ #endif
+ if (!verSig.empty())
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
new file mode 100644
index 00000000..b9c67040
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
@@ -0,0 +1,66 @@
+From 20fcbf2a05ee6542aba942f6006d149db70fb9ce Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 10:03:37 -0700
+Subject: [PATCH 02/10] Use long long instead of int64_t
+
+Fixes
+error: call to member function 'appendNumber' is ambiguous
+since this function expects long long as parameter and not int64_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/util/procparser.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/mongo/util/procparser.cpp b/src/mongo/util/procparser.cpp
+index c574a3f..5ea66b7 100644
+--- a/src/mongo/util/procparser.cpp
++++ b/src/mongo/util/procparser.cpp
+@@ -261,7 +261,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
+
+ StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
+
+- uint64_t value;
++ long long value;
+
+ if (!parseNumberFromString(stringValue, &value).isOK()) {
+ value = 0;
+@@ -273,7 +273,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
+ } else {
+ StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
+
+- uint64_t value;
++ long long value;
+
+ if (!parseNumberFromString(stringValue, &value).isOK()) {
+ value = 0;
+@@ -366,7 +366,7 @@ Status parseProcMemInfo(const std::vector<StringData>& keys,
+
+ StringData stringValue((*partIt).begin(), (*partIt).end());
+
+- uint64_t value;
++ long long value;
+
+ if (!parseNumberFromString(stringValue, &value).isOK()) {
+ value = 0;
+@@ -522,7 +522,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
+ StringData data,
+ BSONObjBuilder* builder) {
+ bool foundKeys = false;
+- std::vector<uint64_t> stats;
++ std::vector<long long> stats;
+ stats.reserve(kDiskFieldCount);
+
+ using string_split_iterator = boost::split_iterator<StringData::const_iterator>;
+@@ -597,7 +597,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
+
+ StringData stringValue((*partIt).begin(), (*partIt).end());
+
+- uint64_t value;
++ long long value;
+
+ if (!parseNumberFromString(stringValue, &value).isOK()) {
+ value = 0;
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
new file mode 100644
index 00000000..e726933f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
@@ -0,0 +1,29 @@
+From 097e8a66930cfa28ac8bfa35f62d0a9ee3b74488 Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:46:52 +0200
+Subject: [PATCH 10/10] asio: Dont use experimental with clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+---
+ src/third_party/asio-master/asio/include/asio/detail/string_view.hpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp b/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
+index f09cebc..fa307b5 100644
+--- a/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
++++ b/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
+@@ -33,8 +33,8 @@ namespace asio {
+ using std::basic_string_view;
+ using std::string_view;
+ #elif defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
+-using std::experimental::basic_string_view;
+-using std::experimental::string_view;
++using std::basic_string_view;
++using std::string_view;
+ #endif // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
+
+ } // namespace asio
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
index 098306f5..869d2849 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
@@ -1,7 +1,7 @@
-From df7ef16afcc6ab55daa686e4f15c16e3d1280337 Mon Sep 17 00:00:00 2001
+From 73c6374ceb0c062e91210cc9ef3e0e9fa30ee514 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Sep 2017 12:42:30 -0700
-Subject: [PATCH 2/4] Add a definition for the macro __ELF_NATIVE_CLASS
+Subject: [PATCH 04/10] Add a definition for the macro __ELF_NATIVE_CLASS
It depends on the native arch's word size.
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 9 insertions(+)
diff --git a/src/mongo/util/stacktrace_posix.cpp b/src/mongo/util/stacktrace_posix.cpp
-index 53ab85f56f..7c458e7ef2 100644
+index 1d7b3d7..f81e329 100644
--- a/src/mongo/util/stacktrace_posix.cpp
+++ b/src/mongo/util/stacktrace_posix.cpp
-@@ -37,6 +37,15 @@
+@@ -39,6 +39,15 @@
#include <string>
#include <sys/utsname.h>
@@ -31,5 +31,5 @@ index 53ab85f56f..7c458e7ef2 100644
#include "mongo/config.h"
#include "mongo/db/jsobj.h"
--
-2.14.1
+2.7.4
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch
index 085fa50d..59066b26 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch
@@ -1,7 +1,7 @@
-From 98543889f7ba38c02eb7cd9822f45e27d619edd6 Mon Sep 17 00:00:00 2001
+From ffe6045b190b735601cd209d3e7ac121604c5a4e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 24 Aug 2018 13:07:01 -0700
-Subject: [PATCH 2/2] Fix default stack size to 256K
+Subject: [PATCH 08/10] Fix default stack size to 256K
On musl default stack size is ~80K which is too low
for mongodb
@@ -10,14 +10,14 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- .../platform/stack_locator_pthread_getattr_np.cpp | 10 ++++++++++
+ src/mongo/platform/stack_locator_pthread_getattr_np.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/mongo/platform/stack_locator_pthread_getattr_np.cpp b/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
-index 648d26a41c..6e398f00c9 100644
+index 4f3044c..68e47e3 100644
--- a/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
+++ b/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
-@@ -35,6 +35,16 @@
+@@ -36,6 +36,16 @@
#include "mongo/util/assert_util.h"
#include "mongo/util/scopeguard.h"
@@ -35,5 +35,5 @@ index 648d26a41c..6e398f00c9 100644
StackLocator::StackLocator() {
--
-2.18.0
+2.7.4
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
new file mode 100644
index 00000000..3a27aacf
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
@@ -0,0 +1,19 @@
+Index: git/SConstruct
+===================================================================
+--- git.orig/SConstruct
++++ git/SConstruct
+@@ -884,6 +884,14 @@ env_vars.Add('WINDOWS_OPENSSL_BIN',
+ help='Sets the path to the openssl binaries for packaging',
+ default='c:/openssl/bin')
+
++env_vars.Add('PREFIX',
++ help='installation prefix')
++
++env_vars.Add('prefix',
++ help='installation prefix')
++
++
++
+ # -- Validate user provided options --
+
+ # A dummy environment that should *only* have the variables we have set. In practice it has
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
new file mode 100644
index 00000000..2cea9bc3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
@@ -0,0 +1,26 @@
+From cc95a8878fa581b164dee8fb1f07b05b9d919ef0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 13:13:15 -0700
+Subject: [PATCH 09/10] wiredtiger: Disable strtouq on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/third_party/wiredtiger/build_linux/wiredtiger_config.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/third_party/wiredtiger/build_linux/wiredtiger_config.h b/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
+index 82e9994..0399a67 100644
+--- a/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
++++ b/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
+@@ -104,7 +104,7 @@
+ #define HAVE_STRING_H 1
+
+ /* Define to 1 if you have the `strtouq' function. */
+-#define HAVE_STRTOUQ 1
++/* #undef HAVE_STRTOUQ 1 */
+
+ /* Define to 1 if you have the `sync_file_range' function. */
+ /* #undef HAVE_SYNC_FILE_RANGE */
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch
new file mode 100644
index 00000000..ae84bcb5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch
@@ -0,0 +1,52 @@
+Upstream-Status: submitted https://github.com/mongodb/mongo/pull/1296
+From 362be06fc16a5ad0f9e9aa90cc763c5242e8e35c Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sat, 9 Feb 2019 12:41:45 +0100
+Subject: [PATCH] ssl_manager.cpp: fix build with gcc 7 and -fpermissive
+
+Change prototype of DERToken::parse function from
+parse(ConstDataRange cdr, size_t* outLength);
+to parse(ConstDataRange cdr, uint64_t* outLength);
+
+Otherwise, we got the following error:
+
+src/mongo/util/net/ssl_manager.cpp: In static member function 'static mongo::StatusWith<mongo::{anonymous}::DERToken> mongo::{anonymous}::DERToken::parse(mongo::ConstDataRange, size_t*)':
+src/mongo/util/net/ssl_manager.cpp:575:79: error: invalid conversion from 'size_t* {aka unsigned int*}' to 'long unsigned int*' [-fpermissive]
+ if (mongoUnsignedAddOverflow64(tagAndLengthByteCount, derLength, outLength) ||
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ src/mongo/util/net/ssl_manager.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/mongo/util/net/ssl_manager.cpp b/src/mongo/util/net/ssl_manager.cpp
+index b93ebe84a4a3..3511eb5d998f 100644
+--- a/src/mongo/util/net/ssl_manager.cpp
++++ b/src/mongo/util/net/ssl_manager.cpp
+@@ -782,7 +782,7 @@ class DERToken {
+ *
+ * Returns a DERToken which consists of the (tag, length, value) tuple.
+ */
+- static StatusWith<DERToken> parse(ConstDataRange cdr, size_t* outLength);
++ static StatusWith<DERToken> parse(ConstDataRange cdr, uint64_t* outLength);
+
+ private:
+ DERType _type{DERType::EndOfContent};
+@@ -799,7 +799,7 @@ struct DataType::Handler<DERToken> {
+ size_t length,
+ size_t* advanced,
+ std::ptrdiff_t debug_offset) {
+- size_t outLength;
++ uint64_t outLength;
+
+ auto swPair = DERToken::parse(ConstDataRange(ptr, length), &outLength);
+
+@@ -844,7 +844,7 @@ StatusWith<std::string> readDERString(ConstDataRangeCursor& cdc) {
+ }
+
+
+-StatusWith<DERToken> DERToken::parse(ConstDataRange cdr, size_t* outLength) {
++StatusWith<DERToken> DERToken::parse(ConstDataRange cdr, uint64_t* outLength) {
+ const size_t kTagLength = 1;
+ const size_t kTagLengthAndInitialLengthByteLength = kTagLength + 1;
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch
new file mode 100644
index 00000000..15bd7da7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch
@@ -0,0 +1,54 @@
+From c9fc9e9a44b0fb764ce86a5e57f17d3c5bbfd8cd Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:37:10 +0200
+Subject: [PATCH 05/10] Add alises for arm64 which is same as aarch64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+---
+ SConstruct | 1 +
+ src/third_party/IntelRDFPMathLib20U1/SConscript | 2 +-
+ src/third_party/wiredtiger/SConscript | 2 +-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index e63cf15..5593c78 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1129,6 +1129,7 @@ elif endian == "big":
+ processor_macros = {
+ 'arm' : { 'endian': 'little', 'defines': ('__arm__',) },
+ 'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
++ 'arm64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
+ 'i386' : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')},
+ 'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)},
+ 's390x' : { 'endian': 'big', 'defines': ('__s390x__',)},
+diff --git a/src/third_party/IntelRDFPMathLib20U1/SConscript b/src/third_party/IntelRDFPMathLib20U1/SConscript
+index f23c071..fb82cd6 100644
+--- a/src/third_party/IntelRDFPMathLib20U1/SConscript
++++ b/src/third_party/IntelRDFPMathLib20U1/SConscript
+@@ -308,7 +308,7 @@ if processor == 'i386' or processor == 'emscripten':
+ elif processor == 'arm':
+ cpp_defines['IA32'] = '1'
+ cpp_defines['ia32'] = '1'
+-elif processor == "aarch64":
++elif processor == "aarch64" or processor == 'arm64':
+ cpp_defines['efi2'] = '1'
+ cpp_defines['EFI2'] = '1'
+ # Using 64 bit little endian
+diff --git a/src/third_party/wiredtiger/SConscript b/src/third_party/wiredtiger/SConscript
+index cdd090b..97a1b3b 100644
+--- a/src/third_party/wiredtiger/SConscript
++++ b/src/third_party/wiredtiger/SConscript
+@@ -152,7 +152,7 @@ condition_map = {
+ 'POSIX_HOST' : not env.TargetOSIs('windows'),
+ 'WINDOWS_HOST' : env.TargetOSIs('windows'),
+
+- 'ARM64_HOST' : env['TARGET_ARCH'] == 'aarch64',
++ 'ARM64_HOST' : env['TARGET_ARCH'] in ('aarch64', 'arm64'),
+ 'POWERPC_HOST' : env['TARGET_ARCH'] == 'ppc64le',
+ 'X86_HOST' : env['TARGET_ARCH'] == 'x86_64',
+ 'ZSERIES_HOST' : env['TARGET_ARCH'] == 's390x',
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
new file mode 100644
index 00000000..58841ef3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
@@ -0,0 +1,76 @@
+SUMMARY = "mongodb"
+LICENSE = "SSPL-1 & Apache-2.0 & Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE-Community.txt;md5=3a865f27f11f43ecbe542d9ea387dcf1 \
+ file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "openssl libpcap zlib boost curl python3 \
+ python3-setuptools-native \
+ python3-pyyaml-native python3-cheetah-native \
+ python3-psutil-native python3-regex-native \
+ "
+
+inherit scons dos2unix siteinfo python3native
+
+PV = "4.2.2"
+#v4.2.2
+SRCREV = "a0bbbff6ada159e19298d37946ac8dc4b497eadf"
+SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.2 \
+ file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
+ file://0001-Use-long-long-instead-of-int64_t.patch \
+ file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \
+ file://0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch \
+ file://arm64-support.patch \
+ file://0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch \
+ file://0001-Support-deprecated-resolver-functions.patch \
+ file://0003-Fix-unknown-prefix-env.patch \
+ file://1296.patch \
+ "
+SRC_URI_append_libc-musl ="\
+ file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
+ file://0002-Fix-default-stack-size-to-256K.patch \
+ file://0004-wiredtiger-Disable-strtouq-on-musl.patch \
+ "
+
+SRC_URI_append_toolchain-clang = "\
+ file://0001-asio-Dont-use-experimental-with-clang.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST ?= '(x86_64|i.86|powerpc64|arm|aarch64).*-linux'
+
+PACKAGECONFIG ??= "tcmalloc system-pcre"
+# gperftools compilation fails for arm below v7 because of missing support of
+# dmb operation. So we use system-allocator instead of tcmalloc
+PACKAGECONFIG_remove_armv6 = "tcmalloc"
+PACKAGECONFIG_remove_libc-musl = "tcmalloc"
+PACKAGECONFIG_remove_riscv64 = "tcmalloc"
+PACKAGECONFIG_remove_riscv32 = "tcmalloc"
+
+PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools,"
+PACKAGECONFIG[shell] = ",--js-engine=none,,"
+PACKAGECONFIG[system-pcre] = "--use-system-pcre,,libpcre,"
+
+EXTRA_OESCONS = "--prefix=${D}${prefix} \
+ LIBPATH=${STAGING_LIBDIR} \
+ LINKFLAGS='${LDFLAGS}' \
+ CXXFLAGS='${CXXFLAGS}' \
+ TARGET_ARCH=${TARGET_ARCH} \
+ --ssl \
+ --disable-warnings-as-errors \
+ --use-system-zlib \
+ --nostrip \
+ --endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+ --wiredtiger=${@['off','on'][d.getVar('SITEINFO_BITS') != '32']} \
+ ${PACKAGECONFIG_CONFARGS} \
+ core"
+
+scons_do_compile() {
+ ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
+ die "scons build execution failed."
+}
+
+scons_do_install() {
+ ${STAGING_BINDIR_NATIVE}/scons install ${EXTRA_OESCONS}|| \
+ die "scons install execution failed."
+}
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch
new file mode 100644
index 00000000..f6a7956d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch
@@ -0,0 +1,33 @@
+From a20feee4963bc38975fbaf44bbe85a31825f59db Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Apr 2019 17:28:28 -0700
+Subject: [PATCH 1/3] Fix parallel build (fix port-internal make dependencies)
+ on many cores
+
+Upstream-Status: Submitted [https://github.com/lcdproc/lcdproc/pull/142]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ server/drivers/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/server/drivers/Makefile.am b/server/drivers/Makefile.am
+index e08f2b2d..4fd2e3f1 100644
+--- a/server/drivers/Makefile.am
++++ b/server/drivers/Makefile.am
+@@ -47,11 +47,11 @@ CwLnx_LDADD = libLCD.a libbignum.a
+ futaba_LDADD = @LIBUSB_LIBS@ @LIBUSB_1_0_LIBS@ libLCD.a
+ g15_LDADD = @LIBG15@
+ glcd_LDADD = libLCD.a @GLCD_DRIVERS@ @FT2_LIBS@ @LIBPNG_LIBS@ @LIBSERDISP@ @LIBUSB_LIBS@ @LIBX11_LIBS@
+-glcd_DEPENDENCIES = @GLCD_DRIVERS@ glcd-glcd-render.o
++glcd_DEPENDENCIES = @GLCD_DRIVERS@ glcd-glcd-render.o libLCD.a
+ glcdlib_LDADD = @LIBGLCD@
+ glk_LDADD = libbignum.a
+ hd44780_LDADD = libLCD.a @HD44780_DRIVERS@ @HD44780_I2C@ @LIBUSB_LIBS@ @LIBFTDI_LIBS@ @LIBUGPIO@ libbignum.a
+-hd44780_DEPENDENCIES = @HD44780_DRIVERS@ @HD44780_I2C@
++hd44780_DEPENDENCIES = @HD44780_DRIVERS@ @HD44780_I2C@ libLCD.a libbignum.a
+ i2500vfd_LDADD = @LIBFTDI_LIBS@
+ imon_LDADD = libLCD.a libbignum.a
+ imonlcd_LDADD = libLCD.a
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch
new file mode 100644
index 00000000..eb866bf1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch
@@ -0,0 +1,41 @@
+From d447a05ee560ba5894d2ed4cd93d0475c2f3c08e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 17 Dec 2019 17:39:32 -0800
+Subject: [PATCH 2/3] Include <limits.h> for PATH_MAX definition
+
+musl libc exposes the missing include
+
+Upstream-Status: Submitted [https://github.com/lcdproc/lcdproc/pull/142]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ server/drivers/hidraw_lib.c | 1 +
+ server/drivers/linux_input.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/server/drivers/hidraw_lib.c b/server/drivers/hidraw_lib.c
+index 49b03f20..3b51f279 100644
+--- a/server/drivers/hidraw_lib.c
++++ b/server/drivers/hidraw_lib.c
+@@ -8,6 +8,7 @@
+ #include <dirent.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <limits.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
+diff --git a/server/drivers/linux_input.c b/server/drivers/linux_input.c
+index 5b914d4c..6fcfc591 100644
+--- a/server/drivers/linux_input.c
++++ b/server/drivers/linux_input.c
+@@ -5,6 +5,7 @@
+
+ #include <dirent.h>
+ #include <errno.h>
++#include <limits.h>
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch
new file mode 100644
index 00000000..e39e9bda
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch
@@ -0,0 +1,35 @@
+From 7fd144f101fa5c9316d3468ed26f55629afe1305 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 17 Dec 2019 17:55:54 -0800
+Subject: [PATCH 3/3] Fix non x86 platforms on musl
+
+Musl only specifies in/outb for x86/x86. Use the fallback path in case
+musl is used.
+
+This should fail compilation during the linking stage but for some reason
+does not. Will do if -Werror=implicit-function-declaration is specified.
+
+Original here: https://github.com/openwrt/packages/blob/master/utils/lcdproc/patches/110-in-outb.patch
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ server/drivers/port.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/server/drivers/port.h b/server/drivers/port.h
+index c584cd4e..bde235b3 100644
+--- a/server/drivers/port.h
++++ b/server/drivers/port.h
+@@ -94,7 +94,7 @@ static inline int port_deny_multiple(unsigned short port, unsigned short count);
+ /* ---------------------------- Linux ------------------------------------ */
+ /* Use ioperm, inb and outb in <sys/io.h> (Linux) */
+ /* And iopl for higher addresses of PCI LPT cards */
+-#if defined HAVE_IOPERM
++#if defined(__GLIBC__) || (defined(__x86__) || defined(__x86_64__))
+
+ /* Glibc2 and Glibc1 */
+ # ifdef HAVE_SYS_IO_H
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
index 93a09f28..275b984e 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
@@ -7,21 +7,26 @@ LICENSE = "GPLv2+"
DEPENDS = "ncurses lirc"
LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
- file://README.md;beginline=107;md5=5c927ce1742d6d5cddc45b7ad6230f75"
+ file://README.md;beginline=107;md5=5db392f043253a2d64b1737068ce6b58"
-BASEPV = "0.5.9"
-PV = "${BASEPV}+git${SRCPV}"
-SRCREV = "a4b5a7e058fdd0d914a61138748b589c0128b45b"
+PV = "0.5.9+git${SRCPV}"
+SRCREV = "3a3d622d9bb74c44fa67bc20573751a207514134"
SRC_URI = "git://github.com/lcdproc/lcdproc \
+ file://0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch \
+ file://0002-Include-limits.h-for-PATH_MAX-definition.patch \
+ file://0003-Fix-non-x86-platforms-on-musl.patch \
"
S = "${WORKDIR}/git"
inherit autotools pkgconfig update-rc.d
-COMPATIBLE_HOST_arm_libc-musl = "null"
+LCD_DRIVERS ?= "all,!irman,!svga${SERIALVFD}"
+SERIALVFD ?= ""
+SERIALVFD_libc-musl = ",!serialVFD"
+SERIALVFD_libc-musl_x86 = ""
+SERIALVFD_libc-musl_x86-64 = ""
-LCD_DRIVERS ?= "all,!irman,!svga"
LCD_DEFAULT_DRIVER ?= "curses"
PACKAGECONFIG ??= "usb"
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Port-build-to-python3.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Port-build-to-python3.patch
new file mode 100644
index 00000000..e525047d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Port-build-to-python3.patch
@@ -0,0 +1,6897 @@
+From 33a373ba41d978af60c2f0230bcba6ad27357ec8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 29 Jan 2020 16:25:11 +0100
+Subject: [PATCH] Port build to python3
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* first tool of choice was 2to3
+* some parts were taken from [1] but during work it was found that this patch
+ introduces interesting effects - see hash functions. Working more on this
+ makes me guess that one has never worked...
+* Few parts were taken from upstream mirror [2]. Since they use six for porting
+ to python3 it adds us a new dependency.
+* To get a better overview what is going on or failing some additional messages
+ were added. The most verbose one is left disabled - see
+ python/mozbuild/mozbuild/configure/__init__.py / Line 310 onwards
+* major changes upstream on build are not to expect so upgrading should cause
+ little trouble and changes can be tracked by [3]
+* some solutions are workarounds/hacks so this patch will not be accepeted
+ upstream. This should not be a probelme for us: once mozjs >= 68 will arrive
+ we have to go to rust/cargo based build anyway.
+
+[1] https://code.foxkit.us/adelie/packages/blob/f2b5773da19ab397fbe64fd32dacc383cfe4cd77/user/mozjs/python3.patch
+[2] https://github.com/mozilla/gecko-dev
+[3] https://github.com/mozilla/gecko-dev/tree/esr60
+
+Upstream-Status: Inaproppriate [Some Hacks]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ build/autoconf/config.status.m4 | 2 +-
+ build/moz.configure/android-ndk.configure | 4 +-
+ build/moz.configure/checks.configure | 4 +-
+ build/moz.configure/init.configure | 31 +-
+ build/moz.configure/keyfiles.configure | 4 +-
+ build/moz.configure/old.configure | 32 +-
+ build/moz.configure/toolchain.configure | 18 +-
+ build/moz.configure/util.configure | 9 +-
+ build/moz.configure/windows.configure | 10 +-
+ build/templates.mozbuild | 2 +-
+ config/MozZipFile.py | 12 +-
+ config/expandlibs.py | 6 +-
+ config/expandlibs_exec.py | 14 +-
+ config/expandlibs_gen.py | 4 +-
+ configure.py | 42 +-
+ js/src/build/moz.build | 8 +-
+ js/src/builtin/embedjs.py | 10 +-
+ js/src/configure | 2 +-
+ js/src/frontend/GenerateReservedWords.py | 6 +-
+ js/src/gc/GenerateStatsPhases.py | 4 +-
+ js/src/old-configure.in | 2 +
+ memory/build/moz.build | 8 +-
+ mozglue/build/moz.build | 22 +-
+ .../mozbuild/mozbuild/action/check_binary.py | 2 +
+ .../mozbuild/action/process_define_files.py | 4 +-
+ python/mozbuild/mozbuild/backend/base.py | 8 +-
+ python/mozbuild/mozbuild/backend/common.py | 8 +-
+ .../mozbuild/backend/configenvironment.py | 14 +-
+ .../mozbuild/mozbuild/backend/fastermake.py | 10 +-
+ .../mozbuild/backend/recursivemake.py | 181 +++----
+ python/mozbuild/mozbuild/config_status.py | 7 +-
+ .../mozbuild/mozbuild/configure/__init__.py | 83 +++-
+ .../mozbuild/configure/check_debug_ranges.py | 6 +-
+ python/mozbuild/mozbuild/configure/options.py | 24 +-
+ python/mozbuild/mozbuild/configure/util.py | 12 +-
+ .../mozbuild/mozbuild/controller/building.py | 16 +-
+ python/mozbuild/mozbuild/frontend/context.py | 89 ++--
+ python/mozbuild/mozbuild/frontend/data.py | 8 +-
+ python/mozbuild/mozbuild/frontend/emitter.py | 50 +-
+ python/mozbuild/mozbuild/frontend/reader.py | 49 +-
+ python/mozbuild/mozbuild/frontend/sandbox.py | 3 +-
+ python/mozbuild/mozbuild/jar.py | 12 +-
+ python/mozbuild/mozbuild/makeutil.py | 24 +-
+ python/mozbuild/mozbuild/mozinfo.py | 8 +-
+ python/mozbuild/mozbuild/preprocessor.py | 27 +-
+ python/mozbuild/mozbuild/shellutil.py | 6 +-
+ .../test/backend/test_recursivemake.py | 18 +-
+ .../mozbuild/test/configure/common.py | 8 +-
+ .../mozbuild/mozbuild/test/configure/lint.py | 8 +-
+ .../test/configure/test_checks_configure.py | 8 +-
+ .../test/configure/test_compile_checks.py | 4 +-
+ .../mozbuild/test/configure/test_configure.py | 244 +++++-----
+ .../mozbuild/test/configure/test_lint.py | 24 +-
+ .../test/configure/test_moz_configure.py | 32 +-
+ .../mozbuild/test/configure/test_options.py | 450 +++++++++---------
+ .../configure/test_toolchain_configure.py | 22 +-
+ .../test/configure/test_toolchain_helpers.py | 62 +--
+ .../configure/test_toolkit_moz_configure.py | 2 +-
+ .../mozbuild/test/configure/test_util.py | 8 +-
+ python/mozbuild/mozbuild/testing.py | 10 +-
+ python/mozbuild/mozbuild/util.py | 79 ++-
+ python/mozbuild/mozbuild/virtualenv.py | 6 +-
+ python/mozbuild/mozpack/chrome/manifest.py | 6 +-
+ python/mozbuild/mozpack/copier.py | 12 +-
+ python/mozbuild/mozpack/files.py | 22 +-
+ python/mozbuild/mozpack/manifests.py | 16 +-
+ python/mozbuild/mozpack/mozjar.py | 37 +-
+ .../manifestparser/manifestparser/ini.py | 13 +-
+ .../manifestparser/manifestparser.py | 24 +-
+ testing/mozbase/mozinfo/mozinfo/mozinfo.py | 26 +-
+ .../mozprocess/mozprocess/processhandler.py | 10 +-
+ third_party/python/which/which.py | 18 +-
+ 72 files changed, 1081 insertions(+), 993 deletions(-)
+
+diff --git a/build/autoconf/config.status.m4 b/build/autoconf/config.status.m4
+index c75575386..543c2d682 100644
+--- a/build/autoconf/config.status.m4
++++ b/build/autoconf/config.status.m4
+@@ -122,7 +122,7 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+ dnl We're going to need [ ] for python syntax.
+ changequote(<<<, >>>)dnl
+-echo creating $CONFIG_STATUS
++echo creating $CONFIG_STATUS in `pwd`
+
+ cat > $CONFIG_STATUS <<EOF
+
+diff --git a/build/moz.configure/android-ndk.configure b/build/moz.configure/android-ndk.configure
+index 1067b8619..3b592a237 100644
+--- a/build/moz.configure/android-ndk.configure
++++ b/build/moz.configure/android-ndk.configure
+@@ -30,7 +30,7 @@ js_option('--with-android-version',
+
+
+ @depends('--with-android-version', min_android_version, '--help')
+-@imports(_from='__builtin__', _import='ValueError')
++@imports(_from='builtins', _import='ValueError')
+ def android_version(value, min_version, _):
+ if not value:
+ # Someone has passed --without-android-version.
+@@ -68,7 +68,7 @@ add_old_configure_assignment('android_ndk', ndk)
+
+ @depends(ndk)
+ @checking('for android ndk version')
+-@imports(_from='__builtin__', _import='open')
++@imports(_from='builtins', _import='open')
+ def ndk_version(ndk):
+ if not ndk:
+ # Building 'js/src' for non-Android.
+diff --git a/build/moz.configure/checks.configure b/build/moz.configure/checks.configure
+index 516652da9..11e1091c6 100644
+--- a/build/moz.configure/checks.configure
++++ b/build/moz.configure/checks.configure
+@@ -14,7 +14,7 @@
+
+
+ @template
+-@imports(_from='__builtin__', _import='Exception')
++@imports(_from='builtins', _import='Exception')
+ def _declare_exceptions():
+ class FatalCheckError(Exception):
+ '''An exception to throw from a function decorated with @checking.
+@@ -57,7 +57,7 @@ def checking(what, callback=None):
+ try:
+ ret = func(*args, **kwargs)
+ except FatalCheckError as e:
+- error = e.message
++ error = str(e)
+ display_ret = callback(ret) if callback else ret
+ if display_ret is True:
+ log.info('yes')
+diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
+index 648ac2ded..4d74547d8 100644
+--- a/build/moz.configure/init.configure
++++ b/build/moz.configure/init.configure
+@@ -14,7 +14,7 @@ option(env='DIST', nargs=1, help='DIST directory')
+
+
+ @depends('--help', 'DIST')
+-@imports(_from='__builtin__', _import='open')
++@imports(_from='builtins', _import='open')
+ @imports(_from='os.path', _import='exists')
+ def check_build_environment(help, dist):
+ topobjdir = os.path.realpath(os.path.abspath('.'))
+@@ -65,7 +65,7 @@ def check_build_environment(help, dist):
+ # Check for CRLF line endings.
+ with open(os.path.join(topsrcdir, 'configure.py'), 'rb') as fh:
+ data = fh.read()
+- if '\r' in data:
++ if b'\r' in data:
+ die('\n ***\n'
+ ' * The source tree appears to have Windows-style line endings.\n'
+ ' *\n'
+@@ -269,7 +269,7 @@ def early_options():
+ def early_options():
+ return set(
+ option.env
+- for option in __sandbox__._options.itervalues()
++ for option in __sandbox__._options.values()
+ if option.env
+ )
+ return early_options
+@@ -307,15 +307,15 @@ def mozconfig_options(mozconfig, automation, help):
+ log.info(' %s' % arg)
+ helper.add(arg, origin='mozconfig', args=helper._args)
+
+- for key, value in mozconfig['env']['added'].iteritems():
++ for key, value in mozconfig['env']['added'].items():
+ add(key, value)
+ os.environ[key] = value
+- for key, (_, value) in mozconfig['env']['modified'].iteritems():
++ for key, (_, value) in mozconfig['env']['modified'].items():
+ add(key, value)
+ os.environ[key] = value
+- for key, value in mozconfig['vars']['added'].iteritems():
++ for key, value in mozconfig['vars']['added'].items():
+ add(key, value)
+- for key, (_, value) in mozconfig['vars']['modified'].iteritems():
++ for key, (_, value) in mozconfig['vars']['modified'].items():
+ add(key, value)
+
+
+@@ -353,7 +353,7 @@ option(env='PYTHON3', nargs=1, help='Python 3 interpreter (3.5 or later)')
+ @depends('PYTHON3')
+ @checking('for Python 3',
+ callback=lambda x: '%s (%s)' % (x.path, x.str_version) if x else 'no')
+-@imports(_from='__builtin__', _import='Exception')
++@imports(_from='builtins', _import='Exception')
+ @imports(_from='mozbuild.pythonutil', _import='find_python3_executable')
+ @imports(_from='mozbuild.pythonutil', _import='python_executable_version')
+ def python3(env_python):
+@@ -377,9 +377,6 @@ def python3(env_python):
+ if not python:
+ return None
+
+- # The API returns a bytes whereas everything in configure is unicode.
+- python = python.decode('utf-8')
+-
+ return namespace(
+ path=python,
+ version=version,
+@@ -481,6 +478,8 @@ def hg_config(build_env, hg, version):
+ @imports('re')
+ def git_version(git):
+ out = check_cmd_output(git, '--version').rstrip()
++ if isinstance(out, bytes):
++ out = out.decode('utf-8')
+
+ match = re.search('git version (.*)$', out)
+
+@@ -551,8 +550,8 @@ option('--target', nargs=1,
+ @imports(_from='mozbuild.configure.constants', _import='Endianness')
+ @imports(_from='mozbuild.configure.constants', _import='Kernel')
+ @imports(_from='mozbuild.configure.constants', _import='OS')
+-@imports(_from='__builtin__', _import='KeyError')
+-@imports(_from='__builtin__', _import='ValueError')
++@imports(_from='builtins', _import='KeyError')
++@imports(_from='builtins', _import='ValueError')
+ def split_triplet(triplet, allow_unknown=False):
+ # The standard triplet is defined as
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+@@ -562,6 +561,8 @@ def split_triplet(triplet, allow_unknown=False):
+ # Additionally, some may omit "unknown" when the manufacturer
+ # is not specified and emit
+ # CPU_TYPE-OPERATING_SYSTEM
++ if isinstance(triplet, bytes):
++ triplet = triplet.decode('utf-8')
+ parts = triplet.split('-', 2)
+ if len(parts) == 3:
+ cpu, _, os = parts
+@@ -987,7 +988,7 @@ add_old_configure_assignment('MOZ_BUILD_APP', build_project)
+ # - otherwise, if we have "a" in GRE_MILESTONE, we're building Nightly or Aurora
+ # - otherwise, we're building Release/Beta (define RELEASE_OR_BETA)
+ @depends(check_build_environment, '--help')
+-@imports(_from='__builtin__', _import='open')
++@imports(_from='builtins', _import='open')
+ @imports('re')
+ def milestone(build_env, _):
+ milestone_path = os.path.join(build_env.topsrcdir,
+@@ -1105,7 +1106,7 @@ def enabled_in_nightly(milestone, _):
+ def all_configure_options():
+ result = []
+ previous = None
+- for option in __sandbox__._options.itervalues():
++ for option in __sandbox__._options.values():
+ # __sandbox__._options contains items for both option.name and
+ # option.env. But it's also an OrderedDict, meaning both are
+ # consecutive.
+diff --git a/build/moz.configure/keyfiles.configure b/build/moz.configure/keyfiles.configure
+index 5d51cccea..14a35a3c6 100644
+--- a/build/moz.configure/keyfiles.configure
++++ b/build/moz.configure/keyfiles.configure
+@@ -16,8 +16,8 @@ def keyfile(desc, default=None, help=None, callback=lambda x: x):
+
+ @depends('--with-%s-keyfile' % name)
+ @checking('for the %s key' % desc, lambda x: x and x is not no_key)
+- @imports(_from='__builtin__', _import='open')
+- @imports(_from='__builtin__', _import='IOError')
++ @imports(_from='builtins', _import='open')
++ @imports(_from='builtins', _import='IOError')
+ def keyfile(value):
+ if value:
+ try:
+diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
+index 81c10b91f..29b496bae 100644
+--- a/build/moz.configure/old.configure
++++ b/build/moz.configure/old.configure
+@@ -64,9 +64,9 @@ set_config('AUTOCONF', autoconf)
+
+ @depends('OLD_CONFIGURE', mozconfig, autoconf, check_build_environment, shell,
+ old_configure_assignments, build_project)
+-@imports(_from='__builtin__', _import='open')
+-@imports(_from='__builtin__', _import='print')
+-@imports(_from='__builtin__', _import='sorted')
++@imports(_from='builtins', _import='open')
++@imports(_from='builtins', _import='print')
++@imports(_from='builtins', _import='sorted')
+ @imports('glob')
+ @imports('itertools')
+ @imports('subprocess')
+@@ -113,7 +113,7 @@ def prepare_configure(old_configure, mozconfig, autoconf, build_env, shell,
+
+ # Make old-configure append to config.log, where we put our own log.
+ # This could be done with a m4 macro, but it's way easier this way
+- script = script.replace('>./config.log', '>>./config.log')
++ script = script.replace(b'>./config.log', b'>>./config.log')
+
+ with open(old_configure, 'wb') as fh:
+ fh.write(script)
+@@ -282,8 +282,8 @@ def old_configure_options(*options):
+ '--x-includes',
+ '--x-libraries',
+ )
+-@imports(_from='__builtin__', _import='compile')
+-@imports(_from='__builtin__', _import='open')
++@imports(_from='builtins', _import='compile')
++@imports(_from='builtins', _import='open')
+ @imports('logging')
+ @imports('os')
+ @imports('subprocess')
+@@ -326,7 +326,7 @@ def old_configure(prepare_configure, extra_old_configure_args, all_options,
+ log.debug('Running %s', quote(*cmd))
+ if extra_env:
+ log.debug('with extra environment: %s',
+- ' '.join('%s=%s' % pair for pair in extra_env.iteritems()))
++ ' '.join('%s=%s' % pair for pair in extra_env.items()))
+
+ # Our logging goes to config.log, the same file old.configure uses.
+ # We can't share the handle on the file, so close it. We assume nothing
+@@ -359,7 +359,7 @@ def old_configure(prepare_configure, extra_old_configure_args, all_options,
+ # Every variation of the exec() function I tried led to:
+ # SyntaxError: unqualified exec is not allowed in function 'main' it
+ # contains a nested function with free variables
+- exec code in raw_config # noqa
++ exec(code, raw_config) # noqa
+
+ # Ensure all the flags known to old-configure appear in the
+ # @old_configure_options above.
+@@ -393,16 +393,24 @@ def set_old_configure_define(name, value):
+ @depends(old_configure)
+ @imports('types')
+ def post_old_configure(raw_config):
++ log.info('post_old_configure started')
++
+ for k, v in raw_config['substs']:
+ set_old_configure_config(
+- k[1:-1], v[1:-1] if isinstance(v, types.StringTypes) else v)
++ k[1:-1], v[1:-1] if isinstance(v, str) else v)
++
++ log.info('post_old_configure 1 finished')
+
+- for k, v in dict(raw_config['defines']).iteritems():
++ for k, v in dict(raw_config['defines']).items():
+ set_old_configure_define(k[1:-1], v[1:-1])
+
++ log.info('post_old_configure 2 finished')
++
+ set_old_configure_config('non_global_defines',
+ raw_config['non_global_defines'])
+
++ log.info('post_old_configure 3 finished')
++
+
+ # Assuming no other option is declared after this function, handle the
+ # env options that were injected by mozconfig_options by creating dummy
+@@ -414,6 +422,7 @@ def post_old_configure(raw_config):
+ @imports('__sandbox__')
+ @imports(_from='mozbuild.configure.options', _import='Option')
+ def remaining_mozconfig_options(_):
++ log.info('remaining_mozconfig_options started')
+ helper = __sandbox__._helper
+ for arg in helper:
+ if helper._origins[arg] != 'mozconfig':
+@@ -422,5 +431,6 @@ def remaining_mozconfig_options(_):
+ if name.isupper() and name not in __sandbox__._options:
+ option = Option(env=name, nargs='*', help=name)
+ helper.handle(option)
++ log.info('remaining_mozconfig_options finished')
+
+ # Please do not add anything after remaining_mozconfig_options()
+diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
+index fc640c75e..c5508dfb7 100755
+--- a/build/moz.configure/toolchain.configure
++++ b/build/moz.configure/toolchain.configure
+@@ -391,7 +391,7 @@ def get_compiler_info(compiler, language):
+ ('CPU', CPU_preprocessor_checks),
+ ('KERNEL', kernel_preprocessor_checks),
+ ):
+- for n, (value, condition) in enumerate(preprocessor_checks.iteritems()):
++ for n, (value, condition) in enumerate(preprocessor_checks.items()):
+ check += dedent('''\
+ #%(if)s %(condition)s
+ %%%(name)s "%(value)s"
+@@ -425,9 +425,9 @@ def get_compiler_info(compiler, language):
+ data = {}
+ for line in result.splitlines():
+ if line.startswith(b'%'):
+- k, _, v = line.partition(' ')
+- k = k.lstrip('%')
+- data[k] = v.replace(' ', '').lstrip('"').rstrip('"')
++ k, _, v = line.partition(b' ')
++ k = k.lstrip(b'%').decode('utf-8')
++ data[k] = v.replace(b' ', b'').lstrip(b'"').rstrip(b'"').decode('utf-8')
+ log.debug('%s = %s', k, data[k])
+
+ try:
+@@ -551,7 +551,7 @@ def check_compiler(compiler, language, target):
+ )
+
+
+-@imports(_from='__builtin__', _import='open')
++@imports(_from='builtins', _import='open')
+ @imports('json')
+ @imports('subprocess')
+ @imports('sys')
+@@ -606,7 +606,7 @@ def vs_major_version(value):
+
+
+ @depends(host, target, vs_major_version, check_build_environment, '--with-visual-studio-version')
+-@imports(_from='__builtin__', _import='sorted')
++@imports(_from='builtins', _import='sorted')
+ @imports(_from='operator', _import='itemgetter')
+ @imports('platform')
+ def vc_compiler_path(host, target, vs_major_version, env, vs_release_name):
+@@ -807,7 +807,7 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
+ target.os != 'Android':
+ return namespace(**{
+ k: [] if k == 'flags' else v
+- for k, v in other_compiler.__dict__.iteritems()
++ for k, v in other_compiler.__dict__.items()
+ })
+
+ # Normally, we'd use `var` instead of `_var`, but the interaction with
+@@ -1238,7 +1238,7 @@ set_config('VISIBILITY_FLAGS', visibility_flags)
+
+ @depends(c_compiler)
+ @imports('multiprocessing')
+-@imports(_from='__builtin__', _import='min')
++@imports(_from='builtins', _import='min')
+ def pgo_flags(compiler):
+ if compiler.type in ('gcc', 'clang'):
+ return namespace(
+@@ -1517,6 +1517,8 @@ def enable_gnu_linker(enable_gold_option, c_compiler, developer_options, build_e
+ gold = check_cmd_output(*detection_cmd).strip()
+ if not gold:
+ return
++ if isinstance(gold, bytes):
++ gold = gold.decode('utf-8')
+
+ goldFullPath = find_program(gold)
+ if goldFullPath is None:
+diff --git a/build/moz.configure/util.configure b/build/moz.configure/util.configure
+index 3284fd8b5..218813e2d 100644
+--- a/build/moz.configure/util.configure
++++ b/build/moz.configure/util.configure
+@@ -25,7 +25,6 @@ def configure_error(message):
+ # does not.
+
+
+-@imports(_from='__builtin__', _import='unicode')
+ @imports('subprocess')
+ @imports('sys')
+ @imports(_from='mozbuild.configure.util', _import='LineIO')
+@@ -39,10 +38,10 @@ def check_cmd_output(*args, **kwargs):
+ if 'env' in kwargs:
+ normalized_env = {}
+ for k, v in kwargs['env'].items():
+- if isinstance(k, unicode):
++ if isinstance(k, str):
+ k = k.encode('utf-8', 'strict')
+
+- if isinstance(v, unicode):
++ if isinstance(v, str):
+ v = v.encode('utf-8', 'strict')
+
+ normalized_env[k] = v
+@@ -285,7 +284,7 @@ def unique_list(l):
+ # ('19.0', 'x64', r'C:\...\amd64\cl.exe')
+ # ('19.0', 'x86', r'C:\...\amd64_x86\cl.exe')
+ @imports(_import='_winreg', _as='winreg')
+-@imports(_from='__builtin__', _import='WindowsError')
++@imports(_from='builtins', _import='WindowsError')
+ @imports(_from='fnmatch', _import='fnmatch')
+ def get_registry_values(pattern, get_32_and_64_bit=False):
+ def enum_helper(func, key):
+@@ -360,6 +359,8 @@ def get_registry_values(pattern, get_32_and_64_bit=False):
+ @imports(_from='mozbuild.configure.util', _import='Version', _as='_Version')
+ def Version(v):
+ 'A version number that can be compared usefully.'
++ if isinstance(v, bytes):
++ v = v.decode('utf-8')
+ return _Version(v)
+
+ # Denotes a deprecated option. Combines option() and @depends:
+diff --git a/build/moz.configure/windows.configure b/build/moz.configure/windows.configure
+index a5b790e3b..2b88fc447 100644
+--- a/build/moz.configure/windows.configure
++++ b/build/moz.configure/windows.configure
+@@ -10,7 +10,7 @@ option('--with-windows-version', nargs=1, default='603',
+
+
+ @depends('--with-windows-version')
+-@imports(_from='__builtin__', _import='ValueError')
++@imports(_from='builtins', _import='ValueError')
+ def valid_windows_version(value):
+ if not value:
+ die('Cannot build with --without-windows-version')
+@@ -50,8 +50,8 @@ def windows_sdk_dir(value, host):
+
+ @imports('os')
+ @imports('re')
+-@imports(_from='__builtin__', _import='sorted')
+-@imports(_from='__builtin__', _import='WindowsError')
++@imports(_from='builtins', _import='sorted')
++@imports(_from='builtins', _import='WindowsError')
+ def get_sdk_dirs(sdk, subdir):
+ def get_dirs_containing(sdk, stem, subdir):
+ base = os.path.join(sdk, stem)
+@@ -96,7 +96,7 @@ def valid_windows_sdk_dir_result(value):
+
+ @depends(c_compiler, windows_sdk_dir, valid_windows_version, 'WINDOWSSDKDIR')
+ @checking('for Windows SDK', valid_windows_sdk_dir_result)
+-@imports(_from='__builtin__', _import='sorted')
++@imports(_from='builtins', _import='sorted')
+ @imports(_from='textwrap', _import='dedent')
+ def valid_windows_sdk_dir(compiler, windows_sdk_dir, target_version,
+ windows_sdk_dir_env):
+@@ -174,7 +174,7 @@ def valid_ucrt_sdk_dir_result(value):
+ @depends(windows_sdk_dir, 'WINDOWSSDKDIR', c_compiler)
+ @checking('for Universal CRT SDK', valid_ucrt_sdk_dir_result)
+ @imports('os')
+-@imports(_from='__builtin__', _import='sorted')
++@imports(_from='builtins', _import='sorted')
+ @imports(_import='mozpack.path', _as='mozpath')
+ def valid_ucrt_sdk_dir(windows_sdk_dir, windows_sdk_dir_env, c_compiler):
+ if windows_sdk_dir_env:
+diff --git a/build/templates.mozbuild b/build/templates.mozbuild
+index 3da850ce5..ae5e410fe 100644
+--- a/build/templates.mozbuild
++++ b/build/templates.mozbuild
+@@ -10,7 +10,7 @@ def Binary():
+ templates.'''
+
+ # Add -llog by default, since we use it all over the place.
+- if CONFIG['OS_TARGET'] == 'Android':
++ if str(CONFIG['OS_TARGET']) == 'Android':
+ OS_LIBS += ['log']
+
+
+diff --git a/config/MozZipFile.py b/config/MozZipFile.py
+index 337fe0521..dc7add4c3 100644
+--- a/config/MozZipFile.py
++++ b/config/MozZipFile.py
+@@ -18,7 +18,7 @@ class ZipFile(zipfile.ZipFile):
+ def __init__(self, file, mode="r", compression=zipfile.ZIP_STORED,
+ lock = False):
+ if lock:
+- assert isinstance(file, basestring)
++ assert isinstance(file, str)
+ self.lockfile = lock_file(file + '.lck')
+ else:
+ self.lockfile = None
+@@ -46,7 +46,7 @@ class ZipFile(zipfile.ZipFile):
+ date_time=time.localtime(time.time()))
+ zinfo.compress_type = self.compression
+ # Add some standard UNIX file access permissions (-rw-r--r--).
+- zinfo.external_attr = (0x81a4 & 0xFFFF) << 16L
++ zinfo.external_attr = (0x81a4 & 0xFFFF) << 16
+ else:
+ zinfo = zinfo_or_arcname
+
+@@ -58,7 +58,7 @@ class ZipFile(zipfile.ZipFile):
+ # as the old, reuse the existing entry.
+
+ doSeek = False # store if we need to seek to the eof after overwriting
+- if self.NameToInfo.has_key(zinfo.filename):
++ if zinfo.filename in self.NameToInfo:
+ # Find the last ZipInfo with our name.
+ # Last, because that's catching multiple overwrites
+ i = len(self.filelist)
+@@ -109,14 +109,14 @@ class ZipFile(zipfile.ZipFile):
+ # adjust file mode if we originally just wrote, now we rewrite
+ self.fp.close()
+ self.fp = open(self.filename, 'r+b')
+- all = map(lambda zi: (zi, True), self.filelist) + \
+- map(lambda zi: (zi, False), self._remove)
++ all = [(zi, True) for zi in self.filelist] + \
++ [(zi, False) for zi in self._remove]
+ all.sort(lambda l, r: cmp(l[0].header_offset, r[0].header_offset))
+ # empty _remove for multiple closes
+ self._remove = []
+
+ lengths = [all[i+1][0].header_offset - all[i][0].header_offset
+- for i in xrange(len(all)-1)]
++ for i in range(len(all)-1)]
+ lengths.append(self.end - all[-1][0].header_offset)
+ to_pos = 0
+ for (zi, keep), length in zip(all, lengths):
+diff --git a/config/expandlibs.py b/config/expandlibs.py
+index ac06c432f..df1fed15d 100644
+--- a/config/expandlibs.py
++++ b/config/expandlibs.py
+@@ -26,7 +26,7 @@ ${LIB_PREFIX}${ROOT}.${LIB_SUFFIX} following these rules:
+ descriptor contains. And for each of these LIBS, also apply the same
+ rules.
+ '''
+-from __future__ import with_statement
++
+ import sys, os, errno
+ import expandlibs_config as conf
+
+@@ -36,7 +36,7 @@ def ensureParentDir(file):
+ if dir and not os.path.exists(dir):
+ try:
+ os.makedirs(dir)
+- except OSError, error:
++ except OSError as error:
+ if error.errno != errno.EEXIST:
+ raise
+
+@@ -140,4 +140,4 @@ class ExpandArgs(list):
+ return [relativize(arg)]
+
+ if __name__ == '__main__':
+- print " ".join(ExpandArgs(sys.argv[1:]))
++ print(" ".join(ExpandArgs(sys.argv[1:])))
+diff --git a/config/expandlibs_exec.py b/config/expandlibs_exec.py
+index df656016c..fb786a6a8 100644
+--- a/config/expandlibs_exec.py
++++ b/config/expandlibs_exec.py
+@@ -20,7 +20,7 @@ With the --symbol-order argument, followed by a file name, it will add the
+ relevant linker options to change the order in which the linker puts the
+ symbols appear in the resulting binary. Only works for ELF targets.
+ '''
+-from __future__ import with_statement
++
+ import sys
+ import os
+ from expandlibs import (
+@@ -304,11 +304,11 @@ class SectionFinder(object):
+ return syms
+
+ def print_command(out, args):
+- print >>out, "Executing: " + " ".join(args)
++ print("Executing: " + " ".join(args), file=out)
+ for tmp in [f for f in args.tmp if os.path.isfile(f)]:
+- print >>out, tmp + ":"
++ print(tmp + ":", file=out)
+ with open(tmp) as file:
+- print >>out, "".join([" " + l for l in file.readlines()])
++ print("".join([" " + l for l in file.readlines()]), file=out)
+ out.flush()
+
+ def main(args, proc_callback=None):
+@@ -338,13 +338,13 @@ def main(args, proc_callback=None):
+ proc = subprocess.Popen(args, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
+ if proc_callback:
+ proc_callback(proc)
+- except Exception, e:
+- print >>sys.stderr, 'error: Launching', args, ':', e
++ except Exception as e:
++ print('error: Launching', args, ':', e, file=sys.stderr)
+ raise e
+ (stdout, stderr) = proc.communicate()
+ if proc.returncode and not options.verbose:
+ print_command(sys.stderr, args)
+- sys.stderr.write(stdout)
++ sys.stderr.write(stdout.decode("utf-8"))
+ sys.stderr.flush()
+ if proc.returncode:
+ return proc.returncode
+diff --git a/config/expandlibs_gen.py b/config/expandlibs_gen.py
+index b1de63cd0..dc62bd184 100644
+--- a/config/expandlibs_gen.py
++++ b/config/expandlibs_gen.py
+@@ -5,7 +5,7 @@
+ '''Given a list of object files and library names, prints a library
+ descriptor to standard output'''
+
+-from __future__ import with_statement
++
+ import sys
+ import os
+ import expandlibs_config as conf
+@@ -38,4 +38,4 @@ if __name__ == '__main__':
+
+ ensureParentDir(options.output)
+ with open(options.output, 'w') as outfile:
+- print >>outfile, generate(args)
++ print(generate(args), file=outfile)
+diff --git a/configure.py b/configure.py
+index 771e34e38..bee329d7c 100644
+--- a/configure.py
++++ b/configure.py
+@@ -2,10 +2,11 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import print_function, unicode_literals
++
+
+ import codecs
+ import itertools
++import logging
+ import os
+ import sys
+ import textwrap
+@@ -34,7 +35,9 @@ from mozbuild.util import (
+ def main(argv):
+ config = {}
+ sandbox = ConfigureSandbox(config, os.environ, argv)
++ print('sandbox.run started')
+ sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
++ print('sandbox.run finished')
+
+ if sandbox._help:
+ return 0
+@@ -56,12 +59,21 @@ def config_status(config):
+
+ sanitized_config = {}
+ sanitized_config['substs'] = {
+- k: sanitized_bools(v) for k, v in config.iteritems()
++ k: sanitized_bools(v) for k, v in config.items()
+ if k not in ('DEFINES', 'non_global_defines', 'TOPSRCDIR', 'TOPOBJDIR',
+ 'ALL_CONFIGURE_PATHS')
+ }
++
++ # Hack around OptionValue entries unknown during compile
++ for opt in ('BUILD_BACKENDS', 'MOZ_UI_LOCALE', 'RUSTFLAGS' ):
++ old = sanitized_config['substs'][opt]
++ new = []
++ for setting in old:
++ new.append(setting)
++ sanitized_config['substs'][opt] = new
++
+ sanitized_config['defines'] = {
+- k: sanitized_bools(v) for k, v in config['DEFINES'].iteritems()
++ k: sanitized_bools(v) for k, v in config['DEFINES'].items()
+ }
+ sanitized_config['non_global_defines'] = config['non_global_defines']
+ sanitized_config['topsrcdir'] = config['TOPSRCDIR']
+@@ -71,20 +83,17 @@ def config_status(config):
+ # Create config.status. Eventually, we'll want to just do the work it does
+ # here, when we're able to skip configure tests/use cached results/not rely
+ # on autoconf.
+- print("Creating config.status", file=sys.stderr)
+- encoding = 'mbcs' if sys.platform == 'win32' else 'utf-8'
+- with codecs.open('config.status', 'w', encoding) as fh:
++ logging.getLogger('moz.configure').info('Creating config.status')
++ with codecs.open('config.status', 'w', 'utf-8') as fh:
+ fh.write(textwrap.dedent('''\
+ #!%(python)s
+- # coding=%(encoding)s
+- from __future__ import unicode_literals
+- from mozbuild.util import encode
+- encoding = '%(encoding)s'
+- ''') % {'python': config['PYTHON'], 'encoding': encoding})
++ # coding=utf-8
++ print("config.status started")
++ ''') % {'python': config['PYTHON']})
+ # A lot of the build backend code is currently expecting byte
+ # strings and breaks in subtle ways with unicode strings. (bug 1296508)
+- for k, v in sanitized_config.iteritems():
+- fh.write('%s = encode(%s, encoding)\n' % (k, indented_repr(v)))
++ for k, v in sanitized_config.items():
++ fh.write('%s = %s\n' % (k, indented_repr(v)))
+ fh.write("__all__ = ['topobjdir', 'topsrcdir', 'defines', "
+ "'non_global_defines', 'substs', 'mozconfig']")
+
+@@ -97,6 +106,9 @@ def config_status(config):
+ args = dict([(name, globals()[name]) for name in __all__])
+ config_status(**args)
+ '''))
++ fh.write(textwrap.dedent('''
++ print("config.status finished")
++ '''))
+
+ partial_config = PartialConfigEnvironment(config['TOPOBJDIR'])
+ partial_config.write_vars(sanitized_config)
+@@ -116,7 +128,7 @@ def config_status(config):
+ # executable permissions.
+ os.chmod('config.status', 0o755)
+ if config.get('MOZ_BUILD_APP') != 'js' or config.get('JS_STANDALONE'):
+- os.environ[b'WRITE_MOZINFO'] = b'1'
++ os.environ['WRITE_MOZINFO'] = '1'
+ from mozbuild.config_status import config_status
+
+ # Some values in sanitized_config also have more complex types, such as
+@@ -127,7 +139,7 @@ def config_status(config):
+
+ # A lot of the build backend code is currently expecting byte strings
+ # and breaks in subtle ways with unicode strings.
+- return config_status(args=[], **encode(sanitized_config, encoding))
++ return config_status(args=[], **sanitized_config)
+ return 0
+
+
+diff --git a/js/src/build/moz.build b/js/src/build/moz.build
+index a7f5fa4ce..856cae32d 100644
+--- a/js/src/build/moz.build
++++ b/js/src/build/moz.build
+@@ -47,22 +47,22 @@ USE_LIBS += [
+ 'zlib',
+ ]
+
+-if CONFIG['OS_ARCH'] not in ('WINNT', 'HP-UX'):
++if str(CONFIG['OS_ARCH']) not in ('WINNT', 'HP-UX'):
+ OS_LIBS += [
+ 'm',
+ ]
+
+-if CONFIG['OS_ARCH'] == 'FreeBSD':
++if str(CONFIG['OS_ARCH']) == 'FreeBSD':
+ OS_LIBS += [
+ '-pthread',
+ ]
+
+-if CONFIG['OS_ARCH'] == 'Linux':
++if str(CONFIG['OS_ARCH']) == 'Linux':
+ OS_LIBS += [
+ 'dl',
+ ]
+
+-if CONFIG['OS_ARCH'] == 'SunOS':
++if str(CONFIG['OS_ARCH']) == 'SunOS':
+ OS_LIBS += [
+ 'posix4',
+ 'dl',
+diff --git a/js/src/builtin/embedjs.py b/js/src/builtin/embedjs.py
+index ba25e71c1..d4f2de122 100644
+--- a/js/src/builtin/embedjs.py
++++ b/js/src/builtin/embedjs.py
+@@ -36,7 +36,7 @@
+ #
+ # It uses the C preprocessor to process its inputs.
+
+-from __future__ import with_statement
++
+ import re, sys, os, subprocess
+ import shlex
+ import which
+@@ -52,8 +52,8 @@ def ToCAsciiArray(lines):
+
+ def ToCArray(lines):
+ result = []
+- for chr in lines:
+- result.append(str(ord(chr)))
++ for char in lines:
++ result.append("0x%0.2X" % char)
+ return ", ".join(result)
+
+ HEADER_TEMPLATE = """\
+@@ -87,7 +87,7 @@ def embed(cxx, preprocessorOption, cppflags, msgs, sources, c_out, js_out, names
+
+ js_out.write(processed)
+ import zlib
+- compressed = zlib.compress(processed)
++ compressed = zlib.compress(processed.encode('utf-8'))
+ data = ToCArray(compressed)
+ c_out.write(HEADER_TEMPLATE % {
+ 'sources_type': 'unsigned char',
+@@ -107,7 +107,7 @@ def preprocess(cxx, preprocessorOption, source, args = []):
+ tmpOut = 'self-hosting-preprocessed.pp';
+ outputArg = shlex.split(preprocessorOption + tmpOut)
+
+- with open(tmpIn, 'wb') as input:
++ with open(tmpIn, 'w') as input:
+ input.write(source)
+ print(' '.join(cxx + outputArg + args + [tmpIn]))
+ result = subprocess.Popen(cxx + outputArg + args + [tmpIn]).wait()
+diff --git a/js/src/configure b/js/src/configure
+index 3b3a39af3..8f5ea41d0 100755
+--- a/js/src/configure
++++ b/js/src/configure
+@@ -24,4 +24,4 @@ export OLD_CONFIGURE="$SRCDIR"/old-configure
+
+ set -- "$@" --enable-project=js
+
+-which python2.7 > /dev/null && exec python2.7 "$TOPSRCDIR/configure.py" "$@" || exec python "$TOPSRCDIR/configure.py" "$@"
++which python3 > /dev/null && exec python3 "$TOPSRCDIR/configure.py" "$@" || exec python "$TOPSRCDIR/configure.py" "$@"
+diff --git a/js/src/frontend/GenerateReservedWords.py b/js/src/frontend/GenerateReservedWords.py
+index 3aa2307b9..381c8e2b4 100644
+--- a/js/src/frontend/GenerateReservedWords.py
++++ b/js/src/frontend/GenerateReservedWords.py
+@@ -80,14 +80,14 @@ def split_list_per_column(reserved_word_list, column):
+ per_column = column_dict.setdefault(word[column], [])
+ per_column.append(item)
+
+- return sorted(column_dict.items(), key=lambda (char, word): ord(char))
++ return sorted(list(column_dict.items()), key=lambda char_word: ord(char_word[0]))
+
+ def generate_letter_switch(opt, unprocessed_columns, reserved_word_list,
+ columns=None):
+ assert(len(reserved_word_list) != 0);
+
+ if not columns:
+- columns = range(0, unprocessed_columns)
++ columns = list(range(0, unprocessed_columns))
+
+ if len(reserved_word_list) == 1:
+ index, word = reserved_word_list[0]
+@@ -161,7 +161,7 @@ def split_list_per_length(reserved_word_list):
+ per_length = length_dict.setdefault(len(word), [])
+ per_length.append(item)
+
+- return sorted(length_dict.items(), key=lambda (length, word): length)
++ return sorted(list(length_dict.items()), key=lambda length_word: length_word[0])
+
+ def generate_switch(opt, reserved_word_list):
+ assert(len(reserved_word_list) != 0);
+diff --git a/js/src/gc/GenerateStatsPhases.py b/js/src/gc/GenerateStatsPhases.py
+index 2daf83555..e39a26a4b 100644
+--- a/js/src/gc/GenerateStatsPhases.py
++++ b/js/src/gc/GenerateStatsPhases.py
+@@ -267,7 +267,7 @@ def generateHeader(out):
+ #
+ # Generate PhaseKind enum.
+ #
+- phaseKindNames = map(lambda phaseKind: phaseKind.name, AllPhaseKinds)
++ phaseKindNames = [phaseKind.name for phaseKind in AllPhaseKinds]
+ extraPhaseKinds = [
+ "NONE = LIMIT",
+ "EXPLICIT_SUSPENSION = LIMIT",
+@@ -279,7 +279,7 @@ def generateHeader(out):
+ #
+ # Generate Phase enum.
+ #
+- phaseNames = map(lambda phase: phase.name, AllPhases)
++ phaseNames = [phase.name for phase in AllPhases]
+ extraPhases = [
+ "NONE = LIMIT",
+ "EXPLICIT_SUSPENSION = LIMIT",
+diff --git a/js/src/old-configure.in b/js/src/old-configure.in
+index 11c3d5a2e..389265404 100644
+--- a/js/src/old-configure.in
++++ b/js/src/old-configure.in
+@@ -1884,3 +1884,5 @@ if test "$JS_STANDALONE"; then
+ fi
+
+ rm -fr confdefs* $ac_clean_files
++echo confdefs* $ac_clean_files removed
++echo "old-configure done"
+diff --git a/memory/build/moz.build b/memory/build/moz.build
+index e2c715271..f09ce7935 100644
+--- a/memory/build/moz.build
++++ b/memory/build/moz.build
+@@ -30,7 +30,7 @@ else:
+ 'fallback.cpp',
+ ]
+
+-if CONFIG['OS_TARGET'] == 'Darwin' and (CONFIG['MOZ_REPLACE_MALLOC'] or
++if str(CONFIG['OS_TARGET']) == 'Darwin' and (CONFIG['MOZ_REPLACE_MALLOC'] or
+ CONFIG['MOZ_MEMORY']):
+ SOURCES += [
+ 'zone.c',
+@@ -38,15 +38,15 @@ if CONFIG['OS_TARGET'] == 'Darwin' and (CONFIG['MOZ_REPLACE_MALLOC'] or
+
+ Library('memory')
+
+-if CONFIG['OS_TARGET'] == 'Android' and CONFIG['CC_TYPE'] == 'clang':
++if str(CONFIG['OS_TARGET']) == 'Android' and str(CONFIG['CC_TYPE']) == 'clang':
+ CXXFLAGS += [
+ '-Wno-tautological-pointer-compare',
+ ]
+
+-if CONFIG['MOZ_BUILD_APP'] != 'memory':
++if str(CONFIG['MOZ_BUILD_APP']) != 'memory':
+ FINAL_LIBRARY = 'mozglue'
+
+-if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
++if str(CONFIG['CC_TYPE']) in ('msvc', 'clang-cl'):
+ CXXFLAGS += ['-wd4273'] # inconsistent dll linkage (bug 558163)
+
+ if CONFIG['MOZ_REPLACE_MALLOC_STATIC']:
+diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
+index 53758485a..5e9308802 100644
+--- a/mozglue/build/moz.build
++++ b/mozglue/build/moz.build
+@@ -9,12 +9,12 @@
+ # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
+ if CONFIG['JS_STANDALONE'] and not CONFIG['MOZ_MEMORY']:
+ Library('mozglue')
+-elif CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
++elif str(CONFIG['OS_TARGET']) in ('WINNT', 'Darwin', 'Android'):
+ SharedLibrary('mozglue')
+ else:
+ Library('mozglue')
+
+-if CONFIG['OS_TARGET'] == 'Android':
++if str(CONFIG['OS_TARGET']) == 'Android':
+ SOURCES += [
+ 'BionicGlue.cpp',
+ ]
+@@ -24,14 +24,14 @@ if CONFIG['MOZ_ASAN']:
+ 'AsanOptions.cpp',
+ ]
+
+-if CONFIG['OS_TARGET'] == 'WINNT':
++if str(CONFIG['OS_TARGET']) == 'WINNT':
+ DEFFILE = 'mozglue.def'
+ # We'll break the DLL blocklist if we immediately load user32.dll
+ DELAYLOAD_DLLS += [
+ 'user32.dll',
+ ]
+
+- if CONFIG['CC_TYPE'] == "msvc":
++ if str(CONFIG['CC_TYPE']) == "msvc":
+ CFLAGS += ['-guard:cf']
+ CXXFLAGS += ['-guard:cf']
+ LDFLAGS += ['-guard:cf']
+@@ -48,12 +48,12 @@ if CONFIG['MOZ_WIDGET_TOOLKIT']:
+ 'dummy.cpp',
+ ]
+
+- if CONFIG['OS_TARGET'] == 'WINNT':
++ if str(CONFIG['OS_TARGET']) == 'WINNT':
+ LOCAL_INCLUDES += [
+ '/memory/build',
+ ]
+
+- if CONFIG['CC_TYPE'] == "msvc":
++ if str(CONFIG['CC_TYPE']) == "msvc":
+ SOURCES += ['WindowsCFGStatus.cpp']
+ SOURCES += [
+ 'Authenticode.cpp',
+@@ -85,17 +85,17 @@ if CONFIG['MOZ_WIDGET_TOOLKIT']:
+ 'WindowsDllBlocklist.h',
+ ]
+
+- if CONFIG['CPU_ARCH'].startswith('x86'):
++ if str(CONFIG['CPU_ARCH']).startswith('x86'):
+ SOURCES += [
+ 'SSE.cpp',
+ ]
+
+- if CONFIG['CPU_ARCH'] == 'arm':
++ if str(CONFIG['CPU_ARCH']) == 'arm':
+ SOURCES += [
+ 'arm.cpp',
+ ]
+
+- if CONFIG['CPU_ARCH'].startswith('mips'):
++ if str(CONFIG['CPU_ARCH']).startswith('mips'):
+ SOURCES += [
+ 'mips.cpp',
+ ]
+@@ -114,7 +114,7 @@ LIBRARY_DEFINES['MOZ_HAS_MOZGLUE'] = True
+
+ LDFLAGS += CONFIG['MOZ_GLUE_WRAP_LDFLAGS']
+
+-if CONFIG['OS_TARGET'] == 'Darwin':
++if str(CONFIG['OS_TARGET']) == 'Darwin':
+ # On OSX 10.10.3, a dead lock happens in some cases involving dynamic
+ # symbol resolution for symbols that jemalloc itself uses. While it
+ # might be possible to find a way to avoid all such symbol resolutions,
+@@ -124,7 +124,7 @@ if CONFIG['OS_TARGET'] == 'Darwin':
+ # for TLS.
+ LDFLAGS += ['-Wl,-bind_at_load']
+
+-if CONFIG['MOZ_LINKER'] and CONFIG['TARGET_CPU'] == 'arm':
++if CONFIG['MOZ_LINKER'] and str(CONFIG['TARGET_CPU']) == 'arm':
+ LDFLAGS += ['-Wl,-version-script,%s/arm-eabi-filter' % SRCDIR]
+
+ DIST_INSTALL = True
+diff --git a/python/mozbuild/mozbuild/action/check_binary.py b/python/mozbuild/mozbuild/action/check_binary.py
+index 5665ef053..b696f73d6 100644
+--- a/python/mozbuild/mozbuild/action/check_binary.py
++++ b/python/mozbuild/mozbuild/action/check_binary.py
+@@ -104,6 +104,8 @@ def iter_readelf_symbols(target, binary):
+
+ def iter_readelf_dynamic(target, binary):
+ for line in get_output(target['readelf'], '-d', binary):
++ if isinstance(line, bytes):
++ line=line.decode('utf-8')
+ data = line.split(None, 2)
+ if data and len(data) == 3 and data[0].startswith('0x'):
+ yield data[1].rstrip(')').lstrip('('), data[2]
+diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
+index 563fbb8fa..c3df2869b 100644
+--- a/python/mozbuild/mozbuild/action/process_define_files.py
++++ b/python/mozbuild/mozbuild/action/process_define_files.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import argparse
+ import os
+@@ -53,7 +53,7 @@ def process_define_file(output, input):
+ 'CONFIGURE_DEFINE_FILE')
+ defines = '\n'.join(sorted(
+ '#define %s %s' % (name, val)
+- for name, val in config.defines['ALLDEFINES'].iteritems()))
++ for name, val in config.defines['ALLDEFINES'].items()))
+ l = l[:m.start('cmd') - 1] \
+ + defines + l[m.end('name'):]
+ elif cmd == 'define':
+diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
+index a8d5c94e0..7cda63475 100644
+--- a/python/mozbuild/mozbuild/backend/base.py
++++ b/python/mozbuild/mozbuild/backend/base.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, unicode_literals
++
+
+ from abc import (
+ ABCMeta,
+@@ -31,7 +31,7 @@ from .configenvironment import ConfigEnvironment
+ from mozbuild.base import ExecutionSummary
+
+
+-class BuildBackend(LoggingMixin):
++class BuildBackend(LoggingMixin, metaclass=ABCMeta):
+ """Abstract base class for build backends.
+
+ A build backend is merely a consumer of the build configuration (the output
+@@ -39,8 +39,6 @@ class BuildBackend(LoggingMixin):
+ is the discretion of the specific implementation.
+ """
+
+- __metaclass__ = ABCMeta
+-
+ def __init__(self, environment):
+ assert isinstance(environment, (ConfigEnvironment, EmptyConfig))
+ self.populate_logger()
+@@ -311,7 +309,7 @@ class BuildBackend(LoggingMixin):
+ srcdir = mozpath.dirname(obj.input_path)
+ pp.context.update({
+ k: ' '.join(v) if isinstance(v, list) else v
+- for k, v in obj.config.substs.iteritems()
++ for k, v in obj.config.substs.items()
+ })
+ pp.context.update(
+ top_srcdir=obj.topsrcdir,
+diff --git a/python/mozbuild/mozbuild/backend/common.py b/python/mozbuild/mozbuild/backend/common.py
+index d00cbbcaf..f747df446 100644
+--- a/python/mozbuild/mozbuild/backend/common.py
++++ b/python/mozbuild/mozbuild/backend/common.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, unicode_literals
++
+
+ import json
+ import os
+@@ -174,7 +174,7 @@ class CommonBackend(BuildBackend):
+ if len(self._idl_manager.idls):
+ self._write_rust_xpidl_summary(self._idl_manager)
+ self._handle_idl_manager(self._idl_manager)
+- self._handle_generated_sources(mozpath.join(self.environment.topobjdir, 'dist/include/%s.h' % idl['root']) for idl in self._idl_manager.idls.values())
++ self._handle_generated_sources(mozpath.join(self.environment.topobjdir, 'dist/include/%s.h' % idl['root']) for idl in list(self._idl_manager.idls.values()))
+
+
+ for config in self._configs:
+@@ -372,14 +372,14 @@ class CommonBackend(BuildBackend):
+
+ with self._write_file(mozpath.join(topobjdir, 'dist', 'xpcrs', 'rt', 'all.rs')) as fh:
+ fh.write("// THIS FILE IS GENERATED - DO NOT EDIT\n\n")
+- for idl in manager.idls.values():
++ for idl in list(manager.idls.values()):
+ fh.write(include_tmpl % ("rt", idl['root']))
+ fh.write(";\n")
+
+ with self._write_file(mozpath.join(topobjdir, 'dist', 'xpcrs', 'bt', 'all.rs')) as fh:
+ fh.write("// THIS FILE IS GENERATED - DO NOT EDIT\n\n")
+ fh.write("&[\n")
+- for idl in manager.idls.values():
++ for idl in list(manager.idls.values()):
+ fh.write(include_tmpl % ("bt", idl['root']))
+ fh.write(",\n")
+ fh.write("]\n")
+diff --git a/python/mozbuild/mozbuild/backend/configenvironment.py b/python/mozbuild/mozbuild/backend/configenvironment.py
+index 3676a7d18..f0896cea4 100644
+--- a/python/mozbuild/mozbuild/backend/configenvironment.py
++++ b/python/mozbuild/mozbuild/backend/configenvironment.py
+@@ -2,14 +2,14 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import
++
+
+ import os
+ import sys
+ import json
+
+ from collections import Iterable, OrderedDict
+-from types import StringTypes, ModuleType
++from types import ModuleType
+
+ import mozpack.path as mozpath
+
+@@ -22,7 +22,7 @@ from mozbuild.shellutil import quote as shell_quote
+
+
+ if sys.version_info.major == 2:
+- text_type = unicode
++ text_type = str
+ else:
+ text_type = str
+
+@@ -151,7 +151,7 @@ class ConfigEnvironment(object):
+ shell_quote(self.defines[name]).replace('$', '$$'))
+ for name in sorted(global_defines)])
+ def serialize(name, obj):
+- if isinstance(obj, StringTypes):
++ if isinstance(obj, str):
+ return obj
+ if isinstance(obj, Iterable):
+ return ' '.join(obj)
+@@ -185,8 +185,8 @@ class ConfigEnvironment(object):
+ except UnicodeDecodeError:
+ return v.decode('utf-8', 'replace')
+
+- for k, v in self.substs.items():
+- if not isinstance(v, StringTypes):
++ for k, v in list(self.substs.items()):
++ if not isinstance(v, str):
+ if isinstance(v, Iterable):
+ type(v)(decode(i) for i in v)
+ elif not isinstance(v, text_type):
+@@ -255,7 +255,7 @@ class PartialConfigDict(object):
+ existing_files = self._load_config_track()
+
+ new_files = set()
+- for k, v in values.iteritems():
++ for k, v in values.items():
+ new_files.add(self._write_file(k, v))
+
+ for filename in existing_files - new_files:
+diff --git a/python/mozbuild/mozbuild/backend/fastermake.py b/python/mozbuild/mozbuild/backend/fastermake.py
+index b029aa10f..b66ade64f 100644
+--- a/python/mozbuild/mozbuild/backend/fastermake.py
++++ b/python/mozbuild/mozbuild/backend/fastermake.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, unicode_literals, print_function
++
+
+ from mozbuild.backend.base import PartialBackend
+ from mozbuild.backend.common import CommonBackend
+@@ -140,7 +140,7 @@ class FasterMakeBackend(CommonBackend, PartialBackend):
+ # Add information for chrome manifest generation
+ manifest_targets = []
+
+- for target, entries in self._manifest_entries.iteritems():
++ for target, entries in self._manifest_entries.items():
+ manifest_targets.append(target)
+ install_target = mozpath.basedir(target, install_manifests_bases)
+ self._install_manifests[install_target].add_content(
+@@ -152,13 +152,13 @@ class FasterMakeBackend(CommonBackend, PartialBackend):
+ % ' '.join(self._install_manifests.keys()))
+
+ # Add dependencies we infered:
+- for target, deps in self._dependencies.iteritems():
++ for target, deps in self._dependencies.items():
+ mk.create_rule([target]).add_dependencies(
+ '$(TOPOBJDIR)/%s' % d for d in deps)
+
+ mk.add_statement('include $(TOPSRCDIR)/config/faster/rules.mk')
+
+- for base, install_manifest in self._install_manifests.iteritems():
++ for base, install_manifest in self._install_manifests.items():
+ with self._write_file(
+ mozpath.join(self.environment.topobjdir, 'faster',
+ 'install_%s' % base.replace('/', '_'))) as fh:
+@@ -167,7 +167,7 @@ class FasterMakeBackend(CommonBackend, PartialBackend):
+ # For artifact builds only, write a single unified manifest for consumption by |mach watch|.
+ if self.environment.is_artifact_build:
+ unified_manifest = InstallManifest()
+- for base, install_manifest in self._install_manifests.iteritems():
++ for base, install_manifest in self._install_manifests.items():
+ # Expect 'dist/bin/**', which includes 'dist/bin' with no trailing slash.
+ assert base.startswith('dist/bin')
+ base = base[len('dist/bin'):]
+diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
+index dd9020d62..aa89cc297 100644
+--- a/python/mozbuild/mozbuild/backend/recursivemake.py
++++ b/python/mozbuild/mozbuild/backend/recursivemake.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, unicode_literals
++
+
+ import logging
+ import os
+@@ -12,7 +12,7 @@ from collections import (
+ defaultdict,
+ namedtuple,
+ )
+-from StringIO import StringIO
++from io import StringIO
+ from itertools import chain
+
+ from mozpack.manifests import (
+@@ -80,75 +80,76 @@ from ..util import (
+ )
+ from ..makeutil import Makefile
+ from mozbuild.shellutil import quote as shell_quote
++from functools import reduce
+
+ MOZBUILD_VARIABLES = [
+- b'ASFLAGS',
+- b'CMSRCS',
+- b'CMMSRCS',
+- b'CPP_UNIT_TESTS',
+- b'DIRS',
+- b'DIST_INSTALL',
+- b'EXTRA_DSO_LDOPTS',
+- b'EXTRA_JS_MODULES',
+- b'EXTRA_PP_COMPONENTS',
+- b'EXTRA_PP_JS_MODULES',
+- b'FORCE_SHARED_LIB',
+- b'FORCE_STATIC_LIB',
+- b'FINAL_LIBRARY',
+- b'HOST_CFLAGS',
+- b'HOST_CSRCS',
+- b'HOST_CMMSRCS',
+- b'HOST_CXXFLAGS',
+- b'HOST_EXTRA_LIBS',
+- b'HOST_LIBRARY_NAME',
+- b'HOST_PROGRAM',
+- b'HOST_SIMPLE_PROGRAMS',
+- b'JAR_MANIFEST',
+- b'JAVA_JAR_TARGETS',
+- b'LIBRARY_NAME',
+- b'LIBS',
+- b'MAKE_FRAMEWORK',
+- b'MODULE',
+- b'NO_DIST_INSTALL',
+- b'NO_EXPAND_LIBS',
+- b'NO_INTERFACES_MANIFEST',
+- b'NO_JS_MANIFEST',
+- b'OS_LIBS',
+- b'PARALLEL_DIRS',
+- b'PREF_JS_EXPORTS',
+- b'PROGRAM',
+- b'RESOURCE_FILES',
+- b'SHARED_LIBRARY_LIBS',
+- b'SHARED_LIBRARY_NAME',
+- b'SIMPLE_PROGRAMS',
+- b'SONAME',
+- b'STATIC_LIBRARY_NAME',
+- b'TEST_DIRS',
+- b'TOOL_DIRS',
++ 'ASFLAGS',
++ 'CMSRCS',
++ 'CMMSRCS',
++ 'CPP_UNIT_TESTS',
++ 'DIRS',
++ 'DIST_INSTALL',
++ 'EXTRA_DSO_LDOPTS',
++ 'EXTRA_JS_MODULES',
++ 'EXTRA_PP_COMPONENTS',
++ 'EXTRA_PP_JS_MODULES',
++ 'FORCE_SHARED_LIB',
++ 'FORCE_STATIC_LIB',
++ 'FINAL_LIBRARY',
++ 'HOST_CFLAGS',
++ 'HOST_CSRCS',
++ 'HOST_CMMSRCS',
++ 'HOST_CXXFLAGS',
++ 'HOST_EXTRA_LIBS',
++ 'HOST_LIBRARY_NAME',
++ 'HOST_PROGRAM',
++ 'HOST_SIMPLE_PROGRAMS',
++ 'JAR_MANIFEST',
++ 'JAVA_JAR_TARGETS',
++ 'LIBRARY_NAME',
++ 'LIBS',
++ 'MAKE_FRAMEWORK',
++ 'MODULE',
++ 'NO_DIST_INSTALL',
++ 'NO_EXPAND_LIBS',
++ 'NO_INTERFACES_MANIFEST',
++ 'NO_JS_MANIFEST',
++ 'OS_LIBS',
++ 'PARALLEL_DIRS',
++ 'PREF_JS_EXPORTS',
++ 'PROGRAM',
++ 'RESOURCE_FILES',
++ 'SHARED_LIBRARY_LIBS',
++ 'SHARED_LIBRARY_NAME',
++ 'SIMPLE_PROGRAMS',
++ 'SONAME',
++ 'STATIC_LIBRARY_NAME',
++ 'TEST_DIRS',
++ 'TOOL_DIRS',
+ # XXX config/Makefile.in specifies this in a make invocation
+ #'USE_EXTENSION_MANIFEST',
+- b'XPCSHELL_TESTS',
+- b'XPIDL_MODULE',
++ 'XPCSHELL_TESTS',
++ 'XPIDL_MODULE',
+ ]
+
+ DEPRECATED_VARIABLES = [
+- b'EXPORT_LIBRARY',
+- b'EXTRA_LIBS',
+- b'HOST_LIBS',
+- b'LIBXUL_LIBRARY',
+- b'MOCHITEST_A11Y_FILES',
+- b'MOCHITEST_BROWSER_FILES',
+- b'MOCHITEST_BROWSER_FILES_PARTS',
+- b'MOCHITEST_CHROME_FILES',
+- b'MOCHITEST_FILES',
+- b'MOCHITEST_FILES_PARTS',
+- b'MOCHITEST_METRO_FILES',
+- b'MOCHITEST_ROBOCOP_FILES',
+- b'MODULE_OPTIMIZE_FLAGS',
+- b'MOZ_CHROME_FILE_FORMAT',
+- b'SHORT_LIBNAME',
+- b'TESTING_JS_MODULES',
+- b'TESTING_JS_MODULE_DIR',
++ 'EXPORT_LIBRARY',
++ 'EXTRA_LIBS',
++ 'HOST_LIBS',
++ 'LIBXUL_LIBRARY',
++ 'MOCHITEST_A11Y_FILES',
++ 'MOCHITEST_BROWSER_FILES',
++ 'MOCHITEST_BROWSER_FILES_PARTS',
++ 'MOCHITEST_CHROME_FILES',
++ 'MOCHITEST_FILES',
++ 'MOCHITEST_FILES_PARTS',
++ 'MOCHITEST_METRO_FILES',
++ 'MOCHITEST_ROBOCOP_FILES',
++ 'MODULE_OPTIMIZE_FLAGS',
++ 'MOZ_CHROME_FILE_FORMAT',
++ 'SHORT_LIBNAME',
++ 'TESTING_JS_MODULES',
++ 'TESTING_JS_MODULE_DIR',
+ ]
+
+ MOZBUILD_VARIABLES_MESSAGE = 'It should only be defined in moz.build files.'
+@@ -207,7 +208,7 @@ class BackendMakeFile(object):
+ self.fh.write(buf)
+
+ def write_once(self, buf):
+- if isinstance(buf, unicode):
++ if isinstance(buf, str):
+ buf = buf.encode('utf-8')
+ if b'\n' + buf not in self.fh.getvalue():
+ self.write(buf)
+@@ -280,7 +281,7 @@ class RecursiveMakeTraversal(object):
+ Helper function to call a filter from compute_dependencies and
+ traverse.
+ """
+- return filter(current, self.get_subdirs(current))
++ return list(filter(current, self.get_subdirs(current)))
+
+ def compute_dependencies(self, filter=None):
+ """
+@@ -710,7 +711,7 @@ class RecursiveMakeBackend(CommonBackend):
+ convenience variables, and the other dependency definitions for a
+ hopefully proper directory traversal.
+ """
+- for tier, no_skip in self._no_skip.items():
++ for tier, no_skip in list(self._no_skip.items()):
+ self.log(logging.DEBUG, 'fill_root_mk', {
+ 'number': len(no_skip), 'tier': tier
+ }, 'Using {number} directories during {tier}')
+@@ -757,7 +758,7 @@ class RecursiveMakeBackend(CommonBackend):
+ for tier, filter in filters:
+ main, all_deps = \
+ self._traversal.compute_dependencies(filter)
+- for dir, deps in all_deps.items():
++ for dir, deps in list(all_deps.items()):
+ if deps is not None or (dir in self._idl_dirs \
+ and tier == 'export'):
+ rule = root_deps_mk.create_rule(['%s/%s' % (dir, tier)])
+@@ -770,7 +771,7 @@ class RecursiveMakeBackend(CommonBackend):
+ rule.add_dependencies('%s/%s' % (d, tier) for d in main)
+
+ all_compile_deps = reduce(lambda x,y: x|y,
+- self._compile_graph.values()) if self._compile_graph else set()
++ list(self._compile_graph.values())) if self._compile_graph else set()
+ # Include the following as dependencies of the top recursion target for
+ # compilation:
+ # - nodes that are not dependended upon by anything. Typically, this
+@@ -783,7 +784,7 @@ class RecursiveMakeBackend(CommonBackend):
+ # as direct dependencies of the top recursion target, to somehow
+ # prioritize them.
+ # 1. See bug 1262241 comment 5.
+- compile_roots = [t for t, deps in self._compile_graph.iteritems()
++ compile_roots = [t for t, deps in list(self._compile_graph.items())
+ if not deps or t not in all_compile_deps]
+
+ rule = root_deps_mk.create_rule(['recurse_compile'])
+@@ -845,14 +846,14 @@ class RecursiveMakeBackend(CommonBackend):
+ rule.add_dependencies(['$(CURDIR)/%: %'])
+
+ def _check_blacklisted_variables(self, makefile_in, makefile_content):
+- if b'EXTERNALLY_MANAGED_MAKE_FILE' in makefile_content:
++ if 'EXTERNALLY_MANAGED_MAKE_FILE' in makefile_content:
+ # Bypass the variable restrictions for externally managed makefiles.
+ return
+
+ for l in makefile_content.splitlines():
+ l = l.strip()
+ # Don't check comments
+- if l.startswith(b'#'):
++ if l.startswith('#'):
+ continue
+ for x in chain(MOZBUILD_VARIABLES, DEPRECATED_VARIABLES):
+ if x not in l:
+@@ -909,11 +910,11 @@ class RecursiveMakeBackend(CommonBackend):
+ # Directories with a Makefile containing a tools target, or
+ # XPI_PKGNAME or INSTALL_EXTENSION_ID can't be skipped and
+ # must run during the 'tools' tier.
+- for t in (b'XPI_PKGNAME', b'INSTALL_EXTENSION_ID',
+- b'tools'):
++ for t in ('XPI_PKGNAME', 'INSTALL_EXTENSION_ID',
++ 'tools'):
+ if t not in content:
+ continue
+- if t == b'tools' and not re.search('(?:^|\s)tools.*::', content, re.M):
++ if t == 'tools' and not re.search('(?:^|\s)tools.*::', content, re.M):
+ continue
+ if objdir == self.environment.topobjdir:
+ continue
+@@ -933,7 +934,7 @@ class RecursiveMakeBackend(CommonBackend):
+ self._fill_root_mk()
+
+ # Make the master test manifest files.
+- for flavor, t in self._test_manifests.items():
++ for flavor, t in list(self._test_manifests.items()):
+ install_prefix, manifests = t
+ manifest_stem = mozpath.join(install_prefix, '%s.ini' % flavor)
+ self._write_master_test_manifest(mozpath.join(
+@@ -1039,7 +1040,7 @@ class RecursiveMakeBackend(CommonBackend):
+ for p in ('Makefile', 'backend.mk', '.deps/.mkdir.done'):
+ build_files.add_optional_exists(p)
+
+- for idl in manager.idls.values():
++ for idl in list(manager.idls.values()):
+ self._install_manifests['dist_idl'].add_link(idl['source'],
+ idl['basename'])
+ self._install_manifests['dist_include'].add_optional_exists('%s.h'
+@@ -1086,7 +1087,7 @@ class RecursiveMakeBackend(CommonBackend):
+
+ interfaces_manifests = []
+ dist_dir = mozpath.join(self.environment.topobjdir, 'dist')
+- for manifest, entries in manager.interface_manifests.items():
++ for manifest, entries in list(manager.interface_manifests.items()):
+ interfaces_manifests.append(mozpath.join('$(DEPTH)', manifest))
+ for xpt in sorted(entries):
+ registered_xpt_files.add(mozpath.join(
+@@ -1194,7 +1195,7 @@ class RecursiveMakeBackend(CommonBackend):
+ # Don't allow files to be defined multiple times unless it is allowed.
+ # We currently allow duplicates for non-test files or test files if
+ # the manifest is listed as a duplicate.
+- for source, (dest, is_test) in obj.installs.items():
++ for source, (dest, is_test) in list(obj.installs.items()):
+ try:
+ self._install_manifests['_test_files'].add_link(source, dest)
+ except ValueError:
+@@ -1558,7 +1559,7 @@ class RecursiveMakeBackend(CommonBackend):
+ man_dir = mozpath.join(self.environment.topobjdir, '_build_manifests',
+ dest)
+
+- for k, manifest in manifests.items():
++ for k, manifest in list(manifests.items()):
+ with self._write_file(mozpath.join(man_dir, k)) as fh:
+ manifest.write(fileobj=fh)
+
+@@ -1593,20 +1594,20 @@ class RecursiveMakeBackend(CommonBackend):
+ pp.context.update(extra)
+ if not pp.context.get('autoconfmk', ''):
+ pp.context['autoconfmk'] = 'autoconf.mk'
+- pp.handleLine(b'# THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT MODIFY BY HAND.\n');
+- pp.handleLine(b'DEPTH := @DEPTH@\n')
+- pp.handleLine(b'topobjdir := @topobjdir@\n')
+- pp.handleLine(b'topsrcdir := @top_srcdir@\n')
+- pp.handleLine(b'srcdir := @srcdir@\n')
+- pp.handleLine(b'VPATH := @srcdir@\n')
+- pp.handleLine(b'relativesrcdir := @relativesrcdir@\n')
+- pp.handleLine(b'include $(DEPTH)/config/@autoconfmk@\n')
++ pp.handleLine('# THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT MODIFY BY HAND.\n');
++ pp.handleLine('DEPTH := @DEPTH@\n')
++ pp.handleLine('topobjdir := @topobjdir@\n')
++ pp.handleLine('topsrcdir := @top_srcdir@\n')
++ pp.handleLine('srcdir := @srcdir@\n')
++ pp.handleLine('VPATH := @srcdir@\n')
++ pp.handleLine('relativesrcdir := @relativesrcdir@\n')
++ pp.handleLine('include $(DEPTH)/config/@autoconfmk@\n')
+ if not stub:
+ pp.do_include(obj.input_path)
+ # Empty line to avoid failures when last line in Makefile.in ends
+ # with a backslash.
+- pp.handleLine(b'\n')
+- pp.handleLine(b'include $(topsrcdir)/config/recurse.mk\n')
++ pp.handleLine('\n')
++ pp.handleLine('include $(topsrcdir)/config/recurse.mk\n')
+ if not stub:
+ # Adding the Makefile.in here has the desired side-effect
+ # that if the Makefile.in disappears, this will force
+diff --git a/python/mozbuild/mozbuild/config_status.py b/python/mozbuild/mozbuild/config_status.py
+index d46f1332d..a9a27a699 100644
+--- a/python/mozbuild/mozbuild/config_status.py
++++ b/python/mozbuild/mozbuild/config_status.py
+@@ -77,6 +77,7 @@ def config_status(topobjdir='.', topsrcdir='.', defines=None,
+ See build/autoconf/config.status.m4.
+ '''
+
++ print("config_status started")
+ if 'CONFIG_FILES' in os.environ:
+ raise Exception('Using the CONFIG_FILES environment variable is not '
+ 'supported.')
+@@ -119,7 +120,7 @@ def config_status(topobjdir='.', topsrcdir='.', defines=None,
+ if 'WRITE_MOZINFO' in os.environ:
+ write_mozinfo(os.path.join(topobjdir, 'mozinfo.json'), env, os.environ)
+
+- cpu_start = time.clock()
++ cpu_start = time.perf_counter()
+ time_start = time.time()
+
+ # Make appropriate backend instances, defaulting to RecursiveMakeBackend,
+@@ -155,7 +156,7 @@ def config_status(topobjdir='.', topsrcdir='.', defines=None,
+ summary = obj.gyp_summary()
+ print(summary, file=sys.stderr)
+
+- cpu_time = time.clock() - cpu_start
++ cpu_time = time.perf_counter() - cpu_start
+ wall_time = time.time() - time_start
+ efficiency = cpu_time / wall_time if wall_time else 100
+ untracked = wall_time - execution_time
+@@ -179,3 +180,5 @@ def config_status(topobjdir='.', topsrcdir='.', defines=None,
+ # Advertise Android Studio if it is appropriate.
+ if MachCommandConditions.is_android(env):
+ print(ANDROID_IDE_ADVERTISEMENT)
++
++ print("config_status finished")
+diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
+index d03615707..13d623d4f 100644
+--- a/python/mozbuild/mozbuild/configure/__init__.py
++++ b/python/mozbuild/mozbuild/configure/__init__.py
+@@ -2,9 +2,9 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
+
+-import __builtin__
++
++import builtins
+ import inspect
+ import logging
+ import os
+@@ -38,6 +38,8 @@ from mozbuild.util import (
+
+ import mozpack.path as mozpath
+
++import traceback
++
+
+ class ConfigureError(Exception):
+ pass
+@@ -69,7 +71,7 @@ class SandboxDependsFunction(object):
+ def __getattr__(self, key):
+ return self._getattr(key).sandboxed
+
+- def __nonzero__(self):
++ def __bool__(self):
+ raise ConfigureError(
+ 'Cannot do boolean operations on @depends functions.')
+
+@@ -96,6 +98,7 @@ class DependsFunction(object):
+ sandbox._value_for(self)
+ elif not sandbox._help:
+ sandbox._execution_queue.append((sandbox._value_for, (self,)))
++ sandbox.tasks_debug_out("DependsFunction.__init %s" % func.__name__)
+
+ @property
+ def name(self):
+@@ -206,6 +209,15 @@ class CombinedDependsFunction(DependsFunction):
+ def __ne__(self, other):
+ return not self == other
+
++ def __hash__(self):
++ # This was one was taken from [1] initially. Should not have done that:
++ # it causes explosion of ConfigureSandbox._execution_queue with 100%
++ # CPU load and eating all avaliable memory...
++ #
++ # [1] https://code.foxkit.us/adelie/packages/blob/f2b5773da19ab397fbe64fd32dacc383cfe4cd77/user/mozjs/python3.patch#L8068
++ return hash((self._name, tuple(self.dependencies)))
++
++
+ class SandboxedGlobal(dict):
+ '''Identifiable dict type for use as function global'''
+
+@@ -253,11 +265,12 @@ class ConfigureSandbox(dict):
+ # The default set of builtins. We expose unicode as str to make sandboxed
+ # files more python3-ready.
+ BUILTINS = ReadOnlyDict({
+- b: getattr(__builtin__, b)
++ b: getattr(builtins, b)
+ for b in ('None', 'False', 'True', 'int', 'bool', 'any', 'all', 'len',
+ 'list', 'tuple', 'set', 'dict', 'isinstance', 'getattr',
+- 'hasattr', 'enumerate', 'range', 'zip')
+- }, __import__=forbidden_import, str=unicode)
++ 'hasattr', 'enumerate', 'range', 'zip', '__build_class__',
++ 'bytes', 'exec')
++ }, __import__=forbidden_import, str=str)
+
+ # Expose a limited set of functions from os.path
+ OS = ReadOnlyNamespace(path=ReadOnlyNamespace(**{
+@@ -294,6 +307,11 @@ class ConfigureSandbox(dict):
+ # Queue of functions to execute, with their arguments
+ self._execution_queue = []
+
++ # For debugging: Show number of tasks started in run() / added elsewhere
++ # and some additional info
++ self.task_debug = False # set True to enable
++ self.tasks_started = 0
++
+ # Store the `when`s associated to some options.
+ self._conditions = {}
+
+@@ -331,7 +349,7 @@ class ConfigureSandbox(dict):
+ return method
+ def wrapped(*args, **kwargs):
+ out_args = [
+- arg.decode(encoding) if isinstance(arg, str) else arg
++ arg.decode(encoding) if isinstance(arg, bytes) else arg
+ for arg in args
+ ]
+ return method(*out_args, **kwargs)
+@@ -360,6 +378,14 @@ class ConfigureSandbox(dict):
+ handler.setFormatter(formatter)
+ logger.addHandler(handler)
+
++ def tasks_debug_out(self, text):
++ if self.task_debug:
++ print("%s / queued %i / done %i" %(text, len(self._execution_queue), self.tasks_started))
++ #if len(self._execution_queue) > 5000:
++ # traceback.print_stack(file=sys.stdout)
++ #if len(self._execution_queue) > 5010:
++ # raise Exception("Too many tasks")
++
+ def include_file(self, path):
+ '''Include one file in the sandbox. Users of this class probably want
+ to use `run` instead.
+@@ -380,6 +406,9 @@ class ConfigureSandbox(dict):
+ if path in self._all_paths:
+ raise ConfigureError(
+ 'Cannot include `%s` because it was included already.' % path)
++
++ if self.task_debug:
++ print("include_file", path)
+ self._paths.append(path)
+ self._all_paths.add(path)
+
+@@ -398,7 +427,7 @@ class ConfigureSandbox(dict):
+ if path:
+ self.include_file(path)
+
+- for option in self._options.itervalues():
++ for option in self._options.values():
+ # All options must be referenced by some @depends function
+ if option not in self._seen:
+ raise ConfigureError(
+@@ -425,6 +454,8 @@ class ConfigureSandbox(dict):
+
+ # Run the execution queue
+ for func, args in self._execution_queue:
++ self.tasks_started += 1
++ self.tasks_debug_out("ConfigureSandbox.run(%s)" % func.__name__)
+ func(*args)
+
+ if self._help:
+@@ -504,7 +535,7 @@ class ConfigureSandbox(dict):
+ value = PositiveOptionValue()
+ elif value is False or value == ():
+ value = NegativeOptionValue()
+- elif isinstance(value, types.StringTypes):
++ elif isinstance(value, (str,)):
+ value = PositiveOptionValue((value,))
+ elif isinstance(value, tuple):
+ value = PositiveOptionValue(value)
+@@ -544,7 +575,7 @@ class ConfigureSandbox(dict):
+ return value
+
+ def _dependency(self, arg, callee_name, arg_name=None):
+- if isinstance(arg, types.StringTypes):
++ if isinstance(arg, (str,)):
+ prefix, name, values = Option.split_option(arg)
+ if values != ():
+ raise ConfigureError("Option must not contain an '='")
+@@ -608,7 +639,7 @@ class ConfigureSandbox(dict):
+ '''
+ when = self._normalize_when(kwargs.get('when'), 'option')
+ args = [self._resolve(arg) for arg in args]
+- kwargs = {k: self._resolve(v) for k, v in kwargs.iteritems()
++ kwargs = {k: self._resolve(v) for k, v in kwargs.items()
+ if k != 'when'}
+ option = Option(*args, **kwargs)
+ if when:
+@@ -689,7 +720,7 @@ class ConfigureSandbox(dict):
+ with self.only_when_impl(when):
+ what = self._resolve(what)
+ if what:
+- if not isinstance(what, types.StringTypes):
++ if not isinstance(what, (str,)):
+ raise TypeError("Unexpected type: '%s'" % type(what).__name__)
+ self.include_file(what)
+
+@@ -707,7 +738,7 @@ class ConfigureSandbox(dict):
+ (k[:-len('_impl')], getattr(self, k))
+ for k in dir(self) if k.endswith('_impl') and k != 'template_impl'
+ )
+- glob.update((k, v) for k, v in self.iteritems() if k not in glob)
++ glob.update((k, v) for k, v in self.items() if k not in glob)
+
+ # Any function argument to the template must be prepared to be sandboxed.
+ # If the template itself returns a function (in which case, it's very
+@@ -731,7 +762,7 @@ class ConfigureSandbox(dict):
+ def wrapper(*args, **kwargs):
+ args = [maybe_prepare_function(arg) for arg in args]
+ kwargs = {k: maybe_prepare_function(v)
+- for k, v in kwargs.iteritems()}
++ for k, v in kwargs.items()}
+ ret = template(*args, **kwargs)
+ if isfunction(ret):
+ # We can't expect the sandboxed code to think about all the
+@@ -766,7 +797,7 @@ class ConfigureSandbox(dict):
+ for value, required in (
+ (_import, True), (_from, False), (_as, False)):
+
+- if not isinstance(value, types.StringTypes) and (
++ if not isinstance(value, (str,)) and (
+ required or value is not None):
+ raise TypeError("Unexpected type: '%s'" % type(value).__name__)
+ if value is not None and not self.RE_MODULE.match(value):
+@@ -807,7 +838,7 @@ class ConfigureSandbox(dict):
+ # Special case for the open() builtin, because otherwise, using it
+ # fails with "IOError: file() constructor not accessible in
+ # restricted mode"
+- if what == '__builtin__.open':
++ if what == 'builtins.open':
+ return lambda *args, **kwargs: open(*args, **kwargs)
+ # Until this proves to be a performance problem, just construct an
+ # import statement and execute it.
+@@ -829,7 +860,7 @@ class ConfigureSandbox(dict):
+ name = self._resolve(name, need_help_dependency=False)
+ if name is None:
+ return
+- if not isinstance(name, types.StringTypes):
++ if not isinstance(name, (str,)):
+ raise TypeError("Unexpected type: '%s'" % type(name).__name__)
+ if name in data:
+ raise ConfigureError(
+@@ -850,6 +881,7 @@ class ConfigureSandbox(dict):
+
+ self._execution_queue.append((
+ self._resolve_and_set, (self._config, name, value, when)))
++ self.tasks_debug_out("ConfigureSandbox.set_config_impl / %s(%s" % (name, value))
+
+ def set_define_impl(self, name, value, when=None):
+ '''Implementation of set_define().
+@@ -864,6 +896,7 @@ class ConfigureSandbox(dict):
+ defines = self._config.setdefault('DEFINES', {})
+ self._execution_queue.append((
+ self._resolve_and_set, (defines, name, value, when)))
++ self.tasks_debug_out("ConfigureSandbox.set_define_impl / %s(%s)" % (name, value))
+
+ def imply_option_impl(self, option, value, reason=None, when=None):
+ '''Implementation of imply_option().
+@@ -922,7 +955,7 @@ class ConfigureSandbox(dict):
+ if isinstance(possible_reasons[0], Option):
+ reason = possible_reasons[0]
+ if not reason and (isinstance(value, (bool, tuple)) or
+- isinstance(value, types.StringTypes)):
++ isinstance(value, (str,))):
+ # A reason can be provided automatically when imply_option
+ # is called with an immediate value.
+ _, filename, line, _, _, _ = inspect.stack()[1]
+@@ -955,10 +988,10 @@ class ConfigureSandbox(dict):
+ if not inspect.isfunction(func):
+ raise TypeError("Unexpected type: '%s'" % type(func).__name__)
+ if func in self._prepared_functions:
+- return func, func.func_globals
++ return func, func.__globals__
+
+ glob = SandboxedGlobal(
+- (k, v) for k, v in func.func_globals.iteritems()
++ (k, v) for k, v in func.__globals__.items()
+ if (inspect.isfunction(v) and v not in self._templates) or (
+ inspect.isclass(v) and issubclass(v, Exception))
+ )
+@@ -979,20 +1012,20 @@ class ConfigureSandbox(dict):
+ # Note this is not entirely bullet proof (if the value is e.g. a list,
+ # the list contents could have changed), but covers the bases.
+ closure = None
+- if func.func_closure:
++ if func.__closure__:
+ def makecell(content):
+ def f():
+ content
+- return f.func_closure[0]
++ return f.__closure__[0]
+
+ closure = tuple(makecell(cell.cell_contents)
+- for cell in func.func_closure)
++ for cell in func.__closure__)
+
+ new_func = self.wraps(func)(types.FunctionType(
+- func.func_code,
++ func.__code__,
+ glob,
+ func.__name__,
+- func.func_defaults,
++ func.__defaults__,
+ closure
+ ))
+ @self.wraps(new_func)
+diff --git a/python/mozbuild/mozbuild/configure/check_debug_ranges.py b/python/mozbuild/mozbuild/configure/check_debug_ranges.py
+index c0caa9cc5..a3e1f37e1 100644
+--- a/python/mozbuild/mozbuild/configure/check_debug_ranges.py
++++ b/python/mozbuild/mozbuild/configure/check_debug_ranges.py
+@@ -6,7 +6,7 @@
+ # to a given compilation unit. This is used as a helper to find a bug in some
+ # versions of GNU ld.
+
+-from __future__ import absolute_import
++
+
+ import subprocess
+ import sys
+@@ -45,6 +45,8 @@ def get_range_length(range, debug_ranges):
+ def main(bin, compilation_unit):
+ p = subprocess.Popen(['objdump', '-W', bin], stdout = subprocess.PIPE, stderr = subprocess.PIPE)
+ (out, err) = p.communicate()
++ if isinstance(out, bytes):
++ out = out.decode('utf-8')
+ sections = re.split('\n(Contents of the|The section) ', out)
+ debug_info = [s for s in sections if s.startswith('.debug_info')]
+ debug_ranges = [s for s in sections if s.startswith('.debug_ranges')]
+@@ -59,4 +61,4 @@ def main(bin, compilation_unit):
+
+
+ if __name__ == '__main__':
+- print(main(*sys.argv[1:]))
++ print((main(*sys.argv[1:])))
+diff --git a/python/mozbuild/mozbuild/configure/options.py b/python/mozbuild/mozbuild/configure/options.py
+index 53ae2ae6d..4d80cad86 100644
+--- a/python/mozbuild/mozbuild/configure/options.py
++++ b/python/mozbuild/mozbuild/configure/options.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import os
+ import sys
+@@ -12,7 +12,7 @@ from collections import OrderedDict
+
+ def istupleofstrings(obj):
+ return isinstance(obj, tuple) and len(obj) and all(
+- isinstance(o, types.StringTypes) for o in obj)
++ isinstance(o, (str,)) for o in obj)
+
+
+ class OptionValue(tuple):
+@@ -88,7 +88,7 @@ class PositiveOptionValue(OptionValue):
+ in the form of a tuple for when values are given to the option (in the form
+ --option=value[,value2...].
+ '''
+- def __nonzero__(self):
++ def __bool__(self):
+ return True
+
+
+@@ -113,7 +113,7 @@ class ConflictingOptionError(InvalidOptionError):
+ if format_data:
+ message = message.format(**format_data)
+ super(ConflictingOptionError, self).__init__(message)
+- for k, v in format_data.iteritems():
++ for k, v in format_data.items():
+ setattr(self, k, v)
+
+
+@@ -149,7 +149,7 @@ class Option(object):
+ 'At least an option name or an environment variable name must '
+ 'be given')
+ if name:
+- if not isinstance(name, types.StringTypes):
++ if not isinstance(name, (str,)):
+ raise InvalidOptionError('Option must be a string')
+ if not name.startswith('--'):
+ raise InvalidOptionError('Option must start with `--`')
+@@ -158,7 +158,7 @@ class Option(object):
+ if not name.islower():
+ raise InvalidOptionError('Option must be all lowercase')
+ if env:
+- if not isinstance(env, types.StringTypes):
++ if not isinstance(env, (str,)):
+ raise InvalidOptionError(
+ 'Environment variable name must be a string')
+ if not env.isupper():
+@@ -168,8 +168,8 @@ class Option(object):
+ isinstance(nargs, int) and nargs >= 0):
+ raise InvalidOptionError(
+ "nargs must be a positive integer, '?', '*' or '+'")
+- if (not isinstance(default, types.StringTypes) and
+- not isinstance(default, (bool, types.NoneType)) and
++ if (not isinstance(default, (str,)) and
++ not isinstance(default, (bool, type(None))) and
+ not istupleofstrings(default)):
+ raise InvalidOptionError(
+ 'default must be a bool, a string or a tuple of strings')
+@@ -241,7 +241,7 @@ class Option(object):
+ ', '.join("'%s'" % c for c in choices))
+ elif has_choices:
+ maxargs = self.maxargs
+- if len(choices) < maxargs and maxargs != sys.maxint:
++ if len(choices) < maxargs and maxargs != sys.maxsize:
+ raise InvalidOptionError('Not enough `choices` for `nargs`')
+ self.choices = choices
+ self.help = help
+@@ -255,7 +255,7 @@ class Option(object):
+ where prefix is one of 'with', 'without', 'enable' or 'disable'.
+ The '=values' part is optional. Values are separated with commas.
+ '''
+- if not isinstance(option, types.StringTypes):
++ if not isinstance(option, (str,)):
+ raise InvalidOptionError('Option must be a string')
+
+ elements = option.split('=', 1)
+@@ -308,7 +308,7 @@ class Option(object):
+ def maxargs(self):
+ if isinstance(self.nargs, int):
+ return self.nargs
+- return 1 if self.nargs == '?' else sys.maxint
++ return 1 if self.nargs == '?' else sys.maxsize
+
+ def _validate_nargs(self, num):
+ minargs, maxargs = self.minargs, self.maxargs
+@@ -499,5 +499,5 @@ class CommandLineHelper(object):
+
+ def __iter__(self):
+ for d in (self._args, self._extra_args):
+- for arg, pos in d.itervalues():
++ for arg, pos in d.values():
+ yield arg
+diff --git a/python/mozbuild/mozbuild/configure/util.py b/python/mozbuild/mozbuild/configure/util.py
+index 9d8b2eb0e..a12986e48 100644
+--- a/python/mozbuild/mozbuild/configure/util.py
++++ b/python/mozbuild/mozbuild/configure/util.py
+@@ -77,15 +77,7 @@ class ConfigureOutputHandler(logging.Handler):
+ # Python has this feature where it sets the encoding of pipes to
+ # ascii, which blatantly fails when trying to print out non-ascii.
+ def fix_encoding(fh):
+- try:
+- isatty = fh.isatty()
+- except AttributeError:
+- isatty = True
+-
+- if not isatty:
+- encoding = getpreferredencoding()
+- if encoding:
+- return codecs.getwriter(encoding)(fh)
++ # no magic on oe / python3
+ return fh
+
+ self._stdout = fix_encoding(stdout)
+@@ -200,7 +192,7 @@ class LineIO(object):
+ self._errors = errors
+
+ def write(self, buf):
+- if self._encoding and isinstance(buf, str):
++ if self._encoding and isinstance(buf, bytes):
+ buf = buf.decode(self._encoding, self._errors)
+ lines = buf.splitlines()
+ if not lines:
+diff --git a/python/mozbuild/mozbuild/controller/building.py b/python/mozbuild/mozbuild/controller/building.py
+index d5af532f7..e9810fe58 100644
+--- a/python/mozbuild/mozbuild/controller/building.py
++++ b/python/mozbuild/mozbuild/controller/building.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, unicode_literals
++
+
+ import errno
+ import getpass
+@@ -146,7 +146,7 @@ class TierStatus(object):
+ """
+ o = []
+
+- for tier, state in self.tiers.items():
++ for tier, state in list(self.tiers.items()):
+ t_entry = dict(
+ name=tier,
+ start=state['begin_time'],
+@@ -574,7 +574,7 @@ class BuildProgressFooter(Footer):
+
+ def __init__(self, terminal, monitor):
+ Footer.__init__(self, terminal)
+- self.tiers = monitor.tiers.tier_status.viewitems()
++ self.tiers = monitor.tiers.tier_status.items()
+
+ def draw(self):
+ """Draws this footer in the terminal."""
+@@ -911,8 +911,8 @@ class CCacheStats(object):
+
+ return '\n'.join(lines)
+
+- def __nonzero__(self):
+- relative_values = [v for k, v in self._values.items()
++ def __bool__(self):
++ relative_values = [v for k, v in list(self._values.items())
+ if k not in self.ABSOLUTE_KEYS]
+ return (all(v >= 0 for v in relative_values) and
+ any(v > 0 for v in relative_values))
+@@ -1156,7 +1156,7 @@ class BuildDriver(MozbuildObject):
+
+ high_finder, finder_percent = monitor.have_high_finder_usage()
+ if high_finder:
+- print(FINDER_SLOW_MESSAGE % finder_percent)
++ print((FINDER_SLOW_MESSAGE % finder_percent))
+
+ ccache_end = monitor.ccache_stats()
+
+@@ -1276,8 +1276,8 @@ class BuildDriver(MozbuildObject):
+ """Install test files."""
+
+ if self.is_clobber_needed():
+- print(INSTALL_TESTS_CLOBBER.format(
+- clobber_file=os.path.join(self.topobjdir, 'CLOBBER')))
++ print((INSTALL_TESTS_CLOBBER.format(
++ clobber_file=os.path.join(self.topobjdir, 'CLOBBER'))))
+ sys.exit(1)
+
+ if not test_objs:
+diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozbuild/frontend/context.py
+index fbdbefc1d..1aef6a65a 100644
+--- a/python/mozbuild/mozbuild/frontend/context.py
++++ b/python/mozbuild/mozbuild/frontend/context.py
+@@ -14,7 +14,7 @@ If you are looking for the absolute authority on what moz.build files can
+ contain, you've come to the right place.
+ """
+
+-from __future__ import absolute_import, unicode_literals
++
+
+ import os
+
+@@ -237,15 +237,15 @@ class Context(KeyedDefaultDict):
+ This function is transactional: if setitem fails for one of the values,
+ the context is not updated at all."""
+ if isinstance(iterable, dict):
+- iterable = iterable.items()
++ iterable = list(iterable.items())
+
+ update = {}
+- for key, value in itertools.chain(iterable, kwargs.items()):
++ for key, value in itertools.chain(iterable, list(kwargs.items())):
+ stored_type = self._validate(key, value)
+ # Don't create an instance of stored_type if coercion is needed,
+ # until all values are validated.
+ update[key] = (value, stored_type)
+- for key, (value, stored_type) in update.items():
++ for key, (value, stored_type) in list(update.items()):
+ if not isinstance(value, stored_type):
+ update[key] = stored_type(value)
+ else:
+@@ -311,7 +311,7 @@ class BaseCompileFlags(ContextDerivedValue, dict):
+ # a template were set and which were provided as defaults.
+ template_name = getattr(context, 'template', None)
+ if template_name in (None, 'Gyp'):
+- dict.__init__(self, ((k, v if v is None else TypedList(unicode)(v))
++ dict.__init__(self, ((k, v if v is None else TypedList(str)(v))
+ for k, v, _ in self.flag_variables))
+ else:
+ dict.__init__(self)
+@@ -520,13 +520,13 @@ class CompileFlags(BaseCompileFlags):
+ if key in self and self[key] is None:
+ raise ValueError('`%s` may not be set in COMPILE_FLAGS from moz.build, this '
+ 'value is resolved from the emitter.' % key)
+- if not (isinstance(value, list) and all(isinstance(v, basestring) for v in value)):
++ if not (isinstance(value, list) and all(isinstance(v, str) for v in value)):
+ raise ValueError('A list of strings must be provided as a value for a '
+ 'compile flags category.')
+ dict.__setitem__(self, key, value)
+
+
+-class FinalTargetValue(ContextDerivedValue, unicode):
++class FinalTargetValue(ContextDerivedValue, str):
+ def __new__(cls, context, value=""):
+ if not value:
+ value = 'dist/'
+@@ -536,7 +536,7 @@ class FinalTargetValue(ContextDerivedValue, unicode):
+ value += 'bin'
+ if context['DIST_SUBDIR']:
+ value += '/' + context['DIST_SUBDIR']
+- return unicode.__new__(cls, value)
++ return str.__new__(cls, value)
+
+
+ def Enum(*values):
+@@ -584,7 +584,7 @@ class PathMeta(type):
+ cls = SourcePath
+ return super(PathMeta, cls).__call__(context, value)
+
+-class Path(ContextDerivedValue, unicode):
++class Path(ContextDerivedValue, str, metaclass=PathMeta):
+ """Stores and resolves a source path relative to a given context
+
+ This class is used as a backing type for some of the sandbox variables.
+@@ -595,7 +595,6 @@ class Path(ContextDerivedValue, unicode):
+ - '!objdir/relative/paths'
+ - '%/filesystem/absolute/paths'
+ """
+- __metaclass__ = PathMeta
+
+ def __new__(cls, context, value=None):
+ return super(Path, cls).__new__(cls, value)
+@@ -612,10 +611,14 @@ class Path(ContextDerivedValue, unicode):
+ """
+ return Path(self.context, mozpath.join(self, *p))
+
++ @staticmethod
++ def cmp(a, b):
++ return (a > b) - (a < b)
++
+ def __cmp__(self, other):
+ if isinstance(other, Path) and self.srcdir != other.srcdir:
+- return cmp(self.full_path, other.full_path)
+- return cmp(unicode(self), other)
++ return self.cmp(self.full_path, other.full_path)
++ return self.cmp(str(self), other)
+
+ # __cmp__ is not enough because unicode has __eq__, __ne__, etc. defined
+ # and __cmp__ is only used for those when they don't exist.
+@@ -773,7 +776,7 @@ def ContextDerivedTypedRecord(*fields):
+ __slots__ = tuple([name for name, _ in fields])
+
+ def __init__(self, context):
+- for fname, ftype in self._fields.items():
++ for fname, ftype in list(self._fields.items()):
+ if issubclass(ftype, ContextDerivedValue):
+ setattr(self, fname, self._fields[fname](context))
+ else:
+@@ -909,8 +912,8 @@ def TypedListWithAction(typ, action):
+ return _TypedListWithAction
+
+ WebPlatformTestManifest = TypedNamedTuple("WebPlatformTestManifest",
+- [("manifest_path", unicode),
+- ("test_root", unicode)])
++ [("manifest_path", str),
++ ("test_root", str)])
+ ManifestparserManifestList = OrderedPathListWithAction(read_manifestparser_manifest)
+ ReftestManifestList = OrderedPathListWithAction(read_reftest_manifest)
+ WptManifestList = TypedListWithAction(WebPlatformTestManifest, read_wpt_manifest)
+@@ -918,18 +921,18 @@ WptManifestList = TypedListWithAction(WebPlatformTestManifest, read_wpt_manifest
+ OrderedSourceList = ContextDerivedTypedList(SourcePath, StrictOrderingOnAppendList)
+ OrderedTestFlavorList = TypedList(Enum(*all_test_flavors()),
+ StrictOrderingOnAppendList)
+-OrderedStringList = TypedList(unicode, StrictOrderingOnAppendList)
++OrderedStringList = TypedList(str, StrictOrderingOnAppendList)
+ DependentTestsEntry = ContextDerivedTypedRecord(('files', OrderedSourceList),
+ ('tags', OrderedStringList),
+ ('flavors', OrderedTestFlavorList))
+ BugzillaComponent = TypedNamedTuple('BugzillaComponent',
+- [('product', unicode), ('component', unicode)])
++ [('product', str), ('component', str)])
+ SchedulingComponents = ContextDerivedTypedRecord(
+- ('inclusive', TypedList(unicode, StrictOrderingOnAppendList)),
+- ('exclusive', TypedList(unicode, StrictOrderingOnAppendList)))
++ ('inclusive', TypedList(str, StrictOrderingOnAppendList)),
++ ('exclusive', TypedList(str, StrictOrderingOnAppendList)))
+
+ GeneratedFilesList = StrictOrderingOnAppendListWithFlagsFactory({
+- 'script': unicode,
++ 'script': str,
+ 'inputs': list,
+ 'flags': list, })
+
+@@ -1096,7 +1099,7 @@ class Files(SubContext):
+ self.test_tags |= other.test_tags
+ self.test_flavors |= other.test_flavors
+
+- for k, v in other.items():
++ for k, v in list(other.items()):
+ if k == 'IMPACTED_TESTS':
+ self.test_files |= set(mozpath.relpath(e.full_path, e.context.config.topsrcdir)
+ for e in v.files)
+@@ -1154,7 +1157,7 @@ class Files(SubContext):
+
+ bug_components = Counter()
+
+- for f in files.values():
++ for f in list(files.values()):
+ bug_component = f.get('BUG_COMPONENT')
+ if bug_component:
+ bug_components[bug_component] += 1
+@@ -1232,7 +1235,7 @@ VARIABLES = {
+ RustLibrary template instead.
+ """),
+
+- 'RUST_LIBRARY_TARGET_DIR': (unicode, unicode,
++ 'RUST_LIBRARY_TARGET_DIR': (str, str,
+ """Where CARGO_TARGET_DIR should point when compiling this library. If
+ not set, it defaults to the current objdir. It should be a relative path
+ to the current objdir; absolute paths should not be used.
+@@ -1248,7 +1251,7 @@ VARIABLES = {
+ HostRustLibrary template instead.
+ """),
+
+- 'RUST_TEST': (unicode, unicode,
++ 'RUST_TEST': (str, str,
+ """Name of a Rust test to build and run via `cargo test`.
+
+ This variable should not be used directly; you should be using the
+@@ -1487,7 +1490,7 @@ VARIABLES = {
+ """Like ``OBJDIR_FILES``, with preprocessing. Use sparingly.
+ """),
+
+- 'FINAL_LIBRARY': (unicode, unicode,
++ 'FINAL_LIBRARY': (str, str,
+ """Library in which the objects of the current directory will be linked.
+
+ This variable contains the name of a library, defined elsewhere with
+@@ -1528,7 +1531,7 @@ VARIABLES = {
+ with the host compiler.
+ """),
+
+- 'HOST_LIBRARY_NAME': (unicode, unicode,
++ 'HOST_LIBRARY_NAME': (str, str,
+ """Name of target library generated when cross compiling.
+ """),
+
+@@ -1546,7 +1549,7 @@ VARIABLES = {
+ libraries that link into this library via FINAL_LIBRARY.
+ """),
+
+- 'LIBRARY_NAME': (unicode, unicode,
++ 'LIBRARY_NAME': (str, str,
+ """The code name of the library generated for a directory.
+
+ By default STATIC_LIBRARY_NAME and SHARED_LIBRARY_NAME take this name.
+@@ -1558,7 +1561,7 @@ VARIABLES = {
+ ``example/components/xpcomsample.lib`` on Windows.
+ """),
+
+- 'SHARED_LIBRARY_NAME': (unicode, unicode,
++ 'SHARED_LIBRARY_NAME': (str, str,
+ """The name of the static library generated for a directory, if it needs to
+ differ from the library code name.
+
+@@ -1572,7 +1575,7 @@ VARIABLES = {
+ Implies FORCE_SHARED_LIB.
+ """),
+
+- 'STATIC_LIBRARY_NAME': (unicode, unicode,
++ 'STATIC_LIBRARY_NAME': (str, str,
+ """The name of the static library generated for a directory, if it needs to
+ differ from the library code name.
+
+@@ -1604,31 +1607,31 @@ VARIABLES = {
+
+ This variable contains a list of system libaries to link against.
+ """),
+- 'RCFILE': (unicode, unicode,
++ 'RCFILE': (str, str,
+ """The program .rc file.
+
+ This variable can only be used on Windows.
+ """),
+
+- 'RESFILE': (unicode, unicode,
++ 'RESFILE': (str, str,
+ """The program .res file.
+
+ This variable can only be used on Windows.
+ """),
+
+- 'RCINCLUDE': (unicode, unicode,
++ 'RCINCLUDE': (str, str,
+ """The resource script file to be included in the default .res file.
+
+ This variable can only be used on Windows.
+ """),
+
+- 'DEFFILE': (unicode, unicode,
++ 'DEFFILE': (str, str,
+ """The program .def (module definition) file.
+
+ This variable can only be used on Windows.
+ """),
+
+- 'SYMBOLS_FILE': (Path, unicode,
++ 'SYMBOLS_FILE': (Path, str,
+ """A file containing a list of symbols to export from a shared library.
+
+ The given file contains a list of symbols to be exported, and is
+@@ -1649,7 +1652,7 @@ VARIABLES = {
+ ``BIN_SUFFIX``, the name will remain unchanged.
+ """),
+
+- 'SONAME': (unicode, unicode,
++ 'SONAME': (str, str,
+ """The soname of the shared object currently being linked
+
+ soname is the "logical name" of a shared object, often used to provide
+@@ -1719,7 +1722,7 @@ VARIABLES = {
+ ``GENERATED_FILES``.
+ """),
+
+- 'PROGRAM' : (unicode, unicode,
++ 'PROGRAM' : (str, str,
+ """Compiled executable name.
+
+ If the configuration token ``BIN_SUFFIX`` is set, its value will be
+@@ -1727,7 +1730,7 @@ VARIABLES = {
+ ``BIN_SUFFIX``, ``PROGRAM`` will remain unchanged.
+ """),
+
+- 'HOST_PROGRAM' : (unicode, unicode,
++ 'HOST_PROGRAM' : (str, str,
+ """Compiled host executable name.
+
+ If the configuration token ``HOST_BIN_SUFFIX`` is set, its value will be
+@@ -1765,7 +1768,7 @@ VARIABLES = {
+ files.
+ """),
+
+- 'XPIDL_MODULE': (unicode, unicode,
++ 'XPIDL_MODULE': (str, str,
+ """XPCOM Interface Definition Module Name.
+
+ This is the name of the ``.xpt`` file that is created by linking
+@@ -1924,14 +1927,14 @@ VARIABLES = {
+
+
+ # The following variables are used to control the target of installed files.
+- 'XPI_NAME': (unicode, unicode,
++ 'XPI_NAME': (str, str,
+ """The name of an extension XPI to generate.
+
+ When this variable is present, the results of this directory will end up
+ being packaged into an extension instead of the main dist/bin results.
+ """),
+
+- 'DIST_SUBDIR': (unicode, unicode,
++ 'DIST_SUBDIR': (str, str,
+ """The name of an alternate directory to install files to.
+
+ When this variable is present, the results of this directory will end up
+@@ -1939,7 +1942,7 @@ VARIABLES = {
+ otherwise be placed.
+ """),
+
+- 'FINAL_TARGET': (FinalTargetValue, unicode,
++ 'FINAL_TARGET': (FinalTargetValue, str,
+ """The name of the directory to install targets to.
+
+ The directory is relative to the top of the object directory. The
+@@ -1970,7 +1973,7 @@ VARIABLES = {
+
+ 'GYP_DIRS': (StrictOrderingOnAppendListWithFlagsFactory({
+ 'variables': dict,
+- 'input': unicode,
++ 'input': str,
+ 'sandbox_vars': dict,
+ 'no_chromium': bool,
+ 'no_unified': bool,
+@@ -2194,7 +2197,7 @@ VARIABLES = {
+ }
+
+ # Sanity check: we don't want any variable above to have a list as storage type.
+-for name, (storage_type, input_types, docs) in VARIABLES.items():
++for name, (storage_type, input_types, docs) in list(VARIABLES.items()):
+ if storage_type == list:
+ raise RuntimeError('%s has a "list" storage type. Use "List" instead.'
+ % name)
+diff --git a/python/mozbuild/mozbuild/frontend/data.py b/python/mozbuild/mozbuild/frontend/data.py
+index 442fc9e0a..837453a9f 100644
+--- a/python/mozbuild/mozbuild/frontend/data.py
++++ b/python/mozbuild/mozbuild/frontend/data.py
+@@ -15,7 +15,7 @@ contains the code for converting executed mozbuild files into these data
+ structures.
+ """
+
+-from __future__ import absolute_import, unicode_literals
++
+
+ from mozbuild.util import StrictOrderingOnAppendList
+ from mozpack.chrome.manifest import ManifestEntry
+@@ -182,7 +182,7 @@ class ComputedFlags(ContextDerived):
+ if value:
+ for dest_var in dest_vars:
+ flags[dest_var].extend(value)
+- return flags.items()
++ return list(flags.items())
+
+ class XPIDLFile(ContextDerived):
+ """Describes an XPIDL file to be compiled."""
+@@ -213,7 +213,7 @@ class BaseDefines(ContextDerived):
+ self.defines = defines
+
+ def get_defines(self):
+- for define, value in self.defines.iteritems():
++ for define, value in self.defines.items():
+ if value is True:
+ yield('-D%s' % define)
+ elif value is False:
+@@ -494,7 +494,7 @@ class SimpleProgram(BaseProgram):
+ KIND = 'target'
+
+ def source_files(self):
+- for srcs in self.sources.values():
++ for srcs in list(self.sources.values()):
+ for f in srcs:
+ if mozpath.basename(mozpath.splitext(f)[0]) == mozpath.splitext(self.program)[0]:
+ return [f]
+diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py
+index 642b381c0..c28344a75 100644
+--- a/python/mozbuild/mozbuild/frontend/emitter.py
++++ b/python/mozbuild/mozbuild/frontend/emitter.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, unicode_literals
++
+
+ import itertools
+ import logging
+@@ -116,8 +116,8 @@ class TreeMetadataEmitter(LoggingMixin):
+ # arguments. This gross hack works around the problem until we
+ # rid ourselves of 2.6.
+ self.info = {}
+- for k, v in mozinfo.info.items():
+- if isinstance(k, unicode):
++ for k, v in list(mozinfo.info.items()):
++ if isinstance(k, str):
+ k = k.encode('ascii')
+ self.info[k] = v
+
+@@ -234,7 +234,7 @@ class TreeMetadataEmitter(LoggingMixin):
+
+
+ # Next do FINAL_LIBRARY linkage.
+- for lib in (l for libs in self._libs.values() for l in libs):
++ for lib in (l for libs in list(self._libs.values()) for l in libs):
+ if not isinstance(lib, (StaticLibrary, RustLibrary)) or not lib.link_into:
+ continue
+ if lib.link_into not in self._libs:
+@@ -294,13 +294,13 @@ class TreeMetadataEmitter(LoggingMixin):
+ lib.link_into == outerlib.basename):
+ propagate_defines(lib, defines)
+
+- for lib in (l for libs in self._libs.values() for l in libs):
++ for lib in (l for libs in list(self._libs.values()) for l in libs):
+ if isinstance(lib, Library):
+ propagate_defines(lib, lib.lib_defines)
+ yield lib
+
+
+- for lib in (l for libs in self._libs.values() for l in libs):
++ for lib in (l for libs in list(self._libs.values()) for l in libs):
+ lib_defines = list(lib.lib_defines.get_defines())
+ if lib_defines:
+ objdir_flags = self._compile_flags[lib.objdir]
+@@ -310,13 +310,13 @@ class TreeMetadataEmitter(LoggingMixin):
+ if objdir_flags:
+ objdir_flags.resolve_flags('LIBRARY_DEFINES', lib_defines)
+
+- for flags_obj in self._compile_flags.values():
++ for flags_obj in list(self._compile_flags.values()):
+ yield flags_obj
+
+- for flags_obj in self._compile_as_flags.values():
++ for flags_obj in list(self._compile_as_flags.values()):
+ yield flags_obj
+
+- for obj in self._binaries.values():
++ for obj in list(self._binaries.values()):
+ yield obj
+
+
+@@ -409,7 +409,7 @@ class TreeMetadataEmitter(LoggingMixin):
+ libs[key] = l
+ if key not in libs:
+ libs[key] = l
+- candidates = libs.values()
++ candidates = list(libs.values())
+ if force_static and not candidates:
+ if dir:
+ raise SandboxValidationError(
+@@ -473,9 +473,9 @@ class TreeMetadataEmitter(LoggingMixin):
+
+ def _verify_deps(self, context, crate_dir, crate_name, dependencies, description='Dependency'):
+ """Verify that a crate's dependencies all specify local paths."""
+- for dep_crate_name, values in dependencies.iteritems():
++ for dep_crate_name, values in dependencies.items():
+ # A simple version number.
+- if isinstance(values, (str, unicode)):
++ if isinstance(values, str):
+ raise SandboxValidationError(
+ '%s %s of crate %s does not list a path' % (description, dep_crate_name, crate_name),
+ context)
+@@ -529,7 +529,7 @@ class TreeMetadataEmitter(LoggingMixin):
+
+ cargo_target_dir = context.get('RUST_LIBRARY_TARGET_DIR', '.')
+
+- dependencies = set(config.get('dependencies', {}).iterkeys())
++ dependencies = set(config.get('dependencies', {}).keys())
+
+ features = context.get(cls.FEATURES_VAR, [])
+ unique_features = set(features)
+@@ -863,7 +863,7 @@ class TreeMetadataEmitter(LoggingMixin):
+ assert not gen_sources['UNIFIED_SOURCES']
+
+ no_pgo = context.get('NO_PGO')
+- no_pgo_sources = [f for f, flags in all_flags.iteritems()
++ no_pgo_sources = [f for f, flags in all_flags.items()
+ if flags.no_pgo]
+ if no_pgo:
+ if no_pgo_sources:
+@@ -890,7 +890,7 @@ class TreeMetadataEmitter(LoggingMixin):
+
+ # The inverse of the above, mapping suffixes to their canonical suffix.
+ canonicalized_suffix_map = {}
+- for suffix, alternatives in suffix_map.iteritems():
++ for suffix, alternatives in suffix_map.items():
+ alternatives.add(suffix)
+ for a in alternatives:
+ canonicalized_suffix_map[a] = suffix
+@@ -914,7 +914,7 @@ class TreeMetadataEmitter(LoggingMixin):
+ # Source files to track for linkables associated with this context.
+ ctxt_sources = defaultdict(lambda: defaultdict(list))
+
+- for variable, (klass, gen_klass, suffixes) in varmap.items():
++ for variable, (klass, gen_klass, suffixes) in list(varmap.items()):
+ allowed_suffixes = set().union(*[suffix_map[s] for s in suffixes])
+
+ # First ensure that we haven't been given filetypes that we don't
+@@ -941,20 +941,20 @@ class TreeMetadataEmitter(LoggingMixin):
+ obj = cls(*arglist)
+ srcs = obj.files
+ if isinstance(obj, UnifiedSources) and obj.have_unified_mapping:
+- srcs = dict(obj.unified_source_mapping).keys()
++ srcs = list(dict(obj.unified_source_mapping).keys())
+ ctxt_sources[variable][canonical_suffix] += sorted(srcs)
+ yield obj
+
+ if ctxt_sources:
+ for linkable in linkables:
+ for target_var in ('SOURCES', 'UNIFIED_SOURCES'):
+- for suffix, srcs in ctxt_sources[target_var].items():
++ for suffix, srcs in list(ctxt_sources[target_var].items()):
+ linkable.sources[suffix] += srcs
+ for host_linkable in host_linkables:
+- for suffix, srcs in ctxt_sources['HOST_SOURCES'].items():
++ for suffix, srcs in list(ctxt_sources['HOST_SOURCES'].items()):
+ host_linkable.sources[suffix] += srcs
+
+- for f, flags in all_flags.iteritems():
++ for f, flags in all_flags.items():
+ if flags.flags:
+ ext = mozpath.splitext(f)[1]
+ yield PerSourceFlag(context, f, flags.flags)
+@@ -1143,7 +1143,7 @@ class TreeMetadataEmitter(LoggingMixin):
+ for obj in self._handle_linkables(context, passthru, generated_files):
+ yield obj
+
+- generated_files.update(['%s%s' % (k, self.config.substs.get('BIN_SUFFIX', '')) for k in self._binaries.keys()])
++ generated_files.update(['%s%s' % (k, self.config.substs.get('BIN_SUFFIX', '')) for k in list(self._binaries.keys())])
+
+ components = []
+ for var, cls in (
+@@ -1277,7 +1277,7 @@ class TreeMetadataEmitter(LoggingMixin):
+ for obj in self._process_jar_manifests(context):
+ yield obj
+
+- for name, jar in context.get('JAVA_JAR_TARGETS', {}).items():
++ for name, jar in list(context.get('JAVA_JAR_TARGETS', {}).items()):
+ yield ContextWrapped(context, jar)
+
+ computed_as_flags.resolve_flags('MOZBUILD',
+@@ -1346,7 +1346,7 @@ class TreeMetadataEmitter(LoggingMixin):
+ script = mozpath.join(mozpath.dirname(mozpath.dirname(__file__)),
+ 'action', 'process_define_files.py')
+ yield GeneratedFile(context, script, 'process_define_file',
+- unicode(path),
++ str(path),
+ [Path(context, path + '.in')])
+
+ generated_files = context.get('GENERATED_FILES') or []
+@@ -1393,7 +1393,7 @@ class TreeMetadataEmitter(LoggingMixin):
+ flags.flags, localized=localized)
+
+ def _process_test_manifests(self, context):
+- for prefix, info in TEST_MANIFESTS.items():
++ for prefix, info in list(TEST_MANIFESTS.items()):
+ for path, manifest in context.get('%s_MANIFESTS' % prefix, []):
+ for obj in self._process_test_manifest(context, info, path, manifest):
+ yield obj
+@@ -1479,7 +1479,7 @@ class TreeMetadataEmitter(LoggingMixin):
+
+ process_support_files(test)
+
+- for path, m_defaults in mpmanifest.manifest_defaults.items():
++ for path, m_defaults in list(mpmanifest.manifest_defaults.items()):
+ process_support_files(m_defaults)
+
+ # We also copy manifests into the output directory,
+diff --git a/python/mozbuild/mozbuild/frontend/reader.py b/python/mozbuild/mozbuild/frontend/reader.py
+index c1efc1c3d..0cdf8b8db 100644
+--- a/python/mozbuild/mozbuild/frontend/reader.py
++++ b/python/mozbuild/mozbuild/frontend/reader.py
+@@ -16,7 +16,7 @@ The BuildReader contains basic logic for traversing a tree of mozbuild files.
+ It does this by examining specific variables populated during execution.
+ """
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import ast
+ import inspect
+@@ -81,12 +81,13 @@ from .context import (
+
+ from mozbuild.base import ExecutionSummary
+ from concurrent.futures.process import ProcessPoolExecutor
++from functools import reduce
+
+
+
+ if sys.version_info.major == 2:
+- text_type = unicode
+- type_type = types.TypeType
++ text_type = str
++ type_type = type
+ else:
+ text_type = str
+ type_type = type
+@@ -127,7 +128,7 @@ class EmptyConfig(object):
+
+ self.substs = self.PopulateOnGetDict(EmptyValue, substs or self.default_substs)
+ udict = {}
+- for k, v in self.substs.items():
++ for k, v in list(self.substs.items()):
+ if isinstance(v, str):
+ udict[k.decode('utf-8')] = v.decode('utf-8')
+ else:
+@@ -311,7 +312,7 @@ class MozbuildSandbox(Sandbox):
+ raise Exception('`template` is a function decorator. You must '
+ 'use it as `@template` preceding a function declaration.')
+
+- name = func.func_name
++ name = func.__name__
+
+ if name in self.templates:
+ raise KeyError(
+@@ -390,7 +391,7 @@ class MozbuildSandbox(Sandbox):
+ klass = self._context.__class__
+ self._context.__class__ = TemplateContext
+ # The sandbox will do all the necessary checks for these merges.
+- for key, value in context.items():
++ for key, value in list(context.items()):
+ if isinstance(value, dict):
+ self[key].update(value)
+ elif isinstance(value, (list, HierarchicalStringList)):
+@@ -407,12 +408,14 @@ class MozbuildSandbox(Sandbox):
+
+ class TemplateFunction(object):
+ def __init__(self, func, sandbox):
+- self.path = func.func_code.co_filename
+- self.name = func.func_name
++ self.path = func.__code__.co_filename
++ self.name = func.__name__
+
+- code = func.func_code
++ code = func.__code__
+ firstlineno = code.co_firstlineno
+ lines = sandbox._current_source.splitlines(True)
++ if len(lines) and isinstance(lines[0], bytes):
++ lines = [l.decode('utf-8') for l in lines]
+ lines = inspect.getblock(lines[firstlineno - 1:])
+
+ # The code lines we get out of inspect.getsourcelines look like
+@@ -430,7 +433,7 @@ class TemplateFunction(object):
+ # actually never calls __getitem__ and __setitem__, so we need to
+ # modify the AST so that accesses to globals are properly directed
+ # to a dict.
+- self._global_name = b'_data' # AST wants str for this, not unicode
++ self._global_name = '_data'
+ # In case '_data' is a name used for a variable in the function code,
+ # prepend more underscores until we find an unused name.
+ while (self._global_name in code.co_names or
+@@ -449,8 +452,8 @@ class TemplateFunction(object):
+ compile(func_ast, self.path, 'exec'),
+ glob,
+ self.name,
+- func.func_defaults,
+- func.func_closure,
++ func.__defaults__,
++ func.__closure__,
+ )
+ func()
+
+@@ -464,11 +467,11 @@ class TemplateFunction(object):
+ '__builtins__': sandbox._builtins
+ }
+ func = types.FunctionType(
+- self._func.func_code,
++ self._func.__code__,
+ glob,
+ self.name,
+- self._func.func_defaults,
+- self._func.func_closure
++ self._func.__defaults__,
++ self._func.__closure__
+ )
+ sandbox.exec_function(func, args, kwargs, self.path,
+ becomes_current_path=False)
+@@ -484,7 +487,7 @@ class TemplateFunction(object):
+ def visit_Str(self, node):
+ # String nodes we got from the AST parser are str, but we want
+ # unicode literals everywhere, so transform them.
+- node.s = unicode(node.s)
++ node.s = str(node.s)
+ return node
+
+ def visit_Name(self, node):
+@@ -617,7 +620,7 @@ class BuildReaderError(Exception):
+
+ for l in traceback.format_exception(type(self.other), self.other,
+ self.trace):
+- s.write(unicode(l))
++ s.write(str(l))
+
+ return s.getvalue()
+
+@@ -767,7 +770,7 @@ class BuildReaderError(Exception):
+ s.write(' %s\n' % inner.args[2])
+ s.write('\n')
+ close_matches = difflib.get_close_matches(inner.args[2],
+- VARIABLES.keys(), 2)
++ list(VARIABLES.keys()), 2)
+ if close_matches:
+ s.write('Maybe you meant %s?\n' % ' or '.join(close_matches))
+ s.write('\n')
+@@ -1152,7 +1155,7 @@ class BuildReader(object):
+ context)
+ non_unified_sources.add(source)
+ action_overrides = {}
+- for action, script in gyp_dir.action_overrides.iteritems():
++ for action, script in gyp_dir.action_overrides.items():
+ action_overrides[action] = SourcePath(context, script)
+
+ gyp_processor = GypProcessor(context.config,
+@@ -1188,7 +1191,7 @@ class BuildReader(object):
+
+ recurse_info[d][key] = dict(sandbox.metadata[key])
+
+- for path, child_metadata in recurse_info.items():
++ for path, child_metadata in list(recurse_info.items()):
+ child_path = path.join('moz.build').full_path
+
+ # Ensure we don't break out of the topsrcdir. We don't do realpath
+@@ -1279,7 +1282,7 @@ class BuildReader(object):
+ # There is room to improve this code (and the code in
+ # _find_relevant_mozbuilds) to better handle multiple files in the same
+ # directory. Bug 1136966 tracks.
+- for path, mbpaths in relevants.items():
++ for path, mbpaths in list(relevants.items()):
+ path_mozbuilds[path] = [mozpath.join(topsrcdir, p) for p in mbpaths]
+
+ for i, mbpath in enumerate(mbpaths[0:-1]):
+@@ -1316,7 +1319,7 @@ class BuildReader(object):
+ all_contexts.append(context)
+
+ result = {}
+- for path, paths in path_mozbuilds.items():
++ for path, paths in list(path_mozbuilds.items()):
+ result[path] = reduce(lambda x, y: x + y, (contexts[p] for p in paths), [])
+
+ return result, all_contexts
+@@ -1356,7 +1359,7 @@ class BuildReader(object):
+
+ r = {}
+
+- for path, ctxs in paths.items():
++ for path, ctxs in list(paths.items()):
+ # Should be normalized by read_relevant_mozbuilds.
+ assert '\\' not in path
+
+diff --git a/python/mozbuild/mozbuild/frontend/sandbox.py b/python/mozbuild/mozbuild/frontend/sandbox.py
+index b2090802e..6d94291ea 100644
+--- a/python/mozbuild/mozbuild/frontend/sandbox.py
++++ b/python/mozbuild/mozbuild/frontend/sandbox.py
+@@ -17,7 +17,7 @@ KeyError are machine parseable. This machine-friendly data is used to present
+ user-friendly error messages in the case of errors.
+ """
+
+-from __future__ import absolute_import, unicode_literals
++
+
+ import os
+ import sys
+@@ -112,6 +112,7 @@ class Sandbox(dict):
+ 'int': int,
+ 'set': set,
+ 'tuple': tuple,
++ 'str': str,
+ })
+
+ def __init__(self, context, finder=default_finder):
+diff --git a/python/mozbuild/mozbuild/jar.py b/python/mozbuild/mozbuild/jar.py
+index 47a2eff63..96aea63ce 100644
+--- a/python/mozbuild/mozbuild/jar.py
++++ b/python/mozbuild/mozbuild/jar.py
+@@ -8,7 +8,7 @@ processing jar.mn files.
+ See the documentation for jar.mn on MDC for further details on the format.
+ '''
+
+-from __future__ import absolute_import
++
+
+ import sys
+ import os
+@@ -17,7 +17,7 @@ import re
+ import logging
+ from time import localtime
+ from MozZipFile import ZipFile
+-from cStringIO import StringIO
++from io import StringIO
+ from collections import defaultdict
+
+ from mozbuild.preprocessor import Preprocessor
+@@ -302,9 +302,9 @@ class JarMaker(object):
+ '''updateManifest replaces the % in the chrome registration entries
+ with the given chrome base path, and updates the given manifest file.
+ '''
+- myregister = dict.fromkeys(map(lambda s: s.replace('%',
+- chromebasepath), register))
+- addEntriesToListFile(manifestPath, myregister.iterkeys())
++ myregister = dict.fromkeys([s.replace('%',
++ chromebasepath) for s in register])
++ addEntriesToListFile(manifestPath, iter(myregister.keys()))
+
+ def makeJar(self, infile, jardir):
+ '''makeJar is the main entry point to JarMaker.
+@@ -322,7 +322,7 @@ class JarMaker(object):
+ elif self.relativesrcdir:
+ self.localedirs = \
+ self.generateLocaleDirs(self.relativesrcdir)
+- if isinstance(infile, basestring):
++ if isinstance(infile, str):
+ logging.info('processing ' + infile)
+ self.sourcedirs.append(_normpath(os.path.dirname(infile)))
+ pp = self.pp.clone()
+diff --git a/python/mozbuild/mozbuild/makeutil.py b/python/mozbuild/mozbuild/makeutil.py
+index fcd45bed2..f77c5d2c3 100644
+--- a/python/mozbuild/mozbuild/makeutil.py
++++ b/python/mozbuild/mozbuild/makeutil.py
+@@ -2,11 +2,10 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import
++
+
+ import os
+ import re
+-from types import StringTypes
+ from collections import Iterable
+
+
+@@ -66,7 +65,7 @@ class _SimpleOrderedSet(object):
+ self._list = []
+ self._set = set()
+
+- def __nonzero__(self):
++ def __bool__(self):
+ return bool(self._set)
+
+ def __iter__(self):
+@@ -103,19 +102,19 @@ class Rule(object):
+
+ def add_targets(self, targets):
+ '''Add additional targets to the rule.'''
+- assert isinstance(targets, Iterable) and not isinstance(targets, StringTypes)
++ assert isinstance(targets, Iterable) and not isinstance(targets, str)
+ self._targets.update(targets)
+ return self
+
+ def add_dependencies(self, deps):
+ '''Add dependencies to the rule.'''
+- assert isinstance(deps, Iterable) and not isinstance(deps, StringTypes)
++ assert isinstance(deps, Iterable) and not isinstance(deps, str)
+ self._dependencies.update(deps)
+ return self
+
+ def add_commands(self, commands):
+ '''Add commands to the rule.'''
+- assert isinstance(commands, Iterable) and not isinstance(commands, StringTypes)
++ assert isinstance(commands, Iterable) and not isinstance(commands, str)
+ self._commands.extend(commands)
+ return self
+
+@@ -139,13 +138,16 @@ class Rule(object):
+ '''
+ if not self._targets:
+ return
+- fh.write('%s:' % ' '.join(self._targets))
++ wstring = '%s:' % ' '.join(self._targets)
+ if self._dependencies:
+- fh.write(' %s' % ' '.join(self.dependencies()))
+- fh.write('\n')
++ wstring += ' %s' % ' '.join(self.dependencies())
++ wstring += '\n'
+ for cmd in self._commands:
+- fh.write('\t%s\n' % cmd)
+-
++ wstring += '\t%s\n' % cmd
++ try:
++ fh.write(wstring.encode('utf-8'))
++ except TypeError:
++ fh.write(wstring)
+
+ # colon followed by anything except a slash (Windows path detection)
+ _depfilesplitter = re.compile(r':(?![\\/])')
+diff --git a/python/mozbuild/mozbuild/mozinfo.py b/python/mozbuild/mozbuild/mozinfo.py
+index 7e7ad1b2a..f03f20ba3 100755
+--- a/python/mozbuild/mozbuild/mozinfo.py
++++ b/python/mozbuild/mozbuild/mozinfo.py
+@@ -5,7 +5,7 @@
+ # This module produces a JSON file that provides basic build info and
+ # configuration metadata.
+
+-from __future__ import absolute_import
++
+
+ import os
+ import re
+@@ -33,7 +33,7 @@ def build_dict(config, env=os.environ):
+ d['mozconfig'] = config.mozconfig
+
+ # os
+- o = substs["OS_TARGET"]
++ o = str(substs["OS_TARGET"])
+ known_os = {"Linux": "linux",
+ "WINNT": "win",
+ "Darwin": "mac",
+@@ -148,7 +148,7 @@ def write_mozinfo(file, config, env=os.environ):
+ and what keys are produced.
+ """
+ build_conf = build_dict(config, env)
+- if isinstance(file, basestring):
+- file = open(file, 'wb')
++ if isinstance(file, str):
++ file = open(file, 'w')
+
+ json.dump(build_conf, file, sort_keys=True, indent=4)
+diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
+index 6780b8b72..19e59884e 100644
+--- a/python/mozbuild/mozbuild/preprocessor.py
++++ b/python/mozbuild/mozbuild/preprocessor.py
+@@ -27,7 +27,8 @@ import os
+ import re
+ from optparse import OptionParser
+ import errno
+-from makeutil import Makefile
++from .makeutil import Makefile
++from functools import reduce
+
+ # hack around win32 mangling our line endings
+ # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65443
+@@ -230,7 +231,7 @@ class Expression:
+ def __repr__(self):
+ return self.value.__repr__()
+
+- class ParseError(StandardError):
++ class ParseError(Exception):
+ """
+ Error raised when parsing fails.
+ It has two members, offset and content, which give the offset of the
+@@ -278,7 +279,7 @@ class Preprocessor:
+ self.context = Context()
+ for k,v in {'FILE': '',
+ 'LINE': 0,
+- 'DIRECTORY': os.path.abspath('.')}.iteritems():
++ 'DIRECTORY': os.path.abspath('.')}.items():
+ self.context[k] = v
+ self.actionLevel = 0
+ self.disableLevel = 0
+@@ -292,21 +293,21 @@ class Preprocessor:
+ self.cmds = {}
+ for cmd, level in {'define': 0,
+ 'undef': 0,
+- 'if': sys.maxint,
+- 'ifdef': sys.maxint,
+- 'ifndef': sys.maxint,
++ 'if': sys.maxsize,
++ 'ifdef': sys.maxsize,
++ 'ifndef': sys.maxsize,
+ 'else': 1,
+ 'elif': 1,
+ 'elifdef': 1,
+ 'elifndef': 1,
+- 'endif': sys.maxint,
++ 'endif': sys.maxsize,
+ 'expand': 0,
+ 'literal': 0,
+ 'filter': 0,
+ 'unfilter': 0,
+ 'include': 0,
+ 'includesubst': 0,
+- 'error': 0}.iteritems():
++ 'error': 0}.items():
+ self.cmds[cmd] = (level, getattr(self, 'do_' + cmd))
+ self.out = sys.stdout
+ self.setMarker(marker)
+@@ -434,7 +435,7 @@ class Preprocessor:
+ filteredLine = self.applyFilters(aLine)
+ if filteredLine != aLine:
+ self.actionLevel = 2
+- self.out.write(filteredLine)
++ self.out.write(filteredLine.encode('utf-8'))
+
+ def handleCommandLine(self, args, defaultToStdin = False):
+ """
+@@ -468,7 +469,7 @@ class Preprocessor:
+ raise Preprocessor.Error(self, "--depend doesn't work with stdout",
+ None)
+ try:
+- from makeutil import Makefile
++ from .makeutil import Makefile
+ except:
+ raise Preprocessor.Error(self, "--depend requires the "
+ "mozbuild.makeutil module", None)
+@@ -683,7 +684,7 @@ class Preprocessor:
+ current = dict(self.filters)
+ for f in filters:
+ current[f] = getattr(self, 'filter_' + f)
+- filterNames = current.keys()
++ filterNames = list(current.keys())
+ filterNames.sort()
+ self.filters = [(fn, current[fn]) for fn in filterNames]
+ return
+@@ -693,7 +694,7 @@ class Preprocessor:
+ for f in filters:
+ if f in current:
+ del current[f]
+- filterNames = current.keys()
++ filterNames = list(current.keys())
+ filterNames.sort()
+ self.filters = [(fn, current[fn]) for fn in filterNames]
+ return
+@@ -738,7 +739,7 @@ class Preprocessor:
+ args can either be a file name, or a file-like object.
+ Files should be opened, and will be closed after processing.
+ """
+- isName = type(args) == str or type(args) == unicode
++ isName = type(args) == str or type(args) == str
+ oldCheckLineNumbers = self.checkLineNumbers
+ self.checkLineNumbers = False
+ if isName:
+diff --git a/python/mozbuild/mozbuild/shellutil.py b/python/mozbuild/mozbuild/shellutil.py
+index 185a970ee..c0c15f8f2 100644
+--- a/python/mozbuild/mozbuild/shellutil.py
++++ b/python/mozbuild/mozbuild/shellutil.py
+@@ -15,7 +15,7 @@ def _tokens2re(**tokens):
+ # which matches the pattern and captures it in a named match group.
+ # The group names and patterns are given as arguments.
+ all_tokens = '|'.join('(?P<%s>%s)' % (name, value)
+- for name, value in tokens.iteritems())
++ for name, value in tokens.items())
+ nonescaped = r'(?<!\\)(?:%s)' % all_tokens
+
+ # The final pattern matches either the above pattern, or an escaped
+@@ -96,7 +96,7 @@ class _ClineSplitter(object):
+ self.cline = self.cline[m.end():]
+
+ match = {name: value
+- for name, value in m.groupdict().items() if value}
++ for name, value in list(m.groupdict().items()) if value}
+ if 'quote' in match:
+ # " or ' start a quoted string
+ if match['quote'] == '"':
+@@ -144,7 +144,7 @@ class _ClineSplitter(object):
+ self._push(self.cline[:m.start()])
+ self.cline = self.cline[m.end():]
+ match = {name: value
+- for name, value in m.groupdict().items() if value}
++ for name, value in list(m.groupdict().items()) if value}
+ if 'quote' in match:
+ # a double quote ends the quoted string, so go back to
+ # unquoted parsing
+diff --git a/python/mozbuild/mozbuild/test/backend/test_recursivemake.py b/python/mozbuild/mozbuild/test/backend/test_recursivemake.py
+index a05059f8a..355a96165 100644
+--- a/python/mozbuild/mozbuild/test/backend/test_recursivemake.py
++++ b/python/mozbuild/mozbuild/test/backend/test_recursivemake.py
+@@ -2,9 +2,9 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import unicode_literals
+
+-import cPickle as pickle
++
++import pickle as pickle
+ import json
+ import os
+ import unittest
+@@ -333,7 +333,7 @@ class TestRecursiveMakeBackend(BackendTester):
+ ],
+ }
+
+- for var, val in expected.items():
++ for var, val in list(expected.items()):
+ # print("test_variable_passthru[%s]" % (var))
+ found = [str for str in lines if str.startswith(var)]
+ self.assertEqual(found, val)
+@@ -372,7 +372,7 @@ class TestRecursiveMakeBackend(BackendTester):
+ ],
+ }
+
+- for var, val in expected.items():
++ for var, val in list(expected.items()):
+ found = [str for str in lines if str.startswith(var)]
+ self.assertEqual(found, val)
+
+@@ -563,7 +563,7 @@ class TestRecursiveMakeBackend(BackendTester):
+
+ # This is not the most robust test in the world, but it gets the job
+ # done.
+- entries = [e for e in m._dests.keys() if '**' in e]
++ entries = [e for e in list(m._dests.keys()) if '**' in e]
+ self.assertEqual(len(entries), 1)
+ self.assertIn('support/**', entries[0])
+
+@@ -590,11 +590,11 @@ class TestRecursiveMakeBackend(BackendTester):
+ set(['child/test_sub.js',
+ 'child/data/**',
+ 'child/another-file.sjs']))
+- for key in test_installs.keys():
++ for key in list(test_installs.keys()):
+ self.assertIn(key, test_installs)
+
+ synthesized_manifest = InstallManifest()
+- for item, installs in test_installs.items():
++ for item, installs in list(test_installs.items()):
+ for install_info in installs:
+ if len(install_info) == 3:
+ synthesized_manifest.add_pattern_link(*install_info)
+@@ -602,7 +602,7 @@ class TestRecursiveMakeBackend(BackendTester):
+ synthesized_manifest.add_link(*install_info)
+
+ self.assertEqual(len(synthesized_manifest), 3)
+- for item, info in synthesized_manifest._dests.items():
++ for item, info in list(synthesized_manifest._dests.items()):
+ self.assertIn(item, m)
+ self.assertEqual(info, m._dests[item])
+
+@@ -864,7 +864,7 @@ class TestRecursiveMakeBackend(BackendTester):
+ expected[mozpath.join(env.topobjdir, 'final-target')] = [
+ 'FINAL_TARGET = $(DEPTH)/random-final-target'
+ ]
+- for key, expected_rules in expected.iteritems():
++ for key, expected_rules in expected.items():
+ backend_path = mozpath.join(key, 'backend.mk')
+ lines = [l.strip() for l in open(backend_path, 'rt').readlines()[2:]]
+ found = [str for str in lines if
+diff --git a/python/mozbuild/mozbuild/test/configure/common.py b/python/mozbuild/mozbuild/test/configure/common.py
+index 150c6e393..5e2c2afaa 100644
+--- a/python/mozbuild/mozbuild/test/configure/common.py
++++ b/python/mozbuild/mozbuild/test/configure/common.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import copy
+ import errno
+@@ -16,7 +16,7 @@ from mozbuild.configure import ConfigureSandbox
+ from mozbuild.util import ReadOnlyNamespace
+ from mozpack import path as mozpath
+
+-from StringIO import StringIO
++from io import StringIO
+ from which import WhichError
+
+ from buildconfig import (
+@@ -77,10 +77,10 @@ class ConfigureTestSandbox(ConfigureSandbox):
+ self._search_path = environ.get('PATH', '').split(os.pathsep)
+
+ self._subprocess_paths = {
+- mozpath.abspath(k): v for k, v in paths.iteritems() if v
++ mozpath.abspath(k): v for k, v in paths.items() if v
+ }
+
+- paths = paths.keys()
++ paths = list(paths.keys())
+
+ environ = dict(environ)
+ if 'CONFIG_SHELL' not in environ:
+diff --git a/python/mozbuild/mozbuild/test/configure/lint.py b/python/mozbuild/mozbuild/test/configure/lint.py
+index 98f5f4fe7..a549b4bcf 100644
+--- a/python/mozbuild/mozbuild/test/configure/lint.py
++++ b/python/mozbuild/mozbuild/test/configure/lint.py
+@@ -2,11 +2,11 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import os
+ import unittest
+-from StringIO import StringIO
++from io import StringIO
+ from mozunit import main
+ from buildconfig import (
+ topobjdir,
+@@ -40,9 +40,7 @@ class LintMeta(type):
+ return type.__new__(mcs, name, bases, attrs)
+
+
+-class Lint(unittest.TestCase):
+- __metaclass__ = LintMeta
+-
++class Lint(unittest.TestCase, metaclass=LintMeta):
+ def setUp(self):
+ self._curdir = os.getcwd()
+ os.chdir(topobjdir)
+diff --git a/python/mozbuild/mozbuild/test/configure/test_checks_configure.py b/python/mozbuild/mozbuild/test/configure/test_checks_configure.py
+index c60000bb2..07091c077 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_checks_configure.py
++++ b/python/mozbuild/mozbuild/test/configure/test_checks_configure.py
+@@ -2,9 +2,9 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
+
+-from StringIO import StringIO
++
++from io import StringIO
+ import os
+ import sys
+ import textwrap
+@@ -447,7 +447,7 @@ class TestChecksConfigure(unittest.TestCase):
+ checking for a... %s
+ ''' % self.OTHER_A))
+
+- dirs = map(mozpath.dirname, (self.OTHER_A, self.KNOWN_A))
++ dirs = list(map(mozpath.dirname, (self.OTHER_A, self.KNOWN_A)))
+ config, out, status = self.get_result(textwrap.dedent('''\
+ check_prog("A", ("known-a",), paths=["%s"])
+ ''' % os.pathsep.join(dirs)))
+@@ -457,7 +457,7 @@ class TestChecksConfigure(unittest.TestCase):
+ checking for a... %s
+ ''' % self.OTHER_A))
+
+- dirs = map(mozpath.dirname, (self.KNOWN_A, self.KNOWN_B))
++ dirs = list(map(mozpath.dirname, (self.KNOWN_A, self.KNOWN_B)))
+ config, out, status = self.get_result(textwrap.dedent('''\
+ check_prog("A", ("known-a",), paths=["%s", "%s"])
+ ''' % (os.pathsep.join(dirs), self.OTHER_A)))
+diff --git a/python/mozbuild/mozbuild/test/configure/test_compile_checks.py b/python/mozbuild/mozbuild/test/configure/test_compile_checks.py
+index b5be3bf2e..282000bb2 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_compile_checks.py
++++ b/python/mozbuild/mozbuild/test/configure/test_compile_checks.py
+@@ -2,14 +2,14 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import os
+ import textwrap
+ import unittest
+ import mozpack.path as mozpath
+
+-from StringIO import StringIO
++from io import StringIO
+
+ from buildconfig import topsrcdir
+ from common import ConfigureTestSandbox
+diff --git a/python/mozbuild/mozbuild/test/configure/test_configure.py b/python/mozbuild/mozbuild/test/configure/test_configure.py
+index f37e2701f..eb0ca84fb 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_configure.py
++++ b/python/mozbuild/mozbuild/test/configure/test_configure.py
+@@ -2,9 +2,9 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
+
+-from StringIO import StringIO
++
++from io import StringIO
+ import os
+ import sys
+ import textwrap
+@@ -43,7 +43,7 @@ class TestConfigure(unittest.TestCase):
+
+ if '--help' in options:
+ return out.getvalue(), config
+- self.assertEquals('', out.getvalue())
++ self.assertEqual('', out.getvalue())
+ return config
+
+ def moz_configure(self, source):
+@@ -55,7 +55,7 @@ class TestConfigure(unittest.TestCase):
+ def test_defaults(self):
+ config = self.get_config()
+ self.maxDiff = None
+- self.assertEquals({
++ self.assertEqual({
+ 'CHOICES': NegativeOptionValue(),
+ 'DEFAULTED': PositiveOptionValue(('not-simple',)),
+ 'IS_GCC': NegativeOptionValue(),
+@@ -71,9 +71,9 @@ class TestConfigure(unittest.TestCase):
+ def test_help(self):
+ help, config = self.get_config(['--help'], prog='configure')
+
+- self.assertEquals({}, config)
++ self.assertEqual({}, config)
+ self.maxDiff = None
+- self.assertEquals(
++ self.assertEqual(
+ 'Usage: configure [options]\n'
+ '\n'
+ 'Options: [defaults in brackets after descriptions]\n'
+@@ -109,7 +109,7 @@ class TestConfigure(unittest.TestCase):
+ ):
+ self.assertNotIn('ENABLED_SIMPLE', config)
+ self.assertIn('SIMPLE', config)
+- self.assertEquals(NegativeOptionValue(), config['SIMPLE'])
++ self.assertEqual(NegativeOptionValue(), config['SIMPLE'])
+
+ for config in (
+ self.get_config(['--enable-simple']),
+@@ -117,7 +117,7 @@ class TestConfigure(unittest.TestCase):
+ ):
+ self.assertIn('ENABLED_SIMPLE', config)
+ self.assertIn('SIMPLE', config)
+- self.assertEquals(PositiveOptionValue(), config['SIMPLE'])
++ self.assertEqual(PositiveOptionValue(), config['SIMPLE'])
+ self.assertIs(config['SIMPLE'], config['ENABLED_SIMPLE'])
+
+ # --enable-simple doesn't take values.
+@@ -135,7 +135,7 @@ class TestConfigure(unittest.TestCase):
+ env={'MOZ_WITH_ENV': '1'}),
+ ):
+ self.assertIn('WITH_ENV', config)
+- self.assertEquals(NegativeOptionValue(), config['WITH_ENV'])
++ self.assertEqual(NegativeOptionValue(), config['WITH_ENV'])
+
+ for config in (
+ self.get_config(['--enable-with-env']),
+@@ -145,7 +145,7 @@ class TestConfigure(unittest.TestCase):
+ env={'MOZ_WITH_ENV': ''}),
+ ):
+ self.assertIn('WITH_ENV', config)
+- self.assertEquals(PositiveOptionValue(), config['WITH_ENV'])
++ self.assertEqual(PositiveOptionValue(), config['WITH_ENV'])
+
+ with self.assertRaises(InvalidOptionError):
+ self.get_config(['--enable-with-env=value'])
+@@ -160,23 +160,23 @@ class TestConfigure(unittest.TestCase):
+ self.get_config(['--enable-values', '--disable-values']),
+ ):
+ self.assertIn(name, config)
+- self.assertEquals(NegativeOptionValue(), config[name])
++ self.assertEqual(NegativeOptionValue(), config[name])
+
+ for config in (
+ self.get_config(['--enable-values']),
+ self.get_config(['--disable-values', '--enable-values']),
+ ):
+ self.assertIn(name, config)
+- self.assertEquals(PositiveOptionValue(), config[name])
++ self.assertEqual(PositiveOptionValue(), config[name])
+
+ config = self.get_config(['--enable-values=foo'])
+ self.assertIn(name, config)
+- self.assertEquals(PositiveOptionValue(('foo',)), config[name])
++ self.assertEqual(PositiveOptionValue(('foo',)), config[name])
+
+ config = self.get_config(['--enable-values=foo,bar'])
+ self.assertIn(name, config)
+ self.assertTrue(config[name])
+- self.assertEquals(PositiveOptionValue(('foo', 'bar')), config[name])
++ self.assertEqual(PositiveOptionValue(('foo', 'bar')), config[name])
+
+ def test_values2(self):
+ self.test_values('VALUES2')
+@@ -187,12 +187,12 @@ class TestConfigure(unittest.TestCase):
+ def test_returned_default(self):
+ config = self.get_config(['--enable-simple'])
+ self.assertIn('DEFAULTED', config)
+- self.assertEquals(
++ self.assertEqual(
+ PositiveOptionValue(('simple',)), config['DEFAULTED'])
+
+ config = self.get_config(['--disable-simple'])
+ self.assertIn('DEFAULTED', config)
+- self.assertEquals(
++ self.assertEqual(
+ PositiveOptionValue(('not-simple',)), config['DEFAULTED'])
+
+ def test_returned_choices(self):
+@@ -200,13 +200,13 @@ class TestConfigure(unittest.TestCase):
+ config = self.get_config(
+ ['--enable-values=alpha', '--returned-choices=%s' % val])
+ self.assertIn('CHOICES', config)
+- self.assertEquals(PositiveOptionValue((val,)), config['CHOICES'])
++ self.assertEqual(PositiveOptionValue((val,)), config['CHOICES'])
+
+ for val in ('0', '1', '2'):
+ config = self.get_config(
+ ['--enable-values=numeric', '--returned-choices=%s' % val])
+ self.assertIn('CHOICES', config)
+- self.assertEquals(PositiveOptionValue((val,)), config['CHOICES'])
++ self.assertEqual(PositiveOptionValue((val,)), config['CHOICES'])
+
+ with self.assertRaises(InvalidOptionError):
+ self.get_config(['--enable-values=numeric',
+@@ -218,12 +218,12 @@ class TestConfigure(unittest.TestCase):
+ def test_included(self):
+ config = self.get_config(env={'CC': 'gcc'})
+ self.assertIn('IS_GCC', config)
+- self.assertEquals(config['IS_GCC'], True)
++ self.assertEqual(config['IS_GCC'], True)
+
+ config = self.get_config(
+ ['--enable-include=extra.configure', '--extra'])
+ self.assertIn('EXTRA', config)
+- self.assertEquals(PositiveOptionValue(), config['EXTRA'])
++ self.assertEqual(PositiveOptionValue(), config['EXTRA'])
+
+ with self.assertRaises(InvalidOptionError):
+ self.get_config(['--extra'])
+@@ -231,7 +231,7 @@ class TestConfigure(unittest.TestCase):
+ def test_template(self):
+ config = self.get_config(env={'CC': 'gcc'})
+ self.assertIn('CFLAGS', config)
+- self.assertEquals(config['CFLAGS'], ['-Werror=foobar'])
++ self.assertEqual(config['CFLAGS'], ['-Werror=foobar'])
+
+ config = self.get_config(env={'CC': 'clang'})
+ self.assertNotIn('CFLAGS', config)
+@@ -288,7 +288,7 @@ class TestConfigure(unittest.TestCase):
+ sandbox
+ )
+
+- import __builtin__
++ import builtins
+ self.assertIs(sandbox['foo'](), __builtin__)
+
+ exec_(textwrap.dedent('''
+@@ -300,7 +300,7 @@ class TestConfigure(unittest.TestCase):
+ )
+
+ f = sandbox['foo']()
+- self.assertEquals(f.name, os.devnull)
++ self.assertEqual(f.name, os.devnull)
+ f.close()
+
+ # This unlocks the sandbox
+@@ -336,8 +336,8 @@ class TestConfigure(unittest.TestCase):
+ self.assertIs(sandbox['foo'](), sandbox)
+
+ # Nothing leaked from the function being executed
+- self.assertEquals(sandbox.keys(), ['__builtins__', 'foo'])
+- self.assertEquals(sandbox['__builtins__'], ConfigureSandbox.BUILTINS)
++ self.assertEqual(list(sandbox.keys()), ['__builtins__', 'foo'])
++ self.assertEqual(sandbox['__builtins__'], ConfigureSandbox.BUILTINS)
+
+ exec_(textwrap.dedent('''
+ @template
+@@ -354,7 +354,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(NameError) as e:
+ sandbox._depends[sandbox['bar']].result()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "global name 'sys' is not defined")
+
+ def test_apply_imports(self):
+@@ -380,28 +380,28 @@ class TestConfigure(unittest.TestCase):
+ sandbox
+ )
+
+- self.assertEquals(len(imports), 1)
++ self.assertEqual(len(imports), 1)
+
+ def test_os_path(self):
+ config = self.get_config(['--with-imports=%s' % __file__])
+ self.assertIn('HAS_ABSPATH', config)
+- self.assertEquals(config['HAS_ABSPATH'], True)
++ self.assertEqual(config['HAS_ABSPATH'], True)
+ self.assertIn('HAS_GETATIME', config)
+- self.assertEquals(config['HAS_GETATIME'], True)
++ self.assertEqual(config['HAS_GETATIME'], True)
+ self.assertIn('HAS_GETATIME2', config)
+- self.assertEquals(config['HAS_GETATIME2'], False)
++ self.assertEqual(config['HAS_GETATIME2'], False)
+
+ def test_template_call(self):
+ config = self.get_config(env={'CC': 'gcc'})
+ self.assertIn('TEMPLATE_VALUE', config)
+- self.assertEquals(config['TEMPLATE_VALUE'], 42)
++ self.assertEqual(config['TEMPLATE_VALUE'], 42)
+ self.assertIn('TEMPLATE_VALUE_2', config)
+- self.assertEquals(config['TEMPLATE_VALUE_2'], 21)
++ self.assertEqual(config['TEMPLATE_VALUE_2'], 21)
+
+ def test_template_imports(self):
+ config = self.get_config(['--enable-imports-in-template'])
+ self.assertIn('PLATFORM', config)
+- self.assertEquals(config['PLATFORM'], sys.platform)
++ self.assertEqual(config['PLATFORM'], sys.platform)
+
+ def test_decorators(self):
+ config = {}
+@@ -419,27 +419,27 @@ class TestConfigure(unittest.TestCase):
+ return self.get_config(*args, configure='set_config.configure')
+
+ help, config = get_config(['--help'])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config(['--set-foo'])
+ self.assertIn('FOO', config)
+- self.assertEquals(config['FOO'], True)
++ self.assertEqual(config['FOO'], True)
+
+ config = get_config(['--set-bar'])
+ self.assertNotIn('FOO', config)
+ self.assertIn('BAR', config)
+- self.assertEquals(config['BAR'], True)
++ self.assertEqual(config['BAR'], True)
+
+ config = get_config(['--set-value=qux'])
+ self.assertIn('VALUE', config)
+- self.assertEquals(config['VALUE'], 'qux')
++ self.assertEqual(config['VALUE'], 'qux')
+
+ config = get_config(['--set-name=hoge'])
+ self.assertIn('hoge', config)
+- self.assertEquals(config['hoge'], True)
++ self.assertEqual(config['hoge'], True)
+
+ config = get_config([])
+- self.assertEquals(config, {'BAR': False})
++ self.assertEqual(config, {'BAR': False})
+
+ with self.assertRaises(ConfigureError):
+ # Both --set-foo and --set-name=FOO are going to try to
+@@ -454,11 +454,11 @@ class TestConfigure(unittest.TestCase):
+ set_config('QUX', 'qux', when='--with-qux')
+ '''):
+ config = self.get_config()
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': 'foo',
+ })
+ config = self.get_config(['--with-qux'])
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': 'foo',
+ 'QUX': 'qux',
+ })
+@@ -468,27 +468,27 @@ class TestConfigure(unittest.TestCase):
+ return self.get_config(*args, configure='set_define.configure')
+
+ help, config = get_config(['--help'])
+- self.assertEquals(config, {'DEFINES': {}})
++ self.assertEqual(config, {'DEFINES': {}})
+
+ config = get_config(['--set-foo'])
+ self.assertIn('FOO', config['DEFINES'])
+- self.assertEquals(config['DEFINES']['FOO'], True)
++ self.assertEqual(config['DEFINES']['FOO'], True)
+
+ config = get_config(['--set-bar'])
+ self.assertNotIn('FOO', config['DEFINES'])
+ self.assertIn('BAR', config['DEFINES'])
+- self.assertEquals(config['DEFINES']['BAR'], True)
++ self.assertEqual(config['DEFINES']['BAR'], True)
+
+ config = get_config(['--set-value=qux'])
+ self.assertIn('VALUE', config['DEFINES'])
+- self.assertEquals(config['DEFINES']['VALUE'], 'qux')
++ self.assertEqual(config['DEFINES']['VALUE'], 'qux')
+
+ config = get_config(['--set-name=hoge'])
+ self.assertIn('hoge', config['DEFINES'])
+- self.assertEquals(config['DEFINES']['hoge'], True)
++ self.assertEqual(config['DEFINES']['hoge'], True)
+
+ config = get_config([])
+- self.assertEquals(config['DEFINES'], {'BAR': False})
++ self.assertEqual(config['DEFINES'], {'BAR': False})
+
+ with self.assertRaises(ConfigureError):
+ # Both --set-foo and --set-name=FOO are going to try to
+@@ -503,11 +503,11 @@ class TestConfigure(unittest.TestCase):
+ set_define('QUX', 'qux', when='--with-qux')
+ '''):
+ config = self.get_config()
+- self.assertEquals(config['DEFINES'], {
++ self.assertEqual(config['DEFINES'], {
+ 'FOO': 'foo',
+ })
+ config = self.get_config(['--with-qux'])
+- self.assertEquals(config['DEFINES'], {
++ self.assertEqual(config['DEFINES'], {
+ 'FOO': 'foo',
+ 'QUX': 'qux',
+ })
+@@ -518,19 +518,19 @@ class TestConfigure(unittest.TestCase):
+ *args, configure='imply_option/simple.configure')
+
+ help, config = get_config(['--help'])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config([])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config(['--enable-foo'])
+ self.assertIn('BAR', config)
+- self.assertEquals(config['BAR'], PositiveOptionValue())
++ self.assertEqual(config['BAR'], PositiveOptionValue())
+
+ with self.assertRaises(InvalidOptionError) as e:
+ get_config(['--enable-foo', '--disable-bar'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ "'--enable-bar' implied by '--enable-foo' conflicts with "
+ "'--disable-bar' from the command-line")
+@@ -541,31 +541,31 @@ class TestConfigure(unittest.TestCase):
+ *args, configure='imply_option/negative.configure')
+
+ help, config = get_config(['--help'])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config([])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config(['--enable-foo'])
+ self.assertIn('BAR', config)
+- self.assertEquals(config['BAR'], NegativeOptionValue())
++ self.assertEqual(config['BAR'], NegativeOptionValue())
+
+ with self.assertRaises(InvalidOptionError) as e:
+ get_config(['--enable-foo', '--enable-bar'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ "'--disable-bar' implied by '--enable-foo' conflicts with "
+ "'--enable-bar' from the command-line")
+
+ config = get_config(['--disable-hoge'])
+ self.assertIn('BAR', config)
+- self.assertEquals(config['BAR'], NegativeOptionValue())
++ self.assertEqual(config['BAR'], NegativeOptionValue())
+
+ with self.assertRaises(InvalidOptionError) as e:
+ get_config(['--disable-hoge', '--enable-bar'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ "'--disable-bar' implied by '--disable-hoge' conflicts with "
+ "'--enable-bar' from the command-line")
+@@ -576,23 +576,23 @@ class TestConfigure(unittest.TestCase):
+ *args, configure='imply_option/values.configure')
+
+ help, config = get_config(['--help'])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config([])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config(['--enable-foo=a'])
+ self.assertIn('BAR', config)
+- self.assertEquals(config['BAR'], PositiveOptionValue(('a',)))
++ self.assertEqual(config['BAR'], PositiveOptionValue(('a',)))
+
+ config = get_config(['--enable-foo=a,b'])
+ self.assertIn('BAR', config)
+- self.assertEquals(config['BAR'], PositiveOptionValue(('a','b')))
++ self.assertEqual(config['BAR'], PositiveOptionValue(('a','b')))
+
+ with self.assertRaises(InvalidOptionError) as e:
+ get_config(['--enable-foo=a,b', '--disable-bar'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ "'--enable-bar=a,b' implied by '--enable-foo' conflicts with "
+ "'--disable-bar' from the command-line")
+@@ -603,15 +603,15 @@ class TestConfigure(unittest.TestCase):
+ *args, configure='imply_option/infer.configure')
+
+ help, config = get_config(['--help'])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config([])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ with self.assertRaises(InvalidOptionError) as e:
+ get_config(['--enable-foo', '--disable-bar'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ "'--enable-bar' implied by '--enable-foo' conflicts with "
+ "'--disable-bar' from the command-line")
+@@ -619,7 +619,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(ConfigureError) as e:
+ self.get_config([], configure='imply_option/infer_ko.configure')
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ "Cannot infer what implies '--enable-bar'. Please add a `reason` "
+ "to the `imply_option` call.")
+@@ -630,25 +630,25 @@ class TestConfigure(unittest.TestCase):
+ *args, configure='imply_option/imm.configure')
+
+ help, config = get_config(['--help'])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = get_config([])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config_path = mozpath.abspath(
+ mozpath.join(test_data_path, 'imply_option', 'imm.configure'))
+
+- with self.assertRaisesRegexp(InvalidOptionError,
++ with self.assertRaisesRegex(InvalidOptionError,
+ "--enable-foo' implied by 'imply_option at %s:7' conflicts with "
+ "'--disable-foo' from the command-line" % config_path):
+ get_config(['--disable-foo'])
+
+- with self.assertRaisesRegexp(InvalidOptionError,
++ with self.assertRaisesRegex(InvalidOptionError,
+ "--enable-bar=foo,bar' implied by 'imply_option at %s:16' conflicts"
+ " with '--enable-bar=a,b,c' from the command-line" % config_path):
+ get_config(['--enable-bar=a,b,c'])
+
+- with self.assertRaisesRegexp(InvalidOptionError,
++ with self.assertRaisesRegex(InvalidOptionError,
+ "--enable-baz=BAZ' implied by 'imply_option at %s:25' conflicts"
+ " with '--enable-baz=QUUX' from the command-line" % config_path):
+ get_config(['--enable-baz=QUUX'])
+@@ -660,7 +660,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "`--with-foo`, emitted from `%s` line 2, is unknown."
+ % mozpath.join(test_data_path, 'moz.configure'))
+
+@@ -675,7 +675,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Unexpected type: 'int'")
+
+ def test_imply_option_when(self):
+@@ -686,12 +686,12 @@ class TestConfigure(unittest.TestCase):
+ set_config('QUX', depends('--with-qux')(lambda x: x))
+ '''):
+ config = self.get_config()
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'QUX': NegativeOptionValue(),
+ })
+
+ config = self.get_config(['--with-foo'])
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'QUX': PositiveOptionValue(),
+ })
+
+@@ -700,7 +700,7 @@ class TestConfigure(unittest.TestCase):
+ with self.moz_configure('option("--with-foo", help="foo")'):
+ self.get_config()
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'Option `--with-foo` is not handled ; reference it with a @depends'
+ )
+@@ -712,7 +712,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'Option `--with-foo` already defined'
+ )
+@@ -724,7 +724,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'Option `MOZ_FOO` already defined'
+ )
+@@ -736,7 +736,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'Option `MOZ_FOO` already defined'
+ )
+@@ -748,7 +748,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'Option `MOZ_FOO` already defined'
+ )
+@@ -760,7 +760,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'Option `--with-foo` already defined'
+ )
+@@ -776,18 +776,18 @@ class TestConfigure(unittest.TestCase):
+ set_config('QUX', depends('--with-qux', when='--with-foo')(lambda x: x))
+ '''):
+ config = self.get_config()
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': NegativeOptionValue(),
+ })
+
+ config = self.get_config(['--with-foo'])
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': PositiveOptionValue(),
+ 'QUX': NegativeOptionValue(),
+ })
+
+ config = self.get_config(['--with-foo', '--with-qux'])
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': PositiveOptionValue(),
+ 'QUX': PositiveOptionValue(),
+ })
+@@ -795,7 +795,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(InvalidOptionError) as e:
+ self.get_config(['--with-bar'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ '--with-bar is not available in this configuration'
+ )
+@@ -803,7 +803,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(InvalidOptionError) as e:
+ self.get_config(['--with-qux'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ '--with-qux is not available in this configuration'
+ )
+@@ -811,18 +811,18 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(InvalidOptionError) as e:
+ self.get_config(['QUX=1'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'QUX is not available in this configuration'
+ )
+
+ config = self.get_config(env={'QUX': '1'})
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': NegativeOptionValue(),
+ })
+
+ help, config = self.get_config(['--help'])
+- self.assertEquals(help, textwrap.dedent('''\
++ self.assertEqual(help, textwrap.dedent('''\
+ Usage: configure [options]
+
+ Options: [defaults in brackets after descriptions]
+@@ -833,7 +833,7 @@ class TestConfigure(unittest.TestCase):
+ '''))
+
+ help, config = self.get_config(['--help', '--with-foo'])
+- self.assertEquals(help, textwrap.dedent('''\
++ self.assertEqual(help, textwrap.dedent('''\
+ Usage: configure [options]
+
+ Options: [defaults in brackets after descriptions]
+@@ -851,7 +851,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(ConfigureError) as e:
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '@depends function needs the same `when` as '
+ 'options it depends on')
+
+@@ -868,7 +868,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(ConfigureError) as e:
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '@depends function needs the same `when` as '
+ 'options it depends on')
+
+@@ -896,7 +896,7 @@ class TestConfigure(unittest.TestCase):
+ with self.moz_configure('include("../foo.configure")'):
+ self.get_config()
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'Cannot include `%s` because it is not in a subdirectory of `%s`'
+ % (mozpath.normpath(mozpath.join(test_data_path, '..',
+@@ -911,7 +911,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'Cannot include `%s` because it was included already.'
+ % mozpath.normpath(mozpath.join(test_data_path,
+@@ -924,7 +924,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
++ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
+
+ def test_include_when(self):
+ with MockedOpen({
+@@ -967,26 +967,26 @@ class TestConfigure(unittest.TestCase):
+ '''),
+ }):
+ config = self.get_config()
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = self.get_config(['--with-foo'])
+- self.assertEquals(config, {})
++ self.assertEqual(config, {})
+
+ config = self.get_config(['--with-bar'])
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'BAR': 'bar',
+ })
+
+ with self.assertRaises(InvalidOptionError) as e:
+ self.get_config(['--with-qux'])
+
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ '--with-qux is not available in this configuration'
+ )
+
+ config = self.get_config(['--with-foo', '--with-foo-really'])
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': 'foo',
+ 'FOO2': True,
+ })
+@@ -998,7 +998,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message, 'Cannot reassign builtins')
++ self.assertEqual(e.exception.message, 'Cannot reassign builtins')
+
+ with self.assertRaises(KeyError) as e:
+ with self.moz_configure('''
+@@ -1006,7 +1006,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'Cannot assign `foo` because it is neither a '
+ '@depends nor a @template')
+
+@@ -1019,7 +1019,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "@depends needs at least one argument")
+
+ with self.assertRaises(ConfigureError) as e:
+@@ -1030,7 +1030,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "'--with-foo' is not a known option. Maybe it's "
+ "declared too late?")
+
+@@ -1042,7 +1042,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Option must not contain an '='")
+
+ with self.assertRaises(TypeError) as e:
+@@ -1053,7 +1053,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Cannot use object of type 'int' as argument "
+ "to @depends")
+
+@@ -1065,7 +1065,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Cannot decorate generator functions with @depends")
+
+ with self.assertRaises(TypeError) as e:
+@@ -1074,7 +1074,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Unexpected type: 'int'")
+
+ with self.assertRaises(ConfigureError) as e:
+@@ -1088,7 +1088,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The `foo` function may not be called")
+
+ with self.assertRaises(TypeError) as e:
+@@ -1099,7 +1099,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "depends_impl() got an unexpected keyword argument 'foo'")
+
+ def test_depends_when(self):
+@@ -1124,12 +1124,12 @@ class TestConfigure(unittest.TestCase):
+ set_config('QUX', qux)
+ '''):
+ config = self.get_config()
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': 'foo',
+ })
+
+ config = self.get_config(['--with-qux'])
+- self.assertEquals(config, {
++ self.assertEqual(config, {
+ 'FOO': 'foo',
+ 'QUX': 'qux',
+ })
+@@ -1144,7 +1144,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '@imports must appear after @template')
+
+ with self.assertRaises(ConfigureError) as e:
+@@ -1157,7 +1157,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '@imports must appear after @depends')
+
+ for import_ in (
+@@ -1174,7 +1174,7 @@ class TestConfigure(unittest.TestCase):
+ ''' % import_):
+ self.get_config()
+
+- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
++ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
+
+ with self.assertRaises(TypeError) as e:
+ with self.moz_configure('''
+@@ -1185,7 +1185,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
++ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
+
+ with self.assertRaises(ValueError) as e:
+ with self.moz_configure('''
+@@ -1195,7 +1195,7 @@ class TestConfigure(unittest.TestCase):
+ '''):
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Invalid argument to @imports: 'os*'")
+
+ def test_only_when(self):
+@@ -1250,7 +1250,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(InvalidOptionError) as e:
+ self.get_config(['--foo'])
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--foo is not available in this configuration')
+
+ # Cannot depend on an option defined in a only_when block, because we
+@@ -1261,7 +1261,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(ConfigureError) as e:
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '@depends function needs the same `when` as '
+ 'options it depends on')
+
+@@ -1278,7 +1278,7 @@ class TestConfigure(unittest.TestCase):
+ with self.assertRaises(InvalidOptionError) as e:
+ self.get_config()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--foo is not available in this configuration')
+
+ # And similarly doesn't fail when the condition is true.
+diff --git a/python/mozbuild/mozbuild/test/configure/test_lint.py b/python/mozbuild/mozbuild/test/configure/test_lint.py
+index 6d8d4c49f..6ad897839 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_lint.py
++++ b/python/mozbuild/mozbuild/test/configure/test_lint.py
+@@ -2,9 +2,9 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
+
+-from StringIO import StringIO
++
++from io import StringIO
+ import os
+ import textwrap
+ import unittest
+@@ -62,7 +62,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "`bar` depends on '--help' and `foo`. "
+ "`foo` must depend on '--help'")
+
+@@ -85,7 +85,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "`bar` depends on '--help' and `foo`. "
+ "`foo` must depend on '--help'")
+
+@@ -111,7 +111,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Missing @depends for `foo`: '--help'")
+
+ with self.assertRaises(ConfigureError) as e:
+@@ -130,7 +130,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Missing @depends for `foo`: '--help'")
+
+ with self.assertRaises(ConfigureError) as e:
+@@ -145,7 +145,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Missing @depends for `foo`: '--help'")
+
+ # This would have failed with "Missing @depends for `foo`: '--help'"
+@@ -178,7 +178,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "Missing @depends for `foo`: '--help'")
+
+ # There is a default restricted `os` module when there is no explicit
+@@ -205,7 +205,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "%s:3: The dependency on `--foo` is unused."
+ % mozpath.join(test_data_path, 'moz.configure'))
+
+@@ -222,7 +222,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "%s:5: The dependency on `bar` is unused."
+ % mozpath.join(test_data_path, 'moz.configure'))
+
+@@ -236,7 +236,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "%s:2: The dependency on `<lambda>` is unused."
+ % mozpath.join(test_data_path, 'moz.configure'))
+
+@@ -257,7 +257,7 @@ class TestLint(unittest.TestCase):
+ '''):
+ self.lint_test()
+
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "%s:9: The dependency on `qux` is unused."
+ % mozpath.join(test_data_path, 'moz.configure'))
+
+diff --git a/python/mozbuild/mozbuild/test/configure/test_moz_configure.py b/python/mozbuild/mozbuild/test/configure/test_moz_configure.py
+index b3342e268..7a26e9e09 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_moz_configure.py
++++ b/python/mozbuild/mozbuild/test/configure/test_moz_configure.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ from mozunit import main
+ from mozpack import path as mozpath
+@@ -27,10 +27,10 @@ class TestMozConfigure(BaseConfigureTest):
+ shell = mozpath.abspath('/bin/sh')
+ return result.replace('CONFIG_SHELL=%s ' % shell, '')
+
+- self.assertEquals('--enable-application=browser',
++ self.assertEqual('--enable-application=browser',
+ get_value_for(['--enable-application=browser']))
+
+- self.assertEquals('--enable-application=browser '
++ self.assertEqual('--enable-application=browser '
+ 'MOZ_VTUNE=1',
+ get_value_for(['--enable-application=browser',
+ 'MOZ_VTUNE=1']))
+@@ -39,25 +39,25 @@ class TestMozConfigure(BaseConfigureTest):
+ environ={'MOZ_VTUNE': '1'},
+ mozconfig='ac_add_options --enable-project=js')
+
+- self.assertEquals('--enable-project=js MOZ_VTUNE=1',
++ self.assertEqual('--enable-project=js MOZ_VTUNE=1',
+ value)
+
+ # --disable-js-shell is the default, so it's filtered out.
+- self.assertEquals('--enable-application=browser',
++ self.assertEqual('--enable-application=browser',
+ get_value_for(['--enable-application=browser',
+ '--disable-js-shell']))
+
+ # Normally, --without-foo would be filtered out because that's the
+ # default, but since it is a (fake) old-configure option, it always
+ # appears.
+- self.assertEquals('--enable-application=browser --without-foo',
++ self.assertEqual('--enable-application=browser --without-foo',
+ get_value_for(['--enable-application=browser',
+ '--without-foo']))
+- self.assertEquals('--enable-application=browser --with-foo',
++ self.assertEqual('--enable-application=browser --with-foo',
+ get_value_for(['--enable-application=browser',
+ '--with-foo']))
+
+- self.assertEquals("--enable-application=browser '--with-foo=foo bar'",
++ self.assertEqual("--enable-application=browser '--with-foo=foo bar'",
+ get_value_for(['--enable-application=browser',
+ '--with-foo=foo bar']))
+
+@@ -69,7 +69,7 @@ class TestMozConfigure(BaseConfigureTest):
+ self.version = version
+
+ def __call__(self, stdin, args):
+- this.assertEquals(args, ('-version',))
++ this.assertEqual(args, ('-version',))
+ return 0, self.version, ''
+
+ def check_nsis_version(version):
+@@ -84,13 +84,13 @@ class TestMozConfigure(BaseConfigureTest):
+ with self.assertRaises(SystemExit) as e:
+ check_nsis_version('v3.0a2')
+
+- self.assertEquals(check_nsis_version('v3.0b1'), '3.0b1')
+- self.assertEquals(check_nsis_version('v3.0b2'), '3.0b2')
+- self.assertEquals(check_nsis_version('v3.0rc1'), '3.0rc1')
+- self.assertEquals(check_nsis_version('v3.0'), '3.0')
+- self.assertEquals(check_nsis_version('v3.0-2'), '3.0')
+- self.assertEquals(check_nsis_version('v3.0.1'), '3.0')
+- self.assertEquals(check_nsis_version('v3.1'), '3.1')
++ self.assertEqual(check_nsis_version('v3.0b1'), '3.0b1')
++ self.assertEqual(check_nsis_version('v3.0b2'), '3.0b2')
++ self.assertEqual(check_nsis_version('v3.0rc1'), '3.0rc1')
++ self.assertEqual(check_nsis_version('v3.0'), '3.0')
++ self.assertEqual(check_nsis_version('v3.0-2'), '3.0')
++ self.assertEqual(check_nsis_version('v3.0.1'), '3.0')
++ self.assertEqual(check_nsis_version('v3.1'), '3.1')
+
+
+ if __name__ == '__main__':
+diff --git a/python/mozbuild/mozbuild/test/configure/test_options.py b/python/mozbuild/mozbuild/test/configure/test_options.py
+index 9defccb2c..330ce3b1f 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_options.py
++++ b/python/mozbuild/mozbuild/test/configure/test_options.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import unittest
+
+@@ -28,139 +28,139 @@ class Option(Option):
+ class TestOption(unittest.TestCase):
+ def test_option(self):
+ option = Option('--option')
+- self.assertEquals(option.prefix, '')
+- self.assertEquals(option.name, 'option')
+- self.assertEquals(option.env, None)
++ self.assertEqual(option.prefix, '')
++ self.assertEqual(option.name, 'option')
++ self.assertEqual(option.env, None)
+ self.assertFalse(option.default)
+
+ option = Option('--enable-option')
+- self.assertEquals(option.prefix, 'enable')
+- self.assertEquals(option.name, 'option')
+- self.assertEquals(option.env, None)
++ self.assertEqual(option.prefix, 'enable')
++ self.assertEqual(option.name, 'option')
++ self.assertEqual(option.env, None)
+ self.assertFalse(option.default)
+
+ option = Option('--disable-option')
+- self.assertEquals(option.prefix, 'disable')
+- self.assertEquals(option.name, 'option')
+- self.assertEquals(option.env, None)
++ self.assertEqual(option.prefix, 'disable')
++ self.assertEqual(option.name, 'option')
++ self.assertEqual(option.env, None)
+ self.assertTrue(option.default)
+
+ option = Option('--with-option')
+- self.assertEquals(option.prefix, 'with')
+- self.assertEquals(option.name, 'option')
+- self.assertEquals(option.env, None)
++ self.assertEqual(option.prefix, 'with')
++ self.assertEqual(option.name, 'option')
++ self.assertEqual(option.env, None)
+ self.assertFalse(option.default)
+
+ option = Option('--without-option')
+- self.assertEquals(option.prefix, 'without')
+- self.assertEquals(option.name, 'option')
+- self.assertEquals(option.env, None)
++ self.assertEqual(option.prefix, 'without')
++ self.assertEqual(option.name, 'option')
++ self.assertEqual(option.env, None)
+ self.assertTrue(option.default)
+
+ option = Option('--without-option-foo', env='MOZ_OPTION')
+- self.assertEquals(option.env, 'MOZ_OPTION')
++ self.assertEqual(option.env, 'MOZ_OPTION')
+
+ option = Option(env='MOZ_OPTION')
+- self.assertEquals(option.prefix, '')
+- self.assertEquals(option.name, None)
+- self.assertEquals(option.env, 'MOZ_OPTION')
++ self.assertEqual(option.prefix, '')
++ self.assertEqual(option.name, None)
++ self.assertEqual(option.env, 'MOZ_OPTION')
+ self.assertFalse(option.default)
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=0, default=('a',))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=1, default=())
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'default must be a bool, a string or a tuple of strings')
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=1, default=True)
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=1, default=('a', 'b'))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=2, default=())
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'default must be a bool, a string or a tuple of strings')
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=2, default=True)
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=2, default=('a',))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs='?', default=('a', 'b'))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs='+', default=())
+- self.assertEquals(
++ self.assertEqual(
+ e.exception.message,
+ 'default must be a bool, a string or a tuple of strings')
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs='+', default=True)
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ # --disable options with a nargs value that requires at least one
+ # argument need to be given a default.
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--disable-option', nargs=1)
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--disable-option', nargs='+')
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ # Test nargs inference from default value
+ option = Option('--with-foo', default=True)
+- self.assertEquals(option.nargs, 0)
++ self.assertEqual(option.nargs, 0)
+
+ option = Option('--with-foo', default=False)
+- self.assertEquals(option.nargs, 0)
++ self.assertEqual(option.nargs, 0)
+
+ option = Option('--with-foo', default='a')
+- self.assertEquals(option.nargs, '?')
++ self.assertEqual(option.nargs, '?')
+
+ option = Option('--with-foo', default=('a',))
+- self.assertEquals(option.nargs, '?')
++ self.assertEqual(option.nargs, '?')
+
+ option = Option('--with-foo', default=('a', 'b'))
+- self.assertEquals(option.nargs, '*')
++ self.assertEqual(option.nargs, '*')
+
+ option = Option(env='FOO', default=True)
+- self.assertEquals(option.nargs, 0)
++ self.assertEqual(option.nargs, 0)
+
+ option = Option(env='FOO', default=False)
+- self.assertEquals(option.nargs, 0)
++ self.assertEqual(option.nargs, 0)
+
+ option = Option(env='FOO', default='a')
+- self.assertEquals(option.nargs, '?')
++ self.assertEqual(option.nargs, '?')
+
+ option = Option(env='FOO', default=('a',))
+- self.assertEquals(option.nargs, '?')
++ self.assertEqual(option.nargs, '?')
+
+ option = Option(env='FOO', default=('a', 'b'))
+- self.assertEquals(option.nargs, '*')
++ self.assertEqual(option.nargs, '*')
+
+ def test_option_option(self):
+ for option in (
+@@ -170,70 +170,70 @@ class TestOption(unittest.TestCase):
+ '--with-option',
+ '--without-option',
+ ):
+- self.assertEquals(Option(option).option, option)
+- self.assertEquals(Option(option, env='FOO').option, option)
++ self.assertEqual(Option(option).option, option)
++ self.assertEqual(Option(option, env='FOO').option, option)
+
+ opt = Option(option, default=False)
+- self.assertEquals(opt.option,
++ self.assertEqual(opt.option,
+ option.replace('-disable-', '-enable-')
+ .replace('-without-', '-with-'))
+
+ opt = Option(option, default=True)
+- self.assertEquals(opt.option,
++ self.assertEqual(opt.option,
+ option.replace('-enable-', '-disable-')
+ .replace('-with-', '-without-'))
+
+- self.assertEquals(Option(env='FOO').option, 'FOO')
++ self.assertEqual(Option(env='FOO').option, 'FOO')
+
+ def test_option_choices(self):
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=3, choices=('a', 'b'))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'Not enough `choices` for `nargs`')
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--without-option', nargs=1, choices=('a', 'b'))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'A `default` must be given along with `choices`')
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--without-option', nargs='+', choices=('a', 'b'))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'A `default` must be given along with `choices`')
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--without-option', default='c', choices=('a', 'b'))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The `default` value must be one of 'a', 'b'")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--without-option', default=('a', 'c',), choices=('a', 'b'))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The `default` value must be one of 'a', 'b'")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--without-option', default=('c',), choices=('a', 'b'))
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The `default` value must be one of 'a', 'b'")
+
+ option = Option('--with-option', nargs='+', choices=('a', 'b'))
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--with-option=c')
+- self.assertEquals(e.exception.message, "'c' is not one of 'a', 'b'")
++ self.assertEqual(e.exception.message, "'c' is not one of 'a', 'b'")
+
+ value = option.get_value('--with-option=b,a')
+ self.assertTrue(value)
+- self.assertEquals(PositiveOptionValue(('b', 'a')), value)
++ self.assertEqual(PositiveOptionValue(('b', 'a')), value)
+
+ option = Option('--without-option', nargs='*', default='a',
+ choices=('a', 'b'))
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--with-option=c')
+- self.assertEquals(e.exception.message, "'c' is not one of 'a', 'b'")
++ self.assertEqual(e.exception.message, "'c' is not one of 'a', 'b'")
+
+ value = option.get_value('--with-option=b,a')
+ self.assertTrue(value)
+- self.assertEquals(PositiveOptionValue(('b', 'a')), value)
++ self.assertEqual(PositiveOptionValue(('b', 'a')), value)
+
+ # Test nargs inference from choices
+ option = Option('--with-option', choices=('a', 'b'))
+@@ -244,37 +244,37 @@ class TestOption(unittest.TestCase):
+ choices=('a', 'b', 'c', 'd'))
+
+ value = option.get_value('--with-option=+d')
+- self.assertEquals(PositiveOptionValue(('b', 'c', 'd')), value)
++ self.assertEqual(PositiveOptionValue(('b', 'c', 'd')), value)
+
+ value = option.get_value('--with-option=-b')
+- self.assertEquals(PositiveOptionValue(('c',)), value)
++ self.assertEqual(PositiveOptionValue(('c',)), value)
+
+ value = option.get_value('--with-option=-b,+d')
+- self.assertEquals(PositiveOptionValue(('c','d')), value)
++ self.assertEqual(PositiveOptionValue(('c','d')), value)
+
+ # Adding something that is in the default is fine
+ value = option.get_value('--with-option=+b')
+- self.assertEquals(PositiveOptionValue(('b', 'c')), value)
++ self.assertEqual(PositiveOptionValue(('b', 'c')), value)
+
+ # Removing something that is not in the default is fine, as long as it
+ # is one of the choices
+ value = option.get_value('--with-option=-a')
+- self.assertEquals(PositiveOptionValue(('b', 'c')), value)
++ self.assertEqual(PositiveOptionValue(('b', 'c')), value)
+
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--with-option=-e')
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "'e' is not one of 'a', 'b', 'c', 'd'")
+
+ # Other "not a choice" errors.
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--with-option=+e')
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "'e' is not one of 'a', 'b', 'c', 'd'")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--with-option=e')
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "'e' is not one of 'a', 'b', 'c', 'd'")
+
+ def test_option_value_compare(self):
+@@ -294,7 +294,7 @@ class TestOption(unittest.TestCase):
+
+ # For usability reasons, we raise TypeError when attempting to compare
+ # against a non-tuple.
+- with self.assertRaisesRegexp(TypeError, 'cannot compare a'):
++ with self.assertRaisesRegex(TypeError, 'cannot compare a'):
+ val == 'foo'
+
+ # But we allow empty option values to compare otherwise we can't
+@@ -313,36 +313,36 @@ class TestOption(unittest.TestCase):
+
+ def test_option_value_format(self):
+ val = PositiveOptionValue()
+- self.assertEquals('--with-value', val.format('--with-value'))
+- self.assertEquals('--with-value', val.format('--without-value'))
+- self.assertEquals('--enable-value', val.format('--enable-value'))
+- self.assertEquals('--enable-value', val.format('--disable-value'))
+- self.assertEquals('--value', val.format('--value'))
+- self.assertEquals('VALUE=1', val.format('VALUE'))
++ self.assertEqual('--with-value', val.format('--with-value'))
++ self.assertEqual('--with-value', val.format('--without-value'))
++ self.assertEqual('--enable-value', val.format('--enable-value'))
++ self.assertEqual('--enable-value', val.format('--disable-value'))
++ self.assertEqual('--value', val.format('--value'))
++ self.assertEqual('VALUE=1', val.format('VALUE'))
+
+ val = PositiveOptionValue(('a',))
+- self.assertEquals('--with-value=a', val.format('--with-value'))
+- self.assertEquals('--with-value=a', val.format('--without-value'))
+- self.assertEquals('--enable-value=a', val.format('--enable-value'))
+- self.assertEquals('--enable-value=a', val.format('--disable-value'))
+- self.assertEquals('--value=a', val.format('--value'))
+- self.assertEquals('VALUE=a', val.format('VALUE'))
++ self.assertEqual('--with-value=a', val.format('--with-value'))
++ self.assertEqual('--with-value=a', val.format('--without-value'))
++ self.assertEqual('--enable-value=a', val.format('--enable-value'))
++ self.assertEqual('--enable-value=a', val.format('--disable-value'))
++ self.assertEqual('--value=a', val.format('--value'))
++ self.assertEqual('VALUE=a', val.format('VALUE'))
+
+ val = PositiveOptionValue(('a', 'b'))
+- self.assertEquals('--with-value=a,b', val.format('--with-value'))
+- self.assertEquals('--with-value=a,b', val.format('--without-value'))
+- self.assertEquals('--enable-value=a,b', val.format('--enable-value'))
+- self.assertEquals('--enable-value=a,b', val.format('--disable-value'))
+- self.assertEquals('--value=a,b', val.format('--value'))
+- self.assertEquals('VALUE=a,b', val.format('VALUE'))
++ self.assertEqual('--with-value=a,b', val.format('--with-value'))
++ self.assertEqual('--with-value=a,b', val.format('--without-value'))
++ self.assertEqual('--enable-value=a,b', val.format('--enable-value'))
++ self.assertEqual('--enable-value=a,b', val.format('--disable-value'))
++ self.assertEqual('--value=a,b', val.format('--value'))
++ self.assertEqual('VALUE=a,b', val.format('VALUE'))
+
+ val = NegativeOptionValue()
+- self.assertEquals('--without-value', val.format('--with-value'))
+- self.assertEquals('--without-value', val.format('--without-value'))
+- self.assertEquals('--disable-value', val.format('--enable-value'))
+- self.assertEquals('--disable-value', val.format('--disable-value'))
+- self.assertEquals('', val.format('--value'))
+- self.assertEquals('VALUE=', val.format('VALUE'))
++ self.assertEqual('--without-value', val.format('--with-value'))
++ self.assertEqual('--without-value', val.format('--without-value'))
++ self.assertEqual('--disable-value', val.format('--enable-value'))
++ self.assertEqual('--disable-value', val.format('--disable-value'))
++ self.assertEqual('', val.format('--value'))
++ self.assertEqual('VALUE=', val.format('VALUE'))
+
+ def test_option_value(self, name='option', nargs=0, default=None):
+ disabled = name.startswith(('disable-', 'without-'))
+@@ -359,28 +359,28 @@ class TestOption(unittest.TestCase):
+
+ if nargs in (0, '?', '*') or disabled:
+ value = option.get_value('--%s' % name, 'option')
+- self.assertEquals(value, posOptionValue())
+- self.assertEquals(value.origin, 'option')
++ self.assertEqual(value, posOptionValue())
++ self.assertEqual(value.origin, 'option')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--%s' % name)
+ if nargs == 1:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes 1 value' % name)
+ elif nargs == '+':
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes 1 or more values' % name)
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes 2 values' % name)
+
+ value = option.get_value('')
+- self.assertEquals(value, defaultValue)
+- self.assertEquals(value.origin, 'default')
++ self.assertEqual(value, defaultValue)
++ self.assertEqual(value.origin, 'default')
+
+ value = option.get_value(None)
+- self.assertEquals(value, defaultValue)
+- self.assertEquals(value.origin, 'default')
++ self.assertEqual(value, defaultValue)
++ self.assertEqual(value.origin, 'default')
+
+ with self.assertRaises(AssertionError):
+ value = option.get_value('MOZ_OPTION=', 'environment')
+@@ -393,47 +393,47 @@ class TestOption(unittest.TestCase):
+
+ if nargs in (1, '?', '*', '+') and not disabled:
+ value = option.get_value('--%s=' % name, 'option')
+- self.assertEquals(value, PositiveOptionValue(('',)))
+- self.assertEquals(value.origin, 'option')
++ self.assertEqual(value, PositiveOptionValue(('',)))
++ self.assertEqual(value.origin, 'option')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--%s=' % name)
+ if disabled:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'Cannot pass a value to --%s' % name)
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes %d values' % (name, nargs))
+
+ if nargs in (1, '?', '*', '+') and not disabled:
+ value = option.get_value('--%s=foo' % name, 'option')
+- self.assertEquals(value, PositiveOptionValue(('foo',)))
+- self.assertEquals(value.origin, 'option')
++ self.assertEqual(value, PositiveOptionValue(('foo',)))
++ self.assertEqual(value.origin, 'option')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--%s=foo' % name)
+ if disabled:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'Cannot pass a value to --%s' % name)
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes %d values' % (name, nargs))
+
+ if nargs in (2, '*', '+') and not disabled:
+ value = option.get_value('--%s=foo,bar' % name, 'option')
+- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
+- self.assertEquals(value.origin, 'option')
++ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
++ self.assertEqual(value.origin, 'option')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--%s=foo,bar' % name, 'option')
+ if disabled:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'Cannot pass a value to --%s' % name)
+ elif nargs == '?':
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes 0 or 1 values' % name)
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes %d value%s'
+ % (name, nargs, 's' if nargs != 1 else ''))
+
+@@ -441,59 +441,59 @@ class TestOption(unittest.TestCase):
+ default=default)
+ if nargs in (0, '?', '*') or disabled:
+ value = option.get_value('--%s' % name, 'option')
+- self.assertEquals(value, posOptionValue())
+- self.assertEquals(value.origin, 'option')
++ self.assertEqual(value, posOptionValue())
++ self.assertEqual(value.origin, 'option')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--%s' % name)
+ if disabled:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'Cannot pass a value to --%s' % name)
+ elif nargs == '+':
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes 1 or more values' % name)
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes %d value%s'
+ % (name, nargs, 's' if nargs != 1 else ''))
+
+ value = option.get_value('')
+- self.assertEquals(value, defaultValue)
+- self.assertEquals(value.origin, 'default')
++ self.assertEqual(value, defaultValue)
++ self.assertEqual(value.origin, 'default')
+
+ value = option.get_value(None)
+- self.assertEquals(value, defaultValue)
+- self.assertEquals(value.origin, 'default')
++ self.assertEqual(value, defaultValue)
++ self.assertEqual(value.origin, 'default')
+
+ value = option.get_value('MOZ_OPTION=', 'environment')
+- self.assertEquals(value, NegativeOptionValue())
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, NegativeOptionValue())
++ self.assertEqual(value.origin, 'environment')
+
+ if nargs in (0, '?', '*'):
+ value = option.get_value('MOZ_OPTION=1', 'environment')
+- self.assertEquals(value, PositiveOptionValue())
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, PositiveOptionValue())
++ self.assertEqual(value.origin, 'environment')
+ elif nargs in (1, '+'):
+ value = option.get_value('MOZ_OPTION=1', 'environment')
+- self.assertEquals(value, PositiveOptionValue(('1',)))
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, PositiveOptionValue(('1',)))
++ self.assertEqual(value.origin, 'environment')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('MOZ_OPTION=1', 'environment')
+- self.assertEquals(e.exception.message, 'MOZ_OPTION takes 2 values')
++ self.assertEqual(e.exception.message, 'MOZ_OPTION takes 2 values')
+
+ if nargs in (1, '?', '*', '+') and not disabled:
+ value = option.get_value('--%s=' % name, 'option')
+- self.assertEquals(value, PositiveOptionValue(('',)))
+- self.assertEquals(value.origin, 'option')
++ self.assertEqual(value, PositiveOptionValue(('',)))
++ self.assertEqual(value.origin, 'option')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--%s=' % name, 'option')
+ if disabled:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'Cannot pass a value to --%s' % name)
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s takes %d values' % (name, nargs))
+
+ with self.assertRaises(AssertionError):
+@@ -501,26 +501,26 @@ class TestOption(unittest.TestCase):
+
+ if nargs in (1, '?', '*', '+'):
+ value = option.get_value('MOZ_OPTION=foo', 'environment')
+- self.assertEquals(value, PositiveOptionValue(('foo',)))
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, PositiveOptionValue(('foo',)))
++ self.assertEqual(value.origin, 'environment')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('MOZ_OPTION=foo', 'environment')
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'MOZ_OPTION takes %d values' % nargs)
+
+ if nargs in (2, '*', '+'):
+ value = option.get_value('MOZ_OPTION=foo,bar', 'environment')
+- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
++ self.assertEqual(value.origin, 'environment')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('MOZ_OPTION=foo,bar', 'environment')
+ if nargs == '?':
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'MOZ_OPTION takes 0 or 1 values')
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'MOZ_OPTION takes %d value%s'
+ % (nargs, 's' if nargs != 1 else ''))
+
+@@ -532,26 +532,26 @@ class TestOption(unittest.TestCase):
+ env_option.get_value('--%s' % name)
+
+ value = env_option.get_value('')
+- self.assertEquals(value, defaultValue)
+- self.assertEquals(value.origin, 'default')
++ self.assertEqual(value, defaultValue)
++ self.assertEqual(value.origin, 'default')
+
+ value = env_option.get_value('MOZ_OPTION=', 'environment')
+- self.assertEquals(value, negOptionValue())
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, negOptionValue())
++ self.assertEqual(value.origin, 'environment')
+
+ if nargs in (0, '?', '*'):
+ value = env_option.get_value('MOZ_OPTION=1', 'environment')
+- self.assertEquals(value, posOptionValue())
++ self.assertEqual(value, posOptionValue())
+ self.assertTrue(value)
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value.origin, 'environment')
+ elif nargs in (1, '+'):
+ value = env_option.get_value('MOZ_OPTION=1', 'environment')
+- self.assertEquals(value, PositiveOptionValue(('1',)))
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, PositiveOptionValue(('1',)))
++ self.assertEqual(value.origin, 'environment')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ env_option.get_value('MOZ_OPTION=1', 'environment')
+- self.assertEquals(e.exception.message, 'MOZ_OPTION takes 2 values')
++ self.assertEqual(e.exception.message, 'MOZ_OPTION takes 2 values')
+
+ with self.assertRaises(AssertionError) as e:
+ env_option.get_value('--%s' % name)
+@@ -561,26 +561,26 @@ class TestOption(unittest.TestCase):
+
+ if nargs in (1, '?', '*', '+'):
+ value = env_option.get_value('MOZ_OPTION=foo', 'environment')
+- self.assertEquals(value, PositiveOptionValue(('foo',)))
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, PositiveOptionValue(('foo',)))
++ self.assertEqual(value.origin, 'environment')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ env_option.get_value('MOZ_OPTION=foo', 'environment')
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'MOZ_OPTION takes %d values' % nargs)
+
+ if nargs in (2, '*', '+'):
+ value = env_option.get_value('MOZ_OPTION=foo,bar', 'environment')
+- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
+- self.assertEquals(value.origin, 'environment')
++ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
++ self.assertEqual(value.origin, 'environment')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ env_option.get_value('MOZ_OPTION=foo,bar', 'environment')
+ if nargs == '?':
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'MOZ_OPTION takes 0 or 1 values')
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ 'MOZ_OPTION takes %d value%s'
+ % (nargs, 's' if nargs != 1 else ''))
+
+@@ -592,28 +592,28 @@ class TestOption(unittest.TestCase):
+ default=default)
+
+ value = option.get_value('--%s-option' % disable, 'option')
+- self.assertEquals(value, NegativeOptionValue())
+- self.assertEquals(value.origin, 'option')
++ self.assertEqual(value, NegativeOptionValue())
++ self.assertEqual(value.origin, 'option')
+
+ option = self.test_option_value('%s-option' % disable, nargs=nargs,
+ default=default)
+
+ if nargs in (0, '?', '*'):
+ value = option.get_value('--%s-option' % enable, 'option')
+- self.assertEquals(value, PositiveOptionValue())
+- self.assertEquals(value.origin, 'option')
++ self.assertEqual(value, PositiveOptionValue())
++ self.assertEqual(value.origin, 'option')
+ else:
+ with self.assertRaises(InvalidOptionError) as e:
+ option.get_value('--%s-option' % enable, 'option')
+ if nargs == 1:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s-option takes 1 value' % enable)
+ elif nargs == '+':
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s-option takes 1 or more values'
+ % enable)
+ else:
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ '--%s-option takes 2 values' % enable)
+
+ def test_option_value_with(self):
+@@ -622,12 +622,12 @@ class TestOption(unittest.TestCase):
+ def test_option_value_invalid_nargs(self):
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs='foo')
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "nargs must be a positive integer, '?', '*' or '+'")
+
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--option', nargs=-2)
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "nargs must be a positive integer, '?', '*' or '+'")
+
+ def test_option_value_nargs_1(self):
+@@ -638,7 +638,7 @@ class TestOption(unittest.TestCase):
+ # A default is required
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--disable-option', nargs=1)
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ def test_option_value_nargs_2(self):
+@@ -649,7 +649,7 @@ class TestOption(unittest.TestCase):
+ # A default is required
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--disable-option', nargs=2)
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+ def test_option_value_nargs_0_or_1(self):
+@@ -676,7 +676,7 @@ class TestOption(unittest.TestCase):
+ # A default is required
+ with self.assertRaises(InvalidOptionError) as e:
+ Option('--disable-option', nargs='+')
+- self.assertEquals(e.exception.message,
++ self.assertEqual(e.exception.message,
+ "The given `default` doesn't satisfy `nargs`")
+
+
+@@ -684,21 +684,21 @@ class TestCommandLineHelper(unittest.TestCase):
+ def test_basic(self):
+ helper = CommandLineHelper({}, ['cmd', '--foo', '--bar'])
+
+- self.assertEquals(['--foo', '--bar'], list(helper))
++ self.assertEqual(['--foo', '--bar'], list(helper))
+
+ helper.add('--enable-qux')
+
+- self.assertEquals(['--foo', '--bar', '--enable-qux'], list(helper))
++ self.assertEqual(['--foo', '--bar', '--enable-qux'], list(helper))
+
+ value, option = helper.handle(Option('--bar'))
+- self.assertEquals(['--foo', '--enable-qux'], list(helper))
+- self.assertEquals(PositiveOptionValue(), value)
+- self.assertEquals('--bar', option)
++ self.assertEqual(['--foo', '--enable-qux'], list(helper))
++ self.assertEqual(PositiveOptionValue(), value)
++ self.assertEqual('--bar', option)
+
+ value, option = helper.handle(Option('--baz'))
+- self.assertEquals(['--foo', '--enable-qux'], list(helper))
+- self.assertEquals(NegativeOptionValue(), value)
+- self.assertEquals(None, option)
++ self.assertEqual(['--foo', '--enable-qux'], list(helper))
++ self.assertEqual(NegativeOptionValue(), value)
++ self.assertEqual(None, option)
+
+ with self.assertRaises(AssertionError):
+ CommandLineHelper({}, ['--foo', '--bar'])
+@@ -707,89 +707,89 @@ class TestCommandLineHelper(unittest.TestCase):
+ foo = Option('--with-foo', nargs='*')
+ helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b'])
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('--with-foo=a,b', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('--with-foo=a,b', option)
+
+ helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b',
+ '--without-foo'])
+ value, option = helper.handle(foo)
+- self.assertEquals(NegativeOptionValue(), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('--without-foo', option)
++ self.assertEqual(NegativeOptionValue(), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('--without-foo', option)
+
+ helper = CommandLineHelper({}, ['cmd', '--without-foo',
+ '--with-foo=a,b'])
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('--with-foo=a,b', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('--with-foo=a,b', option)
+
+ foo = Option('--with-foo', env='FOO', nargs='*')
+ helper = CommandLineHelper({'FOO': ''}, ['cmd', '--with-foo=a,b'])
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('--with-foo=a,b', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('--with-foo=a,b', option)
+
+ helper = CommandLineHelper({'FOO': 'a,b'}, ['cmd', '--without-foo'])
+ value, option = helper.handle(foo)
+- self.assertEquals(NegativeOptionValue(), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('--without-foo', option)
++ self.assertEqual(NegativeOptionValue(), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('--without-foo', option)
+
+ helper = CommandLineHelper({'FOO': ''}, ['cmd', '--with-bar=a,b'])
+ value, option = helper.handle(foo)
+- self.assertEquals(NegativeOptionValue(), value)
+- self.assertEquals('environment', value.origin)
+- self.assertEquals('FOO=', option)
++ self.assertEqual(NegativeOptionValue(), value)
++ self.assertEqual('environment', value.origin)
++ self.assertEqual('FOO=', option)
+
+ helper = CommandLineHelper({'FOO': 'a,b'}, ['cmd', '--without-bar'])
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
+- self.assertEquals('environment', value.origin)
+- self.assertEquals('FOO=a,b', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
++ self.assertEqual('environment', value.origin)
++ self.assertEqual('FOO=a,b', option)
+
+ helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b', 'FOO='])
+ value, option = helper.handle(foo)
+- self.assertEquals(NegativeOptionValue(), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('FOO=', option)
++ self.assertEqual(NegativeOptionValue(), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('FOO=', option)
+
+ helper = CommandLineHelper({}, ['cmd', '--without-foo', 'FOO=a,b'])
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('FOO=a,b', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('FOO=a,b', option)
+
+ helper = CommandLineHelper({}, ['cmd', 'FOO=', '--with-foo=a,b'])
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('--with-foo=a,b', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('--with-foo=a,b', option)
+
+ helper = CommandLineHelper({}, ['cmd', 'FOO=a,b', '--without-foo'])
+ value, option = helper.handle(foo)
+- self.assertEquals(NegativeOptionValue(), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('--without-foo', option)
++ self.assertEqual(NegativeOptionValue(), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('--without-foo', option)
+
+ def test_extra_args(self):
+ foo = Option('--with-foo', env='FOO', nargs='*')
+ helper = CommandLineHelper({}, ['cmd'])
+ helper.add('FOO=a,b,c', 'other-origin')
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
+- self.assertEquals('other-origin', value.origin)
+- self.assertEquals('FOO=a,b,c', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
++ self.assertEqual('other-origin', value.origin)
++ self.assertEqual('FOO=a,b,c', option)
+
+ helper = CommandLineHelper({}, ['cmd'])
+ helper.add('FOO=a,b,c', 'other-origin')
+ helper.add('--with-foo=a,b,c', 'other-origin')
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
+- self.assertEquals('other-origin', value.origin)
+- self.assertEquals('--with-foo=a,b,c', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
++ self.assertEqual('other-origin', value.origin)
++ self.assertEqual('--with-foo=a,b,c', option)
+
+ # Adding conflicting options is not allowed.
+ helper = CommandLineHelper({}, ['cmd'])
+@@ -809,9 +809,9 @@ class TestCommandLineHelper(unittest.TestCase):
+ # But adding the same is allowed.
+ helper.add('FOO=a,b,c', 'other-origin')
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
+- self.assertEquals('other-origin', value.origin)
+- self.assertEquals('FOO=a,b,c', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
++ self.assertEqual('other-origin', value.origin)
++ self.assertEqual('FOO=a,b,c', option)
+
+ # The same rule as above applies when using the option form vs. the
+ # variable form. But we can't detect it when .add is called.
+@@ -837,9 +837,9 @@ class TestCommandLineHelper(unittest.TestCase):
+ helper.add('FOO=a,b,c', 'other-origin')
+ helper.add('--with-foo=a,b,c', 'other-origin')
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
+- self.assertEquals('other-origin', value.origin)
+- self.assertEquals('--with-foo=a,b,c', option)
++ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
++ self.assertEqual('other-origin', value.origin)
++ self.assertEqual('--with-foo=a,b,c', option)
+
+ # Conflicts are also not allowed against what is in the
+ # environment/on the command line.
+@@ -869,19 +869,19 @@ class TestCommandLineHelper(unittest.TestCase):
+ foo = Option('--foo',
+ possible_origins=('command-line',))
+ value, option = helper.handle(foo)
+- self.assertEquals(PositiveOptionValue(), value)
+- self.assertEquals('command-line', value.origin)
+- self.assertEquals('--foo', option)
++ self.assertEqual(PositiveOptionValue(), value)
++ self.assertEqual('command-line', value.origin)
++ self.assertEqual('--foo', option)
+
+ bar = Option('--bar',
+ possible_origins=('mozconfig',))
+- with self.assertRaisesRegexp(InvalidOptionError,
++ with self.assertRaisesRegex(InvalidOptionError,
+ "--bar can not be set by command-line. Values are accepted from: mozconfig"):
+ helper.handle(bar)
+
+ baz = Option(env='BAZ',
+ possible_origins=('implied',))
+- with self.assertRaisesRegexp(InvalidOptionError,
++ with self.assertRaisesRegex(InvalidOptionError,
+ "BAZ=1 can not be set by environment. Values are accepted from: implied"):
+ helper.handle(baz)
+
+diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+index cb7ff709e..c339a32bf 100755
+--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
++++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+@@ -2,12 +2,12 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import logging
+ import os
+
+-from StringIO import StringIO
++from io import StringIO
+
+ from mozunit import main
+
+@@ -366,9 +366,9 @@ class BaseToolchainTest(BaseConfigureTest):
+ compiler = sandbox._value_for(sandbox[var])
+ # Add var on both ends to make it clear which of the
+ # variables is failing the test when that happens.
+- self.assertEquals((var, compiler), (var, result))
++ self.assertEqual((var, compiler), (var, result))
+ except SystemExit:
+- self.assertEquals((var, result),
++ self.assertEqual((var, result),
+ (var, self.out.getvalue().strip()))
+ return
+
+@@ -407,7 +407,7 @@ class BaseToolchainTest(BaseConfigureTest):
+ 'RUST_LIB_SUFFIX',
+ 'OBJ_SUFFIX',
+ ):
+- self.assertEquals('%s=%s' % (k, sandbox.get_config(k)),
++ self.assertEqual('%s=%s' % (k, sandbox.get_config(k)),
+ '%s=%s' % (k, library_name_info[k]))
+
+
+@@ -584,7 +584,7 @@ class LinuxToolchainTest(BaseToolchainTest):
+ # We'll try gcc and clang, but since there is no gcc (gcc-x.y doesn't
+ # count), find clang.
+ paths = {
+- k: v for k, v in self.PATHS.iteritems()
++ k: v for k, v in self.PATHS.items()
+ if os.path.basename(k) not in ('gcc', 'g++')
+ }
+ self.do_toolchain_test(paths, {
+@@ -619,7 +619,7 @@ class LinuxToolchainTest(BaseToolchainTest):
+ # Even if there are gcc-x.y or clang-x.y compilers available, we
+ # don't try them. This could be considered something to improve.
+ paths = {
+- k: v for k, v in self.PATHS.iteritems()
++ k: v for k, v in self.PATHS.items()
+ if os.path.basename(k) not in ('gcc', 'g++', 'clang', 'clang++')
+ }
+ self.do_toolchain_test(paths, {
+@@ -800,7 +800,7 @@ class OSXToolchainTest(BaseToolchainTest):
+ def test_not_gcc(self):
+ # We won't pick GCC if it's the only thing available.
+ paths = {
+- k: v for k, v in self.PATHS.iteritems()
++ k: v for k, v in self.PATHS.items()
+ if os.path.basename(k) not in ('clang', 'clang++')
+ }
+ self.do_toolchain_test(paths, {
+@@ -976,7 +976,7 @@ class WindowsToolchainTest(BaseToolchainTest):
+ def test_clang_cl(self):
+ # We'll pick clang-cl if msvc can't be found.
+ paths = {
+- k: v for k, v in self.PATHS.iteritems()
++ k: v for k, v in self.PATHS.items()
+ if os.path.basename(k) != 'cl'
+ }
+ self.do_toolchain_test(paths, {
+@@ -987,7 +987,7 @@ class WindowsToolchainTest(BaseToolchainTest):
+ def test_gcc(self):
+ # We'll pick GCC if msvc and clang-cl can't be found.
+ paths = {
+- k: v for k, v in self.PATHS.iteritems()
++ k: v for k, v in self.PATHS.items()
+ if os.path.basename(k) not in ('cl', 'clang-cl')
+ }
+ self.do_toolchain_test(paths, {
+@@ -1006,7 +1006,7 @@ class WindowsToolchainTest(BaseToolchainTest):
+ def test_clang(self):
+ # We'll pick clang if nothing else is found.
+ paths = {
+- k: v for k, v in self.PATHS.iteritems()
++ k: v for k, v in self.PATHS.items()
+ if os.path.basename(k) not in ('cl', 'clang-cl', 'gcc')
+ }
+ self.do_toolchain_test(paths, {
+diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py
+index 8ec33a8b7..ba046ed12 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py
++++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import copy
+ import re
+@@ -10,7 +10,7 @@ import types
+ import unittest
+
+ from fnmatch import fnmatch
+-from StringIO import StringIO
++from io import StringIO
+ from textwrap import dedent
+
+ from mozunit import (
+@@ -43,7 +43,7 @@ class CompilerPreprocessor(Preprocessor):
+ # Hack around it enough that the configure tests work properly.
+ context = self.context
+ def normalize_numbers(value):
+- if isinstance(value, types.StringTypes):
++ if isinstance(value, (str,)):
+ if value[-1:] == 'L' and value[:-1].isdigit():
+ value = int(value[:-1])
+ return value
+@@ -53,7 +53,7 @@ class CompilerPreprocessor(Preprocessor):
+ return self.HAS_FEATURE.sub(r'\1\2', expr)
+ self.context = self.Context(
+ (normalize_has_feature(k), normalize_numbers(v))
+- for k, v in context.iteritems()
++ for k, v in context.items()
+ )
+ try:
+ return Preprocessor.do_if(self, normalize_has_feature(expression),
+@@ -95,7 +95,7 @@ class TestCompilerPreprocessor(unittest.TestCase):
+ input.name = 'foo'
+ pp.do_include(input)
+
+- self.assertEquals(pp.out.getvalue(), '1 . 2 . c "D"')
++ self.assertEqual(pp.out.getvalue(), '1 . 2 . c "D"')
+
+ def test_condition(self):
+ pp = CompilerPreprocessor({
+@@ -125,7 +125,7 @@ class TestCompilerPreprocessor(unittest.TestCase):
+ input.name = 'foo'
+ pp.do_include(input)
+
+- self.assertEquals('IFDEF_A\nIF_A\nIF_B\nIF_NOT_C\n', pp.out.getvalue())
++ self.assertEqual('IFDEF_A\nIF_A\nIF_B\nIF_NOT_C\n', pp.out.getvalue())
+
+
+ class FakeCompiler(dict):
+@@ -164,9 +164,9 @@ class FakeCompiler(dict):
+ '''
+ def __init__(self, *definitions):
+ for definition in definitions:
+- if all(not isinstance(d, dict) for d in definition.itervalues()):
++ if all(not isinstance(d, dict) for d in definition.values()):
+ definition = {None: definition}
+- for key, value in definition.iteritems():
++ for key, value in definition.items():
+ self.setdefault(key, {}).update(value)
+
+ def __call__(self, stdin, args):
+@@ -178,14 +178,14 @@ class FakeCompiler(dict):
+ pp = CompilerPreprocessor(self[None])
+
+ def apply_defn(defn):
+- for k, v in defn.iteritems():
++ for k, v in defn.items():
+ if v is False:
+ if k in pp.context:
+ del pp.context[k]
+ else:
+ pp.context[k] = v
+
+- for glob, defn in self.iteritems():
++ for glob, defn in self.items():
+ if glob and not glob.startswith('-') and fnmatch(file, glob):
+ apply_defn(defn)
+
+@@ -216,7 +216,7 @@ class TestFakeCompiler(unittest.TestCase):
+ 'A': '1',
+ 'B': '2',
+ })
+- self.assertEquals(compiler(None, ['-E', 'file']),
++ self.assertEqual(compiler(None, ['-E', 'file']),
+ (0, '1 2 C', ''))
+
+ compiler = FakeCompiler({
+@@ -238,25 +238,25 @@ class TestFakeCompiler(unittest.TestCase):
+ 'B': '42',
+ },
+ })
+- self.assertEquals(compiler(None, ['-E', 'file']),
++ self.assertEqual(compiler(None, ['-E', 'file']),
+ (0, '1 2 C', ''))
+- self.assertEquals(compiler(None, ['-E', '-foo', 'file']),
++ self.assertEqual(compiler(None, ['-E', '-foo', 'file']),
+ (0, '1 2 foo', ''))
+- self.assertEquals(compiler(None, ['-E', '-bar', 'file']),
++ self.assertEqual(compiler(None, ['-E', '-bar', 'file']),
+ (0, '1 bar bar', ''))
+- self.assertEquals(compiler(None, ['-E', '-qux', 'file']),
++ self.assertEqual(compiler(None, ['-E', '-qux', 'file']),
+ (0, '1 B C', ''))
+- self.assertEquals(compiler(None, ['-E', '-foo', '-bar', 'file']),
++ self.assertEqual(compiler(None, ['-E', '-foo', '-bar', 'file']),
+ (0, '1 bar bar', ''))
+- self.assertEquals(compiler(None, ['-E', '-bar', '-foo', 'file']),
++ self.assertEqual(compiler(None, ['-E', '-bar', '-foo', 'file']),
+ (0, '1 bar foo', ''))
+- self.assertEquals(compiler(None, ['-E', '-bar', '-qux', 'file']),
++ self.assertEqual(compiler(None, ['-E', '-bar', '-qux', 'file']),
+ (0, '1 B bar', ''))
+- self.assertEquals(compiler(None, ['-E', '-qux', '-bar', 'file']),
++ self.assertEqual(compiler(None, ['-E', '-qux', '-bar', 'file']),
+ (0, '1 bar bar', ''))
+- self.assertEquals(compiler(None, ['-E', 'file.c']),
++ self.assertEqual(compiler(None, ['-E', 'file.c']),
+ (0, '1 42 C', ''))
+- self.assertEquals(compiler(None, ['-E', '-bar', 'file.c']),
++ self.assertEqual(compiler(None, ['-E', '-bar', 'file.c']),
+ (0, '1 bar bar', ''))
+
+ def test_multiple_definitions(self):
+@@ -267,7 +267,7 @@ class TestFakeCompiler(unittest.TestCase):
+ 'C': 3,
+ })
+
+- self.assertEquals(compiler, {
++ self.assertEqual(compiler, {
+ None: {
+ 'A': 1,
+ 'B': 2,
+@@ -282,7 +282,7 @@ class TestFakeCompiler(unittest.TestCase):
+ 'C': 3,
+ })
+
+- self.assertEquals(compiler, {
++ self.assertEqual(compiler, {
+ None: {
+ 'A': 1,
+ 'B': 4,
+@@ -302,7 +302,7 @@ class TestFakeCompiler(unittest.TestCase):
+ },
+ })
+
+- self.assertEquals(compiler, {
++ self.assertEqual(compiler, {
+ None: {
+ 'A': 1,
+ 'B': 4,
+@@ -330,7 +330,7 @@ class TestFakeCompiler(unittest.TestCase):
+ },
+ })
+
+- self.assertEquals(compiler, {
++ self.assertEqual(compiler, {
+ None: {
+ 'A': 1,
+ 'B': 2,
+@@ -370,7 +370,7 @@ class CompilerResult(ReadOnlyNamespace):
+ def __add__(self, other):
+ assert isinstance(other, dict)
+ result = copy.deepcopy(self.__dict__)
+- for k, v in other.iteritems():
++ for k, v in other.items():
+ if k == 'flags':
+ result.setdefault(k, []).extend(v)
+ else:
+@@ -381,7 +381,7 @@ class CompilerResult(ReadOnlyNamespace):
+ class TestCompilerResult(unittest.TestCase):
+ def test_compiler_result(self):
+ result = CompilerResult()
+- self.assertEquals(result.__dict__, {
++ self.assertEqual(result.__dict__, {
+ 'wrapper': [],
+ 'compiler': mozpath.abspath(''),
+ 'version': '',
+@@ -397,7 +397,7 @@ class TestCompilerResult(unittest.TestCase):
+ language='C',
+ flags=['-std=gnu99'],
+ )
+- self.assertEquals(result.__dict__, {
++ self.assertEqual(result.__dict__, {
+ 'wrapper': [],
+ 'compiler': mozpath.abspath('/usr/bin/gcc'),
+ 'version': '4.2.1',
+@@ -407,7 +407,7 @@ class TestCompilerResult(unittest.TestCase):
+ })
+
+ result2 = result + {'flags': ['-m32']}
+- self.assertEquals(result2.__dict__, {
++ self.assertEqual(result2.__dict__, {
+ 'wrapper': [],
+ 'compiler': mozpath.abspath('/usr/bin/gcc'),
+ 'version': '4.2.1',
+@@ -416,14 +416,14 @@ class TestCompilerResult(unittest.TestCase):
+ 'flags': ['-std=gnu99', '-m32'],
+ })
+ # Original flags are untouched.
+- self.assertEquals(result.flags, ['-std=gnu99'])
++ self.assertEqual(result.flags, ['-std=gnu99'])
+
+ result3 = result + {
+ 'compiler': '/usr/bin/gcc-4.7',
+ 'version': '4.7.3',
+ 'flags': ['-m32'],
+ }
+- self.assertEquals(result3.__dict__, {
++ self.assertEqual(result3.__dict__, {
+ 'wrapper': [],
+ 'compiler': mozpath.abspath('/usr/bin/gcc-4.7'),
+ 'version': '4.7.3',
+diff --git a/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py
+index ac35d745f..cdd8ece1b 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py
++++ b/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import os
+
+diff --git a/python/mozbuild/mozbuild/test/configure/test_util.py b/python/mozbuild/mozbuild/test/configure/test_util.py
+index 9f9575fd0..c2db1a628 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_util.py
++++ b/python/mozbuild/mozbuild/test/configure/test_util.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function, unicode_literals
++
+
+ import logging
+ import os
+@@ -11,7 +11,7 @@ import textwrap
+ import unittest
+ import sys
+
+-from StringIO import StringIO
++from io import StringIO
+
+ from mozunit import main
+ from mozpack import path as mozpath
+@@ -434,11 +434,11 @@ class TestLogSubprocessOutput(unittest.TestCase):
+ except SystemExit as e:
+ status = e.code
+
+- self.assertEquals(status, 0)
++ self.assertEqual(status, 0)
+ quote_char = "'"
+ if getpreferredencoding().lower() == 'utf-8':
+ quote_char = '\u00B4'.encode('utf-8')
+- self.assertEquals(out.getvalue().strip(), quote_char)
++ self.assertEqual(out.getvalue().strip(), quote_char)
+
+
+ class TestVersion(unittest.TestCase):
+diff --git a/python/mozbuild/mozbuild/testing.py b/python/mozbuild/mozbuild/testing.py
+index 3229c3f77..82d250fab 100644
+--- a/python/mozbuild/mozbuild/testing.py
++++ b/python/mozbuild/mozbuild/testing.py
+@@ -2,9 +2,9 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, unicode_literals
+
+-import cPickle as pickle
++
++import pickle as pickle
+ import os
+ import sys
+
+@@ -70,7 +70,7 @@ REFTEST_FLAVORS = ('crashtest', 'reftest')
+ WEB_PLATFORM_TESTS_FLAVORS = ('web-platform-tests',)
+
+ def all_test_flavors():
+- return ([v[0] for v in TEST_MANIFESTS.values()] +
++ return ([v[0] for v in list(TEST_MANIFESTS.values())] +
+ list(REFTEST_FLAVORS) +
+ list(WEB_PLATFORM_TESTS_FLAVORS))
+
+@@ -210,7 +210,7 @@ def install_test_files(topsrcdir, topobjdir, tests_root, test_objs):
+ only a few tests need to be run.
+ """
+ flavor_info = {flavor: (root, prefix, install)
+- for (flavor, root, prefix, install) in TEST_MANIFESTS.values()}
++ for (flavor, root, prefix, install) in list(TEST_MANIFESTS.values())}
+ objdir_dest = mozpath.join(topobjdir, tests_root)
+
+ converter = SupportFilesConverter()
+@@ -292,7 +292,7 @@ def read_wpt_manifest(context, paths):
+ paths_file = os.path.join(context.config.topsrcdir, "testing",
+ "web-platform", "tests", "tools", "localpaths.py")
+ _globals = {"__file__": paths_file}
+- execfile(paths_file, _globals)
++ exec(compile(open(paths_file, "rb").read(), paths_file, 'exec'), _globals)
+ import manifest as wptmanifest
+ finally:
+ sys.path = old_path
+diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
+index 4ea227dc0..79cb15713 100644
+--- a/python/mozbuild/mozbuild/util.py
++++ b/python/mozbuild/mozbuild/util.py
+@@ -5,7 +5,7 @@
+ # This file contains miscellaneous utility functions that don't belong anywhere
+ # in particular.
+
+-from __future__ import absolute_import, unicode_literals, print_function
++
+
+ import argparse
+ import collections
+@@ -21,6 +21,9 @@ import stat
+ import sys
+ import time
+ import types
++import pprint
++import six
++import subprocess
+
+ from collections import (
+ defaultdict,
+@@ -36,7 +39,7 @@ from io import (
+ if sys.version_info[0] == 3:
+ str_type = str
+ else:
+- str_type = basestring
++ str_type = str
+
+ if sys.platform == 'win32':
+ _kernel32 = ctypes.windll.kernel32
+@@ -78,7 +81,7 @@ def hash_file(path, hasher=None):
+ return h.hexdigest()
+
+
+-class EmptyValue(unicode):
++class EmptyValue(str):
+ """A dummy type that behaves like an empty string and sequence.
+
+ This type exists in order to support
+@@ -92,7 +95,7 @@ class EmptyValue(unicode):
+ class ReadOnlyNamespace(object):
+ """A class for objects with immutable attributes set at initialization."""
+ def __init__(self, **kwargs):
+- for k, v in kwargs.iteritems():
++ for k, v in kwargs.items():
+ super(ReadOnlyNamespace, self).__setattr__(k, v)
+
+ def __delattr__(self, key):
+@@ -224,7 +227,7 @@ class FileAvoidWrite(BytesIO):
+ self.mode = mode
+
+ def write(self, buf):
+- if isinstance(buf, unicode):
++ if isinstance(buf, str):
+ buf = buf.encode('utf-8')
+ BytesIO.write(self, buf)
+
+@@ -267,6 +270,10 @@ class FileAvoidWrite(BytesIO):
+ if 'b' in self.mode:
+ writemode += 'b'
+ with open(self.name, writemode) as file:
++ if 'b' in self.mode and isinstance(buf, str):
++ buf = buf.encode('utf-8')
++ elif 'b' not in self.mode and isinstance(buf, bytes):
++ buf = buf.decode('utf-8')
+ file.write(buf)
+
+ if self._capture_diff:
+@@ -381,7 +388,7 @@ class ListMixin(object):
+ def __add__(self, other):
+ # Allow None and EmptyValue is a special case because it makes undefined
+ # variable references in moz.build behave better.
+- other = [] if isinstance(other, (types.NoneType, EmptyValue)) else other
++ other = [] if isinstance(other, (type(None), EmptyValue)) else other
+ if not isinstance(other, list):
+ raise ValueError('Only lists can be appended to lists.')
+
+@@ -390,7 +397,7 @@ class ListMixin(object):
+ return new_list
+
+ def __iadd__(self, other):
+- other = [] if isinstance(other, (types.NoneType, EmptyValue)) else other
++ other = [] if isinstance(other, (type(None), EmptyValue)) else other
+ if not isinstance(other, list):
+ raise ValueError('Only lists can be appended to lists.')
+
+@@ -561,14 +568,14 @@ def FlagsFactory(flags):
+ functions below.
+ """
+ assert isinstance(flags, dict)
+- assert all(isinstance(v, type) for v in flags.values())
++ assert all(isinstance(v, type) for v in list(flags.values()))
+
+ class Flags(object):
+- __slots__ = flags.keys()
++ __slots__ = list(flags.keys())
+ _flags = flags
+
+ def update(self, **kwargs):
+- for k, v in kwargs.iteritems():
++ for k, v in kwargs.items():
+ setattr(self, k, v)
+
+ def __getattr__(self, name):
+@@ -1006,8 +1013,6 @@ def TypedNamedTuple(name, fields):
+ 'got %s, expected %s' % (fname,
+ type(value), ftype))
+
+- super(TypedTuple, self).__init__(*args, **kwargs)
+-
+ TypedTuple._fields = fields
+
+ return TypedTuple
+@@ -1099,14 +1104,14 @@ def group_unified_files(files, unified_prefix, unified_suffix,
+ # issue. So we do a little dance to filter it out ourselves.
+ dummy_fill_value = ("dummy",)
+ def filter_out_dummy(iterable):
+- return itertools.ifilter(lambda x: x != dummy_fill_value,
++ return filter(lambda x: x != dummy_fill_value,
+ iterable)
+
+ # From the itertools documentation, slightly modified:
+ def grouper(n, iterable):
+ "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
+ args = [iter(iterable)] * n
+- return itertools.izip_longest(fillvalue=dummy_fill_value, *args)
++ return itertools.zip_longest(fillvalue=dummy_fill_value, *args)
+
+ for i, unified_group in enumerate(grouper(files_per_unified_file,
+ files)):
+@@ -1123,7 +1128,7 @@ def pair(iterable):
+ [(1,2), (3,4), (5,6)]
+ '''
+ i = iter(iterable)
+- return itertools.izip_longest(i, i)
++ return itertools.zip_longest(i, i)
+
+
+ VARIABLES_RE = re.compile('\$\((\w+)\)')
+@@ -1141,7 +1146,7 @@ def expand_variables(s, variables):
+ value = variables.get(name)
+ if not value:
+ continue
+- if not isinstance(value, types.StringTypes):
++ if not isinstance(value, (str,)):
+ value = ' '.join(value)
+ result += value
+ return result
+@@ -1168,7 +1173,7 @@ class EnumStringComparisonError(Exception):
+ pass
+
+
+-class EnumString(unicode):
++class EnumString(str):
+ '''A string type that only can have a limited set of values, similarly to
+ an Enum, and can only be compared against that set of values.
+
+@@ -1185,8 +1190,8 @@ class EnumString(unicode):
+ def __eq__(self, other):
+ if other not in self.POSSIBLE_VALUES:
+ raise EnumStringComparisonError(
+- 'Can only compare with %s'
+- % ', '.join("'%s'" % v for v in self.POSSIBLE_VALUES))
++ '%s is not in %s'
++ % (other, ', '.join("'%s'" % v for v in self.POSSIBLE_VALUES)))
+ return super(EnumString, self).__eq__(other)
+
+ def __ne__(self, other):
+@@ -1204,14 +1209,14 @@ def _escape_char(c):
+ # quoting could be done with either ' or ".
+ if c == "'":
+ return "\\'"
+- return unicode(c.encode('unicode_escape'))
++ return str(c.encode('unicode_escape'))
+
+ # Mapping table between raw characters below \x80 and their escaped
+ # counterpart, when they differ
+ _INDENTED_REPR_TABLE = {
+ c: e
+ for c, e in map(lambda x: (x, _escape_char(x)),
+- map(unichr, range(128)))
++ map(chr, range(128)))
+ if c != e
+ }
+ # Regexp matching all characters to escape.
+@@ -1219,7 +1224,33 @@ _INDENTED_REPR_RE = re.compile(
+ '([' + ''.join(_INDENTED_REPR_TABLE.values()) + ']+)')
+
+
++# Stolen from gecko master [1]
++# [1] https://github.com/mozilla/gecko-dev/blob/4165a2e843c494bfb3e35d8a1fbf9c61209e3675/python/mozbuild/mozbuild/util.py#L1286
++
++# The default PrettyPrinter has some issues with UTF-8, so we need to override
++# some stuff here.
++class _PrettyPrinter(pprint.PrettyPrinter):
++ def format(self, object, context, maxlevels, level):
++ if not (isinstance(object, six.text_type) or
++ isinstance(object, six.binary_type)):
++ return super(_PrettyPrinter, self).format(
++ object, context, maxlevels, level)
++ # This is super hacky and weird, but the output of 'repr' actually
++ # varies based on the default I/O encoding of the process, which isn't
++ # necessarily utf-8. Instead we open a new shell and ask what the repr
++ # WOULD be assuming the default encoding is utf-8. If you can come up
++ # with a better way of doing this without simply re-implementing the
++ # logic of "repr", please replace this.
++ env = dict(os.environ)
++ env['PYTHONIOENCODING'] = 'utf-8'
++ ret = six.ensure_text(subprocess.check_output(
++ [sys.executable], input='print(repr(%s))' % repr(object),
++ universal_newlines=True, env=env, encoding='utf-8')).strip()
++ return (ret, True, False)
++
+ def indented_repr(o, indent=4):
++ return _PrettyPrinter(indent=indent).pformat(o)
++
+ '''Similar to repr(), but returns an indented representation of the object
+
+ One notable difference with repr is that the returned representation
+@@ -1242,7 +1273,7 @@ def indented_repr(o, indent=4):
+ elif isinstance(o, bytes):
+ yield 'b'
+ yield repr(o)
+- elif isinstance(o, unicode):
++ elif isinstance(o, str):
+ yield "'"
+ # We want a readable string (non escaped unicode), but some
+ # special characters need escaping (e.g. \n, \t, etc.)
+@@ -1272,11 +1303,11 @@ def encode(obj, encoding='utf-8'):
+ if isinstance(obj, dict):
+ return {
+ encode(k, encoding): encode(v, encoding)
+- for k, v in obj.iteritems()
++ for k, v in obj.items()
+ }
+ if isinstance(obj, bytes):
+ return obj
+- if isinstance(obj, unicode):
++ if isinstance(obj, str):
+ return obj.encode(encoding)
+ if isinstance(obj, Iterable):
+ return [encode(i, encoding) for i in obj]
+diff --git a/python/mozbuild/mozbuild/virtualenv.py b/python/mozbuild/mozbuild/virtualenv.py
+index 38d06d71d..c67c046f3 100644
+--- a/python/mozbuild/mozbuild/virtualenv.py
++++ b/python/mozbuild/mozbuild/virtualenv.py
+@@ -531,9 +531,9 @@ def verify_python_version(log_handle):
+
+ our = LooseVersion('%d.%d.%d' % (major, minor, micro))
+
+- if major != MINIMUM_PYTHON_MAJOR or our < MINIMUM_PYTHON_VERSION:
+- log_handle.write('Python %s or greater (but not Python 3) is '
+- 'required to build. ' % MINIMUM_PYTHON_VERSION)
++ if our < MINIMUM_PYTHON_VERSION:
++ log_handle.write('Python %s or greater is required to build. '
++ % MINIMUM_PYTHON_VERSION)
+ log_handle.write('You are running Python %s.\n' % our)
+
+ if os.name in ('nt', 'ce'):
+diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
+index c91b99cf1..02eac0dbb 100644
+--- a/python/mozbuild/mozpack/chrome/manifest.py
++++ b/python/mozbuild/mozpack/chrome/manifest.py
+@@ -2,11 +2,11 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import
++
+
+ import re
+ import os
+-from urlparse import urlparse
++from urllib.parse import urlparse
+ import mozpack.path as mozpath
+ from mozpack.chrome.flags import Flags
+ from mozpack.errors import errors
+@@ -316,7 +316,7 @@ class ManifestContract(ManifestEntry):
+ return self.serialize(self.contractID, self.cid)
+
+ # All manifest classes by their type name.
+-MANIFESTS_TYPES = dict([(c.type, c) for c in globals().values()
++MANIFESTS_TYPES = dict([(c.type, c) for c in list(globals().values())
+ if type(c) == type and issubclass(c, ManifestEntry)
+ and hasattr(c, 'type') and c.type])
+
+diff --git a/python/mozbuild/mozpack/copier.py b/python/mozbuild/mozpack/copier.py
+index 1e521e52b..43ed9be4a 100644
+--- a/python/mozbuild/mozpack/copier.py
++++ b/python/mozbuild/mozpack/copier.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import
++
+
+ import os
+ import stat
+@@ -113,7 +113,7 @@ class FileRegistry(object):
+ '''
+ Return all paths stored in the container, in the order they were added.
+ '''
+- return self._files.keys()
++ return list(self._files.keys())
+
+ def __len__(self):
+ '''
+@@ -146,7 +146,7 @@ class FileRegistry(object):
+ for path, file in registry:
+ (...)
+ '''
+- return self._files.iteritems()
++ return iter(self._files.items())
+
+ def required_directories(self):
+ '''
+@@ -155,7 +155,7 @@ class FileRegistry(object):
+ unspecified (virtual) root directory (and do not include said root
+ directory).
+ '''
+- return set(k for k, v in self._required_directories.items() if v > 0)
++ return set(k for k, v in list(self._required_directories.items()) if v > 0)
+
+ def output_to_inputs_tree(self):
+ '''
+@@ -295,7 +295,7 @@ class FileCopier(FileRegistry):
+
+ Returns a FileCopyResult that details what changed.
+ '''
+- assert isinstance(destination, basestring)
++ assert isinstance(destination, str)
+ assert not os.path.exists(destination) or os.path.isdir(destination)
+
+ result = FileCopyResult()
+@@ -563,7 +563,7 @@ class Jarrer(FileRegistry, BaseFile):
+ def exists(self):
+ return self.deflater is not None
+
+- if isinstance(dest, basestring):
++ if isinstance(dest, str):
+ dest = Dest(dest)
+ assert isinstance(dest, Dest)
+
+diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
+index 8ce353375..bf35e39b8 100644
+--- a/python/mozbuild/mozpack/files.py
++++ b/python/mozbuild/mozpack/files.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import
++
+
+ import errno
+ import os
+@@ -57,7 +57,7 @@ else:
+
+ def _copyfile(src, dest):
+ # False indicates `dest` should be overwritten if it exists already.
+- if isinstance(src, unicode) and isinstance(dest, unicode):
++ if isinstance(src, str) and isinstance(dest, str):
+ _CopyFileW(src, dest, False)
+ elif isinstance(src, str) and isinstance(dest, str):
+ _CopyFileA(src, dest, False)
+@@ -164,7 +164,7 @@ class BaseFile(object):
+ disabled when skip_if_older is False.
+ Returns whether a copy was actually performed (True) or not (False).
+ '''
+- if isinstance(dest, basestring):
++ if isinstance(dest, str):
+ dest = Dest(dest)
+ else:
+ assert isinstance(dest, Dest)
+@@ -278,11 +278,11 @@ class ExecutableFile(File):
+ '''
+ def copy(self, dest, skip_if_older=True):
+ real_dest = dest
+- if not isinstance(dest, basestring):
++ if not isinstance(dest, str):
+ fd, dest = mkstemp()
+ os.close(fd)
+ os.remove(dest)
+- assert isinstance(dest, basestring)
++ assert isinstance(dest, str)
+ # If File.copy didn't actually copy because dest is newer, check the
+ # file sizes. If dest is smaller, it means it is already stripped and
+ # elfhacked, so we can skip.
+@@ -319,7 +319,7 @@ class AbsoluteSymlinkFile(File):
+ File.__init__(self, path)
+
+ def copy(self, dest, skip_if_older=True):
+- assert isinstance(dest, basestring)
++ assert isinstance(dest, str)
+
+ # The logic in this function is complicated by the fact that symlinks
+ # aren't universally supported. So, where symlinks aren't supported, we
+@@ -410,7 +410,7 @@ class HardlinkFile(File):
+ '''
+
+ def copy(self, dest, skip_if_older=True):
+- assert isinstance(dest, basestring)
++ assert isinstance(dest, str)
+
+ if not hasattr(os, 'link'):
+ return super(HardlinkFile, self).copy(
+@@ -471,7 +471,7 @@ class ExistingFile(BaseFile):
+ self.required = required
+
+ def copy(self, dest, skip_if_older=True):
+- if isinstance(dest, basestring):
++ if isinstance(dest, str):
+ dest = Dest(dest)
+ else:
+ assert isinstance(dest, Dest)
+@@ -517,7 +517,7 @@ class PreprocessedFile(BaseFile):
+ '''
+ Invokes the preprocessor to create the destination file.
+ '''
+- if isinstance(dest, basestring):
++ if isinstance(dest, str):
+ dest = Dest(dest)
+ else:
+ assert isinstance(dest, Dest)
+@@ -657,7 +657,7 @@ class XPTFile(GeneratedFile):
+ the individual XPTs to link.
+ skip_if_older is ignored.
+ '''
+- if isinstance(dest, basestring):
++ if isinstance(dest, str):
+ dest = Dest(dest)
+ assert isinstance(dest, Dest)
+
+@@ -1108,7 +1108,7 @@ class ComposedFinder(BaseFinder):
+ from mozpack.copier import FileRegistry
+ self.files = FileRegistry()
+
+- for base, finder in sorted(finders.iteritems()):
++ for base, finder in sorted(finders.items()):
+ if self.files.contains(base):
+ self.files.remove(base)
+ for p, f in finder.find(''):
+diff --git a/python/mozbuild/mozpack/manifests.py b/python/mozbuild/mozpack/manifests.py
+index 27c66634b..f79b40086 100644
+--- a/python/mozbuild/mozpack/manifests.py
++++ b/python/mozbuild/mozpack/manifests.py
+@@ -2,8 +2,6 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, unicode_literals
+-
+ from contextlib import contextmanager
+ import json
+
+@@ -116,7 +114,7 @@ class InstallManifest(object):
+ self._source_files = set()
+
+ if path or fileobj:
+- with _auto_fileobj(path, fileobj, 'rb') as fh:
++ with _auto_fileobj(path, fileobj, 'r') as fh:
+ self._source_files.add(fh.name)
+ self._load_from_fileobj(fh)
+
+@@ -175,7 +173,7 @@ class InstallManifest(object):
+ dest, content = fields[1:]
+
+ self.add_content(
+- self._decode_field_entry(content).encode('utf-8'), dest)
++ self._decode_field_entry(content), dest)
+ continue
+
+ # Don't fail for non-actionable items, allowing
+@@ -228,7 +226,7 @@ class InstallManifest(object):
+
+ It is an error if both are specified.
+ """
+- with _auto_fileobj(path, fileobj, 'wb') as fh:
++ with _auto_fileobj(path, fileobj, 'w') as fh:
+ fh.write('%d\n' % self.CURRENT_VERSION)
+
+ for dest in sorted(self._dests):
+@@ -242,13 +240,11 @@ class InstallManifest(object):
+ for path in paths:
+ source = mozpath.join(base, path)
+ parts = ['%d' % type, mozpath.join(dest, path), source]
+- fh.write('%s\n' % self.FIELD_SEPARATOR.join(
+- p.encode('utf-8') for p in parts))
++ fh.write('%s\n' % self.FIELD_SEPARATOR.join(parts))
+ else:
+ parts = ['%d' % entry[0], dest]
+ parts.extend(entry[1:])
+- fh.write('%s\n' % self.FIELD_SEPARATOR.join(
+- p.encode('utf-8') for p in parts))
++ fh.write('%s\n' % self.FIELD_SEPARATOR.join(parts))
+
+ def add_link(self, source, dest):
+ """Add a link to this manifest.
+@@ -439,7 +435,7 @@ class InstallManifest(object):
+ if install_type == self.CONTENT:
+ # GeneratedFile expect the buffer interface, which the unicode
+ # type doesn't have, so encode to a str.
+- content = self._decode_field_entry(entry[1]).encode('utf-8')
++ content = self._decode_field_entry(entry[1])
+ registry.add(dest, GeneratedFile(content))
+ continue
+
+diff --git a/python/mozbuild/mozpack/mozjar.py b/python/mozbuild/mozpack/mozjar.py
+index a723fd2c0..0b04d233c 100644
+--- a/python/mozbuild/mozpack/mozjar.py
++++ b/python/mozbuild/mozpack/mozjar.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import
++
+
+ from io import BytesIO
+ import struct
+@@ -14,9 +14,10 @@ from zipfile import (
+ ZIP_DEFLATED,
+ )
+ from collections import OrderedDict
+-from urlparse import urlparse, ParseResult
++from urllib.parse import urlparse, ParseResult
+ import mozpack.path as mozpath
+ from mozbuild.util import memoize
++from functools import reduce
+
+
+ JAR_STORED = ZIP_STORED
+@@ -72,7 +73,7 @@ class JarStruct(object):
+ an instance with empty fields.
+ '''
+ assert self.MAGIC and isinstance(self.STRUCT, OrderedDict)
+- self.size_fields = set(t for t in self.STRUCT.itervalues()
++ self.size_fields = set(t for t in self.STRUCT.values()
+ if not t in JarStruct.TYPE_MAPPING)
+ self._values = {}
+ if data:
+@@ -94,7 +95,7 @@ class JarStruct(object):
+ # For all fields used as other fields sizes, keep track of their value
+ # separately.
+ sizes = dict((t, 0) for t in self.size_fields)
+- for name, t in self.STRUCT.iteritems():
++ for name, t in self.STRUCT.items():
+ if t in JarStruct.TYPE_MAPPING:
+ value, size = JarStruct.get_data(t, data[offset:])
+ else:
+@@ -113,7 +114,7 @@ class JarStruct(object):
+ Initialize an instance with empty fields.
+ '''
+ self.signature = self.MAGIC
+- for name, t in self.STRUCT.iteritems():
++ for name, t in self.STRUCT.items():
+ if name in self.size_fields:
+ continue
+ self._values[name] = 0 if t in JarStruct.TYPE_MAPPING else ''
+@@ -138,9 +139,9 @@ class JarStruct(object):
+ from self.STRUCT.
+ '''
+ serialized = struct.pack('<I', self.signature)
+- sizes = dict((t, name) for name, t in self.STRUCT.iteritems()
++ sizes = dict((t, name) for name, t in self.STRUCT.items()
+ if not t in JarStruct.TYPE_MAPPING)
+- for name, t in self.STRUCT.iteritems():
++ for name, t in self.STRUCT.items():
+ if t in JarStruct.TYPE_MAPPING:
+ format, size = JarStruct.TYPE_MAPPING[t]
+ if name in sizes:
+@@ -159,7 +160,7 @@ class JarStruct(object):
+ variable length fields.
+ '''
+ size = JarStruct.TYPE_MAPPING['uint32'][1]
+- for name, type in self.STRUCT.iteritems():
++ for name, type in self.STRUCT.items():
+ if type in JarStruct.TYPE_MAPPING:
+ size += JarStruct.TYPE_MAPPING[type][1]
+ else:
+@@ -180,7 +181,7 @@ class JarStruct(object):
+ return key in self._values
+
+ def __iter__(self):
+- return self._values.iteritems()
++ return iter(self._values.items())
+
+ def __repr__(self):
+ return "<%s %s>" % (self.__class__.__name__,
+@@ -374,7 +375,7 @@ class JarReader(object):
+ entries = self.entries
+ if not entries:
+ return JAR_STORED
+- return max(f['compression'] for f in entries.itervalues())
++ return max(f['compression'] for f in entries.values())
+
+ @property
+ def entries(self):
+@@ -390,7 +391,7 @@ class JarReader(object):
+ preload = JarStruct.get_data('uint32', self._data)[0]
+ entries = OrderedDict()
+ offset = self._cdir_end['cdir_offset']
+- for e in xrange(self._cdir_end['cdir_entries']):
++ for e in range(self._cdir_end['cdir_entries']):
+ entry = JarCdirEntry(self._data[offset:])
+ offset += entry.size
+ # Creator host system. 0 is MSDOS, 3 is Unix
+@@ -452,7 +453,7 @@ class JarReader(object):
+ for file in jarReader:
+ ...
+ '''
+- for entry in self.entries.itervalues():
++ for entry in self.entries.values():
+ yield self._getreader(entry)
+
+ def __getitem__(self, name):
+@@ -547,7 +548,7 @@ class JarWriter(object):
+ headers = {}
+ preload_size = 0
+ # Prepare central directory entries
+- for entry, content in self._contents.itervalues():
++ for entry, content in self._contents.values():
+ header = JarLocalFileHeader()
+ for name in entry.STRUCT:
+ if name in header:
+@@ -562,7 +563,7 @@ class JarWriter(object):
+ end['disk_entries'] = len(self._contents)
+ end['cdir_entries'] = end['disk_entries']
+ end['cdir_size'] = reduce(lambda x, y: x + y[0].size,
+- self._contents.values(), 0)
++ list(self._contents.values()), 0)
+ # On optimized archives, store the preloaded size and the central
+ # directory entries, followed by the first end of central directory.
+ if self._optimize:
+@@ -571,18 +572,18 @@ class JarWriter(object):
+ if preload_size:
+ preload_size += offset
+ self._data.write(struct.pack('<I', preload_size))
+- for entry, _ in self._contents.itervalues():
++ for entry, _ in self._contents.values():
+ entry['offset'] += offset
+ self._data.write(entry.serialize())
+ self._data.write(end.serialize())
+ # Store local file entries followed by compressed data
+- for entry, content in self._contents.itervalues():
++ for entry, content in self._contents.values():
+ self._data.write(headers[entry].serialize())
+ self._data.write(content)
+ # On non optimized archives, store the central directory entries.
+ if not self._optimize:
+ end['cdir_offset'] = offset
+- for entry, _ in self._contents.itervalues():
++ for entry, _ in self._contents.values():
+ self._data.write(entry.serialize())
+ # Store the end of central directory.
+ self._data.write(end.serialize())
+@@ -622,7 +623,7 @@ class JarWriter(object):
+ deflater = data
+ else:
+ deflater = Deflater(compress, compress_level=self._compress_level)
+- if isinstance(data, basestring):
++ if isinstance(data, str):
+ deflater.write(data)
+ elif hasattr(data, 'read'):
+ if hasattr(data, 'seek'):
+diff --git a/testing/mozbase/manifestparser/manifestparser/ini.py b/testing/mozbase/manifestparser/manifestparser/ini.py
+index e5ba249c1..c141a18b7 100644
+--- a/testing/mozbase/manifestparser/manifestparser/ini.py
++++ b/testing/mozbase/manifestparser/manifestparser/ini.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ # You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import
++
+
+ import os
+ import sys
+@@ -12,7 +12,7 @@ __all__ = ['read_ini', 'combine_fields']
+
+ class IniParseError(Exception):
+ def __init__(self, fp, linenum, msg):
+- if isinstance(fp, basestring):
++ if isinstance(fp, str):
+ path = fp
+ elif hasattr(fp, 'name'):
+ path = fp.name
+@@ -43,12 +43,15 @@ def read_ini(fp, variables=None, default='DEFAULT', defaults_only=False,
+ sections = []
+ key = value = None
+ section_names = set()
+- if isinstance(fp, basestring):
++ if isinstance(fp, str):
+ fp = file(fp)
+
+ # read the lines
+ for (linenum, line) in enumerate(fp.read().splitlines(), start=1):
+
++ if isinstance(line, bytes):
++ line = line.decode('utf-8')
++
+ stripped = line.strip()
+
+ # ignore blank lines
+@@ -66,7 +69,7 @@ def read_ini(fp, variables=None, default='DEFAULT', defaults_only=False,
+ inline_prefixes = {p: -1 for p in comments}
+ while comment_start == sys.maxsize and inline_prefixes:
+ next_prefixes = {}
+- for prefix, index in inline_prefixes.items():
++ for prefix, index in list(inline_prefixes.items()):
+ index = line.find(prefix, index+1)
+ if index == -1:
+ continue
+@@ -163,7 +166,7 @@ def combine_fields(global_vars, local_vars):
+ 'support-files': '%s %s',
+ }
+ final_mapping = global_vars.copy()
+- for field_name, value in local_vars.items():
++ for field_name, value in list(local_vars.items()):
+ if field_name not in field_patterns or field_name not in global_vars:
+ final_mapping[field_name] = value
+ continue
+diff --git a/testing/mozbase/manifestparser/manifestparser/manifestparser.py b/testing/mozbase/manifestparser/manifestparser/manifestparser.py
+index 921369fd2..5b2f4c453 100755
+--- a/testing/mozbase/manifestparser/manifestparser/manifestparser.py
++++ b/testing/mozbase/manifestparser/manifestparser/manifestparser.py
+@@ -2,9 +2,9 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ # You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function
+
+-from StringIO import StringIO
++
++from io import StringIO
+ import json
+ import fnmatch
+ import os
+@@ -23,7 +23,7 @@ from .filters import (
+ __all__ = ['ManifestParser', 'TestManifest', 'convert']
+
+ relpath = os.path.relpath
+-string = (basestring,)
++string = (str,)
+
+
+ # path normalization
+@@ -195,7 +195,7 @@ class ManifestParser(object):
+
+ # otherwise an item
+ # apply ancestor defaults, while maintaining current file priority
+- data = dict(self._ancestor_defaults.items() + data.items())
++ data = dict(list(self._ancestor_defaults.items()) + list(data.items()))
+
+ test = data
+ test['name'] = section
+@@ -323,19 +323,19 @@ class ManifestParser(object):
+ # make some check functions
+ if inverse:
+ def has_tags(test):
+- return not tags.intersection(test.keys())
++ return not tags.intersection(list(test.keys()))
+
+ def dict_query(test):
+- for key, value in kwargs.items():
++ for key, value in list(kwargs.items()):
+ if test.get(key) == value:
+ return False
+ return True
+ else:
+ def has_tags(test):
+- return tags.issubset(test.keys())
++ return tags.issubset(list(test.keys()))
+
+ def dict_query(test):
+- for key, value in kwargs.items():
++ for key, value in list(kwargs.items()):
+ if test.get(key) != value:
+ return False
+ return True
+@@ -359,7 +359,7 @@ class ManifestParser(object):
+ if tests is None:
+ manifests = []
+ # Make sure to return all the manifests, even ones without tests.
+- for manifest in self.manifest_defaults.keys():
++ for manifest in list(self.manifest_defaults.keys()):
+ if isinstance(manifest, tuple):
+ parentmanifest, manifest = manifest
+ if manifest not in manifests:
+@@ -409,7 +409,7 @@ class ManifestParser(object):
+ """
+
+ files = set([])
+- if isinstance(directories, basestring):
++ if isinstance(directories, str):
+ directories = [directories]
+
+ # get files in directories
+@@ -476,7 +476,7 @@ class ManifestParser(object):
+ print('[DEFAULT]', file=fp)
+ for tag in global_tags:
+ print('%s =' % tag, file=fp)
+- for key, value in global_kwargs.items():
++ for key, value in list(global_kwargs.items()):
+ print('%s = %s' % (key, value), file=fp)
+ print(file=fp)
+
+@@ -602,7 +602,7 @@ class ManifestParser(object):
+ internal function to import directories
+ """
+
+- if isinstance(pattern, basestring):
++ if isinstance(pattern, str):
+ patterns = [pattern]
+ else:
+ patterns = pattern
+diff --git a/testing/mozbase/mozinfo/mozinfo/mozinfo.py b/testing/mozbase/mozinfo/mozinfo/mozinfo.py
+index 90c187568..6c5a1f322 100755
+--- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py
++++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py
+@@ -8,7 +8,7 @@
+ # linux) to the information; I certainly wouldn't want anyone parsing this
+ # information and having behaviour depend on it
+
+-from __future__ import absolute_import, print_function
++
+
+ import os
+ import platform
+@@ -24,7 +24,7 @@ _os = os
+ class unknown(object):
+ """marker class for unknown information"""
+
+- def __nonzero__(self):
++ def __bool__(self):
+ return False
+
+ def __str__(self):
+@@ -96,20 +96,17 @@ elif system.startswith(('MINGW', 'MSYS_NT')):
+ info['os'] = 'win'
+ os_version = version = unknown
+ elif system == "Linux":
+- if hasattr(platform, "linux_distribution"):
+- (distro, os_version, codename) = platform.linux_distribution()
+- else:
+- (distro, os_version, codename) = platform.dist()
+ if not processor:
+ processor = machine
+- version = "%s %s" % (distro, os_version)
++
++ distro = 'OE/Yocto'
++ os_version = version = unknown
+
+ # Bug in Python 2's `platform` library:
+ # It will return a triple of empty strings if the distribution is not supported.
+ # It works on Python 3. If we don't have an OS version,
+ # the unit tests fail to run.
+ if not distro and not os_version and not codename:
+- distro = 'lfs'
+ version = release
+ os_version = release
+
+@@ -131,7 +128,7 @@ else:
+ os_version = version = unknown
+
+ info['version'] = version
+-info['os_version'] = StringVersion(os_version)
++info['os_version'] = version
+
+ # processor type and bits
+ if processor in ["i386", "i686"]:
+@@ -188,12 +185,7 @@ def update(new_info):
+ to a json file containing the new info.
+ """
+
+- PY3 = sys.version_info[0] == 3
+- if PY3:
+- string_types = str,
+- else:
+- string_types = basestring,
+- if isinstance(new_info, string_types):
++ if isinstance(new_info, str):
+ # lazy import
+ import mozfile
+ import json
+@@ -295,7 +287,7 @@ def main(args=None):
+
+ # print out choices if requested
+ flag = False
+- for key, value in options.__dict__.items():
++ for key, value in list(options.__dict__.items()):
+ if value is True:
+ print('%s choices: %s' % (key, ' '.join([str(choice)
+ for choice in choices[key]])))
+@@ -304,7 +296,7 @@ def main(args=None):
+ return
+
+ # otherwise, print out all info
+- for key, value in info.items():
++ for key, value in list(info.items()):
+ print('%s: %s' % (key, value))
+
+
+diff --git a/testing/mozbase/mozprocess/mozprocess/processhandler.py b/testing/mozbase/mozprocess/mozprocess/processhandler.py
+index 3efb650b7..2575a4702 100644
+--- a/testing/mozbase/mozprocess/mozprocess/processhandler.py
++++ b/testing/mozbase/mozprocess/mozprocess/processhandler.py
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ # You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-from __future__ import absolute_import, print_function
++
+
+ import errno
+ import os
+@@ -13,7 +13,7 @@ import threading
+ import time
+ import traceback
+
+-from Queue import Queue, Empty
++from queue import Queue, Empty
+ from datetime import datetime
+
+
+@@ -124,14 +124,14 @@ class ProcessHandlerMixin(object):
+ thread = threading.current_thread().name
+ print("DBG::MOZPROC PID:{} ({}) | {}".format(self.pid, thread, msg))
+
+- def __del__(self, _maxint=sys.maxint):
++ def __del__(self, _maxint=sys.maxsize):
+ if isWin:
+ handle = getattr(self, '_handle', None)
+ if handle:
+ if hasattr(self, '_internal_poll'):
+ self._internal_poll(_deadstate=_maxint)
+ else:
+- self.poll(_deadstate=sys.maxint)
++ self.poll(_deadstate=sys.maxsize)
+ if handle or self._job or self._io_port:
+ self._cleanup()
+ else:
+@@ -243,7 +243,7 @@ class ProcessHandlerMixin(object):
+ p2cread, p2cwrite,
+ c2pread, c2pwrite,
+ errread, errwrite) = args_tuple
+- if not isinstance(args, basestring):
++ if not isinstance(args, str):
+ args = subprocess.list2cmdline(args)
+
+ # Always or in the create new process group
+diff --git a/third_party/python/which/which.py b/third_party/python/which/which.py
+index 9c7d10835..f02b2616e 100644
+--- a/third_party/python/which/which.py
++++ b/third_party/python/which/which.py
+@@ -90,13 +90,13 @@ def _getRegisteredExecutable(exeName):
+ if sys.platform.startswith('win'):
+ if os.path.splitext(exeName)[1].lower() != '.exe':
+ exeName += '.exe'
+- import _winreg
++ import winreg
+ try:
+ key = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\" +\
+ exeName
+- value = _winreg.QueryValue(_winreg.HKEY_LOCAL_MACHINE, key)
++ value = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE, key)
+ registered = (value, "from HKLM\\"+key)
+- except _winreg.error:
++ except winreg.error:
+ pass
+ if registered and not os.path.exists(registered[0]):
+ registered = None
+@@ -244,7 +244,7 @@ def which(command, path=None, verbose=0, exts=None):
+ If no match is found for the command, a WhichError is raised.
+ """
+ try:
+- match = whichgen(command, path, verbose, exts).next()
++ match = next(whichgen(command, path, verbose, exts))
+ except StopIteration:
+ raise WhichError("Could not find '%s' on the path." % command)
+ return match
+@@ -281,17 +281,17 @@ def main(argv):
+ try:
+ optlist, args = getopt.getopt(argv[1:], 'haVvqp:e:',
+ ['help', 'all', 'version', 'verbose', 'quiet', 'path=', 'exts='])
+- except getopt.GetoptError, msg:
++ except getopt.GetoptError as msg:
+ sys.stderr.write("which: error: %s. Your invocation was: %s\n"\
+ % (msg, argv))
+ sys.stderr.write("Try 'which --help'.\n")
+ return 1
+ for opt, optarg in optlist:
+ if opt in ('-h', '--help'):
+- print _cmdlnUsage
++ print(_cmdlnUsage)
+ return 0
+ elif opt in ('-V', '--version'):
+- print "which %s" % __version__
++ print("which %s" % __version__)
+ return 0
+ elif opt in ('-a', '--all'):
+ all = 1
+@@ -319,9 +319,9 @@ def main(argv):
+ nmatches = 0
+ for match in whichgen(arg, path=altpath, verbose=verbose, exts=exts):
+ if verbose:
+- print "%s (%s)" % match
++ print("%s (%s)" % match)
+ else:
+- print match
++ print(match)
+ nmatches += 1
+ if not all:
+ break
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
new file mode 100644
index 00000000..e3f1883a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
@@ -0,0 +1,33 @@
+From 0a61b0b98c152f10404ccbdeeac583a486638a7a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Thu, 6 Jun 2013 18:36:01 +0200
+Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending
+ packages
+
+in our cross environment the would fail with:
+
+| cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory
+
+and currently it only defines __STDC_LIMIT_MACROS
+Upstream-Status: Inappropriate [embedded specific]
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
+Rebase to 52.8.1
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ js/src/build/js.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/build/js.pc.in b/js/src/build/js.pc.in
+index 2eae393..c2dea62 100644
+--- a/js/src/build/js.pc.in
++++ b/js/src/build/js.pc.in
+@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript
+ Version: @MOZILLA_VERSION@
+ @PKGCONF_REQUIRES_PRIVATE@
+ Libs: -L${libdir} -l@JS_LIBRARY_NAME@
+-Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -I${includedir}/@JS_LIBRARY_NAME@
++Cflags: -I${includedir}/@JS_LIBRARY_NAME@
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-fix-cross-compilation-on-i586-targets.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-fix-cross-compilation-on-i586-targets.patch
new file mode 100644
index 00000000..e0929a8a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-fix-cross-compilation-on-i586-targets.patch
@@ -0,0 +1,38 @@
+From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001
+From: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
+Date: Tue, 5 Jan 2016 22:04:17 +0100
+Subject: [PATCH] fix cross compilation on i586 targets
+
+Remove offending -Wl,-rpath-link that may cause host libraries to be picked
+during linking. The patch applies a fix to configure.in. So as not to
+regenerate configure, similar fix is applied there.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
+
+Rebase to 52.8.1
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Rebase to 60.9.0 (firefox-esr sources)
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ js/src/old-configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/old-configure.in b/js/src/old-configure.in
+index 3d53ee1..11c3d5a 100644
+--- a/js/src/old-configure.in
++++ b/js/src/old-configure.in
+@@ -405,7 +405,7 @@ AS='$(CC)'
+ AS_DASH_C_FLAG='-c'
+ MOZ_USER_DIR=".mozilla"
+
+-MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
++MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin"
+
+ dnl Configure platform-specific CPU architecture compiler options.
+ dnl ==============================================================
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-do-not-create-python-environment.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-do-not-create-python-environment.patch
new file mode 100644
index 00000000..985fc36c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-do-not-create-python-environment.patch
@@ -0,0 +1,64 @@
+From 5028d1cd669c179ed49061316d04c8e8862a5bd8 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 12 Jul 2018 15:04:47 +0800
+Subject: [PATCH 1/5] do not create python environment
+
+Use oe's python environment rather than create one of host
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Rebase to 60.9.0 (firefox-esr sources)
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ build/moz.configure/init.configure | 18 ------------------
+ configure.py | 10 +++++++++-
+ 3 files changed, 11 insertions(+), 21 deletions(-)
+
+--- a/build/moz.configure/init.configure
++++ b/build/moz.configure/init.configure
+@@ -250,24 +250,6 @@ def virtualenv_python(env_python, build_
+ else:
+ python = sys.executable
+
+- if not manager.up_to_date(python):
+- log.info('Creating Python environment')
+- manager.build(python)
+-
+- python = normsep(manager.python_path)
+-
+- if python != normsep(sys.executable):
+- log.info('Reexecuting in the virtualenv')
+- if env_python:
+- del os.environ['PYTHON']
+- # One would prefer to use os.execl, but that's completely borked on
+- # Windows.
+- sys.exit(subprocess.call([python] + sys.argv))
+-
+- # We are now in the virtualenv
+- if not distutils.sysconfig.get_python_lib():
+- die('Could not determine python site packages directory')
+-
+ return python
+
+
+--- a/configure.py
++++ b/configure.py
+@@ -12,7 +12,15 @@ import textwrap
+
+
+ base_dir = os.path.abspath(os.path.dirname(__file__))
+-sys.path.insert(0, os.path.join(base_dir, 'python', 'mozbuild'))
++sys.path.insert(0, os.path.join(base_dir, 'config'))
++def get_immediate_subdirectories(a_dir):
++ return [name for name in os.listdir(a_dir)
++ if os.path.isdir(os.path.join(a_dir, name))]
++for s in ["python", "testing/mozbase"]:
++ sub_dir = os.path.join(base_dir, s)
++ for module_dir in get_immediate_subdirectories(sub_dir):
++ sys.path.insert(0, os.path.join(sub_dir, module_dir))
++
+ from mozbuild.configure import ConfigureSandbox
+ from mozbuild.makeutil import Makefile
+ from mozbuild.pythonutil import iter_modules_in_path
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0005-fix-cannot-find-link.patch
index 4f7ebc68..4f7ebc68 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0002-fix-cannot-find-link.patch
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0005-fix-cannot-find-link.patch
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0006-workaround-autoconf-2.13-detection-failed.patch
index a754ff16..a754ff16 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0003-workaround-autoconf-2.13-detection-failed.patch
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0006-workaround-autoconf-2.13-detection-failed.patch
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0007-fix-do_compile-failed-on-mips.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0007-fix-do_compile-failed-on-mips.patch
new file mode 100644
index 00000000..d1da1097
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0007-fix-do_compile-failed-on-mips.patch
@@ -0,0 +1,33 @@
+From 55d833dc3c194f1eb7841f308ad3b9ec3800d3b3 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 13 Jul 2018 15:48:32 +0800
+Subject: [PATCH 5/5] fix do_compile failed on mips
+
+Link with var-OS_LDFLAGS to fix the issue.
+Such as on mips:
+...
+|mips-wrsmllib32-linux-g++ -meb -mabi=32 -mhard-float ... -o libmozjs-52.so
+|/usr/include/c++/8.1.0/bits/atomic_base.h:514: error: undefined
+reference to '__atomic_fetch_add_8'
+...
+
+In recipe, set OS_LDFLAGS="-Wl,-latomic" could fix the issue.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ config/config.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/config/config.mk
++++ b/config/config.mk
+@@ -423,7 +423,7 @@ EXPAND_MKSHLIB_ARGS = --uselist
+ ifdef SYMBOL_ORDER
+ EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
+ endif
+-EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
++EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) $(OS_LDFLAGS)
+
+ # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
+ # this file
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0008-add-riscv-support.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0008-add-riscv-support.patch
new file mode 100644
index 00000000..0a414856
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0008-add-riscv-support.patch
@@ -0,0 +1,50 @@
+Add RISC-V support
+
+Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1318905]
+
+Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
+
+--- a/build/autoconf/config.guess
++++ b/build/autoconf/config.guess
+@@ -1029,6 +1029,9 @@ EOF
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
+ exit ;;
++ riscv32:Linux:*:* | riscv64:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ exit ;;
+--- a/build/moz.configure/init.configure
++++ b/build/moz.configure/init.configure
+@@ -658,6 +658,9 @@ def split_triplet(triplet, allow_unknown
+ elif cpu == 'sh4':
+ canonical_cpu = 'sh4'
+ endianness = 'little'
++ elif cpu in ('riscv32', 'riscv64'):
++ canonical_cpu = cpu
++ endianness = 'little'
+ elif allow_unknown:
+ canonical_cpu = cpu
+ endianness = 'unknown'
+--- a/python/mozbuild/mozbuild/configure/constants.py
++++ b/python/mozbuild/mozbuild/configure/constants.py
+@@ -50,6 +50,8 @@ CPU_bitness = {
+ 'mips64': 64,
+ 'ppc': 32,
+ 'ppc64': 64,
++ 'riscv32': 32,
++ 'riscv64': 64,
+ 's390': 32,
+ 's390x': 64,
+ 'sh4': 32,
+@@ -82,6 +84,8 @@ CPU_preprocessor_checks = OrderedDict((
+ ('s390', '__s390__'),
+ ('ppc64', '__powerpc64__'),
+ ('ppc', '__powerpc__'),
++ ('riscv32', '__riscv && __SIZEOF_POINTER__ == 4'),
++ ('riscv64', '__riscv && __SIZEOF_POINTER__ == 8'),
+ ('Alpha', '__alpha__'),
+ ('hppa', '__hppa__'),
+ ('sparc64', '__sparc__ && __arch64__'),
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs-fix-coredump-caused-by-getenv.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0009-mozjs-fix-coredump-caused-by-getenv.patch
index 477f73a2..477f73a2 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs-fix-coredump-caused-by-getenv.patch
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0009-mozjs-fix-coredump-caused-by-getenv.patch
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0010-format-overflow.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0010-format-overflow.patch
new file mode 100644
index 00000000..e257fc6f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0010-format-overflow.patch
@@ -0,0 +1,21 @@
+Drop enable format string warnings to help gcc9
+
+Fixes
+| /mnt/a/yoe/build/tmp/work/core2-64-yoe-linux-musl/mozjs/52.9.1-r0/mozjs-52.9.1/js/src/jit/x64/BaseAssembler-x64.h:596:13: error: '%s' directive argument is null [-Werror=format-overflow=]
+| 596 | spew("movq " MEM_obs ", %s", ADDR_obs(offset, base, index, scale), GPReg64Name(dst));
+| | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Inappropriate [Workaround for gcc9]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/js/src/moz.build
++++ b/js/src/moz.build
+@@ -785,7 +785,7 @@ if CONFIG['JS_HAS_CTYPES']:
+ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
+ # Also disable strict-aliasing for GCC compiler, that is enabled by default
+ # starting with version 7.1, see Bug 1363009
+- CXXFLAGS += ['-Wno-shadow', '-Werror=format', '-fno-strict-aliasing']
++ CXXFLAGS += ['-Wno-shadow', '-fno-strict-aliasing']
+
+ # Suppress warnings in third-party code.
+ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0011-To-fix-build-error-on-arm32BE.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0011-To-fix-build-error-on-arm32BE.patch
new file mode 100644
index 00000000..056f74a5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0011-To-fix-build-error-on-arm32BE.patch
@@ -0,0 +1,28 @@
+From 9afb0e4d3b9209ea198052cea0401bef7ee25ad8 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Thu, 9 May 2019 12:23:40 +0900
+Subject: [PATCH] To fix build error on arm32BE.
+
+error: #error Target architecture was not detected as supported by Double-Conversion.
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ mfbt/double-conversion/double-conversion/utils.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mfbt/double-conversion/double-conversion/utils.h b/mfbt/double-conversion/double-conversion/utils.h
+index 4f37218..93575cb 100644
+--- a/mfbt/double-conversion/double-conversion/utils.h
++++ b/mfbt/double-conversion/double-conversion/utils.h
+@@ -53,7 +53,7 @@
+ // disabled.)
+ // On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
+ #if defined(_M_X64) || defined(__x86_64__) || \
+- defined(__ARMEL__) || defined(__avr32__) || \
++ defined(__arm__) || defined(__avr32__) || \
+ defined(__hppa__) || defined(__ia64__) || \
+ defined(__mips__) || \
+ defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0012-JS_PUBLIC_API.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0012-JS_PUBLIC_API.patch
new file mode 100644
index 00000000..56b18ba8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0012-JS_PUBLIC_API.patch
@@ -0,0 +1,55 @@
+patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
+
+Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/js/public/TypeDecls.h
++++ b/js/public/TypeDecls.h
+@@ -21,31 +21,32 @@
+ #include <stdint.h>
+
+ #include "js-config.h"
++#include "jstypes.h"
+
+ typedef uint8_t jsbytecode;
+
+-class JSAtom;
+-struct JSCompartment;
+-struct JSContext;
+-class JSFunction;
+-class JSObject;
+-struct JSRuntime;
+-class JSScript;
+-class JSString;
+-class JSAddonId;
+-struct JSFreeOp;
++class JS_PUBLIC_API JSAtom;
++struct JS_PUBLIC_API JSCompartment;
++struct JS_PUBLIC_API JSContext;
++class JS_PUBLIC_API JSFunction;
++class JS_PUBLIC_API JSObject;
++struct JS_PUBLIC_API JSRuntime;
++class JS_PUBLIC_API JSScript;
++class JS_PUBLIC_API JSString;
++class JS_PUBLIC_API JSAddonId;
++struct JS_PUBLIC_API JSFreeOp;
+
+-struct jsid;
++struct JS_PUBLIC_API jsid;
+
+ namespace JS {
+
+ typedef unsigned char Latin1Char;
+
+-class Symbol;
+-class Value;
+-class Realm;
+-struct Runtime;
+-struct Zone;
++class JS_PUBLIC_API Symbol;
++class JS_PUBLIC_API Value;
++class JS_PUBLIC_API Realm;
++struct JS_PUBLIC_API Runtime;
++struct JS_PUBLIC_API Zone;
+
+ template <typename T>
+ class Handle;
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0013-riscv-Disable-atomic-operations.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0013-riscv-Disable-atomic-operations.patch
new file mode 100644
index 00000000..2e810c87
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0013-riscv-Disable-atomic-operations.patch
@@ -0,0 +1,38 @@
+From 64ad80e6d95871f17be4cd01da15581f41ac0b2b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 27 May 2019 21:10:34 -0700
+Subject: [PATCH] riscv: Disable atomic operations
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ js/src/jit/AtomicOperations.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/js/src/jit/AtomicOperations.h
++++ b/js/src/jit/AtomicOperations.h
+@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfree
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
+ #elif defined(__s390__) || defined(__s390x__)
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
++#elif defined(__riscv)
++#include "jit/none/AtomicOperations-feeling-lucky.h"
+ #else
+ #error "No AtomicOperations support provided for this platform"
+ #endif
+--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
++++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
+@@ -80,6 +80,14 @@
+ #define GNUC_COMPATIBLE
+ #endif
+
++#ifdef __riscv
++#define GNUC_COMPATIBLE
++#ifdef __riscv_xlen == 64
++#define HAS_64BIT_ATOMICS
++#define HAS_64BIT_LOCKFREE
++#endif
++#endif
++
+ // The default implementation tactic for gcc/clang is to use the newer
+ // __atomic intrinsics added for use in C++11 <atomic>. Where that
+ // isn't available, we use GCC's older __sync functions instead.
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-fallback-to-2011-C++-standard.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-fallback-to-2011-C++-standard.patch
new file mode 100644
index 00000000..7a0d286e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-fallback-to-2011-C++-standard.patch
@@ -0,0 +1,42 @@
+Option '-std=gnu++14' has been supported from gcc 4.9. But on some build hosts
+such as CentOS 7.6 which only has gcc 4.8.5 and fails to configure:
+
+| checking whether the host C compiler can be used... no
+| ERROR: Only GCC 4.9 or newer is supported (found version 4.8.5).
+
+Fallback to 2011 C++ standard and lower required gcc version to 4.8.0 which is
+the same as in previous version 52.9.1 of mozjs.
+
+Upstream-Status: Inappropriate [Workaround]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
+index 9c772a8..fc640c7 100755
+--- a/build/moz.configure/toolchain.configure
++++ b/build/moz.configure/toolchain.configure
+@@ -502,10 +502,8 @@ def check_compiler(compiler, language, target):
+ append_flag('-std=c++14')
+ # GCC 4.9 indicates that it implements draft C++14 features
+ # instead of the full language.
+- elif info.type == 'gcc' and \
+- info.language_version not in (draft_cxx14_version,
+- cxx14_version):
+- append_flag('-std=gnu++14')
++ elif info.type == 'gcc' and info.language_version != 201103:
++ append_flag('-std=gnu++11')
+
+ # We force clang-cl to emulate Visual C++ 2017 version 15.4
+ if info.type == 'clang-cl' and info.version != '19.11.25547':
+@@ -903,9 +901,9 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
+ # Check the compiler version here instead of in `compiler_version` so
+ # that the `checking` message doesn't pretend the compiler can be used
+ # to then bail out one line later.
+- if info.type == 'gcc' and info.version < '4.9.0':
++ if info.type == 'gcc' and info.version < '4.8.0':
+ raise FatalCheckError(
+- 'Only GCC 4.9 or newer is supported (found version %s).'
++ 'Only GCC 4.8 or newer is supported (found version %s).'
+ % info.version)
+
+ if info.type == 'gcc' and host_or_target.os == 'Android':
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch
index bc1af3c7..b882d76e 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch
@@ -1,6 +1,6 @@
-From 5ad700c92224193bfc789f7d53af38fc6f8b8904 Mon Sep 17 00:00:00 2001
+From f2f8be496c8e34b4d909b688a95c6f8565201081 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 19 Jul 2018 17:31:35 +0800
+Date: Wed, 19 Jun 2019 14:30:44 +0800
Subject: [PATCH] fix compiling failure on mips64-n32 bsp
- Tweak mips64-n32 with mips32
@@ -16,6 +16,7 @@ Subject: [PATCH] fix compiling failure on mips64-n32 bsp
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
---
build/moz.configure/init.configure | 5 ++++-
js/src/jit/mips-shared/Architecture-mips-shared.h | 4 +++-
@@ -23,10 +24,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 6fe6591..a77b46c 100644
+index 648ac2d..d0bcaf8 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
-@@ -357,7 +357,10 @@ def split_triplet(triplet):
+@@ -650,7 +650,10 @@ def split_triplet(triplet, allow_unknown=False):
canonical_cpu = 'mips32'
endianness = 'little' if 'el' in cpu else 'big'
elif cpu in ('mips64', 'mips64el'):
@@ -39,41 +40,41 @@ index 6fe6591..a77b46c 100644
elif cpu.startswith('aarch64'):
canonical_cpu = 'aarch64'
diff --git a/js/src/jit/mips-shared/Architecture-mips-shared.h b/js/src/jit/mips-shared/Architecture-mips-shared.h
-index 7afe305..c6e29dc 100644
+index e95ffd4..caf83f7 100644
--- a/js/src/jit/mips-shared/Architecture-mips-shared.h
+++ b/js/src/jit/mips-shared/Architecture-mips-shared.h
-@@ -24,6 +24,8 @@
- #define USES_O32_ABI
- #elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || defined(JS_SIMULATOR_MIPS64)
+@@ -28,6 +28,8 @@
+ #elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || \
+ defined(JS_SIMULATOR_MIPS64)
#define USES_N64_ABI
+#elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABIN32))
+#define USES_N32_ABI
#else
#error "Unsupported ABI"
#endif
-@@ -91,7 +93,7 @@ class Registers
- ta1 = t5,
- ta2 = t6,
- ta3 = t7,
+@@ -94,7 +96,7 @@ class Registers {
+ ta1 = t5,
+ ta2 = t6,
+ ta3 = t7,
-#elif defined(USES_N64_ABI)
+#elif defined(USES_N64_ABI) || defined(USES_N32_ABI)
- a4 = r8,
- a5 = r9,
- a6 = r10,
+ a4 = r8,
+ a5 = r9,
+ a6 = r10,
diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
-index dfc7cf8..27f83ab 100644
+index 1067b6a..e0f0405 100644
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -83,8 +83,8 @@ CPU_preprocessor_checks = OrderedDict((
+@@ -90,8 +90,8 @@ CPU_preprocessor_checks = OrderedDict((
('hppa', '__hppa__'),
('sparc64', '__sparc__ && __arch64__'),
('sparc', '__sparc__'),
- ('mips64', '__mips64'),
('mips32', '__mips__'),
+ ('mips64', '__mips64'),
+ ('sh4', '__sh__'),
))
- assert sorted(CPU_preprocessor_checks.keys()) == sorted(CPU.POSSIBLE_VALUES)
--
2.7.4
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0001-support-musl.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0001-support-musl.patch
new file mode 100644
index 00000000..770d5e0a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0001-support-musl.patch
@@ -0,0 +1,98 @@
+From 04e8a611e958f0da1ccac61acae3a6f1a5168b20 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 13 Jul 2018 18:08:14 +0800
+Subject: [PATCH] support musl
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ mozglue/misc/TimeStamp_darwin.cpp | 1 -
+ mozglue/misc/TimeStamp_posix.cpp | 1 -
+ nsprpub/pr/src/misc/prsystem.c | 1 -
+ python/psutil/psutil/_psutil_bsd.c | 1 -
+ python/psutil/psutil/_psutil_osx.c | 1 -
+ python/psutil/psutil/arch/bsd/process_info.c | 1 -
+ python/psutil/psutil/arch/osx/process_info.c | 1 -
+ 9 files changed, 3 insertions(+), 12 deletions(-)
+
+--- a/mozglue/misc/TimeStamp_darwin.cpp
++++ b/mozglue/misc/TimeStamp_darwin.cpp
+@@ -19,7 +19,6 @@
+
+ #include <mach/mach_time.h>
+ #include <sys/time.h>
+-#include <sys/sysctl.h>
+ #include <time.h>
+ #include <unistd.h>
+
+--- a/mozglue/misc/TimeStamp_posix.cpp
++++ b/mozglue/misc/TimeStamp_posix.cpp
+@@ -21,7 +21,6 @@
+ #if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
+ defined(__OpenBSD__)
+ #include <sys/param.h>
+-#include <sys/sysctl.h>
+ #endif
+
+ #if defined(__DragonFly__) || defined(__FreeBSD__)
+--- a/nsprpub/pr/src/misc/prsystem.c
++++ b/nsprpub/pr/src/misc/prsystem.c
+@@ -27,7 +27,6 @@
+ || defined(OPENBSD) || defined(DRAGONFLY) || defined(DARWIN)
+ #define _PR_HAVE_SYSCTL
+ #include <sys/param.h>
+-#include <sys/sysctl.h>
+ #endif
+
+ #if defined(DARWIN)
+--- a/third_party/python/psutil/psutil/_psutil_bsd.c
++++ b/third_party/python/psutil/psutil/_psutil_bsd.c
+@@ -29,7 +29,6 @@
+ #include <paths.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+-#include <sys/sysctl.h>
+ #include <sys/user.h>
+ #include <sys/proc.h>
+ #include <sys/file.h>
+--- a/third_party/python/psutil/psutil/_psutil_osx.c
++++ b/third_party/python/psutil/psutil/_psutil_osx.c
+@@ -13,7 +13,6 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <utmpx.h>
+-#include <sys/sysctl.h>
+ #include <sys/vmmeter.h>
+ #include <libproc.h>
+ #include <sys/proc_info.h>
+--- a/third_party/python/psutil/psutil/arch/osx/process_info.c
++++ b/third_party/python/psutil/psutil/arch/osx/process_info.c
+@@ -16,7 +16,6 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <signal.h>
+-#include <sys/sysctl.h>
+ #include <libproc.h>
+
+ #include "process_info.h"
+--- a/memory/build/Mutex.h
++++ b/memory/build/Mutex.h
+@@ -42,7 +42,7 @@ struct Mutex {
+ if (pthread_mutexattr_init(&attr) != 0) {
+ return false;
+ }
+- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
+ if (pthread_mutex_init(&mMutex, &attr) != 0) {
+ pthread_mutexattr_destroy(&attr);
+ return false;
+@@ -102,7 +102,7 @@ typedef Mutex StaticMutex;
+
+ #if defined(XP_DARWIN)
+ #define STATIC_MUTEX_INIT OS_SPINLOCK_INIT
+-#elif defined(XP_LINUX) && !defined(ANDROID)
++#elif defined(XP_LINUX) && !defined(ANDROID) && defined(__GLIBC__)
+ #define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+ #else
+ #define STATIC_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0002-js-Fix-build-with-musl.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0002-js-Fix-build-with-musl.patch
new file mode 100644
index 00000000..f4c6e276
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0002-js-Fix-build-with-musl.patch
@@ -0,0 +1,31 @@
+From 0c9e8f586ba52a9aef5ed298e8315b2598b8fb72 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 25 May 2019 16:54:45 -0700
+Subject: [PATCH] js: Fix build with musl
+
+The MIPS specific header <sgidefs.h> is not provided by musl
+linux kernel headers provide <asm/sgidefs.h> which has same definitions
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ js/src/jsmath.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/jsmath.cpp b/js/src/jsmath.cpp
+index a28968be..8facaa81 100644
+--- a/js/src/jsmath.cpp
++++ b/js/src/jsmath.cpp
+@@ -71,7 +71,7 @@
+ #elif defined(__s390__)
+ #define GETRANDOM_NR 349
+ #elif defined(__mips__)
+-#include <sgidefs.h>
++#include <asm/sgidefs.h>
+ #if _MIPS_SIM == _MIPS_SIM_ABI32
+ #define GETRANDOM_NR 4353
+ #elif _MIPS_SIM == _MIPS_SIM_ABI64
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
new file mode 100644
index 00000000..9466c62a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
@@ -0,0 +1,135 @@
+SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
+HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf"
+
+SRC_URI = " \
+ https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \
+ file://0001-Port-build-to-python3.patch \
+ file://0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
+ file://0003-fix-cross-compilation-on-i586-targets.patch \
+ file://0004-do-not-create-python-environment.patch \
+ file://0005-fix-cannot-find-link.patch \
+ file://0006-workaround-autoconf-2.13-detection-failed.patch \
+ file://0007-fix-do_compile-failed-on-mips.patch \
+ file://0008-add-riscv-support.patch \
+ file://0009-mozjs-fix-coredump-caused-by-getenv.patch \
+ file://0010-format-overflow.patch \
+ file://0011-To-fix-build-error-on-arm32BE.patch \
+ file://0012-JS_PUBLIC_API.patch \
+ file://0013-riscv-Disable-atomic-operations.patch \
+ file://0014-fallback-to-2011-C++-standard.patch \
+"
+SRC_URI_append_libc-musl = " \
+ file://musl/0001-support-musl.patch \
+ file://musl/0002-js-Fix-build-with-musl.patch \
+"
+SRC_URI_append_mipsarchn32 = " \
+ file://mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch \
+"
+SRC_URI[md5sum] = "69a0be9ce695e5dc4941ed0c78ef00c2"
+SRC_URI[sha256sum] = "9f453c8cc5669e46e38f977764d49a36295bf0d023619d9aac782e6bb3e8c53f"
+
+S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}"
+
+inherit autotools pkgconfig perlnative python3native
+
+inherit features_check
+CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold"
+
+DEPENDS += " \
+ nspr zlib autoconf-2.13-native \
+ python3-six-native python3-pytoml-native \
+ python3-jsmin-native python3-six \
+"
+
+# Disable null pointer optimization in gcc >= 6
+# https://bugzilla.redhat.com/show_bug.cgi?id=1328045
+CFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
+CXXFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
+
+# nspr's package-config is ignored so set libs manually
+EXTRA_OECONF = " \
+ --target=${TARGET_SYS} \
+ --host=${BUILD_SYS} \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+ --disable-tests --disable-strip --disable-optimize \
+ --disable-jemalloc \
+ --with-nspr-cflags='-I${STAGING_INCDIR}/nspr -I${STAGING_INCDIR}/nss3' \
+ --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \
+"
+
+# Without this, JS_Init() will fail for mips64.
+EXTRA_OECONF_append_mipsarch = " --with-intl-api=build"
+EXTRA_OECONF_append_powerpc = " --with-intl-api=build"
+
+EXTRA_OECONF_append_mipsarch = " --disable-ion"
+EXTRA_OECONF_append_riscv64 = " --disable-ion"
+EXTRA_OECONF_append_riscv32 = " --disable-ion"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--x-includes=no --x-libraries=no,virtual/libx11"
+
+EXTRA_OEMAKE_task-compile += "BUILD_OPT=1 OS_LDFLAGS='-Wl,-latomic ${LDFLAGS}'"
+EXTRA_OEMAKE_task-install += "STATIC_LIBRARY_NAME=js_static"
+
+export HOST_CC = "${BUILD_CC}"
+export HOST_CXX = "${BUILD_CXX}"
+export HOST_CFLAGS = "${BUILD_CFLAGS}"
+export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}"
+export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
+
+do_configure() {
+ export SHELL="/bin/sh"
+ cd ${S}
+ # Add mozjs python-modules necessary
+ PYTHONPATH="${S}/third_party/python/which:${S}/config:${S}/build"
+ for sub_dir in python testing/mozbase; do
+ for module_dir in `ls $sub_dir -1`;do
+ [ $module_dir = "virtualenv" ] && continue
+ if [ -d "${S}/$sub_dir/$module_dir" ];then
+ PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
+ fi
+ done
+ done
+ echo "$PYTHONPATH" > ${B}/PYTHONPATH
+ export PYTHONPATH=`cat ${B}/PYTHONPATH`
+
+ cd ${S}/js/src
+ autoconf213 --macrodir=${STAGING_DATADIR_NATIVE}/autoconf213 old-configure.in > old-configure
+
+ cd ${B}
+ ${S}/js/src/configure ${EXTRA_OECONF}
+
+ # Make standard Makefile checks pass
+ touch ${S}/js/src/configure
+ touch ${B}/config.status
+}
+
+do_compile_prepend() {
+ export SHELL="/bin/sh"
+ export PYTHONPATH=`cat ${B}/PYTHONPATH`
+}
+
+do_install_prepend() {
+ export SHELL="/bin/sh"
+ export PYTHONPATH=`cat ${B}/PYTHONPATH`
+}
+
+PACKAGES =+ "lib${BPN}"
+FILES_lib${BPN} += "${libdir}/lib*.so"
+FILES_${PN}-dev += "${bindir}/js60-config"
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20'
+#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)'
+#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)'
+#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300'
+#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52'
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv4 = "arm"
+
+DISABLE_STATIC = ""
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem/0001-smem-fix-support-for-source-option-python3.patch b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem/0001-smem-fix-support-for-source-option-python3.patch
new file mode 100644
index 00000000..5c1be5a0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem/0001-smem-fix-support-for-source-option-python3.patch
@@ -0,0 +1,53 @@
+From 3ff78f1f00973393d1a7ee4e467a2bacf1c807f3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Wed, 5 Feb 2020 16:14:21 +0000
+Subject: [PATCH] smem: fix support for --source option (python3)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Using --source doesn't work without this patch:
+Traceback (most recent call last):
+ File "./smem", line 727, in <module>
+ showpids()
+ File "./smem", line 299, in showpids
+ showtable(pt.keys(), fields, columns.split(), options.sort or 'pss')
+ File "./smem", line 519, in showtable
+ mt = totalmem()
+ File "./smem", line 118, in totalmem
+ _totalmem = memory()['memtotal']
+ File "./smem", line 193, in memory
+ m = f.match(l)
+TypeError: cannot use a string pattern on a bytes-like object
+
+python3's tarfile returns bytes, whereas all of the rest of
+the code assumes str.
+
+Fix the tarfile usage to convert to str before returning the
+results.
+
+Signed-off-by: André Draszik <git@andred.net>
+Upstream-Status: Inappropriate [upstream wants to support python2 & python3]
+---
+ smem | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/smem b/smem
+index 46a3189..54d40dd 100755
+--- a/smem
++++ b/smem
+@@ -90,9 +90,9 @@ class tardata(procdata):
+ d,f = ti.name.split('/')
+ yield d
+ def _read(self, f):
+- return self.tar.extractfile(f).read()
++ return self.tar.extractfile(f).read().decode()
+ def _readlines(self, f):
+- return self.tar.extractfile(f).readlines()
++ return [l.decode() for l in self.tar.extractfile(f).readlines()]
+ def piduser(self, p):
+ t = self.tar.getmember("%d" % p)
+ if t.uname:
+--
+2.23.0.rc1
+
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb
new file mode 100644
index 00000000..90db9c3f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Report application memory usage in a meaningful way"
+DESCRIPTION = "smem is a tool that can give numerous reports on memory usage on Linux \
+systems. Unlike existing tools, smem can report proportional set size (PSS), \
+which is a more meaningful representation of the amount of memory used by \
+libraries and applications in a virtual memory system."
+HOMEPAGE = "http://www.selenic.com/smem/"
+SECTION = "Applications/System"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+HG_CHANGESET = "98273ce331bb"
+SRC_URI = "https://selenic.com/repo/${BPN}/archive/${HG_CHANGESET}.tar.bz2;downloadfilename=${BP}.tar.bz2 \
+ file://0001-smem-fix-support-for-source-option-python3.patch"
+SRC_URI[md5sum] = "51c3989779360f42b42ef46b2831be3a"
+SRC_URI[sha256sum] = "161131c686a6d9962a0e96912526dd46308e022d62e3f8acaed5a56fda8e08ce"
+
+UPSTREAM_CHECK_URI = "https://selenic.com/repo/smem/tags"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/${BPN}-${HG_CHANGESET}"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} smemcap.c -o smemcap
+}
+
+do_install() {
+ install -d ${D}/${bindir}/
+ install -d ${D}/${mandir}/man8
+ install -m 0755 ${S}/smem ${D}${bindir}/
+ sed -i -e '1s,#!.*python.*,#!${USRBINPATH}/env python3,' ${D}${bindir}/smem
+ install -m 0755 ${S}/smemcap ${D}${bindir}/
+ install -m 0644 ${S}/smem.8 ${D}/${mandir}/man8/
+}
+
+RDEPENDS_${PN} = "python3-core python3-compression"
+RRECOMMENDS_${PN} = "python3-matplotlib python3-numpy"
+
+PACKAGE_BEFORE_PN = "smemcap"
+
+FILES_smemcap = "${bindir}/smemcap"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/external/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
new file mode 100644
index 00000000..69bc788a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -0,0 +1 @@
+RDEPENDS_packagegroup-meta-oe-support += "debsums"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/debsums/debsums_2.2.2.bb b/external/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb
index 13f20eb9..07ab5e62 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/debsums/debsums_2.2.2.bb
+++ b/external/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb
@@ -20,6 +20,8 @@ UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
inherit perlnative gettext
+DEPENDS += "po4a-native"
+
do_install() {
install -d ${D}/${sysconfdir}/cron.daily ${D}/${sysconfdir}/cron.weekly
install -d ${D}/${sysconfdir}/cron.monthly ${D}${sbindir} ${D}${bindir}
diff --git a/external/meta-openembedded/meta-oe/licenses/HDF5 b/external/meta-openembedded/meta-oe/licenses/HDF5
new file mode 100644
index 00000000..10481dd1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/licenses/HDF5
@@ -0,0 +1,92 @@
+Copyright Notice and License Terms for
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+-----------------------------------------------------------------------------
+
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+Copyright (c) 2006-2018, The HDF Group.
+
+NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+Copyright (c) 1998-2006, The Board of Trustees of the University of Illinois.
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted for any purpose (including commercial purposes)
+provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions, and the following disclaimer in the documentation
+ and/or materials provided with the distribution.
+
+3. Neither the name of The HDF Group, the name of the University, nor the
+ name of any Contributor may be used to endorse or promote products derived
+ from this software without specific prior written permission from
+ The HDF Group, the University, or the Contributor, respectively.
+
+DISCLAIMER:
+THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS
+"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT SHALL THE HDF GROUP OR THE CONTRIBUTORS BE LIABLE FOR ANY DAMAGES SUFFERED BY THE USERS ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to The HDF Group, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such enhancements or derivative works thereof, in binary and source code form.
+
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------------------
+
+Limited portions of HDF5 were developed by Lawrence Berkeley National
+Laboratory (LBNL). LBNL's Copyright Notice and Licensing Terms can be
+found here: COPYING_LBNL_HDF5 file in this directory or at
+http://support.hdfgroup.org/ftp/HDF5/releases/COPYING_LBNL_HDF5.
+
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------------------
+
+Contributors: National Center for Supercomputing Applications (NCSA) at
+the University of Illinois, Fortner Software, Unidata Program Center (netCDF), The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip), and Digital Equipment Corporation (DEC).
+
+-----------------------------------------------------------------------------
+
+Portions of HDF5 were developed with support from the Lawrence Berkeley
+National Laboratory (LBNL) and the United States Department of Energy
+under Prime Contract No. DE-AC02-05CH11231.
+
+-----------------------------------------------------------------------------
+
+Portions of HDF5 were developed with support from the University of
+California, Lawrence Livermore National Laboratory (UC LLNL).
+The following statement applies to those portions of the product and must
+be retained in any redistribution of source code, binaries, documentation,
+and/or accompanying materials:
+
+ This work was partially produced at the University of California,
+ Lawrence Livermore National Laboratory (UC LLNL) under contract
+ no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy
+ (DOE) and The Regents of the University of California (University)
+ for the operation of UC LLNL.
+
+ DISCLAIMER:
+ This work was prepared as an account of work sponsored by an agency of
+ the United States Government. Neither the United States Government nor
+ the University of California nor any of their employees, makes any
+ warranty, express or implied, or assumes any liability or responsibility
+ for the accuracy, completeness, or usefulness of any information,
+ apparatus, product, or process disclosed, or represents that its use
+ would not infringe privately- owned rights. Reference herein to any
+ specific commercial products, process, or service by trade name,
+ trademark, manufacturer, or otherwise, does not necessarily constitute
+ or imply its endorsement, recommendation, or favoring by the United
+ States Government or the University of California. The views and
+ opinions of authors expressed herein do not necessarily state or reflect
+ those of the United States Government or the University of California,
+ and shall not be used for advertising or product endorsement purposes.
+
+-----------------------------------------------------------------------------
+
+HDF5 is available with the SZIP compression library but SZIP is not part
+of HDF5 and has separate copyright and license terms. See SZIP Compression
+in HDF Products (www.hdfgroup.org/doc_resource/SZIP/) for further details.
+
+-----------------------------------------------------------------------------
+
diff --git a/external/meta-openembedded/meta-oe/licenses/OFL-1.0 b/external/meta-openembedded/meta-oe/licenses/OFL-1.0
new file mode 100644
index 00000000..2a36aea2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/licenses/OFL-1.0
@@ -0,0 +1,99 @@
+This Font Software is Copyright (c) 2003-2005, SIL International (http://scripts.sil.org/).
+All Rights Reserved.
+
+"Gentium" is a Reserved Font Name for this Font Software.
+"SIL" is a Reserved Font Name for this Font Software.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.0.
+No modification of the license is permitted, only verbatim copy is allowed.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.0 - 22 November 2005
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of cooperative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide an open
+framework in which fonts may be shared and improved in partnership with
+others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and sold with any software provided that the font
+names of derivative works are changed. The fonts and derivatives,
+however, cannot be released under any other type of license.
+
+DEFINITIONS
+"Font Software" refers to any and all of the following:
+ - font files
+ - data files
+ - source code
+ - build scripts
+ - documentation
+
+"Reserved Font Name" refers to the Font Software name as seen by
+users and any other names as specified after the copyright statement.
+
+"Standard Version" refers to the collection of Font Software
+components as distributed by the Copyright Holder.
+
+"Modified Version" refers to any derivative font software made by
+adding to, deleting, or substituting -- in part or in whole --
+any of the components of the Standard Version, by changing formats
+or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Standard or Modified Versions, may be sold by itself.
+
+2) Standard or Modified Versions of the Font Software may be bundled,
+redistributed and sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s), in part or in whole, unless explicit written permission is
+granted by the Copyright Holder. This restriction applies to all
+references stored in the Font Software, such as the font menu name and
+other font description fields, which are used to differentiate the
+font from others.
+
+4) The name(s) of the Copyright Holder or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed using this license, and may not be distributed
+under any other license.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/external/meta-openembedded/meta-oe/licenses/SSPL-1 b/external/meta-openembedded/meta-oe/licenses/SSPL-1
new file mode 100644
index 00000000..4e1383df
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/licenses/SSPL-1
@@ -0,0 +1,557 @@
+ Server Side Public License
+ VERSION 1, OCTOBER 16, 2018
+
+ Copyright © 2018 MongoDB, Inc.
+
+ Everyone is permitted to copy and distribute verbatim copies of this
+ license document, but changing it is not allowed.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ “This License†refers to Server Side Public License.
+
+ “Copyright†also means copyright-like laws that apply to other kinds of
+ works, such as semiconductor masks.
+
+ “The Program†refers to any copyrightable work licensed under this
+ License. Each licensee is addressed as “youâ€. “Licensees†and
+ “recipients†may be individuals or organizations.
+
+ To “modify†a work means to copy from or adapt all or part of the work in
+ a fashion requiring copyright permission, other than the making of an
+ exact copy. The resulting work is called a “modified version†of the
+ earlier work or a work “based on†the earlier work.
+
+ A “covered work†means either the unmodified Program or a work based on
+ the Program.
+
+ To “propagate†a work means to do anything with it that, without
+ permission, would make you directly or secondarily liable for
+ infringement under applicable copyright law, except executing it on a
+ computer or modifying a private copy. Propagation includes copying,
+ distribution (with or without modification), making available to the
+ public, and in some countries other activities as well.
+
+ To “convey†a work means any kind of propagation that enables other
+ parties to make or receive copies. Mere interaction with a user through a
+ computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays “Appropriate Legal Notices†to the
+ extent that it includes a convenient and prominently visible feature that
+ (1) displays an appropriate copyright notice, and (2) tells the user that
+ there is no warranty for the work (except to the extent that warranties
+ are provided), that licensees may convey the work under this License, and
+ how to view a copy of this License. If the interface presents a list of
+ user commands or options, such as a menu, a prominent item in the list
+ meets this criterion.
+
+ 1. Source Code.
+
+ The “source code†for a work means the preferred form of the work for
+ making modifications to it. “Object code†means any non-source form of a
+ work.
+
+ A “Standard Interface†means an interface that either is an official
+ standard defined by a recognized standards body, or, in the case of
+ interfaces specified for a particular programming language, one that is
+ widely used among developers working in that language. The “System
+ Libraries†of an executable work include anything, other than the work as
+ a whole, that (a) is included in the normal form of packaging a Major
+ Component, but which is not part of that Major Component, and (b) serves
+ only to enable use of the work with that Major Component, or to implement
+ a Standard Interface for which an implementation is available to the
+ public in source code form. A “Major Componentâ€, in this context, means a
+ major essential component (kernel, window system, and so on) of the
+ specific operating system (if any) on which the executable work runs, or
+ a compiler used to produce the work, or an object code interpreter used
+ to run it.
+
+ The “Corresponding Source†for a work in object code form means all the
+ source code needed to generate, install, and (for an executable work) run
+ the object code and to modify the work, including scripts to control
+ those activities. However, it does not include the work's System
+ Libraries, or general-purpose tools or generally available free programs
+ which are used unmodified in performing those activities but which are
+ not part of the work. For example, Corresponding Source includes
+ interface definition files associated with source files for the work, and
+ the source code for shared libraries and dynamically linked subprograms
+ that the work is specifically designed to require, such as by intimate
+ data communication or control flow between those subprograms and other
+ parts of the work.
+
+ The Corresponding Source need not include anything that users can
+ regenerate automatically from other parts of the Corresponding Source.
+
+ The Corresponding Source for a work in source code form is that same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+ copyright on the Program, and are irrevocable provided the stated
+ conditions are met. This License explicitly affirms your unlimited
+ permission to run the unmodified Program, subject to section 13. The
+ output from running a covered work is covered by this License only if the
+ output, given its content, constitutes a covered work. This License
+ acknowledges your rights of fair use or other equivalent, as provided by
+ copyright law. Subject to section 13, you may make, run and propagate
+ covered works that you do not convey, without conditions so long as your
+ license otherwise remains in force. You may convey covered works to
+ others for the sole purpose of having them make modifications exclusively
+ for you, or provide you with facilities for running those works, provided
+ that you comply with the terms of this License in conveying all
+ material for which you do not control copyright. Those thus making or
+ running the covered works for you must do so exclusively on your
+ behalf, under your direction and control, on terms that prohibit them
+ from making any copies of your copyrighted material outside their
+ relationship with you.
+
+ Conveying under any other circumstances is permitted solely under the
+ conditions stated below. Sublicensing is not allowed; section 10 makes it
+ unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+ measure under any applicable law fulfilling obligations under article 11
+ of the WIPO copyright treaty adopted on 20 December 1996, or similar laws
+ prohibiting or restricting circumvention of such measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+ circumvention of technological measures to the extent such circumvention is
+ effected by exercising rights under this License with respect to the
+ covered work, and you disclaim any intention to limit operation or
+ modification of the work as a means of enforcing, against the work's users,
+ your or third parties' legal rights to forbid circumvention of
+ technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey 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; keep
+ intact all notices stating that this License and any non-permissive terms
+ added in accord with section 7 apply to the code; keep intact all notices
+ of the absence of any warranty; and give all recipients a copy of this
+ License along with the Program. You may charge any price or no price for
+ each copy that you convey, and you may offer support or warranty
+ protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+ produce it from the Program, in the form of source code under the terms
+ of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified it,
+ and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is released
+ under this License and any conditions added under section 7. This
+ requirement modifies the requirement in section 4 to “keep intact all
+ noticesâ€.
+
+ c) You must license the entire work, as a whole, under this License to
+ anyone who comes into possession of a copy. This License will therefore
+ apply, along with any applicable section 7 additional terms, to the
+ whole of the work, and all its parts, regardless of how they are
+ packaged. This License gives no permission to license the work in any
+ other way, but it does not invalidate such permission if you have
+ separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your work
+ need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+ works, which are not by their nature extensions of the covered work, and
+ which are not combined with it such as to form a larger program, in or on
+ a volume of a storage or distribution medium, is called an “aggregate†if
+ the compilation and its resulting copyright are not used to limit the
+ access or legal rights of the compilation's users beyond what the
+ individual works permit. Inclusion of a covered work in an aggregate does
+ not cause this License to apply to the other parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms of
+ sections 4 and 5, provided that you also convey the machine-readable
+ Corresponding Source under the terms of this License, in one of these
+ ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium customarily
+ used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a written
+ offer, valid for at least three years and valid for as long as you
+ offer spare parts or customer support for that product model, to give
+ anyone who possesses the object code either (1) a copy of the
+ Corresponding Source for all the software in the product that is
+ covered by this License, on a durable physical medium customarily used
+ for software interchange, for a price no more than your reasonable cost
+ of physically performing this conveying of source, or (2) access to
+ copy the Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This alternative is
+ allowed only occasionally and noncommercially, and only if you received
+ the object code with such an offer, in accord with subsection 6b.
+
+ d) Convey the object code by offering access from a designated place
+ (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to copy
+ the object code is a network server, the Corresponding Source may be on
+ a different server (operated by you or a third party) that supports
+ equivalent copying facilities, provided you maintain clear directions
+ next to the object code saying where to find the Corresponding Source.
+ Regardless of what server hosts the Corresponding Source, you remain
+ obligated to ensure that it is available for as long as needed to
+ satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided you
+ inform other peers where the object code and Corresponding Source of
+ the work are being offered to the general public at no charge under
+ subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+ from the Corresponding Source as a System Library, need not be included
+ in conveying the object code work.
+
+ A “User Product†is either (1) a “consumer productâ€, which means any
+ tangible personal property which is normally used for personal, family,
+ or household purposes, or (2) anything designed or sold for incorporation
+ into a dwelling. In determining whether a product is a consumer product,
+ doubtful cases shall be resolved in favor of coverage. For a particular
+ product received by a particular user, “normally used†refers to a
+ typical or common use of that class of product, regardless of the status
+ of the particular user or of the way in which the particular user
+ actually uses, or expects or is expected to use, the product. A product
+ is a consumer product regardless of whether the product has substantial
+ commercial, industrial or non-consumer uses, unless such uses represent
+ the only significant mode of use of the product.
+
+ “Installation Information†for a User Product means any methods,
+ procedures, authorization keys, or other information required to install
+ and execute modified versions of a covered work in that User Product from
+ a modified version of its Corresponding Source. The information must
+ suffice to ensure that the continued functioning of the modified object
+ code is in no case prevented or interfered with solely because
+ modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+ specifically for use in, a User Product, and the conveying occurs as part
+ of a transaction in which the right of possession and use of the User
+ Product is transferred to the recipient in perpetuity or for a fixed term
+ (regardless of how the transaction is characterized), the Corresponding
+ Source conveyed under this section must be accompanied by the
+ Installation Information. But this requirement does not apply if neither
+ you nor any third party retains the ability to install modified object
+ code on the User Product (for example, the work has been installed in
+ ROM).
+
+ The requirement to provide Installation Information does not include a
+ requirement to continue to provide support service, warranty, or updates
+ for a work that has been modified or installed by the recipient, or for
+ the User Product in which it has been modified or installed. Access
+ to a network may be denied when the modification itself materially
+ and adversely affects the operation of the network or violates the
+ rules and protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided, in
+ accord with this section must be in a format that is publicly documented
+ (and with an implementation available to the public in source code form),
+ and must require no special password or key for unpacking, reading or
+ copying.
+
+ 7. Additional Terms.
+
+ “Additional permissions†are terms that supplement the terms of this
+ License by making exceptions from one or more of its conditions.
+ Additional permissions that are applicable to the entire Program shall be
+ treated as though they were included in this License, to the extent that
+ they are valid under applicable law. If additional permissions apply only
+ to part of the Program, that part may be used separately under those
+ permissions, but the entire Program remains governed by this License
+ without regard to the additional permissions. When you convey a copy of
+ a covered work, you may at your option remove any additional permissions
+ from that copy, or from any part of it. (Additional permissions may be
+ written to require their own removal in certain cases when you modify the
+ work.) You may place additional permissions on material, added by you to
+ a covered work, for which you have or can give appropriate copyright
+ permission.
+
+ Notwithstanding any other provision of this License, for material you add
+ to a covered work, you may (if authorized by the copyright holders of
+ that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some trade
+ names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that material
+ by anyone who conveys the material (or modified versions of it) with
+ contractual assumptions of liability to the recipient, for any
+ liability that these contractual assumptions directly impose on those
+ licensors and authors.
+
+ All other non-permissive additional terms are considered “further
+ restrictions†within the meaning of section 10. If the Program as you
+ received it, or any part of it, contains a notice stating that it is
+ governed by this License along with a term that is a further restriction,
+ you may remove that term. If a license document contains a further
+ restriction but permits relicensing or conveying under this License, you
+ may add to a covered work material governed by the terms of that license
+ document, provided that the further restriction does not survive such
+ relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you must
+ place, in the relevant source files, a statement of the additional terms
+ that apply to those files, or a notice indicating where to find the
+ applicable terms. Additional terms, permissive or non-permissive, may be
+ stated in the form of a separately written license, or stated as
+ exceptions; the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+ provided under this License. Any attempt otherwise to propagate or modify
+ it is void, and will automatically terminate your rights under this
+ License (including any patent licenses granted under the third paragraph
+ of section 11).
+
+ However, if you cease all violation of this License, then your license
+ from a particular copyright holder is reinstated (a) provisionally,
+ unless and until the copyright holder explicitly and finally terminates
+ your license, and (b) permanently, if the copyright holder fails to
+ notify you of the violation by some reasonable means prior to 60 days
+ after the cessation.
+
+ Moreover, your license from a particular copyright holder is reinstated
+ permanently if the copyright holder notifies you of the violation by some
+ reasonable means, this is the first time you have received notice of
+ violation of this License (for any work) from that copyright holder, and
+ you cure the violation prior to 30 days after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+ licenses of parties who have received copies or rights from you under
+ this License. If your rights have been terminated and not permanently
+ reinstated, you do not qualify to receive new licenses for the same
+ material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or run a
+ copy of the Program. Ancillary propagation of a covered work occurring
+ solely as a consequence of using peer-to-peer transmission to receive a
+ copy likewise does not require acceptance. However, nothing other than
+ this License grants you permission to propagate or modify any covered
+ work. These actions infringe copyright if you do not accept this License.
+ Therefore, by modifying or propagating a covered work, you indicate your
+ acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically receives
+ a license from the original licensors, to run, modify and propagate that
+ work, subject to this License. You are not responsible for enforcing
+ compliance by third parties with this License.
+
+ An “entity transaction†is a transaction transferring control of an
+ organization, or substantially all assets of one, or subdividing an
+ organization, or merging organizations. If propagation of a covered work
+ results from an entity transaction, each party to that transaction who
+ receives a copy of the work also receives whatever licenses to the work
+ the party's predecessor in interest had or could give under the previous
+ paragraph, plus a right to possession of the Corresponding Source of the
+ work from the predecessor in interest, if the predecessor has it or can
+ get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the rights
+ granted or affirmed under this License. For example, you may not impose a
+ license fee, royalty, or other charge for exercise of rights granted
+ under this License, and you may not initiate litigation (including a
+ cross-claim or counterclaim in a lawsuit) alleging that any patent claim
+ is infringed by making, using, selling, offering for sale, or importing
+ the Program or any portion of it.
+
+ 11. Patents.
+
+ A “contributor†is a copyright holder who authorizes use under this
+ License of the Program or a work on which the Program is based. The work
+ thus licensed is called the contributor's “contributor versionâ€.
+
+ A contributor's “essential patent claims†are all patent claims owned or
+ controlled by the contributor, whether already acquired or hereafter
+ acquired, that would be infringed by some manner, permitted by this
+ License, of making, using, or selling its contributor version, but do not
+ include claims that would be infringed only as a consequence of further
+ modification of the contributor version. For purposes of this definition,
+ “control†includes the right to grant patent sublicenses in a manner
+ consistent with the requirements of this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+ patent license under the contributor's essential patent claims, to make,
+ use, sell, offer for sale, import and otherwise run, modify and propagate
+ the contents of its contributor version.
+
+ In the following three paragraphs, a “patent license†is any express
+ agreement or commitment, however denominated, not to enforce a patent
+ (such as an express permission to practice a patent or covenant not to
+ sue for patent infringement). To “grant†such a patent license to a party
+ means to make such an agreement or commitment not to enforce a patent
+ against the party.
+
+ If you convey a covered work, knowingly relying on a patent license, and
+ the Corresponding Source of the work is not available for anyone to copy,
+ free of charge and under the terms of this License, through a publicly
+ available network server or other readily accessible means, then you must
+ either (1) cause the Corresponding Source to be so available, or (2)
+ arrange to deprive yourself of the benefit of the patent license for this
+ particular work, or (3) arrange, in a manner consistent with the
+ requirements of this License, to extend the patent license to downstream
+ recipients. “Knowingly relying†means you have actual knowledge that, but
+ for the patent license, your conveying the covered work in a country, or
+ your recipient's use of the covered work in a country, would infringe
+ one or more identifiable patents in that country that you have reason
+ to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+ arrangement, you convey, or propagate by procuring conveyance of, a
+ covered work, and grant a patent license to some of the parties receiving
+ the covered work authorizing them to use, propagate, modify or convey a
+ specific copy of the covered work, then the patent license you grant is
+ automatically extended to all recipients of the covered work and works
+ based on it.
+
+ A patent license is “discriminatory†if it does not include within the
+ scope of its coverage, prohibits the exercise of, or is conditioned on
+ the non-exercise of one or more of the rights that are specifically
+ granted under this License. You may not convey a covered work if you are
+ a party to an arrangement with a third party that is in the business of
+ distributing software, under which you make payment to the third party
+ based on the extent of your activity of conveying the work, and under
+ which the third party grants, to any of the parties who would receive the
+ covered work from you, a discriminatory patent license (a) in connection
+ with copies of the covered work conveyed by you (or copies made from
+ those copies), or (b) primarily for and in connection with specific
+ products or compilations that contain the covered work, unless you
+ entered into that arrangement, or that patent license was granted, prior
+ to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting any
+ implied license or other defenses to infringement that may otherwise be
+ available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If 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 use,
+ propagate or convey a covered work so as to satisfy simultaneously your
+ obligations under this License and any other pertinent obligations, then
+ as a consequence you may not use, propagate or convey it at all. For
+ example, if you agree to terms that obligate you to collect a royalty for
+ further conveying from those to whom you convey the Program, the only way
+ you could satisfy both those terms and this License would be to refrain
+ entirely from conveying the Program.
+
+ 13. Offering the Program as a Service.
+
+ If you make the functionality of the Program or a modified version
+ available to third parties as a service, you must make the Service Source
+ Code available via network download to everyone at no charge, under the
+ terms of this License. Making the functionality of the Program or
+ modified version available to third parties as a service includes,
+ without limitation, enabling third parties to interact with the
+ functionality of the Program or modified version remotely through a
+ computer network, offering a service the value of which entirely or
+ primarily derives from the value of the Program or modified version, or
+ offering a service that accomplishes for users the primary purpose of the
+ Program or modified version.
+
+ “Service Source Code†means the Corresponding Source for the Program or
+ the modified version, and the Corresponding Source for all programs that
+ you use to make the Program or modified version available as a service,
+ including, without limitation, management software, user interfaces,
+ application program interfaces, automation software, monitoring software,
+ backup software, storage software and hosting software, all such that a
+ user could run an instance of the service using the Service Source Code
+ you make available.
+
+ 14. Revised Versions of this License.
+
+ MongoDB, Inc. may publish revised and/or new versions of the Server Side
+ 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 that a certain numbered version of the Server Side Public
+ License “or any later version†applies to it, you have the option of
+ following the terms and conditions either of that numbered version or of
+ any later version published by MongoDB, Inc. If the Program does not
+ specify a version number of the Server Side Public License, you may
+ choose any version ever published by MongoDB, Inc.
+
+ If the Program specifies that a proxy can decide which future versions of
+ the Server Side Public License can be used, that proxy's public statement
+ of acceptance of a version permanently authorizes you to choose that
+ version for the Program.
+
+ Later license versions may give you additional or different permissions.
+ However, no additional obligations are imposed on any author or copyright
+ holder as a result of your choosing to follow a later version.
+
+ 15. Disclaimer of Warranty.
+
+ 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.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+ 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.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided above
+ cannot be given local legal effect according to their terms, reviewing
+ courts shall apply local law that most closely approximates an absolute
+ waiver of all civil liability in connection with the Program, unless a
+ warranty or assumption of liability accompanies a copy of the Program in
+ return for a fee.
+
+ END OF TERMS AND CONDITIONS
diff --git a/external/meta-openembedded/meta-oe/licenses/read-edid b/external/meta-openembedded/meta-oe/licenses/read-edid
new file mode 100644
index 00000000..2eb2c60c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/licenses/read-edid
@@ -0,0 +1,17 @@
+
+ * This is an unofficial license. Let's call it BSD-like, with these terms:
+ * * You are free to use this software for any purpose. I cannot guarantee
+ * anything about this software or its fitness for any purpose. I will
+ * offer support for this software as long as I am capable of doing so,
+ * but this should not be interpreted as a support contract of any kind.
+ *
+ * * You are free to modify, distribute, etc. this code under the strict
+ * condition that you email me, Matthew Kern <pyrophobicman@gmail.com>, a
+ * brief message on what you're doing. Nothing will be rejected, this is
+ * simply to keep tabs on my work, and maybe we can share ideas on EDIDs.
+ *
+ * * (C)opyright 2008-2014 Matthew Kern
+ *
+ * Please see AUTHORS for a list of the people who made this software
+ * possible. All of the current code is a rewrite of my own work, but
+ * I am still indebted to those guys for a ton of the ideas.
diff --git a/external/meta-openembedded/meta-oe/licenses/safec b/external/meta-openembedded/meta-oe/licenses/safec
new file mode 100644
index 00000000..2bf1e637
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/licenses/safec
@@ -0,0 +1,26 @@
+Safe C Library
+
+Copyright (C) 2012, 2013 Cisco Systems
+Copyright (C) 2017 Reini Urban
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/external/meta-openembedded/meta-oe/licenses/ttf-mplus b/external/meta-openembedded/meta-oe/licenses/ttf-mplus
new file mode 100644
index 00000000..c9cdca3f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/licenses/ttf-mplus
@@ -0,0 +1,16 @@
+M+ FONTS Copyright (C) 2002-2009 M+ FONTS PROJECT
+
+-
+
+LICENSE_E
+
+
+
+
+These fonts are free softwares.
+Unlimited permission is granted to use, copy, and distribute it, with
+or without modification, either commercially and noncommercially.
+THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.
+
+
+http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/
diff --git a/external/meta-openembedded/meta-oe/licenses/vim b/external/meta-openembedded/meta-oe/licenses/vim
deleted file mode 100644
index 4aa818eb..00000000
--- a/external/meta-openembedded/meta-oe/licenses/vim
+++ /dev/null
@@ -1,81 +0,0 @@
-VIM LICENSE
-
-I) There are no restrictions on distributing unmodified copies of Vim except
- that they must include this license text. You can also distribute
- unmodified parts of Vim, likewise unrestricted except that they must
- include this license text. You are also allowed to include executables
- that you made from the unmodified Vim sources, plus your own usage
- examples and Vim scripts.
-
-II) It is allowed to distribute a modified (or extended) version of Vim,
- including executables and/or source code, when the following four
- conditions are met:
- 1) This license text must be included unmodified.
- 2) The modified Vim must be distributed in one of the following five ways:
- a) If you make changes to Vim yourself, you must clearly describe in
- the distribution how to contact you. When the maintainer asks you
- (in any way) for a copy of the modified Vim you distributed, you
- must make your changes, including source code, available to the
- maintainer without fee. The maintainer reserves the right to
- include your changes in the official version of Vim. What the
- maintainer will do with your changes and under what license they
- will be distributed is negotiable. If there has been no negotiation
- then this license, or a later version, also applies to your changes.
- The current maintainer is Bram Moolenaar <Bram@vim.org>. If this
- changes it will be announced in appropriate places (most likely
- vim.sf.net, www.vim.org and/or comp.editors). When it is completely
- impossible to contact the maintainer, the obligation to send him
- your changes ceases. Once the maintainer has confirmed that he has
- received your changes they will not have to be sent again.
- b) If you have received a modified Vim that was distributed as
- mentioned under a) you are allowed to further distribute it
- unmodified, as mentioned at I). If you make additional changes the
- text under a) applies to those changes.
- c) Provide all the changes, including source code, with every copy of
- the modified Vim you distribute. This may be done in the form of a
- context diff. You can choose what license to use for new code you
- add. The changes and their license must not restrict others from
- making their own changes to the official version of Vim.
- d) When you have a modified Vim which includes changes as mentioned
- under c), you can distribute it without the source code for the
- changes if the following three conditions are met:
- - The license that applies to the changes permits you to distribute
- the changes to the Vim maintainer without fee or restriction, and
- permits the Vim maintainer to include the changes in the official
- version of Vim without fee or restriction.
- - You keep the changes for at least three years after last
- distributing the corresponding modified Vim. When the maintainer
- or someone who you distributed the modified Vim to asks you (in
- any way) for the changes within this period, you must make them
- available to him.
- - You clearly describe in the distribution how to contact you. This
- contact information must remain valid for at least three years
- after last distributing the corresponding modified Vim, or as long
- as possible.
- e) When the GNU General Public License (GPL) applies to the changes,
- you can distribute the modified Vim under the GNU GPL version 2 or
- any later version.
- 3) A message must be added, at least in the output of the ":version"
- command and in the intro screen, such that the user of the modified Vim
- is able to see that it was modified. When distributing as mentioned
- under 2)e) adding the message is only required for as far as this does
- not conflict with the license used for the changes.
- 4) The contact information as required under 2)a) and 2)d) must not be
- removed or changed, except that the person himself can make
- corrections.
-
-III) If you distribute a modified version of Vim, you are encouraged to use
- the Vim license for your changes and make them available to the
- maintainer, including the source code. The preferred way to do this is
- by e-mail or by uploading the files to a server and e-mailing the URL.
- If the number of changes is small (e.g., a modified Makefile) e-mailing a
- context diff will do. The e-mail address to be used is
- <maintainer@vim.org>
-
-IV) It is not allowed to remove this license from the distribution of the Vim
- sources, parts of it or from a modified version. You may use this
- license for previous Vim releases instead of the license that they came
- with, at your option.
-
-===
-Read more about this license at http://vimdoc.sourceforge.net/htmldoc/uganda.html#license
diff --git a/external/meta-openembedded/meta-oe/licenses/wxWidgets b/external/meta-openembedded/meta-oe/licenses/wxWidgets
new file mode 100644
index 00000000..0f6b9d6a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/licenses/wxWidgets
@@ -0,0 +1,54 @@
+ wxWindows Library Licence, Version 3.1
+ ======================================
+
+ Copyright (c) 1998-2005 Julian Smart, Robert Roebling et al
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this licence document, but changing it is not allowed.
+
+ WXWINDOWS LIBRARY LICENCE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public Licence as published by
+ the Free Software Foundation; either version 2 of the Licence, or (at
+ your option) any later version.
+
+ This library is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
+ General Public Licence for more details.
+
+ You should have received a copy of the GNU Library General Public Licence
+ along with this software, usually in a file named COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301 USA.
+
+ EXCEPTION NOTICE
+
+ 1. As a special exception, the copyright holders of this library give
+ permission for additional uses of the text contained in this release of
+ the library as licenced under the wxWindows Library Licence, applying
+ either version 3.1 of the Licence, or (at your option) any later version of
+ the Licence as published by the copyright holders of version
+ 3.1 of the Licence document.
+
+ 2. The exception is that you may use, copy, link, modify and distribute
+ under your own terms, binary object code versions of works based
+ on the Library.
+
+ 3. If you copy code from files distributed under the terms of the GNU
+ General Public Licence or the GNU Library General Public Licence into a
+ copy of this library, as this licence permits, the exception does not
+ apply to the code that you add in this way. To avoid misleading anyone as
+ to the status of such modified files, you must delete this exception
+ notice from such code and/or adjust the licensing conditions notice
+ accordingly.
+
+ 4. If you write modifications of your own for this library, it is your
+ choice whether to permit this exception to apply to your modifications.
+ If you do not wish that, you must delete the exception notice from such
+ code and/or adjust the licensing conditions notice accordingly.
+
+
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_git.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_git.bb
deleted file mode 100644
index 8888b226..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Analyze Suspend"
-DESCRIPTION = "analyze-suspend is a tool for system developers to visualize \
-the activity between suspend and resume, allowing them to identify \
-inefficiencies and bottlenecks."
-HOMEPAGE = "https://01.org/suspendresume"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
-
-# Apart from the listed RDEPENDS, analyze-suspend depends on some features
-# provided by the kernel. These options are:
-# - CONFIG_PM_DEBUG=y
-# - CONFIG_PM_SLEEP_DEBUG=y
-# - CONFIG_FTRACE=y
-# - CONFIG_FUNCTION_TRACER=y
-# - CONFIG_FUNCTION_GRAPH_TRACER=y
-
-RDEPENDS_${PN} += "python-core python-datetime python-stringold"
-
-PV = "3.2+gitr${SRCPV}"
-SRCREV = "c669e002a2e7504f21e277ad248fa81033926391"
-SRC_URI = "git://github.com/01org/suspendresume.git;protocol=https"
-S = "${WORKDIR}/git"
-
-do_install() {
- install -Dm 0755 analyze_suspend.py ${D}${bindir}/analyze_suspend.py
- install -Dm 0644 README ${D}${docdir}/analyze-suspend/README
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch
new file mode 100644
index 00000000..82f12fe8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch
@@ -0,0 +1,69 @@
+From 064a63860bf9ee4bf54facb76ca66f9f957d4797 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 11:12:38 -0800
+Subject: [PATCH] cpuburn*.S: Remove .func/.endfunc
+
+These are needed to generate stabs debug info which we dont use
+and are silently ignored by gnu assembler when unused, clang assembler
+however barfs, so remove them
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ cpuburn-a7.S | 2 --
+ cpuburn-a8.S | 2 --
+ cpuburn-a9.S | 2 --
+ 3 files changed, 6 deletions(-)
+
+diff --git a/cpuburn-a7.S b/cpuburn-a7.S
+index 74e925a..c1e308c 100644
+--- a/cpuburn-a7.S
++++ b/cpuburn-a7.S
+@@ -42,7 +42,6 @@
+
+ .global main
+
+-.func main
+ .type main, %function
+ main:
+ push {r4-r12, lr}
+@@ -88,4 +87,3 @@ main:
+
+ mov r0, #0
+ pop {r4-r12, pc}
+-.endfunc
+diff --git a/cpuburn-a8.S b/cpuburn-a8.S
+index c6f93a6..a42f5a5 100644
+--- a/cpuburn-a8.S
++++ b/cpuburn-a8.S
+@@ -46,7 +46,6 @@
+ /* 16 seems to be a good choice */
+ #define STEP 16
+
+-.func main
+ .thumb_func
+ main:
+ mov lr, pc
+@@ -70,4 +69,3 @@ main:
+ subs lr, lr, #(STEP * 4)
+ .endr
+ bne 0b
+-.endfunc
+diff --git a/cpuburn-a9.S b/cpuburn-a9.S
+index 0338b00..a1ccae5 100644
+--- a/cpuburn-a9.S
++++ b/cpuburn-a9.S
+@@ -48,7 +48,6 @@
+ /* 64 seems to be a good choice */
+ #define STEP 64
+
+-.func main
+ .type main, %function
+ main:
+
+@@ -94,4 +93,3 @@ main:
+ subsne lr, lr, #(STEP * 4)
+ .endr
+ bne 0b
+-.endfunc
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch
new file mode 100644
index 00000000..eb68c9ce
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch
@@ -0,0 +1,47 @@
+From c2adcca93a0075665a8195caad49b89785886e8e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 12:02:22 -0800
+Subject: [PATCH] burn.S: Add
+
+This is originally from
+https://hardwarebug.org/files/burn.S
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ burn.S | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+ create mode 100644 burn.S
+
+diff --git a/burn.S b/burn.S
+new file mode 100644
+index 0000000..c372c87
+--- /dev/null
++++ b/burn.S
+@@ -0,0 +1,26 @@
++ .arch armv7-a
++ .fpu neon
++
++ .text
++
++ .global main
++ .type main, STT_FUNC
++ .func main
++main:
++ bic sp, sp, #15
++1:
++ vld1.8 {q8}, [sp,:128]
++ smuad r6, r4, r5
++ veor q9, q0, q1
++ add lr, r4, r5
++ ldr ip, [sp]
++ vext.8 q10, q3, q4, #1
++ eor r5, r4, r5
++ vadd.i32 q11, q0, q1
++ smusd r6, r4, r5
++ ldr r2, [sp]
++ vext.8 q12, q1, q2, #3
++ ssub8 lr, r4, r5
++ vmul.u16 q13, q0, q4
++ b 1b
++.endfunc
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch
new file mode 100644
index 00000000..f351b62c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch
@@ -0,0 +1,31 @@
+From 078df5b25d75578bb0448ca53514c23debe6d920 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 12:03:11 -0800
+Subject: [PATCH] burn.S: Remove .func/.endfunc
+
+These are useless on Linux systems where we use dwarf debug info instead
+of stabs
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ burn.S | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/burn.S b/burn.S
+index c372c87..4458f51 100644
+--- a/burn.S
++++ b/burn.S
+@@ -5,7 +5,6 @@
+
+ .global main
+ .type main, STT_FUNC
+- .func main
+ main:
+ bic sp, sp, #15
+ 1:
+@@ -23,4 +22,3 @@ main:
+ ssub8 lr, r4, r5
+ vmul.u16 q13, q0, q4
+ b 1b
+-.endfunc
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
new file mode 100644
index 00000000..b21212a4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A collection of cpuburn programs tuned for different ARM hardware"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://cpuburn-a53.S;beginline=1;endline=22;md5=3b7ccd70144c16d3fe14ac491c2d4a87"
+
+RPROVIDES_${PN} = "cpuburn-neon"
+PROVIDES += "cpuburn-neon"
+
+SRCREV = "ad7e646700d14b81413297bda02fb7fe96613c3f"
+
+PV = "1.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/ssvb/cpuburn-arm.git \
+ file://0001-cpuburn-a8.S-Remove-.func-.endfunc.patch \
+ file://0002-burn.S-Add.patch \
+ file://0003-burn.S-Remove-.func-.endfunc.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+
+ # If the arch is set to ARM 64-bit - we only produce and ship burn-a53 version.
+ # In case of ARM 32-bit - we would build all variants, since burn-a53 supports both
+ # 32 and 64-bit builds
+ if ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'true', 'false', d)}; then
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53
+ else
+ ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a7.S -o burn-a7
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-a8
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a9.S -o burn-a9
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-krait.S -o burn-krait
+ fi
+}
+
+do_install() {
+ install -d ${D}${bindir}
+
+ if ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'true', 'false', d)}; then
+ install -m 0755 burn-a53 ${D}${bindir}
+ else
+ for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do
+ install -m 0755 $f ${D}${bindir}/$f
+ done
+ fi
+}
+
+COMPATIBLE_MACHINE ?= "(^$)"
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_armv7ve = "(.*)"
+COMPATIBLE_MACHINE_aarch64 = "(.*)"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb
deleted file mode 100644
index 14e3fc4f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "CPU burn app that loads the NEON coprocessor fully"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://burn.S;md5=823abc72c2cd448e87df9bc5355a4456"
-
-DL_DIR_append = "/${PN}-${PV}"
-
-# Ensure to make this available for machine which has neon
-COMPATIBLE_MACHINE = "(${@bb.utils.contains("TUNE_FEATURES", "neon", "${MACHINE}", "Invalid!", d)})"
-
-SRC_URI = "http://hardwarebug.org/files/burn.S;name=mru \
- https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb"
-
-SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456"
-SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2"
-SRC_URI[ssvb.md5sum] = "ba0ef2939a3b3b487523448c67544e94"
-SRC_URI[ssvb.sha256sum] = "ce42ebdc71c876a33d9f7534355ef76cefa0d00ddb19ad69cf05a266c861d08d"
-
-S = "${WORKDIR}"
-
-do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn
- ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-neona8
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/burn ${D}${bindir}/burn-neon
- install -m 0755 ${S}/burn-neona8 ${D}${bindir}/
-}
-
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-update-the-interpreter-paths.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-update-the-interpreter-paths.patch
index 327b9f5b..c9c3a08d 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-update-the-interpreter-paths.patch
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-update-the-interpreter-paths.patch
@@ -16,8 +16,7 @@ Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
tools/hist/fiologparser_hist.py | 2 +-
tools/hist/half-bins.py | 2 +-
tools/plot/fio2gnuplot | 2 +-
- t/steadystate_tests.py | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
+ 6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tools/fio_jsonplus_clat2csv b/tools/fio_jsonplus_clat2csv
index 78a007e5..0524b6e6 100755
@@ -79,16 +78,6 @@ index 4d1815cf..509141af 100755
# Note: this script is python2 and python3 compatible.
#
# Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
-diff --git a/t/steadystate_tests.py b/t/steadystate_tests.py
-index 50254dcc..95e7dfde 100755
---- a/t/steadystate_tests.py
-+++ b/t/steadystate_tests.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2.7
-+#!/usr/bin/env python
- # Note: this script is python2 and python 3 compatible.
- #
- # steadystate_tests.py
--
2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/python3_shebangs.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/python3_shebangs.patch
new file mode 100644
index 00000000..068b0216
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/fio/files/python3_shebangs.patch
@@ -0,0 +1,38 @@
+python3: change four shebangs to python3
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+--- a/tools/fio_jsonplus_clat2csv
++++ b/tools/fio_jsonplus_clat2csv
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # Note: this script is python2 and python3 compatible.
+ #
+ # fio_jsonplus_clat2csv
+--- a/tools/fiologparser.py
++++ b/tools/fiologparser.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # Note: this script is python2 and python 3 compatible.
+ #
+ # fiologparser.py
+--- a/tools/hist/fiologparser_hist.py
++++ b/tools/hist/fiologparser_hist.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ Utility for converting *_clat_hist* files generated by fio into latency statistics.
+
+--- a/tools/plot/fio2gnuplot
++++ b/tools/plot/fio2gnuplot
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # Note: this script is python2 and python3 compatible.
+ #
+ # Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.12.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.12.bb
deleted file mode 100644
index 2deb42db..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.12.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Filesystem and hardware benchmark and stress tool"
-DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
-stress/hardware verification. It has support for a number of I/O engines, \
-I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
-and much more. It can work on block devices as well as files. fio accepts \
-job descriptions in a simple-to-understand text format. Several example job \
-files are included. fio displays all sorts of I/O performance information."
-HOMEPAGE = "http://freecode.com/projects/fio"
-SECTION = "console/tests"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "libaio zlib"
-RDEPENDS_${PN} = "python bash"
-
-PACKAGECONFIG_NUMA = "numa"
-# ARM does not currently support NUMA
-PACKAGECONFIG_NUMA_arm = ""
-
-PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
-PACKAGECONFIG[numa] = ",--disable-numa,numactl"
-
-# rev for v3.8
-SRCREV = "16500b5a0b03ee0142d592bb74a46943a223b06e"
-SRC_URI = "git://git.kernel.dk/fio.git \
- file://0001-update-the-interpreter-paths.patch \
-"
-
-S = "${WORKDIR}/git"
-
-# avoids build breaks when using no-static-libs.inc
-DISABLE_STATIC = ""
-
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
-EXTRA_OECONF = "--disable-optimizations"
-
-do_configure() {
- ./configure ${EXTRA_OECONF}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
- install -d ${D}/${docdir}/${PN}
- cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.17.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.17.bb
new file mode 100644
index 00000000..759d1087
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.17.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Filesystem and hardware benchmark and stress tool"
+DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
+stress/hardware verification. It has support for a number of I/O engines, \
+I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
+and much more. It can work on block devices as well as files. fio accepts \
+job descriptions in a simple-to-understand text format. Several example job \
+files are included. fio displays all sorts of I/O performance information."
+HOMEPAGE = "http://freecode.com/projects/fio"
+SECTION = "console/tests"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libaio zlib coreutils-native"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}"
+RDEPENDS_${PN} = "python3-core bash"
+
+PACKAGECONFIG_NUMA = "numa"
+# ARM does not currently support NUMA
+PACKAGECONFIG_NUMA_arm = ""
+PACKAGECONFIG_NUMA_armeb = ""
+
+PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
+PACKAGECONFIG[numa] = ",--disable-numa,numactl"
+
+SRCREV = "08ce9dc20b8a4e55db7af6d869ddfa49b4a02d03"
+SRC_URI = "git://git.kernel.dk/fio.git \
+ file://0001-update-the-interpreter-paths.patch \
+ file://python3_shebangs.patch \
+"
+
+S = "${WORKDIR}/git"
+
+# avoids build breaks when using no-static-libs.inc
+DISABLE_STATIC = ""
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
+EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}"
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
+ install -d ${D}/${docdir}/${PN}
+ cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch
deleted file mode 100644
index cdf09fae..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 35e9f80518d666db5f9c62e8072ffbc307b4af4f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 26 Aug 2017 08:30:01 -0700
-Subject: [PATCH] Fix clang warnings
-
-../src/native-state-drm.cpp:334:20: error: cannot pass object of non-trivial type 'std::__cxx11::basic_string<char>' through variadic function; call will abort at runtime [-Wnon-pod-varargs]
- dev_path);
- ^
-1 error generated.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/native-state-drm.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/native-state-drm.cpp b/src/native-state-drm.cpp
-index dc2b323..62566ee 100644
---- a/src/native-state-drm.cpp
-+++ b/src/native-state-drm.cpp
-@@ -331,7 +331,7 @@ static int open_using_udev_scan()
- if (!valid_fd(fd)) {
- // %m is GLIBC specific... Maybe use strerror here...
- Log::error("Tried to use '%s' but failed.\nReason : %m",
-- dev_path);
-+ dev_path.c_str());
- }
- else
- Log::debug("Success!\n");
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch
deleted file mode 100644
index 7de05ee5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 9fb298c398f88a63d71432be1410d52fae089063 Mon Sep 17 00:00:00 2001
-From: Tom Hochstein <tom.hochstein@nxp.com>
-Date: Mon, 8 Aug 2016 11:39:54 -0500
-
----
- wscript | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/wscript b/wscript
-index ca843f4..eb4a26a 100644
---- a/wscript
-+++ b/wscript
-@@ -84,7 +84,7 @@ def configure(ctx):
- ctx.check_cc(lib = lib, uselib_store = uselib)
-
- # Check required functions
-- req_funcs = [('memset', 'string.h', []) ,('sqrt', 'math.h', ['m'])]
-+ req_funcs = [('memset', 'string.h', [])]
- for func, header, uselib in req_funcs:
- ctx.check_cc(function_name = func, header_name = header,
- uselib = uselib, mandatory = True)
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
deleted file mode 100644
index 72b8debe..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From: Otavio Salvador <otavio@ossystems.com.br>
-Subject: [PATCH] build: Check packages to be used by the enabled flavors
-Organization: O.S. Systems Software LTDA.
-
-The packages shouldn't be dynamically detected otherwise the build
-predictability is lost. We now have all packages as mandatory but
-dependent of the flavors which use them.
-
-Upstream-Status: Submitted [https://github.com/glmark2/glmark2/pull/8]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- wscript | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/wscript b/wscript
-index cab62a3..e7eaed0 100644
---- a/wscript
-+++ b/wscript
-@@ -121,13 +121,17 @@ def configure(ctx):
- ('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
-+ if not check:
-+ continue
-+
- if atleast is None:
- ctx.check_cfg(package = pkg, uselib_store = uselib,
-- args = '--cflags --libs', mandatory = mandatory)
-+ args = '--cflags --libs', mandatory = True)
- else:
- ctx.check_cfg(package = pkg, uselib_store = uselib, atleast_version=atleast,
-- args = '--cflags --libs', mandatory = mandatory)
-+ args = '--cflags --libs', mandatory = True)
-
-
- # Prepend CXX flags so that they can be overriden by the
---
-2.4.6
-
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2/python3.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2/python3.patch
new file mode 100644
index 00000000..df208cf8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2/python3.patch
@@ -0,0 +1,12 @@
+Use Python 3 instead of Python 2.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/waf b/waf
+index 6ce2a24..de3c898 100755
+--- a/waf
++++ b/waf
+@@ -1 +1 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index 99050e70..6d20bbda 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -10,20 +10,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
DEPENDS = "libpng jpeg udev"
-PV = "2017.07+${SRCPV}"
+PV = "20191226+${SRCPV}"
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '.*-linux*', 'null', d)}"
SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https \
- file://build-Check-packages-to-be-used-by-the-enabled-flavo.patch \
- file://Fix-configure-for-sqrt-check.patch \
- file://0001-Fix-clang-warnings.patch \
- "
-SRCREV = "ed20c633f1926d1dd78e3e89043c85a81302cbe6"
+ file://python3.patch"
+SRCREV = "72dabc5d72b49c6d45badeb8a941ba4d829b0bd6"
S = "${WORKDIR}/git"
-inherit waf pkgconfig distro_features_check
+inherit waf pkgconfig features_check
REQUIRED_DISTRO_FEATURES += "opengl"
@@ -31,9 +28,6 @@ PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl
${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', 'wayland-gl wayland-gles2', '', d)} \
drm-gl drm-gles2"
-# Enable C++11 features
-CXXFLAGS += "-std=c++11"
-
PACKAGECONFIG[x11-gl] = ",,virtual/libgl virtual/libx11"
PACKAGECONFIG[x11-gles2] = ",,virtual/libgles2 virtual/libx11"
PACKAGECONFIG[drm-gl] = ",,virtual/libgl libdrm virtual/libgbm"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/0001-let-system-headers-provide-pread64.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/0001-let-system-headers-provide-pread64.patch
new file mode 100644
index 00000000..a61a56a7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/0001-let-system-headers-provide-pread64.patch
@@ -0,0 +1,34 @@
+From 64389a67b93a53b9fb7e9e20e905a5ee4613606b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 15 Jan 2020 17:10:42 -0800
+Subject: [PATCH] let system headers provide pread64()
+
+The signature does not match with system headers anyway
+
+Fixes
+
+iozone.c:1270:9: error: redeclaration of 'pread64' must have the 'overloadable' attribute ssize_t pread64(); ^ /mnt/b/yoe/build/tmp/work/core2-64-yoe-linux/iozone3/488-r0/recipe-sysroot/usr/include/bits/unistd.h:83:1: note: previous overload of function is here pread64 (int __fd, void *const __clang_pass_object_size0 __buf, ^
+1 error generated.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ iozone.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/iozone.c b/iozone.c
+index 090dd5f..fdea400 100644
+--- a/iozone.c
++++ b/iozone.c
+@@ -1267,7 +1267,6 @@ int pit_gettimeofday();
+ #ifdef HAVE_ANSIC_C
+ #if defined (HAVE_PREAD) && defined(_LARGEFILE64_SOURCE)
+ ssize_t pwrite64();
+-ssize_t pread64();
+ #endif
+ #if !defined(linux)
+ char *getenv();
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_484.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_484.bb
deleted file mode 100644
index f218b87e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_484.bb
+++ /dev/null
@@ -1,119 +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=37;endline=48;md5=7331260091868dcad0f9edea735b5f4b \
- file://iozone.c;beginline=269;endline=275;md5=77f9ee51e45b57a7e7519c4fa0b4f00b \
-"
-SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
- file://parallelism.patch \
- file://copyright.txt \
-"
-SRC_URI[md5sum] = "aa6b88ab83793cb6809ca06949a6ab01"
-SRC_URI[sha256sum] = "e816e6ae2f02003f2a6d19d47fcd9a50fdd8078da4f35fe3d4b9caf91c3d7216"
-
-UPSTREAM_CHECK_REGEX = "iozone3_(?P<pver>\d+).tar"
-
-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/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_489.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_489.bb
new file mode 100644
index 00000000..e4b7e4f4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_489.bb
@@ -0,0 +1,121 @@
+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=276;endline=282;md5=77f9ee51e45b57a7e7519c4fa0b4f00b \
+"
+SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
+ file://parallelism.patch \
+ file://0001-let-system-headers-provide-pread64.patch \
+ file://copyright.txt \
+"
+SRC_URI[md5sum] = "e863281987689cd6d9729e535637b77d"
+SRC_URI[sha256sum] = "6155850d1019f2450dc926bbdb5a24abf423ee3bb928ab1e68569cf60a908584"
+
+UPSTREAM_CHECK_REGEX = "iozone3_(?P<pver>\d+).tar"
+
+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_powerpc64le = "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/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch
new file mode 100644
index 00000000..45c69ca0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch
@@ -0,0 +1,58 @@
+From 6df092a4153c6c37cfaddcabf2cd25a910a7f6e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Sep 2019 15:40:52 -0700
+Subject: [PATCH] Detect bool definition considering stdbool.h being present
+
+This helps in defining the value correctly on different platforms e.g.
+clang/libc++ depends on the definition coming from stdbool.h
+current builds fail to compile therefore
+
+TMPDIR/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/iperf2/2.0.13-r0/recipe-sysroot/usr/include/c++/v1/type_traits:742:29: error: redefinition of '__libcpp_is_integral<int>'
+template <> struct __libcpp_is_integral<int> : public true_type {};
+ ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ m4/dast.m4 | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/m4/dast.m4
++++ b/m4/dast.m4
+@@ -11,7 +11,12 @@ AH_TEMPLATE([false])
+
+ 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
+--- a/configure.ac
++++ b/configure.ac
+@@ -113,7 +113,7 @@ AC_SEARCH_LIBS([socket], [socket], [],
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS([arpa/inet.h libintl.h net/ethernet.h net/if.h linux/ip.h linux/udp.h linux/if_packet.h linux/filter.h netdb.h netinet/in.h stdlib.h string.h strings.h sys/socket.h sys/time.h syslog.h unistd.h signal.h ifaddrs.h])
++AC_CHECK_HEADERS([arpa/inet.h libintl.h net/ethernet.h net/if.h linux/ip.h linux/udp.h linux/if_packet.h linux/filter.h netdb.h netinet/in.h stdbool.h stdlib.h string.h strings.h sys/socket.h sys/time.h syslog.h unistd.h signal.h ifaddrs.h])
+
+ dnl ===================================================================
+ dnl Checks for typedefs, structures
+--- a/include/util.h
++++ b/include/util.h
+@@ -56,7 +56,9 @@
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+-
++#ifdef HAVE_STDBOOL_H
++# include <stdbool.h>
++#endif
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb
deleted file mode 100644
index 1322d078..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
-HOMEPAGE = "https://sourceforge.net/projects/iperf2/"
-SECTION = "console/network"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e136a7b2560d80bcbf0d9b3e1356ecff"
-
-SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf2/iperf-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "097cf0754bc1afa165975c06a91e6906"
-SRC_URI[sha256sum] = "7fe4348dcca313b74e0aa9c34a8ccd713b84a5615b8578f4aa94cedce9891ef2"
-
-S = "${WORKDIR}/iperf-${PV}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
new file mode 100644
index 00000000..4a520e3b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
+HOMEPAGE = "https://sourceforge.net/projects/iperf2/"
+SECTION = "console/network"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e136a7b2560d80bcbf0d9b3e1356ecff"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/iperf-${PV}.tar.gz \
+ file://0001-Detect-bool-definition-considering-stdbool.h-being-p.patch \
+"
+
+SRC_URI[md5sum] = "31ea1c6d5cbf80b16ff3abe4288dad5e"
+SRC_URI[sha256sum] = "c88adec966096a81136dda91b4bd19c27aae06df4d45a7f547a8e50d723778ad"
+
+S = "${WORKDIR}/iperf-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
index 06eb41ac..959e2938 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
@@ -1,31 +1,32 @@
-From 6db0e28f906bc3784019dfb5bb011237a8034fda Mon Sep 17 00:00:00 2001
+From 3ae408402635ea21ad90cd722c99ae3334376c91 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
+Subject: [PATCH] Remove -pg from profile_CFLAGS
musl fails to link with missing gcrt1.o
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.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
+index 5be8562..3881aa6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -49,9 +49,9 @@ iperf3_LDFLAGS = -g
+@@ -58,9 +58,9 @@ if ENABLE_PROFILING
iperf3_profile_SOURCES = main.c \
- $(libiperf_la_SOURCES)
+ $(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
+ endif
# Specify the sources and various flags for the test cases
- t_timer_SOURCES = t_timer.c
--
-2.13.3
+2.21.0
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch
deleted file mode 100644
index 06c394e5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Pass the 'foreign' option to automake to enable iperf3 to build.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Chunrong Guo <b40290@freescale.com>
-
---- a/configure.ac 2015-10-19 02:49:30.471867352 -0500
-+++ b/configure.ac 2015-10-19 02:46:36.207873572 -0500
-@@ -33,7 +33,7 @@
-
-
- # Initialize the automake system
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
- AM_MAINTAINER_MODE
- AM_CONFIG_HEADER(src/iperf_config.h)
-
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.6.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.6.bb
deleted file mode 100644
index 4e11d823..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.6.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Network benchmark tool"
-DESCRIPTION = "\
-iperf is a tool for active measurements of the maximum achievable bandwidth \
-on IP networks. It supports tuning of various parameters related to timing, \
-protocols, and buffers. For each test it reports the bandwidth, loss, and \
-other parameters."
-HOMEPAGE = "http://software.es.net/iperf/"
-SECTION = "console/network"
-BUGTRACKER = "https://github.com/esnet/iperf/issues"
-AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a9a036136b748453e839c0eb8906ef2e"
-
-DEPENDS = "openssl"
-
-SRC_URI = "git://github.com/esnet/iperf.git \
- file://automake-foreign.patch \
- file://0002-Remove-pg-from-profile_CFLAGS.patch \
- "
-
-SRCREV = "88f3ad87f38762081a6d7127890ff5c3a052b06a"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-EXTRA_OECONF = "--with-openssl=${RECIPE_SYSROOT}${prefix}"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
new file mode 100644
index 00000000..98d2faab
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Network benchmark tool"
+DESCRIPTION = "\
+iperf is a tool for active measurements of the maximum achievable bandwidth \
+on IP networks. It supports tuning of various parameters related to timing, \
+protocols, and buffers. For each test it reports the bandwidth, loss, and \
+other parameters."
+HOMEPAGE = "http://software.es.net/iperf/"
+SECTION = "console/network"
+BUGTRACKER = "https://github.com/esnet/iperf/issues"
+AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9088fe7ffdccd042f7645f1012d7f70"
+
+DEPENDS = "openssl"
+
+SRC_URI = "git://github.com/esnet/iperf.git \
+ file://0002-Remove-pg-from-profile_CFLAGS.patch \
+ "
+
+SRCREV = "dfcea9f6a09ead01089a3c9d20c7032f2c0af2c1"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+EXTRA_OECONF = "--with-openssl=${RECIPE_SYSROOT}${prefix}"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb
deleted file mode 100644
index f534c73b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Tests to compare standard functions of different libc implementations"
-DESCRIPTION = "libc-bench is a set of time- and memory-efficiency tests to compare \
-implementations of various C/POSIX standard library functions."
-HOMEPAGE = "http://www.etalabs.net/libc-bench.html"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://Makefile;md5=e12f113da27dfe9cfb6c2c537da8d8df"
-
-SRC_URI = "http://www.etalabs.net/releases/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "f763de90f95fe68e4e03e5b6f49698ac"
-SRC_URI[sha256sum] = "6825260aa5f15f4fbc7957ec578e9c859cbbe210e025ec74c4a0d05677523794"
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 ${B}/libc-bench ${D}${bindir}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb
new file mode 100644
index 00000000..e8138943
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tests to compare standard functions of different libc implementations"
+DESCRIPTION = "libc-bench is a set of time- and memory-efficiency tests to compare \
+implementations of various C/POSIX standard library functions."
+HOMEPAGE = "http://www.etalabs.net/libc-bench.html"
+SECTION = "console/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9a825c63897c53f487ef900598c31527"
+
+SRCREV = "b6b2ce5f9f87a09b14499cb00c600c601f022634"
+PV = "20110206+git${SRCPV}"
+
+SRC_URI = "git://git.musl-libc.org/libc-bench \
+ "
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/libc-bench ${D}${bindir}
+}
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-huge_page_setup_helper-use-python3-interpreter.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-huge_page_setup_helper-use-python3-interpreter.patch
new file mode 100644
index 00000000..e45f283b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-huge_page_setup_helper-use-python3-interpreter.patch
@@ -0,0 +1,29 @@
+From b77c61de4d88d2c6e5d31f4f5a5877cc4c61272e Mon Sep 17 00:00:00 2001
+From: Andrey Zhizhikin <andrey.z@gmail.com>
+Date: Mon, 27 Jan 2020 17:27:55 +0000
+Subject: [PATCH] huge_page_setup_helper: use python3 interpreter
+
+Setup helper script is already prepared to be used with python3, use the
+interpreter explicitly. This removes dependency to python2 and will not
+fail the QA check.
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+---
+ huge_page_setup_helper.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/huge_page_setup_helper.py b/huge_page_setup_helper.py
+index a9ba2bf..7ba0c92 100755
+--- a/huge_page_setup_helper.py
++++ b/huge_page_setup_helper.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/env python3
+
+ #
+ # Tool to set up Linux large page support with minimal effort
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch
index 53f35abb..83934abe 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch
@@ -10,15 +10,20 @@ Upstream-Status: Submitted
Signed-off-by: Ting Liu <b28495@freescale.com>
+Update for 2.22.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+
+Update to work for python3
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
tests/run_tests.py | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/tests/run_tests.py b/tests/run_tests.py
-index 3c95a03..560df6b 100755
+index 018264d..0aabcd1 100755
--- a/tests/run_tests.py
+++ b/tests/run_tests.py
-@@ -234,9 +234,19 @@ def get_pagesizes():
+@@ -245,9 +245,19 @@ def get_pagesizes():
Use libhugetlbfs' hugeadm utility to get a list of page sizes that have
active mount points and at least one huge page allocated to the pool.
"""
@@ -34,8 +39,11 @@ index 3c95a03..560df6b 100755
+ return sizes
+ except OSError:
+ return sizes
-+ out = p.stdout.read().strip()
++ out = p.stdout.read().decode().strip()
+
- if rc != 0 or out == "": return sizes
+ if rc != 0 or out == "":
+ return sizes
- for size in out.split("\n"): sizes.add(int(size))
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-add-explicit-permissions-to-open-call.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-add-explicit-permissions-to-open-call.patch
new file mode 100644
index 00000000..9d52b908
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-add-explicit-permissions-to-open-call.patch
@@ -0,0 +1,41 @@
+From d07d2f9601b49bb72cd4b36838f0c238bd1b0fc1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 15 Jan 2020 18:45:09 -0800
+Subject: [PATCH] tests: add explicit permissions to open() call
+
+Fixes
+gethugepagesizes.c:227:35: error: open with O_CREAT in second argument needs 3 arguments
+| fd = open(fname, O_WRONLY|O_CREAT);
+| ^
+
+Upstream-Status: Submitted [https://groups.google.com/forum/#!topic/libhugetlbfs/anNtDXbQKro]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/gethugepagesizes.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/gethugepagesizes.c b/tests/gethugepagesizes.c
+index 9551b38..5777265 100644
+--- a/tests/gethugepagesizes.c
++++ b/tests/gethugepagesizes.c
+@@ -223,7 +223,7 @@ void setup_fake_data(long sizes[], int n_elem)
+ FAIL("mkdtemp: %s", strerror(errno));
+
+ sprintf(fname, "%s/meminfo-none", fake_meminfo);
+- fd = open(fname, O_WRONLY|O_CREAT);
++ fd = open(fname, O_WRONLY|O_CREAT, 0600);
+ if (fd < 0)
+ FAIL("open: %s", strerror(errno));
+ if (write(fd, meminfo_base,
+@@ -233,7 +233,7 @@ void setup_fake_data(long sizes[], int n_elem)
+ FAIL("close: %s", strerror(errno));
+
+ sprintf(fname, "%s/meminfo-hugepages", fake_meminfo);
+- fd = open(fname, O_WRONLY|O_CREAT);
++ fd = open(fname, O_WRONLY|O_CREAT, 0600);
+ if (fd < 0)
+ FAIL("open: %s", strerror(errno));
+ if (write(fd, meminfo_base,
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch
index 08174200..e736cbc7 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch
@@ -8,12 +8,14 @@ error: unknown type name 'ino_t'; did you mean 'int'?
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Update for 2.22.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
tests/hugetests.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/hugetests.h b/tests/hugetests.h
-index 8b1d8d9..056042c 100644
+index bc4e16a..fbe4dc0 100644
--- a/tests/hugetests.h
+++ b/tests/hugetests.h
@@ -22,6 +22,7 @@
@@ -21,6 +23,9 @@ index 8b1d8d9..056042c 100644
#include <errno.h>
#include <string.h>
+#include <dirent.h>
+ #include <unistd.h>
#include "libhugetlbfs_privutils.h"
- #include "libhugetlbfs_testprobes.h"
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index 66fd8e21..4768d7b6 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -4,13 +4,13 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "sysfsutils"
-RDEPENDS_${PN} += "bash python python-io python-lang python-subprocess python-resource"
-RDEPENDS_${PN}-tests += "bash"
+RDEPENDS_${PN} += "bash python3-core"
+RDEPENDS_${PN}-tests += "bash python3-core"
-PV = "2.21"
+PV = "2.22"
PE = "1"
-SRCREV = "73d06e69108f231696e9c5c44f4b42690fc5d752"
+SRCREV = "e6499ff92b4a7dcffbd131d1f5d24933e48c3f20"
SRC_URI = " \
git://github.com/libhugetlbfs/libhugetlbfs.git;protocol=https \
file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \
@@ -24,6 +24,8 @@ SRC_URI = " \
file://0004-shm.c-Mark-glibc-specific-changes-so.patch \
file://0005-Include-dirent.h-for-ino_t.patch \
file://0006-include-limits.h-for-PATH_MAX.patch \
+ file://0001-tests-add-explicit-permissions-to-open-call.patch \
+ file://0001-huge_page_setup_helper-use-python3-interpreter.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
@@ -36,6 +38,7 @@ LIBARGS = "LIB32=${baselib} LIB64=${baselib}"
LIBHUGETLBFS_ARCH = "${TARGET_ARCH}"
LIBHUGETLBFS_ARCH_powerpc = "ppc"
LIBHUGETLBFS_ARCH_powerpc64 = "ppc64"
+LIBHUGETLBFS_ARCH_powerpc64le = "ppc64"
EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2"
PARALLEL_MAKE = ""
CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run b/external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run
index e904c75e..2716bf93 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run
@@ -4,7 +4,6 @@
# Javier Fernandez-Sanguino.
# Distributed under the GPL
SHAREDIR=/usr/share/lmbench/
-BINDIR=/usr/lib/lmbench/
SCRIPTSDIR=$SHAREDIR/scripts
RESULTSDIR=$SHAREDIR/results
CONFIG=/var/lib/lmbench/config/`$SCRIPTSDIR/config`
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index 8e6e803a..7e20b7da 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -54,7 +54,7 @@ do_compile () {
do_install () {
install -d ${D}${sysconfdir}/default/volatiles \
- ${D}${bindir} ${D}${mandir} ${D}${libdir}/lmbench \
+ ${D}${bindir} ${D}${mandir} \
${D}${datadir}/lmbench/scripts
echo "d root root 0755 ${localstatedir}/run/${BPN} none" \
@@ -71,7 +71,6 @@ do_install () {
mv ${D}${bindir}/line ${D}${bindir}/lm_line
install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \
- -e 's,^BINDIR=.*$,BINDIR=${libdir}/${BPN},;' \
-e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \
${D}${bindir}/lmbench-run
install -m 0755 ${S}/scripts/lmbench ${D}${bindir}
@@ -89,4 +88,4 @@ pkg_postinst_${PN} () {
}
RDEPENDS_${PN} = "perl"
-FILES_${PN} += "${datadir}/lmbench ${libdir}/lmbench"
+FILES_${PN} += "${datadir}/lmbench"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
index 22bb0416..b4d55be1 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
@@ -7,7 +7,7 @@ LICENSE = "nbench-byte"
LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f"
SECTION = "console/utils"
-SRC_URI = "https://fossies.org/linux/misc/${BP}.tar.gz \
+SRC_URI = "https://fossies.org/linux/misc/old/${BP}.tar.gz \
file://nbench_32bits.patch \
file://Makefile-add-more-dependencies-to-pointer.h.patch"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.0.1.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.0.1.bb
deleted file mode 100644
index b1fa51bf..00000000
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.0.1.bb
+++ /dev/null
@@ -1,41 +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] = "3dc3a0e490e909f188379a9e05fd4780"
-SRC_URI[sha256sum] = "6306549109c7254baf31edb385265b19557b5692217d2dfcf96f6fb17de8e842"
-
-S = "${WORKDIR}/phoronix-test-suite"
-
-inherit systemd allarch
-
-do_install() {
- DESTDIR=${D} ./install-sh ${exec_prefix}
-
- if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
- install -d ${D}/${systemd_unitdir}/system/
- mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
- rm -rf ${D}/usr/lib/
- fi
-}
-
-# It is not advisable to enable these services by default since they can cause
-# continual target reboots if they encounter network problems.
-#
-SYSTEMD_AUTO_ENABLE = "disable"
-SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
-
-RDEPENDS_${PN} += "bash python php-cli util-linux-lscpu os-release lsb"
-
-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/external/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb
new file mode 100644
index 00000000..4a8e5b5b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Phoronix Test Suite"
+DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
+and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "console/tests"
+
+SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
+SRC_URI[md5sum] = "ad80ed9a5835929138473f764ff0d5db"
+SRC_URI[sha256sum] = "675e7ca96719e2f3b42a6c13421213a398f04da0f8e78f4691fa9261fdeb8501"
+
+S = "${WORKDIR}/phoronix-test-suite"
+
+inherit systemd allarch mime mime-xdg
+
+do_install() {
+ DESTDIR=${D} ./install-sh ${exec_prefix}
+
+ if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
+ install -d ${D}/${systemd_unitdir}/system/
+ mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
+ rm -rf ${D}/usr/lib/
+ fi
+}
+
+# It is not advisable to enable these services by default since they can cause
+# continual target reboots if they encounter network problems.
+#
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
+
+RDEPENDS_${PN} += "bash python3-core php-cli util-linux-lscpu os-release lsb-release"
+
+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/external/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
index 77d17281..d6852e29 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
@@ -2,8 +2,8 @@ SUMMARY = "Small collection of benchmarks for storage I/O"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3"
-SRCREV = "79698f645bfb28d0d966484ddad3a1efb562246d"
-PV = "0.0+git${SRCPV}"
+SRCREV = "f97f1ae321d1fb8111a2c638075702ed2512ff07"
+PV = "3.6"
SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
@@ -17,11 +17,14 @@ do_install() {
install -m0755 -p ${S}/$(basename $i)/* ${D}/opt/S-suite/$(basename $i)
done
+ install -m0755 ${S}/def_config.sh ${D}/opt/S-suite
install -m0755 ${S}/config_params.sh ${D}/opt/S-suite
- install -m0755 ${S}/def_config_params.sh ${D}/opt/S-suite
+ install -m0755 ${S}/create_config.sh ${D}/opt/S-suite
+ install -m0755 ${S}/process_config.sh ${D}/opt/S-suite
}
-RDEPENDS_${PN} = "bash bc coreutils gawk g++ gcc fio libaio libaio-dev sysstat"
+RDEPENDS_${PN} = "bash bc coreutils gawk g++ gcc fio libaio libaio-dev sysstat \
+ git"
FILES_${PN} = "/opt/S-suite/"
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
new file mode 100644
index 00000000..f5e7da35
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
@@ -0,0 +1,28 @@
+Fix compile on sytems using libc++ instead of libstdc++
+
+libc++ does not really implement __gnu_cxx namespace and it
+compiles fine without this namespace, therefore detect libc++
+and if it is used them exclude this namespace
+
+See https://github.com/stressapptest/stressapptest/issues/47
+
+Fixes
+
+./sattypes.h:33:17: error: expected namespace name
+using namespace __gnu_cxx; //NOLINT
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- stressapptest-1.0.9.orig/src/sattypes.h
++++ stressapptest-1.0.9/src/sattypes.h
+@@ -30,7 +30,9 @@
+ #include "stressapptest_config_android.h" // NOLINT
+ #else
+ #include "stressapptest_config.h" // NOLINT
++#ifndef _LIBCPP_VERSION
+ using namespace __gnu_cxx; //NOLINT
++#endif // _LIBCPP_VERSION
+ #endif // __ANDROID__
+ using namespace std;
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
new file mode 100644
index 00000000..8c251aeb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
@@ -0,0 +1,72 @@
+sysconf params like _SC_LEVEL1_DCACHE_LINESIZE are not universally
+implemented, therefore check for them being available, if not there
+then read the sysfs directly to get the value
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/sat.cc
++++ b/src/sat.cc
+@@ -1482,15 +1482,47 @@ int Sat::CpuCount() {
+ return sysconf(_SC_NPROCESSORS_CONF);
+ }
+
++int Sat::ReadInt(const char *filename, int *value) {
++ char line[64];
++ int fd = open(filename, O_RDONLY), err = -1;
++
++ if (fd < 0)
++ return -1;
++ if (read(fd, line, sizeof(line)) > 0) {
++ *value = atoi(line);
++ err = 0;
++ }
++
++ close(fd);
++ return err;
++}
++
+ // Return the worst case (largest) cache line size of the various levels of
+ // cache actually prsent in the machine.
+ int Sat::CacheLineSize() {
+- int max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
+- int linesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE);
++ int max_linesize, linesize;
++#ifdef _SC_LEVEL1_DCACHE_LINESIZE
++ max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
++#else
++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", &max_linesize);
++#endif
++#ifdef _SC_LEVEL2_DCACHE_LINESIZE
++ linesize = sysconf(_SC_LEVEL2_DCACHE_LINESIZE);
++#else
++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size", &linesize);
++#endif
+ if (linesize > max_linesize) max_linesize = linesize;
+- linesize = sysconf(_SC_LEVEL3_CACHE_LINESIZE);
++#ifdef _SC_LEVEL3_DCACHE_LINESIZE
++ linesize = sysconf(_SC_LEVEL3_DCACHE_LINESIZE);
++#else
++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size", &linesize);
++#endif
+ if (linesize > max_linesize) max_linesize = linesize;
+- linesize = sysconf(_SC_LEVEL4_CACHE_LINESIZE);
++#ifdef _SC_LEVEL4_DCACHE_LINESIZE
++ linesize = sysconf(_SC_LEVEL4_DCACHE_LINESIZE);
++#else
++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index3/coherency_line_size", &linesize);
++#endif
+ if (linesize > max_linesize) max_linesize = linesize;
+ return max_linesize;
+ }
+--- a/src/sat.h
++++ b/src/sat.h
+@@ -136,7 +136,8 @@ class Sat {
+ int CpuCount();
+ // Return the worst-case (largest) cache line size of the system.
+ int CacheLineSize();
+-
++ // Read int values from kernel file system e.g. sysfs
++ int ReadInt(const char *filename, int *value);
+ // Collect error counts from threads.
+ int64 GetTotalErrorCount();
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb
new file mode 100644
index 00000000..a2966e99
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Stressful Application Test"
+DESCRIPTION = "Stressful Application Test (or stressapptest, its unix name) \
+ is a memory interface test. It tries to maximize randomized traffic to memory \
+ from processor and I/O, with the intent of creating a realistic high load \
+ situation in order to test the existing hardware devices in a computer. \
+"
+HOMEPAGE = "https://github.com/stressapptest/stressapptest"
+SECTION = "benchmark"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55ea9d559f985fb4834317d8ed6b9e58"
+
+SRCREV = "fb72e5e5f0879231f38e0e826a98a6ca2d1ca38e"
+
+SRC_URI = "git://github.com/stressapptest/stressapptest \
+ file://libcplusplus-compat.patch \
+ file://read_sysfs_for_cachesize.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch b/external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch
new file mode 100644
index 00000000..c0907007
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch
@@ -0,0 +1,444 @@
+From b0a64ddebb517a1678c44d9baf24d8bbe39d02cd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 13:15:07 -0800
+Subject: [PATCH] asm: Delete .func/.endfunc directives
+
+These are useful only with stabs debug format, which is not used on
+linux systems, gas ignores them silently, but clang assembler does not
+and rightly so.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ aarch64-asm.S | 14 +-------------
+ arm-neon.S | 24 ------------------------
+ mips-32.S | 5 ++---
+ x86-sse2.S | 21 ++++++++++-----------
+ 4 files changed, 13 insertions(+), 51 deletions(-)
+
+diff --git a/aarch64-asm.S b/aarch64-asm.S
+index 842b9e2..165c8ac 100644
+--- a/aarch64-asm.S
++++ b/aarch64-asm.S
+@@ -31,8 +31,7 @@
+
+ .macro asm_function function_name
+ .global \function_name
+- .type \function_name,%function
+-.func \function_name
++ .type \function_name,%function
+ \function_name:
+ DST .req x0
+ SRC .req x1
+@@ -54,7 +53,6 @@ asm_function aligned_block_copy_ldpstp_x_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_copy_ldpstp_q_aarch64
+ 0:
+@@ -67,7 +65,6 @@ asm_function aligned_block_copy_ldpstp_q_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_copy_ldpstp_q_pf32_l2strm_aarch64
+ 0:
+@@ -82,7 +79,6 @@ asm_function aligned_block_copy_ldpstp_q_pf32_l2strm_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_copy_ldpstp_q_pf64_l2strm_aarch64
+ 0:
+@@ -96,7 +92,6 @@ asm_function aligned_block_copy_ldpstp_q_pf64_l2strm_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_copy_ldpstp_q_pf32_l1keep_aarch64
+ 0:
+@@ -111,7 +106,6 @@ asm_function aligned_block_copy_ldpstp_q_pf32_l1keep_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_copy_ldpstp_q_pf64_l1keep_aarch64
+ 0:
+@@ -125,7 +119,6 @@ asm_function aligned_block_copy_ldpstp_q_pf64_l1keep_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_fill_stp_x_aarch64
+ 0:
+@@ -137,7 +130,6 @@ asm_function aligned_block_fill_stp_x_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_fill_stp_q_aarch64
+ 0:
+@@ -147,7 +139,6 @@ asm_function aligned_block_fill_stp_q_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_fill_stnp_x_aarch64
+ 0:
+@@ -159,7 +150,6 @@ asm_function aligned_block_fill_stnp_x_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_fill_stnp_q_aarch64
+ 0:
+@@ -169,7 +159,6 @@ asm_function aligned_block_fill_stnp_q_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ asm_function aligned_block_copy_ld1st1_aarch64
+ 0:
+@@ -180,6 +169,5 @@ asm_function aligned_block_copy_ld1st1_aarch64
+ subs SIZE, SIZE, #64
+ bgt 0b
+ ret
+-.endfunc
+
+ #endif
+diff --git a/arm-neon.S b/arm-neon.S
+index 4db78ce..9631d82 100644
+--- a/arm-neon.S
++++ b/arm-neon.S
+@@ -32,7 +32,6 @@
+
+ .macro asm_function function_name
+ .global \function_name
+-.func \function_name
+ \function_name:
+ DST .req r0
+ SRC .req r1
+@@ -66,7 +65,6 @@ asm_function aligned_block_read_neon
+ vpadd.u32 d31, d31, d31
+ vmov.u32 r0, d31[0]
+ bx lr
+-.endfunc
+
+ /* Actually this calculates a sum of 32-bit values */
+ asm_function aligned_block_read_pf32_neon
+@@ -97,7 +95,6 @@ asm_function aligned_block_read_pf32_neon
+ vpadd.u32 d31, d31, d31
+ vmov.u32 r0, d31[0]
+ bx lr
+-.endfunc
+
+ /* Actually this calculates a sum of 32-bit values */
+ asm_function aligned_block_read_pf64_neon
+@@ -127,7 +124,6 @@ asm_function aligned_block_read_pf64_neon
+ vpadd.u32 d31, d31, d31
+ vmov.u32 r0, d31[0]
+ bx lr
+-.endfunc
+
+ /* Actually this calculates a sum of 32-bit values */
+ asm_function aligned_block_read2_neon
+@@ -156,7 +152,6 @@ asm_function aligned_block_read2_neon
+ vpadd.u32 d31, d31, d31
+ vmov.u32 r0, d31[0]
+ bx lr
+-.endfunc
+
+ /* Actually this calculates a sum of 32-bit values */
+ asm_function aligned_block_read2_pf32_neon
+@@ -187,7 +182,6 @@ asm_function aligned_block_read2_pf32_neon
+ vpadd.u32 d31, d31, d31
+ vmov.u32 r0, d31[0]
+ bx lr
+-.endfunc
+
+ /* Actually this calculates a sum of 32-bit values */
+ asm_function aligned_block_read2_pf64_neon
+@@ -217,7 +211,6 @@ asm_function aligned_block_read2_pf64_neon
+ vpadd.u32 d31, d31, d31
+ vmov.u32 r0, d31[0]
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_neon
+ 0:
+@@ -226,7 +219,6 @@ asm_function aligned_block_copy_neon
+ subs SIZE, SIZE, #32
+ bgt 0b
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_unrolled_neon
+ vpush {d8-d15}
+@@ -244,7 +236,6 @@ asm_function aligned_block_copy_unrolled_neon
+ bgt 0b
+ vpop {d8-d15}
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_pf32_neon
+ 0:
+@@ -254,7 +245,6 @@ asm_function aligned_block_copy_pf32_neon
+ subs SIZE, SIZE, #32
+ bgt 0b
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_unrolled_pf32_neon
+ vpush {d8-d15}
+@@ -280,7 +270,6 @@ asm_function aligned_block_copy_unrolled_pf32_neon
+ bgt 0b
+ vpop {d8-d15}
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_pf64_neon
+ 0:
+@@ -292,7 +281,6 @@ asm_function aligned_block_copy_pf64_neon
+ subs SIZE, SIZE, #64
+ bgt 0b
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_unrolled_pf64_neon
+ vpush {d8-d15}
+@@ -314,7 +302,6 @@ asm_function aligned_block_copy_unrolled_pf64_neon
+ bgt 0b
+ vpop {d8-d15}
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_backwards_neon
+ add SRC, SRC, SIZE
+@@ -328,7 +315,6 @@ asm_function aligned_block_copy_backwards_neon
+ subs SIZE, SIZE, #32
+ bgt 0b
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_backwards_pf32_neon
+ add SRC, SRC, SIZE
+@@ -343,7 +329,6 @@ asm_function aligned_block_copy_backwards_pf32_neon
+ subs SIZE, SIZE, #32
+ bgt 0b
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_copy_backwards_pf64_neon
+ add SRC, SRC, SIZE
+@@ -360,7 +345,6 @@ asm_function aligned_block_copy_backwards_pf64_neon
+ subs SIZE, SIZE, #64
+ bgt 0b
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_fill_neon
+ vld1.8 {d0, d1, d2, d3}, [SRC]!
+@@ -370,7 +354,6 @@ asm_function aligned_block_fill_neon
+ subs SIZE, SIZE, #64
+ bgt 0b
+ bx lr
+-.endfunc
+
+ asm_function aligned_block_fill_backwards_neon
+ add SRC, SRC, SIZE
+@@ -383,7 +366,6 @@ asm_function aligned_block_fill_backwards_neon
+ subs SIZE, SIZE, #32
+ bgt 0b
+ bx lr
+-.endfunc
+
+ /* some code for older ARM processors */
+
+@@ -398,7 +380,6 @@ asm_function aligned_block_fill_stm4_armv4
+ subs SIZE, SIZE, #64
+ bgt 0b
+ pop {r4-r12, pc}
+-.endfunc
+
+ asm_function aligned_block_fill_stm8_armv4
+ push {r4-r12, lr}
+@@ -409,7 +390,6 @@ asm_function aligned_block_fill_stm8_armv4
+ subs SIZE, SIZE, #64
+ bgt 0b
+ pop {r4-r12, pc}
+-.endfunc
+
+ asm_function aligned_block_fill_strd_armv5te
+ push {r4-r12, lr}
+@@ -426,7 +406,6 @@ asm_function aligned_block_fill_strd_armv5te
+ subs SIZE, SIZE, #64
+ bgt 0b
+ pop {r4-r12, pc}
+-.endfunc
+
+ asm_function aligned_block_copy_incr_armv5te
+ push {r4-r12, lr}
+@@ -442,7 +421,6 @@ asm_function aligned_block_copy_incr_armv5te
+ stmia DST!, {r8-r11}
+ bgt 0b
+ pop {r4-r12, pc}
+-.endfunc
+
+ asm_function aligned_block_copy_wrap_armv5te
+ push {r4-r12, lr}
+@@ -458,7 +436,6 @@ asm_function aligned_block_copy_wrap_armv5te
+ stmia DST!, {r8-r11}
+ bgt 0b
+ pop {r4-r12, pc}
+-.endfunc
+
+ asm_function aligned_block_copy_vfp
+ push {r4-r12, lr}
+@@ -470,6 +447,5 @@ asm_function aligned_block_copy_vfp
+ bgt 0b
+ vpop {d8-d15}
+ pop {r4-r12, pc}
+-.endfunc
+
+ #endif
+diff --git a/mips-32.S b/mips-32.S
+index 17b2b7f..4f7ddae 100644
+--- a/mips-32.S
++++ b/mips-32.S
+@@ -32,7 +32,6 @@
+ .macro asm_function function_name
+ .global \function_name
+ .type \function_name, @function
+- .func \function_name
+ \function_name:
+ .endm
+
+@@ -93,7 +92,7 @@ asm_function aligned_block_fill_pf32_mips32
+ 2:
+ jr $ra
+ nop
+-.endfunc
++
+
+ /*
+ * void aligned_block_copy_pf32_mips32(int64_t *dst, int64_t *src, int size)
+@@ -178,6 +177,6 @@ asm_function aligned_block_copy_pf32_mips32
+ lw $s7, 28($sp)
+ jr $ra
+ addi $sp, $sp, 32
+-.endfunc
++
+
+ #endif
+diff --git a/x86-sse2.S b/x86-sse2.S
+index d8840e4..409031b 100644
+--- a/x86-sse2.S
++++ b/x86-sse2.S
+@@ -30,7 +30,6 @@
+
+ .macro asm_function_helper function_name
+ .global \function_name
+-.func \function_name
+ \function_name:
+ #ifdef __amd64__
+ #ifdef _WIN64
+@@ -90,7 +89,7 @@ asm_function aligned_block_copy_movsb
+ pop3 edi esi ecx
+ #endif
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_copy_movsd
+ 0:
+@@ -110,7 +109,7 @@ asm_function aligned_block_copy_movsd
+ pop3 edi esi ecx
+ #endif
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_copy_sse2
+ 0:
+@@ -127,7 +126,7 @@ asm_function aligned_block_copy_sse2
+ sub SIZE, 64
+ jg 0b
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_copy_nt_sse2
+ 0:
+@@ -144,7 +143,7 @@ asm_function aligned_block_copy_nt_sse2
+ sub SIZE, 64
+ jg 0b
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_copy_pf32_sse2
+ 0:
+@@ -163,7 +162,7 @@ asm_function aligned_block_copy_pf32_sse2
+ sub SIZE, 64
+ jg 0b
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_copy_nt_pf32_sse2
+ 0:
+@@ -182,7 +181,7 @@ asm_function aligned_block_copy_nt_pf32_sse2
+ sub SIZE, 64
+ jg 0b
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_copy_pf64_sse2
+ 0:
+@@ -200,7 +199,7 @@ asm_function aligned_block_copy_pf64_sse2
+ sub SIZE, 64
+ jg 0b
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_copy_nt_pf64_sse2
+ 0:
+@@ -218,7 +217,7 @@ asm_function aligned_block_copy_nt_pf64_sse2
+ sub SIZE, 64
+ jg 0b
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_fill_sse2
+ movdqa xmm0, [SRC + 0]
+@@ -231,7 +230,7 @@ asm_function aligned_block_fill_sse2
+ sub SIZE, 64
+ jg 0b
+ ret
+-.endfunc
++
+
+ asm_function aligned_block_fill_nt_sse2
+ movdqa xmm0, [SRC + 0]
+@@ -244,7 +243,7 @@ asm_function aligned_block_fill_nt_sse2
+ sub SIZE, 64
+ jg 0b
+ ret
+-.endfunc
++
+
+ /*****************************************************************************/
+
diff --git a/external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
index 8cb59da7..2ce10f9c 100644
--- a/external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
@@ -8,8 +8,10 @@ LIC_FILES_CHKSUM = "file://main.c;endline=22;md5=879b9bbb60851454885b5fa47eb6b34
PV = "0.4.0+git${SRCPV}"
-SRCREV = "2c789849709d837b4bd114c11ed2d9bdc65afbc6"
-SRC_URI = "git://github.com/ssvb/tinymembench.git"
+SRCREV = "a2cf6d7e382e3aea1eb39173174d9fa28cad15f3"
+SRC_URI = "git://github.com/ssvb/tinymembench.git \
+ file://0001-asm-Delete-.func-.endfunc-directives.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb b/external/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
index 2c0914d3..b89fe677 100644
--- a/external/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
@@ -30,8 +30,13 @@ RDEPENDS_${PN}_arm = "dmidecode"
RDEPENDS_${PN}_aarch64 = "dmidecode"
RDEPENDS_${PN}_powerpc = "dmidecode"
RDEPENDS_${PN}_powerpc64 = "dmidecode"
+RDEPENDS_${PN}_powerpc64le = "dmidecode"
RDEPENDS_${PN}_append = " \
- perl-module-file-basename perl-module-file-find perl-module-getopt-long perl-module-posix \
+ perl \
+ perl-module-file-basename \
+ perl-module-file-find \
+ perl-module-getopt-long \
+ perl-module-posix \
perl-module-overload \
perl-module-overloading \
perl-module-file-glob \
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.16.bb b/external/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.16.bb
deleted file mode 100644
index 6497e092..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.16.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager."
-SUMMARY = "EFI Boot Manager"
-HOMEPAGE = "https://github.com/rhinstaller/efibootmgr"
-SECTION = "base"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-DEPENDS = "pciutils zlib efivar"
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-
-SRCREV = "a5103251a11663adddc85c86e0b8d3d3b73cbb4a"
-SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
- "
-S = "${WORKDIR}/git"
-
-inherit pkgconfig
-
-EXTRA_OEMAKE = "'EFIDIR=/' 'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/include `pkg-config --cflags efivar`'"
-
-CFLAGS_append_toolchain-clang = " -Wno-error"
-do_install () {
- install -D -p -m0755 ${B}/src/efibootmgr ${D}/${sbindir}/efibootmgr
-}
-
-CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch b/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
deleted file mode 100644
index 251e50c9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a9115d9e6f0f62d6bb735ce3698858d1f89f8d73 Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Fri, 25 Sep 2015 18:14:31 +0800
-Subject: [PATCH] efivar: fix for cross compile
-
-It builds and calls elf file makeguids to generate a header file which
-doesn't work for cross compile. Fix it.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Upstream-Status: Pending
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- src/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 0c16597..dcc7fc8 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -40,8 +40,8 @@ abicheck : $(patsubst %.so,%.abicheck,$(LIBTARGETS))
- ./guid-symbols.c : include/efivar/efivar-guids.h
- ./guids.bin : include/efivar/efivar-guids.h
- ./names.bin : include/efivar/efivar-guids.h
--include/efivar/efivar-guids.h : makeguids guids.txt
-- ./makeguids guids.txt guids.bin names.bin \
-+include/efivar/efivar-guids.h : guids.txt
-+ makeguids guids.txt guids.bin names.bin \
- guid-symbols.c include/efivar/efivar-guids.h
-
- makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch b/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
deleted file mode 100644
index 96d0c6b3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From b3d35e7dd27a755df5acbe050837885914dbb28b Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 10 May 2016 11:34:50 -0400
-Subject: [PATCH] fix unknow option for gold linker
-
-- Revert the following patch, since oe-core work with gcc 5
-...
-commit 3055a3797f16693dfdd855fa68bc57fd900dc408
-Author: Peter Jones <pjones@redhat.com>
-Date: Mon Feb 15 14:15:40 2016 -0500
-
- Make gcc.specs work with gcc 6 / binutils 2.26
-
- Apparently binutils 2.26 gets real picky about "ld -PIC" vs "ld -fPIC".
-
- Signed-off-by: Peter Jones <pjones@redhat.com>
-...
-
-- Remove unknown option '--add-needed'
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc.specs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: git/gcc.specs
-===================================================================
---- git.orig/gcc.specs
-+++ git/gcc.specs
-@@ -14,4 +14,4 @@
- + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
-
- *link:
--+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
-++ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch b/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch
deleted file mode 100644
index 043b07a6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c10368b397483a2fc7b493c099d8416d902f8cd8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 31 Jul 2018 14:18:35 +0800
-Subject: [PATCH] allow multi definitions for native
-
-Upstream-Status: Pending
-
-It fails to create .so file when build efivar-native:
-
-| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable'
-| lib.o:lib.c:(.text+0xa0): first defined here
-
-Add link option '-z muldefs' to fix it.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Make.rules | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Make.rules b/Make.rules
-index 042585b..257ba45 100644
---- a/Make.rules
-+++ b/Make.rules
-@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version
- $(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \
- -Wl,-soname,$@.1 \
- -Wl,--version-script=$(MAP) \
-+ -Wl,-z,muldefs \
- -o $@ $^ $(LDLIBS)
- ln -vfs $@ $@.1
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch b/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch
deleted file mode 100644
index dbc9a575..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 3edce6a0019bcb90febc1f654b5b2e2bad5c59bd Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 26 May 2016 21:50:01 -0400
-Subject: [PATCH] fix compile failure with older host gcc (<=4.6)
-
-While host gcc version is 4.6.3 in ubuntu 1204, it
-did not recognize -std=gnu11 and -Wmaybe-uninitialized.
-
-While host gcc version is 4.4.7 in centos6, it
-did not recognize -std=gnu11, -Wmaybe-uninitialized,
-and -flto.
-
-For native build, use -std=gnu99 to replace -std=gnu11,
-and directly remove -Wmaybe-uninitialized and -flto.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- gcc.specs | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc.specs b/gcc.specs
-index 45d43d1..f1c6944 100644
---- a/gcc.specs
-+++ b/gcc.specs
-@@ -2,13 +2,13 @@
- + -D_GNU_SOURCE
-
- *efivar_cpp_options:
-- -Werror -Wall -std=gnu11 -Wextra
-+ -Werror -Wall -std=gnu99 -Wextra
-
- *cpp_options:
- + %(efivar_cpp_options)
-
- *cc1_options:
--+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
-++ %(efivar_cpp_options) -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
-
- *self_spec:
- + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.36.bb b/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.36.bb
deleted file mode 100644
index 20588ee9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.36.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Tools to manipulate UEFI variables"
-DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility"
-HOMEPAGE = "https://github.com/rhinstaller/efivar"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
-
-DEPENDS = "popt"
-DEPENDS_append_class-target = " efivar-native"
-
-inherit pkgconfig
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-
-SRCREV = "ef3449223ecd1e7b1098c523d66b2f960fe839ea"
-SRC_URI = "git://github.com/rhinstaller/efivar.git \
- file://allow-multi-definitions-for-native.patch \
- "
-SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'file://0004-fix-unknow-option-for-gold-linker.patch', '', d)} \
- "
-SRC_URI_append_class-native = " file://fix-compile-failure-with-host-gcc-4.6.patch \
- "
-
-S = "${WORKDIR}/git"
-
-do_compile_prepend() {
- sed -i -e s:-Werror::g ${S}/gcc.specs
-}
-
-do_compile_class-native() {
- oe_runmake -C src makeguids CC_FOR_BUILD="${BUILD_CC}"
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-do_install_class-native() {
- install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-ch341a_spi-Avoid-deprecated-libusb-functions.patch b/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-ch341a_spi-Avoid-deprecated-libusb-functions.patch
deleted file mode 100644
index df802862..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-ch341a_spi-Avoid-deprecated-libusb-functions.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From e5f68189ab3602b1042cc8423fd6a3a23abd5455 Mon Sep 17 00:00:00 2001
-From: Alex James <theracermaster@gmail.com>
-Date: Sat, 14 Apr 2018 22:59:57 -0500
-Subject: [PATCH] ch341a_spi: Avoid deprecated libusb functions
-
-libusb 1.0.22 marked libusb_set_debug as deprecated. For such versions
-of libusb, use libusb_set_option instead.
-
-Change-Id: Ib71ebe812316eaf49136979a942a946ef9e4d487
-Signed-off-by: Alex James <theracermaster@gmail.com>
-Reviewed-on: https://review.coreboot.org/25681
-Tested-by: Nico Huber <nico.h@gmx.de>
-Reviewed-by: David Hendricks <david.hendricks@gmail.com>
----
-Upstream-Status: Backport
- ch341a_spi.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/ch341a_spi.c b/ch341a_spi.c
-index 6eb2804..d880510 100644
---- a/ch341a_spi.c
-+++ b/ch341a_spi.c
-@@ -444,7 +444,12 @@ int ch341a_spi_init(void)
- return -1;
- }
-
-- libusb_set_debug(NULL, 3); // Enable information, warning and error messages (only).
-+ /* Enable information, warning, and error messages (only). */
-+#if LIBUSB_API_VERSION < 0x01000106
-+ libusb_set_debug(NULL, 3);
-+#else
-+ libusb_set_option(NULL, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_INFO);
-+#endif
-
- uint16_t vid = devs_ch341a_spi[0].vendor_id;
- uint16_t pid = devs_ch341a_spi[0].device_id;
---
-2.17.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-platform-Add-riscv-to-known-platforms.patch b/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-platform-Add-riscv-to-known-platforms.patch
deleted file mode 100644
index 7ba69a91..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-platform-Add-riscv-to-known-platforms.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From d2a28dcdbd1051d2f48320e2eda3393581fe0519 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 17 Mar 2018 23:08:29 -0700
-Subject: [PATCH] platform: Add riscv to known platforms
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://review.coreboot.org/#/c/flashrom/+/25260/]
- platform.h | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/platform.h b/platform.h
-index b2fdcd0..2cadbb3 100644
---- a/platform.h
-+++ b/platform.h
-@@ -69,6 +69,9 @@
- #elif defined (__m68k__)
- #define __FLASHROM_ARCH__ "m68k"
- #define IS_M68K 1
-+#elif defined (__riscv)
-+ #define __FLASHROM_ARCH__ "riscv"
-+ #define IS_RISCV 1
- #elif defined (__sh__)
- #define __FLASHROM_ARCH__ "sh"
- #define IS_SH 1
-@@ -77,7 +80,7 @@
- #define IS_S390 1
- #endif
-
--#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390)
-+#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_RISCV || IS_SH || IS_S390)
- #error Unknown architecture
- #endif
-
---
-2.16.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch b/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch
new file mode 100644
index 00000000..7ac53650
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch
@@ -0,0 +1,69 @@
+From 8a236330f2af56bde21e9f69208ea3e59f529f0c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 15 Mar 2020 17:02:30 -0700
+Subject: [PATCH] typecast enum conversions explicitly
+
+clang complains like below
+
+libflashrom.c:191:43: error: implicit conversion from enumeration type 'const enum test_state' to different enumeration type 'enum flashrom_test_state' [-Werror,-Wenum-conversion]
+ supported_boards[i].working = binfo[i].working;
+ ~ ~~~~~~~~~^~~~~~~
+libflashrom.c:229:46: error: implicit conversion from enumeration type 'const enum test_state' to different enumeration type 'enum flashrom_test_state' [-Werror,-Wenum-conversion]
+ supported_chipsets[i].status = chipset[i].status;
+ ~ ~~~~~~~~~~~^~~~~~
+
+However these enums are exactly same so they can be typecasted
+
+libflashrom.h
+
+/** @ingroup flashrom-query */
+enum flashrom_test_state {
+ FLASHROM_TESTED_OK = 0,
+ FLASHROM_TESTED_NT = 1,
+ FLASHROM_TESTED_BAD = 2,
+ FLASHROM_TESTED_DEP = 3,
+ FLASHROM_TESTED_NA = 4,
+};
+
+flash.h
+
+enum test_state {
+ OK = 0,
+ NT = 1, /* Not tested */
+ BAD, /* Known to not work */
+ DEP, /* Support depends on configuration (e.g. Intel flash descriptor) */
+ NA, /* Not applicable (e.g. write support on ROM chips) */
+ };
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libflashrom.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libflashrom.c b/libflashrom.c
+index 0dec22e..7956685 100644
+--- a/libflashrom.c
++++ b/libflashrom.c
+@@ -188,7 +188,7 @@ struct flashrom_board_info *flashrom_supported_boards(void)
+ for (; i < boards_known_size; ++i) {
+ supported_boards[i].vendor = binfo[i].vendor;
+ supported_boards[i].name = binfo[i].name;
+- supported_boards[i].working = binfo[i].working;
++ supported_boards[i].working = (enum flashrom_test_state)binfo[i].working;
+ }
+ } else {
+ msg_gerr("Memory allocation error!\n");
+@@ -226,7 +226,7 @@ struct flashrom_chipset_info *flashrom_supported_chipsets(void)
+ supported_chipsets[i].chipset = chipset[i].device_name;
+ supported_chipsets[i].vendor_id = chipset[i].vendor_id;
+ supported_chipsets[i].chipset_id = chipset[i].device_id;
+- supported_chipsets[i].status = chipset[i].status;
++ supported_chipsets[i].status = (enum flashrom_test_state)chipset[i].status;
+ }
+ } else {
+ msg_gerr("Memory allocation error!\n");
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/sst26.patch b/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/sst26.patch
deleted file mode 100644
index 46a01529..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/sst26.patch
+++ /dev/null
@@ -1,198 +0,0 @@
---- flashrom-0.9.9.orig/chipdrivers.h
-+++ flashrom-0.9.9/chipdrivers.h
-@@ -103,6 +103,7 @@
- int spi_prettyprint_status_register_sst25(struct flashctx *flash);
- int spi_prettyprint_status_register_sst25vf016(struct flashctx *flash);
- int spi_prettyprint_status_register_sst25vf040b(struct flashctx *flash);
-+int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash);
-
- /* sfdp.c */
- int probe_spi_sfdp(struct flashctx *flash);
---- flashrom-0.9.9.orig/flashchips.c
-+++ flashrom-0.9.9/flashchips.c
-@@ -12564,6 +12564,120 @@
-
- {
- .vendor = "SST",
-+ .name = "SST26VF016B(A)",
-+ .bustype = BUS_SPI,
-+ .manufacture_id = SST_ID,
-+ .model_id = SST_SST26VF016B,
-+ .total_size = 2048,
-+ .page_size = 256,
-+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
-+ .tested = TEST_OK_PREW,
-+ .probe = probe_spi_rdid,
-+ .probe_timing = TIMING_ZERO,
-+ .block_erasers =
-+ {
-+ {
-+ .eraseblocks = { {4 * 1024, 512} },
-+ .block_erase = spi_block_erase_20,
-+ }, {
-+ .eraseblocks = {
-+ {8 * 1024, 4},
-+ {32 * 1024, 1},
-+ {64 * 1024, 30},
-+ {32 * 1024, 1},
-+ {8 * 1024, 4},
-+ },
-+ .block_erase = spi_block_erase_d8,
-+ }, {
-+ .eraseblocks = { {2 * 1024 * 1024, 1} },
-+ .block_erase = spi_block_erase_c7,
-+ },
-+ },
-+ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
-+ .unlock = spi_disable_blockprotect_sst26_global_unprotect,
-+ .write = spi_chip_write_256, /* Multi I/O supported */
-+ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
-+ .voltage = {2700, 3600},
-+ },
-+ {
-+ .vendor = "SST",
-+ .name = "SST26VF032B(A)",
-+ .bustype = BUS_SPI,
-+ .manufacture_id = SST_ID,
-+ .model_id = SST_SST26VF032B,
-+ .total_size = 4096,
-+ .page_size = 256,
-+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
-+ .tested = TEST_UNTESTED,
-+ .probe = probe_spi_rdid,
-+ .probe_timing = TIMING_ZERO,
-+ .block_erasers =
-+ {
-+ {
-+ .eraseblocks = { {4 * 1024, 1024} },
-+ .block_erase = spi_block_erase_20,
-+ }, {
-+ .eraseblocks = {
-+ {8 * 1024, 4},
-+ {32 * 1024, 1},
-+ {64 * 1024, 62},
-+ {32 * 1024, 1},
-+ {8 * 1024, 4},
-+ },
-+ .block_erase = spi_block_erase_d8,
-+ }, {
-+ .eraseblocks = { {4 * 1024 * 1024, 1} },
-+ .block_erase = spi_block_erase_c7,
-+ },
-+ },
-+ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
-+ .unlock = spi_disable_blockprotect_sst26_global_unprotect,
-+ .write = spi_chip_write_256, /* Multi I/O supported */
-+ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
-+ .voltage = {2700, 3600},
-+ },
-+
-+
-+ {
-+ .vendor = "SST",
-+ .name = "SST26VF064B(A)",
-+ .bustype = BUS_SPI,
-+ .manufacture_id = SST_ID,
-+ .model_id = SST_SST26VF064B,
-+ .total_size = 8192,
-+ .page_size = 256,
-+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
-+ .tested = TEST_OK_PREW,
-+ .probe = probe_spi_rdid,
-+ .probe_timing = TIMING_ZERO,
-+ .block_erasers =
-+ {
-+ {
-+ .eraseblocks = { {4 * 1024, 2048} },
-+ .block_erase = spi_block_erase_20,
-+ }, {
-+ .eraseblocks = {
-+ {8 * 1024, 4},
-+ {32 * 1024, 1},
-+ {64 * 1024, 126},
-+ {32 * 1024, 1},
-+ {8 * 1024, 4},
-+ },
-+ .block_erase = spi_block_erase_d8,
-+ }, {
-+ .eraseblocks = { {8 * 1024 * 1024, 1} },
-+ .block_erase = spi_block_erase_c7,
-+ },
-+ },
-+ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
-+ .unlock = spi_disable_blockprotect_sst26_global_unprotect,
-+ .write = spi_chip_write_256, /* Multi I/O supported */
-+ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
-+ .voltage = {2700, 3600},
-+ },
-+
-+ {
-+ .vendor = "SST",
- .name = "SST25WF512",
- .bustype = BUS_SPI,
- .manufacture_id = SST_ID,
---- flashrom-0.9.9.orig/flashchips.h
-+++ flashrom-0.9.9/flashchips.h
-@@ -697,6 +697,8 @@
- #define SST_SST25VF064C 0x254B
- #define SST_SST26VF016 0x2601
- #define SST_SST26VF032 0x2602
-+#define SST_SST26VF016B 0x2641
-+#define SST_SST26VF032B 0x2642
- #define SST_SST26VF064B 0x2643
- #define SST_SST27SF512 0xA4
- #define SST_SST27SF010 0xA5
---- flashrom-0.9.9.orig/linux_spi.c
-+++ flashrom-0.9.9/linux_spi.c
-@@ -141,6 +141,16 @@
- return 0;
- }
-
-+static void print_hex(const char *msg, const void *buf, size_t len)
-+{
-+ size_t i;
-+ msg_pspew("%s:\n", msg);
-+ for (i = 0; i < len; i++) {
-+ msg_pspew(" %02x", ((uint8_t *)buf)[i]);
-+ }
-+ msg_pspew("\n");
-+}
-+
- static int linux_spi_send_command(struct flashctx *flash, unsigned int writecnt,
- unsigned int readcnt,
- const unsigned char *txbuf,
-@@ -172,10 +182,12 @@
- else
- iocontrol_code = SPI_IOC_MESSAGE(2);
-
-+ print_hex("Write", txbuf, writecnt);
- if (ioctl(fd, iocontrol_code, msg) == -1) {
- msg_cerr("%s: ioctl: %s\n", __func__, strerror(errno));
- return -1;
- }
-+ if (readcnt) print_hex("Got", rxbuf, readcnt);
- return 0;
- }
-
---- flashrom-0.9.9.orig/spi25_statusreg.c
-+++ flashrom-0.9.9/spi25_statusreg.c
-@@ -196,6 +196,19 @@
- return spi_disable_blockprotect_generic(flash, 0x3C, 0, 0, 0xFF);
- }
-
-+int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash)
-+{
-+ int result = spi_write_enable(flash);
-+ if (result)
-+ return result;
-+
-+ static const unsigned char cmd[] = { 0x98 }; /* ULBPR */
-+ result = spi_send_command(flash, sizeof(cmd), 0, cmd, NULL);
-+ if (result)
-+ msg_cerr("ULBPR failed\n");
-+ return result;
-+}
-+
- /* A common block protection disable that tries to unset the status register bits masked by 0x0C (BP0-1) and
- * protected/locked by bit #7. Useful when bits 4-5 may be non-0). */
- int spi_disable_blockprotect_bp1_srwd(struct flashctx *flash)
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.0.bb b/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.0.bb
deleted file mode 100644
index 1c172466..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
-LICENSE = "GPLv2"
-HOMEPAGE = "http://flashrom.org"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "pciutils libusb libusb-compat"
-
-SRC_URI = "https://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \
- file://sst26.patch \
- file://0001-platform-Add-riscv-to-known-platforms.patch \
- file://0001-ch341a_spi-Avoid-deprecated-libusb-functions.patch \
- "
-SRC_URI[md5sum] = "42d999990c735d88653627cefcc13b9a"
-SRC_URI[sha256sum] = "3702fa215ba5fb5af8e54c852d239899cfa1389194c1e51cb2a170c4dc9dee64"
-
-inherit pkgconfig
-
-do_install() {
- oe_runmake PREFIX=${prefix} DESTDIR=${D} install
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb b/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb
new file mode 100644
index 00000000..642cec15
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
+LICENSE = "GPLv2"
+HOMEPAGE = "http://flashrom.org"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "pciutils libusb libusb-compat"
+
+SRC_URI = "https://download.flashrom.org/releases/flashrom-v${PV}.tar.bz2 \
+ file://0001-typecast-enum-conversions-explicitly.patch \
+ "
+SRC_URI[md5sum] = "7f8e4b87087eb12ecee0fcc5445b4956"
+SRC_URI[sha256sum] = "e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b"
+
+S = "${WORKDIR}/flashrom-v${PV}"
+
+inherit pkgconfig
+
+do_install() {
+ oe_runmake PREFIX=${prefix} DESTDIR=${D} install
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/init b/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/init
new file mode 100755
index 00000000..6f29e9c6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/init
@@ -0,0 +1,78 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: irda
+# Required-Start: $network $remote_fs
+# Required-Stop: $network $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Infrared port support
+### END INIT INFO
+
+NAME="irattach"
+test -x "$IRDA_DAEMON" || IRDA_DAEMON=/usr/sbin/irattach
+test -z "$IRATTACH_PID" && IRATTACH_PID=/var/run/irattach.pid
+
+# Source function library.
+. /etc/init.d/functions
+
+module_id() {
+ awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+}
+
+if [ ! -f /etc/sysconfig/irda ]; then
+ case `module_id` in
+ "HP iPAQ H2200" | "HP iPAQ HX4700" | "HTC Universal")
+ IRDA=yes
+ DEVICE=/dev/ttyS2
+ DONGLE=
+ DISCOVERY=
+ ;;
+ *)
+ IRDA=yes
+ DEVICE=/dev/ttyS1
+ DONGLE=
+ DISCOVERY=
+ ;;
+ esac
+else
+ . /etc/sysconfig/irda
+fi
+
+# Check that irda is up.
+[ ${IRDA} = "no" ] && exit 0
+
+[ -f /usr/sbin/irattach ] || exit 0
+
+ARGS=
+if [ $DONGLE ]; then
+ ARGS="$ARGS -d $DONGLE"
+fi
+if [ "$DISCOVERY" = "yes" ];then
+ ARGS="$ARGS -s"
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting IrDA: $NAME"
+ start-stop-daemon --start --quiet --exec "$IRDA_DAEMON" ${DEVICE} ${ARGS} --pidfile "$IRATTACH_PID"
+ sleep 1
+ [ -f /var/run/irattach.pid ] && echo " done" || echo " fail"
+ ;;
+ stop)
+ echo "Stopping IrDA: $NAME"
+ start-stop-daemon --stop --quiet --exec "$IRDA_DAEMON" --pidfile "$IRATTACH_PID"
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
+ ;;
+ status)
+ status irattach
+ exit $?
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
+ exit 1
+ ;;
+esac
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/ldflags.patch b/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/ldflags.patch
new file mode 100644
index 00000000..b246de8f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/ldflags.patch
@@ -0,0 +1,87 @@
+Obey LDFLAGS
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Upstream-Status: Pending
+
+Index: irda-utils-0.9.18/findchip/Makefile
+===================================================================
+--- irda-utils-0.9.18.orig/findchip/Makefile
++++ irda-utils-0.9.18/findchip/Makefile
+@@ -65,5 +65,5 @@ install: findchip
+
+ gfindchip: gfindchip.c
+ $(prn_cc)
+- $(ECMD))$(CC) $(CFLAGS) `gtk-config --cflags` $< -o $@ `gtk-config --libs`
++ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) `gtk-config --cflags` $< -o $@ `gtk-config --libs`
+
+Index: irda-utils-0.9.18/irattach/Makefile
+===================================================================
+--- irda-utils-0.9.18.orig/irattach/Makefile
++++ irda-utils-0.9.18/irattach/Makefile
+@@ -49,13 +49,13 @@ all: $(TARGETS)
+
+ irattach: irattach.o util.o
+ $(prn_cc_o)
+- $(ECMD)$(CC) $(CFLAGS) irattach.o util.o -o $@
++ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) irattach.o util.o -o $@
+
+
+
+ dongle_attach: dongle_attach.o
+ $(prn_cc_o)
+- $(ECMD)$(CC) $(CFLAGS) dongle_attach.o -o $@
++ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) dongle_attach.o -o $@
+
+
+ install: $(TARGETS)
+Index: irda-utils-0.9.18/irdadump/Makefile
+===================================================================
+--- irda-utils-0.9.18.orig/irdadump/Makefile
++++ irda-utils-0.9.18/irdadump/Makefile
+@@ -40,7 +40,7 @@ lib_irdadump.a: $(LIBIRDADUMP_OBJS)
+
+ irdadump: $(IRDADUMP_OBJS) $(LIBIRDADUMP_TARGET)
+ $(prn_cc_o)
+- $(ECMD)$(CC) $(CFLAGS) `pkg-config --libs glib-2.0` -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET)
++ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) `pkg-config --libs glib-2.0` -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET)
+
+
+ .c.o:
+Index: irda-utils-0.9.18/irdaping/Makefile
+===================================================================
+--- irda-utils-0.9.18.orig/irdaping/Makefile
++++ irda-utils-0.9.18/irdaping/Makefile
+@@ -56,7 +56,7 @@ all: $(TARGETS)
+
+ irdaping: $(OBJS)
+ $(prn_cc_o)
+- $(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@
++ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
+
+
+ .c.o:
+Index: irda-utils-0.9.18/irnetd/Makefile
+===================================================================
+--- irda-utils-0.9.18.orig/irnetd/Makefile
++++ irda-utils-0.9.18/irnetd/Makefile
+@@ -50,7 +50,7 @@ all: $(TARGETS)
+
+ irnetd: $(OBJS)
+ $(prn_cc_o)
+- $(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@
++ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
+
+
+ install: irnetd
+Index: irda-utils-0.9.18/psion/Makefile
+===================================================================
+--- irda-utils-0.9.18.orig/psion/Makefile
++++ irda-utils-0.9.18/psion/Makefile
+@@ -25,4 +25,4 @@ install: $(PSION_TARGETS)
+ CFLAGS += -g -I../include -Wall -Wstrict-prototypes $(RPM_OPT_FLAGS)
+ irpsion5:
+ $(prn_cc_o)
+- $(ECMD)$(CC) $(CFLAGS) $(PSION_SRC) -o $@
+\ No newline at end of file
++ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(PSION_SRC) -o $@
+\ No newline at end of file
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/musl.patch b/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/musl.patch
new file mode 100644
index 00000000..97eb9750
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils-0.9.18/musl.patch
@@ -0,0 +1,29 @@
+Replace use of <net/if_packet.h> with <linux/if_packet.h>.
+
+kernel headers <linux/if_packet.h> already provides the
+needed definitions, moreover not all libc implementations
+provide if_packet.h e.g. musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: irda-utils-0.9.18/irdaping/irdaping.c
+===================================================================
+--- irda-utils-0.9.18.orig/irdaping/irdaping.c
++++ irda-utils-0.9.18/irdaping/irdaping.c
+@@ -33,7 +33,6 @@
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+ #include <net/if.h> /* For struct ifreq */
+-#include <net/if_packet.h> /* For struct sockaddr_pkt */
+ #include <net/if_arp.h> /* For ARPHRD_IRDA */
+ #include <netinet/if_ether.h> /* For ETH_P_ALL */
+ #include <netinet/in.h> /* For htons */
+@@ -46,6 +45,7 @@
+ #include <asm/byteorder.h> /* __cpu_to_le32 and co. */
+
+ #include <linux/types.h> /* For __u8 and co. */
++#include <linux/if_packet.h> /* For struct sockaddr_pkt */
+ #include <irda.h>
+
+ #ifndef AF_IRDA
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb b/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb
new file mode 100644
index 00000000..caffcb69
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb
@@ -0,0 +1,64 @@
+SUMMARY = "Common files for IrDA"
+DESCRIPTION = "Provides common files needed to use IrDA. \
+IrDA allows communication over Infrared with other devices \
+such as phones and laptops."
+HOMEPAGE = "http://irda.sourceforge.net/"
+BUGTRACKER = "http://sourceforge.net/p/irda/bugs/"
+SECTION = "base"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://irdadump/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://smcinit/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+ file://man/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://irdadump/irdadump.c;beginline=1;endline=24;md5=d78b9dce3cd78c2220250c9c7a2be178"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/irda/irda-utils-${PV}.tar.gz \
+ file://ldflags.patch \
+ file://musl.patch \
+ file://init"
+
+SRC_URI[md5sum] = "84dc12aa4c3f61fccb8d8919bf4079bb"
+SRC_URI[sha256sum] = "61980551e46b2eaa9e17ad31cbc1a638074611fc33bff34163d10c7a67a9fdc6"
+
+inherit update-rc.d
+
+RRECOMMENDS_${PN} = "\
+ kernel-module-pxaficp-ir \
+ kernel-module-irda \
+ kernel-module-ircomm \
+ kernel-module-ircomm-tty \
+ kernel-module-irlan \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ppp', 'kernel-module-irnet', '',d)} \
+ kernel-module-irport \
+ kernel-module-irtty \
+ kernel-module-irtty-sir \
+ kernel-module-sir-dev \
+ ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-ir-usb', '',d)} "
+
+EXTRA_OEMAKE = "\
+ 'CC=${CC}' \
+ 'LD=${LD}' \
+ 'CFLAGS=${CFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+ 'SYS_INCLUDES=' \
+ 'V=1' \
+"
+
+INITSCRIPT_NAME = "irattach"
+INITSCRIPT_PARAMS = "defaults 20"
+
+TARGETS ??= "irattach irdaping"
+do_compile () {
+ for t in ${TARGETS}; do
+ oe_runmake -C $t
+ done
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ for t in ${TARGETS}; do
+ oe_runmake -C $t ROOT="${D}" install
+ done
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch b/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch
new file mode 100644
index 00000000..09f4993a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch
@@ -0,0 +1,30 @@
+Subject: [PATCH] Don't build with -Werror to fix compile error.
+
+| 550 | _dump_sgpio_amd(&amd_reg->amd);
+| | ^~~~~~~~~~~~~
+| amd_sgpio.c: In function '_write_amd_register':
+| amd_sgpio.c:558:18: error: taking address of packed member of 'struct amd_register' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+
+Upstream-Status: Submitted
+https://github.com/intel/ledmon/pull/48/commits
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7bc20f8..7e01bd5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,6 @@ AX_AM_CFLAGS_ADD([-Werror=format-truncation=1])
+ AX_AM_CFLAGS_ADD([-Werror=shift-negative-value])
+ AX_AM_CFLAGS_ADD([-Werror=alloca])
+ AX_AM_CFLAGS_ADD([-Werror=missing-field-initializers])
+-AX_AM_CFLAGS_ADD([-Werror])
+ AX_AM_CFLAGS_ADD([-Werror=format-signedness])
+
+ AC_SUBST([AM_CFLAGS])
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0002-include-sys-select.h-and-sys-types.h.patch b/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0002-include-sys-select.h-and-sys-types.h.patch
new file mode 100644
index 00000000..75bf2b4f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0002-include-sys-select.h-and-sys-types.h.patch
@@ -0,0 +1,43 @@
+From 2ee8796db5019341b774bcb4f7d0944d89e1845b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Apr 2019 21:26:55 -0700
+Subject: [PATCH 2/2] include sys/select.h and sys/types.h
+
+sys/select.h is needed to provide fd_set definition
+sys/types.h is needed for ssize_t
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/dellssd.c | 1 +
+ src/utils.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/dellssd.c b/src/dellssd.c
+index 7b8d431..e97fe45 100644
+--- a/src/dellssd.c
++++ b/src/dellssd.c
+@@ -27,6 +27,7 @@
+ #include <unistd.h>
+
+ #include <sys/ioctl.h>
++#include <sys/select.h>
+ #include <linux/ipmi.h>
+
+ #if _HAVE_DMALLOC_H
+diff --git a/src/utils.h b/src/utils.h
+index 720447a..c106529 100644
+--- a/src/utils.h
++++ b/src/utils.h
+@@ -21,6 +21,7 @@
+ #define _UTILS_H_INCLUDED_
+
+ #include <getopt.h>
++#include <sys/types.h>
+ #include "config_file.h"
+ #include "stdlib.h"
+ #include "stdint.h"
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_git.bb b/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_git.bb
new file mode 100644
index 00000000..f9ae9aad
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_git.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Intel(R) Enclosure LED Utilities"
+
+DESCRIPTION = "The utilities are designed primarily to be used on storage servers \
+ utilizing MD devices (aka Linux Software RAID) for RAID arrays.\
+"
+HOMEPAGE = "https://github.com/intel/ledmon"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+"
+
+DEPENDS = "sg3-utils udev"
+
+inherit autotools systemd
+
+SYSTEMD_SERVICE_${PN} = "ledmon.service"
+
+# 0.93
+SRC_URI = "git://github.com/intel/ledmon;branch=master \
+ file://0002-include-sys-select.h-and-sys-types.h.patch \
+ file://0001-Don-t-build-with-Werror-to-fix-compile-error.patch \
+ "
+
+SRCREV = "1d72f9cb5c9163b2ecdf19709935720e65f5b90e"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+COMPATIBLE_HOST_libc-musl = "null"
+
+S = "${WORKDIR}/git"
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}' CFLAGS='${CFLAGS}'"
+
+# The ledmon sources include headers in ${S}/config to build but not in CFLAGS.
+# We need to add this include path in CFLAGS.
+CFLAGS += "-I${S}/config"
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0755 ${S}/systemd/ledmon.service ${D}${systemd_unitdir}/system
+ fi
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb b/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
index b0091d65..b55bd516 100644
--- a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
@@ -14,6 +14,9 @@ SRC_URI = "file://fancontrol \
"
S = "${WORKDIR}"
+PACKAGECONFIG ??= "sensord"
+PACKAGECONFIG[sensord] = ",,"
+
RDEPENDS_${PN}-dev = ""
do_install() {
@@ -25,27 +28,29 @@ do_install() {
install -d ${D}${sysconfdir}/sensors.d
install -m 0644 ${WORKDIR}/sensors.conf ${D}${sysconfdir}/sensors.d
- # Install sensord configuration file
- install -m 0644 ${WORKDIR}/sensord.conf ${D}${sysconfdir}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ # Install sensord configuration file
+ install -m 0644 ${WORKDIR}/sensord.conf ${D}${sysconfdir}
- # Install sensord.cgi script and create world-writable
- # web-accessible sensord directory
- install -d ${D}/www/pages/cgi-bin
- install -m 0755 ${WORKDIR}/sensord.cgi ${D}/www/pages/cgi-bin
- install -d -m a=rwxs ${D}/www/pages/sensord
+ # Install sensord.cgi script and create world-writable
+ # web-accessible sensord directory
+ install -d ${D}/www/pages/cgi-bin
+ install -m 0755 ${WORKDIR}/sensord.cgi ${D}/www/pages/cgi-bin
+ install -d -m a=rwxs ${D}/www/pages/sensord
+ fi
}
# libsensors configuration
PACKAGES =+ "${PN}-libsensors"
# sensord logging daemon configuration
-PACKAGES =+ "${PN}-sensord"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)}"
# fancontrol script configuration
PACKAGES =+ "${PN}-fancontrol"
# sensord web cgi support
-PACKAGES =+ "${PN}-cgi"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-cgi', '', d)}"
RRECOMMENDS_${PN}-cgi = "lighttpd lighttpd-module-cgi"
RDEPENDS_${PN}-cgi = "${PN}-sensord rrdtool"
FILES_${PN}-cgi = "/www/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch b/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
deleted file mode 100644
index abf6e752..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From c4428260e7685ebaf5c26c6ecaae5a56849853e8 Mon Sep 17 00:00:00 2001
-From: Li Zhou <li.zhou@windriver.com>
-Date: Tue, 6 Sep 2016 14:04:29 +0800
-Subject: [PATCH] lmsensors: sensors-detect: print a special message when there
- isn't enough cpu info
-
-When running sensors-detect, if there isn't enough information in
-/proc/cpuinfo for this arch (e.g. ppc64), "Use of uninitialized value
-in concatenation (.) or string at /usr/sbin/sensors-detect line 2867"
-and incomplete "# Processor: (//)" will be printed.
-Here print out a prompt for such a case.
-
-Upstream-Status: Pending
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- prog/detect/sensors-detect | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
-index 3c2b44f..5f62405 100755
---- a/prog/detect/sensors-detect
-+++ b/prog/detect/sensors-detect
-@@ -2864,7 +2864,12 @@ sub initialize_cpu_list
- sub print_cpu_info
- {
- my $cpu = $cpu[0];
-- print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n";
-+ if ( $cpu->{'model name'} && $cpu->{'cpu family'} && $cpu->{model} && $cpu->{stepping} ) {
-+ print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n";
-+ }
-+ else {
-+ print "# Processor: There isn't enough cpu info for this arch!!!\n";
-+ }
- }
-
- # @i2c_adapters is a list of references to hashes, one hash per I2C/SMBus
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
deleted file mode 100644
index fb3878dc..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 727524453f115ddc05109e9bbb3d0e60a7db9185 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 16 Jul 2017 15:05:50 -0700
-Subject: [PATCH] prog: Do not limit sys/io.h header include to just glibc
-
-musl provides it too.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- prog/dump/isadump.c | 6 ------
- prog/dump/isaset.c | 6 ------
- prog/dump/superio.c | 5 -----
- prog/dump/util.c | 5 -----
- 4 files changed, 22 deletions(-)
-
-diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c
-index e0e6f00..8794537 100644
---- a/prog/dump/isadump.c
-+++ b/prog/dump/isadump.c
-@@ -36,13 +36,7 @@
- #include "util.h"
- #include "superio.h"
-
--
--/* To keep glibc2 happy */
--#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
- #include <sys/io.h>
--#else
--#include <asm/io.h>
--#endif
-
- #ifdef __powerpc__
- unsigned long isa_io_base = 0; /* XXX for now */
-diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c
-index e743755..85a4f64 100644
---- a/prog/dump/isaset.c
-+++ b/prog/dump/isaset.c
-@@ -32,13 +32,7 @@
- #include <string.h>
- #include "util.h"
-
--
--/* To keep glibc2 happy */
--#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
- #include <sys/io.h>
--#else
--#include <asm/io.h>
--#endif
-
- #ifdef __powerpc__
- unsigned long isa_io_base = 0; /* XXX for now */
-diff --git a/prog/dump/superio.c b/prog/dump/superio.c
-index 64ef27b..906fe55 100644
---- a/prog/dump/superio.c
-+++ b/prog/dump/superio.c
-@@ -20,12 +20,7 @@
- */
-
- #include <stdlib.h>
--
--#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
- #include <sys/io.h>
--#else
--#include <asm/io.h>
--#endif
-
- #include "superio.h"
-
-diff --git a/prog/dump/util.c b/prog/dump/util.c
-index 874c1b9..197fa64 100644
---- a/prog/dump/util.c
-+++ b/prog/dump/util.c
-@@ -11,12 +11,7 @@
- #include <stdio.h>
- #include "util.h"
-
--/* To keep glibc2 happy */
--#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
- #include <sys/io.h>
--#else
--#include <asm/io.h>
--#endif
-
- /* Return 1 if we should continue, 0 if we should abort */
- int user_ack(int def)
---
-2.13.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb b/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
deleted file mode 100644
index ffab5d6b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
+++ /dev/null
@@ -1,147 +0,0 @@
-SUMMARY = "lm_sensors"
-DESCRIPTION = "Hardware health monitoring applications"
-HOMEPAGE = "http://www.lm-sensors.org/"
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool"
-
-SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \
- file://fancontrol.init \
- file://sensord.init \
- file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \
- file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \
-"
-SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb"
-SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e"
-
-# It is using '-' but not '.' as delimiter for the version in the releases page,
-# which causes the version comparison unmatched.
-#UPSTREAM_CHECK_URI = "https://github.com/groeck/lm-sensors/releases"
-
-RECIPE_UPSTREAM_VERSION = "3.4.0"
-RECIPE_UPSTREAM_DATE = "Jun 25, 2015"
-CHECK_DATE = "May 28, 2018"
-
-inherit update-rc.d systemd
-
-RDEPENDS_${PN}-dev = ""
-
-INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord"
-INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol"
-INITSCRIPT_NAME_${PN}-sensord = "sensord"
-INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66"
-INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67"
-
-SYSTEMD_PACKAGES = "${PN}-sensord"
-SYSTEMD_SERVICE_${PN}-sensord = "sensord.service lm_sensors.service fancontrol.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-S = "${WORKDIR}/lm-sensors-3-4-0"
-
-EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \
- MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \
- LIBDIR=${libdir} \
- CC="${CC}" AR="${AR}"'
-
-do_compile() {
- sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile
- # Respect LDFLAGS
- sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile
- sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \
- ${S}/lib/Module.mk
- oe_runmake user PROG_EXTRA="sensors sensord"
-}
-
-do_install() {
- oe_runmake user_install DESTDIR=${D}
- install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir}
- install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8
-
- # Install directory
- install -d ${D}${sysconfdir}/init.d
-
- # Install fancontrol init script
- install -m 0755 ${WORKDIR}/fancontrol.init \
- ${D}${sysconfdir}/init.d/fancontrol
-
- # Install sensord init script
- install -m 0755 ${WORKDIR}/sensord.init ${D}${sysconfdir}/init.d/sensord
-
- # Insall sensord service script
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/prog/init/*.service ${D}${systemd_unitdir}/system
- fi
-}
-
-RPROVIDES_${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg"
-
-# libsensors packages
-PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${PN}-libsensors-doc"
-
-# sensors command packages
-PACKAGES =+ "${PN}-sensors ${PN}-sensors-doc"
-
-# sensord logging daemon
-PACKAGES =+ "${PN}-sensord ${PN}-sensord-doc"
-
-# fancontrol script
-PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc"
-
-# sensors-detect script
-PACKAGES =+ "${PN}-sensorsdetect ${PN}-sensorsdetect-doc"
-
-# sensors-conf-convert script
-PACKAGES =+ "${PN}-sensorsconfconvert ${PN}-sensorsconfconvert-doc"
-
-# pwmconfig script
-PACKAGES =+ "${PN}-pwmconfig ${PN}-pwmconfig-doc"
-
-# isadump and isaset helper program
-PACKAGES =+ "${PN}-isatools ${PN}-isatools-doc"
-
-
-# libsensors files
-FILES_${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d"
-FILES_${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}"
-FILES_${PN}-libsensors-staticdev = "${libdir}/libsensors.a"
-FILES_${PN}-libsensors-doc = "${mandir}/man3"
-RRECOMMENDS_${PN}-libsensors = "lmsensors-config-libsensors"
-
-# sensors command files
-FILES_${PN}-sensors = "${bindir}/sensors"
-FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5"
-RDEPENDS_${PN}-sensors = "${PN}-libsensors"
-
-# sensord logging daemon
-FILES_${PN}-sensord = "${sbindir}/sensord ${sysconfdir}/init.d/sensord ${systemd_unitdir}/system/sensord.service"
-FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8"
-RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool"
-RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord"
-
-# fancontrol script files
-FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${sysconfdir}/init.d/fancontrol"
-FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8"
-RDEPENDS_${PN}-fancontrol = "bash"
-RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol"
-
-# sensors-detect script files
-FILES_${PN}-sensorsdetect = "${sbindir}/sensors-detect"
-FILES_${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8"
-RDEPENDS_${PN}-sensorsdetect = "${PN}-sensors perl perl-modules"
-
-# sensors-conf-convert script files
-FILES_${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert"
-FILES_${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8"
-RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules"
-
-# pwmconfig script files
-FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig"
-FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8"
-RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol"
-
-# isadump and isaset helper program files
-FILES_${PN}-isatools = "${sbindir}/isa*"
-FILES_${PN}-isatools-doc = "${mandir}/man8/isa*"
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb b/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb
new file mode 100644
index 00000000..890db55b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb
@@ -0,0 +1,167 @@
+SUMMARY = "Hardware health monitoring applications"
+HOMEPAGE = "https://hwmon.wiki.kernel.org/"
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+ bison-native \
+ flex-native \
+ virtual/libiconv \
+"
+
+SRC_URI = "git://github.com/lm-sensors/lm-sensors.git;protocol=https \
+ file://fancontrol.init \
+ file://sensord.init \
+"
+SRCREV = "1667b850a1ce38151dae17156276f981be6fb557"
+
+inherit update-rc.d systemd
+
+RDEPENDS_${PN}-dev = ""
+
+PACKAGECONFIG ??= "sensord"
+PACKAGECONFIG[sensord] = "sensord,,rrdtool"
+
+INITSCRIPT_PACKAGES = "\
+ ${PN}-fancontrol \
+ ${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
+ "
+INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol"
+INITSCRIPT_NAME_${PN}-sensord = "sensord"
+INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66"
+INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67"
+
+SYSTEMD_PACKAGES = "\
+ ${PN} \
+ ${PN}-fancontrol \
+ ${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
+ "
+SYSTEMD_SERVICE_${PN} = "lm_sensors.service"
+SYSTEMD_SERVICE_${PN}-fancontrol = "fancontrol.service"
+SYSTEMD_SERVICE_${PN}-sensord = "sensord.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \
+ MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \
+ LIBDIR=${libdir} \
+ CC="${CC}" AR="${AR}"'
+
+do_compile() {
+ sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile
+ # Respect LDFLAGS
+ sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile
+ sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \
+ ${S}/lib/Module.mk
+ oe_runmake user PROG_EXTRA="sensors ${PACKAGECONFIG_CONFARGS}"
+}
+
+do_install() {
+ oe_runmake user_install DESTDIR=${D}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir}
+ install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8
+ fi
+
+ # Install directory
+ install -d ${D}${INIT_D_DIR}
+
+ # Install fancontrol init script
+ install -m 0755 ${WORKDIR}/fancontrol.init ${D}${INIT_D_DIR}/fancontrol
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ # Install sensord init script
+ install -m 0755 ${WORKDIR}/sensord.init ${D}${INIT_D_DIR}/sensord
+ fi
+
+ # Insall sensord service script
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/prog/init/*.service ${D}${systemd_unitdir}/system
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ rm ${D}${systemd_system_unitdir}/sensord.service
+ fi
+}
+
+RPROVIDES_${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg"
+
+ALLOW_EMPTY_${PN} = "1"
+RDEPENDS_${PN} += " \
+ ${PN}-libsensors \
+ ${PN}-sensors \
+ ${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
+ ${PN}-fancontrol \
+ ${PN}-sensorsdetect \
+ ${PN}-sensorsconfconvert \
+ ${PN}-pwmconfig \
+ ${PN}-isatools \
+"
+
+# libsensors packages
+PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${PN}-libsensors-doc"
+
+# sensors command packages
+PACKAGES =+ "${PN}-sensors ${PN}-sensors-doc"
+
+# sensord logging daemon
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord ${PN}-sensord-doc', '', d)}"
+
+# fancontrol script
+PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc"
+
+# sensors-detect script
+PACKAGES =+ "${PN}-sensorsdetect ${PN}-sensorsdetect-doc"
+
+# sensors-conf-convert script
+PACKAGES =+ "${PN}-sensorsconfconvert ${PN}-sensorsconfconvert-doc"
+
+# pwmconfig script
+PACKAGES =+ "${PN}-pwmconfig ${PN}-pwmconfig-doc"
+
+# isadump and isaset helper program
+PACKAGES =+ "${PN}-isatools ${PN}-isatools-doc"
+
+
+# libsensors files
+FILES_${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d"
+FILES_${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}"
+FILES_${PN}-libsensors-staticdev = "${libdir}/libsensors.a"
+FILES_${PN}-libsensors-doc = "${mandir}/man3"
+RRECOMMENDS_${PN}-libsensors = "lmsensors-config-libsensors"
+
+# sensors command files
+FILES_${PN}-sensors = "${bindir}/sensors"
+FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5"
+RDEPENDS_${PN}-sensors = "${PN}-libsensors"
+
+# sensord logging daemon
+FILES_${PN}-sensord = "${sbindir}/sensord ${INIT_D_DIR}/sensord ${systemd_system_unitdir}/sensord.service"
+FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8"
+RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool"
+RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord"
+
+# fancontrol script files
+FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${INIT_D_DIR}/fancontrol"
+FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8"
+RDEPENDS_${PN}-fancontrol = "bash"
+RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol"
+
+# sensors-detect script files
+FILES_${PN}-sensorsdetect = "${sbindir}/sensors-detect"
+FILES_${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8"
+RDEPENDS_${PN}-sensorsdetect = "${PN}-sensors perl perl-modules"
+
+# sensors-conf-convert script files
+FILES_${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert"
+FILES_${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8"
+RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules"
+
+# pwmconfig script files
+FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig"
+FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8"
+RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol bash"
+
+# isadump and isaset helper program files
+FILES_${PN}-isatools = "${sbindir}/isa*"
+FILES_${PN}-isatools-doc = "${mandir}/man8/isa*"
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/files/0001-Makefile-fix-bash-completion-install-path.patch b/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/files/0001-Makefile-fix-bash-completion-install-path.patch
deleted file mode 100644
index 154e1401..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/files/0001-Makefile-fix-bash-completion-install-path.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ef64032b34190079aab591c64a25f7535a977390 Mon Sep 17 00:00:00 2001
-From: Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>
-Date: Tue, 9 Oct 2018 11:26:34 +0200
-Subject: [PATCH] Makefile: fix bash completion install path
-
-Change path to bash-completion upstream recommendation used by most
-distributions.
-
-Upstream-Status: Accepted
-
-Signed-off-by: Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index fa587dd..433bc41 100644
---- a/Makefile
-+++ b/Makefile
-@@ -69,8 +69,8 @@ install-bin: default
- $(INSTALL) -m 755 nvme $(DESTDIR)$(SBINDIR)
-
- install-bash-completion:
-- $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/bash_completion.d
-- $(INSTALL) -m 644 -T ./completions/bash-nvme-completion.sh $(DESTDIR)$(PREFIX)/share/bash_completion.d/nvme
-+ $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/bash-completion/completions
-+ $(INSTALL) -m 644 -T ./completions/bash-nvme-completion.sh $(DESTDIR)$(PREFIX)/share/bash-completion/completions/nvme
-
- install: install-bin install-man install-bash-completion
-
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli/0001-fix-musl-compilation.patch b/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli/0001-fix-musl-compilation.patch
new file mode 100644
index 00000000..be5d0dac
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli/0001-fix-musl-compilation.patch
@@ -0,0 +1,26 @@
+From 0ff7ad2c88e3a47e7e3f6fe68c28a8d2d8a71f1f Mon Sep 17 00:00:00 2001
+From: Neel Chotai <neel@chot.ai>
+Date: Fri, 14 Feb 2020 17:56:23 +0000
+Subject: [PATCH] fix musl compilation
+
+Upstream-Status: Backport [https://github.com/linux-nvme/nvme-cli/commit/0ff7ad2c88e3a47e7e3f6fe68c28a8d2d8a71f1f]
+Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
+---
+ plugins/micron/micron-nvme.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/plugins/micron/micron-nvme.c b/plugins/micron/micron-nvme.c
+index 8240887..165fcf0 100644
+--- a/plugins/micron/micron-nvme.c
++++ b/plugins/micron/micron-nvme.c
+@@ -13,6 +13,7 @@
+ #include "nvme-print.h"
+ #include "nvme-ioctl.h"
+ #include <sys/ioctl.h>
++#include <limits.h>
+
+ #define CREATE_CMD
+ #include "micron-nvme.h"
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.10.1.bb b/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.10.1.bb
new file mode 100644
index 00000000..4f4bb2df
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.10.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "NVMe management command line interface"
+AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
+HOMEPAGE = "https://github.com/linux-nvme/nvme-cli"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022"
+DEPENDS = "util-linux"
+PV .= "+git${SRCPV}"
+
+SRC_URI = "git://github.com/linux-nvme/nvme-cli.git \
+ file://0001-fix-musl-compilation.patch \
+"
+SRCREV = "1d84d6ae0c7d7ceff5a73fe174dde8b0005f6108"
+
+S = "${WORKDIR}/git"
+
+inherit bash-completion systemd
+
+do_install() {
+ oe_runmake install-spec DESTDIR=${D} PREFIX=${prefix} \
+ UDEVDIR=${nonarch_base_libdir}/udev SYSTEMDDIR=${systemd_unitdir}
+}
+
+pkg_postinst_ontarget_${PN}() {
+ ${sbindir}/nvme gen-hostnqn > ${sysconfdir}/nvme/hostnqn
+ ${bindir}/uuidgen > ${sysconfdir}/nvme/hostid
+}
+
+PACKAGES =+ "${PN}-dracut ${PN}-zsh-completion"
+
+FILES_${PN} += "${systemd_system_unitdir}"
+FILES_${PN}-dracut = "${nonarch_libdir}/dracut/dracut.conf.d"
+FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+RDEPENDS_${PN} = "util-linux-uuidgen"
diff --git a/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.6.bb b/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.6.bb
deleted file mode 100644
index 9b7e6cd4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "NVMe management command line interface"
-AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
-HOMEPAGE = "https://github.com/linux-nvme/nvme-cli"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022"
-DEPENDS = "util-linux"
-PV .= "+git${SRCPV}"
-
-SRC_URI = "git://github.com/linux-nvme/nvme-cli.git \
- file://0001-Makefile-fix-bash-completion-install-path.patch \
- "
-SRCREV = "642d426faf8a67ed01e90f7c35c0d967f8cc52a3"
-
-S = "${WORKDIR}/git"
-
-inherit bash-completion
-
-do_install() {
- oe_runmake PREFIX=${prefix} DESTDIR=${D} install
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
index 44411751..fd6b85ff 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
@@ -13,7 +13,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}.tar.bz2 \
SRC_URI[md5sum] = "8ea16c6b3cc48097a8e62311fe0e25b9"
SRC_URI[sha256sum] = "de67caa102aa4c8fbed5300e5a0262e40411c4cc79f4379a8d34eed797968fc3"
-inherit distutils cmake gettext
+inherit distutils3 cmake gettext
do_install_append() {
# these files seem to only be used by symbian and trigger QA warnings
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch
new file mode 100644
index 00000000..ffe0a006
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch
@@ -0,0 +1,53 @@
+From 63dc2d0c9384d85482dc4cbb3c179b4b0bb18d4e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 22:32:01 -0800
+Subject: [PATCH] cmake: Use GNUInstallDirs
+
+Helps install cmakefiles in right libdir
+
+Upstream-Status: Submitted [https://github.com/labapart/gattlib/pull/139]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 5 +++--
+ dbus/CMakeLists.txt | 18 ++++++++++--------
+ 2 files changed, 13 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 12d8d71..ded7239 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -152,7 +152,8 @@ endif()
+ #
+ # List of file to install
+ #
+-install(FILES include/gattlib.h DESTINATION include)
+-install(FILES ${PROJECT_BINARY_DIR}/gattlib.pc DESTINATION lib/pkgconfig)
++include(GNUInstallDirs)
++install(FILES include/gattlib.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++install(FILES ${PROJECT_BINARY_DIR}/gattlib.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+ include(CPack)
+diff --git a/dbus/CMakeLists.txt b/dbus/CMakeLists.txt
+index f5096ce..cef031f 100644
+--- a/dbus/CMakeLists.txt
++++ b/dbus/CMakeLists.txt
+@@ -19,7 +19,7 @@
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ #
+
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.0)
+
+ find_package(PkgConfig REQUIRED)
+
+@@ -119,4 +119,6 @@ endif()
+ add_library(gattlib SHARED ${gattlib_SRCS})
+ target_link_libraries(gattlib ${gattlib_LIBS})
+
+-install(TARGETS gattlib LIBRARY DESTINATION lib)
++include(GNUInstallDirs)
++
++install(TARGETS gattlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch
new file mode 100644
index 00000000..96e4f8d6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch
@@ -0,0 +1,70 @@
+From 87df05c3f83c563af76ab00567e7a1ab7a6ebc88 Mon Sep 17 00:00:00 2001
+From: Peter Rosin <peda@axentia.se>
+Date: Sat, 9 Nov 2019 15:42:03 +0100
+Subject: [PATCH] dbus: avoid 'strange' chars from the build dir in #defines
+
+gdbus-codegen uses include guards with the full path dir, and if there
+are "bad" characters, such as '+', this fails miserably. E.g. Yocto has a
+tendency to build in directories named from the Yocto package version and
+that package version containing a '+' are not uncommon, and even the
+standard in certain scenarios such as when using ${SRCPV}.
+
+Avoid the problem of the full path "leaking" into the source by avoiding
+the normal include guards and request "#pragma once" instead.
+
+Signed-off-by: Peter Rosin <peda@axentia.se>
+---
+ dbus/CMakeLists.txt | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/dbus/CMakeLists.txt b/dbus/CMakeLists.txt
+index f5096ce10ecd..013c32239e12 100644
+--- a/dbus/CMakeLists.txt
++++ b/dbus/CMakeLists.txt
+@@ -43,37 +43,37 @@ else()
+ endif()
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-adaptater1.c
+- COMMAND gdbus-codegen --interface-prefix org.bluez.Adapter1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-adaptater1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Adapter1.xml
++ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Adapter1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-adaptater1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Adapter1.xml
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Adapter1.xml
+ COMMENT "Generate D-Bus 'org.bluez.Adapter1.xml'"
+ )
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-device1.c
+- COMMAND gdbus-codegen --interface-prefix org.bluez.Device1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-device1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Device1.xml
++ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Device1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-device1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Device1.xml
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Device1.xml
+ COMMENT "Generate D-Bus 'org.bluez.Device1.xml'"
+ )
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattservice1.c
+- COMMAND gdbus-codegen --interface-prefix org.bluez.GattService1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattservice1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattService1.xml
++ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.GattService1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattservice1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattService1.xml
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattService1.xml
+ COMMENT "Generate D-Bus 'org.bluez.GattService1.xml'"
+ )
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattcharacteristic1.c
+- COMMAND gdbus-codegen --interface-prefix org.bluez.Characteristic1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattcharacteristic1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattCharacteristic1.xml
++ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Characteristic1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattcharacteristic1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattCharacteristic1.xml
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattCharacteristic1.xml
+ COMMENT "Generate D-Bus 'org.bluez.GattCharacteristic1.xml'"
+ )
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattdescriptor1.c
+- COMMAND gdbus-codegen --interface-prefix org.bluez.Descriptor1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattdescriptor1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattDescriptor1.xml
++ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Descriptor1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-gattdescriptor1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattDescriptor1.xml
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.GattDescriptor1.xml
+ COMMENT "Generate D-Bus 'org.bluez.GattDescriptor1.xml'"
+ )
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-battery1.c
+- COMMAND gdbus-codegen --interface-prefix org.bluez.Battery1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-battery1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Battery1.xml
++ COMMAND gdbus-codegen --pragma-once --interface-prefix org.bluez.Battery1. --generate-c-code ${CMAKE_CURRENT_BINARY_DIR}/org-bluez-battery1 ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Battery1.xml
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${DBUS_BLUEZ_API}/org.bluez.Battery1.xml
+ COMMENT "Generate D-Bus 'org.bluez.Battery1.xml'"
+ )
+--
+2.11.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb
new file mode 100644
index 00000000..6b4decce
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Bluetooth library with attribute support"
+SECTION = "libs/network"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://CMakeLists.txt;beginline=1;endline=20;md5=8d5efeb9189b60866baff80ff791bf00"
+
+DEPENDS = "bluez5 glib-2.0"
+DEPENDS += "glib-2.0-native"
+
+PV = "0.2+git${SRCPV}"
+
+SRC_URI = "git://github.com/labapart/gattlib.git \
+ file://dbus-avoid-strange-chars-from-the-build-dir.patch \
+ file://0001-cmake-Use-GNUInstallDirs.patch \
+ "
+
+SRCBRANCH = "master"
+SRCREV = "5c7ee43bd70ee09a7170ddd55b9fdbdef69e9080"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG[examples] = "-DGATTLIB_BUILD_EXAMPLES=ON,-DGATTLIB_BUILD_EXAMPLES=OFF"
+
+# Set this to force use of DBus API if Bluez version is older than 5.42
+PACKAGECONFIG[force-dbus] = "-DGATTLIB_FORCE_DBUS=TRUE,-DGATTLIB_FORCE_DBUS=FALSE"
+
+EXTRA_OECMAKE += "-DGATTLIB_BUILD_DOCS=OFF"
+
+inherit pkgconfig cmake
+
+FILES_${PN} = "${libdir}/* ${includedir}/*"
+FILES_${PN}-dev = "${includedir}/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-filter-Rename-some-variables-to-tr_stdxxx.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-filter-Rename-some-variables-to-tr_stdxxx.patch
new file mode 100644
index 00000000..dbc48a21
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-filter-Rename-some-variables-to-tr_stdxxx.patch
@@ -0,0 +1,108 @@
+From 601e6e56f44b91d957bb643662455f52540f336a Mon Sep 17 00:00:00 2001
+From: Corey Minyard <cminyard@mvista.com>
+Date: Tue, 25 Feb 2020 16:08:40 -0600
+Subject: [PATCH] filter: Rename some variables to tr_stdxxx
+
+stdout and stderr can be macros, don't use the names directly.
+
+Signed-off-by: Corey Minyard <cminyard@mvista.com>
+Upstream-Status: Backport [https://github.com/cminyard/gensio/commit/601e6e56f44b91d957bb643662455f52540f336a]
+Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
+---
+ lib/gensio_filter_trace.c | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/lib/gensio_filter_trace.c b/lib/gensio_filter_trace.c
+index d39d58b..abe2db6 100644
+--- a/lib/gensio_filter_trace.c
++++ b/lib/gensio_filter_trace.c
+@@ -32,8 +32,8 @@ struct trace_filter {
+ enum trace_dir dir;
+ bool raw;
+ char *filename;
+- bool stdout;
+- bool stderr;
++ bool tr_stdout;
++ bool tr_stderr;
+
+ FILE *tr;
+ };
+@@ -82,9 +82,9 @@ trace_try_connect(struct gensio_filter *filter, struct timeval *timeout)
+ {
+ struct trace_filter *tfilter = filter_to_trace(filter);
+
+- if (tfilter->stdout) {
++ if (tfilter->tr_stdout) {
+ tfilter->tr = stdout;
+- } else if (tfilter->stderr) {
++ } else if (tfilter->tr_stderr) {
+ tfilter->tr = stderr;
+ } else if (tfilter->filename) {
+ tfilter->tr = fopen(tfilter->filename, "a+");
+@@ -99,7 +99,7 @@ trace_try_disconnect(struct gensio_filter *filter, struct timeval *timeout)
+ {
+ struct trace_filter *tfilter = filter_to_trace(filter);
+
+- if (!tfilter->stdout && !tfilter->stderr && tfilter->tr)
++ if (!tfilter->tr_stdout && !tfilter->tr_stderr && tfilter->tr)
+ fclose(tfilter->tr);
+ tfilter->tr = NULL;
+ return 0;
+@@ -331,12 +331,12 @@ static int gensio_trace_filter_func(struct gensio_filter *filter, int op,
+
+ static struct gensio_filter *
+ gensio_trace_filter_raw_alloc(struct gensio_os_funcs *o, enum trace_dir dir,
+- bool raw, const char *filename, bool stdout,
+- bool stderr)
++ bool raw, const char *filename, bool tr_stdout,
++ bool tr_stderr)
+ {
+ struct trace_filter *tfilter;
+
+- if (!filename && !stdout && !stderr)
++ if (!filename && !tr_stdout && !tr_stderr)
+ dir = TRACE_NONE;
+
+ tfilter = o->zalloc(o, sizeof(*tfilter));
+@@ -351,8 +351,8 @@ gensio_trace_filter_raw_alloc(struct gensio_os_funcs *o, enum trace_dir dir,
+ if (!tfilter->filename)
+ goto out_nomem;
+ }
+- tfilter->stdout = stdout;
+- tfilter->stderr = stderr;
++ tfilter->tr_stdout = tr_stdout;
++ tfilter->tr_stderr = tr_stderr;
+
+ tfilter->lock = o->alloc_lock(o);
+ if (!tfilter->lock)
+@@ -385,7 +385,7 @@ gensio_trace_filter_alloc(struct gensio_os_funcs *o,
+ {
+ struct gensio_filter *filter;
+ int dir = TRACE_NONE;
+- bool raw = false, stdout = false, stderr = false;
++ bool raw = false, tr_stdout = false, tr_stderr = false;
+ const char *filename = NULL;
+ unsigned int i;
+
+@@ -396,15 +396,15 @@ gensio_trace_filter_alloc(struct gensio_os_funcs *o,
+ continue;
+ if (gensio_check_keyvalue(args[i], "file", &filename) > 0)
+ continue;
+- if (gensio_check_keybool(args[i], "stdout", &stdout) > 0)
++ if (gensio_check_keybool(args[i], "stdout", &tr_stdout) > 0)
+ continue;
+- if (gensio_check_keybool(args[i], "stderr", &stderr) > 0)
++ if (gensio_check_keybool(args[i], "stderr", &tr_stderr) > 0)
+ continue;
+ return GE_INVAL;
+ }
+
+ filter = gensio_trace_filter_raw_alloc(o, dir, raw, filename,
+- stdout, stderr);
++ tr_stdout, tr_stderr);
+ if (!filter)
+ return GE_NOMEM;
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_1.5.3.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_1.5.3.bb
new file mode 100644
index 00000000..8c97662d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_1.5.3.bb
@@ -0,0 +1,27 @@
+SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc"
+HOMEPAGE = "https://github.com/cminyard/gensio"
+LICENSE = "GPL-2.0 & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \
+ file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \
+ "
+
+SRCREV = "95ec1ab31ee97411fc37156d12061adcf0331598"
+PV = "1.5.3+git${SRCPV}"
+
+SRC_URI = "git://github.com/cminyard/gensio;protocol=https \
+ file://0001-filter-Rename-some-variables-to-tr_stdxxx.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG ??= "openssl tcp-wrappers"
+
+PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl"
+PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers"
+PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig"
+
+EXTRA_OECONF = "--without-python"
+
+RDEPENDS_${PN} += "bash"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
deleted file mode 100644
index 5535a3c5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 044ae35c5694c39a4aca2a33502cc3897e88f79e Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Fri, 14 Jul 2017 15:15:35 +0200
-Subject: [PATCH 1/7] hostapd: Avoid key reinstallation in FT handshake
-
-Do not reinstall TK to the driver during Reassociation Response frame
-processing if the first attempt of setting the TK succeeded. This avoids
-issues related to clearing the TX/RX PN that could result in reusing
-same PN values for transmitted frames (e.g., due to CCM nonce reuse and
-also hitting replay protection on the receiver) and accepting replayed
-frames on RX side.
-
-This issue was introduced by the commit
-0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in
-authenticator') which allowed wpa_ft_install_ptk() to be called multiple
-times with the same PTK. While the second configuration attempt is
-needed with some drivers, it must be done only if the first attempt
-failed.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-
-Upstream-Status: Backport
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- src/ap/ieee802_11.c | 16 +++++++++++++---
- src/ap/wpa_auth.c | 11 +++++++++++
- src/ap/wpa_auth.h | 3 ++-
- src/ap/wpa_auth_ft.c | 10 ++++++++++
- src/ap/wpa_auth_i.h | 1 +
- 5 files changed, 37 insertions(+), 4 deletions(-)
-
-diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
-index 4e04169..333035f 100644
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd,
- {
- struct ieee80211_ht_capabilities ht_cap;
- struct ieee80211_vht_capabilities vht_cap;
-+ int set = 1;
-
- /*
- * Remove the STA entry to ensure the STA PS state gets cleared and
-@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd,
- * FT-over-the-DS, where a station re-associates back to the same AP but
- * skips the authentication flow, or if working with a driver that
- * does not support full AP client state.
-+ *
-+ * Skip this if the STA has already completed FT reassociation and the
-+ * TK has been configured since the TX/RX PN must not be reset to 0 for
-+ * the same key.
- */
-- if (!sta->added_unassoc)
-+ if (!sta->added_unassoc &&
-+ (!(sta->flags & WLAN_STA_AUTHORIZED) ||
-+ !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) {
- hostapd_drv_sta_remove(hapd, sta->addr);
-+ wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED);
-+ set = 0;
-+ }
-
- #ifdef CONFIG_IEEE80211N
- if (sta->flags & WLAN_STA_HT)
-@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd,
- sta->flags & WLAN_STA_VHT ? &vht_cap : NULL,
- sta->flags | WLAN_STA_ASSOC, sta->qosinfo,
- sta->vht_opmode, sta->p2p_ie ? 1 : 0,
-- sta->added_unassoc)) {
-+ set)) {
- hostapd_logger(hapd, sta->addr,
- HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE,
- "Could not %s STA to kernel driver",
-- sta->added_unassoc ? "set" : "add");
-+ set ? "set" : "add");
-
- if (sta->added_unassoc) {
- hostapd_drv_sta_remove(hapd, sta->addr);
-diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
-index 3587086..707971d 100644
---- a/src/ap/wpa_auth.c
-+++ b/src/ap/wpa_auth.c
-@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event)
- #else /* CONFIG_IEEE80211R */
- break;
- #endif /* CONFIG_IEEE80211R */
-+ case WPA_DRV_STA_REMOVED:
-+ sm->tk_already_set = FALSE;
-+ return 0;
- }
-
- #ifdef CONFIG_IEEE80211R
-@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
- }
-
-
-+int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
-+{
-+ if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt))
-+ return 0;
-+ return sm->tk_already_set;
-+}
-+
-+
- int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
- struct rsn_pmksa_cache_entry *entry)
- {
-diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h
-index 0de8d97..97461b0 100644
---- a/src/ap/wpa_auth.h
-+++ b/src/ap/wpa_auth.h
-@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
- u8 *data, size_t data_len);
- enum wpa_event {
- WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
-- WPA_REAUTH_EAPOL, WPA_ASSOC_FT
-+ WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED
- };
- void wpa_remove_ptk(struct wpa_state_machine *sm);
- int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event);
-@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm);
- int wpa_auth_get_pairwise(struct wpa_state_machine *sm);
- int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm);
- int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm);
-+int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm);
- int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
- struct rsn_pmksa_cache_entry *entry);
- struct rsn_pmksa_cache_entry *
-diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
-index 42242a5..e63b99a 100644
---- a/src/ap/wpa_auth_ft.c
-+++ b/src/ap/wpa_auth_ft.c
-@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
- return;
- }
-
-+ if (sm->tk_already_set) {
-+ /* Must avoid TK reconfiguration to prevent clearing of TX/RX
-+ * PN in the driver */
-+ wpa_printf(MSG_DEBUG,
-+ "FT: Do not re-install same PTK to the driver");
-+ return;
-+ }
-+
- /* FIX: add STA entry to kernel/driver here? The set_key will fail
- * most likely without this.. At the moment, STA entry is added only
- * after association has been completed. This function will be called
-@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
-
- /* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */
- sm->pairwise_set = TRUE;
-+ sm->tk_already_set = TRUE;
- }
-
-
-@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm,
-
- sm->pairwise = pairwise;
- sm->PTK_valid = TRUE;
-+ sm->tk_already_set = FALSE;
- wpa_ft_install_ptk(sm);
-
- buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
-diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
-index 72b7eb3..7fd8f05 100644
---- a/src/ap/wpa_auth_i.h
-+++ b/src/ap/wpa_auth_i.h
-@@ -65,6 +65,7 @@ struct wpa_state_machine {
- struct wpa_ptk PTK;
- Boolean PTK_valid;
- Boolean pairwise_set;
-+ Boolean tk_already_set;
- int keycount;
- Boolean Pair;
- struct wpa_key_replay_counter {
---
-1.8.3.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
deleted file mode 100644
index 4e57bcaa..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-From c623cc973de525f7411dffe438e957ba86ef4733 Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Wed, 12 Jul 2017 16:03:24 +0200
-Subject: [PATCH 2/7] Prevent reinstallation of an already in-use group key
-
-Track the current GTK and IGTK that is in use and when receiving a
-(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do
-not install the given key if it is already in use. This prevents an
-attacker from trying to trick the client into resetting or lowering the
-sequence counter associated to the group key.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-
-Upstream-Status: Backport
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- src/common/wpa_common.h | 11 +++++
- src/rsn_supp/wpa.c | 116 ++++++++++++++++++++++++++++++------------------
- src/rsn_supp/wpa_i.h | 4 ++
- 3 files changed, 87 insertions(+), 44 deletions(-)
-
-diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
-index af1d0f0..d200285 100644
---- a/src/common/wpa_common.h
-+++ b/src/common/wpa_common.h
-@@ -217,6 +217,17 @@ struct wpa_ptk {
- size_t tk_len;
- };
-
-+struct wpa_gtk {
-+ u8 gtk[WPA_GTK_MAX_LEN];
-+ size_t gtk_len;
-+};
-+
-+#ifdef CONFIG_IEEE80211W
-+struct wpa_igtk {
-+ u8 igtk[WPA_IGTK_MAX_LEN];
-+ size_t igtk_len;
-+};
-+#endif /* CONFIG_IEEE80211W */
-
- /* WPA IE version 1
- * 00-50-f2:1 (OUI:OUI type)
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 3c47879..95bd7be 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- const u8 *_gtk = gd->gtk;
- u8 gtk_buf[32];
-
-+ /* Detect possible key reinstallation */
-+ if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
-+ gd->keyidx, gd->tx, gd->gtk_len);
-+ return 0;
-+ }
-+
- wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)",
-@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- }
- os_memset(gtk_buf, 0, sizeof(gtk_buf));
-
-+ sm->gtk.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+
- return 0;
- }
-
-@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- }
-
-
-+#ifdef CONFIG_IEEE80211W
-+static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
-+ const struct wpa_igtk_kde *igtk)
-+{
-+ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
-+ u16 keyidx = WPA_GET_LE16(igtk->keyid);
-+
-+ /* Detect possible key reinstallation */
-+ if (sm->igtk.igtk_len == len &&
-+ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
-+ keyidx);
-+ return 0;
-+ }
-+
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x",
-+ keyidx, MAC2STR(igtk->pn));
-+ wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len);
-+ if (keyidx > 4095) {
-+ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+ "WPA: Invalid IGTK KeyID %d", keyidx);
-+ return -1;
-+ }
-+ if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-+ broadcast_ether_addr,
-+ keyidx, 0, igtk->pn, sizeof(igtk->pn),
-+ igtk->igtk, len) < 0) {
-+ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+ "WPA: Failed to configure IGTK to the driver");
-+ return -1;
-+ }
-+
-+ sm->igtk.igtk_len = len;
-+ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+
-+ return 0;
-+}
-+#endif /* CONFIG_IEEE80211W */
-+
-+
- static int ieee80211w_set_keys(struct wpa_sm *sm,
- struct wpa_eapol_ie_parse *ie)
- {
-@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
- if (ie->igtk) {
- size_t len;
- const struct wpa_igtk_kde *igtk;
-- u16 keyidx;
-+
- len = wpa_cipher_key_len(sm->mgmt_group_cipher);
- if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len)
- return -1;
-+
- igtk = (const struct wpa_igtk_kde *) ie->igtk;
-- keyidx = WPA_GET_LE16(igtk->keyid);
-- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d "
-- "pn %02x%02x%02x%02x%02x%02x",
-- keyidx, MAC2STR(igtk->pn));
-- wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK",
-- igtk->igtk, len);
-- if (keyidx > 4095) {
-- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-- "WPA: Invalid IGTK KeyID %d", keyidx);
-- return -1;
-- }
-- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-- broadcast_ether_addr,
-- keyidx, 0, igtk->pn, sizeof(igtk->pn),
-- igtk->igtk, len) < 0) {
-- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-- "WPA: Failed to configure IGTK to the driver");
-+ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
- return -1;
-- }
- }
-
- return 0;
-@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm)
- */
- void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- {
-- int clear_ptk = 1;
-+ int clear_keys = 1;
-
- if (sm == NULL)
- return;
-@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- /* Prepare for the next transition */
- wpa_ft_prepare_auth_request(sm, NULL);
-
-- clear_ptk = 0;
-+ clear_keys = 0;
- }
- #endif /* CONFIG_IEEE80211R */
-
-- if (clear_ptk) {
-+ if (clear_keys) {
- /*
- * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if
- * this is not part of a Fast BSS Transition.
-@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- sm->tptk_set = 0;
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
-+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+#ifdef CONFIG_IEEE80211W
-+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+#endif /* CONFIG_IEEE80211W */
- }
-
- #ifdef CONFIG_TDLS
-@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
- os_memset(sm->pmk, 0, sizeof(sm->pmk));
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
-+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+#ifdef CONFIG_IEEE80211W
-+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+#endif /* CONFIG_IEEE80211W */
- #ifdef CONFIG_IEEE80211R
- os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
- os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0));
-@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- os_memset(&gd, 0, sizeof(gd));
- #ifdef CONFIG_IEEE80211W
- } else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) {
-- struct wpa_igtk_kde igd;
-- u16 keyidx;
--
-- os_memset(&igd, 0, sizeof(igd));
-- keylen = wpa_cipher_key_len(sm->mgmt_group_cipher);
-- os_memcpy(igd.keyid, buf + 2, 2);
-- os_memcpy(igd.pn, buf + 4, 6);
--
-- keyidx = WPA_GET_LE16(igd.keyid);
-- os_memcpy(igd.igtk, buf + 10, keylen);
--
-- wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)",
-- igd.igtk, keylen);
-- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-- broadcast_ether_addr,
-- keyidx, 0, igd.pn, sizeof(igd.pn),
-- igd.igtk, keylen) < 0) {
-- wpa_printf(MSG_DEBUG, "Failed to install the IGTK in "
-- "WNM mode");
-- os_memset(&igd, 0, sizeof(igd));
-+ const struct wpa_igtk_kde *igtk;
-+
-+ igtk = (const struct wpa_igtk_kde *) (buf + 2);
-+ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
- return -1;
-- }
-- os_memset(&igd, 0, sizeof(igd));
- #endif /* CONFIG_IEEE80211W */
- } else {
- wpa_printf(MSG_DEBUG, "Unknown element id");
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index f653ba6..afc9e37 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -31,6 +31,10 @@ struct wpa_sm {
- u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN];
- int rx_replay_counter_set;
- u8 request_counter[WPA_REPLAY_COUNTER_LEN];
-+ struct wpa_gtk gtk;
-+#ifdef CONFIG_IEEE80211W
-+ struct wpa_igtk igtk;
-+#endif /* CONFIG_IEEE80211W */
-
- struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
-
---
-1.8.3.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
deleted file mode 100644
index e39bbf63..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-From a6caab8060ab60876e233306f5c586451169eba1 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 1 Oct 2017 12:12:24 +0300
-Subject: [PATCH 3/7] Extend protection of GTK/IGTK reinstallation of WNM-Sleep
- Mode cases
-
-This extends the protection to track last configured GTK/IGTK value
-separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a
-corner case where these two different mechanisms may get used when the
-GTK/IGTK has changed and tracking a single value is not sufficient to
-detect a possible key reconfiguration.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
-
-Upstream-Status: Backport
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- src/rsn_supp/wpa.c | 53 +++++++++++++++++++++++++++++++++++++---------------
- src/rsn_supp/wpa_i.h | 2 ++
- 2 files changed, 40 insertions(+), 15 deletions(-)
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 95bd7be..7a2c68d 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -709,14 +709,17 @@ struct wpa_gtk_data {
-
- static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- const struct wpa_gtk_data *gd,
-- const u8 *key_rsc)
-+ const u8 *key_rsc, int wnm_sleep)
- {
- const u8 *_gtk = gd->gtk;
- u8 gtk_buf[32];
-
- /* Detect possible key reinstallation */
-- if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-- os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
-+ if ((sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) ||
-+ (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk,
-+ sm->gtk_wnm_sleep.gtk_len) == 0)) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
- gd->keyidx, gd->tx, gd->gtk_len);
-@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- }
- os_memset(gtk_buf, 0, sizeof(gtk_buf));
-
-- sm->gtk.gtk_len = gd->gtk_len;
-- os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+ if (wnm_sleep) {
-+ sm->gtk_wnm_sleep.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk,
-+ sm->gtk_wnm_sleep.gtk_len);
-+ } else {
-+ sm->gtk.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+ }
-
- return 0;
- }
-@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
- gtk_len, gtk_len,
- &gd.key_rsc_len, &gd.alg) ||
-- wpa_supplicant_install_gtk(sm, &gd, key_rsc))) {
-+ wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "RSN: Failed to install GTK");
- os_memset(&gd, 0, sizeof(gd));
-@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
-
- #ifdef CONFIG_IEEE80211W
- static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
-- const struct wpa_igtk_kde *igtk)
-+ const struct wpa_igtk_kde *igtk,
-+ int wnm_sleep)
- {
- size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
- u16 keyidx = WPA_GET_LE16(igtk->keyid);
-
- /* Detect possible key reinstallation */
-- if (sm->igtk.igtk_len == len &&
-- os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
-+ if ((sm->igtk.igtk_len == len &&
-+ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) ||
-+ (sm->igtk_wnm_sleep.igtk_len == len &&
-+ os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk,
-+ sm->igtk_wnm_sleep.igtk_len) == 0)) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
- keyidx);
-@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
- return -1;
- }
-
-- sm->igtk.igtk_len = len;
-- os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+ if (wnm_sleep) {
-+ sm->igtk_wnm_sleep.igtk_len = len;
-+ os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk,
-+ sm->igtk_wnm_sleep.igtk_len);
-+ } else {
-+ sm->igtk.igtk_len = len;
-+ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+ }
-
- return 0;
- }
-@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
- return -1;
-
- igtk = (const struct wpa_igtk_kde *) ie->igtk;
-- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
-+ if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0)
- return -1;
- }
-
-@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
- if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc))
- key_rsc = null_rsc;
-
-- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) ||
-+ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) ||
- wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0)
- goto failed;
- os_memset(&gd, 0, sizeof(gd));
-@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- sm->tptk_set = 0;
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
- os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
- #ifdef CONFIG_IEEE80211W
- os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
- #endif /* CONFIG_IEEE80211W */
- }
-
-@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
- os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
- #ifdef CONFIG_IEEE80211W
- os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
- #endif /* CONFIG_IEEE80211W */
- #ifdef CONFIG_IEEE80211R
- os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
-@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
-
- wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)",
- gd.gtk, gd.gtk_len);
-- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
-+ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) {
- os_memset(&gd, 0, sizeof(gd));
- wpa_printf(MSG_DEBUG, "Failed to install the GTK in "
- "WNM mode");
-@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- const struct wpa_igtk_kde *igtk;
-
- igtk = (const struct wpa_igtk_kde *) (buf + 2);
-- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
-+ if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0)
- return -1;
- #endif /* CONFIG_IEEE80211W */
- } else {
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index afc9e37..9a54631 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -32,8 +32,10 @@ struct wpa_sm {
- int rx_replay_counter_set;
- u8 request_counter[WPA_REPLAY_COUNTER_LEN];
- struct wpa_gtk gtk;
-+ struct wpa_gtk gtk_wnm_sleep;
- #ifdef CONFIG_IEEE80211W
- struct wpa_igtk igtk;
-+ struct wpa_igtk igtk_wnm_sleep;
- #endif /* CONFIG_IEEE80211W */
-
- struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
---
-1.8.3.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0004-Prevent-installation-of-an-all-zero-TK.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0004-Prevent-installation-of-an-all-zero-TK.patch
deleted file mode 100644
index 51036251..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0004-Prevent-installation-of-an-all-zero-TK.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From abf941647f2dc33b0b59612f525e1b292331cc9f Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Fri, 29 Sep 2017 04:22:51 +0200
-Subject: [PATCH 4/7] Prevent installation of an all-zero TK
-
-Properly track whether a PTK has already been installed to the driver
-and the TK part cleared from memory. This prevents an attacker from
-trying to trick the client into installing an all-zero TK.
-
-This fixes the earlier fix in commit
-ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the
-driver in EAPOL-Key 3/4 retry case') which did not take into account
-possibility of an extra message 1/4 showing up between retries of
-message 3/4.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-
-Upstream-Status: Backport
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- src/common/wpa_common.h | 1 +
- src/rsn_supp/wpa.c | 5 ++---
- src/rsn_supp/wpa_i.h | 1 -
- 3 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
-index d200285..1021ccb 100644
---- a/src/common/wpa_common.h
-+++ b/src/common/wpa_common.h
-@@ -215,6 +215,7 @@ struct wpa_ptk {
- size_t kck_len;
- size_t kek_len;
- size_t tk_len;
-+ int installed; /* 1 if key has already been installed to driver */
- };
-
- struct wpa_gtk {
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 7a2c68d..0550a41 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
- os_memset(buf, 0, sizeof(buf));
- }
- sm->tptk_set = 1;
-- sm->tk_to_set = 1;
-
- kde = sm->assoc_wpa_ie;
- kde_len = sm->assoc_wpa_ie_len;
-@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
- enum wpa_alg alg;
- const u8 *key_rsc;
-
-- if (!sm->tk_to_set) {
-+ if (sm->ptk.installed) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Do not re-install same PTK to the driver");
- return 0;
-@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
-
- /* TK is not needed anymore in supplicant */
- os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN);
-- sm->tk_to_set = 0;
-+ sm->ptk.installed = 1;
-
- if (sm->wpa_ptk_rekey) {
- eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL);
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index 9a54631..41f371f 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -24,7 +24,6 @@ struct wpa_sm {
- struct wpa_ptk ptk, tptk;
- int ptk_set, tptk_set;
- unsigned int msg_3_of_4_ok:1;
-- unsigned int tk_to_set:1;
- u8 snonce[WPA_NONCE_LEN];
- u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */
- int renew_snonce;
---
-1.8.3.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
deleted file mode 100644
index b0e1df31..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 804b9d72808cddd822e7dcec4d60f40c1aceda82 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 1 Oct 2017 12:32:57 +0300
-Subject: [PATCH 5/7] Fix PTK rekeying to generate a new ANonce
-
-The Authenticator state machine path for PTK rekeying ended up bypassing
-the AUTHENTICATION2 state where a new ANonce is generated when going
-directly to the PTKSTART state since there is no need to try to
-determine the PMK again in such a case. This is far from ideal since the
-new PTK would depend on a new nonce only from the supplicant.
-
-Fix this by generating a new ANonce when moving to the PTKSTART state
-for the purpose of starting new 4-way handshake to rekey PTK.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
-
-Upstream-Status: Backport
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- src/ap/wpa_auth.c | 24 +++++++++++++++++++++---
- 1 file changed, 21 insertions(+), 3 deletions(-)
-
-diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
-index 707971d..bf10cc1 100644
---- a/src/ap/wpa_auth.c
-+++ b/src/ap/wpa_auth.c
-@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
- }
-
-
-+static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
-+{
-+ if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
-+ wpa_printf(MSG_ERROR,
-+ "WPA: Failed to get random data for ANonce");
-+ sm->Disconnect = TRUE;
-+ return -1;
-+ }
-+ wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce,
-+ WPA_NONCE_LEN);
-+ sm->TimeoutCtr = 0;
-+ return 0;
-+}
-+
-+
- SM_STATE(WPA_PTK, INITPMK)
- {
- u8 msk[2 * PMK_LEN];
-@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK)
- SM_ENTER(WPA_PTK, AUTHENTICATION);
- else if (sm->ReAuthenticationRequest)
- SM_ENTER(WPA_PTK, AUTHENTICATION2);
-- else if (sm->PTKRequest)
-- SM_ENTER(WPA_PTK, PTKSTART);
-- else switch (sm->wpa_ptk_state) {
-+ else if (sm->PTKRequest) {
-+ if (wpa_auth_sm_ptk_update(sm) < 0)
-+ SM_ENTER(WPA_PTK, DISCONNECTED);
-+ else
-+ SM_ENTER(WPA_PTK, PTKSTART);
-+ } else switch (sm->wpa_ptk_state) {
- case WPA_PTK_INITIALIZE:
- break;
- case WPA_PTK_DISCONNECT:
---
-1.8.3.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0006-TDLS-Reject-TPK-TK-reconfiguration.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0006-TDLS-Reject-TPK-TK-reconfiguration.patch
deleted file mode 100644
index 72c7d51e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0006-TDLS-Reject-TPK-TK-reconfiguration.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 7fd26db2d8147ed662db192c41d7bc15752a601d Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 11:03:15 +0300
-Subject: [PATCH 6/7] TDLS: Reject TPK-TK reconfiguration
-
-Do not try to reconfigure the same TPK-TK to the driver after it has
-been successfully configured. This is an explicit check to avoid issues
-related to resetting the TX/RX packet number. There was already a check
-for this for TPK M2 (retries of that message are ignored completely), so
-that behavior does not get modified.
-
-For TPK M3, the TPK-TK could have been reconfigured, but that was
-followed by immediate teardown of the link due to an issue in updating
-the STA entry. Furthermore, for TDLS with any real security (i.e.,
-ignoring open/WEP), the TPK message exchange is protected on the AP path
-and simple replay attacks are not feasible.
-
-As an additional corner case, make sure the local nonce gets updated if
-the peer uses a very unlikely "random nonce" of all zeros.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
-
-Upstream-Status: Backport
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++--
- 1 file changed, 36 insertions(+), 2 deletions(-)
-
-diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
-index e424168..9eb9738 100644
---- a/src/rsn_supp/tdls.c
-+++ b/src/rsn_supp/tdls.c
-@@ -112,6 +112,7 @@ struct wpa_tdls_peer {
- u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */
- } tpk;
- int tpk_set;
-+ int tk_set; /* TPK-TK configured to the driver */
- int tpk_success;
- int tpk_in_progress;
-
-@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- u8 rsc[6];
- enum wpa_alg alg;
-
-+ if (peer->tk_set) {
-+ /*
-+ * This same TPK-TK has already been configured to the driver
-+ * and this new configuration attempt (likely due to an
-+ * unexpected retransmitted frame) would result in clearing
-+ * the TX/RX sequence number which can break security, so must
-+ * not allow that to happen.
-+ */
-+ wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR
-+ " has already been configured to the driver - do not reconfigure",
-+ MAC2STR(peer->addr));
-+ return -1;
-+ }
-+
- os_memset(rsc, 0, 6);
-
- switch (peer->cipher) {
-@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- return -1;
- }
-
-+ wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR,
-+ MAC2STR(peer->addr));
- if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1,
- rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) {
- wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the "
- "driver");
- return -1;
- }
-+ peer->tk_set = 1;
- return 0;
- }
-
-@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- peer->cipher = 0;
- peer->qos_info = 0;
- peer->wmm_capable = 0;
-- peer->tpk_set = peer->tpk_success = 0;
-+ peer->tk_set = peer->tpk_set = peer->tpk_success = 0;
- peer->chan_switch_enabled = 0;
- os_memset(&peer->tpk, 0, sizeof(peer->tpk));
- os_memset(peer->inonce, 0, WPA_NONCE_LEN);
-@@ -1159,6 +1177,7 @@ skip_rsnie:
- wpa_tdls_peer_free(sm, peer);
- return -1;
- }
-+ peer->tk_set = 0; /* A new nonce results in a new TK */
- wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake",
- peer->inonce, WPA_NONCE_LEN);
- os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN);
-@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,
- }
-
-
-+static int tdls_nonce_set(const u8 *nonce)
-+{
-+ int i;
-+
-+ for (i = 0; i < WPA_NONCE_LEN; i++) {
-+ if (nonce[i])
-+ return 1;
-+ }
-+
-+ return 0;
-+}
-+
-+
- static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
- const u8 *buf, size_t len)
- {
-@@ -2004,7 +2036,8 @@ skip_rsn:
- peer->rsnie_i_len = kde.rsn_ie_len;
- peer->cipher = cipher;
-
-- if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) {
-+ if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 ||
-+ !tdls_nonce_set(peer->inonce)) {
- /*
- * There is no point in updating the RNonce for every obtained
- * TPK M1 frame (e.g., retransmission due to timeout) with the
-@@ -2020,6 +2053,7 @@ skip_rsn:
- "TDLS: Failed to get random data for responder nonce");
- goto error;
- }
-+ peer->tk_set = 0; /* A new nonce results in a new TK */
- }
-
- #if 0
---
-1.8.3.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
deleted file mode 100644
index d0978c79..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From a42eb67c42f845faf266b0633d52e17f2a82f511 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 12:06:37 +0300
-Subject: [PATCH 7/7] FT: Do not allow multiple Reassociation Response frames
-
-The driver is expected to not report a second association event without
-the station having explicitly request a new association. As such, this
-case should not be reachable. However, since reconfiguring the same
-pairwise or group keys to the driver could result in nonce reuse issues,
-be extra careful here and do an additional state check to avoid this
-even if the local driver ends up somehow accepting an unexpected
-Reassociation Response frame.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
-
-Upstream-Status: Backport
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- src/rsn_supp/wpa.c | 3 +++
- src/rsn_supp/wpa_ft.c | 8 ++++++++
- src/rsn_supp/wpa_i.h | 1 +
- 3 files changed, 12 insertions(+)
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 0550a41..2a53c6f 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm)
- #ifdef CONFIG_TDLS
- wpa_tdls_disassoc(sm);
- #endif /* CONFIG_TDLS */
-+#ifdef CONFIG_IEEE80211R
-+ sm->ft_reassoc_completed = 0;
-+#endif /* CONFIG_IEEE80211R */
-
- /* Keys are not needed in the WPA state machine anymore */
- wpa_sm_drop_sa(sm);
-diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c
-index 205793e..d45bb45 100644
---- a/src/rsn_supp/wpa_ft.c
-+++ b/src/rsn_supp/wpa_ft.c
-@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,
- u16 capab;
-
- sm->ft_completed = 0;
-+ sm->ft_reassoc_completed = 0;
-
- buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
- 2 + sm->r0kh_id_len + ric_ies_len + 100;
-@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
- return -1;
- }
-
-+ if (sm->ft_reassoc_completed) {
-+ wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission");
-+ return 0;
-+ }
-+
- if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) {
- wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs");
- return -1;
-@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
- return -1;
- }
-
-+ sm->ft_reassoc_completed = 1;
-+
- if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0)
- return -1;
-
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index 41f371f..56f88dc 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -128,6 +128,7 @@ struct wpa_sm {
- size_t r0kh_id_len;
- u8 r1kh_id[FT_R1KH_ID_LEN];
- int ft_completed;
-+ int ft_reassoc_completed;
- int over_the_ds_in_progress;
- u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */
- int set_ptk_after_assoc;
---
-1.8.3.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch
new file mode 100644
index 00000000..9cefd4f2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch
@@ -0,0 +1,79 @@
+From d86d66dc073bc21d3b12faf4112062ae00c1773f Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Thu, 29 Aug 2019 11:52:04 +0300
+Subject: AP: Silently ignore management frame from unexpected source
+address
+
+Do not process any received Management frames with unexpected/invalid SA
+so that we do not add any state for unexpected STA addresses or end up
+sending out frames to unexpected destination. This prevents unexpected
+sequences where an unprotected frame might end up causing the AP to send
+out a response to another device and that other device processing the
+unexpected response.
+
+In particular, this prevents some potential denial of service cases
+where the unexpected response frame from the AP might result in a
+connected station dropping its association.
+
+Upstream-Status: Accepted
+CVE: CVE-2019-16275
+
+Reference to upstream patch:
+https://w1.fi/cgit/hostap/commit/?id=d86d66dc073bc21d3b12faf4112062ae00c1773f
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/ap/drv_callbacks.c | 13 +++++++++++++
+ src/ap/ieee802_11.c | 12 ++++++++++++
+ 2 files changed, 25 insertions(+)
+
+diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c
+index 3158768..34ca379 100644
+--- a/src/ap/drv_callbacks.c
++++ b/src/ap/drv_callbacks.c
+@@ -131,6 +131,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
+ "hostapd_notif_assoc: Skip event with no address");
+ return -1;
+ }
++
++ if (is_multicast_ether_addr(addr) ||
++ is_zero_ether_addr(addr) ||
++ os_memcmp(addr, hapd->own_addr, ETH_ALEN) == 0) {
++ /* Do not process any frames with unexpected/invalid SA so that
++ * we do not add any state for unexpected STA addresses or end
++ * up sending out frames to unexpected destination. */
++ wpa_printf(MSG_DEBUG, "%s: Invalid SA=" MACSTR
++ " in received indication - ignore this indication silently",
++ __func__, MAC2STR(addr));
++ return 0;
++ }
++
+ random_add_randomness(addr, ETH_ALEN);
+
+ hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211,
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+index c85a28d..2816812 100644
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -4626,6 +4626,18 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len,
+ fc = le_to_host16(mgmt->frame_control);
+ stype = WLAN_FC_GET_STYPE(fc);
+
++ if (is_multicast_ether_addr(mgmt->sa) ||
++ is_zero_ether_addr(mgmt->sa) ||
++ os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) {
++ /* Do not process any frames with unexpected/invalid SA so that
++ * we do not add any state for unexpected STA addresses or end
++ * up sending out frames to unexpected destination. */
++ wpa_printf(MSG_DEBUG, "MGMT: Invalid SA=" MACSTR
++ " in received frame - ignore this frame silently",
++ MAC2STR(mgmt->sa));
++ return 0;
++ }
++
+ if (stype == WLAN_FC_STYPE_BEACON) {
+ handle_beacon(hapd, mgmt, len, fi);
+ return 1;
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig
index 27896401..a62bec40 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig
@@ -139,6 +139,9 @@ CONFIG_DRIVER_RADIUS_ACL=y
# IEEE 802.11n (High Throughput) support
CONFIG_IEEE80211N=y
+# IEEE 802.11ac (Very High Throughput) support
+CONFIG_IEEE80211AC=y
+
# Remove debugging code that is printing out debug messages to stdout.
# This can be used to reduce the size of the hostapd considerably if debugging
# code is not needed.
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/hostapd-CVE-2018-14526.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/hostapd-CVE-2018-14526.patch
deleted file mode 100644
index 522fc394..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/hostapd-CVE-2018-14526.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-hostapd-2.6: Fix CVE-2018-14526
-
-[No upstream tracking] -- https://w1.fi/security/2018-1/unauthenticated-eapol-key-decryption.txt
-
-wpa: Ignore unauthenticated encrypted EAPOL-Key data
-
-Ignore unauthenticated encrypted EAPOL-Key data in supplicant
-processing. When using WPA2, these are frames that have the Encrypted
-flag set, but not the MIC flag.
-
-When using WPA2, EAPOL-Key frames that had the Encrypted flag set but
-not the MIC flag, had their data field decrypted without first verifying
-the MIC. In case the data field was encrypted using RC4 (i.e., when
-negotiating TKIP as the pairwise cipher), this meant that
-unauthenticated but decrypted data would then be processed. An adversary
-could abuse this as a decryption oracle to recover sensitive information
-in the data field of EAPOL-Key messages (e.g., the group key).
-
-Upstream-Status: Backport [https://w1.fi/cgit/hostap/commit/src/rsn_supp/wpa.c?id=3e34cfdff6b192fe337c6fb3f487f73e96582961]
-CVE: CVE-2018-14526
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 3c47879..6bdf923 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -2016,6 +2016,17 @@ int wpa_sm_rx_eapol(struct wpa_sm *sm, const u8 *src_addr,
-
- if ((sm->proto == WPA_PROTO_RSN || sm->proto == WPA_PROTO_OSEN) &&
- (key_info & WPA_KEY_INFO_ENCR_KEY_DATA)) {
-+ /*
-+ * Only decrypt the Key Data field if the frame's authenticity
-+ * was verified. When using AES-SIV (FILS), the MIC flag is not
-+ * set, so this check should only be performed if mic_len != 0
-+ * which is the case in this code branch.
-+ */
-+ if (!(key_info & WPA_KEY_INFO_MIC)) {
-+ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+ "WPA: Ignore EAPOL-Key with encrypted but unauthenticated data");
-+ goto out;
-+ }
- if (wpa_supplicant_decrypt_key_data(sm, key, ver, key_data,
- &key_data_len))
- goto out;
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb
deleted file mode 100644
index 42aae427..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "User space daemon for extended IEEE 802.11 management"
-HOMEPAGE = "http://w1.fi/hostapd/"
-SECTION = "kernel/userland"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://hostapd/README;md5=8aa4e8c78b59b12016c4cb2d0a8db350"
-
-DEPENDS = "libnl openssl"
-
-SRC_URI = " \
- http://w1.fi/releases/hostapd-${PV}.tar.gz \
- file://defconfig \
- file://init \
- file://hostapd.service \
- file://0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch \
- file://0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch \
- file://0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch \
- file://0004-Prevent-installation-of-an-all-zero-TK.patch \
- file://0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch \
- file://0006-TDLS-Reject-TPK-TK-reconfiguration.patch \
- file://0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch \
- file://hostapd-CVE-2018-14526.patch \
-"
-
-SRC_URI[md5sum] = "eaa56dce9bd8f1d195eb62596eab34c7"
-SRC_URI[sha256sum] = "01526b90c1d23bec4b0f052039cc4456c2fd19347b4d830d1d58a0a6aea7117d"
-
-S = "${WORKDIR}/hostapd-${PV}"
-B = "${WORKDIR}/hostapd-${PV}/hostapd"
-
-inherit update-rc.d systemd pkgconfig distro_features_check
-
-CONFLICT_DISTRO_FEATURES = "openssl-no-weak-ciphers"
-
-INITSCRIPT_NAME = "hostapd"
-
-SYSTEMD_SERVICE_${PN} = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-do_configure_append() {
- install -m 0644 ${WORKDIR}/defconfig ${B}/.config
-}
-
-do_compile() {
- export CFLAGS="-MMD -O2 -Wall -g"
- export EXTRA_CFLAGS="${CFLAGS}"
- make V=1
-}
-
-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"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
new file mode 100644
index 00000000..68dc1237
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
@@ -0,0 +1,52 @@
+SUMMARY = "User space daemon for extended IEEE 802.11 management"
+HOMEPAGE = "http://w1.fi/hostapd/"
+SECTION = "kernel/userland"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://hostapd/README;md5=1ec986bec88070e2a59c68c95d763f89"
+
+DEPENDS = "libnl openssl"
+
+SRC_URI = " \
+ http://w1.fi/releases/hostapd-${PV}.tar.gz \
+ file://defconfig \
+ file://init \
+ file://hostapd.service \
+ file://CVE-2019-16275.patch \
+"
+
+SRC_URI[md5sum] = "f188fc53a495fe7af3b6d77d3c31dee8"
+SRC_URI[sha256sum] = "881d7d6a90b2428479288d64233151448f8990ab4958e0ecaca7eeb3c9db2bd7"
+
+S = "${WORKDIR}/hostapd-${PV}"
+B = "${WORKDIR}/hostapd-${PV}/hostapd"
+
+inherit update-rc.d systemd pkgconfig features_check
+
+CONFLICT_DISTRO_FEATURES = "openssl-no-weak-ciphers"
+
+INITSCRIPT_NAME = "hostapd"
+
+SYSTEMD_SERVICE_${PN} = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+do_configure_append() {
+ install -m 0644 ${WORKDIR}/defconfig ${B}/.config
+}
+
+do_compile() {
+ export CFLAGS="-MMD -O2 -Wall -g"
+ export EXTRA_CFLAGS="${CFLAGS}"
+ make V=1
+}
+
+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"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch
new file mode 100644
index 00000000..35665bd3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch
@@ -0,0 +1,29 @@
+From 3f2fc79385398f213a9bd3c99616d749d699f2bb Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Thu, 14 Mar 2019 19:26:14 -0300
+Subject: [PATCH] Fix build with musl
+Organization: O.S. Systems Software LTDA.
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ src/ethtool-local.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/src/ethtool-local.h
++++ b/src/ethtool-local.h
+@@ -20,11 +20,11 @@
+ * along with ifplugd; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+-
++#include <stdint.h>
+ typedef unsigned long long u64;
+-typedef __uint32_t u32;
+-typedef __uint16_t u16;
+-typedef __uint8_t u8;
++typedef uint32_t u32;
++typedef uint16_t u16;
++typedef uint8_t u8;
+
+ #include "ethtool-kernel.h"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb
new file mode 100644
index 00000000..0b5c5a6c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "ifplugd is a Linux daemon which will automatically configure your ethernet device \
+when a cable is plugged in and automatically unconfigure it if the cable is pulled."
+HOMEPAGE = "http://0pointer.de/lennart/projects/ifplugd/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "libdaemon"
+
+SRC_URI = "http://0pointer.de/lennart/projects/ifplugd/ifplugd-${PV}.tar.gz"
+
+SRC_URI_append_libc-musl = " file://Fix-build-with-musl.patch"
+
+SRC_URI[md5sum] = "df6f4bab52f46ffd6eb1f5912d4ccee3"
+SRC_URI[sha256sum] = "474754ac4ab32d738cbf2a4a3e87ee0a2c71b9048a38bdcd7df1e4f9fd6541f0"
+
+inherit autotools update-rc.d pkgconfig
+
+EXTRA_OECONF = "--disable-lynx --with-initdir=${sysconfdir}/init.d"
+
+INITSCRIPT_NAME = "ifplugd"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/ifplugd/ifplugd.conf"
+
+RDEPENDS_${PN} += "bash"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb
deleted file mode 100644
index 10b04bb5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "ncurses IRC client"
-DESCRIPTION = "Irssi is an ncurses IRC client"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
-
-DEPENDS = "glib-2.0 ncurses openssl"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
-SRC_URI[md5sum] = "46d4ac2a7ab472e5dc800e5d7bd9a879"
-SRC_URI[sha256sum] = "b85c07dbafe178213eccdc69f5f8f0ac024dea01c67244668f91ec1c06b986ca"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--with-textui \
- --with-proxy \
- --with-bot \
- --with-perl=no \
- --enable-true-color"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb
new file mode 100644
index 00000000..1c5a912f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb
@@ -0,0 +1,22 @@
+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] = "8547f89e014e23e1bbbb665bcf7e2f70"
+SRC_URI[sha256sum] = "6727060c918568ba2ff4295ad736128dba0b995d7b20491bca11f593bd857578"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-textui \
+ --with-proxy \
+ --with-bot \
+ --with-perl=no \
+ --enable-true-color"
+
+FILES_${PN}-staticdev += "${libdir}/${BPN}/modules/*.a"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.6.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.6.bb
new file mode 100644
index 00000000..10ac03ef
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.6.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Wireless daemon for Linux"
+HOMEPAGE = "https://iwd.wiki.kernel.org/"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+
+DEPENDS = "ell"
+
+SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git"
+SRCREV = "ad97f4f945b828425ff288e905523e11b330d41d"
+S = "${WORKDIR}/git"
+
+inherit autotools manpages pkgconfig python3native systemd
+
+PACKAGECONFIG ??= " \
+ client \
+ monitor \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+PACKAGECONFIG[client] = "--enable-client,--disable-client,readline"
+PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor"
+PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native"
+PACKAGECONFIG[wired] = "--enable-wired,--disable-wired"
+PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono"
+PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd"
+
+EXTRA_OECONF = "--enable-external-ell"
+
+SYSTEMD_SERVICE_${PN} = " \
+ iwd.service \
+ ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \
+"
+
+do_configure_prepend() {
+ install -d ${S}/build-aux
+}
+
+do_install_append() {
+ # If client and monitor are disabled, bindir is empty, causing a QA error
+ rmdir --ignore-fail-on-non-empty ${D}/${bindir}
+}
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${nonarch_libdir}/modules-load.d \
+ ${systemd_unitdir}/network \
+"
+
+RDEPENDS_${PN} = "dbus"
+
+RRECOMMENDS_${PN} = "\
+ kernel-module-pkcs7-message \
+ kernel-module-pkcs8-key-parser \
+ kernel-module-x509-key-parser \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.1.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.1.bb
deleted file mode 100644
index 11748cbd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.1.bb
+++ /dev/null
@@ -1,188 +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=7f95bc3d8d0351aa481d56d5e9de20c3"
-DEPENDS = "bison-native ncurses util-linux e2fsprogs e2fsprogs-native openssl"
-
-inherit autotools-brokensep binconfig perlnative systemd update-rc.d
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
- file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
- file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
- file://crosscompile_nm.patch \
- file://etc/init.d/krb5-kdc \
- file://etc/init.d/krb5-admin-server \
- file://etc/default/krb5-kdc \
- file://etc/default/krb5-admin-server \
- file://krb5-kdc.service \
- file://krb5-admin-server.service \
-"
-SRC_URI[md5sum] = "848e9b80d6aaaa798e3f3df24b83c407"
-SRC_URI[sha256sum] = "214ffe394e3ad0c730564074ec44f1da119159d94281bbec541dc29168d21117"
-
-CVE_PRODUCT = "kerberos"
-
-S = "${WORKDIR}/${BP}/src"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
-PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl"
-PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-
-EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
-CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
- ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
- ac_cv_file__etc_TIMEZONE=no"
-
-CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
-CFLAGS_append_riscv64 = " -D_REENTRANT -pthread"
-LDFLAGS_append = " -pthread"
-
-do_configure() {
- gnu-configize --force
- autoreconf
- oe_runconf
-}
-
-do_install_append() {
- rm -rf ${D}/${localstatedir}/run
- rm -f ${D}${bindir}/sclient
- rm -f ${D}${bindir}/sim_client
- rm -f ${D}${bindir}/uuclient
- rm -f ${D}${sbindir}/krb5-send-pr
- rm -f ${D}${sbindir}/sim_server
- rm -f ${D}${sbindir}/sserver
- rm -f ${D}${sbindir}/uuserver
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
- install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
-
- mkdir -p ${D}/${sysconfdir}/default/volatiles
- echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
- > ${D}${sysconfdir}/default/volatiles/87_krb5
-
- echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server
- fi
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /run/krb5kdc - - - -" \
- > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
-
- mkdir -p ${D}/${sysconfdir}/default
- install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
- fi
-}
-
-PACKAGES =+ "${PN}-admin-server \
- ${PN}-gss-samples \
- ${PN}-k5tls \
- ${PN}-kdc \
- ${PN}-kdc-ldap \
- ${PN}-kpropd \
- ${PN}-otp \
- ${PN}-pkinit \
- ${PN}-user \
- libgssapi-krb5 \
- libgssrpc \
- libk5crypto \
- libkadm5clnt-mit \
- libkadm5srv-mit \
- libkdb5 \
- libkrad \
- libkrb5 \
- libkrb5support \
- libverto"
-
-FILES_${PN} = "${libdir}/krb5/plugins/preauth/test.so"
-FILES_${PN}-doc += "${datadir}/examples"
-FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
-
-FILES_${PN}-admin-server = "${sbindir}/kadmin.local \
- ${sbindir}/kadmind \
- ${sbindir}/kprop \
- ${sysconfdir}/default/krb5-admin-server \
- ${sysconfdir}/init.d/krb5-admin-server \
- ${systemd_system_unitdir}/krb5-admin-server.service"
-
-FILES_${PN}-gss-samples = "${bindir}/gss-client \
- ${sbindir}/gss-server"
-
-FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so"
-
-FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \
- ${localstatedir}/krb5kdc \
- ${sbindir}/kdb5_util \
- ${sbindir}/kproplog \
- ${sbindir}/krb5kdc \
- ${sysconfdir}/default/krb5-kdc \
- ${sysconfdir}/default/volatiles/87_krb5 \
- ${sysconfdir}/init.d/krb5-kdc \
- ${sysconfdir}/tmpfiles.d/krb5.conf \
- ${systemd_system_unitdir}/krb5-kdc.service"
-
-FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \
- ${libdir}/krb5/plugins/kdb/kldap.so \
- ${sbindir}/kdb5_ldap_util"
-
-FILES_${PN}-kpropd = "${sbindir}/kpropd"
-FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so"
-FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so"
-FILES_${PN}-user = "${bindir}/k*"
-
-FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}"
-FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}"
-FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}"
-FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}"
-FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}"
-FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}"
-FILES_libkrad = "${libdir}/libkrad${SOLIBS}"
-FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \
- ${libdir}/krb5/plugins/authdata \
- ${libdir}/krb5/plugins/libkrb5"
-FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}"
-FILES_libverto = "${libdir}/libverto${SOLIBS}"
-
-RDEPENDS_${PN}-kadmin-server = "${PN}-kdc"
-RDEPENDS_${PN}-kpropd = "${PN}-kdc"
-
-INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc"
-INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server"
-INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc"
-
-SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc"
-SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service"
-SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service"
-
-pkg_postinst_${PN}-kdc () {
- if [ -z "$D" ]; then
- if command -v systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
- elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
- fi
- fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.1.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.1.bb
new file mode 100644
index 00000000..6164c824
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.1.bb
@@ -0,0 +1,192 @@
+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=aff541e7261f1926ac6a2a9a7bbab839"
+DEPENDS = "bison-native ncurses util-linux e2fsprogs e2fsprogs-native openssl"
+
+inherit autotools-brokensep binconfig perlnative systemd update-rc.d
+
+SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
+ file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
+ file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
+ file://crosscompile_nm.patch \
+ file://etc/init.d/krb5-kdc \
+ file://etc/init.d/krb5-admin-server \
+ file://etc/default/krb5-kdc \
+ file://etc/default/krb5-admin-server \
+ file://krb5-kdc.service \
+ file://krb5-admin-server.service \
+"
+SRC_URI[md5sum] = "417d654c72526ac51466e7fe84608878"
+SRC_URI[sha256sum] = "3706d7ec2eaa773e0e32d3a87bf742ebaecae7d064e190443a3acddfd8afb181"
+
+CVE_PRODUCT = "kerberos"
+CVE_VERSION = "5-${PV}"
+
+S = "${WORKDIR}/${BP}/src"
+
+PACKAGECONFIG ??= "pkinit"
+PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
+PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl"
+PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[pkinit] = "--enable-pkinit, --disable-pkinit"
+
+EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
+CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
+ ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
+ ac_cv_file__etc_TIMEZONE=no"
+
+CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
+CFLAGS_append_riscv64 = " -D_REENTRANT -pthread"
+LDFLAGS_append = " -pthread"
+
+do_configure() {
+ gnu-configize --force
+ autoreconf
+ oe_runconf
+}
+
+do_install_append() {
+ rm -rf ${D}/${localstatedir}/run
+ rm -f ${D}${bindir}/sclient
+ rm -f ${D}${bindir}/sim_client
+ rm -f ${D}${bindir}/uuclient
+ rm -f ${D}${sbindir}/krb5-send-pr
+ rm -f ${D}${sbindir}/sim_server
+ rm -f ${D}${sbindir}/sserver
+ rm -f ${D}${sbindir}/uuserver
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
+
+ mkdir -p ${D}/${sysconfdir}/default/volatiles
+ echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
+ > ${D}${sysconfdir}/default/volatiles/87_krb5
+
+ echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/krb5kdc - - - -" \
+ > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
+
+ mkdir -p ${D}/${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
+ fi
+}
+
+PACKAGES =+ "${PN}-admin-server \
+ ${PN}-gss-samples \
+ ${PN}-k5tls \
+ ${PN}-kdc \
+ ${PN}-kdc-ldap \
+ ${PN}-kpropd \
+ ${PN}-otp \
+ ${PN}-pkinit \
+ ${PN}-spake \
+ ${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}-spake = "${libdir}/krb5/plugins/preauth/spake.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/external/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb
deleted file mode 100644
index a5838d36..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-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"
-
-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/external/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.33.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.33.bb
new file mode 100644
index 00000000..760c2dbc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.33.bb
@@ -0,0 +1,21 @@
+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] = "a3433f23583167081bf4acdd5b01b34f"
+SRC_URI[sha256sum] = "507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea"
+
+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
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch
deleted file mode 100644
index 92e657c0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Check for clang compiler since we need to disable
-unused-function warning for clang, at same time
-pass werror when checking for compiler options if
-werror is enabled so spurious options do not get
-enabled. Only the ones that are supported by given
-compiler are accepted.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: libmbim-1.14.0/m4/compiler-warnings.m4
-===================================================================
---- libmbim-1.14.0.orig/m4/compiler-warnings.m4
-+++ libmbim-1.14.0/m4/compiler-warnings.m4
-@@ -2,10 +2,30 @@ AC_DEFUN([LIBMBIM_COMPILER_WARNINGS],
- [AC_ARG_ENABLE(more-warnings,
- AS_HELP_STRING([--enable-more-warnings], [Possible values: no/yes/error]),
- set_more_warnings="$enableval",set_more_warnings=error)
-+
-+# Clang throws a lot of warnings when it does not understand a flag. Disable
-+# this warning for now so other warnings are visible.
-+AC_MSG_CHECKING([if compiling with clang])
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
-+#ifndef __clang__
-+ not clang
-+#endif
-+ ]])],
-+ [CLANG=yes],
-+ [CLANG=no]
-+)
-+AC_MSG_RESULT([$CLANG])
-+AS_IF([test "x$CLANG" = "xyes"], [CLANG_FLAGS=-Wno-error=unused-function])
-+CFLAGS="$CFLAGS $CLANG_FLAGS"
-+LDFLAGS="$LDFLAGS $CLANG_FLAGS"
-+
- AC_MSG_CHECKING(for more warnings)
- if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
- AC_MSG_RESULT(yes)
- CFLAGS="-Wall -std=gnu89 $CFLAGS"
-+ if test "x$set_more_warnings" = xerror; then
-+ WERROR="-Werror"
-+ fi
-
- for option in -Wmissing-declarations -Wmissing-prototypes \
- -Wdeclaration-after-statement -Wstrict-prototypes \
-@@ -17,22 +37,23 @@ if test "$GCC" = "yes" -a "$set_more_war
- -Wmissing-include-dirs -Waggregate-return \
- -Wformat-security; do
- SAVE_CFLAGS="$CFLAGS"
-- CFLAGS="$CFLAGS $option"
-+ CFLAGS="$CFLAGS $option $WERROR"
- AC_MSG_CHECKING([whether gcc understands $option])
- AC_TRY_COMPILE([], [],
- has_option=yes,
- has_option=no,)
- if test $has_option = no; then
- CFLAGS="$SAVE_CFLAGS"
-+ else
-+ CFLAGS="$SAVE_CFLAGS $option"
- fi
- AC_MSG_RESULT($has_option)
- unset has_option
- unset SAVE_CFLAGS
- done
-+ CFLAGS="$CFLAGS $WERROR"
- unset option
-- if test "x$set_more_warnings" = xerror; then
-- CFLAGS="$CFLAGS -Werror"
-- fi
-+ unset WERROR
- else
- AC_MSG_RESULT(no)
- fi
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.16.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.16.0.bb
deleted file mode 100644
index 5260c0f1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.16.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
-DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native libgudev"
-
-inherit autotools pkgconfig bash-completion
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
- file://clang.patch \
-"
-SRC_URI[md5sum] = "76ea4d8381989919b1d9b91c818fed80"
-SRC_URI[sha256sum] = "c8ca50beeddd4b43309df5b698917268303bf176cea58fe4fe53d5bf0e93fac2"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.22.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.22.0.bb
new file mode 100644
index 00000000..61e314f1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.22.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
+DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native libgudev"
+
+inherit autotools pkgconfig bash-completion
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "87060e8957013177e4140edc6f64f5bd"
+SRC_URI[sha256sum] = "5c0778eb1cd12c3604523134e55183f5147b0cae71150e875b583768f7aa1f38"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.16.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.16.bb
deleted file mode 100644
index 596e315b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.16.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-# TODO: include debian's mtp-tools man page (needs xsltproc-native and
-# docbook-xsl-native, or we pregenerate it), add support for doxygen
-# generation fully with -natives
-DESCRIPTION = "libmtp is an Initiator implementation of the Media Transfer \
-Protocol (MTP) in the form of a library suitable primarily for POSIX \
-compliant operating systems"
-SUMMARY = "libmtp is an Initiator implementation of the Media Transfer Protocol (MTP)"
-HOMEPAGE = "http://libmtp.sourceforge.net/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
- file://src/ptp.c;beginline=3;endline=22;md5=303cc4422fd549ef8689aded20434a9a \
- file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
-"
-
-BBCLASSEXTEND = "native"
-
-DEPENDS = "libusb1 gettext-native"
-DEPENDS_append_class-target = " ${BPN}-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
-SRC_URI_append_class-target = " file://0001-Use-native-mtp-hotplug.patch"
-
-SRC_URI[md5sum] = "7796179af46e90938dde1d0c4d1d1d4c"
-SRC_URI[sha256sum] = "5b68f9dd1ed38de558de687f40e255a39e4d5e32ef3de601f0ac19dd5682bba0"
-
-inherit autotools pkgconfig lib_package
-
-EXTRA_OECONF += " \
- --disable-rpath \
- --with-udev=${nonarch_base_libdir}/udev \
-"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
-PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile"
-PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
-
-PACKAGES =+ "${BPN}-common ${BPN}-runtime"
-
-RDEPENDS_${BPN} += "libmtp-common"
-RRECOMMENDS_${BPN} += "libmtp-runtime ${PN}-bin"
-
-FILES_${BPN}-common = "${nonarch_base_libdir}/udev/rules.d/*"
-SUMMARY_${BPN}-common = "The udev rules file for MTP devices"
-
-FILES_${BPN}-runtime = "${nonarch_base_libdir}/udev/mtp-probe"
-RDEPENDS_${BPN}-runtime = "libmtp-common"
-SUMMARY_${BPN}-runtime = "mtp-probe, used for the MTP udev rules"
-DESCRIPTION_${BPN}-runtime = "This package provides mtp-probe, a program to probe newly connected device interfaces from userspace to determine if they are MTP devices, used for udev rules."
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.17.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.17.bb
new file mode 100644
index 00000000..54decbcc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.17.bb
@@ -0,0 +1,50 @@
+# TODO: include debian's mtp-tools man page (needs xsltproc-native and
+# docbook-xsl-native, or we pregenerate it), add support for doxygen
+# generation fully with -natives
+DESCRIPTION = "libmtp is an Initiator implementation of the Media Transfer \
+Protocol (MTP) in the form of a library suitable primarily for POSIX \
+compliant operating systems"
+SUMMARY = "libmtp is an Initiator implementation of the Media Transfer Protocol (MTP)"
+HOMEPAGE = "http://libmtp.sourceforge.net/"
+LICENSE = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
+ file://src/ptp.c;beginline=3;endline=22;md5=303cc4422fd549ef8689aded20434a9a \
+ file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
+"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS = "libusb1 gettext-native"
+DEPENDS_append_class-target = " ${BPN}-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI_append_class-target = " file://0001-Use-native-mtp-hotplug.patch"
+
+SRC_URI[md5sum] = "81aea5d3139e5189c2e055ed2c98cd91"
+SRC_URI[sha256sum] = "f8a34cf52d9f9b9cb8c7f26b12da347d4af7eb904c13189602e4c6b62d1a79dc"
+
+inherit autotools pkgconfig lib_package
+
+EXTRA_OECONF += " \
+ --disable-rpath \
+ --with-udev=${nonarch_base_libdir}/udev \
+"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
+PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen"
+PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile"
+PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
+
+PACKAGES =+ "${BPN}-common ${BPN}-runtime"
+
+RDEPENDS_${BPN} += "libmtp-common"
+RRECOMMENDS_${BPN} += "libmtp-runtime ${PN}-bin"
+
+FILES_${BPN}-common = "${nonarch_base_libdir}/udev/rules.d/*"
+SUMMARY_${BPN}-common = "The udev rules file for MTP devices"
+
+FILES_${BPN}-runtime = "${nonarch_base_libdir}/udev/mtp-probe"
+RDEPENDS_${BPN}-runtime = "libmtp-common"
+SUMMARY_${BPN}-runtime = "mtp-probe, used for the MTP udev rules"
+DESCRIPTION_${BPN}-runtime = "This package provides mtp-probe, a program to probe newly connected device interfaces from userspace to determine if they are MTP devices, used for udev rules."
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
index c9913444..785abf66 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
@@ -2,7 +2,7 @@ SUMMARY = "A packet dissection and creation library"
# libnet at packetfactory.net is dead
HOMEPAGE = "https://github.com/sam-github/libnet"
SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=3ec839e00408b484d33b472a86b7c266"
DEPENDS = "libpcap"
# There are major API changes beween libnet v1.0 and libnet v1.1
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
deleted file mode 100644
index 7a3429b9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 4cfb728804157e8f3c69e11ba4df449d8f76388f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 20 Oct 2016 04:42:26 +0000
-Subject: [PATCH] Detect clang
-
-Check for clang compiler since we need to disable
-unused-function warning for clang, at same time
-pass werror when checking for compiler options if
-werror is enabled so spurious options do not get
-enabled. Only the ones that are supported by given
-compiler are accepted.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
----
- m4/compiler-warnings.m4 | 29 +++++++++++++++++++++++++----
- 1 file changed, 25 insertions(+), 4 deletions(-)
-
-diff --git a/m4/compiler-warnings.m4 b/m4/compiler-warnings.m4
-index de4a8b0..e4ba718 100644
---- a/m4/compiler-warnings.m4
-+++ b/m4/compiler-warnings.m4
-@@ -2,10 +2,30 @@ AC_DEFUN([LIBQMI_COMPILER_WARNINGS],
- [AC_ARG_ENABLE(more-warnings,
- AS_HELP_STRING([--enable-more-warnings], [Possible values: no/yes/error]),
- set_more_warnings="$enableval",set_more_warnings=error)
-+
-+# Clang throws a lot of warnings when it does not understand a flag. Disable
-+# this warning for now so other warnings are visible.
-+AC_MSG_CHECKING([if compiling with clang])
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
-+#ifndef __clang__
-+ not clang
-+#endif
-+ ]])],
-+ [CLANG=yes],
-+ [CLANG=no]
-+)
-+AC_MSG_RESULT([$CLANG])
-+AS_IF([test "x$CLANG" = "xyes"], [CLANG_FLAGS=-Wno-error=unused-function])
-+CFLAGS="$CFLAGS $CLANG_FLAGS"
-+LDFLAGS="$LDFLAGS $CLANG_FLAGS"
-+
- AC_MSG_CHECKING(for more warnings)
- if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
- AC_MSG_RESULT(yes)
- CFLAGS="-Wall -std=gnu89 $CFLAGS"
-+ if test "x$set_more_warnings" = xerror; then
-+ WERROR="-Werror"
-+ fi
-
- for option in -Wmissing-declarations -Wmissing-prototypes \
- -Wdeclaration-after-statement -Wstrict-prototypes \
-@@ -17,22 +37,23 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
- -Wmissing-include-dirs -Waggregate-return \
- -Wformat-security -Wtype-limits; do
- SAVE_CFLAGS="$CFLAGS"
-- CFLAGS="$CFLAGS $option"
-+ CFLAGS="$CFLAGS $option $WERROR"
- AC_MSG_CHECKING([whether gcc understands $option])
- AC_TRY_COMPILE([], [],
- has_option=yes,
- has_option=no,)
- if test $has_option = no; then
- CFLAGS="$SAVE_CFLAGS"
-+ else
-+ CFLAGS="$SAVE_CFLAGS $option"
- fi
- AC_MSG_RESULT($has_option)
- unset has_option
- unset SAVE_CFLAGS
- done
-+ CFLAGS="$CFLAGS $WERROR"
- unset option
-- if test "x$set_more_warnings" = xerror; then
-- CFLAGS="$CFLAGS -Werror"
-- fi
-+ unset WERROR
- else
- AC_MSG_RESULT(no)
- fi
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-qmi-network-Don-t-create-invalid-wds-start-network-w.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-qmi-network-Don-t-create-invalid-wds-start-network-w.patch
deleted file mode 100644
index d230d680..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-qmi-network-Don-t-create-invalid-wds-start-network-w.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 8269f4d86927fbe19e78776a12736680fe9169b6 Mon Sep 17 00:00:00 2001
-From: Adrian Bunk <bunk@stusta.de>
-Date: Mon, 1 Oct 2018 16:53:31 +0300
-Subject: [PATCH] qmi-network: Don't create invalid --wds-start-network when
- APN is not set
-
-In 1.20.2 the warning for this was turned into an error.
-
-(cherry picked from commit 289d8ad6419895e2e1fba3d78a54a0db65da521d)
----
-Upstream-Status: Backport
-
- utils/qmi-network.in | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/utils/qmi-network.in b/utils/qmi-network.in
-index bf7bed9..a9e5299 100755
---- a/utils/qmi-network.in
-+++ b/utils/qmi-network.in
-@@ -334,11 +334,13 @@ start_network ()
-
- setup_data_format
-
-- START_NETWORK_ARGS="apn='$APN'"
-- if [ -n "$APN_USER" ]; then
-- START_NETWORK_ARGS="${START_NETWORK_ARGS},username='$APN_USER'"
-- if [ -n "$APN_PASS" ]; then
-- START_NETWORK_ARGS="${START_NETWORK_ARGS},password='$APN_PASS'"
-+ if [ -n "$APN" ]; then
-+ START_NETWORK_ARGS="apn='$APN'"
-+ if [ -n "$APN_USER" ]; then
-+ START_NETWORK_ARGS="${START_NETWORK_ARGS},username='$APN_USER'"
-+ if [ -n "$APN_PASS" ]; then
-+ START_NETWORK_ARGS="${START_NETWORK_ARGS},password='$APN_PASS'"
-+ fi
- fi
- fi
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.2.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.2.bb
deleted file mode 100644
index f0bc81cc..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
-DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native"
-
-inherit autotools pkgconfig bash-completion
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
- file://0001-qmi-network-Don-t-create-invalid-wds-start-network-w.patch \
- file://0001-Detect-clang.patch \
- "
-SRC_URI[md5sum] = "584214476ab75c394160cb85fbccaa1d"
-SRC_URI[sha256sum] = "c73459ca8bfe1213f8047858d4946fc1f58e164d4f488a7a6904edee25e2ca44"
-
-PACKAGECONFIG ??= "udev mbim"
-PACKAGECONFIG[udev] = ",--without-udev,libgudev"
-PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.12.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.12.bb
new file mode 100644
index 00000000..6f863854
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.12.bb
@@ -0,0 +1,24 @@
+SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
+DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native"
+
+inherit autotools pkgconfig bash-completion
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
+ "
+
+SRC_URI[md5sum] = "7e6e49fddb9ae2b6fcde14619d6cfe49"
+SRC_URI[sha256sum] = "2d3b91a2b8a882b17b16403c9ef7bdce522db4f0ceaa3e4dff76033885428b69"
+
+PACKAGECONFIG ??= "udev mbim"
+PACKAGECONFIG[udev] = ",--without-udev,libgudev"
+PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
+
+EXTRA_OECONF_append_toolchain-clang = " --enable-more-warnings=no"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch
deleted file mode 100644
index 4d097971..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch
deleted file mode 100644
index 84e0772a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
index b2dffcdb..3ee69554 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
@@ -8,15 +8,20 @@ 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 = "074f6ec51a2e4bc5c6140b4dad13c9bb56f3f0dc"
+SRCREV = "756f70010779927dc0691e1e722ed433d5d295e1"
-PV = "0.13.7+git${SRCPV}"
+PV = "0.13.8"
S = "${WORKDIR}/git"
+PACKAGECONFIG ??= "instrumentation"
+
+PACKAGECONFIG_remove_mipsarch = "instrumentation"
+PACKAGECONFIG_remove_powerpc = "instrumentation"
+
+PACKAGECONFIG[instrumentation] = "--enable-instrumentation,--disable-instrumentation,"
+
inherit autotools pkgconfig
EXTRA_OECONF = "--with-zlib=${STAGING_EXECPREFIXDIR}"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.20.3.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.20.3.bb
deleted file mode 100644
index a11ff9d2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.20.3.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-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=a68902a430e32200263d182d44924d47"
-
-S = "${WORKDIR}/git"
-SRCREV = "8cfd67e59195251dff793ee47c185c9d6a8f3818"
-BRANCH = "v1.x"
-SRC_URI = "git://github.com/libuv/libuv.git;protocol=https;branch=${BRANCH};"
-
-inherit autotools
-
-do_configure() {
- ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh"
- oe_runconf
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.36.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.36.0.bb
new file mode 100644
index 00000000..deeaa2b1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.36.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=a68902a430e32200263d182d44924d47"
+
+SRCREV = "533b738838ad8407032e14b6772b29ef9af63cfa"
+SRC_URI = "git://github.com/libuv/libuv;branch=v1.x"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+do_configure() {
+ ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh"
+ oe_runconf
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.0.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.0.0.bb
deleted file mode 100644
index f3841486..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.0.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Canonical libwebsockets.org websocket library"
-HOMEPAGE = "https://libwebsockets.org/"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4ce87f3facb6f911c142c8bef9bfb380"
-
-DEPENDS = "zlib"
-
-S = "${WORKDIR}/git"
-SRCREV = "eaa935a80adb38b5cc4d09ce06ec987b87dcddfa"
-SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;"
-
-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}-testapps += "${datadir}/libwebsockets-test-server/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.1.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.1.bb
new file mode 100644
index 00000000..0d1f57ab
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Canonical libwebsockets.org websocket library"
+HOMEPAGE = "https://libwebsockets.org/"
+LICENSE = "MIT & Zlib & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8c47b078124308a4e1354e8d59f606b7"
+
+DEPENDS = "zlib"
+
+S = "${WORKDIR}/git"
+SRCREV = "6eb39388f43f6e2a27f0efcbf8cb2391e38824e9"
+SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.0-stable"
+
+UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+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,"
+
+EXTRA_OECMAKE += " \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+"
+
+PACKAGES =+ "${PN}-testapps"
+
+FILES_${PN}-testapps += "${datadir}/libwebsockets-test-server/*"
+
+CFLAGS_append = " -Wno-error"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch
deleted file mode 100644
index 96163f65..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b36cafdbcbe2193f5b669e703c608e19e23f80a3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Jul 2017 11:16:42 -0700
-Subject: [PATCH 3/4] include missing time.h for time_t
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- util.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/util.h b/util.h
-index e912f19..3c634c1 100644
---- a/util.h
-+++ b/util.h
-@@ -22,7 +22,7 @@
-
- #include "ddt.h"
- #include "ether.h"
--
-+#include <time.h>
- /**
- * Table of human readable strings, one for each port state.
- */
---
-2.13.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch
deleted file mode 100644
index e6992751..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 3cd28aa771934d9165ff0d7e19932cde65de3e52 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Jul 2017 11:16:57 -0700
-Subject: [PATCH 4/4] Adjust include header sequence to avoid duplicate
- definitions on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- raw.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/raw.c b/raw.c
-index f51c829..494ea7f 100644
---- a/raw.c
-+++ b/raw.c
-@@ -18,8 +18,6 @@
- */
- #include <errno.h>
- #include <fcntl.h>
--#include <linux/filter.h>
--#include <linux/if_ether.h>
- #include <net/ethernet.h>
- #include <net/if.h>
- #include <netinet/in.h>
-@@ -32,6 +30,8 @@
- #include <sys/types.h>
- #include <unistd.h>
-
-+#include <linux/filter.h>
-+#include <linux/if_ether.h>
- #include <linux/errqueue.h>
- #include <linux/net_tstamp.h>
- #include <linux/sockios.h>
---
-2.13.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/time_t_maybe_long_long.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/time_t_maybe_long_long.patch
new file mode 100644
index 00000000..af99d2b7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/time_t_maybe_long_long.patch
@@ -0,0 +1,135 @@
+Fix printf if time_t is long long
+
+On some platforms, time_t has recently switched from "long" to "long
+long" [1]. For these platforms it is necessary to use "%lld" as printf
+format specifier because the ABI differs between "long" and "long long".
+
+I found no way for creating something similar to PRId64 for time_t. No
+idea how to determine whether it's "long" or "long long". So I cast
+everything to "long long" instead.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=38143339646a4ccce8afe298c34467767c899f51
+
+Upstream-Status: Accepted [next version is after 2.0]
+Upstream-Patch: https://github.com/richardcochran/linuxptp/commit/7de73fefc378cc42b9ed1115b3afa409d0250a48
+
+Signed-off-by: Christian Eggers <ceggers@arri.de>
+---
+diff -Naur linuxptp-2.0.org/phc_ctl.c linuxptp-2.0/phc_ctl.c
+--- linuxptp-2.0.org/phc_ctl.c 2018-08-12 23:08:43.000000000 +0200
++++ linuxptp-2.0/phc_ctl.c 2020-05-29 21:34:26.166519963 +0200
+@@ -230,8 +230,8 @@
+ strerror(errno));
+ return -1;
+ } else {
+- pr_notice("set clock time to %ld.%09ld or %s",
+- ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
++ pr_notice("set clock time to %lld.%09ld or %s",
++ (long long)ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
+ }
+
+ return args_to_eat;
+@@ -248,8 +248,8 @@
+
+ return -1;
+ } else {
+- pr_notice("clock time is %ld.%09lu or %s",
+- ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
++ pr_notice("clock time is %lld.%09lu or %s",
++ (long long)ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
+ }
+
+ /* get operation does not require any arguments */
+diff -Naur linuxptp-2.0.org/print.c linuxptp-2.0/print.c
+--- linuxptp-2.0.org/print.c 2018-08-12 23:08:43.000000000 +0200
++++ linuxptp-2.0/print.c 2020-05-29 21:34:26.166519963 +0200
+@@ -73,16 +73,16 @@
+
+ if (verbose) {
+ f = level >= LOG_NOTICE ? stdout : stderr;
+- fprintf(f, "%s[%ld.%03ld]: %s%s%s\n",
++ fprintf(f, "%s[%lld.%03ld]: %s%s%s\n",
+ progname ? progname : "",
+- ts.tv_sec, ts.tv_nsec / 1000000,
++ (long long)ts.tv_sec, ts.tv_nsec / 1000000,
+ message_tag ? message_tag : "", message_tag ? " " : "",
+ buf);
+ fflush(f);
+ }
+ if (use_syslog) {
+- syslog(level, "[%ld.%03ld] %s%s%s",
+- ts.tv_sec, ts.tv_nsec / 1000000,
++ syslog(level, "[%lld.%03ld] %s%s%s",
++ (long long)ts.tv_sec, ts.tv_nsec / 1000000,
+ message_tag ? message_tag : "", message_tag ? " " : "",
+ buf);
+ }
+diff -Naur linuxptp-2.0.org/unicast_service.c linuxptp-2.0/unicast_service.c
+--- linuxptp-2.0.org/unicast_service.c 2018-08-12 23:08:43.000000000 +0200
++++ linuxptp-2.0/unicast_service.c 2020-05-29 21:36:23.170497415 +0200
+@@ -209,9 +209,9 @@
+ tmo = now.tv_sec + req->durationField;
+ if (tmo > client->grant_tmo) {
+ client->grant_tmo = tmo;
+- pr_debug("%s grant of 0x%x extended to %ld",
++ pr_debug("%s grant of 0x%x extended to %lld",
+ pid2str(&client->portIdentity),
+- client->message_types, tmo);
++ client->message_types, (long long)tmo);
+ }
+ }
+
+@@ -226,8 +226,8 @@
+ interval = pqueue_peek(p->unicast_service->queue);
+ if (interval) {
+ tmo.it_value = interval->tmo;
+- pr_debug("arming timer tmo={%ld,%ld}",
+- interval->tmo.tv_sec, interval->tmo.tv_nsec);
++ pr_debug("arming timer tmo={%lld,%ld}",
++ (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
+ } else {
+ pr_debug("stopping unicast service timer");
+ }
+@@ -499,8 +499,8 @@
+
+ while ((interval = pqueue_peek(p->unicast_service->queue)) != NULL) {
+
+- pr_debug("peek i={2^%d} tmo={%ld,%ld}", interval->log_period,
+- interval->tmo.tv_sec, interval->tmo.tv_nsec);
++ pr_debug("peek i={2^%d} tmo={%lld,%ld}", interval->log_period,
++ (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
+
+ if (timespec_compare(&now, &interval->tmo) >= 0) {
+ break;
+@@ -519,8 +519,8 @@
+ }
+
+ interval_increment(interval);
+- pr_debug("next i={2^%d} tmo={%ld,%ld}", interval->log_period,
+- interval->tmo.tv_sec, interval->tmo.tv_nsec);
++ pr_debug("next i={2^%d} tmo={%lld,%ld}", interval->log_period,
++ (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
+ pqueue_insert(p->unicast_service->queue, interval);
+ }
+
+diff -Naur linuxptp-2.0.org/unicast_client.c linuxptp-2.0/unicast_client.c
+--- linuxptp-2.0.org/unicast_client.c 2018-08-12 23:08:43.000000000 +0200
++++ linuxptp-2.0/unicast_client.c 2020-06-02 11:13:06.922997844 +0200
+@@ -216,7 +216,7 @@
+ long duration)
+ {
+ struct timespec now;
+- long tmo;
++ time_t tmo;
+
+ if (clock_gettime(CLOCK_MONOTONIC, &now)) {
+ pr_err("clock_gettime failed: %m");
+@@ -226,7 +226,7 @@
+ tmo = now.tv_sec + duration;
+ if (!master->renewal_tmo || tmo < master->renewal_tmo) {
+ master->renewal_tmo = tmo;
+- pr_debug("port %d: renewal timeout at %ld", portnum(p), tmo);
++ pr_debug("port %d: renewal timeout at %lld", portnum(p), (long long)tmo);
+ }
+ }
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb
deleted file mode 100644
index c7b8b293..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
- file://build-Allow-CC-and-prefix-to-be-overriden.patch \
- file://no-incdefs-using-host-headers.patch \
- file://0003-include-missing-time.h-for-time_t.patch \
- file://0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch \
- "
-
-SRC_URI[md5sum] = "5688cdfe57932273e1dbf35b3b97b9a0"
-SRC_URI[sha256sum] = "fa8e00f6ec73cefa7bb313dce7f60dfe5eb9e2bde3353594e9ac18edc93e5165"
-
-EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \
- EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
-
-do_install () {
- install -d ${D}/${bindir}
- install -p ${S}/ptp4l ${D}/${bindir}
- install -p ${S}/pmc ${D}/${bindir}
- install -p ${S}/phc2sys ${D}/${bindir}
- install -p ${S}/hwstamp_ctl ${D}/${bindir}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb
new file mode 100644
index 00000000..930c6673
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
+ file://build-Allow-CC-and-prefix-to-be-overriden.patch \
+ file://no-incdefs-using-host-headers.patch \
+ file://time_t_maybe_long_long.patch \
+ "
+
+SRC_URI[md5sum] = "d8bb7374943bb747db7786ac26f17f11"
+SRC_URI[sha256sum] = "0a24d9401e87d4af023d201e234d91127d82c350daad93432106284aa9459c7d"
+
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \
+ EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
+
+do_install () {
+ install -d ${D}/${bindir}
+ install -p ${S}/ptp4l ${D}/${bindir}
+ install -p ${S}/pmc ${D}/${bindir}
+ install -p ${S}/phc2sys ${D}/${bindir}
+ install -p ${S}/hwstamp_ctl ${D}/${bindir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch
deleted file mode 100644
index dcbe01d5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d4f73b037d11d20f080e74c05df28853fb833075 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Dec 2018 22:59:47 -0800
-Subject: [PATCH] Do not set Wno-unused-but-set-variable
-
-This is gcc specific warning, not implemented by pretending to be gcc
-like compilers e.g. clang.
-
-We will pass this option from recipe
-
-Upstream-Status: Inappropriate [OE-Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- m4/compiler_warnings.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/m4/compiler_warnings.m4 b/m4/compiler_warnings.m4
-index f498a28..e65e97f 100644
---- a/m4/compiler_warnings.m4
-+++ b/m4/compiler_warnings.m4
-@@ -11,7 +11,7 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
- -Wdeclaration-after-statement -Wstrict-prototypes \
- -Wno-unused-parameter -Wno-sign-compare \
- -Wno-deprecated-declarations \
-- -Wno-unused-but-set-variable -Wformat-security; do
-+ -Wno-unused -Wformat-security; do
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $option"
- AC_MSG_CHECKING([whether gcc understands $option])
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.12.10.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.12.10.bb
new file mode 100644
index 00000000..deab6f04
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.12.10.bb
@@ -0,0 +1,57 @@
+SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
+DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
+LICENSE = "GPL-2.0 & LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit gnomebase gettext systemd vala gobject-introspection bash-completion
+
+DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native"
+
+SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
+ "
+
+SRC_URI[sha256sum] = "b2b3058bbb72adf98b24707fdbebe58e590644a38145e30d574f685f154bf8aa"
+
+S = "${WORKDIR}/ModemManager-${PV}"
+
+PACKAGECONFIG ??= "mbim qmi \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
+"
+
+PACKAGECONFIG[at] = "--with-at-command-via-dbus"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
+PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
+# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
+PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
+# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
+PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
+
+EXTRA_OECONF = " \
+ --with-udev-base-dir=${nonarch_base_libdir}/udev \
+"
+EXTRA_OECONF_append_toolchain-clang = " --enable-more-warnings=no"
+
+FILES_${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/polkit-1 \
+ ${datadir}/dbus-1 \
+ ${datadir}/ModemManager \
+ ${libdir}/ModemManager \
+ ${systemd_unitdir}/system \
+"
+
+FILES_${PN}-dev += " \
+ ${libdir}/ModemManager/*.la \
+"
+
+FILES_${PN}-staticdev += " \
+ ${libdir}/ModemManager/*.a \
+"
+
+FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
+
+SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
deleted file mode 100644
index 01c62144..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
-DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
-LICENSE = "GPL-2.0 & LGPL-2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit gnomebase gettext systemd vala gobject-introspection bash-completion
-
-DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native"
-
-SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
- file://0001-Do-not-set-Wno-unused-but-set-variable.patch \
- "
-
-SRC_URI[md5sum] = "a49c9f73e46c7b89e5efedda250d22c0"
-SRC_URI[sha256sum] = "96f2a5f0ed15532b4c4c185b756fdc0326e7c2027cea26a1264f91e098260f80"
-
-S = "${WORKDIR}/ModemManager-${PV}"
-
-PACKAGECONFIG ??= "mbim qmi polkit \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-"
-
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
-PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
-# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
-PACKAGECONFIG[mbim] = "--with-mbim,--with-mbim=no,libmbim"
-# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
-PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
-
-EXTRA_OECONF = " \
- --with-udev-base-dir=${nonarch_base_libdir}/udev \
-"
-CFLAGS_append_toolchain-gcc = " -Wno-unused-but-set-variable"
-
-FILES_${PN} += " \
- ${datadir}/icons \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${libdir}/ModemManager \
- ${systemd_unitdir}/system \
-"
-
-FILES_${PN}-dev += " \
- ${libdir}/ModemManager/*.la \
-"
-
-FILES_${PN}-staticdev += " \
- ${libdir}/ModemManager/*.a \
-"
-
-FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
-
-SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch
new file mode 100644
index 00000000..100ede17
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch
@@ -0,0 +1,24 @@
+From efa9e49714b30d7d9128946a2504c93e10d109b5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 12:20:03 -0800
+Subject: [PATCH] Fix building with libc++
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/network/network.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/network/network.cc b/src/network/network.cc
+index 26da603..e480853 100644
+--- a/src/network/network.cc
++++ b/src/network/network.cc
+@@ -335,7 +335,7 @@ bool Connection::try_bind( const char *addr, int port_low, int port_high )
+ }
+ }
+
+- if ( bind( sock(), &local_addr.sa, local_addr_len ) == 0 ) {
++ if ( ::bind( sock(), &local_addr.sa, local_addr_len ) == 0 ) {
+ set_MTU( local_addr.sa.sa_family );
+ return true;
+ } else if ( i == search_high ) { /* last port to search */
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb
deleted file mode 100644
index 9fc8435e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb
+++ /dev/null
@@ -1,46 +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] = "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/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb
new file mode 100644
index 00000000..9c439354
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb
@@ -0,0 +1,48 @@
+# 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 \
+ file://0001-Fix-building-with-libc.patch \
+ "
+SRC_URI[md5sum] = "5122f4d2b973ab7c38dcdac8c35cb61e"
+SRC_URI[sha256sum] = "da600573dfa827d88ce114e0fed30210689381bbdcff543c931e4d6a2e851216"
+
+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/external/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
index 715b0235..87637093 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
@@ -2,8 +2,7 @@ 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 dbus-glib-native imagemagick openobex"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
+DEPENDS = "gtk+ dbus-glib dbus-glib-native imagemagick openobex bluez5"
SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz \
file://obex-data-server-0.4.6-build-fixes-1.patch \
@@ -11,7 +10,7 @@ SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz \
SRC_URI[md5sum] = "961ca5db6fe9c97024e133cc6203cc4d"
SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f"
-inherit distro_features_check autotools-brokensep pkgconfig
+inherit features_check autotools-brokensep pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
index 3fb8cb19..87907239 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
"
DEPENDS = "virtual/libusb0"
-DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
+DEPENDS_append_class-target = " bluez5"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
index f2a16dcf..efa3467a 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
@@ -6,19 +6,12 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SUMMARY = "Set of Bluetooth related tools for inclusion in images"
-DESCRIPTION = "Includes bluetooth specific tools for this version of BlueZ.\
-These tools are used at runtime. \
-Supports BlueZ4 and BlueZ5."
+DESCRIPTION = "Includes bluetooth specific tools for BlueZ.\
+These tools are used at runtime."
inherit packagegroup
-inherit bluetooth
-RDEPENDS_bluez4 = " \
- obexftp \
- ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'libasound-module-bluez', '', d)} \
-"
-
-RDEPENDS_bluez5 = " \
+RDEPENDS_${PN} = " \
bluez5-noinst-tools \
bluez5-obex \
bluez5-testtools \
@@ -31,7 +24,3 @@ RDEPENDS_bluez5 = " \
pulseaudio-module-loopback', \
'', d)} \
"
-
-# Install bluez4 tools or bluez5 tools depending on what is specified in the distro.
-# Otherwise install nothing.
-RDEPENDS_${PN} = "${RDEPENDS_${BLUEZ}}"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/0001-Fix-bug-of-free-with-musl.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/0001-Fix-bug-of-free-with-musl.patch
new file mode 100644
index 00000000..12f9e7ab
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/files/0001-Fix-bug-of-free-with-musl.patch
@@ -0,0 +1,39 @@
+From 96233a8382b9520293a48b08dc3b204a21205800 Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@cn.fujitsu.com>
+Date: Fri, 24 Apr 2020 00:53:19 +0900
+Subject: [PATCH] Fix bug of free() with musl
+
+This fixes build error with musl C library:
+/ubinux-dev/ubinux001/contribution/build/tmp/work/armv7vet2hf-neon-poky-linux-musleabi/paho-mqtt-c/1.3.2-r0/git/src/Heap.h:55:24:
+error: expected declaration specifiers or '...' before string constant
+ 55 | #define free(x) myfree(__FILE__, __LINE__, x)
+ | ^~~~~~~~
+/ubinux-dev/ubinux001/contribution/build/tmp/work/armv7vet2hf-neon-poky-linux-musleabi/paho-mqtt-c/1.3.2-r0/git/src/Heap.h:55:34:
+error: expected declaration specifiers or '...' before numeric constant
+ 55 | #define free(x) myfree(__FILE__, __LINE__, x)
+ | ^~~~~~~~
+
+Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
+---
+ src/MQTTReasonCodes.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/MQTTReasonCodes.c b/src/MQTTReasonCodes.c
+index 416eab5..479dbac 100644
+--- a/src/MQTTReasonCodes.c
++++ b/src/MQTTReasonCodes.c
+@@ -16,10 +16,10 @@
+
+ #include "MQTTReasonCodes.h"
+
+-#include "Heap.h"
+ #include "StackTrace.h"
+
+ #include <memory.h>
++#include "Heap.h"
+
+ #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.1.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.1.bb
deleted file mode 100644
index a7a9b5a6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.2.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
-DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
-HOMEPAGE = "http://www.eclipse.org/paho/"
-SECTION = "console/network"
-LICENSE = "EPL-1.0 | EDL-1.0"
-
-LIC_FILES_CHKSUM = " \
- file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
- file://epl-v10;md5=659c8e92a40b6df1d9e3dccf5ae45a08 \
- file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
- file://about.html;md5=dcde438d73cf42393da9d40fabc0c9bc \
-"
-
-SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http"
-
-SRCREV = "09fe0744e02f317b907e96dd5afcc02224ddbb85"
-
-DEPENDS = "openssl"
-
-S = "${WORKDIR}/git"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install() {
- install -d ${D}${libdir}
- oe_libinstall -C build/output -so libpaho-mqtt3a ${D}${libdir}
- oe_libinstall -C build/output -so libpaho-mqtt3as ${D}${libdir}
- oe_libinstall -C build/output -so libpaho-mqtt3c ${D}${libdir}
- oe_libinstall -C build/output -so libpaho-mqtt3cs ${D}${libdir}
- install -d ${D}${includedir}
- install -m 644 src/MQTTAsync.h ${D}${includedir}
- install -m 644 src/MQTTClient.h ${D}${includedir}
- install -m 644 src/MQTTClientPersistence.h ${D}${includedir}
-}
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.2.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.2.bb
new file mode 100644
index 00000000..071d51fc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.2.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
+DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
+HOMEPAGE = "http://www.eclipse.org/paho/"
+SECTION = "console/network"
+LICENSE = "EPL-2.0 | EDL-1.0"
+
+LIC_FILES_CHKSUM = " \
+ file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
+ file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
+ file://notice.html;md5=943f861069889acecebf51dfa24478e2 \
+ file://about.html;md5=e5662cbb5f8fd5c9faac526e4077898e \
+"
+
+SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http \
+ file://0001-Fix-bug-of-free-with-musl.patch"
+
+SRCREV = "3148fe2d5f4b87e16266dfe559c0764e16ca0546"
+
+DEPENDS = "openssl"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_install_append() {
+ # paho-mqtt installes some thing that we don't want.
+ rm -rf ${D}${prefix}/samples
+ find ${D}${prefix} -maxdepth 1 -type f -delete
+}
+
+EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb
new file mode 100644
index 00000000..2ef6b187
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker"
+HOMEPAGE = "https://github.com/alanxz/rabbitmq-c"
+LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53"
+LICENSE = "MIT"
+
+SRC_URI = "git://github.com/alanxz/rabbitmq-c.git"
+# v0.10.0-master
+SRCREV = "ffe918a5fcef72038a88054dca3c56762b1953d4"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "popt openssl"
+
+EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=ON -DBUILD_TOOLS_DOCS=OFF -DBUILD_API_DOCS=OFF"
+
+inherit cmake pkgconfig
+
+PACKAGE_BEFORE_PN += "${PN}-tools"
+FILES_${PN}-tools = "${bindir}"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.7.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.7.0.bb
deleted file mode 100644
index e9846fde..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.7.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker"
-HOMEPAGE = "https://github.com/alanxz/rabbitmq-c"
-LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53"
-LICENSE = "MIT"
-
-SRC_URI = "git://github.com/alanxz/rabbitmq-c.git"
-SRCREV = "4dde30ce8d984edda540349f57eb7995a87ba9de"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "popt openssl"
-
-EXTRA_OECONF = "--disable-examples --enable-tools --disable-docs"
-
-inherit autotools pkgconfig
-
-PACKAGE_BEFORE_PN += "${PN}-tools"
-FILES_${PN}-tools = "${bindir}"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
index 3e644760..5c19e65b 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
@@ -1,7 +1,7 @@
SUMMARY = "Radio enable/disable command line utility"
HOMEPAGE = "http://linuxwireless.org/en/users/Documentation/rfkill"
SECTION = "base"
-LICENSE = "BSD"
+LICENSE = "BSD-0-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94"
SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.bz2 \
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch
index 79d4f29f..7d09f438 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch
@@ -1,19 +1,26 @@
-Using AC_RUN_IFELSE prevent people from configuring package for
-cross-compiling. Don't run code while configuring package.
+Using AC_RUN_IFELSE prevent people from configuring package
+ for cross-compiling. Don't run code while configuring package.
Upstream-Status: Pending
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-Index: libtorrent-0.13.3/scripts/checks.m4
-===================================================================
---- libtorrent-0.13.3.orig/scripts/checks.m4 2012-05-14 14:17:04.000000000 +0300
-+++ libtorrent-0.13.3/scripts/checks.m4 2013-02-10 15:28:37.414445524 +0200
-@@ -95,40 +95,6 @@
+Update for 0.9.8.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ scripts/checks.m4 | 34 ----------------------------------
+ scripts/common.m4 | 28 ----------------------------
+ 2 files changed, 62 deletions(-)
+diff --git a/scripts/checks.m4 b/scripts/checks.m4
+index 83be846..1af80f5 100644
+--- a/scripts/checks.m4
++++ b/scripts/checks.m4
+@@ -95,40 +95,6 @@ AC_DEFUN([TORRENT_CHECK_KQUEUE], [
+
AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [
AC_MSG_CHECKING(whether kqueue supports pipes and ptys)
-
-- AC_RUN_IFELSE([AC_LANG_SOURCE([
+- AC_LINK_IFELSE([AC_LANG_SOURCE([
- #include <fcntl.h>
- #include <stdlib.h>
- #include <unistd.h>
@@ -47,18 +54,18 @@ Index: libtorrent-0.13.3/scripts/checks.m4
- AC_MSG_RESULT(no)
- ])
])
-
+
AC_DEFUN([TORRENT_WITH_KQUEUE], [
-Index: libtorrent-0.13.3/scripts/common.m4
-===================================================================
---- libtorrent-0.13.3.orig/scripts/common.m4 2012-05-14 14:17:04.000000000 +0300
-+++ libtorrent-0.13.3/scripts/common.m4 2013-02-10 15:27:55.874446741 +0200
-@@ -222,38 +222,10 @@
-
+diff --git a/scripts/common.m4 b/scripts/common.m4
+index aaf005e..42fb016 100644
+--- a/scripts/common.m4
++++ b/scripts/common.m4
+@@ -152,38 +152,10 @@ dnl Need to fix this so that it uses the stuff defined by the system.
+
AC_DEFUN([TORRENT_CHECK_EXECINFO], [
AC_MSG_CHECKING(for execinfo.h)
-
-- AC_RUN_IFELSE([AC_LANG_SOURCE([
+- AC_COMPILE_IFELSE([AC_LANG_SOURCE([
- #include <execinfo.h>
- int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;}
- ])],
@@ -69,11 +76,11 @@ Index: libtorrent-0.13.3/scripts/common.m4
- AC_MSG_RESULT(no)
- ])
])
-
+
AC_DEFUN([TORRENT_CHECK_ALIGNED], [
AC_MSG_CHECKING(the byte alignment)
-
-- AC_RUN_IFELSE([AC_LANG_SOURCE([
+- AC_LINK_IFELSE([AC_LANG_SOURCE([
- #include <inttypes.h>
- int main() {
- char buf@<:@8@:>@ = { 0, 0, 0, 0, 1, 0, 0, 0 };
@@ -90,5 +97,8 @@ Index: libtorrent-0.13.3/scripts/common.m4
- AC_MSG_RESULT(required)
- ])
])
-
+
+
+--
+2.7.4
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
index 9bb81c40..331f978f 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
@@ -8,10 +8,10 @@ DEPENDS = "libsigc++-2.0 curl cppunit libtorrent ncurses"
SRC_URI = "git://github.com/rakshasa/rtorrent \
file://don-t-run-code-while-configuring-package.patch \
"
-# v0.9.7
-SRCREV = "327164f9d86aafcd2500a317d485374df32ea622"
+# v0.9.8
+SRCREV = "6154d1698756e0c4842b1c13a0e56db93f1aa947"
-PV = "0.9.7+git${SRCPV}"
+PV = "0.9.8"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_3.5.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_3.5.bb
deleted file mode 100644
index f64776c5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_3.5.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A serial to network proxy"
-SECTION = "console/network"
-HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "e10e7c8c97e5bade5e85ce6e89bdf1f4"
-SRC_URI[sha256sum] = "ba9e1d60a89fd7ed075553b4a2074352902203f7fbd9b65b15048c05f0e3f3be"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.1.8.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.1.8.bb
new file mode 100644
index 00000000..4a91fa4f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.1.8.bb
@@ -0,0 +1,18 @@
+SUMMARY = "A serial to network proxy"
+SECTION = "console/network"
+HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f"
+
+DEPENDS = "gensio libyaml"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "cffb5147021202b064eb0a9389d0db63d1bb2dcde5a896f7785f97b1b5f51a72"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb
deleted file mode 100644
index 01c6e378..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Telepathy Framework glib-base helper library"
-DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers"
-HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
-DEPENDS = "glib-2.0 dbus hostpython-runtime-native dbus-native dbus-glib libxslt-native"
-LICENSE = "LGPLv2.1+"
-
-SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz"
-SRC_URI[md5sum] = "93c429e37750b25dcf8de86bb514664f"
-SRC_URI[sha256sum] = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
-
-inherit autotools pkgconfig gettext gobject-introspection
-
-FILES_${PN} += "${datadir}/telepathy \
- ${datadir}/dbus-1"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
new file mode 100644
index 00000000..2b05c61a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Telepathy Framework glib-base helper library"
+DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers"
+HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
+DEPENDS = "glib-2.0 dbus hostpython-runtime-native dbus-native dbus-glib libxslt-native"
+LICENSE = "LGPLv2.1+"
+
+SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz"
+SRC_URI[md5sum] = "cbeb0a24acc26e7f095be281c324da69"
+SRC_URI[sha256sum] = "9e0df1d8f857e0270cf0b32e2d1ca5a24aa7282873361785d573f72ad7f7d5eb"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
+
+inherit autotools pkgconfig gettext gobject-introspection vala
+
+EXTRA_OECONF = "--enable-vala-bindings"
+
+FILES_${PN} += "${datadir}/telepathy \
+ ${datadir}/dbus-1"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
index ca09f6da..7cb25b67 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
@@ -11,7 +11,12 @@ SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz
SRC_URI[md5sum] = "92a2de5198284cbd3c430b0d1a971a86"
SRC_URI[sha256sum] = "3013ad4b38d14ee630b8cc8ada5e95ccaa849b9a6fe15d2eaf6d0717d76f2fab"
-inherit autotools pkgconfig pythonnative
+inherit autotools pkgconfig ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)}
FILES_${PN} += "${datadir}/telepathy \
${datadir}/dbus-1"
+
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
deleted file mode 100644
index a77cd284..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a5544d8e543436e413379422b702f6f56ac7eb8e Mon Sep 17 00:00:00 2001
-From: Philip Balister <philip@balister.org>
-Date: Tue, 12 Apr 2016 17:30:15 -0400
-Subject: [PATCH] Forcibly disable check for Qt5.
-
-Signed-off-by: Philip Balister <philip@balister.org>
-
----
- build/cmake/DefineOptions.cmake | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/build/cmake/DefineOptions.cmake b/build/cmake/DefineOptions.cmake
-index 62e240f..f8b4493 100644
---- a/build/cmake/DefineOptions.cmake
-+++ b/build/cmake/DefineOptions.cmake
-@@ -52,9 +52,6 @@ CMAKE_DEPENDENT_OPTION(WITH_LIBEVENT "Build with libevent support" ON
- find_package(Qt4 QUIET COMPONENTS QtCore QtNetwork)
- CMAKE_DEPENDENT_OPTION(WITH_QT4 "Build with Qt4 support" ON
- "QT4_FOUND" OFF)
--find_package(Qt5 QUIET COMPONENTS Core Network)
--CMAKE_DEPENDENT_OPTION(WITH_QT5 "Build with Qt5 support" ON
-- "Qt5_FOUND" OFF)
- if(${WITH_QT4} AND ${WITH_QT5} AND ${CMAKE_MAJOR_VERSION} LESS 3)
- # cmake < 3.0.0 causes conflict when building both Qt4 and Qt5
- set(WITH_QT4 OFF)
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
deleted file mode 100644
index 182eacc0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From b8e254a2f4ba49412e541598c72159869a7770f8 Mon Sep 17 00:00:00 2001
-From: Cody P Schafer <dev@codyps.com>
-Date: Mon, 16 May 2016 15:21:10 -0400
-Subject: [PATCH] THRIFT-3828 In cmake avoid use of both quoted paths and
- SYSTEM with include_directories()
-
-This allows us to avoid issues where there are no paths to be added to
-the include path (include_directories() errors when given an empty
-string).
-
-Specifically, gcc-6 requires that libraries stop passing paths like
-'/usr/include' (or they will get libstdc++ build errors), so these paths
-will be empty more often in the future.
-
----
- lib/cpp/CMakeLists.txt | 8 ++++----
- lib/cpp/test/CMakeLists.txt | 2 +-
- test/cpp/CMakeLists.txt | 6 +++---
- tutorial/cpp/CMakeLists.txt | 2 +-
- 4 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt
-index 4c7caeb..a716ac3 100755
---- a/lib/cpp/CMakeLists.txt
-+++ b/lib/cpp/CMakeLists.txt
-@@ -24,7 +24,7 @@ else()
- find_package(Boost 1.53.0 REQUIRED)
- endif()
-
--include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-+include_directories(${Boost_INCLUDE_DIRS})
- include_directories(src)
-
- # SYSLIBS contains libraries that need to be linked to all lib targets
-@@ -104,7 +104,7 @@ if(OPENSSL_FOUND AND WITH_OPENSSL)
- src/thrift/transport/TSSLSocket.cpp
- src/thrift/transport/TSSLServerSocket.cpp
- )
-- include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
-+ include_directories(${OPENSSL_INCLUDE_DIR})
- list(APPEND SYSLIBS "${OPENSSL_LIBRARIES}")
- endif()
-
-@@ -162,7 +162,7 @@ TARGET_LINK_LIBRARIES_THRIFT(thrift ${SYSLIBS})
-
- if(WITH_LIBEVENT)
- find_package(Libevent REQUIRED) # Libevent comes with CMake support form upstream
-- include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS})
-+ include_directories(${LIBEVENT_INCLUDE_DIRS})
-
- ADD_LIBRARY_THRIFT(thriftnb ${thriftcppnb_SOURCES})
- TARGET_LINK_LIBRARIES_THRIFT(thriftnb ${SYSLIBS} ${LIBEVENT_LIBRARIES})
-@@ -171,7 +171,7 @@ endif()
-
- if(WITH_ZLIB)
- find_package(ZLIB REQUIRED)
-- include_directories(SYSTEM ${ZLIB_INCLUDE_DIRS})
-+ include_directories(${ZLIB_INCLUDE_DIRS})
-
- ADD_LIBRARY_THRIFT(thriftz ${thriftcppz_SOURCES})
- TARGET_LINK_LIBRARIES_THRIFT(thriftz ${SYSLIBS} ${ZLIB_LIBRARIES})
-diff --git a/lib/cpp/test/CMakeLists.txt b/lib/cpp/test/CMakeLists.txt
-index 5de9fc4..c956c38 100644
---- a/lib/cpp/test/CMakeLists.txt
-+++ b/lib/cpp/test/CMakeLists.txt
-@@ -20,7 +20,7 @@
- # Find required packages
- set(Boost_USE_STATIC_LIBS ON) # Force the use of static boost test framework
- find_package(Boost 1.53.0 REQUIRED COMPONENTS chrono filesystem system thread unit_test_framework)
--include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-+include_directories(${Boost_INCLUDE_DIRS})
-
- #Make sure gen-cpp files can be included
- include_directories("${CMAKE_CURRENT_BINARY_DIR}")
-diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt
-index 2d75f2e..b1409de 100755
---- a/test/cpp/CMakeLists.txt
-+++ b/test/cpp/CMakeLists.txt
-@@ -22,13 +22,13 @@ include(ThriftMacros)
-
- set(Boost_USE_STATIC_LIBS ON)
- find_package(Boost 1.53.0 REQUIRED COMPONENTS program_options system filesystem)
--include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-+include_directories(${Boost_INCLUDE_DIRS})
-
- find_package(OpenSSL REQUIRED)
--include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
-+include_directories(${OPENSSL_INCLUDE_DIR})
-
- find_package(Libevent REQUIRED) # Libevent comes with CMake support from upstream
--include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS})
-+include_directories(${LIBEVENT_INCLUDE_DIRS})
-
- #Make sure gen-cpp files can be included
- include_directories("${CMAKE_CURRENT_BINARY_DIR}")
-diff --git a/tutorial/cpp/CMakeLists.txt b/tutorial/cpp/CMakeLists.txt
-index 2b0c143..5ecae17 100644
---- a/tutorial/cpp/CMakeLists.txt
-+++ b/tutorial/cpp/CMakeLists.txt
-@@ -18,7 +18,7 @@
- #
-
- find_package(Boost 1.53.0 REQUIRED)
--include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-+include_directories(${Boost_INCLUDE_DIRS})
-
- #Make sure gen-cpp files can be included
- include_directories("${CMAKE_CURRENT_BINARY_DIR}")
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
deleted file mode 100644
index 37715c28..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 7b05a74432f08ef34d0f8743dd6438ad012e3b5e Mon Sep 17 00:00:00 2001
-From: Cody P Schafer <dev@codyps.com>
-Date: Fri, 9 Sep 2016 15:50:26 -0400
-Subject: [PATCH] THRIFT-3831 in test/cpp explicitly use `signed char`
-
-`char`'s signed-ness is implimentation dependent, and in the case where
-`char` was not signed, we previously recieved errors like
-
- thrift/0.9.3-r0/git/test/cpp/src/TestClient.cpp:404:15: error: narrowing conversion of '-127' from 'int' to 'char' inside { } [-Wnarrowing]
-
-(This example from gcc-6 on arm)
-
----
- test/cpp/src/TestClient.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
-index 7c425a9..7145ebb 100644
---- a/test/cpp/src/TestClient.cpp
-+++ b/test/cpp/src/TestClient.cpp
-@@ -381,7 +381,7 @@ int main(int argc, char** argv) {
- * BINARY TEST
- */
- printf("testBinary([-128..127]) = {");
-- const char bin_data[256]
-+ const signed char bin_data[256]
- = {-128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114,
- -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99,
- -98, -97, -96, -95, -94, -93, -92, -91, -90, -89, -88, -87, -86, -85, -84,
-@@ -402,7 +402,7 @@ int main(int argc, char** argv) {
- 127};
- try {
- string bin_result;
-- testClient.testBinary(bin_result, string(bin_data, 256));
-+ testClient.testBinary(bin_result, string(reinterpret_cast<const char *>(bin_data), 256));
- if (bin_result.size() != 256) {
- printf("}\n*** FAILED ***\n");
- printf("invalid length: %lu\n", bin_result.size());
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
deleted file mode 100644
index 500cfab6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 5f2c7e50b99d72177250c44236c41b99bfc161b5 Mon Sep 17 00:00:00 2001
-From: Andrej Valek <andrej.valek@siemens.com>
-Date: Thu, 7 Jun 2018 15:21:06 +0200
-Subject: [PATCH 4/6] %% original patch:
- 0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
-
----
- lib/cpp/src/thrift/transport/TSSLSocket.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-index 98c5326..3da9e45 100644
---- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-@@ -39,6 +39,7 @@
- #include <thrift/transport/PlatformSocket.h>
-
- #define OPENSSL_VERSION_NO_THREAD_ID 0x10000000L
-+#define OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2 0x10100000L
-
- using namespace std;
- using namespace apache::thrift::concurrency;
-@@ -143,10 +144,15 @@ SSLContext::SSLContext(const SSLProtocol& protocol) {
- ctx_ = SSL_CTX_new(SSLv3_method());
- } else if (protocol == TLSv1_0) {
- ctx_ = SSL_CTX_new(TLSv1_method());
-+#if (OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2)
- } else if (protocol == TLSv1_1) {
- ctx_ = SSL_CTX_new(TLSv1_1_method());
- } else if (protocol == TLSv1_2) {
- ctx_ = SSL_CTX_new(TLSv1_2_method());
-+#else
-+ //Support for this versions will end on 2016-12-31
-+ //https://www.openssl.org/about/releasestrat.html
-+#endif
- } else {
- /// UNKNOWN PROTOCOL!
- throw TSSLException("SSL_CTX_new: Unknown protocol");
---
-2.19.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch
deleted file mode 100644
index f4482b10..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 81f36e7174097a1f1f3e7f94a97574b2ec68577f Mon Sep 17 00:00:00 2001
-From: "James E. King, III" <jim.king@simplivity.com>
-Date: Thu, 29 Sep 2016 15:04:09 -0400
-Subject: [PATCH] THRIFT-3878: fix interop with newer OpenSSL libraries
-
----
- lib/cpp/src/thrift/transport/TSSLSocket.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-index 3da9e45..0a3a124 100644
---- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-@@ -97,7 +97,12 @@ void initializeOpenSSL() {
- SSL_library_init();
- SSL_load_error_strings();
- // static locking
-+ // newer versions of OpenSSL changed CRYPTO_num_locks - see THRIFT-3878
-+#ifdef CRYPTO_num_locks
-+ mutexes = boost::shared_array<Mutex>(new Mutex[CRYPTO_num_locks()]);
-+#else
- mutexes = boost::shared_array<Mutex>(new Mutex[ ::CRYPTO_num_locks()]);
-+#endif
- if (mutexes == NULL) {
- throw TTransportException(TTransportException::INTERNAL_ERROR,
- "initializeOpenSSL() failed, "
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch
deleted file mode 100644
index dfaa2fbd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 4cd49f470ca983369451d1141acc80fe1115cab4 Mon Sep 17 00:00:00 2001
-From: Nobuaki Sukegawa <nsuke@apache.org>
-Date: Sun, 13 Mar 2016 08:55:38 +0900
-Subject: [PATCH] THRIFT-3736 C++ library build fails if OpenSSL does not
-
- surrpot SSLv3
-
----
- lib/cpp/src/thrift/transport/TSSLSocket.cpp | 2 ++
- lib/cpp/test/SecurityTest.cpp | 8 ++++++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-index 0a3a124..3e79354 100644
---- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
-@@ -145,8 +145,10 @@ static char uppercase(char c);
- SSLContext::SSLContext(const SSLProtocol& protocol) {
- if (protocol == SSLTLS) {
- ctx_ = SSL_CTX_new(SSLv23_method());
-+#ifndef OPENSSL_NO_SSL3
- } else if (protocol == SSLv3) {
- ctx_ = SSL_CTX_new(SSLv3_method());
-+#endif
- } else if (protocol == TLSv1_0) {
- ctx_ = SSL_CTX_new(TLSv1_method());
- #if (OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2)
-diff --git a/lib/cpp/test/SecurityTest.cpp b/lib/cpp/test/SecurityTest.cpp
-index 213efd4..08110e7 100644
---- a/lib/cpp/test/SecurityTest.cpp
-+++ b/lib/cpp/test/SecurityTest.cpp
-@@ -239,6 +239,14 @@ BOOST_AUTO_TEST_CASE(ssl_security_matrix)
- continue;
- }
-
-+#ifdef OPENSSL_NO_SSL3
-+ if (si == 2 || ci == 2)
-+ {
-+ // Skip all SSLv3 cases - protocol not supported
-+ continue;
-+ }
-+#endif
-+
- boost::mutex::scoped_lock lock(mMutex);
-
- BOOST_TEST_MESSAGE(boost::format("TEST: Server = %1%, Client = %2%")
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch
new file mode 100644
index 00000000..485d7a4b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch
@@ -0,0 +1,42 @@
+From a07e56e1a2e70a9b81eb0a65f345cf45a7a93a81 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 21:56:23 -0800
+Subject: [PATCH] DefineInstallationPaths.cmake: Define libdir in terms of
+ LIB_SUFFIX
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ build/cmake/DefineInstallationPaths.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/build/cmake/DefineInstallationPaths.cmake
++++ b/build/cmake/DefineInstallationPaths.cmake
+@@ -22,11 +22,11 @@
+ set(BIN_INSTALL_DIR "bin" CACHE PATH "The binary install dir (default: bin)")
+ set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "The library install dir (default: lib${LIB_SUFFIX})")
+ set(INCLUDE_INSTALL_DIR "include" CACHE PATH "The library install dir (default: include)")
+-set(CMAKE_INSTALL_DIR "lib/cmake" CACHE PATH "The subdirectory to install cmake config files (default: cmake)")
+-set(PKGCONFIG_INSTALL_DIR "lib/pkgconfig" CACHE PATH "The subdirectory to install pkgconfig config files (default: lib/pkgconfig)")
++set(CMAKE_INSTALL_DIR "lib${LIB_SUFFIX}/cmake" CACHE PATH "The subdirectory to install cmake config files (default: cmake)")
++set(PKGCONFIG_INSTALL_DIR "lib${LIB_SUFFIX}/pkgconfig" CACHE PATH "The subdirectory to install pkgconfig config files (default: lib/pkgconfig)")
+ set(DOC_INSTALL_DIR "share/doc" CACHE PATH "The subdirectory to install documentation files (default: share/doc)")
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "${CMAKE_INSTALL_PREFIX}/bin")
+-set(libdir "${CMAKE_INSTALL_PREFIX}/lib")
++set(libdir "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
+ set(includedir "${CMAKE_INSTALL_PREFIX}/include")
+ set(cmakedir "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DIR}")
+--- a/build/cmake/DefineCMakeDefaults.cmake
++++ b/build/cmake/DefineCMakeDefaults.cmake
+@@ -44,8 +44,8 @@ include(BuildType)
+ # top of the build tree rather than in hard-to-find leaf
+ # directories. This simplifies manual testing and the use of the build
+ # tree rather than installed thrift libraries.
+-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX})
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX})
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+
+ #
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb
new file mode 100644
index 00000000..92bcb21b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Apache Thrift"
+DESCRIPTION = "A software framework, for scalable cross-language services development"
+HOMEPAGE = "https://thrift.apache.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=394465e125cffc0f133695ed43f14047 \
+ file://NOTICE;md5=2659b43daca219f99a2f2626ea128f73"
+
+DEPENDS = "thrift-native boost flex-native bison-native openssl"
+
+SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz \
+ file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch \
+ "
+SRC_URI[md5sum] = "38a27d391a2b03214b444cb13d5664f1"
+SRC_URI[sha256sum] = "7ad348b88033af46ce49148097afe354d513c1fca7c607b59c33ebb6064b5179"
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit pkgconfig cmake python3native
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+export BUILD_SYS
+export HOST_SYS
+
+EXTRA_OECMAKE = " \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DBUILD_LIBRARIES=ON \
+ -DBUILD_COMPILER=ON \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_TUTORIALS=OFF \
+ -DWITH_CPP=ON \
+ -DWITH_JAVA=OFF \
+ -DWITH_PYTHON=OFF \
+ -DWITH_STATIC_LIB=ON \
+ -DWITH_SHARED_LIB=ON \
+ -DWITH_OPENSSL=ON \
+ -DWITH_QT4=OFF \
+ -DWITH_QT5=OFF \
+ -DWITH_BOOST_FUNCTIONAL=OFF \
+"
+
+PACKAGECONFIG ??= "libevent glib boost-smart-ptr"
+PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent"
+PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0"
+PACKAGECONFIG[boost-smart-ptr] = "-DWITH_BOOST_SMART_PTR=ON,-DWITH_BOOST_SMART_PTR=OFF,boost"
+
+do_install_append () {
+ ln -sf thrift ${D}/${bindir}/thrift-compiler
+}
+
+LEAD_SONAME = "libthrift.so.${PV}"
+
+# thrift packages
+PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib"
+FILES_lib${BPN} = "${libdir}/libthrift.so.*"
+FILES_lib${BPN}z = "${libdir}/libthriftz.so.*"
+FILES_lib${BPN}nb = "${libdir}/libthriftnb.so.*"
+FILES_lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.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/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb
deleted file mode 100644
index 7ab74026..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "Apache Thrift"
-DESCRIPTION = "A software framework, for scalable cross-language services development"
-HOMEPAGE = "https://thrift.apache.org/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e4ed21f679b2aafef26eac82ab0c2cbf \
- file://NOTICE;md5=115f49498b66b494b0472658f2bfe80b"
-
-DEPENDS = "thrift-native boost flex-native bison-native openssl"
-
-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 \
- file://0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch \
- file://0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch \
- file://0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch \
-"
-
-SRC_URI[md5sum] = "88d667a8ae870d5adeca8cb7d6795442"
-SRC_URI[sha256sum] = "b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e"
-
-BBCLASSEXTEND = "native nativesdk"
-
-inherit pkgconfig cmake pythonnative
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-export BUILD_SYS
-export HOST_SYS
-
-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 \
-"
-
-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/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-Use-toolchain-from-environment-variables.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-Use-toolchain-from-environment-variables.patch
new file mode 100644
index 00000000..9ee4a51f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-Use-toolchain-from-environment-variables.patch
@@ -0,0 +1,92 @@
+From 6b822b36739222d0c864249992b5d28e3ff4d948 Mon Sep 17 00:00:00 2001
+From: Adrian Friedli <adrian.friedli@husqvarnagroup.com>
+Date: Mon, 3 Sep 2018 17:58:27 +0200
+Subject: [PATCH] Use toolchain from environment variables
+
+Upstream-Status: Submitted [https://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT/pull/42]
+Signed-off-by: Adrian Friedli <adrian.friedli@husqvarnagroup.com>
+Signed-off-by: Ankit Navik <ankit.tarot@gmail.com>
+---
+ Makefile.inc | 7 ++++---
+ WTGService/Makefile | 2 +-
+ console_src/Makefile | 2 +-
+ lib/Makefile | 6 +++---
+ 4 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.inc b/Makefile.inc
+index b0edf5a..0094bdf 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -13,14 +13,15 @@
+ # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
+ # USE OR PERFORMANCE OF THIS SOFTWARE.
+ #
+-CC = gcc
++CC ?= gcc
++AR ?= ar
+ LIB=lib
+ DUT=dut
+ CA=ca
+ UCC=ucc
+ CON=console_src
+ WTG=WTGService
+-MAKE=make
++MAKE?=make
+
+ # This is for WMM-PS
+ #for Ext TG
+@@ -46,7 +47,7 @@ CFLAGS = -g -O2 -D_REENTRANT -Wall -I../inc
+
+ DUTLIBS = ../lib/libwfa_dut.a -lpthread
+ CALIBS = ../lib/libwfa_ca.a -lpthread
+-RANLIB = ranlib
++RANLIB ?= ranlib
+
+ LIBWFA_NAME_DUT = libwfa_dut.a
+ LIBWFA_NAME_CA = libwfa_ca.a
+diff --git a/WTGService/Makefile b/WTGService/Makefile
+index 5312eb6..4855771 100644
+--- a/WTGService/Makefile
++++ b/WTGService/Makefile
+@@ -13,7 +13,7 @@
+ # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
+ # USE OR PERFORMANCE OF THIS SOFTWARE.
+ #
+-CC=gcc
++CC?=gcc
+ CFLAGS= -Wall
+ LIB=-lpthread
+
+diff --git a/console_src/Makefile b/console_src/Makefile
+index 8282283..d1098eb 100644
+--- a/console_src/Makefile
++++ b/console_src/Makefile
+@@ -14,7 +14,7 @@
+ # USE OR PERFORMANCE OF THIS SOFTWARE.
+ #
+
+-CC = gcc
++CC ?= gcc
+ CFLAGS = -g -DWFA_DEBUG -pthread
+
+ TARGETS = wfa_con
+diff --git a/lib/Makefile b/lib/Makefile
+index ffcef94..299b8d6 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -17,9 +17,9 @@
+ include ../Makefile.inc
+
+ all: ${LIB_OBJS}
+- ar crv ${LIBWFA_NAME} $?
+- ar crv ${LIBWFA_NAME_DUT} ${LIB_OBJS_DUT}
+- ar crv ${LIBWFA_NAME_CA} ${LIB_OBJS_CA}
++ $(AR) crv ${LIBWFA_NAME} $?
++ $(AR) crv ${LIBWFA_NAME_DUT} ${LIB_OBJS_DUT}
++ $(AR) crv ${LIBWFA_NAME_CA} ${LIB_OBJS_CA}
+ ${RANLIB} ${LIBWFA_NAME} ${LIBWFA_NAME_DUT} ${LIBWFA_NAME_CA}
+
+ wfa_tg.o: wfa_tg.c ../inc/wfa_agt.h ../inc/wfa_types.h ../inc/wfa_rsp.h ../inc/wfa_tlv.h ../inc/wfa_tg.h
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch
new file mode 100644
index 00000000..20fb6473
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch
@@ -0,0 +1,45 @@
+From 451b162c903a1ef070a75dc18171620f3beef7b3 Mon Sep 17 00:00:00 2001
+From: Ankit Navik <ankit.tarot@gmail.com>
+Date: Tue, 25 Dec 2018 00:36:59 +0530
+Subject: [PATCH 2/3] Add missing include, removes unnedded stuff and add non
+ glibc rpc
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Reto Schneider <code@reto-schneider.ch>
+Signed-off-by: Ankit Navik <ankit.tarot@gmail.com>
+---
+ Makefile | 2 +-
+ inc/wfa_tg.h | 3 +++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 2c41a17..5c4ad8c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -15,7 +15,7 @@
+ #
+ include Makefile.inc
+
+-DIRS= ${LIB} ${DUT} ${CA} ${TC} ${WTG} ${CON}
++DIRS= ${LIB} ${DUT} ${CA} ${TC}
+
+ all:
+ for i in ${DIRS}; do \
+diff --git a/inc/wfa_tg.h b/inc/wfa_tg.h
+index 799bf9f..a1804dd 100644
+--- a/inc/wfa_tg.h
++++ b/inc/wfa_tg.h
+@@ -24,6 +24,9 @@
+ #ifndef _WFA_TG_H
+ #define _WFA_TG_H
+
++#ifndef _WINDOWS
++#include <pthread.h>
++#endif
+ #include <sys/time.h>
+
+ /* maximum number of streams to support */
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch
new file mode 100644
index 00000000..a51302a0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch
@@ -0,0 +1,58 @@
+From fc7b7106dd0d8d123f20cbd8d408637fbc315e17 Mon Sep 17 00:00:00 2001
+From: Ankit Navik <ankit.tarot@gmail.com>
+Date: Tue, 25 Dec 2018 01:12:32 +0530
+Subject: [PATCH 3/3] fix path to /usr/sbin for script and make script for
+ generic shell
+
+Signed-off-by: Ankit Navik <ankit.tarot@gmail.com>
+---
+ lib/wfa_cs.c | 4 ++--
+ scripts/dev_send_frame | 2 +-
+ scripts/sta_reset_parm | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/wfa_cs.c b/lib/wfa_cs.c
+index 6b1f5a2..2a18533 100644
+--- a/lib/wfa_cs.c
++++ b/lib/wfa_cs.c
+@@ -319,7 +319,7 @@ int wfaStaGetIpConfig(int len, BYTE *caCmdBuf, int *respLen, BYTE *respBuf)
+ /*
+ * check a script file (the current implementation specific)
+ */
+- ret = access("/usr/local/sbin/getipconfig.sh", F_OK);
++ ret = access("/usr/sbin/getipconfig.sh", F_OK);
+ if(ret == -1)
+ {
+ ipconfigResp->status = STATUS_ERROR;
+@@ -2115,7 +2115,7 @@ int wfaStaPresetParams(int len, BYTE *caCmdBuf, int *respLen, BYTE *respBuf)
+ st = remove("/tmp/processid.txt");
+ }
+
+- sprintf(cmdStr, "/usr/local/sbin/findprocess.sh %s /tmp/processid.txt\n", "wpa_supplicant");
++ sprintf(cmdStr, "/usr/sbin/findprocess.sh %s /tmp/processid.txt\n", "wpa_supplicant");
+ st = system(cmdStr);
+
+ tmpfd = fopen("/tmp/processid.txt", "r+");
+diff --git a/scripts/dev_send_frame b/scripts/dev_send_frame
+index 9e6afd3..3c37d61 100644
+--- a/scripts/dev_send_frame
++++ b/scripts/dev_send_frame
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env sh
+
+ #
+ # Copyright (c) 2016 Wi-Fi Alliance
+diff --git a/scripts/sta_reset_parm b/scripts/sta_reset_parm
+index 2aff1f1..2c1c31e 100644
+--- a/scripts/sta_reset_parm
++++ b/scripts/sta_reset_parm
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env sh
+
+ #
+ # Copyright (c) 2016 Wi-Fi Alliance
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0004-run-ranlib-per-library-and-use-AR.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0004-run-ranlib-per-library-and-use-AR.patch
new file mode 100644
index 00000000..40af4897
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0004-run-ranlib-per-library-and-use-AR.patch
@@ -0,0 +1,38 @@
+From cca2f9901fb4fdcdd49066fe434eae512964143f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 9 Feb 2019 07:59:47 -0800
+Subject: [PATCH 4/4] run ranlib per library and use AR
+
+Use AR variable to invoke archiver instead of hardcoding, helps cross
+compile
+
+compiler ranlib e.g. llvm-ranlib fails to operate on multiple archives
+on single invocation
+
+fixes errors like
+arm-yoe-linux-musleabi-llvm-ranlib: error: Exactly one archive should be specified.
+
+Upstream-Status: Submitted [https://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT/pull/47]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/Makefile | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/lib/Makefile b/lib/Makefile
+index 299b8d6..5fca322 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -20,7 +20,9 @@ all: ${LIB_OBJS}
+ $(AR) crv ${LIBWFA_NAME} $?
+ $(AR) crv ${LIBWFA_NAME_DUT} ${LIB_OBJS_DUT}
+ $(AR) crv ${LIBWFA_NAME_CA} ${LIB_OBJS_CA}
+- ${RANLIB} ${LIBWFA_NAME} ${LIBWFA_NAME_DUT} ${LIBWFA_NAME_CA}
++ ${RANLIB} ${LIBWFA_NAME}
++ ${RANLIB} ${LIBWFA_NAME_DUT}
++ ${RANLIB} ${LIBWFA_NAME_CA}
+
+ wfa_tg.o: wfa_tg.c ../inc/wfa_agt.h ../inc/wfa_types.h ../inc/wfa_rsp.h ../inc/wfa_tlv.h ../inc/wfa_tg.h
+
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb
new file mode 100644
index 00000000..99cfb320
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Wi-Fi Test Suite Linux Control Agent"
+DESCRIPTION = "Wi-Fi Test Suite is a software platform originally developed \
+by Wi-Fi Alliance, the global non-profit industry association that brings you \
+Wi-Fi, to support certification program development and device certification."
+HOMEPAGE = "https://www.wi-fi.org/certification/wi-fi-test-suite"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0542427ed5c315ca34aa09ae7a85ed32"
+SECTION = "test"
+
+S = "${WORKDIR}/git"
+SRCREV = "f7a8d7ef7d1a831c1bb47de21fa083536ea2f3a9"
+SRC_URI = "git://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT.git \
+ file://0001-Use-toolchain-from-environment-variables.patch \
+ file://0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch \
+ file://0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch \
+ file://0004-run-ranlib-per-library-and-use-AR.patch \
+"
+
+# to avoid host path QA error
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+# Fix GNU HASH error
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ install -d ${D}${libdir}
+ install -m 0644 ${S}/lib/libwfa.a ${D}${libdir}
+ install -m 0644 ${S}/lib/libwfa_ca.a ${D}${libdir}
+ install -m 0644 ${S}/lib/libwfa_dut.a ${D}${libdir}
+ install -d ${D}${sbindir}
+ install -m 0755 ${S}/dut/wfa_dut ${D}${sbindir}
+ install -m 0755 ${S}/ca/wfa_ca ${D}${sbindir}
+ install -m 0755 ${S}/scripts/*.sh ${D}${sbindir}
+ install -m 0755 ${S}/scripts/arp_neigh_loop ${D}${sbindir}
+ install -m 0755 ${S}/scripts/dev_send_frame ${D}${sbindir}
+ install -m 0755 ${S}/scripts/sta_reset_parm ${D}${sbindir}
+}
+
+RDEPENDS_${PN} = "wpa-supplicant"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial/musl-support.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial/musl-support.patch
new file mode 100644
index 00000000..b5ad4823
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial/musl-support.patch
@@ -0,0 +1,25 @@
+Drop support for glibc < 2.10, in master we are at 2.28
+in process get it working with musl as well.
+
+Upstream-Status: Inappropriate [No upstream]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/wvmodemscan.cc
++++ b/wvmodemscan.cc
+@@ -495,16 +495,8 @@ static int fileselect(const struct diren
+ // (no internal ISDN support) || !strncmp(e->d_name, "ttyI", 4);
+ }
+
+-#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 10)
+ static int filesort(const dirent **e1, const dirent **e2)
+-#else
+-static int filesort(const void *_e1, const void *_e2)
+-#endif
+ {
+-#if !(defined(__GLIBC__) && __GLIBC_PREREQ(2, 10))
+- dirent const * const *e1 = (dirent const * const *)_e1;
+- dirent const * const *e2 = (dirent const * const *)_e2;
+-#endif
+ const char *p1, *p2;
+ int diff;
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
index 51542081..b985d39a 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
@@ -11,18 +11,17 @@ RDEPENDS_${PN} = "ppp"
SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.bz2 \
file://typo_pon.wvdial.1.patch \
+ file://musl-support.patch \
"
-
SRC_URI[md5sum] = "37e9a2d664effe4efd44c0e1a20136de"
SRC_URI[sha256sum] = "99906d9560cbdbc97e1855e7b0a7169f1e11983be3ac539140423f09debced82"
+COMPATIBLE_HOST_libc-musl = "null"
EXTRA_OEMAKE = ""
export WVLINK="${LD}"
PARALLEL_MAKE = ""
-BUILD_CPPFLAGS += "-I${STAGING_INCDIR}/wvstreams"
-
do_configure() {
sed -i 's/LDFLAGS+=-luniconf/LIBS+=-luniconf/' ${S}/Makefile
}
@@ -30,5 +29,3 @@ do_configure() {
do_install() {
oe_runmake prefix=${D}/usr PPPDIR=${D}/etc/ppp/peers install
}
-# http://errors.yoctoproject.org/Errors/Details/186959/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Fix-narrowing-conversion-error.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Fix-narrowing-conversion-error.patch
new file mode 100644
index 00000000..fc9abd8e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Fix-narrowing-conversion-error.patch
@@ -0,0 +1,29 @@
+From c86c524f951f6e973473bfee76fd5366368b2cbc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Dec 2019 09:32:41 -0800
+Subject: [PATCH] Fix narrowing conversion error
+
+xplc/moduleloader.cc: In static member function 'static Module* Module::loadModule(const char*)': xplc/moduleloader.cc:67:14: error: narrowing conversion of '-1' from 'int' to 'unsigned int' [-Wnarrowing] 67 | case (int)-1: | ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xplc/moduleloader.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xplc/moduleloader.cc b/xplc/moduleloader.cc
+index 02dd9a4..c53f5d2 100644
+--- a/xplc/moduleloader.cc
++++ b/xplc/moduleloader.cc
+@@ -62,7 +62,7 @@ Module* Module::loadModule(const char* modulename) {
+ return NULL;
+ }
+
+- switch(moduleinfo->version_major) {
++ switch((int)moduleinfo->version_major) {
+ #ifdef UNSTABLE
+ case -1:
+ /* nothing to do */
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch
deleted file mode 100644
index 232db9e6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
index b9f62da7..20becaf5 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
@@ -15,7 +15,6 @@ SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \
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 \
@@ -23,11 +22,14 @@ SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \
file://0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch \
file://openssl-buildfix.patch \
file://0001-Forward-port-to-OpenSSL-1.1.x.patch \
+ file://0001-Fix-narrowing-conversion-error.patch \
"
SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c"
SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633"
+COMPATIBLE_HOST_libc-musl = "null"
+
inherit autotools-brokensep pkgconfig
TARGET_CFLAGS_append = " -fno-tree-dce -fno-optimize-sibling-calls"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/zabbix-agent.service b/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/zabbix-agent.service
index b18a96f8..56e50642 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/zabbix-agent.service
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/zabbix-agent.service
@@ -3,9 +3,8 @@ Description=Zabbix Monitor Agent
After=syslog.target network.target
[Service]
-Type=oneshot
-ExecStart=@SBINDIR@/zabbix_agentd
-RemainAfterExit=yes
+Type=simple
+ExecStart=@SBINDIR@/zabbix_agentd -f
User=zabbix
[Install]
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb
deleted file mode 100644
index bab5a6ae..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.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] = "489d21b464277c0d412155c7e5611a8f"
-SRC_URI[sha256sum] = "4445f26c025009681c29c9b350aa6c4ee7b124ddcaf1609ae36c55997bcb8cf2"
-
-inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "zabbix-agent.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-r zabbix"
-USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \
- -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \
-"
-
-KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}"
-
-EXTRA_OECONF = " \
- --enable-dependency-tracking \
- --enable-agent \
- --enable-ipv6 \
- --with-net-snmp \
- --with-ldap=${STAGING_EXECPREFIXDIR} \
- --with-jabber \
- --with-unixodbc \
- --with-ssh2 \
- --with-sqlite3 \
-"
-CFLAGS_append = " -lldap -llber"
-
-do_configure_prepend() {
- export KERNEL_VERSION="${KERNEL_VERSION}"
-}
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
- fi
-}
-
-FILES_${PN} += "${libdir}"
-
-RDEPENDS_${PN} = "logrotate"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb
new file mode 100644
index 00000000..0e0ddd57
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb
@@ -0,0 +1,78 @@
+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 = "libevent libpcre openldap virtual/libiconv zlib"
+
+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] = "e666539220be93b1af38e40f5fbb1f79"
+SRC_URI[sha256sum] = "22bb28e667424ad4688f47732853f4241df0e78a7607727b043d704ba726ae0e"
+
+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-unixodbc \
+ --with-ssh2 \
+ --with-sqlite3 \
+ --with-zlib \
+ --with-libpthread \
+ --with-libevent \
+ --with-libpcre \
+"
+CFLAGS_append = " -lldap -llber -pthread"
+
+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/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
index 9aff59c6..0b66970a 100644
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
@@ -4,8 +4,8 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
DEPENDS = "zeromq"
-SRCREV = "6aa3ab686e916cb0e62df7fa7d12e0b13ae9fae6"
-PV = "4.2.3+git${SRCPV}"
+SRCREV = "8d5c9a88988dcbebb72939ca0939d432230ffde1"
+PV = "4.6.0"
SRC_URI = "git://github.com/zeromq/cppzmq.git"
@@ -13,6 +13,8 @@ S = "${WORKDIR}/git"
inherit cmake
+EXTRA_OECMAKE = "-DCPPZMQ_BUILD_TESTS=OFF"
+
PACKAGES = "${PN}-dev"
RDEPENDS_${PN}-dev = "zeromq-dev"
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.0.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.0.bb
new file mode 100644
index 00000000..7c9a33e8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.0.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "High-level C binding for 0MQ"
+HOMEPAGE = "http://czmq.zeromq.org/"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3"
+DEPENDS = "zeromq"
+
+SRC_URI = "https://github.com/zeromq/czmq/releases/download/v${PV}/czmq-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "7e09997db6ac3b25e8ed104053040722"
+SRC_URI[sha256sum] = "cfab29c2b3cc8a845749758a51e1dd5f5160c1ef57e2a41ea96e4c2dcc8feceb"
+
+UPSTREAM_CHECK_URI = "https://github.com/zeromq/${BPN}/releases"
+
+inherit cmake
+
+PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-staticdev ${PN} ${PN}-dbg"
+
+FILES_${PN} = "${bindir}/*"
+FILES_lib${BPN} = "${libdir}/*.so.*"
+FILES_lib${BPN}-dev = "${libdir}/*.so ${libdir}/pkgconfig ${includedir} ${datadir}/cmake"
+FILES_lib${BPN}-staticdev = "${libdir}/lib*.a"
+
+RDEPENDS_lib${BPN}-dev = "zeromq-dev"
+
+PACKAGECONFIG ??= "lz4 uuid curl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[lz4] = ",-DCMAKE_DISABLE_FIND_PACKAGE_lz4=TRUE,lz4"
+PACKAGECONFIG[uuid] = ",-DCMAKE_DISABLE_FIND_PACKAGE_uuid=TRUE,util-linux"
+PACKAGECONFIG[curl] = ",-DCMAKE_DISABLE_FIND_PACKAGE_libcurl=TRUE,curl"
+PACKAGECONFIG[systemd] = ",-DCMAKE_DISABLE_FIND_PACKAGE_systemd=TRUE,systemd"
+
+BBCLASSEXTEND = "nativesdk"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch
new file mode 100644
index 00000000..eb3dee4d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch
@@ -0,0 +1,39 @@
+From: Niko Mauno <niko.mauno@vaisala.com>
+Date: Wed Apr 22 09:00:00 2020 +0300
+Subject: CMakeLists.txt: Avoid host-specific path to libsodium
+
+Avoid propagating full build host specific path to generated
+ZeroMQTargets.cmake when building with libsodium, which changes the
+content in generated ZeroMQTargets.cmake files followingly:
+
+ -INTERFACE_LINK_LIBRARIES "-lpthread;/build/host/specific/path/to/zeromq/4.3.2-r0/recipe-sysroot/usr/lib/libsodium.so;-lrt"
+ +INTERFACE_LINK_LIBRARIES "-lpthread;-lsodium;-lrt"
+
+This change mitigates an issue stemming from reuse of build artifacts
+where the path to libsodium.so does not match exactly between two
+different build hosts.
+
+Upstream-Status: Pending
+
+Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1210,7 +1210,7 @@
+ target_link_libraries(libzmq ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+
+ if(SODIUM_FOUND)
+- target_link_libraries(libzmq ${SODIUM_LIBRARIES})
++ target_link_libraries(libzmq -lsodium)
+ # On Solaris, libsodium depends on libssp
+ if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+ target_link_libraries(libzmq ssp)
+@@ -1240,7 +1240,7 @@
+ target_link_libraries(libzmq-static ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+
+ if(SODIUM_FOUND)
+- target_link_libraries(libzmq-static ${SODIUM_LIBRARIES})
++ target_link_libraries(libzmq-static -lsodium)
+ # On Solaris, libsodium depends on libssp
+ if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+ target_link_libraries(libzmq-static ssp)
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.2.5.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.2.5.bb
deleted file mode 100644
index 356348b4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.2.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/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
- file://run-ptest \
-"
-SRC_URI[md5sum] = "a1c95b34384257e986842f4d006957b8"
-SRC_URI[sha256sum] = "cc9090ba35713d59bb2f7d7965f877036c49c5558ea0c290b0dcc6f2a17e489f"
-
-S = "${WORKDIR}/zeromq-${PV}"
-
-#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select
-#EXTRA_OECONF += "--with-poller=kqueue"
-#CFLAGS_append = " -O0"
-#CXXFLAGS_append = " -O0"
-
-inherit autotools ptest pkgconfig
-
-do_compile_ptest () {
- echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${B}/Makefile
- oe_runmake buildtest-TESTS
-}
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/tests/.libs/test_* ${D}${PTEST_PATH}/tests
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb
new file mode 100644
index 00000000..02a4c04f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb
@@ -0,0 +1,29 @@
+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] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
+
+SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
+ file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \
+ file://run-ptest \
+"
+SRC_URI[md5sum] = "2047e917c2cc93505e2579bcba67a573"
+SRC_URI[sha256sum] = "ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/libzmq/releases"
+
+inherit cmake ptest pkgconfig
+
+EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \
+ -DCMAKE_SKIP_RPATH=ON \
+"
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests
+}
+
+FILES_${PN}-doc += "${datadir}/zmq/*.txt"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_22.bb b/external/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_22.bb
new file mode 100644
index 00000000..c0b6f7f8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_22.bb
@@ -0,0 +1,31 @@
+SUMMARY = "dbus broker"
+DESCRIPTION = "Drop-in replacement for dbus-daemon."
+
+SECTION = "base"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8"
+
+SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz"
+SRC_URI[md5sum] = "03c4730f2110b5492e1212c81af325dc"
+SRC_URI[sha256sum] = "32f30700cefc997c479d75fcc42f3177940f1ebbee9c5a60c1e3ee39b90a9783"
+
+UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases"
+
+inherit meson pkgconfig systemd features_check
+
+DEPENDS = "expat systemd"
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'audit', '', d)}"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+FILES_${PN} += "${systemd_system_unitdir}"
+FILES_${PN} += "${systemd_user_unitdir}"
+FILES_${PN} += "${nonarch_libdir}/systemd/catalog"
+
+EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}"
+EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb b/external/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb
deleted file mode 100644
index ac0f325a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "dbus broker"
-DESCRIPTION = "Drop-in replacement for dbus-daemon."
-
-SECTION = "base"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8"
-
-DEPENDS = "dbus glib-2.0 expat"
-
-PV = "16+git${SRCPV}"
-SRCREV = "fc874afa0992d0c75ec25acb43d344679f0ee7d2"
-
-SRC_URI = "gitsm://github.com/bus1/dbus-broker;protocol=git"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig systemd distro_features_check
-
-EXTRA_OEMESON += "-Ddocs=false"
-
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-FILES_${PN} += "${systemd_system_unitdir}"
-FILES_${PN} += "${systemd_user_unitdir}"
-
-RDEPENDS_${PN} = "dbus"
-
-BBCLASSEXTEND = "native"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch b/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch
deleted file mode 100644
index abd7ff41..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: eggdbus-0.6/docs/eggdbus/Makefile.am
-===================================================================
---- eggdbus-0.6.orig/docs/eggdbus/Makefile.am
-+++ eggdbus-0.6/docs/eggdbus/Makefile.am
-@@ -87,11 +87,7 @@ HTML_IMAGES = \
- # Extra options to supply to gtkdoc-fixref
- FIXXREF_OPTIONS=
-
--if ENABLE_GTK_DOC
--include $(top_srcdir)/gtk-doc.make
--else
- CLEANFILES =
--endif
-
- CLEANFILES += *~ \
- eggdbus-scan.* \
-Index: eggdbus-0.6/docs/tests/Makefile.am
-===================================================================
---- eggdbus-0.6.orig/docs/tests/Makefile.am
-+++ eggdbus-0.6/docs/tests/Makefile.am
-@@ -65,11 +65,7 @@ HTML_IMAGES = \
- # Extra options to supply to gtkdoc-fixref
- FIXXREF_OPTIONS=
-
--if ENABLE_GTK_DOC
--include $(top_srcdir)/gtk-doc.make
--else
- CLEANFILES =
--endif
-
- CLEANFILES += *~ \
- tests-scan.* \
diff --git a/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch b/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch
deleted file mode 100644
index a605a34c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: eggdbus-0.6/src/eggdbus/Makefile.am
-===================================================================
---- eggdbus-0.6.orig/src/eggdbus/Makefile.am
-+++ eggdbus-0.6/src/eggdbus/Makefile.am
-@@ -130,7 +130,7 @@ BUILT_SOURCES = \
- $(NULL)
-
- eggdbus-built-sources.stamp : eggdbus-binding-tool Makefile.am org.freedesktop.DBus.xml org.freedesktop.DBus.Peer.xml org.freedesktop.DBus.Properties.xml org.freedesktop.DBus.Introspectable.xml eggdbus-glib-genmarshal
-- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \
-+ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \
- --namespace EggDBus \
- --dbus-namespace org.freedesktop.DBus \
- --interfaces-only \
-Index: eggdbus-0.6/src/tests/Makefile.am
-===================================================================
---- eggdbus-0.6.orig/src/tests/Makefile.am
-+++ eggdbus-0.6/src/tests/Makefile.am
-@@ -25,7 +25,7 @@ BUILT_SOURCES = \
- $(NULL)
-
- test-built-sources.stamp : Makefile.am $(top_builddir)/src/eggdbus/eggdbus-binding-tool com.example.Frob.xml com.example.Tweak.xml com.example.Twiddle.xml
-- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \
-+ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \
- --namespace "Test" \
- --dbus-namespace "com.example" \
- --include-header testtypes.h \
diff --git a/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb b/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb
deleted file mode 100644
index cc28ec77..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "An alternative to dbug-glib."
-DESCRIPTION = "An alternative to dbus-glib. It is designed specifically to \
-make it comfortable to work with very large and potentially \
-complex D-Bus services like e.g. DeviceKit-disks"
-
-HOMEPAGE = "http://cgit.freedesktop.org/~david/eggdbus"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
- file://src/eggdbus/eggdbus.h;md5=6b312aef57ed8d738b3f131ad037d6c2"
-
-DEPENDS = "dbus glib-2.0 dbus-glib eggdbus-native"
-DEPENDS_class-native = "dbus-native glib-2.0-native dbus-glib-native"
-
-SRC_URI = "http://cgit.freedesktop.org/~david/${BPN}/snapshot/${BPN}-${PV}.tar.bz2 \
- file://gtk-doc.patch \
-"
-SRC_URI_append_class-target = "file://marshal.patch"
-SRC_URI[md5sum] = "0a111faa54dfba2cf432c2c8e8a76e06"
-SRC_URI[sha256sum] = "3ad26e271c1a879bafcd181e065fe0ed53b542299a773c3188c9edb25b895ed1"
-
-inherit autotools gtk-doc
-
-EXTRA_OECONF = " --disable-man-pages "
-
-BBCLASSEXTEND = "native"
-
-PARALLEL_MAKE = ""
-
-do_configure_prepend() {
- # Create ChangeLog to walk around automake error.
- # " Makefile.am: error: required file './ChangeLog' not found "
- touch ${S}/ChangeLog
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-core/ell/ell/0001-dhcp-include-if_arp.h-from-libc-instead-of-linux-hea.patch b/external/meta-openembedded/meta-oe/recipes-core/ell/ell/0001-dhcp-include-if_arp.h-from-libc-instead-of-linux-hea.patch
deleted file mode 100644
index ada65401..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/ell/ell/0001-dhcp-include-if_arp.h-from-libc-instead-of-linux-hea.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From d8236d1d789f496a193dae5d2a15d706b81f6482 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= <martin@geanix.com>
-Date: Thu, 12 Jul 2018 10:19:50 +0200
-Subject: [PATCH] dhcp: include if_arp.h from libc instead of linux headers
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-To: ell@lists.01.org
-
-Compilation with musl libc fails due to redefinition of 'struct
-arp{req,req_old,hdr}' in linux/if_arp.h, since it is already defined and
-included in net/if_arp.h (through net/ethernet.h -> net/if_ether.h).
-
-The only symbols used from if_arp.h is ARPHRD_ETHER, so it should be
-safe to avoid the compile error by including the if_arp.h header from
-the c-library instead.
-
-Upstream-Status: Backport [https://lists.01.org/pipermail/ell/2018-July/001244.html]
-Signed-off-by: Martin Hundebøll <martin@geanix.com>
----
- ell/dhcp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ell/dhcp.c b/ell/dhcp.c
-index 6c90370..0d99f74 100644
---- a/ell/dhcp.c
-+++ b/ell/dhcp.c
-@@ -27,7 +27,7 @@
- #include <netinet/ip.h>
- #include <net/ethernet.h>
- #include <linux/types.h>
--#include <linux/if_arp.h>
-+#include <net/if_arp.h>
- #include <errno.h>
- #include <time.h>
-
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-core/ell/ell_0.8.bb b/external/meta-openembedded/meta-oe/recipes-core/ell/ell_0.8.bb
deleted file mode 100644
index 0428cab2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/ell/ell_0.8.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Embedded Linux Library"
-DESCRIPTION = "ELL is a DBUS library which provides DBUS bindings."
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
-SECTION = "libs"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/git"
-SRCREV = "d572281caedef357c392a7c9aa65a3b21a18cfdb"
-SRC_URI = "git://git.kernel.org/pub/scm/libs/ell/ell.git"
-
-do_configure_prepend () {
- mkdir -p ${S}/build-aux
-}
-
-DEPENDS = "dbus"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog.inc b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog.inc
new file mode 100644
index 00000000..9a0f9ba9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "emlog is a Linux kernel module that makes it easy to access the \
+most recent (and only the most recent) output from a process"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "git://github.com/nicupavel/emlog.git;protocol=http"
+SRCREV = "aee53e8dee862f35291242ba41b0ca88010f6c71"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE += " \
+ CFLAGS='${TARGET_CFLAGS}' \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/0001-Remove-modules_clean-from-clean-target.patch b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/0001-Remove-modules_clean-from-clean-target.patch
new file mode 100644
index 00000000..beba528b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/0001-Remove-modules_clean-from-clean-target.patch
@@ -0,0 +1,33 @@
+From fd0a4ee201b5c7b24da79dcd346ac121978951a0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 29 Mar 2020 19:58:36 -0700
+Subject: [PATCH] Remove modules_clean from clean target
+
+This is needed when building applications (w/o module)
+Since OE will run 'make clean' before reconfiguring, this
+will try to run module_clean and will wrongly try to look for removing
+modules from /lib/modules
+
+Upstream-Status: Inappropriate [ OE-Specific ]
+
+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 c60863f..fc897d5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -23,7 +23,7 @@ all: modules nbcat mkemlog
+
+ install: modules_install nbcat_install mkemlog_install
+
+-clean: modules_clean nbcat_clean mkemlog_clean
++clean: nbcat_clean mkemlog_clean
+
+ modules:
+ $(MAKE) -C $(KDIR) M=$(CURDIR) modules
+--
+2.26.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch
new file mode 100644
index 00000000..6bfc44cb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch
@@ -0,0 +1,113 @@
+From 41de28a92297f4cb0c5a8d7356cde9190176947b Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Thu, 14 Mar 2019 19:54:27 -0300
+Subject: [PATCH] Drop use of error.h
+Organization: O.S. Systems Software LTDA.
+
+The error.h does not work with musl and this project being embedded
+friendly it makes sense to avoid glibc-specific code.
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ mkemlog.c | 29 ++++++++++++++---------------
+ 1 file changed, 14 insertions(+), 15 deletions(-)
+
+diff --git a/mkemlog.c b/mkemlog.c
+index e3354ed..7bcdfce 100644
+--- a/mkemlog.c
++++ b/mkemlog.c
+@@ -21,7 +21,6 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <stdlib.h>
+-#include <error.h>
+ #include <errno.h>
+
+ #define EMLOG_DEVICE "/dev/emlog"
+@@ -40,16 +39,16 @@ int main(int argc, char** argv) {
+ FILE *max_size_file = NULL;
+ uid_t uid = -1;
+ if (argc < 2 || argc > 5) {
+- error(1 ,0, USAGE);
++ fprintf(stderr, USAGE);
+ }
+ file = argv[1];
+
+ max_size_file = fopen("/sys/module/emlog/parameters/emlog_max_size", "r");
+ if (max_size_file == NULL)
+- error(1, errno, "Emlog module not loaded\n");
++ fprintf(stderr, "Emlog module not loaded\n");
+ rc = fscanf(max_size_file, "%d", &emlog_max_size);
+ if (rc != 1)
+- error(1, errno, "Unable to get emlog max size\n");
++ fprintf(stderr, "Unable to get emlog max size\n");
+ fclose(max_size_file);
+ max_size_file = NULL;
+ if (argc > 2 ) {
+@@ -57,13 +56,13 @@ int main(int argc, char** argv) {
+ number = argv[2];
+ size_of_buffer = strtol(number, &end_of_number, 10);
+ if (errno) {
+- error(1, errno, "Invalid size provided\n" USAGE);
++ fprintf(stderr, "Invalid size provided\n" USAGE);
+ }
+ if (end_of_number == number) {
+- error(1, 0, "Invalid size provided\n" USAGE);
++ fprintf(stderr, "Invalid size provided\n" USAGE);
+ }
+ if (size_of_buffer < 1 || size_of_buffer > emlog_max_size) {
+- error(1, 0, "Invalid size provided must be a value between 1 and %d\n" USAGE, emlog_max_size);
++ fprintf(stderr, "Invalid size provided must be a value between 1 and %d\n" USAGE, emlog_max_size);
+ }
+ }
+ if (argc > 3 ) {
+@@ -71,10 +70,10 @@ int main(int argc, char** argv) {
+ number = argv[3];
+ mode = strtol(number, &end_of_number, 8);
+ if (errno) {
+- error(1, errno, "Invalid mode provided\n" USAGE);
++ fprintf(stderr, "Invalid mode provided\n" USAGE);
+ }
+ if (end_of_number == number || S_IFMT & mode) {
+- error(1, 0, "Invalid mode provided\n" USAGE);
++ fprintf(stderr, "Invalid mode provided\n" USAGE);
+ }
+ }
+ if (argc > 4 ) {
+@@ -82,27 +81,27 @@ int main(int argc, char** argv) {
+ number = argv[4];
+ uid = strtol(number, &end_of_number, 10);
+ if (errno) {
+- error(1, errno, "Invalid uid provided\n" USAGE);
++ fprintf(stderr, "Invalid uid provided\n" USAGE);
+ }
+ if (end_of_number == number) {
+- error(1, 0, "Invalid uid provided\n" USAGE);
++ fprintf(stderr, "Invalid uid provided\n" USAGE);
+ }
+ }
+ rc = stat(EMLOG_DEVICE, &emlog_stat);
+ if (rc == -1) {
+- error(1, errno, "stat: " EMLOG_DEVICE);
++ fprintf(stderr, "stat: " EMLOG_DEVICE);
+ }
+ if (!S_ISCHR(emlog_stat.st_mode)) {
+- error(1, 0, EMLOG_DEVICE " is not a valid emlog device\n");
++ fprintf(stderr, EMLOG_DEVICE " is not a valid emlog device\n");
+ }
+ rc = mknod(file, mode | S_IFCHR, makedev(major(emlog_stat.st_rdev),size_of_buffer));
+ if (rc == -1) {
+- error(1, errno, "mknod: %s", file);
++ fprintf(stderr, "mknod: %s", file);
+ }
+ if (uid != -1) {
+ rc = chown(file, uid, -1);
+ if (rc == -1) {
+- error(1, errno, "chown: %s", file);
++ fprintf(stderr, "chown: %s", file);
+ }
+ }
+ printf("Log device %s created with buffer size of %d KiB\n", file, size_of_buffer);
+--
+2.20.1
diff --git a/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/emlog.initd b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/emlog.initd
new file mode 100644
index 00000000..361cf802
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog/emlog.initd
@@ -0,0 +1,25 @@
+#!/bin/sh
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+[ -r /etc/default/emlog ] && . /etc/default/emlog
+
+do_start() {
+ :
+}
+
+do_stop() {
+ nbcat /dev/emlog > /data/emlog
+}
+
+case "$1" in
+ start)
+ do_start || exit $?
+ ;;
+ stop)
+ do_stop || exit $?
+ ;;
+ *)
+ echo "Usage: $0 {stop}" >&2
+ exit 3
+ ;;
+esac
diff --git a/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
new file mode 100644
index 00000000..387dd671
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
@@ -0,0 +1,26 @@
+require ${BPN}.inc
+
+SRC_URI += "file://${BPN}.initd \
+ file://0001-Remove-modules_clean-from-clean-target.patch \
+ "
+
+SRC_URI_append_libc-musl = " file://Drop-use-of-error-h.patch"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "${BPN}"
+
+
+
+do_compile() {
+ oe_runmake nbcat
+ oe_runmake mkemlog
+}
+
+do_install() {
+ install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/${BPN}
+ install -Dm 0755 ${S}/nbcat ${D}${bindir}/nbcat
+ install -Dm 0755 ${S}/mkemlog ${D}${bindir}/mkemlog
+}
+
+RRECOMMENDS_${PN} += "kernel-module-emlog"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/emlog/kernel-module-emlog_git.bb b/external/meta-openembedded/meta-oe/recipes-core/emlog/kernel-module-emlog_git.bb
new file mode 100644
index 00000000..a554a4c9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/emlog/kernel-module-emlog_git.bb
@@ -0,0 +1,10 @@
+require emlog.inc
+
+inherit module
+
+EXTRA_OEMAKE += " \
+ KDIR=${STAGING_KERNEL_DIR} \
+ KVER=${KERNEL_VERSION} \
+"
+
+MAKE_TARGETS = "modules"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb b/external/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
new file mode 100644
index 00000000..0fcf716c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input"
+HOMEPAGE = "https://www.glfw.org/"
+DESCRIPTION = "GLFW is an Open Source, multi-platform library for OpenGL, \
+OpenGL ES and Vulkan application development. It provides a simple, \
+platform-independent API for creating windows, contexts and surfaces, reading \
+input, handling events, etc."
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=98d93d1ddc537f9b9ea6def64e046b5f"
+SECTION = "lib"
+
+inherit pkgconfig cmake features_check
+
+PV .= "+git${SRCPV}"
+SRCREV = "781fbbadb0bccc749058177b1385c82da9ace880"
+SRC_URI = "git://github.com/glfw/glfw.git"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_DOCS=OFF"
+
+CFLAGS += "-fPIC"
+
+DEPENDS = "libpng libglu zlib libxrandr libxinerama libxi libxcursor"
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+COMPATIBLE_HOST_libc-musl = "null"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch b/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
index d32fe78d..42f25201 100644
--- a/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
+++ b/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
@@ -1,6 +1,7 @@
-From f48a69fd11b2eda6c43ff046c202cbc4dcd4e92d Mon Sep 17 00:00:00 2001
+From 52360260c0d73a00082d867bc416225fbc2b657e Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Tue, 12 Jul 2011 11:46:37 +0200
+Subject: [PATCH] glibmm: add 2.28.2
---
Makefile.am | 7 +------
@@ -8,7 +9,7 @@ Date: Tue, 12 Jul 2011 11:46:37 +0200
2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/Makefile.am b/Makefile.am
-index a0df8af..c3d5e06 100644
+index 1b366b4..0ff58b5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,12 +23,7 @@ src_subdirs = glib/src gio/src
@@ -26,7 +27,7 @@ index a0df8af..c3d5e06 100644
glibmm_includedir = $(includedir)/$(GLIBMM_MODULE_NAME)
glibmm_include_HEADERS = glib/glibmm.h
diff --git a/configure.ac b/configure.ac
-index c20e778..74203be 100644
+index e706687..198e0d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -166,7 +166,6 @@ AC_CONFIG_FILES([Makefile
@@ -36,4 +37,4 @@ index c20e778..74203be 100644
- examples/Makefile
docs/Makefile
docs/reference/Doxyfile
- MSVC_Net2013/glibmm/glibmm.rc
+ MSVC_NMake/glibmm/glibmm.rc
diff --git a/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb b/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb
deleted file mode 100644
index 2f048d2f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "C++ bindings for the glib library"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
-inherit autotools pkgconfig
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = " \
- ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
- file://remove-examples.patch \
-"
-SRC_URI[md5sum] = "5aa7a60084fe3e01d746c96f4a115302"
-SRC_URI[sha256sum] = "6e74fcba0d245451c58fc8a196e9d103789bc510e1eee1a9b1e816c5209e79a9"
-
-do_install_append() {
- install -d ${D}${datadir}/glibmm-2.4
- install -d ${D}${datadir}/aclocal
-
- install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
- install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
-
- for i in generate_wrap_init.pl gmmproc; do
- sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
- done
-}
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
-
-RDEPENDS_${PN}-dev = "perl"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb b/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
new file mode 100644
index 00000000..75eea4e5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "C++ bindings for the glib library"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
+inherit gnomebase
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI += " \
+ file://remove-examples.patch \
+"
+SRC_URI[archive.md5sum] = "7da228e3f0c6a10024b9a7708c53691e"
+SRC_URI[archive.sha256sum] = "36659f13cc73282392d1305858f3bbca46fbd1ce2f078cc9db8b9f79b2e93cfe"
+
+do_install_append() {
+ install -d ${D}${datadir}/glibmm-2.4
+ install -d ${D}${datadir}/aclocal
+
+ install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
+ install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
+
+ for i in generate_wrap_init.pl gmmproc; do
+ sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
+ done
+}
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
+
+RDEPENDS_${PN}-dev = "perl"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch b/external/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch
new file mode 100644
index 00000000..b8ed87aa
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch
@@ -0,0 +1,24 @@
+From cb2a3991545ba9e885704226ed3e831bd5e4cb27 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 20 May 2019 22:10:05 -0700
+Subject: [PATCH] usbbus: Include stdint.h for uintX_t
+
+stdint.h is needed for uintX_t typedefs which are
+used to replace u_intX_t in libusb API headers in the cmake files
+
+Upstream-Status: Submitted [https://github.com/nfc-tools/libnfc/pull/544]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libnfc/buses/usbbus.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/libnfc/buses/usbbus.h
++++ b/libnfc/buses/usbbus.h
+@@ -35,6 +35,7 @@
+
+ #ifndef _WIN32
+ // Under POSIX system, we use libusb (>= 0.1.12)
++#include <stdint.h>
+ #include <usb.h>
+ #define USB_TIMEDOUT ETIMEDOUT
+ #define _usb_strerror( X ) strerror(-X)
diff --git a/external/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb b/external/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb
new file mode 100644
index 00000000..2851ecf9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Platform independent Near Field Communication (NFC) library"
+DESCRIPTION = "libnfc is a library which allows userspace application access \
+to NFC devices."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
+SECTION = "libs"
+
+inherit autotools pkgconfig
+
+PV = "1.7.1+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+SRCREV = "2d4543673e9b76c02679ca8b89259659f1afd932"
+SRC_URI = "git://github.com/nfc-tools/libnfc.git \
+ file://0001-usbbus-Include-stdint.h-for-uintX_t.patch \
+ "
+
+CFLAGS_append_libc-musl = " -D_GNU_SOURCE"
+DEPENDS = "libusb"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb b/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb
deleted file mode 100644
index 53bd5de1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb
+++ /dev/null
@@ -1,22 +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.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/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.3.bb b/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.3.bb
new file mode 100644
index 00000000..e6129e24
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.3.bb
@@ -0,0 +1,20 @@
+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] = "ea68c7afc23a4b89a2dfa78344460785"
+SRC_URI[sha256sum] = "0b68dfc6313c6cc90ac989c6d722a1bf0585ad13846e79746aa87cb265904786"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit autotools
+
+FILES_${PN}-dev += "${libdir}/sigc++-*/"
+FILES_${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.3.bb b/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.3.bb
new file mode 100644
index 00000000..fc4f5d64
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.0/libsigc++-${PV}.tar.xz"
+SRC_URI[md5sum] = "8dca4559e732f47710370baa8bc2e66f"
+SRC_URI[sha256sum] = "e4f4866a894bdbe053e4fb22ccc6bc4b6851fd31a4746fdd20b2cf6e87c6edb6"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit setuptools3 meson
+
+FILES_${PN}-dev += "${libdir}/sigc++-*/"
+FILES_${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb b/external/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
new file mode 100644
index 00000000..82f2cf8c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Mickey's DBus Introspection and Interaction Utility V2"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
+
+DEPENDS = "readline"
+
+PV = "2.3.3+git${SRCPV}"
+
+SRC_URI = "git://github.com/freesmartphone/mdbus.git;protocol=http"
+SRCREV = "28202692d0b441000f4ddb8f347f72d1355021aa"
+
+S = "${WORKDIR}/git"
+
+inherit autotools vala
+
+EXTRA_OECONF += "--enable-vala"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch b/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch
new file mode 100644
index 00000000..6031eaa7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch
@@ -0,0 +1,41 @@
+From af4069263487399be82ee53d48b1edda7f8e594e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 4 Nov 2019 19:19:47 +0100
+Subject: [PATCH] meson.build: do not ask for python installation / version
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Even by adding python3-setuptools-native the following error is not fixed so
+just ask for python3 executable.
+
+| meson.build:9:0: ERROR: <ExternalProgram 'python3' -> ['<...>/recipe-sysroot-native/usr/bin/python3-native/python3']> is not a valid python or it is missing setuptools
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson.build | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 3255328..7a6094c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -6,12 +6,7 @@ project('mm-common',
+ license: 'GPLv2+'
+ )
+
+-python3 = import('python').find_installation('python3')
+-python_version = python3.language_version()
+-python_version_req = '>= 3.5'
+-if not python_version.version_compare(python_version_req)
+- error('Requires Python @0@, found @1@.'.format(python_version_req, python_version))
+-endif
++python3 = import('python3').find_python()
+
+ # Use these instead of meson.source_root() and meson.build_root().
+ # source_root() and build_root() are not useful, if this is a subproject.
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.12.bb b/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.12.bb
deleted file mode 100644
index 4f91f31e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.12.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-inherit gnomebase
-
-SRC_URI[archive.md5sum] = "be1c61587db989c7677375a729b94672"
-SRC_URI[archive.sha256sum] = "ceffdcce1e5b52742884c233ec604bf6fded12eea9da077ce7a62c02c87e7c0b"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.1.bb b/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.1.bb
new file mode 100644
index 00000000..64b58db5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Common GNOME build files for C++ bindings"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase
+
+SRC_URI[archive.md5sum] = "5b5a589f648bd83bfa6291081ebf5864"
+SRC_URI[archive.sha256sum] = "28a2d775afbf05c5c957b24b220ed6e9b2023179b98ecde471d89e9754ea5ac9"
+SRC_URI += "file://0001-meson.build-do-not-ask-for-python-installation-versi.patch"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_git.bb b/external/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_git.bb
deleted file mode 100644
index 048f166f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_git.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "libnvdimm utility library"
-DESCRIPTION = "Utility library for managing the libnvdimm \
-(non-volatile memory device) sub-system in the Linux kernel. \
-The LIBNVDIMM subsystem provides support for three types of \
-NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \
-simultaneously support both PMEM and BLK mode access."
-HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e66651809cac5da60c8b80e9e4e79e08"
-
-inherit autotools-brokensep pkgconfig module-base bash-completion systemd
-
-# v62
-SRCREV = "11f560f4048c1d38b7011a49566871a1e8a07c94"
-SRC_URI = "git://github.com/pmem/ndctl.git"
-
-DEPENDS = "virtual/kernel kmod udev json-c"
-
-PV = "v62+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[systemd] = "--with-systemd-unit-dir=${systemd_system_unitdir}, --without-systemd-unit-dir,"
-
-do_configure_prepend() {
- ${S}/autogen.sh
-}
-
-SYSTEMD_SERVICE_${PN} = "ndctl-monitor.service"
-
-COMPATIBLE_HOST='(x86_64).*'
diff --git a/external/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb b/external/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb
new file mode 100644
index 00000000..da0c6563
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb
@@ -0,0 +1,32 @@
+SUMMARY = "libnvdimm utility library"
+DESCRIPTION = "Utility library for managing the libnvdimm \
+(non-volatile memory device) sub-system in the Linux kernel. \
+The LIBNVDIMM subsystem provides support for three types of \
+NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \
+simultaneously support both PMEM and BLK mode access."
+HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e66651809cac5da60c8b80e9e4e79e08"
+
+inherit autotools-brokensep pkgconfig bash-completion systemd
+
+SRCREV = "637bb424dc317a044c722a671355ef9df0e0d30f"
+SRC_URI = "git://github.com/pmem/ndctl.git"
+
+DEPENDS = "kmod udev json-c keyutils"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd"
+
+do_configure_prepend() {
+ ${S}/autogen.sh
+}
+
+SYSTEMD_SERVICE_${PN} = "ndctl-monitor.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+FILES_${PN} += "${datadir}/daxctl/daxctl.conf"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb b/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
index b12183b3..2da9118a 100644
--- a/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
+++ b/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
@@ -2,14 +2,11 @@
# Please communicate your use cases and suggestions to the mailinglist(s)
SUMMARY = "Basic task to get a device online"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r13"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
-inherit bluetooth
# Poke extra recomendations into the list using your machine.conf
#
@@ -46,7 +43,7 @@ RRECOMMENDS_${PN} = "\
${@bb.utils.contains("MACHINE_FEATURES", "alsa", "alsa-utils-alsamixer", "", d)} \
${@bb.utils.contains("MACHINE_FEATURES", "usbgadget", "kernel-module-g-ether kernel-module-g-serial kernel-module-g-mass-storage", "", d)} \
\
- ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "${BLUEZ}", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "bluez5", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "wifi", "iw wpa-supplicant", "", d)} \
\
tzdata \
diff --git a/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb b/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
index 3ae7a49f..b5e7b99c 100644
--- a/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
+++ b/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
@@ -1,6 +1,4 @@
SUMMARY = "Basic task to get a device booting"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r58"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 62f1c775..8358e933 100644
--- a/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/external/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -46,7 +46,7 @@ RDEPENDS_packagegroup-meta-oe = "\
"
RDEPENDS_packagegroup-meta-oe-benchmarks = "\
- analyze-suspend dhrystone iperf2 linpack phoronix-test-suite \
+ dhrystone iperf2 linpack phoronix-test-suite \
tiobench bonnie++ fio iperf2 iperf3 lmbench s-suite whetstone \
libc-bench memtester sysbench dbench iozone3 libhugetlbfs \
nbench-byte tinymembench \
@@ -62,19 +62,21 @@ RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv32 = "libhugetlbfs"
RDEPENDS_packagegroup-meta-oe-connectivity ="\
gammu hostapd irssi krb5 libev libimobiledevice \
libmbim libmtp libndp libqmi libtorrent \
- libuv libwebsockets linuxptp lirc loudmouth \
+ libuv libwebsockets linuxptp loudmouth \
modemmanager mosh \
paho-mqtt-c phonet-utils rabbitmq-c rfkill rtorrent \
- ser2net smstools3 telepathy-glib telepathy-idle thrift \
- usbmuxd wvstreams zabbix zeromq \
+ ser2net smstools3 telepathy-glib thrift \
+ usbmuxd zabbix zeromq \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "obex-data-server", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "pulseadio bluez4", "libmikmod", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluez4", "obexftp openobex libnet wvdial", "", d)} \
+ libmikmod \
+ obexftp openobex libnet \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \
"
+RDEPENDS_packagegroup-meta-oe-connectivity_append_libc-glibc = " wvstreams wvdial"
# dracut needs dracut
RDEPENDS_packagegroup-meta-oe-core ="\
- dbus-daemon-proxy libdbus-c++ eggdbus \
+ dbus-daemon-proxy libdbus-c++ \
ell glibmm libsigc++-2.0 libxml++ distro-feed-configs \
mm-common opencl-headers opencl-icd-loader \
proxy-libintl usleep \
@@ -92,30 +94,32 @@ RDEPENDS_packagegroup-meta-oe-bsp ="\
"
RDEPENDS_packagegroup-meta-oe-bsp_remove_mipsarch = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc = "efivar efibootmgr"
+RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64 = "efivar efibootmgr"
+RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64le = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv64 = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv32 = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-dbs ="\
leveldb libdbi mariadb mariadb-native \
- mysql-python postgresql psqlodbc rocksdb soci \
+ postgresql psqlodbc rocksdb soci \
sqlite \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluez4", "mongodb", "", d)} \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "mysql-python", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-devtools ="\
android-tools android-tools-conf bootchart breakpad \
capnproto cgdb cscope ctags \
- debootstrap dejagnu dmalloc flatbuffers \
- giflib icon-slicer iptraf-ng jq jsoncpp jsonrpc json-spirit \
+ debootstrap dmalloc flatbuffers \
+ giflib grpc icon-slicer iptraf-ng jq jsoncpp jsonrpc json-spirit \
kconfig-frontends lemon libedit libgee libsombok3 \
libubox log4cplus lshw ltrace lua mcpp memstat mercurial \
- mpich msgpack-c nlohmann-json nodejs openocd pax-utils \
+ mpich msgpack-c nlohmann-json openocd pax-utils \
ipc-run libdbd-mysql-perl libdbi-perl libio-pty-perl php \
- protobuf protobuf-c python3-distutils-extra \
- python-cpuset python-distutils-extra python-futures python-pygobject \
- rapidjson serialcheck sip3 sip tclap uftrace uw-imap valijson \
+ protobuf protobuf-c \
+ rapidjson serialcheck sip3 tclap uftrace uw-imap valijson \
xmlrpc-c yajl yasm \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "geany geany-plugins glade tk", "", d)} \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "nodejs", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-devtools_remove_armv5 = "uftrace nodejs"
@@ -123,38 +127,42 @@ RDEPENDS_packagegroup-meta-oe-devtools_remove_mipsarch = "uftrace lshw"
RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "nodejs"
RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "nodejs"
RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad uftrace lshw"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "uftrace lshw"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "uftrace lshw"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools uftrace lshw"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools uftrace lshw"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "breakpad ltrace nodejs uftrace lshw"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "breakpad ltrace nodejs uftrace lshw"
RDEPENDS_packagegroup-meta-oe-extended ="\
byacc cfengine cfengine-masterfiles cmpi-bindings \
ddrescue dialog dumb-init enscript fluentbit \
haveged hexedit hiredis hplip hwloc indent iotop isomd5sum \
- jansson konkretcmpi lcdproc libblockdev libcec libconfig \
+ jansson konkretcmpi libblockdev libcec libconfig \
libdivecomputer libplist libusbmuxd \
liblockfile liblogging liblognorm libmodbus libmodbus \
libpwquality libqb libuio \
lockfile-progs logwatch lprng mailx md5deep \
- mozjs mraa nana nicstat \
- p7zip p8platform libfile-fnmatch-perl polkit \
- polkit-group-rule-datetime polkit-group-rule-network \
+ mraa nana nicstat \
+ p7zip p8platform libfile-fnmatch-perl \
rarpd redis rrdtool libfastjson librelp rsyslog sanlock \
sblim-cmpi-devel sblim-sfc-common sblim-sfcc \
- scsirastools sgpio smartmontools snappy can-isotp \
+ scsirastools sgpio smartmontools snappy \
can-utils libsocketcan tipcutils tiptop \
tmux uml-utilities upm vlock volume-key wipe zlog zram \
${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "boinc-client", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", " libgxim t1lib gnuplot libwmf gtkmathview", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", " libgxim gnuplot libwmf", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "bluez", "collectd", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-ssh-agent-auth openwsman sblim-sfcb ", "", d)} \
- ${@bb.utils.contains("BBPATH", "meta-python", "openlmi-tools", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit polkit-group-rule-datetime ", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-network ", "", d)} \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "openlmi-tools", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-extended_remove_mipsarch = "upm mraa tiptop"
RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa"
+RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64 = "upm mraa"
+RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64le = "upm mraa"
RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa tiptop"
RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa tiptop"
-RDEPENDS_packagegroup-meta-oe-extended_remove_libc-musl = "lcdproc"
RDEPENDS_packagegroup-meta-oe-gnome ="\
atkmm gnome-common gnome-doc-utils-stub gtkmm \
@@ -162,8 +170,9 @@ RDEPENDS_packagegroup-meta-oe-gnome ="\
"
RDEPENDS_packagegroup-meta-oe-graphics ="\
- babl cairomm dietsplash directfb directfb-examples dnfdragora \
- fbgrab fbida fontforge fvwm gegl gimp glm gphoto2 libgphoto2 \
+ cairomm dietsplash directfb directfb-examples \
+ ${@bb.utils.contains("PACKAGE_CLASSES", "package_rpm", "dnfdragora dnf-plugin-tui", "", d)} \
+ fbgrab fbida fontforge fvwm glm gphoto2 libgphoto2 \
gtkperf jasper leptonica libmng libsdl2-image libsdl2-mixer libsdl2-net \
libsdl-gfx libsdl-image libsdl-mixer libsdl-net libsdl-ttf \
libvncserver libyui libyui-ncurses lxdm numlockx openbox openjpeg \
@@ -180,23 +189,31 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
${@bb.utils.contains("DISTRO_FEATURES", "opengl", "freeglut libsdl2-ttf", "", d)} \
"
+
+
RDEPENDS_packagegroup-meta-oe-kernel ="\
- agent-proxy bpftool broadcom-bt-firmware cpupower \
+ agent-proxy broadcom-bt-firmware cpupower \
crash ipmitool minicoredumper oprofile \
"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "bpftool crash minicoredumper"
+RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " pm-graph "
+RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " pm-graph "
+
+RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "crash minicoredumper"
RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64 = "crash"
RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64el = "crash"
+RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv64 = "crash oprofile"
+RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv32 = "crash oprofile"
+
RDEPENDS_packagegroup-meta-oe-multimedia ="\
- alsa-oss audiofile cdrkit esound id3lib \
+ alsa-oss audiofile cdrkit id3lib \
a2jmidid jack libass libburn libcdio libcdio-paranoia \
libdvdread libmms libmodplug libopus live555 \
mplayer-common opus-tools \
sound-theme-freedesktop v4l-utils yavta wavpack libvpx \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "xpext pavucontrol xsp", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "pulseadio bluez4", "libmikmod", "", d)} \
+ libmikmod \
${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad faad2 mpv", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-multimedia_remove_libc-musl = "alsa-oss"
@@ -219,42 +236,48 @@ RDEPENDS_packagegroup-meta-oe-shells ="\
NE10 = ""
NE10_aarch64 = "ne10"
-NE10_arm7 = "ne10"
+NE10_armv7a = "ne10"
+NE10_armv7ve = "ne10"
RDEPENDS_packagegroup-meta-oe-support ="\
- anthy asio atop augeas avro-c bdwgc frame grail \
+ anthy asio atop augeas avro-c bdwgc frame grail c-ares \
ccid ceres-solver ckermit cpprest ctapi-common daemonize \
- daemontools debsums devmem2 dfu-util dfu-util-native digitemp \
- dstat eject enca epeg espeak espeak-data fbset fbset-modes \
+ daemontools devmem2 dfu-util dfu-util-native digitemp \
+ dstat eject enca epeg espeak fbset fbset-modes \
fftw fltk-native gd gflags glog gnulib gperftools \
gpm gradm gsl gsoap hddtemp hidapi htop hunspell hwdata iksemel \
libinih inotify-tools joe lcms lcov libatasmart libbytesize \
libcereal libcyusbserial libee libeigen libestr libftdi libgit2 \
libgpiod libiio libjs-jquery libjs-sizzle liblinebreak libmicrohttpd \
- libmxml libnih liboauth libol liboop libp11 libraw1394 libsmi libsoc libssh2 \
+ libmxml liboauth libol liboop libp11 libraw1394 libsmi libsoc libssh2 \
libssh libtar libteam libtinyxml2 libtinyxml libusbg libusb-compat libutempter \
- links lio-utils lockdev log4c log4cpp logwarn libdevmapper lvm2 \
+ links lockdev log4c log4cpp logwarn libdevmapper lvm2 \
mailcap mbuffer mg minini \
multipath-tools nano neon nmon numactl onig openct openldap \
opensc wbxml2 p910nd pcsc-lite picocom libotr pidgin \
pngcheck poco poppler poppler-data portaudio-v19 pps-tools \
- pv pxaregs raptor2 rdfind read-edid rsnapshot s3c24xx-gpio s3c64xx-gpio \
- sjf2410-linux-native satyr sdparm pty-forward-native serial-forward \
- sg3-utils sharutils smem spitools srecord ssiapi start-stop-daemon stm32flash \
+ pv pxaregs raptor2 rdfind read-edid rsnapshot \
+ satyr sdparm pty-forward-native serial-forward \
+ sg3-utils sharutils spitools srecord ssiapi stm32flash \
syslog-ng system-config-keyboard tbb thin-provisioning-tools tokyocabinet \
- tree udisks udisks2 uhubctl unixodbc upower uriparser usb-modeswitch \
- usb-modeswitch-data usbpath uthash utouch-evemu utouch-frame \
- vim vim-tiny websocketpp wmiconfig xdelta3 xdg-user-dirs xmlstarlet \
+ tree uhubctl unixodbc uriparser usb-modeswitch \
+ usb-modeswitch-data uthash utouch-evemu utouch-frame \
+ vim vim-tiny websocketpp xdelta3 xdg-user-dirs xmlstarlet \
zbar zile \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "geis toscoterm uim synergy utouch-mtview links-x11 fltk pidgin-otr", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "pulseadio bluez4", "libcanberra", "", d)} \
+ libcanberra \
${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xorgxrdp xrdp", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluez4", "procmail", "", d)} \
+ procmail \
+ ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "udisks2 upower", "", d)} \
${NE10} \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "lio-utils", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl"
-RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch_libc-glibc = "gperftools"
+RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch = "gperftools"
+RDEPENDS_packagegroup-meta-oe-support_remove_riscv64 = "gperftools uim"
+RDEPENDS_packagegroup-meta-oe-support_remove_riscv32 = "gperftools uim"
+RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi"
RDEPENDS_packagegroup-meta-oe-support-egl ="\
freerdp libnice opencv \
@@ -262,7 +285,7 @@ RDEPENDS_packagegroup-meta-oe-support-egl ="\
RDEPENDS_packagegroup-meta-oe-test ="\
catch2 cppunit cunit cxxtest evtest fb-test \
- fwts gtest pm-qa stress-ng testfloat \
+ fwts googletest pm-qa stress-ng testfloat \
"
RDEPENDS_packagegroup-meta-oe-test_remove_libc-musl = "pm-qa"
RDEPENDS_packagegroup-meta-oe-test_remove_arm = "fwts"
@@ -284,6 +307,9 @@ RDEPENDS_packagegroup-meta-oe-ptest-packages = "\
libee-ptest \
poco-ptest \
"
+RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_riscv64 = "oprofile-ptest"
+RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_riscv32 = "oprofile-ptest"
+
RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = "\
mcelog-ptest \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/plymouth/files/0002-Fix-build-with-glibc-2.28.patch b/external/meta-openembedded/meta-oe/recipes-core/plymouth/files/0002-Fix-build-with-glibc-2.28.patch
deleted file mode 100644
index 8638f75b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/plymouth/files/0002-Fix-build-with-glibc-2.28.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 0c0345303b7971d6cec478fd8b81d64bc1fbe0f6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Tue, 21 Aug 2018 23:26:45 +0200
-Subject: [PATCH] Fix build with >= glibc 2.28
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Stolen from [1]
-
-[1] https://bugs.freedesktop.org/show_bug.cgi?id=102191
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- src/libply-splash-core/ply-terminal.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/libply-splash-core/ply-terminal.c b/src/libply-splash-core/ply-terminal.c
-index a0954f2..f3b32fe 100644
---- a/src/libply-splash-core/ply-terminal.c
-+++ b/src/libply-splash-core/ply-terminal.c
-@@ -32,6 +32,7 @@
- #include <sys/socket.h>
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <termios.h>
- #include <unistd.h>
- #include <wchar.h>
---
-2.14.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb b/external/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
deleted file mode 100644
index a5b16c97..00000000
--- a/external/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "Plymouth is a project from Fedora providing a flicker-free graphical boot process."
-
-DESCRIPTION = "Plymouth is an application that runs very early in the boot process \
- (even before the root filesystem is mounted!) that provides a \
- graphical boot animation while the boot process happens in the background. \
-"
-
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/Plymouth"
-SECTION = "base"
-
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "libcap libpng cairo dbus udev"
-PROVIDES = "virtual/psplash"
-RPROVIDES_${PN} = "virtual-psplash virtual-psplash-support"
-
-SRC_URI = " \
- http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.bz2 \
- file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \
- file://0002-Fix-build-with-glibc-2.28.patch \
-"
-SRC_URI[md5sum] = "ff420994deb7ea203df678df92e7ab7d"
-SRC_URI[sha256sum] = "2f0ce82042cf9c7eadd2517a1f74c8a85fa8699781d9f294a06eade29fbed57f"
-
-EXTRA_OECONF += " --enable-shared --disable-static --disable-gtk --disable-documentation \
- --with-logo=${LOGO} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-integration --with-system-root-install --with-systemd-tty-ask-password-agent=${base_bindir}/systemd-tty-ask-password-agent', '', d)} \
-"
-
-PACKAGECONFIG ??= "pango initrd"
-PACKAGECONFIG_append_x86 = " drm"
-PACKAGECONFIG_append_x86-64 = " drm"
-
-PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
-PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
-PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
-PACKAGECONFIG[initrd] = ",,,"
-
-LOGO ??= "${datadir}/plymouth/bizcom.png"
-
-inherit autotools pkgconfig systemd
-
-do_install_append() {
- # Remove /var/run from package as plymouth will populate it on startup
- rm -fr "${D}${localstatedir}/run"
-
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'initrd', 'true', 'false', d)}; then
- rm -rf "${D}${libexecdir}"
- fi
-}
-
-PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'initrd', '${PN}-initrd ', '', d)}"
-PACKAGES =+ "${PN}-set-default-theme"
-
-FILES_${PN}-initrd = "${libexecdir}/plymouth/*"
-FILES_${PN}-set-default-theme = "${sbindir}/plymouth-set-default-theme"
-
-FILES_${PN} += "${systemd_unitdir}/system/*"
-FILES_${PN}-dbg += "${libdir}/plymouth/renderers/.debug"
-
-
-RDEPENDS_${PN}-initrd = "bash dracut"
-RDEPENDS_${PN}-set-default-theme = "bash"
-
-SYSTEMD_SERVICE_${PN} = "plymouth-start.service"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb b/external/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb
new file mode 100644
index 00000000..78c1cb44
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb
@@ -0,0 +1,68 @@
+SUMMARY = "Plymouth is a project from Fedora providing a flicker-free graphical boot process."
+
+DESCRIPTION = "Plymouth is an application that runs very early in the boot process \
+ (even before the root filesystem is mounted!) that provides a \
+ graphical boot animation while the boot process happens in the background. \
+"
+
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/Plymouth"
+SECTION = "base"
+
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "libcap libpng cairo dbus udev"
+PROVIDES = "virtual/psplash"
+RPROVIDES_${PN} = "virtual-psplash virtual-psplash-support"
+
+SRC_URI = " \
+ http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.xz \
+ file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \
+ "
+
+SRC_URI[md5sum] = "4efa5551d230165981b105e7c6a50aa7"
+SRC_URI[sha256sum] = "4a197a4f1a05785d7453dd829b231352fb2d09171bd86c5ffaafbb2dd6791351"
+
+EXTRA_OECONF += " --enable-shared --disable-static --disable-gtk --disable-documentation \
+ --with-logo=${LOGO} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-integration --with-systemd-tty-ask-password-agent=${base_bindir}/systemd-tty-ask-password-agent', '--disable-systemd-integration', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge','--without-system-root-install','--with-system-root-install',d)} \
+"
+
+PACKAGECONFIG ??= "pango initrd"
+PACKAGECONFIG_append_x86 = " drm"
+PACKAGECONFIG_append_x86-64 = " drm"
+
+PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
+PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
+PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
+PACKAGECONFIG[initrd] = ",,,"
+
+LOGO ??= "${datadir}/plymouth/bizcom.png"
+
+inherit autotools pkgconfig systemd
+
+do_install_append() {
+ # Remove /var/run from package as plymouth will populate it on startup
+ rm -fr "${D}${localstatedir}/run"
+
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'initrd', 'true', 'false', d)}; then
+ rm -rf "${D}${libexecdir}"
+ fi
+}
+
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'initrd', '${PN}-initrd ', '', d)}"
+PACKAGES =+ "${PN}-set-default-theme"
+
+FILES_${PN}-initrd = "${libexecdir}/plymouth/*"
+FILES_${PN}-set-default-theme = "${sbindir}/plymouth-set-default-theme"
+
+FILES_${PN} += "${systemd_unitdir}/system/*"
+FILES_${PN}-dbg += "${libdir}/plymouth/renderers/.debug"
+
+
+RDEPENDS_${PN}-initrd = "bash dracut"
+RDEPENDS_${PN}-set-default-theme = "bash"
+
+SYSTEMD_SERVICE_${PN} = "plymouth-start.service"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb b/external/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
index f11ae7e4..68dc8042 100644
--- a/external/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
+++ b/external/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
@@ -8,7 +8,7 @@ PR = "r1"
PROVIDES = "virtual/libintl"
SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/${PN}-dev_${PV}_win32.zip \
+ http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/${BPN}-dev_${PV}_win32.zip \
"
SRC_URI[md5sum] = "aef407c2b97ee829383aadd867c61d1e"
SRC_URI[sha256sum] = "291ac350cc5eb4a01b0d651ca99fae64cee8a1c06b2005277fab5a4356f9ae91"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.1.bb b/external/meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.1.bb
new file mode 100644
index 00000000..91d8fc65
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Safe C Library"
+
+LICENSE = "safec"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164"
+SECTION = "lib"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+# v08112019
+SRCREV = "ad76c7b1dbd0403b0c9decf54164fcce271c590f"
+SRC_URI = "git://github.com/rurban/safeclib.git \
+"
+
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64|mips).*-linux'
+
+PACKAGES =+ "${PN}-check"
+
+FILES_${PN}-check += "${bindir}/check_for_unsafe_apis"
+
+RDEPENDS_${PN}-check += "perl"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.1/run-ptest b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.1/run-ptest
new file mode 100755
index 00000000..f6ade0c7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.1/run-ptest
@@ -0,0 +1,15 @@
+#!/bin/sh
+set -e
+set -o pipefail
+
+SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
+
+${SCRIPTPATH}/../tests/sdbus-c++-unit-tests 2>&1 | \
+sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \
+sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \
+awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}'
+
+${SCRIPTPATH}/../tests/sdbus-c++-integration-tests 2>&1 | \
+sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \
+sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \
+awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}'
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch
new file mode 100644
index 00000000..2f4daf86
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch
@@ -0,0 +1,413 @@
+From 85e3c3046562ec24fc2f09ebfd08bf9f168091d5 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Fri, 1 Mar 2019 15:22:15 +0800
+Subject: [PATCH] do not disable buffer in writing files
+
+Do not disable buffer in writing files, otherwise we get
+failure at boot for musl like below.
+
+ [!!!!!!] Failed to allocate manager object.
+
+And there will be other failures, critical or not critical.
+This is specific to musl.
+
+Upstream-Status: Inappropriate [musl]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/basic/cgroup-util.c | 14 +++++++-------
+ src/basic/procfs-util.c | 4 ++--
+ src/basic/smack-util.c | 2 +-
+ src/basic/util.c | 2 +-
+ src/binfmt/binfmt.c | 6 +++---
+ src/core/main.c | 4 ++--
+ src/core/smack-setup.c | 8 ++++----
+ src/hibernate-resume/hibernate-resume.c | 2 +-
+ src/libsystemd/sd-device/sd-device.c | 2 +-
+ src/login/logind-dbus.c | 2 +-
+ src/nspawn/nspawn-cgroup.c | 2 +-
+ src/nspawn/nspawn.c | 6 +++---
+ src/shared/sysctl-util.c | 2 +-
+ src/sleep/sleep.c | 10 +++++-----
+ src/udev/udevadm-trigger.c | 2 +-
+ src/udev/udevd.c | 2 +-
+ src/vconsole/vconsole-setup.c | 2 +-
+ 17 files changed, 36 insertions(+), 36 deletions(-)
+
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index 7b5839ccd6..18f6e8ffc8 100644
+--- a/src/basic/cgroup-util.c
++++ b/src/basic/cgroup-util.c
+@@ -860,7 +860,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
+
+ xsprintf(c, PID_FMT "\n", pid);
+
+- r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, c, 0);
+ if (r < 0)
+ return r;
+
+@@ -1142,7 +1142,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+
+ sc = strstrip(contents);
+ if (isempty(sc)) {
+- r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, agent, 0);
+ if (r < 0)
+ return r;
+ } else if (!path_equal(sc, agent))
+@@ -1160,7 +1160,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+
+ sc = strstrip(contents);
+ if (streq(sc, "0")) {
+- r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "1", 0);
+ if (r < 0)
+ return r;
+
+@@ -1187,7 +1187,7 @@ int cg_uninstall_release_agent(const char *controller) {
+ if (r < 0)
+ return r;
+
+- r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "0", 0);
+ if (r < 0)
+ return r;
+
+@@ -1197,7 +1197,7 @@ int cg_uninstall_release_agent(const char *controller) {
+ if (r < 0)
+ return r;
+
+- r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "", 0);
+ if (r < 0)
+ return r;
+
+@@ -2053,7 +2053,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+ if (r < 0)
+ return r;
+
+- return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER);
++ return write_string_file(p, value, 0);
+ }
+
+ int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
+@@ -2697,7 +2697,7 @@ int cg_enable_everywhere(
+ return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
+ }
+
+- r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_stream(f, s, 0);
+ if (r < 0) {
+ log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
+ FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index 42ce53d5aa..57512532a6 100644
+--- a/src/basic/procfs-util.c
++++ b/src/basic/procfs-util.c
+@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
+ * decrease it, as threads-max is the much more relevant sysctl. */
+ if (limit > pid_max-1) {
+ sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
+- r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0);
+ if (r < 0)
+ return r;
+ }
+
+ sprintf(buffer, "%" PRIu64, limit);
+- r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0);
+ if (r < 0) {
+ uint64_t threads_max;
+
+diff --git a/src/basic/smack-util.c b/src/basic/smack-util.c
+index 123d00e13e..e7ea78f349 100644
+--- a/src/basic/smack-util.c
++++ b/src/basic/smack-util.c
+@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
+ return 0;
+
+ p = procfs_file_alloca(pid, "attr/current");
+- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, label, 0);
+ if (r < 0)
+ return r;
+
+diff --git a/src/basic/util.c b/src/basic/util.c
+index 93d610bc98..97dca64f73 100644
+--- a/src/basic/util.c
++++ b/src/basic/util.c
+@@ -294,7 +294,7 @@ void disable_coredumps(void) {
+ if (detect_container() > 0)
+ return;
+
+- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
+ if (r < 0)
+ log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
+ }
+diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
+index aa9d811f2e..8c7f2dae7a 100644
+--- a/src/binfmt/binfmt.c
++++ b/src/binfmt/binfmt.c
+@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
+ if (!fn)
+ return log_oom();
+
+- return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ return write_string_file(fn, "-1", 0);
+ }
+
+ static int apply_rule(const char *rule) {
+@@ -56,7 +56,7 @@ static int apply_rule(const char *rule) {
+
+ (void) delete_rule(rule);
+
+- r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to add binary format: %m");
+
+@@ -213,7 +213,7 @@ static int run(int argc, char *argv[]) {
+ }
+
+ /* Flush out all rules */
+- (void) write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ (void) write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
+
+ STRV_FOREACH(f, files) {
+ k = apply_file(*f, true);
+diff --git a/src/core/main.c b/src/core/main.c
+index bcce7178a8..4199cedab9 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -1285,7 +1285,7 @@ static int bump_unix_max_dgram_qlen(void) {
+ if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
+ return 0;
+
+- r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", WRITE_STRING_FILE_DISABLE_BUFFER, "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN);
++ r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", 0, "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN);
+ if (r < 0)
+ return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
+ "Failed to bump AF_UNIX datagram queue length, ignoring: %m");
+@@ -1509,7 +1509,7 @@ static void initialize_core_pattern(bool skip_setup) {
+ if (getpid_cached() != 1)
+ return;
+
+- r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
+ }
+diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
+index b95e6239d4..fdbdaaaccb 100644
+--- a/src/core/smack-setup.c
++++ b/src/core/smack-setup.c
+@@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
+ }
+
+ #ifdef SMACK_RUN_LABEL
+- r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m");
+- r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m");
+ r = write_string_file("/sys/fs/smackfs/netlabel",
+- "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ "0.0.0.0/0 " SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m");
+- r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
+ #endif
+diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
+index 17e7cd1a00..87a7667716 100644
+--- a/src/hibernate-resume/hibernate-resume.c
++++ b/src/hibernate-resume/hibernate-resume.c
+@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
+ return EXIT_FAILURE;
+ }
+
+- r = write_string_file("/sys/power/resume", major_minor, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume", major_minor, 0);
+ if (r < 0) {
+ log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
+ return EXIT_FAILURE;
+diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
+index c4a7f2f3d3..bcac758284 100644
+--- a/src/libsystemd/sd-device/sd-device.c
++++ b/src/libsystemd/sd-device/sd-device.c
+@@ -1849,7 +1849,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+ if (!value)
+ return -ENOMEM;
+
+- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
++ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
+ if (r < 0) {
+ if (r == -ELOOP)
+ return -EINVAL;
+diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
+index 30b9a66334..cc1d577933 100644
+--- a/src/login/logind-dbus.c
++++ b/src/login/logind-dbus.c
+@@ -1325,7 +1325,7 @@ static int trigger_device(Manager *m, sd_device *d) {
+ if (!t)
+ return -ENOMEM;
+
+- (void) write_string_file(t, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ (void) write_string_file(t, "change", 0);
+ }
+
+ return 0;
+diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
+index 0462b46413..7c53d41483 100644
+--- a/src/nspawn/nspawn-cgroup.c
++++ b/src/nspawn/nspawn-cgroup.c
+@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
+ fn = strjoina(tree, cgroup, "/cgroup.procs");
+
+ sprintf(pid_string, PID_FMT, pid);
+- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755);
++ r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755);
+ if (r < 0) {
+ log_error_errno(r, "Failed to move process: %m");
+ goto finish;
+diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
+index 2aec8041f0..841542f2f3 100644
+--- a/src/nspawn/nspawn.c
++++ b/src/nspawn/nspawn.c
+@@ -2357,7 +2357,7 @@ static int reset_audit_loginuid(void) {
+ if (streq(p, "4294967295"))
+ return 0;
+
+- r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/self/loginuid", "4294967295", 0);
+ if (r < 0) {
+ log_error_errno(r,
+ "Failed to reset audit login UID. This probably means that your kernel is too\n"
+@@ -3566,13 +3566,13 @@ static int setup_uid_map(pid_t pid) {
+
+ xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
+ xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
+- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(uid_map, line, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write UID map: %m");
+
+ /* We always assign the same UID and GID ranges */
+ xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
+- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(uid_map, line, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write GID map: %m");
+
+diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
+index 93bdcf11bf..68cddb7a9f 100644
+--- a/src/shared/sysctl-util.c
++++ b/src/shared/sysctl-util.c
+@@ -88,7 +88,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
+
+ log_debug("Setting '%s' to '%s'", p, value);
+
+- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ }
+
+ int sysctl_read(const char *property, char **content) {
+diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
+index b9fe96635d..f168d7f890 100644
+--- a/src/sleep/sleep.c
++++ b/src/sleep/sleep.c
+@@ -54,7 +54,7 @@ static int write_hibernate_location_info(void) {
+
+ /* if it's a swap partition, we just write the disk to /sys/power/resume */
+ if (streq(type, "partition")) {
+- r = write_string_file("/sys/power/resume", device, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume", device, 0);
+ if (r < 0)
+ return log_debug_errno(r, "Failed to write partition device to /sys/power/resume: %m");
+
+@@ -98,14 +98,14 @@ static int write_hibernate_location_info(void) {
+
+ offset = fiemap->fm_extents[0].fe_physical / page_size();
+ xsprintf(offset_str, "%" PRIu64, offset);
+- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
+ if (r < 0)
+ return log_debug_errno(r, "Failed to write offset '%s': %m", offset_str);
+
+ log_debug("Wrote calculated resume_offset value to /sys/power/resume_offset: %s", offset_str);
+
+ xsprintf(device_str, "%lx", (unsigned long)stb.st_dev);
+- r = write_string_file("/sys/power/resume", device_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume", device_str, 0);
+ if (r < 0)
+ return log_debug_errno(r, "Failed to write device '%s': %m", device_str);
+
+@@ -121,7 +121,7 @@ static int write_mode(char **modes) {
+ STRV_FOREACH(mode, modes) {
+ int k;
+
+- k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER);
++ k = write_string_file("/sys/power/disk", *mode, 0);
+ if (k >= 0)
+ return 0;
+
+@@ -140,7 +140,7 @@ static int write_state(FILE **f, char **states) {
+ STRV_FOREACH(state, states) {
+ int k;
+
+- k = write_string_stream(*f, *state, WRITE_STRING_FILE_DISABLE_BUFFER);
++ k = write_string_stream(*f, *state, 0);
+ if (k >= 0)
+ return 0;
+ log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
+diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
+index 77d95e513f..25ce4abfb1 100644
+--- a/src/udev/udevadm-trigger.c
++++ b/src/udev/udevadm-trigger.c
+@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se
+ if (!filename)
+ return log_oom();
+
+- r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(filename, action, 0);
+ if (r < 0) {
+ log_full_errno(r == -ENOENT ? LOG_DEBUG : LOG_ERR, r,
+ "Failed to write '%s' to '%s': %m", action, filename);
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index cb5123042a..ea309a9e7f 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -1113,7 +1113,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) {
+
+ filename = strjoina(syspath, "/uevent");
+ log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath);
+- r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(filename, "change", 0);
+ if (r < 0)
+ return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename);
+ return 0;
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index 75d052ae70..5a15c939d8 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -117,7 +117,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
+ static int toggle_utf8_sysfs(bool utf8) {
+ int r;
+
+- r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0);
+ if (r < 0)
+ return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch
new file mode 100644
index 00000000..c6213ab8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -0,0 +1,163 @@
+From 1eb84534dea05d41afed1d898cba212ad7d310dd Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 13:41:41 +0800
+Subject: [PATCH 02/24] don't use glibc-specific qsort_r
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Rebased for v241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+---
+ src/basic/sort-util.h | 14 --------------
+ src/libsystemd/sd-hwdb/hwdb-util.c | 19 ++++++++++++++-----
+ src/shared/format-table.c | 36 ++++++++++++++++++++++++------------
+ 3 files changed, 38 insertions(+), 31 deletions(-)
+
+diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
+index e029f8646e..27d68b341c 100644
+--- a/src/basic/sort-util.h
++++ b/src/basic/sort-util.h
+@@ -54,17 +54,3 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
+ int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
+ qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
+ })
+-
+-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
+- if (nmemb <= 1)
+- return;
+-
+- assert(base);
+- qsort_r(base, nmemb, size, compar, userdata);
+-}
+-
+-#define typesafe_qsort_r(p, n, func, userdata) \
+- ({ \
+- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
+- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
+- })
+diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
+index c83575c7c8..72f8f3a050 100644
+--- a/src/libsystemd/sd-hwdb/hwdb-util.c
++++ b/src/libsystemd/sd-hwdb/hwdb-util.c
+@@ -128,9 +128,13 @@ static void trie_free(struct trie *trie) {
+
+ DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
+
+-static int trie_values_cmp(const struct trie_value_entry *a, const struct trie_value_entry *b, struct trie *trie) {
+- return strcmp(trie->strings->buf + a->key_off,
+- trie->strings->buf + b->key_off);
++static struct trie *trie_node_add_value_trie;
++static int trie_values_cmp(const void *v1, const void *v2) {
++ const struct trie_value_entry *a = v1;
++ const struct trie_value_entry *b = v2;
++
++ return strcmp(trie_node_add_value_trie->strings->buf + a->key_off,
++ trie_node_add_value_trie->strings->buf + b->key_off);
+ }
+
+ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+@@ -158,7 +162,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+ .value_off = v,
+ };
+
+- val = typesafe_bsearch_r(&search, node->values, node->values_count, trie_values_cmp, trie);
++ trie_node_add_value_trie = trie;
++ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
++ trie_node_add_value_trie = NULL;
++
+ if (val) {
+ /* At this point we have 2 identical properties on the same match-string.
+ * Since we process files in order, we just replace the previous value. */
+@@ -184,7 +191,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+ .line_number = line_number,
+ };
+ node->values_count++;
+- typesafe_qsort_r(node->values, node->values_count, trie_values_cmp, trie);
++ trie_node_add_value_trie = trie;
++ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
++ trie_node_add_value_trie = NULL;
+ return 0;
+ }
+
+diff --git a/src/shared/format-table.c b/src/shared/format-table.c
+index a5c0a99b08..d595cbe372 100644
+--- a/src/shared/format-table.c
++++ b/src/shared/format-table.c
+@@ -850,31 +850,33 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
+ return CMP(index_a, index_b);
+ }
+
+-static int table_data_compare(const size_t *a, const size_t *b, Table *t) {
++static Table *user_table;
++static int table_data_compare(const void *x, const void *y) {
++ const size_t *a = x, *b=y;
+ size_t i;
+ int r;
+
+- assert(t);
+- assert(t->sort_map);
++ assert(user_table);
++ assert(user_table->sort_map);
+
+ /* Make sure the header stays at the beginning */
+- if (*a < t->n_columns && *b < t->n_columns)
++ if (*a < user_table->n_columns && *b < user_table->n_columns)
+ return 0;
+- if (*a < t->n_columns)
++ if (*a < user_table->n_columns)
+ return -1;
+- if (*b < t->n_columns)
++ if (*b < user_table->n_columns)
+ return 1;
+
+ /* Order other lines by the sorting map */
+- for (i = 0; i < t->n_sort_map; i++) {
++ for (i = 0; i < user_table->n_sort_map; i++) {
+ TableData *d, *dd;
+
+- d = t->data[*a + t->sort_map[i]];
+- dd = t->data[*b + t->sort_map[i]];
++ d = user_table->data[*a + user_table->sort_map[i]];
++ dd = user_table->data[*b + user_table->sort_map[i]];
+
+ r = cell_data_compare(d, *a, dd, *b);
+ if (r != 0)
+- return t->reverse_map && t->reverse_map[t->sort_map[i]] ? -r : r;
++ return user_table->reverse_map && user_table->reverse_map[user_table->sort_map[i]] ? -r : r;
+ }
+
+ /* Order identical lines by the order there were originally added in */
+@@ -1107,7 +1109,12 @@ int table_print(Table *t, FILE *f) {
+ for (i = 0; i < n_rows; i++)
+ sorted[i] = i * t->n_columns;
+
+- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
++ if (n_rows <= 1)
++ return 0;
++ assert(sorted);
++ user_table = t;
++ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
++ user_table = NULL;
+ }
+
+ if (t->display_map)
+@@ -1534,7 +1541,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
+ for (i = 0; i < n_rows; i++)
+ sorted[i] = i * t->n_columns;
+
+- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
++ if (n_rows <= 1)
++ return 0;
++ assert(sorted);
++ user_table = t;
++ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
++ user_table = NULL;
+ }
+
+ if (t->display_map)
+--
+2.11.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch
new file mode 100644
index 00000000..dcae668d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch
@@ -0,0 +1,25 @@
+Include sys/wait.h
+
+Fixes:
+src/login/logind-brightness.c:158:85: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'?
+ 158 | r = sd_event_add_child(w->manager->event, &w->child_event_source, w->child, WEXITED, on_brightness_writer_exit, w);
+ | ^~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/login/logind-brightness.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/login/logind-brightness.c b/src/login/logind-brightness.c
+index 8dfa97d7ae..bddd4a2727 100644
+--- a/src/login/logind-brightness.c
++++ b/src/login/logind-brightness.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <sys/wait.h>
+ #include "bus-util.h"
+ #include "device-util.h"
+ #include "hash-funcs.h"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
new file mode 100644
index 00000000..2e39f7a2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
@@ -0,0 +1,63 @@
+From a9421d55102fc84f77f7c21a2479fcd00652b896 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 13:55:12 +0800
+Subject: [PATCH 03/24] missing_type.h: add __compare_fn_t and comparison_fn_t
+
+Make it work with musl where comparison_fn_t and __compare_fn_t
+is not provided.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+---
+ src/basic/missing_type.h | 9 +++++++++
+ src/basic/sort-util.h | 1 +
+ src/journal/catalog.c | 1 +
+ 3 files changed, 11 insertions(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index bf8a6caa1b..2134fe5095 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -10,3 +10,12 @@
+ #if !HAVE_CHAR16_T
+ #define char16_t uint16_t
+ #endif
++
++#ifndef __GLIBC__
++typedef int (*comparison_fn_t)(const void *, const void *);
++#endif
++
++#ifndef __COMPAR_FN_T
++#define __COMPAR_FN_T
++typedef int (*__compar_fn_t)(const void *, const void *);
++#endif
+diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
+index e029f86..7247d40 100644
+--- a/src/basic/sort-util.h
++++ b/src/basic/sort-util.h
+@@ -4,6 +4,7 @@
+ #include <stdlib.h>
+
+ #include "macro.h"
++#include "missing.h"
+
+ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
+ __compar_d_fn_t compar, void *arg);
+diff --git a/src/journal/catalog.c b/src/journal/catalog.c
+index 7beffc1e1a..4818a2e5cc 100644
+--- a/src/journal/catalog.c
++++ b/src/journal/catalog.c
+@@ -29,6 +29,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "tmpfile-util.h"
++#include "missing.h"
+
+ const char * const catalog_file_dirs[] = {
+ "/usr/local/lib/systemd/catalog/",
+--
+2.11.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch
new file mode 100644
index 00000000..7ee0d48f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch
@@ -0,0 +1,27 @@
+Include signal.h
+
+Fixes several signal set related errors:
+src/basic/copy.c:92:19: error: implicit declaration of function 'sigemptyset' [-Werror=implicit-function-declaration]
+src/basic/copy.c:93:19: error: implicit declaration of function 'sigaddset' [-Werror=implicit-function-declaration]
+src/basic/copy.c:93:34: error: 'SIGINT' undeclared (first use in this function)
+src/basic/copy.c:95:13: error: implicit declaration of function 'sigtimedwait' [-Werror=implicit-function-declaration]
+
+Upstream-Status: Pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/basic/copy.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/copy.c b/src/basic/copy.c
+index ca311e021e..3cf7fc1697 100644
+--- a/src/basic/copy.c
++++ b/src/basic/copy.c
+@@ -12,6 +12,7 @@
+ #include <sys/xattr.h>
+ #include <time.h>
+ #include <unistd.h>
++#include <signal.h>
+
+ #include "alloc-util.h"
+ #include "btrfs-util.h"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch
new file mode 100644
index 00000000..a2aad40a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch
@@ -0,0 +1,432 @@
+From 7bcf3b166694090497a0acd2c5299e4e04fcc9b6 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 14:04:21 +0800
+Subject: [PATCH 04/24] add fallback parse_printf_format implementation
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ meson.build | 1 +
+ src/basic/meson.build | 5 +
+ src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++++++++++
+ src/basic/parse-printf-format.h | 57 +++++++++
+ src/basic/stdio-util.h | 2 +-
+ src/journal/journal-send.c | 2 +-
+ 6 files changed, 338 insertions(+), 2 deletions(-)
+ create mode 100644 src/basic/parse-printf-format.c
+ create mode 100644 src/basic/parse-printf-format.h
+
+diff --git a/meson.build b/meson.build
+index 79b762faeb..7f8c679411 100644
+--- a/meson.build
++++ b/meson.build
+@@ -613,6 +613,7 @@ endif
+ foreach header : ['crypt.h',
+ 'linux/memfd.h',
+ 'linux/vm_sockets.h',
++ 'printf.h',
+ 'sys/auxv.h',
+ 'valgrind/memcheck.h',
+ 'valgrind/valgrind.h',
+diff --git a/src/basic/meson.build b/src/basic/meson.build
+index d6caf28f14..32c1acf349 100644
+--- a/src/basic/meson.build
++++ b/src/basic/meson.build
+@@ -312,6 +312,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
+ endforeach
+
+ basic_sources += generated_gperf_headers
++
++if conf.get('HAVE_PRINTF_H') != 1
++ basic_sources += [files('parse-printf-format.c')]
++endif
++
+ basic_gcrypt_sources = files(
+ 'gcrypt-util.c',
+ 'gcrypt-util.h')
+diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
+new file mode 100644
+index 0000000000..49437e5445
+--- /dev/null
++++ b/src/basic/parse-printf-format.c
+@@ -0,0 +1,273 @@
++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
++
++/***
++ This file is part of systemd.
++
++ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
++
++ With parts from the musl C library
++ Copyright 2005-2014 Rich Felker, et al.
++
++ systemd is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
++
++ systemd is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with systemd; If not, see <http://www.gnu.org/licenses/>.
++***/
++
++#include <stddef.h>
++#include <string.h>
++
++#include "parse-printf-format.h"
++
++static const char *consume_nonarg(const char *fmt)
++{
++ do {
++ if (*fmt == '\0')
++ return fmt;
++ } while (*fmt++ != '%');
++ return fmt;
++}
++
++static const char *consume_num(const char *fmt)
++{
++ for (;*fmt >= '0' && *fmt <= '9'; fmt++)
++ /* do nothing */;
++ return fmt;
++}
++
++static const char *consume_argn(const char *fmt, size_t *arg)
++{
++ const char *p = fmt;
++ size_t val = 0;
++
++ if (*p < '1' || *p > '9')
++ return fmt;
++ do {
++ val = 10*val + (*p++ - '0');
++ } while (*p >= '0' && *p <= '9');
++
++ if (*p != '$')
++ return fmt;
++ *arg = val;
++ return p+1;
++}
++
++static const char *consume_flags(const char *fmt)
++{
++ while (1) {
++ switch (*fmt) {
++ case '#':
++ case '0':
++ case '-':
++ case ' ':
++ case '+':
++ case '\'':
++ case 'I':
++ fmt++;
++ continue;
++ }
++ return fmt;
++ }
++}
++
++enum state {
++ BARE,
++ LPRE,
++ LLPRE,
++ HPRE,
++ HHPRE,
++ BIGLPRE,
++ ZTPRE,
++ JPRE,
++ STOP
++};
++
++enum type {
++ NONE,
++ PTR,
++ INT,
++ UINT,
++ ULLONG,
++ LONG,
++ ULONG,
++ SHORT,
++ USHORT,
++ CHAR,
++ UCHAR,
++ LLONG,
++ SIZET,
++ IMAX,
++ UMAX,
++ PDIFF,
++ UIPTR,
++ DBL,
++ LDBL,
++ MAXTYPE
++};
++
++static const short pa_types[MAXTYPE] = {
++ [NONE] = PA_INT,
++ [PTR] = PA_POINTER,
++ [INT] = PA_INT,
++ [UINT] = PA_INT,
++ [ULLONG] = PA_INT | PA_FLAG_LONG_LONG,
++ [LONG] = PA_INT | PA_FLAG_LONG,
++ [ULONG] = PA_INT | PA_FLAG_LONG,
++ [SHORT] = PA_INT | PA_FLAG_SHORT,
++ [USHORT] = PA_INT | PA_FLAG_SHORT,
++ [CHAR] = PA_CHAR,
++ [UCHAR] = PA_CHAR,
++ [LLONG] = PA_INT | PA_FLAG_LONG_LONG,
++ [SIZET] = PA_INT | PA_FLAG_LONG,
++ [IMAX] = PA_INT | PA_FLAG_LONG_LONG,
++ [UMAX] = PA_INT | PA_FLAG_LONG_LONG,
++ [PDIFF] = PA_INT | PA_FLAG_LONG_LONG,
++ [UIPTR] = PA_INT | PA_FLAG_LONG,
++ [DBL] = PA_DOUBLE,
++ [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE
++};
++
++#define S(x) [(x)-'A']
++#define E(x) (STOP + (x))
++
++static const unsigned char states[]['z'-'A'+1] = {
++ { /* 0: bare types */
++ S('d') = E(INT), S('i') = E(INT),
++ S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT),
++ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
++ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
++ S('c') = E(CHAR),S('C') = E(INT),
++ S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR),
++ S('m') = E(NONE),
++ S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE,
++ S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE
++ }, { /* 1: l-prefixed */
++ S('d') = E(LONG), S('i') = E(LONG),
++ S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG),
++ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
++ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
++ S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR),
++ S('l') = LLPRE
++ }, { /* 2: ll-prefixed */
++ S('d') = E(LLONG), S('i') = E(LLONG),
++ S('o') = E(ULLONG),S('u') = E(ULLONG),
++ S('x') = E(ULLONG),S('X') = E(ULLONG),
++ S('n') = E(PTR)
++ }, { /* 3: h-prefixed */
++ S('d') = E(SHORT), S('i') = E(SHORT),
++ S('o') = E(USHORT),S('u') = E(USHORT),
++ S('x') = E(USHORT),S('X') = E(USHORT),
++ S('n') = E(PTR),
++ S('h') = HHPRE
++ }, { /* 4: hh-prefixed */
++ S('d') = E(CHAR), S('i') = E(CHAR),
++ S('o') = E(UCHAR),S('u') = E(UCHAR),
++ S('x') = E(UCHAR),S('X') = E(UCHAR),
++ S('n') = E(PTR)
++ }, { /* 5: L-prefixed */
++ S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL),
++ S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL),
++ S('n') = E(PTR)
++ }, { /* 6: z- or t-prefixed (assumed to be same size) */
++ S('d') = E(PDIFF),S('i') = E(PDIFF),
++ S('o') = E(SIZET),S('u') = E(SIZET),
++ S('x') = E(SIZET),S('X') = E(SIZET),
++ S('n') = E(PTR)
++ }, { /* 7: j-prefixed */
++ S('d') = E(IMAX), S('i') = E(IMAX),
++ S('o') = E(UMAX), S('u') = E(UMAX),
++ S('x') = E(UMAX), S('X') = E(UMAX),
++ S('n') = E(PTR)
++ }
++};
++
++size_t parse_printf_format(const char *fmt, size_t n, int *types)
++{
++ size_t i = 0;
++ size_t last = 0;
++
++ memset(types, 0, n);
++
++ while (1) {
++ size_t arg;
++ unsigned int state;
++
++ fmt = consume_nonarg(fmt);
++ if (*fmt == '\0')
++ break;
++ if (*fmt == '%') {
++ fmt++;
++ continue;
++ }
++ arg = 0;
++ fmt = consume_argn(fmt, &arg);
++ /* flags */
++ fmt = consume_flags(fmt);
++ /* width */
++ if (*fmt == '*') {
++ size_t warg = 0;
++ fmt = consume_argn(fmt+1, &warg);
++ if (warg == 0)
++ warg = ++i;
++ if (warg > last)
++ last = warg;
++ if (warg <= n && types[warg-1] == NONE)
++ types[warg-1] = INT;
++ } else
++ fmt = consume_num(fmt);
++ /* precision */
++ if (*fmt == '.') {
++ fmt++;
++ if (*fmt == '*') {
++ size_t parg = 0;
++ fmt = consume_argn(fmt+1, &parg);
++ if (parg == 0)
++ parg = ++i;
++ if (parg > last)
++ last = parg;
++ if (parg <= n && types[parg-1] == NONE)
++ types[parg-1] = INT;
++ } else {
++ if (*fmt == '-')
++ fmt++;
++ fmt = consume_num(fmt);
++ }
++ }
++ /* length modifier and conversion specifier */
++ state = BARE;
++ do {
++ unsigned char c = *fmt++;
++
++ if (c < 'A' || c > 'z')
++ continue;
++ state = states[state]S(c);
++ if (state == 0)
++ continue;
++ } while (state < STOP);
++
++ if (state == E(NONE))
++ continue;
++
++ if (arg == 0)
++ arg = ++i;
++ if (arg > last)
++ last = arg;
++ if (arg <= n)
++ types[arg-1] = state - STOP;
++ }
++
++ if (last > n)
++ last = n;
++ for (i = 0; i < last; i++)
++ types[i] = pa_types[types[i]];
++
++ return last;
++}
+diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
+new file mode 100644
+index 0000000000..47be7522d7
+--- /dev/null
++++ b/src/basic/parse-printf-format.h
+@@ -0,0 +1,57 @@
++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
++
++/***
++ This file is part of systemd.
++
++ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
++
++ With parts from the GNU C Library
++ Copyright 1991-2014 Free Software Foundation, Inc.
++
++ systemd is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
++
++ systemd is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with systemd; If not, see <http://www.gnu.org/licenses/>.
++***/
++
++#pragma once
++
++#include "config.h"
++
++#if HAVE_PRINTF_H
++#include <printf.h>
++#else
++
++#include <stddef.h>
++
++enum { /* C type: */
++ PA_INT, /* int */
++ PA_CHAR, /* int, cast to char */
++ PA_WCHAR, /* wide char */
++ PA_STRING, /* const char *, a '\0'-terminated string */
++ PA_WSTRING, /* const wchar_t *, wide character string */
++ PA_POINTER, /* void * */
++ PA_FLOAT, /* float */
++ PA_DOUBLE, /* double */
++ PA_LAST
++};
++
++/* Flag bits that can be set in a type returned by `parse_printf_format'. */
++#define PA_FLAG_MASK 0xff00
++#define PA_FLAG_LONG_LONG (1 << 8)
++#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG
++#define PA_FLAG_LONG (1 << 9)
++#define PA_FLAG_SHORT (1 << 10)
++#define PA_FLAG_PTR (1 << 11)
++
++size_t parse_printf_format(const char *fmt, size_t n, int *types);
++
++#endif /* HAVE_PRINTF_H */
+diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
+index c3b9448d4f..2937aa13b1 100644
+--- a/src/basic/stdio-util.h
++++ b/src/basic/stdio-util.h
+@@ -1,13 +1,13 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+ #pragma once
+
+-#include <printf.h>
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+
+ #include "macro.h"
+ #include "memory-util.h"
++#include "parse-printf-format.h"
+
+ #define snprintf_ok(buf, len, fmt, ...) \
+ ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
+diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
+index 5ef11fa1a4..6384ab620c 100644
+--- a/src/journal/journal-send.c
++++ b/src/journal/journal-send.c
+@@ -2,7 +2,6 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <printf.h>
+ #include <stddef.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+@@ -21,6 +20,7 @@
+ #include "stdio-util.h"
+ #include "string-util.h"
+ #include "tmpfile-util.h"
++#include "parse-printf-format.h"
+
+ #define SNDBUF_SIZE (8*1024*1024)
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
new file mode 100644
index 00000000..0f75e8c1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
@@ -0,0 +1,54 @@
+Handle __cpu_mask usage
+
+Fixes errors:
+
+src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function)
+src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function)
+
+__cpu_mask is an internal type of glibc's cpu_set implementation, not
+part of the POSIX definition, which is problematic when building with
+musl, which does not define a matching type. From inspection of musl's
+sched.h, however, it is clear that the corresponding type would be
+unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So,
+add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/shared/cpu-set-util.h | 2 ++
+ src/test/test-sizeof.c | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h
+index 27812dfd59..f698f9df83 100644
+--- a/src/shared/cpu-set-util.h
++++ b/src/shared/cpu-set-util.h
+@@ -6,6 +6,8 @@
+ #include "macro.h"
+ #include "missing_syscall.h"
+
++typedef unsigned long __cpu_mask;
++
+ /* This wraps the libc interface with a variable to keep the allocated size. */
+ typedef struct CPUSet {
+ cpu_set_t *set;
+diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
+index a710db5370..d1601ad929 100644
+--- a/src/test/test-sizeof.c
++++ b/src/test/test-sizeof.c
+@@ -1,6 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
+-#include <sched.h>
+ #include <stdio.h>
+ #include <string.h>
+
+@@ -8,6 +7,7 @@
+ #include <float.h>
+
+ #include "time-util.h"
++#include "cpu-set-util.h"
+
+ /* Print information about various types. Useful when diagnosing
+ * gcc diagnostics on an unfamiliar architecture. */
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch
new file mode 100644
index 00000000..adfc3b78
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -0,0 +1,442 @@
+From 399fd3eda3045636a70da438a0fd1406cc332ed1 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 14:18:21 +0800
+Subject: [PATCH 05/24] src/basic/missing.h: check for missing strndupa
+
+include missing.h for definition of strndupa
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ meson.build | 1 +
+ src/backlight/backlight.c | 1 +
+ src/basic/env-util.c | 1 +
+ src/basic/missing_stdlib.h | 12 ++++++++++++
+ src/basic/mkdir.c | 1 +
+ src/basic/parse-util.c | 1 +
+ src/basic/proc-cmdline.c | 1 +
+ src/basic/procfs-util.c | 1 +
+ src/basic/time-util.c | 1 +
+ src/core/dbus-cgroup.c | 1 +
+ src/core/dbus-util.c | 1 +
+ src/core/kmod-setup.c | 1 +
+ src/core/service.c | 1 +
+ src/journal/journalctl.c | 1 +
+ src/libsystemd/sd-bus/bus-message.c | 1 +
+ src/libsystemd/sd-bus/bus-objects.c | 1 +
+ src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
+ src/locale/keymap-util.c | 1 +
+ src/login/pam_systemd.c | 1 +
+ src/network/generator/network-generator.c | 1 +
+ src/nspawn/nspawn-settings.c | 1 +
+ src/shared/dns-domain.c | 1 +
+ src/shared/journal-importer.c | 1 +
+ src/shared/logs-show.c | 1 +
+ src/shared/pager.c | 1 +
+ src/shared/path-lookup.c | 1 +
+ src/shared/uid-range.c | 1 +
+ src/socket-proxy/socket-proxyd.c | 1 +
+ src/test/test-hexdecoct.c | 1 +
+ src/udev/udev-builtin-path_id.c | 1 +
+ src/udev/udev-event.c | 1 +
+ src/udev/udev-rules.c | 1 +
+ 32 files changed, 43 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index 7f8c679411..81c061b768 100644
+--- a/meson.build
++++ b/meson.build
+@@ -506,6 +506,7 @@ foreach ident : [
+ #include <unistd.h>'''],
+ ['get_mempolicy', '''#include <stdlib.h>
+ #include <unistd.h>'''],
++ ['strndupa' , '''#include <string.h>'''],
+ ]
+
+ have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
+diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
+index dfd6805398..c2b2ace6ec 100644
+--- a/src/backlight/backlight.c
++++ b/src/backlight/backlight.c
+@@ -17,6 +17,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "util.h"
++#include "missing.h"
+
+ static int find_pci_or_platform_parent(sd_device *device, sd_device **ret) {
+ const char *subsystem, *sysname, *value;
+diff --git a/src/basic/env-util.c b/src/basic/env-util.c
+index a6503cf2b6..ceef9a62c8 100644
+--- a/src/basic/env-util.c
++++ b/src/basic/env-util.c
+@@ -16,6 +16,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "utf8.h"
++#include "missing.h"
+
+ #define VALID_CHARS_ENV_NAME \
+ DIGITS LETTERS \
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index 188a8d4406..1e16ec287a 100644
+--- a/src/basic/missing_stdlib.h
++++ b/src/basic/missing_stdlib.h
+@@ -11,3 +11,15 @@
+ # error "neither secure_getenv nor __secure_getenv are available"
+ # endif
+ #endif
++
++/* string.h */
++#if ! HAVE_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
+diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
+index 6b82eab640..51c6b78615 100644
+--- a/src/basic/mkdir.c
++++ b/src/basic/mkdir.c
+@@ -14,6 +14,7 @@
+ #include "stat-util.h"
+ #include "stdio-util.h"
+ #include "user-util.h"
++#include "missing.h"
+
+ int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags, mkdir_func_t _mkdir) {
+ struct stat st;
+diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
+index 115a1494a2..07a34bfd53 100644
+--- a/src/basic/parse-util.c
++++ b/src/basic/parse-util.c
+@@ -20,6 +20,7 @@
+ #include "process-util.h"
+ #include "stat-util.h"
+ #include "string-util.h"
++#include "missing.h"
+
+ int parse_boolean(const char *v) {
+ if (!v)
+diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
+index 09169cf963..f411ba897f 100644
+--- a/src/basic/proc-cmdline.c
++++ b/src/basic/proc-cmdline.c
+@@ -15,6 +15,7 @@
+ #include "string-util.h"
+ #include "util.h"
+ #include "virt.h"
++#include "missing.h"
+
+ int proc_cmdline(char **ret) {
+ const char *e;
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index 7aaf95bfce..42ce53d5aa 100644
+--- a/src/basic/procfs-util.c
++++ b/src/basic/procfs-util.c
+@@ -11,6 +11,7 @@
+ #include "procfs-util.h"
+ #include "stdio-util.h"
+ #include "string-util.h"
++#include "missing.h"
+
+ int procfs_tasks_get_limit(uint64_t *ret) {
+ _cleanup_free_ char *value = NULL;
+diff --git a/src/basic/time-util.c b/src/basic/time-util.c
+index 3018e81acb..4e2b3b66c1 100644
+--- a/src/basic/time-util.c
++++ b/src/basic/time-util.c
+@@ -28,6 +28,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "time-util.h"
++#include "missing.h"
+
+ static clockid_t map_clock_id(clockid_t c) {
+
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 2f2313c599..c9937f9d62 100644
+--- a/src/core/dbus-cgroup.c
++++ b/src/core/dbus-cgroup.c
+@@ -15,6 +15,7 @@
+ #include "fileio.h"
+ #include "limits-util.h"
+ #include "path-util.h"
++#include "missing.h"
+
+ static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy);
+
+diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
+index 7862beaacb..19f6968cfe 100644
+--- a/src/core/dbus-util.c
++++ b/src/core/dbus-util.c
+@@ -7,6 +7,7 @@
+ #include "unit-printf.h"
+ #include "user-util.h"
+ #include "unit.h"
++#include "missing.h"
+
+ int bus_property_get_triggered_unit(
+ sd_bus *bus,
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index a91cfebc67..a45961013f 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -11,6 +11,7 @@
+ #include "kmod-setup.h"
+ #include "macro.h"
+ #include "string-util.h"
++#include "missing.h"
+
+ #if HAVE_KMOD
+ #include <libkmod.h>
+diff --git a/src/core/service.c b/src/core/service.c
+index 73b3c9c316..ef74f00a08 100644
+--- a/src/core/service.c
++++ b/src/core/service.c
+@@ -43,6 +43,7 @@
+ #include "unit.h"
+ #include "utf8.h"
+ #include "util.h"
++#include "missing.h"
+
+ static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
+ [SERVICE_DEAD] = UNIT_INACTIVE,
+diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
+index 6d6bb1cf63..6666349a35 100644
+--- a/src/journal/journalctl.c
++++ b/src/journal/journalctl.c
+@@ -70,6 +70,7 @@
+ #include "unit-name.h"
+ #include "user-util.h"
+ #include "varlink.h"
++#include "missing.h"
+
+ #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
+
+diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
+index eb029e4453..f31fe9d5a8 100644
+--- a/src/libsystemd/sd-bus/bus-message.c
++++ b/src/libsystemd/sd-bus/bus-message.c
+@@ -21,6 +21,7 @@
+ #include "strv.h"
+ #include "time-util.h"
+ #include "utf8.h"
++#include "missing.h"
+
+ static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
+
+diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
+index ae643cacc7..1b752271a5 100644
+--- a/src/libsystemd/sd-bus/bus-objects.c
++++ b/src/libsystemd/sd-bus/bus-objects.c
+@@ -13,6 +13,7 @@
+ #include "set.h"
+ #include "string-util.h"
+ #include "strv.h"
++#include "missing.h"
+
+ static int node_vtable_get_userdata(
+ sd_bus *bus,
+diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
+index 8de0a859ee..4fd0a2e692 100644
+--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
++++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
+@@ -14,6 +14,7 @@
+ #include "missing_resource.h"
+ #include "time-util.h"
+ #include "util.h"
++#include "missing.h"
+
+ #define MAX_SIZE (2*1024*1024)
+
+diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
+index f8c36c94f5..41f5606aea 100644
+--- a/src/locale/keymap-util.c
++++ b/src/locale/keymap-util.c
+@@ -22,6 +22,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "tmpfile-util.h"
++#include "missing.h"
+
+ static bool startswith_comma(const char *s, const char *prefix) {
+ s = startswith(s, prefix);
+diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
+index 3f762cbbc3..005cfea658 100644
+--- a/src/login/pam_systemd.c
++++ b/src/login/pam_systemd.c
+@@ -28,6 +28,7 @@
+ #include "hostname-util.h"
+ #include "login-util.h"
+ #include "macro.h"
++#include "missing.h"
+ #include "parse-util.h"
+ #include "path-util.h"
+ #include "process-util.h"
+diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
+index 0b5af33566..9c808cd014 100644
+--- a/src/network/generator/network-generator.c
++++ b/src/network/generator/network-generator.c
+@@ -13,6 +13,7 @@
+ #include "string-table.h"
+ #include "string-util.h"
+ #include "strv.h"
++#include "missing.h"
+
+ /*
+ # .network
+diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
+index 3a99736813..279fea4d88 100644
+--- a/src/nspawn/nspawn-settings.c
++++ b/src/nspawn/nspawn-settings.c
+@@ -16,6 +16,7 @@
+ #include "strv.h"
+ #include "user-util.h"
+ #include "util.h"
++#include "missing.h"
+
+ Settings *settings_new(void) {
+ Settings *s;
+diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
+index f62ad0a0f5..f1a27e158d 100644
+--- a/src/shared/dns-domain.c
++++ b/src/shared/dns-domain.c
+@@ -24,6 +24,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "utf8.h"
++#include "missing.h"
+
+ int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
+ const char *n;
+diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
+index 7c4fc7021d..a6ff2214df 100644
+--- a/src/shared/journal-importer.c
++++ b/src/shared/journal-importer.c
+@@ -14,6 +14,7 @@
+ #include "parse-util.h"
+ #include "string-util.h"
+ #include "unaligned.h"
++#include "missing.h"
+
+ enum {
+ IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index b615c70dff..75b26e9c21 100644
+--- a/src/shared/logs-show.c
++++ b/src/shared/logs-show.c
+@@ -39,6 +39,7 @@
+ #include "time-util.h"
+ #include "utf8.h"
+ #include "util.h"
++#include "missing.h"
+
+ /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
+ #define PRINT_LINE_THRESHOLD 3
+diff --git a/src/shared/pager.c b/src/shared/pager.c
+index 7c20b100b4..e4209d3a95 100644
+--- a/src/shared/pager.c
++++ b/src/shared/pager.c
+@@ -25,6 +25,7 @@
+ #include "strv.h"
+ #include "terminal-util.h"
+ #include "util.h"
++#include "missing.h"
+
+ static pid_t pager_pid = 0;
+
+diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c
+index 6bf0ff0316..f6c8009cd2 100644
+--- a/src/shared/path-lookup.c
++++ b/src/shared/path-lookup.c
+@@ -20,6 +20,7 @@
+ #include "tmpfile-util.h"
+ #include "user-util.h"
+ #include "util.h"
++#include "missing.h"
+
+ int xdg_user_runtime_dir(char **ret, const char *suffix) {
+ const char *e;
+diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
+index 7cb7d8a477..8b12b91084 100644
+--- a/src/shared/uid-range.c
++++ b/src/shared/uid-range.c
+@@ -9,6 +9,7 @@
+ #include "sort-util.h"
+ #include "uid-range.h"
+ #include "user-util.h"
++#include "missing.h"
+
+ static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
+ assert(range);
+diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
+index abbbc9f2d6..6179b5851e 100644
+--- a/src/socket-proxy/socket-proxyd.c
++++ b/src/socket-proxy/socket-proxyd.c
+@@ -28,6 +28,7 @@
+ #include "socket-util.h"
+ #include "string-util.h"
+ #include "util.h"
++#include "missing.h"
+
+ #define BUFFER_SIZE (256 * 1024)
+
+diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
+index 52217429b1..a05e7782f6 100644
+--- a/src/test/test-hexdecoct.c
++++ b/src/test/test-hexdecoct.c
+@@ -6,6 +6,7 @@
+ #include "hexdecoct.h"
+ #include "macro.h"
+ #include "string-util.h"
++#include "missing.h"
+
+ static void test_hexchar(void) {
+ assert_se(hexchar(0xa) == 'a');
+diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
+index e8f1ce1354..8693cb02a4 100644
+--- a/src/udev/udev-builtin-path_id.c
++++ b/src/udev/udev-builtin-path_id.c
+@@ -23,6 +23,7 @@
+ #include "strv.h"
+ #include "sysexits.h"
+ #include "udev-builtin.h"
++#include "missing.h"
+
+ _printf_(2,3)
+ static void path_prepend(char **path, const char *fmt, ...) {
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 8cfa2cdf23..b0670c77ec 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -35,6 +35,7 @@
+ #include "udev-util.h"
+ #include "udev-watch.h"
+ #include "user-util.h"
++#include "missing.h"
+
+ typedef struct Spawn {
+ sd_device *device;
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index 1642f10535..fe2aa75478 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -28,6 +28,7 @@
+ #include "udev-event.h"
+ #include "udev-rules.h"
+ #include "user-util.h"
++#include "missing.h"
+
+ #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch
new file mode 100644
index 00000000..6d73d715
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch
@@ -0,0 +1,227 @@
+Include netinet/if_ether.h
+
+Fixes
+/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
+ struct ethhdr {
+ ^~~~~~
+
+and related arphdr, arpreq, and arpreq_old errors
+/path/to/systemd/recipe-sysroot/usr/include/net/if_arp.h:22:8: error: redefinition of 'struct arphdr'
+ struct arphdr {
+ ^~~~~~
+
+The latter requires removing some includes of net/if_arp.h to avoid
+conflicting with netinet/if_ether.h.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/libsystemd-network/sd-dhcp6-client.c | 1 -
+ src/libsystemd/sd-netlink/netlink-types.c | 1 +
+ src/machine/machine-dbus.c | 1 +
+ src/network/netdev/macsec.c | 1 +
+ src/network/netdev/netdev.c | 1 +
+ src/network/networkd-brvlan.c | 1 +
+ src/network/networkd-dhcp-common.c | 1 +
+ src/network/networkd-dhcp4.c | 2 +-
+ src/network/networkd-dhcp6.c | 2 +-
+ src/network/networkd-link.c | 2 +-
+ src/network/networkd-network.c | 1 +
+ src/shared/ethtool-util.c | 1 +
+ src/shared/ethtool-util.h | 1 +
+ src/udev/net/link-config.c | 1 +
+ src/udev/udev-builtin-net_setup_link.c | 1 +
+ 15 files changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
+index d7a5349c70..68b41dfb6c 100644
+--- a/src/libsystemd-network/sd-dhcp6-client.c
++++ b/src/libsystemd-network/sd-dhcp6-client.c
+@@ -6,7 +6,6 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
+-#include <linux/if_arp.h>
+ #include <linux/if_infiniband.h>
+
+ #include "sd-dhcp6-client.h"
+diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
+index de9b8b21ab..f64f6500f7 100644
+--- a/src/libsystemd/sd-netlink/netlink-types.c
++++ b/src/libsystemd/sd-netlink/netlink-types.c
+@@ -3,6 +3,7 @@
+ #include <netinet/in.h>
+ #include <stdint.h>
+ #include <sys/socket.h>
++#include <netinet/if_ether.h>
+ #include <linux/can/vxcan.h>
+ #include <linux/netlink.h>
+ #include <linux/rtnetlink.h>
+diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
+index 0d58b5eb8b..01093c1f62 100644
+--- a/src/machine/machine-dbus.c
++++ b/src/machine/machine-dbus.c
+@@ -4,6 +4,7 @@
+ #include <string.h>
+ #include <sys/mount.h>
+ #include <sys/wait.h>
++#include <netinet/if_ether.h>
+
+ /* When we include libgen.h because we need dirname() we immediately
+ * undefine basename() since libgen.h defines it as a macro to the POSIX
+diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
+index cf281e75a6..269dc618ff 100644
+--- a/src/network/netdev/macsec.c
++++ b/src/network/netdev/macsec.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <linux/if_ether.h>
+ #include <linux/if_macsec.h>
+diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
+index 7735b455b7..ed4eda4a44 100644
+--- a/src/network/netdev/netdev.c
++++ b/src/network/netdev/netdev.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+
+diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
+index c3c5d535ac..ebea408c89 100644
+--- a/src/network/networkd-brvlan.c
++++ b/src/network/networkd-brvlan.c
+@@ -4,6 +4,7 @@
+ ***/
+
+ #include <netinet/in.h>
++#include <netinet/if_ether.h>
+ #include <linux/if_bridge.h>
+ #include <stdbool.h>
+
+diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
+index 626b975839..42fe92f320 100644
+--- a/src/network/networkd-dhcp-common.c
++++ b/src/network/networkd-dhcp-common.c
+@@ -1,6 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
+ #include "networkd-dhcp-common.h"
++#include <netinet/if_ether.h>
+ #include "networkd-network.h"
+ #include "parse-util.h"
+ #include "string-table.h"
+diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
+index 662770b50e..c6ab62a94d 100644
+--- a/src/network/networkd-dhcp4.c
++++ b/src/network/networkd-dhcp4.c
+@@ -1,8 +1,8 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
+
+ #include "alloc-util.h"
+ #include "hostname-util.h"
+diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
+index 8ad736a82b..f41b4d834e 100644
+--- a/src/network/networkd-dhcp6.c
++++ b/src/network/networkd-dhcp6.c
+@@ -3,9 +3,9 @@
+ Copyright © 2014 Intel Corporation. All rights reserved.
+ ***/
+
++#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
+ #include "sd-radv.h"
+
+ #include "sd-dhcp6-client.h"
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index f5bb78890a..f13a36b791 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -1,8 +1,8 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
+ #include <unistd.h>
+
+ #include "alloc-util.h"
+diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
+index 2b8d0eb2fb..2f79ef25cd 100644
+--- a/src/network/networkd-network.c
++++ b/src/network/networkd-network.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+ #include <linux/netdevice.h>
+diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
+index b0961df72e..53fcbbd84b 100644
+--- a/src/shared/ethtool-util.c
++++ b/src/shared/ethtool-util.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <net/if.h>
+ #include <sys/ioctl.h>
+ #include <linux/ethtool.h>
+diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
+index 8b32b243f3..262b819976 100644
+--- a/src/shared/ethtool-util.h
++++ b/src/shared/ethtool-util.h
+@@ -2,6 +2,7 @@
+ #pragma once
+
+ #include <macro.h>
++#include <netinet/if_ether.h>
+ #include <linux/ethtool.h>
+
+ #include "conf-parser.h"
+diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
+index d44af64d5e..fd052f1591 100644
+--- a/src/udev/net/link-config.c
++++ b/src/udev/net/link-config.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <linux/netdevice.h>
+ #include <netinet/ether.h>
+
+diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
+index ee3ca9fa38..9aa4e82874 100644
+--- a/src/udev/udev-builtin-net_setup_link.c
++++ b/src/udev/udev-builtin-net_setup_link.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include "device-util.h"
+ #include "alloc-util.h"
+ #include "link-config.h"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
new file mode 100644
index 00000000..34f7f5fb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
@@ -0,0 +1,153 @@
+From f8a239b182158ca0a537ba053cb0e6bad9c3a2fb Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 14:56:21 +0800
+Subject: [PATCH 07/24] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
+ defined
+
+If the standard library doesn't provide brace
+expansion users just won't get it.
+
+Dont use GNU GLOB extentions on non-glibc systems
+
+Conditionalize use of GLOB_ALTDIRFUNC
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/basic/glob-util.c | 12 ++++++++++++
+ src/test/test-glob-util.c | 16 ++++++++++++++++
+ src/tmpfiles/tmpfiles.c | 10 ++++++++++
+ 3 files changed, 38 insertions(+)
+
+diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
+index b335af8d97..2cdfc11f16 100644
+--- a/src/basic/glob-util.c
++++ b/src/basic/glob-util.c
+@@ -14,6 +14,12 @@
+ #include "path-util.h"
+ #include "strv.h"
+
++/* Don't fail if the standard library
++ * doesn't provide brace expansion */
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ static void closedir_wrapper(void* v) {
+ (void) closedir(v);
+ }
+@@ -21,6 +27,7 @@ static void closedir_wrapper(void* v) {
+ int safe_glob(const char *path, int flags, glob_t *pglob) {
+ int k;
+
++#ifdef GLOB_ALTDIRFUNC
+ /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
+ assert(!(flags & GLOB_ALTDIRFUNC));
+
+@@ -34,9 +41,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
+ pglob->gl_lstat = lstat;
+ if (!pglob->gl_stat)
+ pglob->gl_stat = stat;
++#endif
+
+ errno = 0;
++#ifdef GLOB_ALTDIRFUNC
+ k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob);
++#else
++ k = glob(path, flags, NULL, pglob);
++#endif
+ if (k == GLOB_NOMATCH)
+ return -ENOENT;
+ if (k == GLOB_NOSPACE)
+diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
+index b4f41445fe..f0d474ed14 100644
+--- a/src/test/test-glob-util.c
++++ b/src/test/test-glob-util.c
+@@ -13,6 +13,12 @@
+ #include "rm-rf.h"
+ #include "tmpfile-util.h"
+
++/* Don't fail if the standard library
++ * doesn't provide brace expansion */
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ static void test_glob_exists(void) {
+ char name[] = "/tmp/test-glob_exists.XXXXXX";
+ int fd = -1;
+@@ -40,11 +46,13 @@ static void test_glob_no_dot(void) {
+ const char *fn;
+
+ _cleanup_globfree_ glob_t g = {
++#ifdef GLOB_ALTDIRFUNC
+ .gl_closedir = closedir_wrapper,
+ .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot,
+ .gl_opendir = (void *(*)(const char *)) opendir,
+ .gl_lstat = lstat,
+ .gl_stat = stat,
++#endif
+ };
+
+ int r;
+@@ -52,11 +60,19 @@ static void test_glob_no_dot(void) {
+ assert_se(mkdtemp(template));
+
+ fn = strjoina(template, "/*");
++#ifdef GLOB_ALTDIRFUNC
+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
++#else
++ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
++#endif
+ assert_se(r == GLOB_NOMATCH);
+
+ fn = strjoina(template, "/.*");
++#ifdef GLOB_ALTDIRFUNC
+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
++#else
++ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
++#endif
+ assert_se(r == GLOB_NOMATCH);
+
+ (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 3c30612af1..14bc428085 100644
+--- a/src/tmpfiles/tmpfiles.c
++++ b/src/tmpfiles/tmpfiles.c
+@@ -63,6 +63,12 @@
+ #include "umask-util.h"
+ #include "user-util.h"
+
++/* Don't fail if the standard library
++ * doesn't provide brace expansion */
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
+ * them in the file system. This is intended to be used to create
+ * properly owned directories beneath /tmp, /var/tmp, /run, which are
+@@ -1853,7 +1859,9 @@ finish:
+
+ static int glob_item(Item *i, action_t action) {
+ _cleanup_globfree_ glob_t g = {
++#ifdef GLOB_ALTDIRFUNC
+ .gl_opendir = (void *(*)(const char *)) opendir_nomod,
++#endif
+ };
+ int r = 0, k;
+ char **fn;
+@@ -1873,7 +1881,9 @@ static int glob_item(Item *i, action_t action) {
+
+ static int glob_item_recursively(Item *i, fdaction_t action) {
+ _cleanup_globfree_ glob_t g = {
++#ifdef GLOB_ALTDIRFUNC
+ .gl_opendir = (void *(*)(const char *)) opendir_nomod,
++#endif
+ };
+ int r = 0, k;
+ char **fn;
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch
new file mode 100644
index 00000000..d5f2349f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch
@@ -0,0 +1,47 @@
+From 6cd17c753d2c0a90fc791f69bbc694cbc8556a4f Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:00:06 +0800
+Subject: [PATCH 08/24] add missing FTW_ macros for musl
+
+This is to avoid build failures like below for musl.
+
+ locale-util.c:296:24: error: 'FTW_STOP' undeclared
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_type.h | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index c487e65..23602eb 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -19,3 +19,23 @@ typedef int (*comparison_fn_t)(const void *, const void *);
+ #define __COMPAR_FN_T
+ typedef int (*__compar_fn_t)(const void *, const void *);
+ #endif
++
++#ifndef FTW_ACTIONRETVAL
++#define FTW_ACTIONRETVAL 16
++#endif
++
++#ifndef FTW_CONTINUE
++#define FTW_CONTINUE 0
++#endif
++
++#ifndef FTW_STOP
++#define FTW_STOP 1
++#endif
++
++#ifndef FTW_SKIP_SUBTREE
++#define FTW_SKIP_SUBTREE 2
++#endif
++
++#ifndef FTW_SKIP_SIBLINGS
++#define FTW_SKIP_SIBLINGS 3
++#endif
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch
new file mode 100644
index 00000000..8bacd028
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch
@@ -0,0 +1,45 @@
+From f1f4b4f9684fed185bfa8b9ed409cdf241657e99 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:03:47 +0800
+Subject: [PATCH 10/24] fix missing of __register_atfork for non-glibc builds
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/process-util.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/basic/process-util.c b/src/basic/process-util.c
+index 78ce43b..aec2daf 100644
+--- a/src/basic/process-util.c
++++ b/src/basic/process-util.c
+@@ -22,6 +22,9 @@
+ #if HAVE_VALGRIND_VALGRIND_H
+ #include <valgrind/valgrind.h>
+ #endif
++#ifndef __GLIBC__
++#include <pthread.h>
++#endif
+
+ #include "alloc-util.h"
+ #include "architecture.h"
+@@ -1160,11 +1163,15 @@ void reset_cached_pid(void) {
+ cached_pid = CACHED_PID_UNSET;
+ }
+
++#ifdef __GLIBC__
+ /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
+ * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
+ * libpthread, as it is part of glibc anyway. */
+ extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
+ extern void* __dso_handle _weak_;
++#else
++#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child)
++#endif
+
+ pid_t getpid_cached(void) {
+ static bool installed = false;
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch
new file mode 100644
index 00000000..d6eda9c0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch
@@ -0,0 +1,97 @@
+From e3f847bd0338d27aff3335b42661d8a4b66b965e Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:12:41 +0800
+Subject: [PATCH 11/24] Use uintmax_t for handling rlim_t
+
+PRIu{32,64} is not right format to represent rlim_t type
+therefore use %ju and typecast the rlim_t variables to
+uintmax_t.
+
+Fixes portablility errors like
+
+execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=]
+| fprintf(f, "%s%s: " RLIM_FMT "\n",
+| ^~~~~~~~
+| prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
+| ~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Rebased for v241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/format-util.h | 8 +-------
+ src/basic/rlimit-util.c | 10 +++++-----
+ src/core/execute.c | 4 ++--
+ 3 files changed, 8 insertions(+), 14 deletions(-)
+
+diff --git a/src/basic/format-util.h b/src/basic/format-util.h
+index dece5d3..dbb87bc 100644
+--- a/src/basic/format-util.h
++++ b/src/basic/format-util.h
+@@ -42,13 +42,7 @@
+ # define PRI_TIMEX "li"
+ #endif
+
+-#if SIZEOF_RLIM_T == 8
+-# define RLIM_FMT "%" PRIu64
+-#elif SIZEOF_RLIM_T == 4
+-# define RLIM_FMT "%" PRIu32
+-#else
+-# error Unknown rlim_t size
+-#endif
++#define RLIM_FMT "%ju"
+
+ #if SIZEOF_DEV_T == 8
+ # define DEV_FMT "%" PRIu64
+diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
+index 74b3a02..b02c03c 100644
+--- a/src/basic/rlimit-util.c
++++ b/src/basic/rlimit-util.c
+@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
+ if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
+ s = strdup("infinity");
+ else if (rl->rlim_cur >= RLIM_INFINITY)
+- (void) asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max);
++ (void) asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max);
+ else if (rl->rlim_max >= RLIM_INFINITY)
+- (void) asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur);
++ (void) asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur);
+ else if (rl->rlim_cur == rl->rlim_max)
+- (void) asprintf(&s, RLIM_FMT, rl->rlim_cur);
++ (void) asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur);
+ else
+- (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max);
++ (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max);
+
+ if (!s)
+ return -ENOMEM;
+@@ -404,7 +404,7 @@ int rlimit_nofile_safe(void) {
+
+ rl.rlim_cur = FD_SETSIZE;
+ if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
+- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur);
++ return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur);
+
+ return 1;
+ }
+diff --git a/src/core/execute.c b/src/core/execute.c
+index a708231..e2b8748 100644
+--- a/src/core/execute.c
++++ b/src/core/execute.c
+@@ -4220,9 +4220,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
+ for (i = 0; i < RLIM_NLIMITS; i++)
+ if (c->rlimit[i]) {
+ fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
+- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
++ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max);
+ fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n",
+- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur);
++ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur);
+ }
+
+ if (c->ioprio_set) {
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
new file mode 100644
index 00000000..914589db
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
@@ -0,0 +1,42 @@
+From d3d65d4036670cbd5129fe55c09ca391286ef4b3 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 28 Feb 2018 21:25:22 -0800
+Subject: [PATCH 14/24] test-sizeof.c: Disable tests for missing typedefs in
+ musl
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/test/test-sizeof.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
+index 35b0876..e78e7ca 100644
+--- a/src/test/test-sizeof.c
++++ b/src/test/test-sizeof.c
+@@ -41,8 +41,10 @@ int main(void) {
+ info(unsigned);
+ info(long unsigned);
+ info(long long unsigned);
++#ifdef __GLIBC__
+ info(__syscall_ulong_t);
+ info(__syscall_slong_t);
++#endif
+
+ info(float);
+ info(double);
+@@ -60,7 +62,9 @@ int main(void) {
+ info(ssize_t);
+ info(time_t);
+ info(usec_t);
++#ifdef __GLIBC__
+ info(__time_t);
++#endif
+ info(pid_t);
+ info(uid_t);
+ info(gid_t);
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
new file mode 100644
index 00000000..fd407f60
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -0,0 +1,99 @@
+From 48c628f532f6025c2d1646b6819cd81eb789d7fb Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 10 Oct 2017 14:33:30 -0700
+Subject: [PATCH 15/24] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
+
+Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
+thing to do and it's not portable (not supported by musl). See:
+
+ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
+ http://www.openwall.com/lists/musl/2015/02/05/2
+
+Note that laccess() is never passing AT_EACCESS so a lot of the
+discussion in the links above doesn't apply. Note also that
+(currently) all systemd callers of laccess() pass mode as F_OK, so
+only check for existence of a file, not access permissions.
+Therefore, in this case, the only distiction between faccessat()
+with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour
+for broken symlinks; laccess() on a broken symlink will succeed with
+(flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
+
+The laccess() macros was added to systemd some time ago and it's not
+clear if or why it needs to return success for broken symlinks. Maybe
+just historical and not actually necessary or desired behaviour?
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ src/basic/fs-util.h | 22 +++++++++++++++++++++-
+ src/shared/base-filesystem.c | 6 +++---
+ 2 files changed, 24 insertions(+), 4 deletions(-)
+
+diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
+index 7ad030b..d4cb1e9 100644
+--- a/src/basic/fs-util.h
++++ b/src/basic/fs-util.h
+@@ -32,7 +32,27 @@ int fchmod_opath(int fd, mode_t m);
+
+ int fd_warn_permissions(const char *path, int fd);
+
+-#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)
++/*
++ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
++ do and it's not portable (not supported by musl). See:
++
++ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
++ http://www.openwall.com/lists/musl/2015/02/05/2
++
++ Note that laccess() is never passing AT_EACCESS so a lot of the discussion in
++ the links above doesn't apply. Note also that (currently) all systemd callers
++ of laccess() pass mode as F_OK, so only check for existence of a file, not
++ access permissions. Therefore, in this case, the only distiction between
++ faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the
++ behaviour for broken symlinks; laccess() on a broken symlink will succeed
++ with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
++
++ The laccess() macros was added to systemd some time ago and it's not clear if
++ or why it needs to return success for broken symlinks. Maybe just historical
++ and not actually necessary or desired behaviour?
++*/
++
++#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), 0)
+
+ int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
+ int touch(const char *path);
+diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
+index 89d7a7d..34b4ad5 100644
+--- a/src/shared/base-filesystem.c
++++ b/src/shared/base-filesystem.c
+@@ -53,7 +53,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
+ return log_error_errno(errno, "Failed to open root file system: %m");
+
+ for (i = 0; i < ELEMENTSOF(table); i ++) {
+- if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
++ if (faccessat(fd, table[i].dir, F_OK, 0) >= 0)
+ continue;
+
+ if (table[i].target) {
+@@ -61,7 +61,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
+
+ /* check if one of the targets exists */
+ NULSTR_FOREACH(s, table[i].target) {
+- if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
++ if (faccessat(fd, s, F_OK, 0) < 0)
+ continue;
+
+ /* check if a specific file exists at the target path */
+@@ -72,7 +72,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
+ if (!p)
+ return log_oom();
+
+- if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
++ if (faccessat(fd, p, F_OK, 0) < 0)
+ continue;
+ }
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch
new file mode 100644
index 00000000..d5565698
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -0,0 +1,34 @@
+From af76c973e41929360a6e021f2ff9a7fc1d7994e9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 27 May 2018 08:36:44 -0700
+Subject: [PATCH 16/24] Define glibc compatible basename() for non-glibc
+ systems
+
+Fixes builds with musl, even though systemd is adamant about
+using non-posix basename implementation, we have a way out
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/machine/machine-dbus.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
+index 7a558df..eca7d4b 100644
+--- a/src/machine/machine-dbus.c
++++ b/src/machine/machine-dbus.c
+@@ -11,6 +11,10 @@
+ #include <libgen.h>
+ #undef basename
+
++#if !defined(__GLIBC__)
++#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
++#endif
++
+ #include "alloc-util.h"
+ #include "bus-common-errors.h"
+ #include "bus-internal.h"
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
new file mode 100644
index 00000000..24e24e8e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -0,0 +1,38 @@
+From c7a4efb8bccb52e1714c151929c23e12bde59b82 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 4 Jul 2018 15:00:44 +0800
+Subject: [PATCH 17/24] Do not disable buffering when writing to oom_score_adj
+
+On musl, disabling buffering when writing to oom_score_adj will
+cause the following error.
+
+ Failed to adjust OOM setting: Invalid argument
+
+This error appears for systemd-udevd.service and dbus.service.
+This is because kernel receives '-' instead of the whole '-900'
+if buffering is disabled.
+
+This is libc implementation specific, as glibc does not have this issue.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/basic/process-util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/basic/process-util.c b/src/basic/process-util.c
+index b1c08fcade..0a7a1f7d89 100644
+--- a/src/basic/process-util.c
++++ b/src/basic/process-util.c
+@@ -1474,7 +1474,7 @@ int set_oom_score_adjust(int value) {
+ sprintf(t, "%i", value);
+
+ return write_string_file("/proc/self/oom_score_adj", t,
+- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
++ WRITE_STRING_FILE_VERIFY_ON_FAILURE);
+ }
+
+ static const char *const ioprio_class_table[] = {
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
new file mode 100644
index 00000000..59017729
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -0,0 +1,62 @@
+From fffb2810611b4a26f5c6c0958093b5b3b7d4cd99 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 10 Jul 2018 15:40:17 +0800
+Subject: [PATCH 18/24] distinguish XSI-compliant strerror_r from GNU-specifi
+ strerror_r
+
+XSI-compliant strerror_r and GNU-specifi strerror_r are different.
+
+ int strerror_r(int errnum, char *buf, size_t buflen);
+ /* XSI-compliant */
+
+ char *strerror_r(int errnum, char *buf, size_t buflen);
+ /* GNU-specific */
+
+We need to distinguish between them. Otherwise, we'll get an int value
+assigned to (char *) variable, resulting in segment fault.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/journal/journal-send.c | 5 +++++
+ src/libsystemd/sd-bus/bus-error.c | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
+index 3fea912..4f1e592 100644
+--- a/src/journal/journal-send.c
++++ b/src/journal/journal-send.c
+@@ -337,7 +337,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
+ char* j;
+
+ errno = 0;
++#ifndef __GLIBC__
++ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++ j = buffer + 8 + k;
++#else
+ j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++#endif
+ if (errno == 0) {
+ char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
+
+diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
+index dc95237..bdda30f 100644
+--- a/src/libsystemd/sd-bus/bus-error.c
++++ b/src/libsystemd/sd-bus/bus-error.c
+@@ -379,7 +379,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
+ return;
+
+ errno = 0;
++#ifndef __GLIBC__
++ strerror_r(error, m, k);
++ x = m;
++#else
+ x = strerror_r(error, m, k);
++#endif
+ if (errno == ERANGE || strlen(x) >= k - 1) {
+ free(m);
+ k *= 2;
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
new file mode 100644
index 00000000..35cc66ff
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
@@ -0,0 +1,35 @@
+From 969ab9e68249fd383f4b513b1c9306bdac4ae9b2 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:18:00 +0800
+Subject: [PATCH 19/24] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
+
+for currently unknown reasons they get exported to the shared libries
+even without being listed in the sym file
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Rebased for v241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/libsystemd/sd-bus/bus-error.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
+index bdda30f..e21853c 100644
+--- a/src/libsystemd/sd-bus/bus-error.c
++++ b/src/libsystemd/sd-bus/bus-error.c
+@@ -54,8 +54,8 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = {
+ };
+
+ /* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section */
+-extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[];
+-extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[];
++extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[] _hidden_;
++extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[] _hidden_;
+
+ /* Additional maps registered with sd_bus_error_add_map() are in this
+ * NULL terminated array */
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch
new file mode 100644
index 00000000..753d5116
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch
@@ -0,0 +1,30 @@
+From 75c06e3e2a4760b36fffd95cdf5535b8ad73c481 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:27:54 +0800
+Subject: [PATCH 20/24] missing_type.h: add __compar_d_fn_t definition
+
+Fix the following compile failure:
+src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_type.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index 7d7c1e4..85902ab 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -13,6 +13,7 @@
+
+ #ifndef __GLIBC__
+ typedef int (*comparison_fn_t)(const void *, const void *);
++typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
+ #endif
+
+ #ifndef __COMPAR_FN_T
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
new file mode 100644
index 00000000..cdddf838
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -0,0 +1,32 @@
+From 3fbf61d54b82fc9bf21d8039bfd89dc9efc5bbcd Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:44:54 +0800
+Subject: [PATCH 21/24] avoid redefinition of prctl_mm_map structure
+
+Fix the following compile failure:
+error: redefinition of 'struct prctl_mm_map'
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_prctl.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h
+index f80cd17..47e4893 100644
+--- a/src/basic/missing_prctl.h
++++ b/src/basic/missing_prctl.h
+@@ -1,7 +1,9 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+ #pragma once
+
++#ifdef __GLIBC__
+ #include <linux/prctl.h>
++#endif
+
+ /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
+ #ifndef PR_CAP_AMBIENT
+--
+2.11.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch
new file mode 100644
index 00000000..0e5629d3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch
@@ -0,0 +1,33 @@
+From 902412c271e0c5d9cb93b10ec0fb5b119b393474 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 16:53:06 +0800
+Subject: [PATCH 24/24] test-json.c: define M_PIl
+
+Fix the following compile failure:
+src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/test/test-json.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/test/test-json.c b/src/test/test-json.c
+index 9b8a2a9..efc746c 100644
+--- a/src/test/test-json.c
++++ b/src/test/test-json.c
+@@ -11,6 +11,10 @@
+ #include "tests.h"
+ #include "util.h"
+
++#ifndef M_PIl
++#define M_PIl 3.141592653589793238462643383279502884L
++#endif
++
+ static void test_tokenizer(const char *data, ...) {
+ unsigned line = 0, column = 0;
+ void *state = NULL;
+--
+2.11.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch
new file mode 100644
index 00000000..eb018bbc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch
@@ -0,0 +1,11 @@
+Index: git/src/libsystemd/libsystemd.pc.in
+===================================================================
+--- git.orig/src/libsystemd/libsystemd.pc.in
++++ git/src/libsystemd/libsystemd.pc.in
+@@ -16,5 +16,5 @@ Name: systemd
+ Description: systemd Library
+ URL: @PROJECT_URL@
+ Version: @PROJECT_VERSION@
+-Libs: -L${libdir} -lsystemd
++Libs: -L${libdir} -lsystemd -lrt -lmount -lcap
+ Cflags: -I${includedir}
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb
new file mode 100644
index 00000000..c8e81a41
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb
@@ -0,0 +1,69 @@
+SUMMARY = "libsystemd static library"
+DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++"
+
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
+
+inherit meson pkgconfig
+
+DEPENDS += "gperf-native gettext-native util-linux libcap"
+
+SRCREV = "efb536d0cbe2e58f80e501d19999928c75e08f6a"
+SRCBRANCH = "v243-stable"
+SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}"
+
+SRC_URI += "file://static-libsystemd-pkgconfig.patch"
+
+# patches needed by musl
+SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}"
+SRC_URI_MUSL = "\
+ file://0002-don-t-use-glibc-specific-qsort_r.patch \
+ file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
+ file://0004-add-fallback-parse_printf_format-implementation.patch \
+ file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \
+ file://0006-Include-netinet-if_ether.h.patch \
+ file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch \
+ file://0008-add-missing-FTW_-macros-for-musl.patch \
+ file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
+ file://0011-Use-uintmax_t-for-handling-rlim_t.patch \
+ file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
+ file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
+ file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
+ file://0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
+ file://0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
+ file://0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
+ file://0020-missing_type.h-add-__compar_d_fn_t-definition.patch \
+ file://0021-avoid-redefinition-of-prctl_mm_map-structure.patch \
+ file://0024-test-json.c-define-M_PIl.patch \
+ file://0001-do-not-disable-buffer-in-writing-files.patch \
+ file://0002-src-login-brightness.c-include-sys-wait.h.patch \
+ file://0003-src-basic-copy.c-include-signal.h.patch \
+ file://0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch \
+ "
+
+PACKAGECONFIG ??= "gshadow idn"
+PACKAGECONFIG_remove_libc-musl = " gshadow idn"
+PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
+PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
+
+EXTRA_OEMESON += "-Dstatic-libsystemd=pic"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ ninja -v ${PARALLEL_MAKE} version.h
+ ninja -v ${PARALLEL_MAKE} libsystemd.a
+}
+
+do_install () {
+ install -d ${D}${libdir}
+ install ${B}/libsystemd.a ${D}${libdir}
+
+ install -d ${D}${includedir}/systemd
+ install ${S}/src/systemd/*.h ${D}${includedir}/systemd
+
+ install -d ${D}${libdir}/pkgconfig
+ install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.1.bb b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.1.bb
new file mode 100644
index 00000000..9eaec0f2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "sdbus-c++ native tools"
+DESCRIPTION = "Native interface code generator for development with sdbus-c++"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+inherit cmake
+
+DEPENDS += "expat"
+
+SRCREV = "3a4f343fb924650e7639660efa5f143961162044"
+SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools"
+
+S = "${WORKDIR}/tools"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb
new file mode 100644
index 00000000..c4d63fd2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "sdbus-c++"
+DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++"
+
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+inherit cmake pkgconfig systemd ptest
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
+PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap"
+PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
+PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF"
+
+DEPENDS += "expat"
+
+SRCREV = "3a4f343fb924650e7639660efa5f143961162044"
+SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master"
+SRC_URI += "file://run-ptest"
+
+EXTRA_OECMAKE = "-DBUILD_CODE_GEN=ON \
+ -DBUILD_DOC=ON \
+ -DBUILD_DOXYGEN_DOC=OFF"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN}_remove = "${sysconfdir}"
+FILES_${PN}-ptest += "${sysconfdir}/dbus-1/system.d/"
+FILES_${PN}-ptest += "${libdir}/${BPN}/tests"
+FILES_${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
diff --git a/external/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb b/external/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
index 1ea868f6..069f0471 100644
--- a/external/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
@@ -5,6 +5,8 @@ DEPENDS = "attr virtual/crypt"
LICENSE = "BSD-0-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
+inherit cml1 update-alternatives
+
SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
file://OE-path-changes.patch \
"
@@ -48,8 +50,6 @@ do_install() {
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"
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.14.0.bb b/external/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.14.0.bb
new file mode 100644
index 00000000..42e89f63
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.14.0.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Crypto and TLS for C++11"
+HOMEPAGE = "https://botan.randombit.net"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://license.txt;md5=a02e03c8fa2c5e7b9b3fcc1b9811fd3b"
+SECTION = "libs"
+
+SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
+SRC_URI[md5sum] = "ebc68c08b99bbc4b4fc9bdbfad398b02"
+SRC_URI[sha256sum] = "0c10f12b424a40ee19bde00292098e201d7498535c062d8d5b586d07861a54b5"
+
+S = "${WORKDIR}/Botan-${PV}"
+
+inherit python3native siteinfo lib_package
+
+CPU ?= "${TARGET_ARCH}"
+CPU_x86 = "x86_32"
+CPU_armv7a = "armv7"
+CPU_armv7ve = "armv7"
+
+do_configure() {
+ python3 ${S}/configure.py \
+ --prefix="${D}${exec_prefix}" \
+ --libdir="${D}${libdir}" \
+ --cpu="${CPU}" \
+ --cc-bin="${CXX}" \
+ --cxxflags="${CXXFLAGS}" \
+ --ldflags="${LDFLAGS}" \
+ --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+ ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \
+ --with-sysroot-dir=${STAGING_DIR_HOST} \
+ --with-build-dir="${B}" \
+ --optimize-for-size \
+ --with-stack-protector \
+ --enable-shared-library \
+ --with-python-versions=3 \
+ ${EXTRA_OECONF}
+}
+
+do_compile() {
+ oe_runmake
+}
+do_install() {
+ oe_runmake install
+ sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc
+}
+
+PACKAGES += "${PN}-python3"
+
+FILES_${PN}-python3 = "${libdir}/python3"
+
+RDEPENDS_${PN}-python3 += "python3"
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.7.0.bb b/external/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.7.0.bb
deleted file mode 100644
index 92853d00..00000000
--- a/external/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.7.0.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "Crypto and TLS for C++11"
-HOMEPAGE = "https://botan.randombit.net"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://license.txt;md5=bf361fc63df3fa25652ee82c43b7601a"
-SECTION = "libs"
-
-
-#v2.7.0
-SRCREV = "5874000d42c338ec95a7ff24cdc0c64e70f967b5"
-SRC_URI = "git://github.com/randombit/botan.git"
-
-S = "${WORKDIR}/git"
-
-inherit python3native siteinfo lib_package
-
-CPU ?= "${TARGET_ARCH}"
-CPU_x86 = "x86_32"
-CPU_armv7a = "armv7"
-CPU_armv7ve = "armv7"
-
-do_configure() {
- python3 ${S}/configure.py \
- --prefix="${D}${prefix}" \
- --cpu="${CPU}" \
- --cc-bin="${CXX}" \
- --cxxflags="${CXXFLAGS}" \
- --ldflags="${LDFLAGS}" \
- --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
- ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \
- --with-sysroot-dir=${STAGING_DIR_TARGET} \
- --with-build-dir="${B}" \
- --optimize-for-size \
- --with-stack-protector \
- --enable-shared-library \
- --with-python-versions=3 \
- ${EXTRA_OECONF}
-}
-
-do_compile() {
- oe_runmake
-}
-do_install() {
- oe_runmake install
- sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc
-}
-
-PACKAGES += "${PN}-python3"
-
-FILES_${PN}-python3 = "${libdir}/python3"
-
-RDEPENDS_${PN}-python3 += "python3"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.0.4.bb b/external/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.0.4.bb
deleted file mode 100644
index cc7bc6e0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.0.4.bb
+++ /dev/null
@@ -1,38 +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 = "https://gitlab.com/cryptsetup/cryptsetup"
-SECTION = "console"
-LICENSE = "GPL-2.0-with-OpenSSL-exception"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
-
-DEPENDS = "util-linux libdevmapper popt libgcrypt json-c"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v2.0/${BP}.tar.xz"
-SRC_URI[md5sum] = "ed42b31f67d05b05e392d1943d467b8d"
-SRC_URI[sha256sum] = "9d3a3c7033293e0c97f0ad0501fd5b4d4913ae497cbf70cca06633ccc54b5734"
-
-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"
-
-FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.2.bb b/external/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.2.bb
new file mode 100644
index 00000000..b9668eb0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.2.bb
@@ -0,0 +1,92 @@
+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 = "https://gitlab.com/cryptsetup/cryptsetup"
+SECTION = "console"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
+
+DEPENDS = " \
+ json-c \
+ libdevmapper \
+ popt \
+ util-linux \
+"
+
+RDEPENDS_${PN} = " \
+ libdevmapper \
+"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
+SRC_URI[md5sum] = "6e4ffb6d35a73f7539a5d0c1354654cd"
+SRC_URI[sha256sum] = "a89e13dff0798fd0280e801d5f0cc8cfdb2aa5b1929bec1b7322e13d3eca95fb"
+
+inherit autotools gettext pkgconfig
+
+# Use openssl because libgcrypt drops root privileges
+# if libgcrypt is linked with libcap support
+PACKAGECONFIG ??= " \
+ keyring \
+ cryptsetup \
+ veritysetup \
+ cryptsetup-reencrypt \
+ integritysetup \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
+ kernel_crypto \
+ internal-argon2 \
+ blkid \
+ luks-adjust-xts-keysize \
+ openssl \
+"
+PACKAGECONFIG_append_class-target = " \
+ udev \
+"
+
+PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring"
+PACKAGECONFIG[fips] = "--enable-fips,--disable-fips"
+PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality"
+PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc"
+PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup"
+PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup"
+PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt"
+PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,udev"
+PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto"
+# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't
+# recognized.
+PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2"
+PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2"
+PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2"
+PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
+PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random"
+PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize"
+PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
+PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
+PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss"
+PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel"
+PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle"
+PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1"
+
+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"
+# Building without largefile is not supported by upstream
+EXTRA_OECONF += "--enable-largefile"
+# Requires a static popt library
+EXTRA_OECONF += "--disable-static-cryptsetup"
+# There's no recipe for libargon2 yet
+EXTRA_OECONF += "--disable-libargon2"
+
+FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch b/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch
new file mode 100644
index 00000000..e713665a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch
@@ -0,0 +1,39 @@
+From 7b5dd67fee58f9f54c8a676abe2131776c0a3c52 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 20 Nov 2019 13:41:39 -0800
+Subject: [PATCH] Use __builtin_bswap32 on Clang if supported
+
+clang pretends to be gcc 4.2.1 so GCC_VERSION macro will decide that
+__builtin_bswap32 is not supported on clang, whereas in reality it might
+so its better to add a check for enquiring clang if it supports
+__builtin_bswap32 or not
+
+Upstream-Status: Submitted [https://github.com/smuellerDD/libkcapi/pull/83]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/kcapi-kdf.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c
+index 9e53a0b..f32fbe9 100644
+--- a/lib/kcapi-kdf.c
++++ b/lib/kcapi-kdf.c
+@@ -54,10 +54,14 @@
+ #include "kcapi.h"
+ #include "internal.h"
+
++#ifndef __has_builtin
++# define __has_builtin(x) 0
++#endif
++
+ #define GCC_VERSION (__GNUC__ * 10000 \
+ + __GNUC_MINOR__ * 100 \
+ + __GNUC_PATCHLEVEL__)
+-#if GCC_VERSION >= 40400
++#if GCC_VERSION >= 40400 || (defined(__clang__) && __has_builtin(__builtin_bswap32))
+ # define __HAVE_BUILTIN_BSWAP32__
+ #endif
+
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch b/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch
new file mode 100644
index 00000000..7ed9caf0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch
@@ -0,0 +1,73 @@
+From 8f961521add49278b48c9721fc53e05ee3543b74 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Nov 2019 23:03:51 -0800
+Subject: [PATCH] kcapi-kdf: Move code to fix
+
+Fixes clang build
+unused function '_bswap32' [-Werror,-Wunused-function]
+
+Upstream-Status: Submitted [https://github.com/smuellerDD/libkcapi/pull/83]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/kcapi-kdf.c | 37 +++++++++++++++++--------------------
+ 1 file changed, 17 insertions(+), 20 deletions(-)
+
+diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c
+index ea39846..9e53a0b 100644
+--- a/lib/kcapi-kdf.c
++++ b/lib/kcapi-kdf.c
+@@ -54,6 +54,20 @@
+ #include "kcapi.h"
+ #include "internal.h"
+
++#define GCC_VERSION (__GNUC__ * 10000 \
++ + __GNUC_MINOR__ * 100 \
++ + __GNUC_PATCHLEVEL__)
++#if GCC_VERSION >= 40400
++# define __HAVE_BUILTIN_BSWAP32__
++#endif
++
++/* Endian dependent byte swap operations. */
++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++# define be_bswap32(x) ((uint32_t)(x))
++#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
++# ifdef __HAVE_BUILTIN_BSWAP32__
++# define be_bswap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x))
++# else
+ static inline uint32_t rol32(uint32_t x, int n)
+ {
+ return ( (x << (n&(32-1))) | (x >> ((32-n)&(32-1))) );
+@@ -68,27 +82,10 @@ static inline uint32_t _bswap32(uint32_t x)
+ {
+ return ((rol32(x, 8) & 0x00ff00ffL) | (ror32(x, 8) & 0xff00ff00L));
+ }
+-
+-#define GCC_VERSION (__GNUC__ * 10000 \
+- + __GNUC_MINOR__ * 100 \
+- + __GNUC_PATCHLEVEL__)
+-#if GCC_VERSION >= 40400
+-# define __HAVE_BUILTIN_BSWAP32__
+-#endif
+-
+-#ifdef __HAVE_BUILTIN_BSWAP32__
+-# define _swap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x))
+-#else
+-# define _swap32(x) _bswap32(x)
+-#endif
+-
+-/* Endian dependent byte swap operations. */
+-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+-# define be_bswap32(x) ((uint32_t)(x))
+-#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+-# define be_bswap32(x) _swap32(x)
++# define be_bswap32(x) _bswap32(x)
++# endif
+ #else
+-#error "Endianess not defined"
++# error "endianess not defined"
+ #endif
+
+ DSO_PUBLIC
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb b/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
index a93ddc82..4e217a35 100644
--- a/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
@@ -1,28 +1,33 @@
SUMMARY = "Linux Kernel Crypto API User Space Interface Library"
HOMEPAGE = "http://www.chronox.de/libkcapi.html"
LICENSE = "BSD | GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d0421cf231423bda10cea691b613e866"
+LIC_FILES_CHKSUM = "file://COPYING;md5=14d5a68b28755c04ebdba226e888b157"
DEPENDS = "libtool"
S = "${WORKDIR}/git"
-# Use v1.1.3 with changes on top for building in OE
-SRCREV = "1c736c43eb71fbb5640d00efaf34a1edf1972c49"
-PV = "1.1.3+git${SRCPV}"
+SRCREV = "5649050d201856bf06c8738b5d2aa1710c86ac2f"
+PV = "1.1.5"
SRC_URI = " \
git://github.com/smuellerDD/libkcapi.git \
+ file://0001-kcapi-kdf-Move-code-to-fix.patch \
+ file://0001-Use-__builtin_bswap32-on-Clang-if-supported.patch \
"
inherit autotools
PACKAGECONFIG ??= ""
-PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,"
+PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash"
PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,,"
do_install_append() {
# bindir contains testapp and apps. However it is always created, even
# when no binaries are installed (empty bin_PROGRAMS in Makefile.am),
rmdir --ignore-fail-on-non-empty ${D}${bindir}
+
+ # Remove the generated binary checksum files
+ rm -f ${D}${bindir}/.*.hmac
+ rm -f ${D}${libdir}/.*.hmac
}
CPPFLAGS_append_libc-musl_toolchain-clang = " -Wno-error=sign-compare"
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.16.bb b/external/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.16.bb
deleted file mode 100644
index 57f38fec..00000000
--- a/external/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.16.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "The Sodium crypto library"
-HOMEPAGE = "http://libsodium.org/"
-BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7f5ecba1fa793fc1f3c8f32d6cb5a37b"
-
-SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "37b18839e57e7a62834231395c8e962b"
-SRC_URI[sha256sum] = "eeadc7e1e1bcef09680fb4837d448fbdf57224978f865ac1c16745868fbd0533"
-
-inherit autotools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb b/external/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb
new file mode 100644
index 00000000..53b3ddc2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb
@@ -0,0 +1,13 @@
+SUMMARY = "The Sodium crypto library"
+HOMEPAGE = "http://libsodium.org/"
+BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=47203c753972e855179dfffe15188bee"
+
+SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "3ca9ebc13b6b4735acae0a6a4c4f9a95"
+SRC_URI[sha256sum] = "6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1"
+
+inherit autotools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.25.1.bb b/external/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.25.1.bb
deleted file mode 100644
index 271f2eaa..00000000
--- a/external/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.25.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "A library for using PKCS"
-DESCRIPTION = "pkcs11-helper is a library that simplifies the interaction with PKCS \
-providers for end-user applications using a simple API and optional OpenSSL \
-engine. The library allows using multiple PKCS enumerating available token \
-certificates, or selecting a certificate directly by serialized id, handling \
-card removal and card insert events, handling card ie-insert to a different \
-slot, supporting session expiration and much more all using a simple API."
-
-HOMEPAGE = "http://www.opensc-project.org/pkcs11-helper/"
-SECTION = "Development/Libraries"
-
-LICENSE = "GPLv2 & BSD"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=30f10d22cfb1ba98ccd714a41ad3311a \
- file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \
- file://COPYING.BSD;md5=66b7a37c3c10483c1fd86007726104d7 \
-"
-SRC_URI = "git://github.com/OpenSC/${BPN}.git"
-
-S = "${WORKDIR}/git"
-# v1.25.1
-SRCREV = "2713cb09dcd90104cb7bceb5f14cd6f90834f7b1"
-
-DEPENDS = "zlib nettle gnutls gmp openssl nss nspr"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-static"
diff --git a/external/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.26.bb b/external/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.26.bb
new file mode 100644
index 00000000..9b6e7ccb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.26.bb
@@ -0,0 +1,30 @@
+SUMMARY = "A library for using PKCS"
+DESCRIPTION = "pkcs11-helper is a library that simplifies the interaction with PKCS \
+providers for end-user applications using a simple API and optional OpenSSL \
+engine. The library allows using multiple PKCS enumerating available token \
+certificates, or selecting a certificate directly by serialized id, handling \
+card removal and card insert events, handling card ie-insert to a different \
+slot, supporting session expiration and much more all using a simple API."
+
+HOMEPAGE = "http://www.opensc-project.org/pkcs11-helper/"
+SECTION = "Development/Libraries"
+
+LICENSE = "GPLv2 & BSD"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=30f10d22cfb1ba98ccd714a41ad3311a \
+ file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \
+ file://COPYING.BSD;md5=66b7a37c3c10483c1fd86007726104d7 \
+"
+SRC_URI = "git://github.com/OpenSC/${BPN}.git"
+
+S = "${WORKDIR}/git"
+# v1.26
+SRCREV = "c7a0cfa08ddc75d963a835d3588170af0e5f1115"
+
+UPSTREAM_CHECK_GITTAGREGEX = "pkcs11-helper-(?P<pver>\d+(\.\d+)+)"
+
+DEPENDS = "zlib nettle gnutls gmp openssl nss nspr"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-static"
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch b/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch
deleted file mode 100644
index 3135d4d5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c85978e77725ef233543370d24e23f853f449170 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 21 Sep 2017 17:47:02 -0700
-Subject: [PATCH] Makefile: Fix parallel build
-
-Sometimes mkdir $(SHARED_OUTDIR)/db races with compiler which is
-creating .o file in the same directory $(SHARED_OUTDIR)/db/db_bench.o
-
-Fixes error like
-
-| mkdir out-static
-| mkdir out-shared/db
-| Assembler messages:
-| Fatal error: can't create out-shared/db/db_bench.o: No such file or directory
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index f7cc7d7..51a0bcd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -386,6 +386,7 @@ $(STATIC_OUTDIR)/write_batch_test:db/write_batch_test.cc $(STATIC_LIBOBJECTS) $(
- $(STATIC_OUTDIR)/memenv_test:$(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS)
- $(XCRUN) $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) -o $@ $(LIBS)
-
-+$(SHARED_OUTDIR)/db/db_bench.o: | $(SHARED_OUTDIR)/db
- $(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL)
- $(XCRUN) $(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SHARED_OUTDIR)/db/db_bench.o $(TESTUTIL) $(SHARED_OUTDIR)/$(SHARED_LIB3) -o $@ $(LIBS)
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch b/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
deleted file mode 100644
index 8f93cb32..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 5fd0918df2bb30e8f3edb2ee895d178edbf26f40 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 4 Sep 2017 22:38:03 -0700
-Subject: [PATCH 1/2] build_detect_platform: Check for __SSE4_2__
-
-just using -msse4.2 is not enough, especially with clang
-where it may accept -msse4.2 even during cross compiling
-for say arm, however the difference is that builtin defines
-wont be defined.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- build_detect_platform | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: git/build_detect_platform
-===================================================================
---- git.orig/build_detect_platform
-+++ git/build_detect_platform
-@@ -224,13 +224,13 @@ EOF
- rm -f $CXXOUTPUT 2>/dev/null
-
- # Test if gcc SSE 4.2 is supported
-- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -msse4.2 2>/dev/null <<EOF
-+ $CXX $CXXFLAGS -Werror -x c++ - -o $CXXOUTPUT -msse4.2 -dD -E 2>/dev/null <<EOF
- int main() {}
- EOF
-+ eval fgrep __SSE4_2__ $CXXOUTPUT >/dev/null 2>&1
- if [ "$?" = 0 ]; then
- PLATFORM_SSEFLAGS="-msse4.2"
- fi
--
- rm -f $CXXOUTPUT 2>/dev/null
- fi
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch b/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch
deleted file mode 100644
index fc708b23..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 1ed8cec1fcf666904bb3ebd29fc85e235b72d122 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 4 Sep 2017 22:40:49 -0700
-Subject: [PATCH 2/2] makefile: build SHARED_MEMENVLIB
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- Makefile | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index f7cc7d7..cb42278 100644
---- a/Makefile
-+++ b/Makefile
-@@ -126,12 +126,12 @@ SHARED_VERSION_MINOR = 20
- SHARED_LIB1 = libleveldb.$(PLATFORM_SHARED_EXT)
- SHARED_LIB2 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR)
- SHARED_LIB3 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR)
--SHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3)
-+SHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3) $(SHARED_MEMENVLIB)
- $(SHARED_OUTDIR)/$(SHARED_LIB1): $(SHARED_OUTDIR)/$(SHARED_LIB3)
- ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB1)
- $(SHARED_OUTDIR)/$(SHARED_LIB2): $(SHARED_OUTDIR)/$(SHARED_LIB3)
- ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB2)
--SHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.a
-+SHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.$(PLATFORM_SHARED_EXT).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR)
- endif
-
- $(SHARED_OUTDIR)/$(SHARED_LIB3): $(SHARED_LIBOBJECTS)
-@@ -294,7 +294,7 @@ endif
-
- $(SHARED_MEMENVLIB):$(SHARED_MEMENVOBJECTS)
- rm -f $@
-- $(AR) -rs $@ $(SHARED_MEMENVOBJECTS)
-+ $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(basename $(notdir $(SHARED_MEMENVLIB))) $(SHARED_MEMENVOBJECTS) -o $(SHARED_MEMENVLIB) $(LIBS)
-
- $(STATIC_OUTDIR)/db_bench:db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL)
- $(CXX) $(LDFLAGS) $(CXXFLAGS) db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS)
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/run-ptest b/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/run-ptest
new file mode 100644
index 00000000..9ae70c12
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+for test in *_test; do
+ if ./${test}; then
+ echo "PASS: ${test}"
+ else
+ echo "FAIL: ${test}"
+ fi
+done
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb b/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
new file mode 100644
index 00000000..b597ef1e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
@@ -0,0 +1,33 @@
+SUMMARY = "LevelDB is a fast key-value storage library"
+DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values"
+HOMEPAGE = "https://github.com/google/leveldb"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
+
+SRC_URI = "git://github.com/google/${BPN}.git \
+ file://run-ptest"
+
+SRCREV = "78b39d68c15ba020c0d60a3906fb66dbf1697595"
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[benchmarks] = "-DLEVELDB_BUILD_BENCHMARKS=ON,-DLEVELDB_BUILD_BENCHMARKS=OFF,sqlite"
+PACKAGECONFIG[snappy] = ",,snappy"
+PACKAGECONFIG[tcmalloc] = ",,gperftools"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON \
+ -DLEVELDB_BUILD_TESTS=${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ON', 'OFF', d)}"
+
+do_install_append() {
+ install -D -m 0755 ${B}/leveldbutil ${D}${bindir}/leveldbutil
+}
+
+do_install_ptest() {
+ install -m 0755 ${B}/*_test ${D}${PTEST_PATH}
+}
+
+# Do not try to build lib32-leveldb for mips64, but allow libn32-leveldb.
+#
+COMPATIBLE_HOST_mipsarcho32_pn-lib32-leveldb = "null"
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb b/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb
deleted file mode 100644
index 8fec89c6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "LevelDB is a fast key-value storage library"
-DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values"
-HOMEPAGE = "http://leveldb.googlecode.com"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
-
-SRCREV = "a53934a3ae1244679f812d998a4f16f2c7f309a6"
-PV = "1.20+git${SRCPV}"
-
-SRC_URI = "git://github.com/google/${BPN}.git \
- file://0001-build_detect_platform-Check-for-__SSE4_2__.patch \
- file://0002-makefile-build-SHARED_MEMENVLIB.patch \
- file://0001-Makefile-Fix-parallel-build.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit utils
-
-do_compile() {
- # do not use oe_runmake. oe_runmake pass to make compilation arguments and override
- # leveldb makefile variable CFLAGS and broke leveldb build.
- CFLAGS="${CFLAGS}" make ${PARALLEL_MAKE}|| die
-}
-
-do_install() {
- install -d ${D}${libdir} ${D}${bindir} ${D}${includedir}/leveldb
- oe_libinstall -C ${B}/out-shared libleveldb ${D}${libdir}
- oe_libinstall -C ${S}/out-static libleveldb ${D}${libdir}
- oe_libinstall -C ${S}/out-static libmemenv ${D}${libdir}
- install -m 0755 ${B}/out-shared/db_bench ${D}${bindir}
- install -m 0755 ${B}/out-static/*_test ${D}${bindir}
- install -m 644 ${S}/include/leveldb/*.h ${D}${includedir}/leveldb/
-}
-
-PACKAGES =+ "${PN}-ptest"
-FILES_${PN}-ptest = "${bindir}"
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
deleted file mode 100644
index 4d7ac3aa..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From fbfceebce2121831904f2f7115252dd03b413a6d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 19 Sep 2017 18:52:53 -0700
-Subject: [PATCH] IntelRDFPMathLib20U1: Check for __DEFINED_wchar_t
-
-This is defined by musl if wchar_t is already defined
-
-avoids errors like
-
-src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h:46:15: error: typedef redefinition with different types
- ('int' vs 'unsigned int')
-typedef int wchar_t;
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: git/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
-===================================================================
---- git.orig/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
-+++ git/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
-@@ -43,7 +43,7 @@
-
- #if 0 // MongoDB Modification -- just `#include <stddef.h>`
- // Fix system header issue on Sun solaris and define required type by ourselves
--#if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED) && !defined(__QNX__)
-+#if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED) && !defined(__QNX__) && !defined(__DEFINED_wchar_t)
- typedef int wchar_t;
- #endif
- #else
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
deleted file mode 100644
index a6d721ac..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 53368d3f4adc09dd84234a9af31771bcd8ca2757 Mon Sep 17 00:00:00 2001
-From: Sven Ebenfeld <sven.ebenfeld@gmail.com>
-Date: Fri, 15 Jan 2016 22:41:28 +0100
-Subject: [PATCH] Tell scons to use build settings from environment variables
-
-Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
----
- SConstruct | 8 ++++++--
- src/mongo/util/SConscript | 2 ++
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-Index: git/SConstruct
-===================================================================
---- git.orig/SConstruct
-+++ git/SConstruct
-@@ -564,6 +564,7 @@ def variable_arch_converter(val):
- 'amd64': 'x86_64',
- 'emt64': 'x86_64',
- 'x86': 'i386',
-+ 'aarch64': 'arm64',
- }
- val = val.lower()
-
-@@ -652,7 +653,8 @@ env_vars.Add(
- )
-
- env_vars.Add('CC',
-- help='Select the C compiler to use')
-+ help='Select the C compiler to use',
-+ default=os.getenv('CC'))
-
- env_vars.Add('CCFLAGS',
- help='Sets flags for the C and C++ compiler',
-@@ -672,7 +674,8 @@ env_vars.Add('CPPPATH',
- converter=variable_shlex_converter)
-
- env_vars.Add('CXX',
-- help='Select the C++ compiler to use')
-+ help='Select the C++ compiler to use',
-+ default=os.getenv('CXX'))
-
- env_vars.Add('CXXFLAGS',
- help='Sets flags for the C++ compiler',
-@@ -961,6 +964,7 @@ envDict = dict(BUILD_ROOT=buildDir,
- )
-
- env = Environment(variables=env_vars, **envDict)
-+env.PrependENVPath('PATH', os.getenv('PATH'))
- del envDict
-
- env.AddMethod(mongo_platform.env_os_is_wrapper, 'TargetOSIs')
-Index: git/src/mongo/util/SConscript
-===================================================================
---- git.orig/src/mongo/util/SConscript
-+++ git/src/mongo/util/SConscript
-@@ -329,6 +329,8 @@ if env['MONGO_ALLOCATOR'] == 'tcmalloc':
- 'MONGO_HAVE_GPERFTOOLS_SIZE_CLASS_STATS'
- ]
- )
-+ if not use_system_version_of_library('valgrind'):
-+ tcmspEnv.InjectThirdPartyIncludePaths('valgrind')
-
- if not use_system_version_of_library('valgrind'):
- # Include valgrind since tcmalloc disables itself while running under valgrind
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
deleted file mode 100644
index c17ebf1e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 3eed8388b49d5d3cbc2db74fee1b017eb4b40d0a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Sep 2017 10:06:24 -0700
-Subject: [PATCH] Use __GLIBC__ to control use of gnu_get_libc_version
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
- src/mongo/util/processinfo_linux.cpp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-Index: git/src/mongo/util/processinfo_linux.cpp
-===================================================================
---- git.orig/src/mongo/util/processinfo_linux.cpp
-+++ git/src/mongo/util/processinfo_linux.cpp
-@@ -44,10 +44,10 @@
- #include <unistd.h>
- #ifdef __BIONIC__
- #include <android/api-level.h>
--#elif __UCLIBC__
--#include <features.h>
--#else
-+#elif defined(__GLIBC__) && !defined(__UCLIBC__)
- #include <gnu/libc-version.h>
-+#else
-+#include <features.h>
- #endif
-
- #include <boost/filesystem.hpp>
-@@ -503,7 +503,7 @@ void ProcessInfo::SystemInfo::collectSys
- stringstream ss;
- ss << "uClibc-" << __UCLIBC_MAJOR__ << "." << __UCLIBC_MINOR__ << "." << __UCLIBC_SUBLEVEL__;
- bExtra.append("libcVersion", ss.str());
--#else
-+#elif defined(__GLIBC__)
- bExtra.append("libcVersion", gnu_get_libc_version());
- #endif
- if (!verSig.empty())
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
deleted file mode 100644
index 99edad3c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From a4951489d649c2b609cbb80f6cfb49fdcad8bd43 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Sep 2017 10:03:37 -0700
-Subject: [PATCH] Use long long instead of int64_t
-
-Fixes
-error: call to member function 'appendNumber' is ambiguous
-since this function expects long long as parameter and not int64_t
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
- src/mongo/util/procparser.cpp | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-Index: git/src/mongo/util/procparser.cpp
-===================================================================
---- git.orig/src/mongo/util/procparser.cpp
-+++ git/src/mongo/util/procparser.cpp
-@@ -260,7 +260,7 @@ Status parseProcStat(const std::vector<S
-
- StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
-
-- uint64_t value;
-+ long long value;
-
- if (!parseNumberFromString(stringValue, &value).isOK()) {
- value = 0;
-@@ -272,7 +272,7 @@ Status parseProcStat(const std::vector<S
- } else {
- StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
-
-- uint64_t value;
-+ long long value;
-
- if (!parseNumberFromString(stringValue, &value).isOK()) {
- value = 0;
-@@ -365,7 +365,7 @@ Status parseProcMemInfo(const std::vecto
-
- StringData stringValue((*partIt).begin(), (*partIt).end());
-
-- uint64_t value;
-+ long long value;
-
- if (!parseNumberFromString(stringValue, &value).isOK()) {
- value = 0;
-@@ -522,7 +522,7 @@ Status parseProcDiskStats(const std::vec
- StringData data,
- BSONObjBuilder* builder) {
- bool foundKeys = false;
-- std::vector<uint64_t> stats;
-+ std::vector<long long> stats;
- stats.reserve(kDiskFieldCount);
-
- using string_split_iterator = boost::split_iterator<StringData::const_iterator>;
-@@ -597,7 +597,7 @@ Status parseProcDiskStats(const std::vec
-
- StringData stringValue((*partIt).begin(), (*partIt).end());
-
-- uint64_t value;
-+ long long value;
-
- if (!parseNumberFromString(stringValue, &value).isOK()) {
- value = 0;
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
deleted file mode 100644
index a2e1f795..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From a1c77702926eb8546ff96b00b5b994f7478dabae Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Sep 2017 13:13:15 -0700
-Subject: [PATCH 4/4] wiredtiger: Disable strtouq on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/third_party/wiredtiger/build_linux/wiredtiger_config.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: git/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
-===================================================================
---- git.orig/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
-+++ git/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
-@@ -104,7 +104,7 @@
- #define HAVE_STRING_H 1
-
- /* Define to 1 if you have the `strtouq' function. */
--#define HAVE_STRTOUQ 1
-+/* #undef HAVE_STRTOUQ 1 */
-
- /* Define to 1 if you have the `sync_file_range' function. */
- /* #undef HAVE_SYNC_FILE_RANGE */
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
deleted file mode 100644
index c0689875..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Add alises for arm64 which is same as aarch64
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: git/SConstruct
-===================================================================
---- git.orig/SConstruct
-+++ git/SConstruct
-@@ -1055,6 +1055,7 @@ elif endian == "big":
- processor_macros = {
- 'arm' : { 'endian': 'little', 'defines': ('__arm__',) },
- 'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
-+ 'arm64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
- 'i386' : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')},
- 'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)},
- 's390x' : { 'endian': 'big', 'defines': ('__s390x__',)},
-Index: git/src/third_party/IntelRDFPMathLib20U1/SConscript
-===================================================================
---- git.orig/src/third_party/IntelRDFPMathLib20U1/SConscript
-+++ git/src/third_party/IntelRDFPMathLib20U1/SConscript
-@@ -308,7 +308,7 @@ if processor == 'i386':
- elif processor == 'arm':
- cpp_defines['IA32'] = '1'
- cpp_defines['ia32'] = '1'
--elif processor == "aarch64":
-+elif processor == "aarch64" or processor == 'arm64':
- cpp_defines['efi2'] = '1'
- cpp_defines['EFI2'] = '1'
- # Using 64 bit little endian
-Index: git/src/third_party/wiredtiger/SConscript
-===================================================================
---- git.orig/src/third_party/wiredtiger/SConscript
-+++ git/src/third_party/wiredtiger/SConscript
-@@ -151,7 +151,7 @@ condition_map = {
- 'POSIX_HOST' : not env.TargetOSIs('windows'),
- 'WINDOWS_HOST' : env.TargetOSIs('windows'),
-
-- 'ARM64_HOST' : env['TARGET_ARCH'] == 'aarch64',
-+ 'ARM64_HOST' : env['TARGET_ARCH'] in ('aarch64', 'arm64'),
- 'POWERPC_HOST' : env['TARGET_ARCH'] == 'ppc64le',
- 'X86_HOST' : env['TARGET_ARCH'] == 'x86_64',
- 'ZSERIES_HOST' : env['TARGET_ARCH'] == 's390x',
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch
deleted file mode 100644
index 23d4923d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-imported from debian
-
-Upstream-Status: Pending
-Index: git/src/third_party/wiredtiger/SConscript
-===================================================================
---- git.orig/src/third_party/wiredtiger/SConscript
-+++ git/src/third_party/wiredtiger/SConscript
-@@ -181,7 +181,9 @@ if useSnappy:
- # If not available at runtime, we fall back to software in some cases.
- #
- # On zSeries we may disable because SLES 11 kernel doe not support the instructions.
--if not (env['TARGET_ARCH'] == 's390x' and get_option("use-s390x-crc32") == "off"):
-+# Debian: disable hardware-assisted crc32 on s390x and arm64, as at least the
-+# buildd's do not support the instructions.
-+if env['TARGET_ARCH'] not in ('s390x', 'arm64', 'aarch64'):
- env.Append(CPPDEFINES=["HAVE_CRC32_HARDWARE"])
-
- wtlib = env.Library(
-Index: git/src/third_party/wiredtiger/dist/filelist
-===================================================================
---- git.orig/src/third_party/wiredtiger/dist/filelist
-+++ git/src/third_party/wiredtiger/dist/filelist
-@@ -54,7 +54,6 @@ src/checksum/power8/crc32_wrapper.c POWE
- src/checksum/software/checksum.c
- src/checksum/x86/crc32-x86.c X86_HOST
- src/checksum/zseries/crc32-s390x.c ZSERIES_HOST
--src/checksum/zseries/crc32le-vx.sx ZSERIES_HOST
- src/config/config.c
- src/config/config_api.c
- src/config/config_check.c
-Index: git/src/third_party/wiredtiger/src/checksum/zseries/crc32-s390x.c
-===================================================================
---- git.orig/src/third_party/wiredtiger/src/checksum/zseries/crc32-s390x.c
-+++ git/src/third_party/wiredtiger/src/checksum/zseries/crc32-s390x.c
-@@ -77,6 +77,7 @@ unsigned int __wt_crc32c_le(unsigned int
- return crc; \
- }
-
-+#if defined(HAVE_CRC32_HARDWARE)
- /* Main CRC-32 functions */
- DEFINE_CRC32_VX(__wt_crc32c_le_vx, __wt_crc32c_le_vgfm_16, __wt_crc32c_le)
-
-@@ -89,6 +90,7 @@ __wt_checksum_hw(const void *chunk, size
- {
- return (~__wt_crc32c_le_vx(0xffffffff, chunk, len));
- }
-+#endif
-
- #endif
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb b/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
deleted file mode 100644
index d39ab0a3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "mongodb"
-LICENSE = "AGPL-3.0 & Apache-2.0 & Zlib"
-LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \
- file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "openssl libpcre libpcap zlib boost curl python \
- python-setuptools-native python-typing-native \
- python-pyyaml-native python-cheetah-native \
- "
-
-inherit scons dos2unix siteinfo pythonnative
-
-PV = "4.0.1+git${SRCPV}"
-#v4.0.1
-SRCREV = "54f1582fc6eb01de4d4c42f26fc133e623f065fb"
-SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.0 \
- file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
- file://0001-Use-long-long-instead-of-int64_t.patch \
- file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \
- file://0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch \
- file://arm64-support.patch \
- file://0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch \
- file://disable-hw-crc32-on-arm64-s390x.patch \
- file://0001-Support-deprecated-resolver-functions.patch \
- "
-SRC_URI_append_libc-musl ="\
- file://0002-Fix-default-stack-size-to-256K.patch \
- file://0004-wiredtiger-Disable-strtouq-on-musl.patch \
- "
-S = "${WORKDIR}/git"
-
-COMPATIBLE_HOST ?= '(x86_64|i.86|powerpc64|arm|aarch64).*-linux'
-
-COMPATIBLE_HOST_arm = "null"
-COMPATIBLE_HOST_libc-musl_x86 = "null"
-
-PACKAGECONFIG ??= "tcmalloc"
-# gperftools compilation fails for arm below v7 because of missing support of
-# dmb operation. So we use system-allocator instead of tcmalloc
-PACKAGECONFIG_remove_armv6 = "tcmalloc"
-PACKAGECONFIG_remove_libc-musl = "tcmalloc"
-
-PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools,"
-
-EXTRA_OESCONS = "--prefix=${D}${prefix} \
- LIBPATH=${STAGING_LIBDIR} \
- LINKFLAGS='${LDFLAGS}' \
- CXXFLAGS='${CXXFLAGS}' \
- TARGET_ARCH=${TARGET_ARCH} \
- --ssl \
- --disable-warnings-as-errors \
- --use-system-pcre \
- --use-system-zlib \
- --js-engine=none \
- --nostrip \
- --endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
- --wiredtiger=${@['off','on'][d.getVar('SITEINFO_BITS') != '32']} \
- ${PACKAGECONFIG_CONFARGS} \
- mongod mongos"
-
-do_configure_prepend() {
- # tests use hex floats, not supported in plain C++
- sed -e 's|-std=c++11|-std=gnu++11|g' -i ${S}/SConstruct
-}
-scons_do_compile() {
- ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
- die "scons build execution failed."
-}
-
-scons_do_install() {
- ${STAGING_BINDIR_NATIVE}/scons install ${EXTRA_OESCONS}|| \
- die "scons install execution failed."
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb
new file mode 100644
index 00000000..e1a038df
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb
@@ -0,0 +1,20 @@
+require mariadb.inc
+inherit native
+
+PROVIDES += "mysql5-native"
+DEPENDS = "ncurses-native zlib-native bison-native"
+
+RDEPENDS_${PN} = ""
+PACKAGES = ""
+EXTRA_OEMAKE = ""
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+
+ install -d ${D}${bindir}
+ install -m 0755 sql/gen_lex_hash ${D}${bindir}/
+ install -m 0755 sql/gen_lex_token ${D}${bindir}/
+ install -m 0755 extra/comp_err ${D}${bindir}/
+ install -m 0755 scripts/comp_sql ${D}${bindir}/
+}
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.64.bb b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.64.bb
deleted file mode 100644
index 4ce960d7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.64.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require mariadb.inc
-inherit native
-
-PROVIDES += "mysql5-native"
-DEPENDS = "ncurses-native zlib-native bison-native"
-
-RDEPENDS_${PN} = ""
-PACKAGES = ""
-EXTRA_OEMAKE = ""
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-
- install -d ${D}${bindir}
- install -m 0755 sql/gen_lex_hash ${D}${bindir}/
- install -m 0755 extra/comp_err ${D}${bindir}/
- install -m 0755 scripts/comp_sql ${D}${bindir}/
-}
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index f51667d9..95f5acba 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -2,12 +2,9 @@ SUMMARY = "A robust, scalable, and reliable SQL server"
HOMEPAGE = "http://mariadb.org"
SECTION = "libs"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b1becf0cfa3366e0f4d854d1d264f311"
-SRC_URI = "http://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
- file://fix-cmake-module-path.patch \
- file://remove-bad-path.patch \
- file://fix-mysqlclient-r-version.patch \
+SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz \
file://my.cnf \
file://mysqld.service \
file://install_db.service \
@@ -15,11 +12,17 @@ SRC_URI = "http://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
file://mysql-systemd-start \
file://configure.cmake-fix-valgrind.patch \
file://fix-a-building-failure.patch \
- file://change-cc-to-cc-version.patch \
+ file://support-files-CMakeLists.txt-fix-do_populate_sysroot.patch \
+ file://sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \
file://0001-disable-ucontext-on-musl.patch \
+ file://c11_atomics.patch \
+ file://clang_version_header_conflict.patch \
+ file://fix-arm-atomic.patch \
+ file://0001-Fix-build-breakage-from-lock_guard-error-6161.patch \
+ file://0001-Fix-library-LZ4-lookup.patch \
"
-SRC_URI[md5sum] = "03968ae08cff3038e2420921ef257550"
-SRC_URI[sha256sum] = "c103f3c54741b296980d6be48b221340eebaa97c6bd95a02fd8d530a5df5c343"
+SRC_URI[md5sum] = "97d7c0f508c04a31c138fdb24e95dbc4"
+SRC_URI[sha256sum] = "fef1e1d38aa253dd8a51006bd15aad184912fce31c446bb69434fcde735aa208"
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
@@ -27,7 +30,9 @@ S = "${WORKDIR}/mariadb-${PV}"
BINCONFIG_GLOB = "mysql_config"
-inherit cmake gettext binconfig update-rc.d useradd systemd
+inherit cmake gettext binconfig update-rc.d useradd systemd multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mysql_install_db ${PN}-server:${bindir}/mysqld_safe"
INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb"
INITSCRIPT_NAME_${PN}-server = "mysqld"
@@ -55,14 +60,13 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} setupdb"
PACKAGECONFIG_class-native = ""
PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
-PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit"
PACKAGECONFIG[krb5] = ", ,krb5"
PACKAGECONFIG[setupdb] = ", ,,${PN}-setupdb"
# MariaDB doesn't link properly with gold
# https://mariadb.atlassian.net/browse/MDEV-5982
TARGET_CFLAGS += "-fuse-ld=bfd"
-
+LDFLAGS += " -pthread"
BUILD_CFLAGS += "-fuse-ld=bfd"
BUILD_CXXFLAGS += "-fuse-ld=bfd"
@@ -120,6 +124,11 @@ do_compile_prepend_class-target () {
echo "#endif" >>${B}/include/openssl/kssl.h
fi
fi
+ # workaround to handle out-of-source build from source package
+ yacc_files="sql_yacc.hh sql_yacc.cc sql_yacc_ora.hh sql_yacc_ora.cc"
+ for yacc_file in ${yacc_files}; do
+ cp ${S}/sql/${yacc_file} ${B}/sql/${yacc_file}
+ done
}
SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
@@ -159,6 +168,10 @@ do_install() {
if [ -f ${D}${datadir}/doc/README ]; then
mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
+ mv ${D}/lib/security ${D}/${libdir}
+ rmdir --ignore-fail-on-non-empty ${D}/lib
+ fi
}
PACKAGES = "${PN}-dbg ${PN} \
@@ -181,13 +194,13 @@ RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
perl-module-file-basename perl-module-file-path perl-module-sys-hostname \
perl-module-file-copy perl-module-file-temp perl-module-posix \
- ${PN}-client libdbi-perl libdbd-mysql-perl"
+ ${PN}-client ${PN}-setupdb libdbi-perl libdbd-mysql-perl"
RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \
perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \
perl-module-file-spec perl-module-file-find perl-module-file-basename perl-module-file-path \
perl-module-constant perl-module-lib perl-module-file-temp perl-module-file-spec-functions \
- perl-module-io-socket-inet perl-module-io-select"
+ perl-module-io-socket-inet perl-module-io-select bash"
RDEPENDS_${PN}-setupdb = "coreutils"
# Allow old code to link to the backward compatible library
@@ -195,10 +208,12 @@ RDEPENDS_libmysqlclient-dev = "libmysqlclient-r-dev"
FILES_libmysqlclient = "\
${libdir}/libmysqlclient.so.* \
+ ${libdir}/libmariadb.so.* \
${sysconfdir}/my.cnf.d/client.cnf"
FILES_libmysqlclient-dev = " \
${includedir}/mysql/ \
${libdir}/libmysqlclient.so \
+ ${libdir}/libmariadb.so \
${sysconfdir}/aclocal \
${bindir}/mysql_config"
FILES_libmysqlclient-staticdev = "\
@@ -215,9 +230,11 @@ FILES_libmysqlclient-r-dev = "\
FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
FILES_libmysqld = "\
- ${libdir}/libmysqld.so.*"
+ ${libdir}/libmysqld.so.* \
+ ${libdir}/libmariadbd.so.*"
FILES_libmysqld-dev = "\
- ${libdir}/libmysqld.so"
+ ${libdir}/libmysqld.so \
+ ${libdir}/libmariadbd.so"
FILES_${PN}-client = "\
${bindir}/myisam_ftdump \
@@ -286,11 +303,14 @@ FILES_${PN}-server = "\
${sbindir}/ndbd \
${sbindir}/ndb_mgmd \
${libdir}/plugin/*.so \
+ ${libdir}/security/*.so \
+ ${libdir}/plugin/auth_pam_tool_dir/auth_pam_tool \
${datadir}/mysql/ \
${localstatedir}/mysql/ \
${sysconfdir}/init.d/mysqld \
${sysconfdir}/my.cnf \
${sysconfdir}/my.cnf.d/server.cnf \
+ ${sysconfdir}/security/user_map.conf \
${sysconfdir}/tmpfiles.d"
DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch
new file mode 100644
index 00000000..87c70617
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch
@@ -0,0 +1,32 @@
+Subject: [PATCH] Fix build breakage from lock_guard error (#6161)
+
+Summary:
+This change fixes a source issue that caused compile time error which
+breaks build for many fbcode services in that setup. The size() member
+function of channel is a const member, so member variables accessed
+within it are implicitly const as well. This caused error when clang
+fails to resolve to a constructor that takes std::mutex because the
+suitable constructor got rejected due to loss of constness for its
+argument. The fix is to add mutable modifier to the lock_ member of
+channel.
+
+Pull Request resolved: https://github.com/facebook/rocksdb/pull/6161
+
+Differential Revision: D18967685
+
+Pulled By: maysamyabandeh
+
+Upstream-Status: Backport
+
+fbshipit-source-id:698b6a5153c3c92eeacb842c467aa28cc350d432
+--- a/storage/rocksdb/rocksdb/util/channel.h
++++ b/storage/rocksdb/rocksdb/util/channel.h
+@@ -60,7 +60,7 @@ class channel {
+
+ private:
+ std::condition_variable cv_;
+- std::mutex lock_;
++ mutable std::mutex lock_;
+ std::queue<T> buffer_;
+ bool eof_;
+ };
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch
new file mode 100644
index 00000000..574dfd31
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch
@@ -0,0 +1,30 @@
+From 1d7612b063eb1fc7bf97bc27b13e1de596748aa1 Mon Sep 17 00:00:00 2001
+From: Sumit Garg <sumit.garg@linaro.org>
+Date: Wed, 8 Jan 2020 04:58:30 +0000
+Subject: [PATCH] Fix library LZ4 lookup.
+
+Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
+---
+ cmake/FindLZ4.cmake | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/FindLZ4.cmake b/cmake/FindLZ4.cmake
+index e97dd63e2b0..2f4694e727c 100644
+--- a/cmake/FindLZ4.cmake
++++ b/cmake/FindLZ4.cmake
+@@ -1,5 +1,10 @@
+-find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
+-find_library(LZ4_LIBRARY NAMES lz4)
++find_path(LZ4_INCLUDE_DIR
++ NAMES lz4.h
++ NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
++
++find_library(LZ4_LIBRARY
++ NAMES lz4
++ NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+
+ include(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
index 60e9199f..daf2432a 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
@@ -1,4 +1,4 @@
-From 5bc3e7ef9700d12054e0125a126f1bb093f01ef9 Mon Sep 17 00:00:00 2001
+From b658bdb38b7ff6a78915fd0ac390fc224e4006cb 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
@@ -6,12 +6,13 @@ 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
+index ea0e3496..4c9b37dc 100644
--- a/include/my_context.h
+++ b/include/my_context.h
@@ -31,7 +31,7 @@
@@ -23,6 +24,3 @@ index dd44103..9b28c17 100644
#define MY_CONTEXT_USE_UCONTEXT
#else
#define MY_CONTEXT_DISABLE
---
-2.12.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
new file mode 100644
index 00000000..16998613
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
@@ -0,0 +1,67 @@
+Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
+Date: Fri Dec 21 19:14:04 2018 +0200
+
+ Link with libatomic to enable C11 atomics support
+
+ Some architectures (mips) require libatomic to support proper
+ atomic operations. Check first if support is available without
+ linking, otherwise use the library.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/configure.cmake
++++ b/configure.cmake
+@@ -926,7 +926,25 @@ int main()
+ long long int *ptr= &var;
+ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
+ }"
+-HAVE_GCC_C11_ATOMICS)
++HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
++IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
++ SET(HAVE_GCC_C11_ATOMICS True)
++ELSE()
++ SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
++ LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
++ CHECK_CXX_SOURCE_COMPILES("
++ int main()
++ {
++ long long int var= 1;
++ long long int *ptr= &var;
++ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
++ }"
++ HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ SET(HAVE_GCC_C11_ATOMICS True)
++ ENDIF()
++ SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
++ENDIF()
+
+ IF(WITH_VALGRIND)
+ SET(HAVE_valgrind 1)
+--- a/mysys/CMakeLists.txt
++++ b/mysys/CMakeLists.txt
+@@ -78,6 +78,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings
+ ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO} ${CRC32_LIBRARY})
+ DTRACE_INSTRUMENT(mysys)
+
++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ TARGET_LINK_LIBRARIES(mysys atomic)
++ENDIF()
++
+ IF(HAVE_BFD_H)
+ TARGET_LINK_LIBRARIES(mysys bfd)
+ ENDIF(HAVE_BFD_H)
+--- a/sql/CMakeLists.txt
++++ b/sql/CMakeLists.txt
+@@ -178,6 +178,10 @@ ELSE()
+ SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
+ ENDIF()
+
++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ TARGET_LINK_LIBRARIES(sql atomic)
++ENDIF()
++
+
+ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
deleted file mode 100644
index 02bda24f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-mariadb: replace the CC with CC_VERSION and CXX with CXX_VERSION
-
-mysqlbug.sh is a bug report script. It makes a report with the build information,
-including gcc version. The CC is the local path of gcc, which is useless for bug
-report, and the path may expose private information, so change it to CC_VERSION.
-
-Upstream-Status: Pending
-
-Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-================================
-diff --git a/scripts/mysqlbug.sh.old b/scripts/mysqlbug.sh
-index e9df210..d4b8d53 100644
---- a/scripts/mysqlbug.sh.old
-+++ b/scripts/mysqlbug.sh
-@@ -24,8 +24,8 @@ VERSION="@VERSION@@MYSQL_SERVER_SUFFIX@"
- COMPILATION_COMMENT="@COMPILATION_COMMENT@"
- BUGmysql="maria-developers@lists.launchpad.net"
- # This is set by configure
--COMP_CALL_INFO="CC='@SAVE_CC@' CFLAGS='@SAVE_CFLAGS@' CXX='@SAVE_CXX@' CXXFLAGS='@SAVE_CXXFLAGS@' LDFLAGS='@SAVE_LDFLAGS@' ASFLAGS='@SAVE_ASFLAGS@'"
--COMP_RUN_INFO="CC='@CC@' CFLAGS='@CFLAGS@' CXX='@CXX@' CXXFLAGS='@CXXFLAGS@' LDFLAGS='@LDFLAGS@' ASFLAGS='@ASFLAGS@'"
-+COMP_CALL_INFO="CC='@CC_VERSION@' CFLAGS='@SAVE_CFLAGS@' CXX='@CXX_VERSION@' CXXFLAGS='@SAVE_CXXFLAGS@' LDFLAGS='@SAVE_LDFLAGS@' ASFLAGS='@SAVE_ASFLAGS@'"
-+COMP_RUN_INFO="CC='@CC_VERSION@' CFLAGS='@CFLAGS@' CXX='@CXX_VERSION@' CXXFLAGS='@CXXFLAGS@' LDFLAGS='@LDFLAGS@' ASFLAGS='@ASFLAGS@'"
- CONFIGURE_LINE="@CONF_COMMAND@"
-
- LIBC_INFO=""
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch
new file mode 100644
index 00000000..c77a8694
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch
@@ -0,0 +1,32 @@
+libc++ also has a file called version and this file and how cflags are specified
+it ends up including this file and resulting in compile errors
+
+fixes errors like
+storage/mroonga/version:1:1: error: expected unqualified-id
+7.07
+^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/storage/mroonga/CMakeLists.txt
++++ b/storage/mroonga/CMakeLists.txt
+@@ -80,7 +80,7 @@ else()
+ set(MRN_SOURCE_DIR ${CMAKE_SOURCE_DIR})
+ endif()
+
+-file(READ ${MRN_SOURCE_DIR}/version MRN_VERSION)
++file(READ ${MRN_SOURCE_DIR}/ver MRN_VERSION)
+ file(READ ${MRN_SOURCE_DIR}/version_major MRN_VERSION_MAJOR)
+ file(READ ${MRN_SOURCE_DIR}/version_minor MRN_VERSION_MINOR)
+ file(READ ${MRN_SOURCE_DIR}/version_micro MRN_VERSION_MICRO)
+--- /dev/null
++++ b/storage/mroonga/ver
+@@ -0,0 +1 @@
++7.07
+\ No newline at end of file
+--- a/storage/mroonga/version
++++ /dev/null
+@@ -1 +0,0 @@
+-7.07
+\ No newline at end of file
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
index e97def60..ac942795 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
@@ -1,6 +1,6 @@
-From 5effba0d7d47071a3f1bca56823190d5a95bb1a6 Mon Sep 17 00:00:00 2001
+From 24e2b0edc2612acefcc48414bb6f0aeb086061a9 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 12 Nov 2014 03:09:10 -0500
+Date: Tue, 26 Feb 2019 23:57:06 -0800
Subject: [PATCH] configure.cmake: fix valgrind
Check valgrind headers only if WITH_VALGRIND is set.
@@ -15,27 +15,26 @@ PACKAGECONFIG to decide if valgrind is needed or not.
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
---
- configure.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ configure.cmake | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/configure.cmake b/configure.cmake
-index 0bd7bbe..51a098f 100644
+index 3cfc4b31..d017b3b3 100644
--- a/configure.cmake
+++ b/configure.cmake
-@@ -1047,10 +1047,10 @@ MARK_AS_ADVANCED(WITH_ATOMIC_LOCKS MY_ATOMIC_MODE_RWLOCK MY_ATOMIC_MODE_DUMMY)
+@@ -930,10 +930,9 @@ HAVE_GCC_C11_ATOMICS)
IF(WITH_VALGRIND)
SET(HAVE_valgrind 1)
-+ CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h"
-+ HAVE_VALGRIND)
- ENDIF()
-
+-ENDIF()
+-
-CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h"
-- HAVE_VALGRIND)
++ CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h"
+ HAVE_VALGRIND_MEMCHECK_H)
++ENDIF()
#--------------------------------------------------------------------
# Check for IPv6 support
---
-2.0.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
index 0c4e1023..9149ee21 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
@@ -1,4 +1,7 @@
-[PATCH] fix a building failure
+From 1b2b6a61c9f82157cd2e0c3744f6c07e07aeb0bd Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 4 Mar 2019 01:11:30 -0800
+Subject: [PATCH] fix a building failure
Upstream-Status: Inappropriate [configuration]
@@ -6,17 +9,18 @@ building failed since native does not generate import_executables.cmake
In fact, our building system will export the needed commands
Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
CMakeLists.txt | 5 -----
1 file changed, 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c1ce1c5..83b3a7e 100644
+index fc30750..4f9110e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -350,11 +350,6 @@ MYSQL_CHECK_READLINE()
+@@ -347,11 +347,6 @@ CHECK_PCRE()
- CHECK_JEMALLOC()
+ CHECK_SYSTEMD()
-IF(CMAKE_CROSSCOMPILING)
- SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
@@ -24,8 +28,8 @@ index c1ce1c5..83b3a7e 100644
-ENDIF()
-
#
- # Setup maintainer mode options by the end. Platform checks are
+ # Setup maintainer mode options. Platform checks are
# not run with the warning options as to not perturb fragile checks
--
-1.9.1
+2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
new file mode 100644
index 00000000..05b0cf8f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
@@ -0,0 +1,34 @@
+From f447aca534d1a12809eeb146e8220d305cc3884d Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 9 Apr 2020 14:07:19 +0800
+Subject: [PATCH] build_rocksdb.cmake: fix atomic support on arm
+
+Check to link with libatomic to enable C11 atomics support
+to fix below build error on arm:
+| /build/tmp/work/armv5e-wrs-linux-gnueabi/mariadb/10.3.13-r0/recipe-sysroot-native/usr/bin/arm-wrs-linux-gnueabi/../../libexec/arm-wrs-linux-gnueabi/gcc/arm-wrs-linux-gnueabi/8.3.0/ld.bfd: librocksdblib.a(env_posix.cc.o): in function `std::__atomic_base<unsigned long long>::store(unsigned long long, std::memory_order)':
+| /usr/include/c++/8.3.0/bits/atomic_base.h:374: undefined reference to `__atomic_store_8'
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ storage/rocksdb/build_rocksdb.cmake | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake
+index d7895b0..3bcd52a 100644
+--- a/storage/rocksdb/build_rocksdb.cmake
++++ b/storage/rocksdb/build_rocksdb.cmake
+@@ -470,6 +470,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc)
+
+ ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES})
+ target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ TARGET_LINK_LIBRARIES(rocksdblib atomic)
++ENDIF()
+ IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -Wno-error")
+ endif()
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
deleted file mode 100644
index 8d9f558d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Avoid CMAKE_MODULE_PATH being overwritten
-
-OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless
-we set it after setting the project name.
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
-Upstream-Status: Inappropriate [working around OE-Core bug]
-
---- mariadb/CMakeLists.txt 2014-07-17 11:01:07.676353047 +0100
-+++ mariadb/CMakeLists.txt 2014-07-17 11:01:31.299353107 +0100
-@@ -28,8 +28,6 @@
-
- MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
-
--SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
--
- # Distinguish between community and non-community builds, with the
- # default being a community build. This does not impact the feature
- # set that will be compiled in; it's merely provided as a hint to
-@@ -77,6 +75,8 @@
- ENDIF()
- PROJECT(${MYSQL_PROJECT_NAME})
-
-+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
-+
- IF(BUILD_CONFIG)
- INCLUDE(
- ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
deleted file mode 100644
index a519e429..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001
-From: Tor Didriksen <tor.didriksen@oracle.com>
-Date: Mon, 24 Jun 2013 17:15:35 +0200
-Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
-
-With this patch, the libmysql/ directory contains:
-libmysqlclient.a
-libmysqlclient_r.a -> libmysqlclient.a
-libmysqlclient_r.so -> libmysqlclient.so*
-libmysqlclient_r.so.18 -> libmysqlclient.so.18*
-libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0*
-libmysqlclient.so -> libmysqlclient.so.18*
-libmysqlclient.so.18 -> libmysqlclient.so.18.1.0*
-libmysqlclient.so.18.1.0*
-
-This fixes libmysqlclient_r symlinks pointing to the unversioned
-libmysqlclient.so symlink (leading to package QA errors since the
-libmysqlclient-r package ends up depending on libmysqlclient-dev).
-
-Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
----
- cmake/install_macros.cmake | 25 +++++++++++++++----------
- libmysql/CMakeLists.txt | 34 +++++++++++++++++++++++++++-------
- 2 files changed, 42 insertions(+), 17 deletions(-)
-
-diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
-index b8efdf8..a0d0e68 100644
---- a/cmake/install_macros.cmake
-+++ b/cmake/install_macros.cmake
-@@ -1,4 +1,4 @@
--# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
-+# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -167,28 +167,33 @@ ENDFUNCTION()
-
-
- # Install symbolic link to CMake target.
--# the link is created in the same directory as target
--# and extension will be the same as for target file.
--MACRO(INSTALL_SYMLINK linkname target destination component)
-+# We do 'cd path; ln -s target_name link_name'
-+# We also add an INSTALL target for "${path}/${link_name}"
-+MACRO(INSTALL_SYMLINK target target_name link_name destination component)
- IF(UNIX)
- GET_TARGET_PROPERTY(location ${target} LOCATION)
- GET_FILENAME_COMPONENT(path ${location} PATH)
-- GET_FILENAME_COMPONENT(name ${location} NAME)
-- SET(output ${path}/${linkname})
-+ MESSAGE(STATUS "target ${target}")
-+ MESSAGE(STATUS "link_name ${link_name}")
-+ MESSAGE(STATUS "target_name ${target_name}")
-+ MESSAGE(STATUS "path ${path}")
-+ MESSAGE(STATUS "")
-+
-+ SET(output ${path}/${link_name})
- ADD_CUSTOM_COMMAND(
- OUTPUT ${output}
- COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
- COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink
-- ${name}
-- ${linkname}
-+ ${target_name}
-+ ${link_name}
- WORKING_DIRECTORY ${path}
- DEPENDS ${target}
- )
-
-- ADD_CUSTOM_TARGET(symlink_${linkname}
-+ ADD_CUSTOM_TARGET(symlink_${link_name}
- ALL
- DEPENDS ${output})
-- SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
-+ SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
- IF(CMAKE_GENERATOR MATCHES "Xcode")
- # For Xcode, replace project config with install config
- STRING(REPLACE "${CMAKE_CFG_INTDIR}"
-diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
-index be5760f..96286ff 100644
---- a/libmysql/CMakeLists.txt
-+++ b/libmysql/CMakeLists.txt
-@@ -433,6 +433,12 @@ IF(MSVC)
- INSTALL_DEBUG_TARGET(clientlib DESTINATION ${INSTALL_LIBDIR}/debug)
- ENDIF()
-
-+MACRO(GET_TARGET_NAME target out_name)
-+ GET_TARGET_PROPERTY(location ${target} LOCATION)
-+ GET_FILENAME_COMPONENT(name ${location} NAME)
-+ SET(${out_name} ${name})
-+ENDMACRO()
-+
- IF(UNIX)
- MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
- SET(DOT_VERSION ".${VERSION}")
-@@ -445,7 +451,13 @@ IF(UNIX)
- SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
- ENDIF()
- ENDMACRO()
-- INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development)
-+ENDIF()
-+
-+IF(UNIX)
-+ GET_TARGET_NAME(mysqlclient lib_name)
-+ INSTALL_SYMLINK(mysqlclient
-+ ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a
-+ ${INSTALL_LIBDIR} Development)
- ENDIF()
-
- IF(NOT DISABLE_SHARED)
-@@ -456,10 +468,9 @@ IF(NOT DISABLE_SHARED)
- # libtool compatability
- IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
-- ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
-- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0")
- ELSE()
-- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0")
-+ SET(OS_SHARED_LIB_VERSION
-+ "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0")
- ENDIF()
- # Name of shared library is mysqlclient on Unix
- SET_TARGET_PROPERTIES(libmysql PROPERTIES
-@@ -482,8 +493,13 @@ IF(NOT DISABLE_SHARED)
- "${CMAKE_SHARED_LIBRARY_SUFFIX}"
- ""
- linkname)
-- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
-- SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
-+ GET_TARGET_NAME(libmysql lib_name)
-+ GET_FILENAME_COMPONENT(lib_name_we ${lib_name} NAME_WE)
-+ INSTALL_SYMLINK(libmysql
-+ ${lib_name} ${linkname}
-+ ${INSTALL_LIBDIR} SharedLibraries)
-+ SET(OS_SHARED_LIB_SYMLINKS
-+ "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
- LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
- FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
- GET_VERSIONED_LIBNAME(
-@@ -491,7 +507,11 @@ IF(NOT DISABLE_SHARED)
- "${CMAKE_SHARED_LIBRARY_SUFFIX}"
- "${ver}"
- linkname)
-- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
-+ GET_VERSIONED_LIBNAME(
-+ ${lib_name_we} "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${ver}" lib_name_ver)
-+ INSTALL_SYMLINK(libmysql
-+ ${lib_name_ver} ${linkname}
-+ ${INSTALL_LIBDIR} SharedLibraries)
- ENDFOREACH()
- ENDIF()
- ENDIF()
---
-2.0.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
deleted file mode 100644
index ff26b0b8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Remove host path from include directories
-
-Naturally this breaks cross-compilation if present.
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
---- mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:37:04.529327998 +0100
-+++ mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:43:56.991337895 +0100
-@@ -39,7 +39,6 @@
-
- ## default includes and libraries
- include_directories(SYSTEM
-- /usr/local/include
- ${ZLIB_INCLUDE_DIRS}
- )
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
new file mode 100644
index 00000000..afc1be47
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
@@ -0,0 +1,65 @@
+From 796464015bffe6e0beca9e1c355b223512803c3e Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 27 Feb 2019 23:01:00 -0800
+Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found
+
+Fix the below do_compile issue in cross-compiling env.
+| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_hash', needed by 'sql/lex_hash.h'. Stop.
+| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_token', needed by 'sql/lex_token.h'. Stop.
+
+Upstream-Status: Inappropriate [oe build specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
+---
+ sql/CMakeLists.txt | 30 ++++++++++++++++++++----------
+ 1 file changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
+index c6910f46..bf51f4cb 100644
+--- a/sql/CMakeLists.txt
++++ b/sql/CMakeLists.txt
+@@ -50,11 +50,16 @@ ${WSREP_INCLUDES}
+
+
+
+-ADD_CUSTOM_COMMAND(
+- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
+- COMMAND gen_lex_token > lex_token.h
+- DEPENDS gen_lex_token
+-)
++IF(NOT CMAKE_CROSSCOMPILING)
++ ADD_CUSTOM_COMMAND(
++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
++ COMMAND gen_lex_token > lex_token.h
++ DEPENDS gen_lex_token)
++ELSE()
++ ADD_CUSTOM_COMMAND(
++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
++ COMMAND gen_lex_token > lex_token.h)
++ENDIF()
+
+ ADD_DEFINITIONS(-DMYSQL_SERVER -DHAVE_EVENT_SCHEDULER)
+
+@@ -370,11 +375,16 @@ IF(NOT CMAKE_CROSSCOMPILING)
+ ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
+ ENDIF()
+
+-ADD_CUSTOM_COMMAND(
+- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
+- COMMAND gen_lex_hash > lex_hash.h
+- DEPENDS gen_lex_hash
+-)
++IF(NOT CMAKE_CROSSCOMPILING)
++ ADD_CUSTOM_COMMAND(
++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
++ COMMAND gen_lex_hash > lex_hash.h
++ DEPENDS gen_lex_hash)
++ELSE()
++ ADD_CUSTOM_COMMAND(
++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
++ COMMAND gen_lex_hash > lex_hash.h)
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mysql_tzinfo_to_sql tztime.cc COMPONENT Server)
+ SET_TARGET_PROPERTIES(mysql_tzinfo_to_sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL")
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch
new file mode 100644
index 00000000..4f9a4e9b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch
@@ -0,0 +1,34 @@
+From 4ac5b555d058d4d489f25a3806a787b7b2465d09 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 27 Feb 2019 22:41:26 -0800
+Subject: [PATCH] support-files/CMakeLists.txt: fix do_populate_sysroot issue
+
+Comment out the logic which for suse as it introduces
+below do_populate_sysroot error:
+ERROR: mariadb-native-10.3.13-r0 do_populate_sysroot: sstate found an absolute path symlink /build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/sysroot-destdir/build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/recipe-sysroot-native/usr/sbin/rcmysql pointing at /build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/recipe-sysroot-native/etc/init.d/mysql. Please replace this with a relative link.
+
+Upstream-Status: Inappropriate[oe build specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
+---
+ support-files/CMakeLists.txt | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/support-files/CMakeLists.txt b/support-files/CMakeLists.txt
+index b5767432..56733de1 100644
+--- a/support-files/CMakeLists.txt
++++ b/support-files/CMakeLists.txt
+@@ -165,12 +165,5 @@ IF(UNIX)
+ INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR}
+ COMPONENT IniFiles)
+ ENDIF()
+-
+- # This is for SuSE:
+- INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink
+- ${INSTALL_SYSCONFDIR}/init.d/mysql
+- ${INSTALL_SBINDIR}/rcmysql
+- WORKING_DIRECTORY \$ENV{DESTDIR}${prefix})"
+- COMPONENT SupportFiles)
+ ENDIF(INSTALL_SYSCONFDIR)
+ ENDIF()
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb
new file mode 100644
index 00000000..c0b53379
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb
@@ -0,0 +1,27 @@
+require mariadb.inc
+
+EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
+
+DEPENDS += "mariadb-native bison-native openssl ncurses zlib libaio libedit libevent libxml2"
+
+PROVIDES += "mysql5 libmysqlclient"
+
+RPROVIDES_${PN} += "mysql5"
+RREPLACES_${PN} += "mysql5"
+RCONFLICTS_${PN} += "mysql5"
+
+RPROVIDES_${PN}-dbg += "mysql5-dbg"
+RREPLACES_${PN}-dbg += "mysql5-dbg"
+RCONFLICTS_${PN}-dbg += "mysql5-dbg"
+
+RPROVIDES_${PN}-leftovers += "mysql5-leftovers"
+RREPLACES_${PN}-leftovers += "mysql5-leftovers"
+RCONFLICTS_${PN}-leftovers += "mysql5-leftovers"
+
+RPROVIDES_${PN}-client += "mysql5-client"
+RREPLACES_${PN}-client += "mysql5-client"
+RCONFLICTS_${PN}-client += "mysql5-client"
+
+RPROVIDES_${PN}-server += "mysql5-server"
+RREPLACES_${PN}-server += "mysql5-server"
+RCONFLICTS_${PN}-server += "mysql5-server"
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.64.bb b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.64.bb
deleted file mode 100644
index d7895732..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.64.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-require mariadb.inc
-
-EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
-
-DEPENDS += "mariadb-native ncurses zlib readline libaio libevent"
-
-PROVIDES += "mysql5 libmysqlclient"
-
-RPROVIDES_${PN} += "mysql5"
-RREPLACES_${PN} += "mysql5"
-RCONFLICTS_${PN} += "mysql5"
-
-RPROVIDES_${PN}-dbg += "mysql5-dbg"
-RREPLACES_${PN}-dbg += "mysql5-dbg"
-RCONFLICTS_${PN}-dbg += "mysql5-dbg"
-
-RPROVIDES_${PN}-leftovers += "mysql5-leftovers"
-RREPLACES_${PN}-leftovers += "mysql5-leftovers"
-RCONFLICTS_${PN}-leftovers += "mysql5-leftovers"
-
-RPROVIDES_${PN}-client += "mysql5-client"
-RREPLACES_${PN}-client += "mysql5-client"
-RCONFLICTS_${PN}-client += "mysql5-client"
-
-RPROVIDES_${PN}-server += "mysql5-server"
-RREPLACES_${PN}-server += "mysql5-server"
-RCONFLICTS_${PN}-server += "mysql5-server"
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch
new file mode 100644
index 00000000..173241ea
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch
@@ -0,0 +1,34 @@
+From 45436592aa64308b2ab46f84c6107c6d7de0a3ec Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 6 Mar 2019 00:16:17 -0800
+Subject: [PATCH] _mysql.c: fix compilation with MariaDB 10.3.13
+
+Use standard API function MYSQL_OPT_RECONNECT
+instead of direct modification of internal structures
+which does not work for MariaDB.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ _mysql.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- a/_mysql.c
++++ b/_mysql.c
+@@ -2002,7 +2002,14 @@ _mysql_ConnectionObject_ping(
+ int r, reconnect = -1;
+ if (!PyArg_ParseTuple(args, "|I", &reconnect)) return NULL;
+ check_connection(self);
+- if ( reconnect != -1 ) self->connection.reconnect = reconnect;
++ if ( reconnect != -1 ) {
++#if MYSQL_VERSION_ID >= 50013
++ my_bool recon = reconnect;
++ mysql_options(&self->connection, MYSQL_OPT_RECONNECT, &recon);
++#else
++ self->connection.reconnect = reconnect;
++#endif
++ }
+ Py_BEGIN_ALLOW_THREADS
+ r = mysql_ping(&(self->connection));
+ Py_END_ALLOW_THREADS
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
index ac0df4f0..4617da8e 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
@@ -8,10 +8,17 @@ DEPENDS = "mysql5"
SRCNAME = "MySQL-python"
-SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip"
+SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip \
+ file://0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch \
+"
SRC_URI[md5sum] = "654f75b302db6ed8dc5a898c625e030c"
SRC_URI[sha256sum] = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74"
S = "${WORKDIR}/${SRCNAME}-${PV}"
-inherit setuptools
+inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
+
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
new file mode 100644
index 00000000..865ad328
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
@@ -0,0 +1,41 @@
+From b06a228a5fd1589fc9bed654b3288b321fc21aa1 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Sun, 20 Nov 2016 15:04:52 +0000
+Subject: [PATCH] Add support for RISC-V.
+
+The architecture is sufficiently similar to aarch64 that simply
+extending the existing aarch64 macro works.
+---
+ src/include/storage/s_lock.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
+index 3fe29ce..7cd578f 100644
+--- a/src/include/storage/s_lock.h
++++ b/src/include/storage/s_lock.h
+@@ -316,11 +316,12 @@ tas(volatile slock_t *lock)
+
+ /*
+ * On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available.
++ * On RISC-V, the same.
+ *
+ * We use the int-width variant of the builtin because it works on more chips
+ * than other widths.
+ */
+-#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64)
++#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) || defined(__riscv)
+ #ifdef HAVE_GCC__SYNC_INT32_TAS
+ #define HAS_TEST_AND_SET
+
+@@ -337,7 +338,7 @@ tas(volatile slock_t *lock)
+ #define S_UNLOCK(lock) __sync_lock_release(lock)
+
+ #endif /* HAVE_GCC__SYNC_INT32_TAS */
+-#endif /* __arm__ || __arm || __aarch64__ || __aarch64 */
++#endif /* __arm__ || __arm || __aarch64__ || __aarch64 || __riscv */
+
+
+ /* S/390 and S/390x Linux (32- and 64-bit zSeries) */
+--
+2.9.3
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
new file mode 100644
index 00000000..32b7f428
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
@@ -0,0 +1,39 @@
+From 3c13315447fa175da6c9ebe59a039e611cdb5bd1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 4 Jun 2019 13:45:30 +0800
+Subject: [PATCH] Improve reproducibility,
+
+Remove build patch from binaries which pg_config do
+not record var-CC, var-CFLAGS, and configure
+
+$ /usr/bin/pg_config --cc
+not recorded
+
+$ /usr/bin/pg_config --configure
+not recorded
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/common/Makefile | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/common/Makefile b/src/common/Makefile
+index 1fc2c66..5e6c457 100644
+--- a/src/common/Makefile
++++ b/src/common/Makefile
+@@ -27,10 +27,6 @@ include $(top_builddir)/src/Makefile.global
+ # don't include subdirectory-path-dependent -I and -L switches
+ STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
+ STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
+-override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\""
+-override CPPFLAGS += -DVAL_CC="\"$(CC)\""
+-override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
+-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
+ override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
+ override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
+ override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
deleted file mode 100644
index f14da06d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From d3ee8c8df5808b63e86f40831f2ba62cbb33d291 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 8 Aug 2018 09:18:27 +0800
-Subject: [PATCH] postgresql: Use pkg-config for libxml2 detection.
-
-Upstream-Status: Inappropriate [configuration]
-
-xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS.
-
-Signed-off-by: Philip Balister <philip@balister.org>
-
-upate to version 10.4
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- configure.in | 15 ++-------------
- 1 file changed, 2 insertions(+), 13 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index d9fe56e..3e2cd3a 100644
---- a/configure.in
-+++ b/configure.in
-@@ -816,19 +816,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support],
- [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])])
-
- if test "$with_libxml" = yes ; then
-- PGAC_PATH_PROGS(XML2_CONFIG, xml2-config)
-- if test -n "$XML2_CONFIG"; then
-- for pgac_option in `$XML2_CONFIG --cflags`; do
-- case $pgac_option in
-- -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";;
-- esac
-- done
-- for pgac_option in `$XML2_CONFIG --libs`; do
-- case $pgac_option in
-- -L*) LDFLAGS="$LDFLAGS $pgac_option";;
-- esac
-- done
-- fi
-+ CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`"
-+ LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS"
- fi
-
- AC_SUBST(with_libxml)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
index 97151094..22b62d9d 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
@@ -1,4 +1,7 @@
-[PATCH] not check libperl under cross compiling
+From 7e2af4de19be58bc9d551c41ce2750396d357f34 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 27 Nov 2018 13:25:15 +0800
+Subject: [PATCH] PATCH] not check libperl under cross compiling
Upstream-Status: Inappropriate [configuration]
@@ -6,23 +9,29 @@ libperl ldflags returned by PGAC_CHECK_PERL_EMBED_LDFLAGS are native,
can not be used to check target library.
postpresql has the dependency on perl, so not need to check libperl
-again, like in postgresql-9.2.4
+again, like in postgresql-9.2.4
Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
+update patch to version 11.1
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
configure.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: postgresql-9.4.15/configure.in
-===================================================================
---- postgresql-9.4.15.orig/configure.in
-+++ postgresql-9.4.15/configure.in
-@@ -1879,7 +1879,7 @@ if test "$with_tcl" = yes; then
+diff --git a/configure.in b/configure.in
+index b98b9bb..8584677 100644
+--- a/configure.in
++++ b/configure.in
+@@ -2211,7 +2211,7 @@ Use --without-tcl to disable building PL/Tcl.])
fi
# check for <perl.h>
-if test "$with_perl" = yes; then
+if test "$with_perl" = yes && test "$cross_compiling" = no; then
ac_save_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS -I$perl_archlibexp/CORE"
+ CPPFLAGS="$CPPFLAGS $perl_includespec"
AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])],
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init
index 4a4f0cd1..1791e68b 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init
@@ -14,8 +14,8 @@
# PGVERSION is the full package version, e.g., 8.4.0
# Note: the specfile inserts the correct value during package build
PGVERSION=9.2.4
-# PGMAJORVERSION is major version, e.g., 8.4 (this should match PG_VERSION)
-PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\.[0-9]*\).*$/\1/'`
+# PGMAJORVERSION is major version, e.g., 10 (this should match PG_VERSION)
+PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\).*$/\1/'`
# Source function library.
. /etc/init.d/functions
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
index dc852245..5b20098a 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -18,7 +18,7 @@ DESCRIPTION = "\
this package if you're installing the postgresql-server package. \
"
HOMEPAGE = "http://www.postgresql.com"
-LICENSE = "BSD"
+LICENSE = "BSD-0-Clause"
DEPENDS = "libnsl2 zlib readline tzcode-native"
ARM_INSTRUCTION_SET = "arm"
@@ -29,7 +29,6 @@ SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \
file://postgresql.pam \
file://postgresql-setup \
file://postgresql.service \
- file://0001-Use-pkg-config-for-libxml2-detection.patch \
"
LEAD_SONAME = "libpq.so"
@@ -37,7 +36,7 @@ LEAD_SONAME = "libpq.so"
# LDFLAGS for shared libraries
export LDFLAGS_SL = "${LDFLAGS}"
-inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd gettext
+inherit autotools pkgconfig perlnative python3native useradd update-rc.d systemd gettext cpan-base
CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR} -I${STAGING_INCDIR}/tcl8.6"
@@ -58,7 +57,7 @@ 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[python] = "--with-python,--without-python,python3,python3"
PACKAGECONFIG[uuid] = "--with-uuid=e2fs,--without-uuid,util-linux,"
PACKAGECONFIG[tcl] = "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl tcl-native,"
PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,,"
@@ -72,6 +71,16 @@ EXTRA_OECONF += "--enable-thread-safety --disable-rpath \
EXTRA_OECONF_sh4 += "--disable-spinlocks"
EXTRA_OECONF_aarch64 += "--disable-spinlocks"
+DEBUG_OPTIMIZATION_remove_mips = " -Og"
+DEBUG_OPTIMIZATION_append_mips = " -O"
+BUILD_OPTIMIZATION_remove_mips = " -Og"
+BUILD_OPTIMIZATION_append_mips = " -O"
+
+DEBUG_OPTIMIZATION_remove_mipsel = " -Og"
+DEBUG_OPTIMIZATION_append_mipsel = " -O"
+BUILD_OPTIMIZATION_remove_mipsel = " -Og"
+BUILD_OPTIMIZATION_append_mipsel = " -O"
+
PACKAGES_DYNAMIC += "^${PN}-plperl \
^${PN}-pltcl \
^${PN}-plpython \
@@ -106,6 +115,10 @@ python populate_packages_prepend() {
}
+# This will make native perl use target settings (for include dirs etc.)
+export PERLCONFIGTARGET = "${@is_target(d)}"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
+
do_configure() {
# do_configure
autotools_do_configure
@@ -119,7 +132,7 @@ do_configure() {
BLIBNA="\${STAGING_BASE_LIBDIR_NATIVE}"
sed -i -e "/^perl_archlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \
${B}/src/Makefile.global
- sed -i -e "/^perl_privlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \
+ sed -i -e "/^perl_privlibexp/s:${libdir}:${STAGING_LIBDIR}:g" \
${B}/src/Makefile.global
# remove the rpath, replace with correct lib path
sed -i \
@@ -266,7 +279,9 @@ FILES_${PN}-timezone = "${datadir}/${BPN}/timezone \
${datadir}/${BPN}/timezonesets \
"
RDEPENDS_${PN} += "${PN}-timezone"
-FILES_${PN}-server-dev = "${includedir}/${BPN}/server"
+FILES_${PN}-server-dev = "${includedir}/${BPN}/server \
+ ${libdir}/${BPN}/pgxs \
+"
FILES_libecpg = "${libdir}/libecpg*${SOLIBS}"
FILES_libecpg-dev = "${libdir}/libecpg*${SOLIBSDEV} \
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_10.10.bb b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_10.10.bb
deleted file mode 100644
index 8be794c3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_10.10.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=87da2b84884860b71f5f24ab37e7da78"
-
-SRC_URI += "\
- file://not-check-libperl.patch \
-"
-
-SRC_URI[md5sum] = "3dac8187636fa8237802bef85be78023"
-SRC_URI[sha256sum] = "ad4f9b8575f98ed6091bf9bb2cb16f0e52795a5f66546c1f499ca5c69b21f253"
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.3.bb b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.3.bb
new file mode 100644
index 00000000..cc7e3ff5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.3.bb
@@ -0,0 +1,12 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fc4ce21960f0c561460d750bc270d11f"
+
+SRC_URI += "\
+ file://not-check-libperl.patch \
+ file://0001-Add-support-for-RISC-V.patch \
+ file://0001-Improve-reproducibility.patch \
+"
+
+SRC_URI[md5sum] = "a30c023dd7088e44d73be71af2ef404a"
+SRC_URI[sha256sum] = "94ed64a6179048190695c86ec707cc25d016056ce10fc9d229267d9a8f1dcf41"
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch b/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
new file mode 100644
index 00000000..9bfb1f31
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
@@ -0,0 +1,115 @@
+From ba0a0e54d9544babbd3963891f4e3200dd5583f5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Mar 2020 15:10:37 -0700
+Subject: [PATCH] cmake: Add check for atomic support
+
+Detect if libatomic should be linked in or compiler and platform can
+provide the needed atomic instrinsics, this helps build on certain
+platforms like mips or clang/i386
+
+Fixes
+
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_exchange_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_fetch_or_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_compare_exchange_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_fetch_sub_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_load_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_store_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_fetch_add_8'
+
+Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/6555]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 6 +++
+ cmake/modules/CheckAtomic.cmake | 69 +++++++++++++++++++++++++++++++++
+ 2 files changed, 75 insertions(+)
+ create mode 100644 cmake/modules/CheckAtomic.cmake
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -780,7 +780,13 @@ if(WIN32)
+ set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi.lib rpcrt4.lib)
+ set(LIBS ${ROCKSDB_STATIC_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
+ else()
++ # check if linking against libatomic is necessary
++ include(CheckAtomic)
++
+ set(SYSTEM_LIBS ${CMAKE_THREAD_LIBS_INIT})
++ if(HAVE_CXX_ATOMIC_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
++ set(SYSTEM_LIBS ${SYSTEM_LIBS} atomic)
++ endif()
+ set(LIBS ${ROCKSDB_SHARED_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
+
+ add_library(${ROCKSDB_SHARED_LIB} SHARED ${SOURCES})
+--- /dev/null
++++ b/cmake/modules/CheckAtomic.cmake
+@@ -0,0 +1,69 @@
++# Checks if atomic operations are supported natively or if linking against
++# libatomic is needed.
++
++# Check inspired by LLVMs cmake/modules/CheckAtomic.cmake
++
++INCLUDE(CheckCXXSourceCompiles)
++INCLUDE(CheckLibraryExists)
++
++function(check_working_cxx_atomics varname)
++ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
++ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
++ CHECK_CXX_SOURCE_COMPILES("
++#include <atomic>
++std::atomic<int> x;
++int main() {
++ return x;
++}
++" ${varname})
++ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
++endfunction(check_working_cxx_atomics)
++
++function(check_working_cxx_atomics64 varname)
++ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
++ set(CMAKE_REQUIRED_FLAGS "-std=c++11 ${CMAKE_REQUIRED_FLAGS}")
++ CHECK_CXX_SOURCE_COMPILES("
++#include <atomic>
++#include <cstdint>
++std::atomic<uint64_t> x (0);
++std::atomic<double> y (0);
++int main() {
++ uint64_t i = x.load(std::memory_order_relaxed);
++ return int(y);
++}
++" ${varname})
++ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
++endfunction(check_working_cxx_atomics64)
++
++# Check if atomics work without libatomic
++check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB)
++
++if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
++ check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC)
++ if( HAVE_LIBATOMIC )
++ list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
++ check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB)
++ if (NOT HAVE_CXX_ATOMICS_WITH_LIB)
++ message(FATAL_ERROR "Host compiler must support std::atomic!")
++ endif()
++ else()
++ message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
++ endif()
++endif()
++
++# Check if 64bit atomics work without libatomic
++check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB)
++
++if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
++ check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64)
++ if(HAVE_CXX_LIBATOMICS64)
++ list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
++ check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB)
++ if (NOT HAVE_CXX_ATOMICS64_WITH_LIB)
++ message(FATAL_ERROR "Host compiler must support std::atomic!")
++ endif()
++ else()
++ message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
++ endif()
++endif()
++
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-db-write_thread.cc-Initialize-state.patch b/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-db-write_thread.cc-Initialize-state.patch
new file mode 100644
index 00000000..97ddbce5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-db-write_thread.cc-Initialize-state.patch
@@ -0,0 +1,31 @@
+From 49dcd22dcf1aae5995c42eac0fda68516fc1cd43 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Wed, 19 Jun 2019 17:57:24 +0800
+Subject: [PATCH] db/write_thread.cc: Initialize state
+
+Fixed an error when compiled without -O2:
+db/write_thread.cc:183:14: error: 'state' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ db/write_thread.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/db/write_thread.cc b/db/write_thread.cc
+index 835992c..6f99a11 100644
+--- a/db/write_thread.cc
++++ b/db/write_thread.cc
+@@ -59,7 +59,7 @@ uint8_t WriteThread::BlockingAwaitState(Writer* w, uint8_t goal_mask) {
+
+ uint8_t WriteThread::AwaitState(Writer* w, uint8_t goal_mask,
+ AdaptationContext* ctx) {
+- uint8_t state;
++ uint8_t state = 0;
+
+ // 1. Busy loop using "pause" for 1 micro sec
+ // 2. Else SOMETIMES busy loop using "yield" for 100 micro sec (default)
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb/0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch b/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb/0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch
deleted file mode 100644
index be498974..00000000
--- a/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb/0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 8d65d70b54d1d306a0a0b00e036bc8ddd39d8ec1 Mon Sep 17 00:00:00 2001
-From: "przemyslaw.skibinski@percona.com" <przemyslaw.skibinski@percona.com>
-Date: Fri, 20 Apr 2018 13:28:05 -0700
-Subject: [PATCH] Fix GitHub issue #3716: gcc-8 warnings
-
-Summary:
-Fix the following gcc-8 warnings:
-- conflicting C language linkage declaration [-Werror]
-- writing to an object with no trivial copy-assignment [-Werror=class-memaccess]
-- array subscript -1 is below array bounds [-Werror=array-bounds]
-
-Solves https://github.com/facebook/rocksdb/issues/3716
-Closes https://github.com/facebook/rocksdb/pull/3736
-
-Differential Revision: D7684161
-
-Pulled By: yiwu-arbug
-
-fbshipit-source-id: 47c0423d26b74add251f1d3595211eee1e41e54a
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://github.com/facebook/rocksdb/commit/dee95a1afc6c63515e7d94dec33acdb79638b6d7.patch]
-
- db/c.cc | 77 ++++++++++++++-------------------------
- memtable/inlineskiplist.h | 12 +++---
- 2 files changed, 33 insertions(+), 56 deletions(-)
-
-diff --git a/db/c.cc b/db/c.cc
-index 064103ed4..0d485d096 100644
---- a/db/c.cc
-+++ b/db/c.cc
-@@ -1388,23 +1388,24 @@ void rocksdb_writebatch_put_log_data(
- b->rep.PutLogData(Slice(blob, len));
- }
-
-+class H : public WriteBatch::Handler {
-+ public:
-+ void* state_;
-+ void (*put_)(void*, const char* k, size_t klen, const char* v, size_t vlen);
-+ void (*deleted_)(void*, const char* k, size_t klen);
-+ virtual void Put(const Slice& key, const Slice& value) override {
-+ (*put_)(state_, key.data(), key.size(), value.data(), value.size());
-+ }
-+ virtual void Delete(const Slice& key) override {
-+ (*deleted_)(state_, key.data(), key.size());
-+ }
-+};
-+
- void rocksdb_writebatch_iterate(
- rocksdb_writebatch_t* b,
- void* state,
- void (*put)(void*, const char* k, size_t klen, const char* v, size_t vlen),
- void (*deleted)(void*, const char* k, size_t klen)) {
-- class H : public WriteBatch::Handler {
-- public:
-- void* state_;
-- void (*put_)(void*, const char* k, size_t klen, const char* v, size_t vlen);
-- void (*deleted_)(void*, const char* k, size_t klen);
-- virtual void Put(const Slice& key, const Slice& value) override {
-- (*put_)(state_, key.data(), key.size(), value.data(), value.size());
-- }
-- virtual void Delete(const Slice& key) override {
-- (*deleted_)(state_, key.data(), key.size());
-- }
-- };
- H handler;
- handler.state_ = state;
- handler.put_ = put;
-@@ -1649,18 +1650,6 @@ void rocksdb_writebatch_wi_iterate(
- void* state,
- void (*put)(void*, const char* k, size_t klen, const char* v, size_t vlen),
- void (*deleted)(void*, const char* k, size_t klen)) {
-- class H : public WriteBatch::Handler {
-- public:
-- void* state_;
-- void (*put_)(void*, const char* k, size_t klen, const char* v, size_t vlen);
-- void (*deleted_)(void*, const char* k, size_t klen);
-- virtual void Put(const Slice& key, const Slice& value) override {
-- (*put_)(state_, key.data(), key.size(), value.data(), value.size());
-- }
-- virtual void Delete(const Slice& key) override {
-- (*deleted_)(state_, key.data(), key.size());
-- }
-- };
- H handler;
- handler.state_ = state;
- handler.put_ = put;
-@@ -3109,20 +3098,21 @@ void rocksdb_slicetransform_destroy(rocksdb_slicetransform_t* st) {
- delete st;
- }
-
-+struct Wrapper : public rocksdb_slicetransform_t {
-+ const SliceTransform* rep_;
-+ ~Wrapper() { delete rep_; }
-+ const char* Name() const override { return rep_->Name(); }
-+ Slice Transform(const Slice& src) const override {
-+ return rep_->Transform(src);
-+ }
-+ bool InDomain(const Slice& src) const override {
-+ return rep_->InDomain(src);
-+ }
-+ bool InRange(const Slice& src) const override { return rep_->InRange(src); }
-+ static void DoNothing(void*) { }
-+};
-+
- rocksdb_slicetransform_t* rocksdb_slicetransform_create_fixed_prefix(size_t prefixLen) {
-- struct Wrapper : public rocksdb_slicetransform_t {
-- const SliceTransform* rep_;
-- ~Wrapper() { delete rep_; }
-- const char* Name() const override { return rep_->Name(); }
-- Slice Transform(const Slice& src) const override {
-- return rep_->Transform(src);
-- }
-- bool InDomain(const Slice& src) const override {
-- return rep_->InDomain(src);
-- }
-- bool InRange(const Slice& src) const override { return rep_->InRange(src); }
-- static void DoNothing(void*) { }
-- };
- Wrapper* wrapper = new Wrapper;
- wrapper->rep_ = rocksdb::NewFixedPrefixTransform(prefixLen);
- wrapper->state_ = nullptr;
-@@ -3131,19 +3121,6 @@ rocksdb_slicetransform_t* rocksdb_slicetransform_create_fixed_prefix(size_t pref
- }
-
- rocksdb_slicetransform_t* rocksdb_slicetransform_create_noop() {
-- struct Wrapper : public rocksdb_slicetransform_t {
-- const SliceTransform* rep_;
-- ~Wrapper() { delete rep_; }
-- const char* Name() const override { return rep_->Name(); }
-- Slice Transform(const Slice& src) const override {
-- return rep_->Transform(src);
-- }
-- bool InDomain(const Slice& src) const override {
-- return rep_->InDomain(src);
-- }
-- bool InRange(const Slice& src) const override { return rep_->InRange(src); }
-- static void DoNothing(void*) { }
-- };
- Wrapper* wrapper = new Wrapper;
- wrapper->rep_ = rocksdb::NewNoopTransform();
- wrapper->state_ = nullptr;
-diff --git a/memtable/inlineskiplist.h b/memtable/inlineskiplist.h
-index 702a7336d..eadda1dc1 100644
---- a/memtable/inlineskiplist.h
-+++ b/memtable/inlineskiplist.h
-@@ -280,7 +280,7 @@ struct InlineSkipList<Comparator>::Node {
- // next_[0]. This is used for passing data from AllocateKey to Insert.
- void StashHeight(const int height) {
- assert(sizeof(int) <= sizeof(next_[0]));
-- memcpy(&next_[0], &height, sizeof(int));
-+ memcpy(static_cast<void*>(&next_[0]), &height, sizeof(int));
- }
-
- // Retrieves the value passed to StashHeight. Undefined after a call
-@@ -300,30 +300,30 @@ struct InlineSkipList<Comparator>::Node {
- assert(n >= 0);
- // Use an 'acquire load' so that we observe a fully initialized
- // version of the returned Node.
-- return (next_[-n].load(std::memory_order_acquire));
-+ return ((&next_[0] - n)->load(std::memory_order_acquire));
- }
-
- void SetNext(int n, Node* x) {
- assert(n >= 0);
- // Use a 'release store' so that anybody who reads through this
- // pointer observes a fully initialized version of the inserted node.
-- next_[-n].store(x, std::memory_order_release);
-+ (&next_[0] - n)->store(x, std::memory_order_release);
- }
-
- bool CASNext(int n, Node* expected, Node* x) {
- assert(n >= 0);
-- return next_[-n].compare_exchange_strong(expected, x);
-+ return (&next_[0] - n)->compare_exchange_strong(expected, x);
- }
-
- // No-barrier variants that can be safely used in a few locations.
- Node* NoBarrier_Next(int n) {
- assert(n >= 0);
-- return next_[-n].load(std::memory_order_relaxed);
-+ return (&next_[0] - n)->load(std::memory_order_relaxed);
- }
-
- void NoBarrier_SetNext(int n, Node* x) {
- assert(n >= 0);
-- next_[-n].store(x, std::memory_order_relaxed);
-+ (&next_[0] - n)->store(x, std::memory_order_relaxed);
- }
-
- // Insert node after prev on specific level.
---
-2.17.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
index 594d1a9c..b9038df8 100644
--- a/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
@@ -6,27 +6,38 @@ LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
-SRCREV = "c60df9d9e7629fe208a9b848293a5599f83d5e77"
-SRCBRANCH = "5.13.fb"
-PV = "5.13.1"
+SRCREV = "551a110918493a19d11243f53408b97485de1411"
+SRCBRANCH = "6.6.fb"
+PV = "6.6.4"
SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \
- file://0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch \
+ file://0001-db-write_thread.cc-Initialize-state.patch \
+ file://0001-cmake-Add-check-for-atomic-support.patch \
"
S = "${WORKDIR}/git"
inherit cmake
-PACKAGECONFIG ??= "bzip2 zlib lz4"
+PACKAGECONFIG ??= "bzip2 zlib lz4 gflags"
PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd"
PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
+PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags"
# Tools and tests currently don't compile on armv5 so we disable them
EXTRA_OECMAKE = "\
-DPORTABLE=ON \
-DWITH_TESTS=OFF \
-DWITH_TOOLS=OFF \
+ -DFAIL_ON_WARNINGS=OFF \
"
+
+do_install_append() {
+ # fix for qa check buildpaths
+ sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake
+}
+
+LDFLAGS_append_riscv64 = " -pthread"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch
new file mode 100644
index 00000000..95ec070f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch
@@ -0,0 +1,29 @@
+From 983eeae0792946fe5c090f95164c892ec6db5cc4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 16 Feb 2020 16:22:53 -0800
+Subject: [PATCH] Add RISCV support to GetProgramCounter()
+
+Identify PC register from signal context
+
+Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/621]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ absl/debugging/internal/examine_stack.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
+index 4739fbc..fb77450 100644
+--- a/absl/debugging/internal/examine_stack.cc
++++ b/absl/debugging/internal/examine_stack.cc
+@@ -53,6 +53,8 @@ void* GetProgramCounter(void* vuc) {
+ return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
+ #elif defined(__powerpc__)
+ return reinterpret_cast<void*>(context->uc_mcontext.regs->nip);
++#elif defined(__riscv)
++ return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
+ #elif defined(__s390__) && !defined(__s390x__)
+ return reinterpret_cast<void*>(context->uc_mcontext.psw.addr & 0x7fffffff);
+ #elif defined(__s390__) && defined(__s390x__)
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch
new file mode 100644
index 00000000..e7c9b43c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch
@@ -0,0 +1,74 @@
+From 04e28fdda03b545a0f7b446a784ec2fa7249cbb8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Apr 2020 15:37:40 -0700
+Subject: [PATCH] Fix build on riscv32
+
+Define __NR_mmap in terms of __NR_mmap2 and __NR_futex interms of
+__NR_futex_time64 for rv32, since there calls dont exist for rv32
+
+Also recognise rv32 as a new 32bit platform
+
+Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/675]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ absl/base/internal/direct_mmap.h | 5 +++++
+ absl/base/internal/spinlock_linux.inc | 4 ++++
+ absl/synchronization/internal/waiter.cc | 4 ++++
+ 3 files changed, 13 insertions(+)
+
+diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
+index 5618867..90cfeca 100644
+--- a/absl/base/internal/direct_mmap.h
++++ b/absl/base/internal/direct_mmap.h
+@@ -26,6 +26,10 @@
+
+ #ifdef __linux__
+
++#if !defined(__NR_mmap) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_mmap __NR_mmap2
++#endif
++
+ #include <sys/types.h>
+ #ifdef __BIONIC__
+ #include <sys/syscall.h>
+@@ -72,6 +76,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
+ #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
+ (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) || \
+ (defined(__PPC__) && !defined(__PPC64__)) || \
++ (defined(__riscv) && __riscv_xlen == 32) || \
+ (defined(__s390__) && !defined(__s390x__))
+ // On these architectures, implement mmap with mmap2.
+ static int pagesize = 0;
+diff --git a/absl/base/internal/spinlock_linux.inc b/absl/base/internal/spinlock_linux.inc
+index 323edd6..3dca444 100644
+--- a/absl/base/internal/spinlock_linux.inc
++++ b/absl/base/internal/spinlock_linux.inc
+@@ -14,6 +14,10 @@
+ //
+ // This file is a Linux-specific part of spinlock_wait.cc
+
++#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_futex __NR_futex_time64
++#endif
++
+ #include <linux/futex.h>
+ #include <sys/syscall.h>
+ #include <unistd.h>
+diff --git a/absl/synchronization/internal/waiter.cc b/absl/synchronization/internal/waiter.cc
+index 2949f5a..7411042 100644
+--- a/absl/synchronization/internal/waiter.cc
++++ b/absl/synchronization/internal/waiter.cc
+@@ -24,6 +24,10 @@
+ #include <unistd.h>
+ #endif
+
++#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_futex __NR_futex_time64
++#endif
++
+ #ifdef __linux__
+ #include <linux/futex.h>
+ #include <sys/syscall.h>
+--
+2.26.2
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch
new file mode 100644
index 00000000..4c41cd89
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch
@@ -0,0 +1,53 @@
+From 70926666f7c5c35add363e3bcade6eaabace7206 Mon Sep 17 00:00:00 2001
+From: Sinan Kaya <sinan.kaya@microsoft.com>
+Date: Mon, 3 Feb 2020 03:25:57 +0000
+Subject: [PATCH] Remove maes option from cross-compilation
+
+---
+ absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
+ absl/copts/GENERATED_copts.bzl | 4 ----
+ absl/copts/copts.py | 4 ----
+ 3 files changed, 12 deletions(-)
+
+diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
+index 01bd40b..af99694 100644
+--- a/absl/copts/GENERATED_AbseilCopts.cmake
++++ b/absl/copts/GENERATED_AbseilCopts.cmake
+@@ -230,7 +230,3 @@ list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
+ "/Ob2"
+ )
+
+-list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
+- "-maes"
+- "-msse4.1"
+-)
+diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
+index 82f332f..9a548d1 100644
+--- a/absl/copts/GENERATED_copts.bzl
++++ b/absl/copts/GENERATED_copts.bzl
+@@ -231,7 +231,3 @@ ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
+ "/Ob2",
+ ]
+
+-ABSL_RANDOM_HWAES_X64_FLAGS = [
+- "-maes",
+- "-msse4.1",
+-]
+diff --git a/absl/copts/copts.py b/absl/copts/copts.py
+index 068abce..c2f70fb 100644
+--- a/absl/copts/copts.py
++++ b/absl/copts/copts.py
+@@ -203,10 +203,6 @@ COPT_VARS = {
+ # to improve performance of some random bit generators.
+ "ABSL_RANDOM_HWAES_ARM64_FLAGS": ["-march=armv8-a+crypto"],
+ "ABSL_RANDOM_HWAES_ARM32_FLAGS": ["-mfpu=neon"],
+- "ABSL_RANDOM_HWAES_X64_FLAGS": [
+- "-maes",
+- "-msse4.1",
+- ],
+ "ABSL_RANDOM_HWAES_MSVC_X64_FLAGS": [
+ "/O2", # Maximize speed
+ "/Ob2", # Aggressive inlining
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
new file mode 100644
index 00000000..6bb59d93
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
@@ -0,0 +1,38 @@
+From 14229e8c6f42a96e4d725124193ceefa54e5e1a4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 9 Apr 2020 13:06:27 -0700
+Subject: [PATCH] absl: always use <asm/sgidefs.h>
+
+Fixes mips/musl build, since sgidefs.h is not present on all C libraries
+but on linux asm/sgidefs.h is there and contains same definitions, using
+that makes it portable.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ absl/base/internal/direct_mmap.h | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
+index 2e5e422..c515325 100644
+--- a/absl/base/internal/direct_mmap.h
++++ b/absl/base/internal/direct_mmap.h
+@@ -41,13 +41,9 @@
+
+ #ifdef __mips__
+ // Include definitions of the ABI currently in use.
+-#ifdef __BIONIC__
+-// Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the
++// bionic/musl C libs don't have sgidefs.h, but do have asm/sgidefs.h, which has the
+ // definitions we need.
+ #include <asm/sgidefs.h>
+-#else
+-#include <sgidefs.h>
+-#endif // __BIONIC__
+ #endif // __mips__
+
+ // SYS_mmap and SYS_munmap are not defined in Android.
+--
+2.26.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch
new file mode 100644
index 00000000..fab4a738
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch
@@ -0,0 +1,35 @@
+From 9384735383a0b8688e3f05ed23a53f18863eae20 Mon Sep 17 00:00:00 2001
+From: Sinan Kaya <sinan.kaya@microsoft.com>
+Date: Tue, 11 Feb 2020 11:36:00 -0500
+Subject: [PATCH] Add forgotten ABSL_HAVE_VDSO_SUPPORT conditional
+
+Signed-off-by: Sinan Kaya <sinan.kaya@microsoft.com>
+---
+ absl/debugging/internal/stacktrace_x86-inl.inc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/absl/debugging/internal/stacktrace_x86-inl.inc b/absl/debugging/internal/stacktrace_x86-inl.inc
+index ff0fd31..28607c3 100644
+--- a/absl/debugging/internal/stacktrace_x86-inl.inc
++++ b/absl/debugging/internal/stacktrace_x86-inl.inc
+@@ -171,6 +171,7 @@ static void **NextStackFrame(void **old_fp, const void *uc) {
+ static const unsigned char *kernel_rt_sigreturn_address = nullptr;
+ static const unsigned char *kernel_vsyscall_address = nullptr;
+ if (num_push_instructions == -1) {
++#ifdef ABSL_HAVE_VDSO_SUPPORT
+ absl::debugging_internal::VDSOSupport vdso;
+ if (vdso.IsPresent()) {
+ absl::debugging_internal::VDSOSupport::SymbolInfo
+@@ -199,6 +200,9 @@ static void **NextStackFrame(void **old_fp, const void *uc) {
+ } else {
+ num_push_instructions = 0;
+ }
++#else
++ num_push_instructions = 0;
++#endif
+ }
+ if (num_push_instructions != 0 && kernel_rt_sigreturn_address != nullptr &&
+ old_fp[1] == kernel_rt_sigreturn_address) {
+--
+2.20.1.windows.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch
new file mode 100644
index 00000000..bb78813a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch
@@ -0,0 +1,27 @@
+From d7160d647c8f8847f3ea8d7b0eb222936962c1af Mon Sep 17 00:00:00 2001
+From: Sinan Kaya <sinan.kaya@microsoft.com>
+Date: Tue, 11 Feb 2020 11:58:02 -0500
+Subject: [PATCH] Add fPIC option
+
+Signed-off-by: Sinan Kaya <sinan.kaya@microsoft.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 74a3a4c..4f837b3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -79,6 +79,9 @@ option(ABSL_USE_GOOGLETEST_HEAD
+
+ option(ABSL_RUN_TESTS "If ON, Abseil tests will be run." OFF)
+
++# link fails on arm64 and x86-64 without this
++add_compile_options(-fPIC)
++
+ if(${ABSL_RUN_TESTS})
+ # enable CTest. This will set BUILD_TESTING to ON unless otherwise specified
+ # on the command line
+--
+2.20.1.windows.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
new file mode 100644
index 00000000..e874e4a5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Abseil is a cpp library like STL"
+DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \
+additional useful libraries like algorithm, container, debugging, hash, memory, \
+meta, numeric, strings, synchronization, time, types and utility"
+HOMEPAGE = "https://abseil.io/"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
+
+PV = "20190808+git${SRCPV}"
+SRCREV = "aa844899c937bde5d2b24f276b59997e5b668bde"
+BRANCH = "lts_2019_08_08"
+SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH} \
+ file://0001-Remove-maes-option-from-cross-compilation.patch \
+ file://0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch \
+ file://0003-Add-fPIC-option.patch \
+ file://0001-Add-RISCV-support-to-GetProgramCounter.patch \
+ file://0001-absl-always-use-asm-sgidefs.h.patch \
+ file://0001-Fix-build-on-riscv32.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+DEPENDS_append_libc-musl = " libexecinfo "
+
+ASNEEDED_class-native = ""
+ASNEEDED_class-nativesdk = ""
+
+inherit cmake
+
+BBCLASSEXTEND = "native nativesdk"
+ALLOW_EMPTY_${PN} = "1"
+
+python () {
+ arch = d.getVar("TARGET_ARCH")
+
+ if arch == "aarch64":
+ tunes = d.getVar("TUNE_FEATURES")
+ if not tunes:
+ raise bb.parse.SkipPackage("%s-%s Needs support for crypto on armv8" % (pkgn, pkgv))
+ return
+ pkgn = d.getVar("PN")
+ pkgv = d.getVar("PV")
+ if "crypto" not in tunes:
+ raise bb.parse.SkipPackage("%s-%s Needs support for crypto on armv8" % (pkgn, pkgv))
+
+ if arch == "x86_64":
+ tunes = d.getVar("TUNE_FEATURES")
+ if not tunes:
+ raise bb.parse.SkipPackage("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
+ return
+ pkgn = d.getVar("PN")
+ pkgv = d.getVar("PV")
+ if "corei7" not in tunes:
+ raise bb.parse.SkipPackage("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
+
+}
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup
index f7d99737..26cf30ed 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup
@@ -1,11 +1,23 @@
#!/bin/sh
+[ ! -e /dev/pts ] && mkdir -p /dev/pts
+[ ! -e /dev/pts/0 ] && mount devpts /dev/pts -t devpts
+
# TODO enable the lines below once we have support for getprop
# retrieve the product info from Android
# manufacturer=$(getprop ro.product.manufacturer Android)
# model=$(getprop ro.product.model Android)
# serial=$(getprop ro.serialno 0123456789ABCDEF)
+#below are now needed in order to use FunctionFS for ADB, tested to work with 3.4+ kernels
+if grep -q functionfs /proc/filesystems; then
+ mkdir -p /dev/usb-ffs/adb
+ mount -t functionfs adb /dev/usb-ffs/adb
+ #android-gadget-setup doesn't provide below 2 and without them it won't work, so we provide them here.
+ echo adb > /sys/class/android_usb/android0/f_ffs/aliases
+ echo ffs > /sys/class/android_usb/android0/functions
+fi
+
manufacturer="$(cat /system/build.prop | grep -o 'ro.product.manufacturer=.*' | cut -d'=' -f 2)"
model="$(cat /system/build.prop | grep -o 'ro.product.model=.*' | cut -d'=' -f 2)"
# get the device serial number from /proc/cmdline directly(since we have no getprop on
@@ -17,7 +29,7 @@ echo $manufacturer > /sys/class/android_usb/android0/iManufacturer
echo $model > /sys/class/android_usb/android0/iProduct
echo "0" > /sys/class/android_usb/android0/enable
-echo "18d1" > /sys/class/android_usbid_usb/android0/idVendor
+echo "18d1" > /sys/class/android_usb/android0/idVendor
echo "D002" > /sys/class/android_usb/android0/idProduct
echo "adb" > /sys/class/android_usb/android0/functions
echo "1" > /sys/class/android_usb/android0/enable
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch
new file mode 100644
index 00000000..a8434afb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch
@@ -0,0 +1,189 @@
+From 48ddf4fb999931942c359350fb31cd557514e1c6 Mon Sep 17 00:00:00 2001
+From: Chenxi Mao <maochenxi@eswin.com>
+Date: Mon, 20 Apr 2020 15:27:22 +0800
+Subject: [PATCH 1/1] adb: Support riscv64
+
+---
+ include/cutils/atomic-inline.h | 2 +
+ include/cutils/atomic-riscv64.h | 156 ++++++++++++++++++++++++++++++++
+ 2 files changed, 158 insertions(+)
+ create mode 100644 include/cutils/atomic-riscv64.h
+
+diff --git a/include/cutils/atomic-inline.h b/include/cutils/atomic-inline.h
+index a31e913579..b5dc38209c 100644
+--- a/include/cutils/atomic-inline.h
++++ b/include/cutils/atomic-inline.h
+@@ -55,6 +55,8 @@ extern "C" {
+ #include <cutils/atomic-mips64.h>
+ #elif defined(__mips__)
+ #include <cutils/atomic-mips.h>
++#elif defined(__riscv) && __riscv_xlen == 64
++#include <cutils/atomic-riscv64.h>
+ #else
+ #error atomic operations are unsupported
+ #endif
+diff --git a/include/cutils/atomic-riscv64.h b/include/cutils/atomic-riscv64.h
+new file mode 100644
+index 0000000000..2664db5a86
+--- /dev/null
++++ b/include/cutils/atomic-riscv64.h
+@@ -0,0 +1,156 @@
++/*
++ * Copyright (C) 2014 The Android Open Source Project
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * * Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * * Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
++ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++#ifndef ANDROID_CUTILS_ATOMIC_RISCV64_H
++#define ANDROID_CUTILS_ATOMIC_RISCV64_H
++
++#include <stdint.h>
++
++#ifndef ANDROID_ATOMIC_INLINE
++#define ANDROID_ATOMIC_INLINE inline __attribute__((always_inline))
++#endif
++
++/*
++ TODOAArch64: Revisit the below functions and check for potential
++ optimizations using assembly code or otherwise.
++*/
++
++extern ANDROID_ATOMIC_INLINE
++void android_compiler_barrier(void)
++{
++ __asm__ __volatile__ ("" : : : "memory");
++}
++
++extern ANDROID_ATOMIC_INLINE
++void android_memory_barrier(void)
++{
++ __asm__ __volatile__ ("fence rw,rw" : : : "memory");
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_acquire_load(volatile const int32_t *ptr)
++{
++ int32_t value = *ptr;
++ android_memory_barrier();
++ return value;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_release_load(volatile const int32_t *ptr)
++{
++ android_memory_barrier();
++ return *ptr;
++}
++
++extern ANDROID_ATOMIC_INLINE
++void android_atomic_acquire_store(int32_t value, volatile int32_t *ptr)
++{
++ *ptr = value;
++ android_memory_barrier();
++}
++
++extern ANDROID_ATOMIC_INLINE
++void android_atomic_release_store(int32_t value, volatile int32_t *ptr)
++{
++ android_memory_barrier();
++ *ptr = value;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int android_atomic_cas(int32_t old_value, int32_t new_value,
++ volatile int32_t *ptr)
++{
++ return __sync_val_compare_and_swap(ptr, old_value, new_value) != old_value;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int android_atomic_acquire_cas(int32_t old_value, int32_t new_value,
++ volatile int32_t *ptr)
++{
++ int status = android_atomic_cas(old_value, new_value, ptr);
++ android_memory_barrier();
++ return status;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int android_atomic_release_cas(int32_t old_value, int32_t new_value,
++ volatile int32_t *ptr)
++{
++ android_memory_barrier();
++ return android_atomic_cas(old_value, new_value, ptr);
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_add(int32_t increment, volatile int32_t *ptr)
++{
++ int32_t prev, status;
++ android_memory_barrier();
++ do {
++ prev = *ptr;
++ status = android_atomic_cas(prev, prev + increment, ptr);
++ } while (__builtin_expect(status != 0, 0));
++ return prev;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_inc(volatile int32_t *addr)
++{
++ return android_atomic_add(1, addr);
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_dec(volatile int32_t *addr)
++{
++ return android_atomic_add(-1, addr);
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_and(int32_t value, volatile int32_t *ptr)
++{
++ int32_t prev, status;
++ android_memory_barrier();
++ do {
++ prev = *ptr;
++ status = android_atomic_cas(prev, prev & value, ptr);
++ } while (__builtin_expect(status != 0, 0));
++ return prev;
++}
++
++extern ANDROID_ATOMIC_INLINE
++int32_t android_atomic_or(int32_t value, volatile int32_t *ptr)
++{
++ int32_t prev, status;
++ android_memory_barrier();
++ do {
++ prev = *ptr;
++ status = android_atomic_cas(prev, prev | value, ptr);
++ } while (__builtin_expect(status != 0, 0));
++ return prev;
++}
++
++#endif /* ANDROID_CUTILS_ATOMIC_RISCV_H */
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
new file mode 100644
index 00000000..3ead649b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
@@ -0,0 +1,39 @@
+Description: adb: Make compatible with openssl 1.1
+ OpenSSL version 1.1 brought some API changes which broke the build here,
+ fix that by accessing rsa->n (and e) directly, using RSA_get0_key instead.
+Author: Chirayu Desai <chirayudesai1@gmail.com
+Last-Update: 2016-11-10
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+---
+ system/core/adb/adb_auth_host.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/adb/adb_auth_host.c
++++ b/adb/adb_auth_host.c
+@@ -75,6 +75,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
+ BIGNUM* rem = BN_new();
+ BIGNUM* n = BN_new();
+ BIGNUM* n0inv = BN_new();
++ BIGNUM* e = BN_new();
+
+ if (RSA_size(rsa) != RSANUMBYTES) {
+ ret = 0;
+@@ -82,7 +83,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
+ }
+
+ BN_set_bit(r32, 32);
+- BN_copy(n, rsa->n);
++ RSA_get0_key(rsa, &n, &e, NULL);
+ BN_set_bit(r, RSANUMWORDS * 32);
+ BN_mod_sqr(rr, r, n, ctx);
+ BN_div(NULL, rem, n, r32, ctx);
+@@ -96,7 +97,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
+ BN_div(n, rem, n, r32, ctx);
+ pkey->n[i] = BN_get_word(rem);
+ }
+- pkey->exponent = BN_get_word(rsa->e);
++ pkey->exponent = BN_get_word(e);
+
+ out:
+ BN_free(n0inv);
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch
new file mode 100644
index 00000000..8524517c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch
@@ -0,0 +1,52 @@
+From f4f9d24860e1b5cd4f6a014f3fda7cd33ebe5be7 Mon Sep 17 00:00:00 2001
+From: Petr Lautrbach <plautrba@redhat.com>
+Date: Sat, 27 Jul 2019 08:20:20 -0700
+Subject: [PATCH] libselinux: Do not define gettid() if glibc >= 2.30 is used
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Since version 2.30 glibc implements gettid() system call wrapper, see
+https://sourceware.org/bugzilla/show_bug.cgi?id=6399
+
+Fixes:
+cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I../include -D_GNU_SOURCE -DNO_ANDROID_BACKEND -c -o procattr.o procattr.c
+procattr.c:28:14: error: static declaration of ‘gettid’ follows non-static declaration
+ 28 | static pid_t gettid(void)
+ | ^~~~~~
+In file included from /usr/include/unistd.h:1170,
+ from procattr.c:2:
+/usr/include/bits/unistd_ext.h:34:16: note: previous declaration of ‘gettid’ was here
+ 34 | extern __pid_t gettid (void) __THROW;
+ | ^~~~~~
+
+Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
+Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/procattr.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+--- a/src/procattr.c
++++ b/src/procattr.c
+@@ -8,7 +8,19 @@
+ #include "selinux_internal.h"
+ #include "policy.h"
+
+-#ifndef __BIONIC__
++/* Bionic and glibc >= 2.30 declare gettid() system call wrapper in unistd.h and
++ * has a definition for it */
++#ifdef __BIONIC__
++ #define OVERRIDE_GETTID 0
++#elif !defined(__GLIBC_PREREQ)
++ #define OVERRIDE_GETTID 1
++#elif !__GLIBC_PREREQ(2,29)
++ #define OVERRIDE_GETTID 1
++#else
++ #define OVERRIDE_GETTID 0
++#endif
++
++#if OVERRIDE_GETTID
+ static pid_t gettid(void)
+ {
+ return syscall(__NR_gettid);
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index 2604f65e..fb6125e2 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -4,11 +4,11 @@ LICENSE = "Apache-2.0 & GPL-2.0 & BSD-2-Clause & BSD-3-Clause"
LIC_FILES_CHKSUM = " \
file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \
file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
- file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=8bef8e6712b1be5aa76af1ebde9d6378 \
+ file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=cb641bc04cda31daea161b1bc15da69f \
file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
"
DEPENDS = "libbsd libpcre zlib libcap"
-DEPENDS_append_class-target = " openssl10"
+DEPENDS_append_class-target = " openssl"
ANDROID_MIRROR = "android.googlesource.com"
@@ -37,10 +37,14 @@ SRC_URI = " \
file://core/0010-Use-linux-capability.h-on-linux-systems-too.patch;patchdir=system/core \
file://core/0011-Remove-bionic-specific-calls.patch;patchdir=system/core \
file://core/0012-Fix-implicit-declaration-of-stlcat-strlcopy-function.patch;patchdir=system/core \
+ file://core/adb_libssl_11.diff;patchdir=system/core \
+ file://core/0013-adb-Support-riscv64.patch;patchdir=system/core \
file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \
file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \
file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \
+ file://libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch;patchdir=external/libselinux \
file://android-tools-adbd.service \
+ file://build/0001-Riscv-Add-risc-v-Android-config-header.patch;patchdir=build \
file://gitignore \
file://adb.mk;subdir=${BPN} \
file://adbd.mk;subdir=${BPN} \
@@ -57,6 +61,10 @@ B = "${WORKDIR}/${BPN}"
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
+COMPATIBLE_HOST_powerpc = "(null)"
+COMPATIBLE_HOST_powerpc64 = "(null)"
+COMPATIBLE_HOST_powerpc64le = "(null)"
+
inherit systemd
SYSTEMD_SERVICE_${PN} = "android-tools-adbd.service"
@@ -88,13 +96,19 @@ do_compile() {
aarch64)
export android_arch=linux-arm64
;;
+ riscv64)
+ export android_arch=linux-riscv64
+ ;;
mips|mipsel)
export android_arch=linux-mips
;;
+ mips64|mips64el)
+ export android_arch=linux-mips64
+ ;;
powerpc|powerpc64)
export android_arch=linux-ppc
;;
- i586|x86_64)
+ i586|i686|x86_64)
export android_arch=linux-x86
;;
esac
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb b/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
new file mode 100644
index 00000000..a54a7331
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
@@ -0,0 +1,67 @@
+SUMMARY = "A GNU tool that produce shell scripts to automatically configure software"
+DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \
+configure software source code packages. Autoconf creates a configuration script for a package from a template \
+file that lists the operating system features that the package can use, in the form of M4 macro calls."
+SECTION = "devel"
+
+HOMEPAGE = "http://www.gnu.org/software/autoconf/"
+
+LICENSE = "GPLv3"
+LICENSE = "GPLv2 & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+SRC_URI = " \
+ ${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.gz \
+ file://0001-Add-config.guess-config.sub-install-to-destdir.patch \
+"
+
+S = "${WORKDIR}/${BPN}"
+SRC_URI[md5sum] = "9de56d4a161a723228220b0f425dc711"
+SRC_URI[sha256sum] = "f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e"
+
+inherit native texinfo
+
+DEPENDS += "m4-native gnu-config-native"
+RDEPENDS_${PN} = "m4-native gnu-config-native"
+
+PERL = "${USRBINPATH}/perl"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='${PERL}'"
+
+CONFIGUREOPTS = " \
+ --build=${BUILD_SYS} \
+ --host=${HOST_SYS} \
+ --target=${TARGET_SYS} \
+ --prefix=${prefix} \
+ --exec_prefix=${exec_prefix} \
+ --bindir=${bindir} \
+ --sbindir=${sbindir} \
+ --libexecdir=${libexecdir} \
+ --datadir=${datadir} \
+ --sysconfdir=${sysconfdir} \
+ --sharedstatedir=${sharedstatedir} \
+ --localstatedir=${localstatedir} \
+ --libdir=${libdir} \
+ --includedir=${includedir} \
+ --oldincludedir=${oldincludedir} \
+ --infodir=${infodir} \
+ --mandir=${mandir} \
+ --disable-silent-rules \
+"
+
+EXTRA_OECONF += "ac_cv_path_M4=m4 ac_cv_prog_TEST_EMACS=no"
+
+do_configure() {
+ ./configure ${CONFIGUREOPTS}
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+
+ # avoid conflicts with standard autotools
+ ver="213"
+ for file in `find ${D}${bindir} -type f`; do
+ mv $file $file$ver
+ done
+ mv ${D}${datadir}/autoconf ${D}${datadir}/autoconf213
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch b/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch
new file mode 100644
index 00000000..f6e9ecb9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13/0001-Add-config.guess-config.sub-install-to-destdir.patch
@@ -0,0 +1,67 @@
+From 3d3e23f7b14e87849405a4e109a69b76696615fc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 11 Dec 2019 23:18:19 +0100
+Subject: [PATCH] Add config.guess config.sub / install to destdir
+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@gmail.com>
+---
+ Makefile.in | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index a6c94d4..4b1b708 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -137,23 +137,23 @@ installcheck: all install
+ cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
+
+ installdirs:
+- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
++ $(SHELL) ${srcdir}/mkinstalldirs ${DESTDIR}$(bindir) ${DESTDIR}$(infodir) ${DESTDIR}$(acdatadir)
+
+ install: all $(M4FILES) acconfig.h installdirs install-info
+ for p in $(ASCRIPTS); do \
+- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
++ $(INSTALL_PROGRAM) $$p ${DESTDIR}$(bindir)/`echo $$p|sed '$(transform)'`; \
+ done
+ for i in $(M4FROZEN); do \
+- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \
++ $(INSTALL_DATA) $$i ${DESTDIR}$(acdatadir)/$$i; \
+ done
+ for i in $(M4FILES) acconfig.h; do \
+- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
++ $(INSTALL_DATA) $(srcdir)/$$i ${DESTDIR}$(acdatadir)/$$i; \
+ done
+ -if test -f autoscan; then \
+- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
++ $(INSTALL_PROGRAM) autoscan ${DESTDIR}$(bindir)/`echo autoscan|sed '$(transform)'`; \
+ for i in acfunctions acheaders acidentifiers acprograms \
+- acmakevars; do \
+- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
++ acmakevars config.guess config.sub; do \
++ $(INSTALL_DATA) $(srcdir)/$$i ${DESTDIR}$(acdatadir)/$$i; \
+ done; \
+ else :; fi
+
+@@ -161,11 +161,11 @@ install: all $(M4FILES) acconfig.h installdirs install-info
+ install-info: info installdirs
+ if test -f autoconf.info; then \
+ for i in *.info*; do \
+- $(INSTALL_DATA) $$i $(infodir)/$$i; \
++ $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/$$i; \
+ done; \
+ else \
+ for i in $(srcdir)/*.info*; do \
+- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
++ $(INSTALL_DATA) $$i ${DESTDIR}$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
+ done; \
+ fi
+
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch
new file mode 100644
index 00000000..6e584909
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch
@@ -0,0 +1,61 @@
+From 5c63eb5d56abd4e5232add4727247965a863d851 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 15 Dec 2019 14:02:45 -0800
+Subject: [PATCH] Do not add stack pointer to clobber list
+
+It was being ignored until now when gcc 9.0 became capable
+of flagging these silent ignore via [1].
+
+We weren't actually clobbering the stack pointers here
+so it should not cause change in behavior.
+
+[1] https://gcc.gnu.org/PR52813
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ linux_syscall_support.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/linux_syscall_support.h b/linux_syscall_support.h
+index 9276f56..6e73309 100644
+--- a/linux_syscall_support.h
++++ b/linux_syscall_support.h
+@@ -1955,7 +1955,7 @@ struct kernel_statfs {
+ LSS_ENTRYPOINT \
+ "pop %%ebx" \
+ args \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res)
+ #undef _syscall0
+ #define _syscall0(type,name) \
+@@ -2012,7 +2012,7 @@ struct kernel_statfs {
+ : "i" (__NR_##name), "ri" ((long)(arg1)), \
+ "c" ((long)(arg2)), "d" ((long)(arg3)), \
+ "S" ((long)(arg4)), "D" ((long)(arg5)) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ #undef _syscall6
+@@ -2034,7 +2034,7 @@ struct kernel_statfs {
+ : "i" (__NR_##name), "0" ((long)(&__s)), \
+ "c" ((long)(arg2)), "d" ((long)(arg3)), \
+ "S" ((long)(arg4)), "D" ((long)(arg5)) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
+@@ -2120,7 +2120,7 @@ struct kernel_statfs {
+ : "0"(-EINVAL), "i"(__NR_clone),
+ "m"(fn), "m"(child_stack), "m"(flags), "m"(arg),
+ "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr)
+- : "esp", "memory", "ecx", "edx", "esi", "edi");
++ : "memory", "ecx", "edx", "esi", "edi");
+ LSS_RETURN(int, __res);
+ }
+
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch
deleted file mode 100644
index 07cb8a36..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-From b90c8f3b60bfe5dbed2823620242e9d30b9eb28f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 28 Jun 2017 19:01:18 -0700
-Subject: [PATCH] Replace use of struct ucontext with ucontext_t
-
-glibc 2.26 would not expose struct ucontext anymore
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- .../linux/dump_writer_common/ucontext_reader.cc | 32 +++++++++++-----------
- .../linux/dump_writer_common/ucontext_reader.h | 14 +++++-----
- src/client/linux/handler/exception_handler.cc | 10 +++----
- src/client/linux/handler/exception_handler.h | 4 +--
- .../linux/microdump_writer/microdump_writer.cc | 2 +-
- .../linux/minidump_writer/minidump_writer.cc | 2 +-
- 6 files changed, 32 insertions(+), 32 deletions(-)
-
-diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc
-index c80724dd..052ce37c 100644
---- a/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ b/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -36,19 +36,19 @@ namespace google_breakpad {
-
- // Minidump defines register structures which are different from the raw
- // structures which we get from the kernel. These are platform specific
--// functions to juggle the ucontext and user structures into minidump format.
-+// functions to juggle the ucontext_t and user structures into minidump format.
-
- #if defined(__i386__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_ESP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_EIP];
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fp) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
-@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__x86_64)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_RSP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_RIP];
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fpregs) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
-@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__ARM_EABI__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.arm_sp;
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.arm_pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
- out->context_flags = MD_CONTEXT_ARM_FULL;
-
- out->iregs[0] = uc->uc_mcontext.arm_r0;
-@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-
- #elif defined(__aarch64__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.sp;
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct fpsimd_context* fpregs) {
- out->context_flags = MD_CONTEXT_ARM64_FULL;
-
-@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__mips__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
- #if _MIPS_SIM == _ABI64
- out->context_flags = MD_CONTEXT_MIPS64_FULL;
- #elif _MIPS_SIM == _ABIO32
-diff --git a/src/client/linux/dump_writer_common/ucontext_reader.h b/src/client/linux/dump_writer_common/ucontext_reader.h
-index b6e77b4b..2de80b70 100644
---- a/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ b/src/client/linux/dump_writer_common/ucontext_reader.h
-@@ -39,23 +39,23 @@
-
- namespace google_breakpad {
-
--// Wraps platform-dependent implementations of accessors to ucontext structs.
-+// Wraps platform-dependent implementations of accessors to ucontext_t structs.
- struct UContextReader {
-- static uintptr_t GetStackPointer(const struct ucontext* uc);
-+ static uintptr_t GetStackPointer(const ucontext_t* uc);
-
-- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
-+ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
-
-- // Juggle a arch-specific ucontext into a minidump format
-+ // Juggle a arch-specific ucontext_t into a minidump format
- // out: the minidump structure
- // info: the collection of register structures.
- #if defined(__i386__) || defined(__x86_64)
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fp);
- #elif defined(__aarch64__)
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct fpsimd_context* fpregs);
- #else
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
- #endif
- };
-
-diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
-index 586d84e9..05936d28 100644
---- a/src/client/linux/handler/exception_handler.cc
-+++ b/src/client/linux/handler/exception_handler.cc
-@@ -457,9 +457,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
- // Fill in all the holes in the struct to make Valgrind happy.
- memset(&g_crash_context_, 0, sizeof(g_crash_context_));
- memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
-- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
-+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
- #if defined(__aarch64__)
-- struct ucontext* uc_ptr = (struct ucontext*)uc;
-+ ucontext_t* uc_ptr = (ucontext_t*)uc;
- struct fpsimd_context* fp_ptr =
- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
- if (fp_ptr->head.magic == FPSIMD_MAGIC) {
-@@ -468,9 +468,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
- }
- #elif !defined(__ARM_EABI__) && !defined(__mips__)
- // FP state is not part of user ABI on ARM Linux.
-- // In case of MIPS Linux FP state is already part of struct ucontext
-+ // In case of MIPS Linux FP state is already part of ucontext_t
- // and 'float_state' is not a member of CrashContext.
-- struct ucontext* uc_ptr = (struct ucontext*)uc;
-+ ucontext_t* uc_ptr = (ucontext_t*)uc;
- if (uc_ptr->uc_mcontext.fpregs) {
- memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
- sizeof(g_crash_context_.float_state));
-@@ -494,7 +494,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
- // ExceptionHandler::HandleSignal().
- siginfo.si_code = SI_USER;
- siginfo.si_pid = getpid();
-- struct ucontext context;
-+ ucontext_t context;
- getcontext(&context);
- return HandleSignal(sig, &siginfo, &context);
- }
-diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h
-index daba57e0..25598a29 100644
---- a/src/client/linux/handler/exception_handler.h
-+++ b/src/client/linux/handler/exception_handler.h
-@@ -191,11 +191,11 @@ class ExceptionHandler {
- struct CrashContext {
- siginfo_t siginfo;
- pid_t tid; // the crashing thread.
-- struct ucontext context;
-+ ucontext_t context;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- // #ifdef this out because FP state is not part of user ABI for Linux ARM.
- // In case of MIPS Linux FP state is already part of struct
-- // ucontext so 'float_state' is not required.
-+ // ucontext_t so 'float_state' is not required.
- fpstate_t float_state;
- #endif
- };
-diff --git a/src/client/linux/microdump_writer/microdump_writer.cc b/src/client/linux/microdump_writer/microdump_writer.cc
-index 3764eec2..80ad5c46 100644
---- a/src/client/linux/microdump_writer/microdump_writer.cc
-+++ b/src/client/linux/microdump_writer/microdump_writer.cc
-@@ -593,7 +593,7 @@ class MicrodumpWriter {
-
- void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
-
-- const struct ucontext* const ucontext_;
-+ const ucontext_t* const ucontext_;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- const google_breakpad::fpstate_t* const float_state_;
- #endif
-diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc
-index d11ba6e5..c7161434 100644
---- a/src/client/linux/minidump_writer/minidump_writer.cc
-+++ b/src/client/linux/minidump_writer/minidump_writer.cc
-@@ -1323,7 +1323,7 @@ class MinidumpWriter {
- const int fd_; // File descriptor where the minidum should be written.
- const char* path_; // Path to the file where the minidum should be written.
-
-- const struct ucontext* const ucontext_; // also from the signal handler
-+ const ucontext_t* const ucontext_; // also from the signal handler
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- const google_breakpad::fpstate_t* const float_state_; // ditto
- #endif
---
-2.13.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
index bc79727e..466abe5f 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
@@ -8,11 +8,9 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
src/client/linux/handler/exception_handler.cc | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
-Index: git/src/client/linux/handler/exception_handler.cc
-===================================================================
---- git.orig/src/client/linux/handler/exception_handler.cc
-+++ git/src/client/linux/handler/exception_handler.cc
-@@ -495,7 +495,19 @@ bool ExceptionHandler::SimulateSignalDel
+--- a/src/client/linux/handler/exception_handler.cc
++++ b/src/client/linux/handler/exception_handler.cc
+@@ -490,7 +490,19 @@ bool ExceptionHandler::SimulateSignalDel
siginfo.si_code = SI_USER;
siginfo.si_pid = getpid();
ucontext_t context;
@@ -32,7 +30,7 @@ Index: git/src/client/linux/handler/exception_handler.cc
return HandleSignal(sig, &siginfo, &context);
}
-@@ -680,9 +692,14 @@ bool ExceptionHandler::WriteMinidump() {
+@@ -675,9 +687,14 @@ bool ExceptionHandler::WriteMinidump() {
sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
CrashContext context;
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch
index 2b892ad6..bdd787af 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch
@@ -8,11 +8,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
linux_syscall_support.h | 3 +++
1 file changed, 3 insertions(+)
-Index: lss/linux_syscall_support.h
-===================================================================
---- lss.orig/linux_syscall_support.h
-+++ lss/linux_syscall_support.h
-@@ -793,6 +793,9 @@ struct kernel_statfs {
+--- a/linux_syscall_support.h
++++ b/linux_syscall_support.h
+@@ -816,6 +816,9 @@ struct kernel_statfs {
#define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)
#endif
@@ -22,7 +20,7 @@ Index: lss/linux_syscall_support.h
#if defined(__x86_64__)
#ifndef ARCH_SET_GS
-@@ -924,6 +927,7 @@ struct kernel_statfs {
+@@ -947,6 +950,7 @@ struct kernel_statfs {
#ifndef __NR_fallocate
#define __NR_fallocate 324
#endif
@@ -30,7 +28,7 @@ Index: lss/linux_syscall_support.h
/* End of i386 definitions */
#elif defined(__ARM_ARCH_3__) || defined(__ARM_EABI__)
#ifndef __NR_setresuid
-@@ -1211,6 +1215,12 @@ struct kernel_statfs {
+@@ -1239,6 +1243,12 @@ struct kernel_statfs {
#ifndef __NR_fallocate
#define __NR_fallocate 285
#endif
@@ -43,3 +41,16 @@ Index: lss/linux_syscall_support.h
/* End of x86-64 definitions */
#elif defined(__mips__)
#if _MIPS_SIM == _MIPS_SIM_ABI32
+@@ -1418,6 +1428,12 @@ struct kernel_statfs {
+ #ifndef __NR_ioprio_get
+ #define __NR_ioprio_get (__NR_Linux + 274)
+ #endif
++
++#undef __NR_pread
++#define __NR_pread __NR_pread64
++#undef __NR_pwrite
++#define __NR_pwrite __NR_pwrite64
++
+ /* End of MIPS (64bit API) definitions */
+ #else
+ #ifndef __NR_setresuid
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch
deleted file mode 100644
index bc628298..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 806964f852773e427fea82a7716d44ce3be4498c Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Sun, 1 Feb 2015 14:27:32 +0100
-Subject: [PATCH 2/3] Avoid using basename
-
----
- src/common/linux/dump_symbols.cc | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/common/linux/dump_symbols.cc b/src/common/linux/dump_symbols.cc
-index d029ca14..6ac4a17b 100644
---- a/src/common/linux/dump_symbols.cc
-+++ b/src/common/linux/dump_symbols.cc
-@@ -881,9 +881,9 @@ const char* ElfArchitecture(const typename ElfClass::Ehdr* elf_header) {
- // last slash, or the whole filename if there are no slashes.
- string BaseFileName(const string &filename) {
- // Lots of copies! basename's behavior is less than ideal.
-- char* c_filename = strdup(filename.c_str());
-- string base = basename(c_filename);
-- free(c_filename);
-+ const char *c_filename = filename.c_str();
-+ const char *p = strrchr(c_filename, '/');
-+ string base = p ? p+1 : c_filename;
- return base;
- }
-
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch
deleted file mode 100644
index 852c1ed2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From bbf2b5ed5d93b227df8aea5726727b48e29f6790 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 14 Sep 2017 23:35:40 -0700
-Subject: [PATCH 5/5] md2core: Replace basename()
-
-musl does not provide it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/tools/linux/md2core/minidump-2-core.cc | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/tools/linux/md2core/minidump-2-core.cc b/src/tools/linux/md2core/minidump-2-core.cc
-index 6a9e28eb..52b81c22 100644
---- a/src/tools/linux/md2core/minidump-2-core.cc
-+++ b/src/tools/linux/md2core/minidump-2-core.cc
-@@ -107,6 +107,9 @@ struct Options {
-
- static void
- Usage(int argc, const char* argv[]) {
-+ const char *c_filename = argv[0];;
-+ const char *p = strrchr(c_filename, '/');
-+ const char *base = p ? p+1 : c_filename;
- fprintf(stderr,
- "Usage: %s [options] <minidump file>\n"
- "\n"
-@@ -133,7 +136,7 @@ Usage(int argc, const char* argv[]) {
- " lookups to be done in this directory rather than the filesystem\n"
- " layout as it exists in the crashing image. This path should end\n"
- " with a slash if it's a directory. e.g. /var/lib/breakpad/\n"
-- "", basename(argv[0]));
-+ "", base);
- }
-
- static void
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch
index 42e073b9..51393967 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch
@@ -3,48 +3,6 @@ map the mcontext_t structure for musl
Upstream-Status: Inappropriate[need to consider Android]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: git/src/client/linux/dump_writer_common/thread_info.cc
-===================================================================
---- git.orig/src/client/linux/dump_writer_common/thread_info.cc
-+++ git/src/client/linux/dump_writer_common/thread_info.cc
-@@ -229,7 +229,6 @@ void ThreadInfo::FillCPUContext(RawConte
- }
-
- #elif defined(__mips__)
--
- uintptr_t ThreadInfo::GetInstructionPointer() const {
- return mcontext.pc;
- }
-@@ -263,8 +262,11 @@ void ThreadInfo::FillCPUContext(RawConte
- out->cause = 0; // Not stored in mcontext
-
- for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i)
-+#ifdef __GLIBC__
- out->float_save.regs[i] = mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs;
--
-+#else
-+ out->float_save.regs[i] = mcontext.fpregs[i];
-+#endif
- out->float_save.fpcsr = mcontext.fpc_csr;
- #if _MIPS_SIM == _ABIO32
- out->float_save.fir = mcontext.fpc_eir;
-Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc
-===================================================================
---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ git/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -247,8 +247,11 @@ void UContextReader::FillCPUContext(RawC
- out->cause = 0; // Not reported in signal context.
-
- for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i)
-+#ifdef __GLIBC__
- out->float_save.regs[i] = uc->uc_mcontext.fpregs.fp_r.fp_dregs[i];
--
-+#else
-+ out->float_save.regs[i] = uc->uc_mcontext.fpregs[i];
-+#endif
- out->float_save.fpcsr = uc->uc_mcontext.fpc_csr;
- #if _MIPS_SIM == _ABIO32
- out->float_save.fir = uc->uc_mcontext.fpc_eir; // Unused.
Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc
===================================================================
--- git.orig/src/client/linux/minidump_writer/linux_core_dumper.cc
@@ -58,20 +16,3 @@ Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc
for (int i = EF_R0; i <= EF_R31; i++)
info.mcontext.gregs[i - EF_R0] = status->pr_reg[i];
#else // __ANDROID__
-Index: git/src/tools/linux/md2core/minidump-2-core.cc
-===================================================================
---- git.orig/src/tools/linux/md2core/minidump-2-core.cc
-+++ git/src/tools/linux/md2core/minidump-2-core.cc
-@@ -516,8 +516,12 @@ ParseThreadRegisters(CrashedProcess::Thr
- thread->mcontext.lo3 = rawregs->lo[2];
-
- for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) {
-+#ifdef __GLIBC__
- thread->mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs =
- rawregs->float_save.regs[i];
-+#else
-+ thread->mcontext.fpregs[i] = rawregs->float_save.regs[i];
-+#endif
- }
-
- thread->mcontext.fpc_csr = rawregs->float_save.fpcsr;
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index d9773c9a..daf262ed 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -13,16 +13,17 @@ inherit autotools
BBCLASSEXTEND = "native"
-PE = "1"
+PE = "2"
-PV = "1.0+git${SRCPV}"
+PV = "1.0"
SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp"
-SRCREV_breakpad = "dea867e76f24e4a68395684b9d1cf24bcef82f20"
-SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780"
+SRCREV_breakpad = "0c0e24f709288a129d665ec27d6f089189318385"
+#v1.10.0
+SRCREV_gtest = "5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
-SRCREV_lss = "a91633d172407f6c83dd69af11510b37afebb7f9"
+SRCREV_lss = "8048ece6c16c91acfe0d36d1d3cc0890ab6e945c"
SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770"
SRC_URI = "git://github.com/google/breakpad;name=breakpad \
@@ -30,26 +31,26 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad \
git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \
git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \
git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \
- file://0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch \
file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \
- file://0002-Avoid-using-basename.patch \
file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \
file://0001-Turn-off-sign-compare-for-musl-libc.patch \
file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \
file://0003-Dont-include-stab.h.patch \
file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \
- file://0005-md2core-Replace-basename.patch \
file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \
file://mcontext.patch \
file://0001-disable-calls-to-getcontext-with-musl.patch \
file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
+ file://0001-Do-not-add-stack-pointer-to-clobber-list.patch;patchdir=src/third_party/lss \
"
S = "${WORKDIR}/git"
CXXFLAGS += "-D_GNU_SOURCE"
-COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
+COMPATIBLE_HOST_powerpc = "null"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
do_install_append() {
install -d ${D}${includedir}
@@ -72,7 +73,7 @@ do_install_append() {
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/memory_allocator.h ${D}${includedir}/breakpad/common/memory_allocator.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
@@ -120,4 +121,7 @@ breakpad_populate_sysroot() {
#| {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"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv4 = "arm"
+
+TOOLCHAIN = "gcc"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb
deleted file mode 100644
index 6ca3613d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Cap'n Proto serialization/RPC system"
-DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
-HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
-SECTION = "console/tools"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=0a5b5b742baf10cc1c158579eba7fb1d"
-
-SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV}"
-SRCREV = "c949a18da5f041a36cc218c5c4b79c7705999b4f"
-
-S = "${WORKDIR}/git/c++"
-
-inherit cmake
-
-EXTRA_OECMAKE += "\
- -DBUILD_TESTING=OFF \
-"
-
-FILES_${PN}-compiler = "${bindir}"
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb
new file mode 100644
index 00000000..c6bab5ec
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Cap'n Proto serialization/RPC system"
+DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
+HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
+SECTION = "console/tools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
+
+SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV}"
+SRCREV = "3f44c6db0f0f6c0cab0633f15f15d0a2acd01d19"
+
+S = "${WORKDIR}/git/c++"
+
+inherit cmake
+
+EXTRA_OECMAKE += "\
+ -DBUILD_TESTING=OFF \
+"
+
+FILES_${PN}-compiler = "${bindir}"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch
new file mode 100644
index 00000000..daf90ad4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch
@@ -0,0 +1,67 @@
+From a3eba0fcee5e96ef47a6d3fac7196a1074f0dc17 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@stusta.de>
+Date: Wed, 30 Oct 2019 11:07:23 +0200
+Subject: Avoid use of "mips" which is reserved on mips
+
+Upstream-Status: Submitted [https://github.com/brasko/gdbwire/pull/9]
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+
+diff --git a/src/gdbwire_mi_parser.c b/src/gdbwire_mi_parser.c
+index 3f6b563..24aa0cf 100644
+--- a/lib/tgdb/gdbwire.c
++++ b/lib/tgdb/gdbwire.c
+@@ -40,7 +40,7 @@ struct gdbwire_mi_parser {
+ /* The GDB/MI lexer state */
+ yyscan_t mils;
+ /* The GDB/MI push parser state */
+- gdbwire_mi_pstate *mips;
++ gdbwire_mi_pstate *mipst;
+ /* The client parser callbacks */
+ struct gdbwire_mi_parser_callbacks callbacks;
+ };
+@@ -71,8 +71,8 @@ gdbwire_mi_parser_create(struct gdbwire_mi_parser_callbacks callbacks)
+ }
+
+ /* Create a new push parser state instance */
+- parser->mips = gdbwire_mi_pstate_new();
+- if (!parser->mips) {
++ parser->mipst = gdbwire_mi_pstate_new();
++ if (!parser->mipst) {
+ gdbwire_mi_lex_destroy(parser->mils);
+ gdbwire_string_destroy(parser->buffer);
+ free(parser);
+@@ -81,7 +81,7 @@ gdbwire_mi_parser_create(struct gdbwire_mi_parser_callbacks callbacks)
+
+ /* Ensure that the callbacks are non null */
+ if (!callbacks.gdbwire_mi_output_callback) {
+- gdbwire_mi_pstate_delete(parser->mips);
++ gdbwire_mi_pstate_delete(parser->mipst);
+ gdbwire_mi_lex_destroy(parser->mils);
+ gdbwire_string_destroy(parser->buffer);
+ free(parser);
+@@ -109,9 +109,9 @@ void gdbwire_mi_parser_destroy(struct gdbwire_mi_parser *parser)
+ }
+
+ /* Free the push parser instance */
+- if (parser->mips) {
+- gdbwire_mi_pstate_delete(parser->mips);
+- parser->mips = NULL;
++ if (parser->mipst) {
++ gdbwire_mi_pstate_delete(parser->mipst);
++ parser->mipst = NULL;
+ }
+
+ free(parser);
+@@ -162,7 +162,7 @@ gdbwire_mi_parser_parse_line(struct gdbwire_mi_parser *parser,
+ pattern = gdbwire_mi_lex(parser->mils);
+ if (pattern == 0)
+ break;
+- mi_status = gdbwire_mi_push_parse(parser->mips, pattern, NULL,
++ mi_status = gdbwire_mi_push_parse(parser->mipst, pattern, NULL,
+ parser->mils, &output);
+ } while (mi_status == YYPUSH_MORE);
+
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch
deleted file mode 100644
index 4358629b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Disable building manpages so that make install doesn't fail due to lack of help2man
-
-Upstream-Status: Inappropriate [config]
-
-Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
----
- configure.ac | 3 ---
- doc/Makefile.am | 5 -----
- 2 files changed, 8 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ee7eca0..1f0d924 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -134,9 +134,6 @@ dnl check that the required tools are available to generate documentation
- if test "$HAS_MAKEINFO" != "yes" ; then
- AC_MSG_ERROR([Please install makeinfo before installing])
- fi
--if test "$HAS_HELP2MAN" != "yes" ; then
-- AC_MSG_ERROR([Please install help2man])
--fi
-
- dnl Checking for log10 function in math - I would like to remove this
- AC_CHECK_LIB(m, log10)
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index 60662f6..0ae0013 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -1,15 +1,10 @@
- info_TEXINFOS = cgdb.texi
- cgdb_TEXINFOS = gpl.texi
-
--dist_man_MANS = cgdb.1
- EXTRA_DIST = cgdb.txt
-
- dist_pkgdata_DATA = cgdb.txt
-
--# generate the man page using help2man.
--cgdb.1:
-- help2man --output=$(top_srcdir)/doc/cgdb.1 $(top_builddir)/cgdb/cgdb$(EXEEXT)
--
- cgdb.txt: cgdb.texi $(srcdir)/version.texi $(cgdb_TEXINFOS)
- TEXTS = cgdb.txt
- text-am: $(TEXTS)
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb
deleted file mode 100644
index 74019fb6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "curses-based interface to GDB"
-DESCRIPTION = "cgdb is a lightweight curses (terminal-based) interface to the GNU Debugger (GDB)."
-HOMEPAGE = "http://cgdb.github.io/"
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "flex-native readline ncurses"
-
-inherit autotools
-
-SRC_URI = "http://cgdb.me/files/${BP}.tar.gz \
- file://remove-help2man.patch"
-SRC_URI[md5sum] = "7bd38c79bf4d794d239928fef401fca3"
-SRC_URI[sha256sum] = "be203e29be295097439ab67efe3dc8261f742c55ff3647718d67d52891f4cf41"
-
-CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2"
-EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \
- --with-ncurses=${STAGING_LIBDIR}"
-
-RDEPENDS_${PN} = "gdb"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
new file mode 100644
index 00000000..9d373fc9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "curses-based interface to GDB"
+DESCRIPTION = "cgdb is a lightweight curses (terminal-based) interface to the GNU Debugger (GDB)."
+HOMEPAGE = "http://cgdb.github.io/"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "flex-native readline ncurses"
+
+inherit autotools texinfo
+
+SRC_URI = "http://cgdb.me/files/${BP}.tar.gz \
+ file://0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch \
+"
+SRC_URI[md5sum] = "a104862ffd3145b076303992e9a3af26"
+SRC_URI[sha256sum] = "bb723be58ec68cb59a598b8e24a31d10ef31e0e9c277a4de07b2f457fe7de198"
+
+CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2 ac_cv_file__proc_self_status=yes"
+EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \
+ --with-ncurses=${STAGING_LIBDIR}"
+
+RDEPENDS_${PN} = "gdb"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb
new file mode 100644
index 00000000..e6174821
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.13.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Ultralightweight JSON parser in ANSI C"
+AUTHOR = "Dave Gamble"
+HOMEPAGE = "https://github.com/DaveGamble/cJSON"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0"
+
+SRC_URI = "git://github.com/DaveGamble/cJSON.git"
+SRCREV = "39853e5148dad8dc5d32ea2b00943cf4a0c6f120"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE += "\
+ -DENABLE_CJSON_UTILS=On \
+ -DENABLE_CUSTOM_COMPILER_FLAGS=OFF \
+ -DBUILD_SHARED_AND_STATIC_LIBS=On \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb
new file mode 100644
index 00000000..3e46c726
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Count blank lines, comment lines, and physical lines of source code \
+in many programming languages."
+AUTHOR = "Al Danial"
+
+LICENSE="GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
+
+SRC_URI = "https://github.com/AlDanial/cloc/releases/download/${PV}/${BP}.tar.gz"
+SRC_URI[md5sum] = "a52f3843825377cfa4e4b3b30a567ab4"
+SRC_URI[sha256sum] = "c3f0a6bd2319110418ccb3e55a7a1b6d0edfd7528bfd2ae5d530938abe90f254"
+
+UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc
+}
+
+RDEPENDS_${PN} = "perl perl-modules"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service b/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service
deleted file mode 100644
index cb9b6e2d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
-<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
-
-<service-group>
- <name replace-wildcards="yes">Cloud9 IDE on %h</name>
- <service>
- <type>_http._tcp</type>
- <port>3000</port>
- </service>
-</service-group>
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service b/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service
deleted file mode 100644
index 495b131f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Cloud9 IDE
-ConditionPathExists=|/var/lib/cloud9
-
-[Service]
-Restart=always
-EnvironmentFile=-/etc/default/node
-ExecStart=/usr/bin/node4 /usr/share/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000
-
-[Install]
-WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js b/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js
deleted file mode 100644
index 88c9a19f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var o3 = require('./o3.js')
-module.exports = o3.xml;
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
index 19767c31..8c6cf7db 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -21,6 +21,7 @@ COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*"
inherit autotools-brokensep
PLAT_powerpc64 = "ppc64"
+PLAT_powerpc64le = "ppc64"
PLAT ?= "${HOST_ARCH}"
do_configure () {
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb
deleted file mode 100644
index 533a0002..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20180519.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Linux tool to dump x86 CPUID information about the CPU(s)"
-DESCRIPTION = "cpuid dumps detailed information about the CPU(s) gathered \
-from the CPUID instruction, and also determines the exact model of CPU(s). \
-It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
-UMC, NexGen, Rise, and SiS CPUs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz \
- "
-SRC_URI[md5sum] = "b3b4e44ef49575043a91def0207dcc76"
-SRC_URI[sha256sum] = "967823be36f23cbc972eb0aa882d069c1d155a5978990ac3bcf425e6a2e7ff9a"
-
-COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
-
-# The install rule from the Makefile has hardcoded paths, so we duplicate
-# the actions to accommodate different paths.
-do_install () {
- install -D -m 0755 ${B}/cpuid ${D}/${bindir}/cpuid
- install -D -m 0444 ${B}/cpuid.man.gz ${D}/${mandir}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200211.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200211.bb
new file mode 100644
index 00000000..56462a91
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200211.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Linux tool to dump x86 CPUID information about the CPU(s)"
+DESCRIPTION = "cpuid dumps detailed information about the CPU(s) gathered \
+from the CPUID instruction, and also determines the exact model of CPU(s). \
+It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
+UMC, NexGen, Rise, and SiS CPUs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz \
+ "
+SRC_URI[md5sum] = "c3dda40aee78bd187929f454a3c75f35"
+SRC_URI[sha256sum] = "a570ca23ce5543fb6974abcbbde0261ea7dbfea40f4e7335b4870274315e521b"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+
+inherit perlnative
+
+# The install rule from the Makefile has hardcoded paths, so we duplicate
+# the actions to accommodate different paths.
+do_install () {
+ install -D -m 0755 ${B}/cpuid ${D}/${bindir}/cpuid
+ install -D -m 0444 ${B}/cpuid.man.gz ${D}/${mandir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
deleted file mode 100644
index 8aa5947d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (C) 2015 Igor Santos <igor.santos@aker.com.br>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Cscope is a text screen based source browser"
-DESCRIPTION = "Cscope is a developer's tool for browsing source code. \
- It has an impeccable Unix pedigree, having been originally \
- developed at Bell Labs back in the days of the PDP-11. \
- Cscope was part of the official AT&T Unix distribution for \
- many years, and has been used to manage projects involving 20 \
- million lines of code!"
-
-HOMEPAGE = "http://cscope.sourceforge.net/"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d4667b67b483823043fcffa489ea343b"
-
-inherit autotools
-
-DEPENDS += "ncurses"
-
-SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/${PV}/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "8f9409a238ee313a96f9f87fe0f3b176"
-SRC_URI[sha256sum] = "4889d091f05aa0845384b1e4965aa31d2b20911fb2c001b2cdcffbcb7212d3af"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb b/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb
new file mode 100644
index 00000000..99f3ba85
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb
@@ -0,0 +1,24 @@
+# Copyright (C) 2015 Igor Santos <igor.santos@aker.com.br>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Cscope is a text screen based source browser"
+DESCRIPTION = "Cscope is a developer's tool for browsing source code. \
+ It has an impeccable Unix pedigree, having been originally \
+ developed at Bell Labs back in the days of the PDP-11. \
+ Cscope was part of the official AT&T Unix distribution for \
+ many years, and has been used to manage projects involving 20 \
+ million lines of code!"
+
+HOMEPAGE = "http://cscope.sourceforge.net/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d4667b67b483823043fcffa489ea343b"
+
+inherit autotools
+
+DEPENDS += "ncurses"
+
+SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/v${PV}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "16f3cce078b6c0e42299def4028eea6f"
+SRC_URI[sha256sum] = "c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch b/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch
deleted file mode 100644
index 2eb8af71..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: dejagnu-1.4.4/configure.in
-===================================================================
---- dejagnu-1.4.4.orig/configure.in 2014-07-18 07:05:49.997481207 +0000
-+++ dejagnu-1.4.4/configure.in 2014-07-18 07:05:50.085481210 +0000
-@@ -1,10 +1,10 @@
- dnl Process this file with autoconf to produce a configure script.
- AC_PREREQ(2.13)
--AC_INIT(runtest.exp)
-+AC_INIT(dejagnu, 1.4.4)
- dnl AC_CONFIG_AUX_DIR(..)
-
- dnl These are required by automake
--AM_INIT_AUTOMAKE(dejagnu, 1.4.4)
-+AM_INIT_AUTOMAKE([foreign])
- AM_MAINTAINER_MODE
- AC_PROG_MAKE_SET
-
-Index: dejagnu-1.4.4/example/calc/configure.in
-===================================================================
---- dejagnu-1.4.4.orig/example/calc/configure.in 2002-04-26 03:32:40.000000000 +0000
-+++ dejagnu-1.4.4/example/calc/configure.in 2014-07-18 07:11:59.085491266 +0000
-@@ -1,8 +1,8 @@
- dnl Process this file with autoconf to produce a configure script.
- AC_PREREQ(2.5)
--AC_INIT(calc.c)
-+AC_INIT(calc, 1.1)
- AM_CONFIG_HEADER(calc.h)
--AM_INIT_AUTOMAKE(calc, 1.1)
-+AM_INIT_AUTOMAKE([foreign])
-
- AC_PROG_CC
- AC_PROG_INSTALL
-Index: dejagnu-1.4.4/example/hello/configure.in
-===================================================================
---- dejagnu-1.4.4.orig/example/hello/configure.in 2002-08-31 05:46:16.000000000 +0000
-+++ dejagnu-1.4.4/example/hello/configure.in 2014-07-18 07:12:23.721491937 +0000
-@@ -25,7 +25,7 @@
- # ------------------------------------------------------------------------
-
- AC_INIT(helloworld, demo-version, philip.wilsey@ieee.org)
--AM_INIT_AUTOMAKE(helloworld, demo-version)
-+AM_INIT_AUTOMAKE([foreign])
-
- #AC_CONFIG_SRCDIR([hello.cc])
- #AC_CONFIG_HEADER([config.h])
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
deleted file mode 100644
index 63726b23..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "GNU unit testing framework, written in Expect and Tcl"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-SECTION = "devel"
-
-inherit autotools
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://configure.patch"
-
-SRC_URI[md5sum] = "053f18fd5d00873de365413cab17a666"
-SRC_URI[sha256sum] = "d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
new file mode 100644
index 00000000..406494eb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A text-based user interface plugin of dnf for user to manage packages. "
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master "
+SRCREV = "c5416adeb210154dc4ccc4c3e1c5297d83ebd41e"
+PV = "1.1"
+
+SRC_URI_append_class-target = "file://oe-remote.repo.sample"
+
+inherit distutils3-base
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ install -d ${D}${datadir}/dnf
+ install -m 0755 ${S}/samples/* ${D}${datadir}/dnf
+ install -d ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg
+ install -m 0755 ${S}/dnf-plugins/mkimg/* ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg
+ for file in $(ls ${S}/dnf-plugins/ | grep -v mkimg); do
+ install -m 0755 ${S}/dnf-plugins/$file ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins
+ done
+}
+
+do_install_append_class-target() {
+ install -d ${D}${sysconfdir}/yum.repos.d
+ install -m 0644 ${WORKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d
+}
+
+FILES_${PN} += "${datadir}/dnf"
+
+RDEPENDS_${PN} += " \
+ bash \
+ dnf \
+ libnewt-python \
+"
+
+BBCLASSEXTEND = "nativesdk"
+PNBLACKLIST[dnf-plugin-tui] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample b/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample
new file mode 100644
index 00000000..6c4502e1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample
@@ -0,0 +1,5 @@
+[base]
+name=myrepo
+baseurl=http://127.0.0.1/oe_repo/
+enabled=1
+gpgcheck=0
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
new file mode 100644
index 00000000..c86dc169
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
@@ -0,0 +1,36 @@
+From 24650b0c7db6b213a2eaa5061b75b9f1b43f1ce9 Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <brgl@bgdev.pl>
+Date: Fri, 23 Nov 2018 11:44:56 +0100
+Subject: [PATCH] build: don't look for Iconv
+
+Drop the find_package() for Iconv. CMake is unable to find iconv.h in
+native build but all modern systems supply it as part of the standard
+C library. We don't need this check in meta-openembedded.
+
+Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
+
+Upstream-status: Inappropriate
+- upstream doxygen must build on many architectures, this change is
+ too intrusive for upstream
+---
+ CMakeLists.txt | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 45c2f2c1..22cf0144 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,10 +92,6 @@ if (sqlite3)
+ endif()
+ endif()
+
+-find_package(Iconv REQUIRED)
+-include_directories(${ICONV_INCLUDE_DIR})
+-
+-
+ #set(DOXYDOCS ${CMAKE_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs")
+ set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc)
+ set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS})
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
new file mode 100644
index 00000000..a9650c23
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
@@ -0,0 +1,433 @@
+It fails to compile doxygen-native when /usr/bin/python is a link to python3 on
+build host:
+
+| Failed to import the site module
+| Traceback (most recent call last):
+| File "/usr/lib64/python3.6/site.py", line 564, in <module>
+| main()
+| File "/usr/lib64/python3.6/site.py", line 550, in main
+| known_paths = addusersitepackages(known_paths)
+| File "/usr/lib64/python3.6/site.py", line 282, in addusersitepackages
+| user_site = getusersitepackages()
+| File "/usr/lib64/python3.6/site.py", line 258, in getusersitepackages
+| user_base = getuserbase() # this will also set USER_BASE
+| File "/usr/lib64/python3.6/site.py", line 248, in getuserbase
+| USER_BASE = get_config_var('userbase')
+| File "/usr/lib64/python3.6/sysconfig.py", line 604, in get_config_var
+| return get_config_vars().get(name)
+| File "/usr/lib64/python3.6/sysconfig.py", line 553, in get_config_vars
+| _init_posix(_CONFIG_VARS)
+| File "/usr/lib64/python3.6/sysconfig.py", line 424, in _init_posix
+| _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
+| ModuleNotFoundError: No module named '_sysconfigdata'
+
+Replace find_package PythonInterp with Python3 to fix this issue that
+it uses python3 from python3-native. And it also replaces the result
+variable PYTHON_EXECUTABLE with Python3_EXECUTABLE.
+
+This patch is only needded by doxygen-native.
+
+Upstream-Status: Inappropriate[oe specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 969ae58..604400f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -93,7 +93,7 @@ else ()
+ endif ()
+
+ find_program(DOT NAMES dot)
+-find_package(PythonInterp REQUIRED)
++find_package(Python3 REQUIRED)
+ find_package(FLEX REQUIRED)
+ find_package(BISON REQUIRED)
+ if (BISON_VERSION VERSION_LESS 2.7)
+diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
+index 6aacd8b..fa197e9 100644
+--- a/addon/doxywizard/CMakeLists.txt
++++ b/addon/doxywizard/CMakeLists.txt
+@@ -58,7 +58,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA
+
+ # generate version.cpp
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
+ DEPENDS ${CMAKE_SOURCE_DIR}/VERSION ${CMAKE_SOURCE_DIR}/src/version.py
+ OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp
+ )
+@@ -66,7 +66,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER
+
+ # generate configdoc.cpp
+ add_custom_command(
+-COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
++COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
+ OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
+ )
+ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GENERATED 1)
+@@ -74,7 +74,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GEN
+ set(LEX_FILES config_doxyw)
+ foreach(lex_file ${LEX_FILES})
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
+ OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+ )
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 032c16a..332f1b2 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -132,7 +132,7 @@ configure_file(${CMAKE_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR}/
+
+ # doc/language.doc (see tag Doxyfile:INPUT)
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} translator.py ${CMAKE_SOURCE_DIR}
++ COMMAND ${Python3_EXECUTABLE} translator.py ${CMAKE_SOURCE_DIR}
+ DEPENDS ${PROJECT_BINARY_DIR}/doc/maintainers.txt ${PROJECT_BINARY_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py
+ OUTPUT language.doc
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc
+@@ -141,7 +141,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1)
+
+ # doc/config.doc (see tag Doxyfile:INPUT)
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
+ DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
+ OUTPUT config.doc
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
+@@ -192,7 +192,7 @@ add_custom_target(docs_chm
+ COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+ COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
+- COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
++ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${Python3_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp
+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul
+ COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm
+ DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index 967f3d4..a8d1aad 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -52,196 +52,196 @@ add_custom_target(examples
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen class.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex
+ DEPENDS doxygen class.h class.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/class/html/index.html ${PROJECT_BINARY_DIR}/html/examples/class/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen define.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex
+ DEPENDS doxygen define.h define.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/define/html/index.html ${PROJECT_BINARY_DIR}/html/examples/define/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen enum.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex
+ DEPENDS doxygen enum.h enum.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/enum/html/index.html ${PROJECT_BINARY_DIR}/html/examples/enum/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen file.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex
+ DEPENDS doxygen file.h file.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/file/html/index.html ${PROJECT_BINARY_DIR}/html/examples/file/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen func.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex
+ DEPENDS doxygen func.h func.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/func/html/index.html ${PROJECT_BINARY_DIR}/html/examples/func/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen javadoc-banner.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex
+ DEPENDS doxygen javadoc-banner.h javadoc-banner.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/html/index.html ${PROJECT_BINARY_DIR}/html/examples/javadoc-banner/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen page.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex
+ DEPENDS doxygen page.doc page.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/page/html/index.html ${PROJECT_BINARY_DIR}/html/examples/page/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen relates.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex
+ DEPENDS doxygen relates.cpp relates.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/relates/html/index.html ${PROJECT_BINARY_DIR}/html/examples/relates/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen author.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex
+ DEPENDS doxygen author.cpp author.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/author/html/index.html ${PROJECT_BINARY_DIR}/html/examples/author/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen par.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex
+ DEPENDS doxygen par.cpp par.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/par/html/index.html ${PROJECT_BINARY_DIR}/html/examples/par/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen overload.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex
+ DEPENDS doxygen overload.cpp overload.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/overload/html/index.html ${PROJECT_BINARY_DIR}/html/examples/overload/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen example.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex
+ DEPENDS doxygen example.cpp example_test.cpp example.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html ${PROJECT_BINARY_DIR}/html/examples/example/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen include.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex
+ DEPENDS doxygen include.cpp include_test.cpp include.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/include/html/index.html ${PROJECT_BINARY_DIR}/html/examples/include/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen qtstyle.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex
+ DEPENDS doxygen qtstyle.cpp qtstyle.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/qtstyle/html/index.html ${PROJECT_BINARY_DIR}/html/examples/qtstyle/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen jdstyle.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex
+ DEPENDS doxygen jdstyle.cpp jdstyle.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/jdstyle/html/index.html ${PROJECT_BINARY_DIR}/html/examples/jdstyle/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen structcmd.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex
+ DEPENDS doxygen structcmd.h structcmd.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/structcmd/html/index.html ${PROJECT_BINARY_DIR}/html/examples/structcmd/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen autolink.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex
+ DEPENDS doxygen autolink.cpp autolink.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/autolink/html/index.html ${PROJECT_BINARY_DIR}/html/examples/autolink/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen tag.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex
+ DEPENDS doxygen tag.cpp tag.cfg ${PROJECT_BINARY_DIR}/html/examples/example/html/index.html ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tag/html/index.html ${PROJECT_BINARY_DIR}/html/examples/tag/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen restypedef.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex
+ DEPENDS doxygen restypedef.cpp restypedef.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/restypedef/html/index.html ${PROJECT_BINARY_DIR}/html/examples/restypedef/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen afterdoc.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex
+ DEPENDS doxygen afterdoc.h afterdoc.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/afterdoc/html/index.html ${PROJECT_BINARY_DIR}/html/examples/afterdoc/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen templ.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex
+ DEPENDS doxygen templ.cpp templ.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/template/html/index.html ${PROJECT_BINARY_DIR}/html/examples/template/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen group.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex
+ DEPENDS doxygen group.cpp group.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/group/html/index.html ${PROJECT_BINARY_DIR}/html/examples/group/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen memgrp.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex
+ DEPENDS doxygen memgrp.cpp memgrp.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/memgrp/html/index.html ${PROJECT_BINARY_DIR}/html/examples/memgrp/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen pyexample.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex
+ DEPENDS doxygen pyexample.py pyexample.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/pyexample/html/index.html ${PROJECT_BINARY_DIR}/html/examples/pyexample/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen tclexample.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex
+ DEPENDS doxygen tclexample.tcl tclexample.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/tclexample/html/index.html ${PROJECT_BINARY_DIR}/html/examples/tclexample/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen mux.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex
+ DEPENDS doxygen mux.vhdl mux.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/mux/html/index.html ${PROJECT_BINARY_DIR}/html/examples/mux/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen manual.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex
+ DEPENDS doxygen manual.c manual.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/manual/html/index.html ${PROJECT_BINARY_DIR}/html/examples/manual/latex/refman_doc.tex
+ )
+
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen docstring.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex
+ DEPENDS doxygen docstring.py docstring.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/docstring/html/index.html ${PROJECT_BINARY_DIR}/html/examples/docstring/latex/refman_doc.tex
+ )
+@@ -249,7 +249,7 @@ add_custom_command(
+ if (DOT)
+ add_custom_command(
+ COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
+ DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
+ )
+diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt
+index 079fcfc..e6d86f6 100644
+--- a/libmscgen/CMakeLists.txt
++++ b/libmscgen/CMakeLists.txt
+@@ -7,7 +7,7 @@ include_directories(
+ set(LEX_FILES mscgen_lexer)
+ foreach(lex_file ${LEX_FILES})
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l
+ OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
+ )
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 23460d0..58f679a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -35,7 +35,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1)
+
+ # configvalues.h
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maph ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maph ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py
+ OUTPUT ${GENERATED_SRC}/configvalues.h
+ )
+@@ -47,7 +47,7 @@ add_custom_target(
+
+ # configvalues.cpp
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maps ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -maps ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configvalues.cpp
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py
+ OUTPUT ${GENERATED_SRC}/configvalues.cpp
+ )
+@@ -55,7 +55,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT
+
+ # configoptions.cpp
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -cpp ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configoptions.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -cpp ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC}/configoptions.cpp
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/config.xml ${CMAKE_SOURCE_DIR}/src/configgen.py
+ OUTPUT ${GENERATED_SRC}/configoptions.cpp
+ )
+@@ -86,7 +86,7 @@ file(GLOB RESOURCES ${CMAKE_SOURCE_DIR}/templates/*/*)
+ # resources.cpp
+ add_custom_command(
+ COMMENT "Generating ${GENERATED_SRC}/resources.cpp"
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
+ DEPENDS ${RESOURCES}
+ OUTPUT ${GENERATED_SRC}/resources.cpp
+ )
+@@ -94,7 +94,7 @@ set_source_files_properties(${GENERATED_SRC}/resources.cpp PROPERTIES GENERATED
+
+ # layout_default.xml
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/to_c_cmd.py < ${CMAKE_SOURCE_DIR}/src/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/to_c_cmd.py < ${CMAKE_SOURCE_DIR}/src/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/layout_default.xml
+ OUTPUT ${GENERATED_SRC}/layout_default.xml.h
+ )
+@@ -124,7 +124,7 @@ foreach(lex_file ${LEX_FILES})
+ set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files")
+ set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files")
+ add_custom_command(
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
+ DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/src/${lex_file}.l
+ OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
+ )
+diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt
+index 40cb40b..a301acd 100644
+--- a/testing/CMakeLists.txt
++++ b/testing/CMakeLists.txt
+@@ -1,9 +1,9 @@
+ add_custom_target(tests
+ COMMENT "Running doxygen tests..."
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
+ DEPENDS doxygen
+ )
+ add_test(NAME suite
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen $<TARGET_FILE:doxygen> --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen $<TARGET_FILE:doxygen> --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
+ )
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb
new file mode 100644
index 00000000..45de7182
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources."
+HOMEPAGE = "http://www.doxygen.org/"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "flex-native bison-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \
+ file://0001-build-don-t-look-for-Iconv.patch \
+"
+SRC_URI_append_class-native = " file://doxygen-native-only-check-python3.patch"
+SRC_URI[md5sum] = "7997a15c73a8bd6d003eaba5c2ee2b47"
+SRC_URI[sha256sum] = "2cba988af2d495541cbbe5541b3bee0ee11144dcb23a81eada19f5501fd8b599"
+
+inherit cmake python3native
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch
deleted file mode 100644
index a7a42f98..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8b44dc65d98d50b462843ac9dab6fe3fc25abe36 Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@siemens.com>
-Date: Fri, 12 May 2017 13:54:49 +0200
-Subject: [PATCH] correct version for so lib
-
-Upstream-Status: Pending
-
----
- CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3670afe..f4fcd2c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -172,6 +172,7 @@ endif()
- if(FLATBUFFERS_BUILD_SHAREDLIB)
- add_library(flatbuffers_shared SHARED ${FlatBuffers_Library_SRCS})
- set_target_properties(flatbuffers_shared PROPERTIES OUTPUT_NAME flatbuffers)
-+ set_target_properties(flatbuffers_shared PROPERTIES VERSION "${PV}")
- endif()
-
- function(compile_flatbuffers_schema_to_cpp SRC_FBS)
---
-2.1.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch
deleted file mode 100644
index d736f012..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From a614d8e20fa9e4fd16b699d581ddac2956c120f5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 19 Sep 2017 10:04:02 -0700
-Subject: [PATCH 1/2] flatbuffers: Move EndianSwap template to
- flatbuffers/base.h
-
-Clang complains
-call to function 'EndianSwap' that is neither visible in the template definition nor found by argument-dependent lookup
- return EndianSwap(t);
-
-This seems to be due to limitation of two-phase lookup of dependent names in template definitions
-
-Its not being found using associated namespaces therefore
-it has to be made visible at the template definition site as well
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- include/flatbuffers/base.h | 33 +++++++++++++++++++++++++++++++++
- include/flatbuffers/flatbuffers.h | 32 --------------------------------
- 2 files changed, 33 insertions(+), 32 deletions(-)
-
-diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h
-index f051755..c73fb2d 100644
---- a/include/flatbuffers/base.h
-+++ b/include/flatbuffers/base.h
-@@ -150,6 +150,39 @@ typedef uintmax_t largest_scalar_t;
- // We support aligning the contents of buffers up to this size.
- #define FLATBUFFERS_MAX_ALIGNMENT 16
-
-+template<typename T> T EndianSwap(T t) {
-+ #if defined(_MSC_VER)
-+ #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort
-+ #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong
-+ #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64
-+ #else
-+ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408
-+ // __builtin_bswap16 was missing prior to GCC 4.8.
-+ #define FLATBUFFERS_BYTESWAP16(x) \
-+ static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16))
-+ #else
-+ #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16
-+ #endif
-+ #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32
-+ #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64
-+ #endif
-+ if (sizeof(T) == 1) { // Compile-time if-then's.
-+ return t;
-+ } else if (sizeof(T) == 2) {
-+ auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t));
-+ return *reinterpret_cast<T *>(&r);
-+ } else if (sizeof(T) == 4) {
-+ auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t));
-+ return *reinterpret_cast<T *>(&r);
-+ } else if (sizeof(T) == 8) {
-+ auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t));
-+ return *reinterpret_cast<T *>(&r);
-+ } else {
-+ assert(0);
-+ }
-+}
-+
-+
- template<typename T> T EndianScalar(T t) {
- #if FLATBUFFERS_LITTLEENDIAN
- return t;
-diff --git a/include/flatbuffers/flatbuffers.h b/include/flatbuffers/flatbuffers.h
-index 9216cf4..f749dcb 100644
---- a/include/flatbuffers/flatbuffers.h
-+++ b/include/flatbuffers/flatbuffers.h
-@@ -37,38 +37,6 @@ inline void EndianCheck() {
- (void)endiantest;
- }
-
--template<typename T> T EndianSwap(T t) {
-- #if defined(_MSC_VER)
-- #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort
-- #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong
-- #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64
-- #else
-- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408
-- // __builtin_bswap16 was missing prior to GCC 4.8.
-- #define FLATBUFFERS_BYTESWAP16(x) \
-- static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16))
-- #else
-- #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16
-- #endif
-- #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32
-- #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64
-- #endif
-- if (sizeof(T) == 1) { // Compile-time if-then's.
-- return t;
-- } else if (sizeof(T) == 2) {
-- auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t));
-- return *reinterpret_cast<T *>(&r);
-- } else if (sizeof(T) == 4) {
-- auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t));
-- return *reinterpret_cast<T *>(&r);
-- } else if (sizeof(T) == 8) {
-- auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t));
-- return *reinterpret_cast<T *>(&r);
-- } else {
-- assert(0);
-- }
--}
--
- template<typename T> FLATBUFFERS_CONSTEXPR size_t AlignOf() {
- #ifdef _MSC_VER
- return __alignof(T);
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch
deleted file mode 100644
index 460159f2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 626fe5e043de25e970ebdf061b88c646fa689113 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 19 Sep 2017 10:09:31 -0700
-Subject: [PATCH 2/2] use __builtin_bswap16 when building with clang
-
-clang pretends to be gcc 4.2.0 and therefore the code does
-not use __builtin_bswap16 but tries to synthesize it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
- include/flatbuffers/base.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h
-index c73fb2d..13e8fac 100644
---- a/include/flatbuffers/base.h
-+++ b/include/flatbuffers/base.h
-@@ -156,7 +156,7 @@ template<typename T> T EndianSwap(T t) {
- #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong
- #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64
- #else
-- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408
-+ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 && !defined(__clang__)
- // __builtin_bswap16 was missing prior to GCC 4.8.
- #define FLATBUFFERS_BYTESWAP16(x) \
- static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16))
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb
new file mode 100644
index 00000000..c31cef63
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Memory Efficient Serialization Library"
+HOMEPAGE = "https://github.com/google/flatbuffers"
+SECTION = "console/tools"
+LICENSE = "Apache-2.0"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+RDEPENDS_${PN}-compiler = "${PN}"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "6df40a2471737b27271bdd9b900ab5f3aec746c7"
+
+SRC_URI = "git://github.com/google/flatbuffers.git"
+
+# Make sure C++11 is used, required for example for GCC 4.9
+CXXFLAGS += "-std=c++11 -fPIC"
+BUILD_CXXFLAGS += "-std=c++11 -fPIC"
+
+# BUILD_TYPE=Release is required, otherwise flatc is not installed
+EXTRA_OECMAKE += "\
+ -DCMAKE_BUILD_TYPE=Release \
+ -DFLATBUFFERS_BUILD_TESTS=OFF \
+ -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
+"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+FILES_${PN}-compiler = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb
deleted file mode 100644
index a8df4448..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Memory Efficient Serialization Library"
-HOMEPAGE = "https://github.com/google/flatbuffers"
-SECTION = "console/tools"
-LICENSE = "Apache-2.0"
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-
-RDEPENDS_${PN}-compiler = "${PN}"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a873c5645c184d51e0f9b34e1d7cf559"
-
-SRCREV = "25a15950f5a24d7217689739ed8f6dac64912d62"
-
-SRC_URI = "git://github.com/google/flatbuffers.git \
- file://0001-correct-version-for-so-lib.patch \
- file://0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch \
- file://0002-use-__builtin_bswap16-when-building-with-clang.patch \
- "
-
-# Make sure C++11 is used, required for example for GCC 4.9
-CXXFLAGS += "-std=c++11"
-BUILD_CXXFLAGS += "-std=c++11"
-
-EXTRA_OECMAKE += "\
- -DFLATBUFFERS_BUILD_TESTS=OFF \
- -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
- -DPV=${PV} \
-"
-
-inherit cmake
-
-S = "${WORKDIR}/git"
-
-FILES_${PN}-compiler = "${bindir}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch
new file mode 100644
index 00000000..9030f36d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch
@@ -0,0 +1,31 @@
+From 0c24f99ca4d4f64ea8584347ca6ae0d638d625a8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 18 Feb 2019 16:13:17 +0100
+Subject: [PATCH] Use pkg-config to find gpgme
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ build/bundled/gpgme.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/bundled/gpgme.m4 b/build/bundled/gpgme.m4
+index 44bf43c..c9a8ae6 100644
+--- a/build/bundled/gpgme.m4
++++ b/build/bundled/gpgme.m4
+@@ -18,7 +18,7 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG],
+ if test "x$gpgme_config_prefix" != x ; then
+ GPGME_CONFIG="$gpgme_config_prefix/bin/gpgme-config"
+ fi
+- AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no)
++ GPGME_CONFIG="pkg-config gpgme"
+
+ if test "$GPGME_CONFIG" != "no" ; then
+ gpgme_version=`$GPGME_CONFIG --version`
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb
deleted file mode 100644
index d8f2f894..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb
+++ /dev/null
@@ -1,271 +0,0 @@
-DESCRIPTION = "A fast and lightweight IDE"
-HOMEPAGE = "http://plugins.geany.org/"
-
-LICENSE_DEFAULT = "GPLv2"
-LICENSE = "${LICENSE_DEFAULT} & BSD-2-Clause & GPLv3"
-
-python () {
- for plugin in d.getVar('PLUGINS').split():
- if 'LICENSE_%s' % plugin not in d:
- d.setVar('LICENSE_' + plugin, '${LICENSE_DEFAULT}')
-}
-
-DEPENDS = " \
- fribidi \
- geany \
- libxml2 \
- libsoup-2.4 \
- enchant \
- intltool-native \
- libassuan \
- gpgme \
- vte9 \
- libgit2 \
-"
-
-inherit distro_features_check autotools pkgconfig gtk-icon-cache
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://plugins.geany.org/${PN}/${PN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "808f9048b77fd9704569ed2ba12a56e9"
-SRC_URI[sha256sum] = "76bd9e803db5a626b86669f08330cf95b8cc35057a1cdf65759bc00aef120e25"
-
-do_configure_prepend() {
- rm -f ${S}/build/cache/glib-gettext.m4
-}
-
-FILES_${PN} += "${datadir}/icons"
-FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${PN}/*/*.la"
-
-PLUGINS += "${PN}-addons"
-LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-addons = "${libdir}/geany/addons.so"
-RDEPENDS_${PN}-addons = "${PN}"
-
-PLUGINS += "${PN}-autoclose"
-LIC_FILES_CHKSUM += "file://autoclose/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-autoclose = "${libdir}/geany/autoclose.so"
-RDEPENDS_${PN}-autoclose = "${PN}"
-
-PLUGINS += "${PN}-automark"
-LIC_FILES_CHKSUM += "file://automark/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-automark = "${libdir}/geany/automark.so"
-RDEPENDS_${PN}-automark = "${PN}"
-
-PLUGINS += "${PN}-codenav"
-LIC_FILES_CHKSUM += "file://codenav/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-codenav = "${libdir}/geany/codenav.so"
-RDEPENDS_${PN}-codenav = "${PN}"
-
-PLUGINS += "${PN}-commander"
-LIC_FILES_CHKSUM += "file://commander/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-commander = "GPLv3"
-FILES_${PN}-commander = "${libdir}/geany/commander.so"
-RDEPENDS_${PN}-commander = "${PN}"
-
-PLUGINS += "${PN}-debugger"
-LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger"
-RDEPENDS_${PN}-debugger = "${PN}"
-
-PLUGINS += "${PN}-defineformat"
-LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-defineformat = "${libdir}/geany/defineformat.so"
-RDEPENDS_${PN}-defineformat = "${PN}"
-
-# no gnome devhelp in some common layer
-EXTRA_OECONF += "--disable-devhelp"
-#PLUGINS += "${PN}-devhelp"
-#LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-#LICENSE_${PN}-devhelp = "GPLv3"
-#FILES_${PN}-devhelp = "${libdir}/geany/devhelp.so"
-#RDEPENDS_${PN}-devhelp = "${PN}"
-
-PLUGINS += "${PN}-geanyctags"
-LIC_FILES_CHKSUM += "file://geanyctags/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyctags = "${libdir}/geany/geanyctags.so"
-RDEPENDS_${PN}-geanyctags = "${PN}"
-
-PLUGINS += "${PN}-geanydoc"
-LIC_FILES_CHKSUM += "file://geanydoc/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-geanydoc = "GPLv3"
-FILES_${PN}-geanydoc = "${libdir}/geany/geanydoc.so"
-RDEPENDS_${PN}-geanydoc = "${PN}"
-
-PLUGINS += "${PN}-geanyextrasel"
-LIC_FILES_CHKSUM += "file://geanyextrasel/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyextrasel = "${libdir}/geany/geanyextrasel.so"
-RDEPENDS_${PN}-geanyextrasel = "${PN}"
-
-PLUGINS += "${PN}-geanyinsertnum"
-LIC_FILES_CHKSUM += "file://geanyinsertnum/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyinsertnum = "${libdir}/geany/geanyinsertnum.so"
-RDEPENDS_${PN}-geanyinsertnum = "${PN}"
-
-PLUGINS += "${PN}-geanylatex"
-LIC_FILES_CHKSUM += "file://geanylatex/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanylatex = "${libdir}/geany/geanylatex.so"
-RDEPENDS_${PN}-geanylatex = "${PN}"
-
-PLUGINS += "${PN}-geanylipsum"
-LIC_FILES_CHKSUM += "file://lipsum/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-geanylipsum = "${libdir}/geany/lipsum.so"
-RDEPENDS_${PN}-geanylipsum = "${PN}"
-
-# no lua: max supported version is 5.2
-EXTRA_OECONF += "--disable-geanylua"
-#PLUGINS += "${PN}-geanylua"
-#LIC_FILES_CHKSUM += "file://geanylua/COPYING;md5=4325afd396febcb659c36b49533135d4"
-#FILES_${PN}-geanylua = "${libdir}/geany/geanylua.so ${libdir}/${PN}/geanylua/*.so"
-#RDEPENDS_${PN}-geanylua = "${PN}"
-
-PLUGINS += "${PN}-geanymacro"
-LIC_FILES_CHKSUM += "file://geanymacro/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanymacro = "${libdir}/geany/geanymacro.so"
-RDEPENDS_${PN}-geanymacro = "${PN}"
-
-PLUGINS += "${PN}-geanyminiscript"
-LIC_FILES_CHKSUM += "file://geanyminiscript/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-geanyminiscript = "${libdir}/geany/geanyminiscript.so"
-RDEPENDS_${PN}-geanyminiscript = "${PN}"
-
-PLUGINS += "${PN}-geanynumberedbookmarks"
-LIC_FILES_CHKSUM += "file://geanynumberedbookmarks/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanynumberedbookmarks = "${libdir}/geany/geanynumberedbookmarks.so"
-RDEPENDS_${PN}-geanynumberedbookmarks = "${PN}"
-
-PLUGINS += "${PN}-geanypg"
-LIC_FILES_CHKSUM += "file://geanypg/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-FILES_${PN}-geanypg = "${libdir}/geany/geanypg.so"
-RDEPENDS_${PN}-geanypg = "${PN}"
-
-PLUGINS += "${PN}-geanyprj"
-LIC_FILES_CHKSUM += "file://geanyprj/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-geanyprj = "GPLv3"
-FILES_${PN}-geanyprj = "${libdir}/geany/geanyprj.so"
-RDEPENDS_${PN}-geanyprj = "${PN}"
-
-# no gnome pygtk
-EXTRA_OECONF += "--disable-geanypy"
-#PLUGINS += "${PN}-geanypy"
-#LIC_FILES_CHKSUM += "file://geanypy/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-#FILES_${PN}-geanypy = "${libdir}/geany/geanypy.so"
-#RDEPENDS_${PN}-geanypy = "${PN}"
-
-PLUGINS += "${PN}-geanyvc"
-LIC_FILES_CHKSUM += "file://geanyvc/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyvc = "${libdir}/geany/geanyvc.so"
-RDEPENDS_${PN}-geanyvc = "${PN}"
-
-PLUGINS += "${PN}-geniuspaste"
-LIC_FILES_CHKSUM += "file://geniuspaste/COPYING;md5=bfc203269f8862ebfc1198cdc809a95a"
-FILES_${PN}-geniuspaste = "${libdir}/geany/geniuspaste.so ${datadir}/${PN}/geniuspaste"
-RDEPENDS_${PN}-geniuspaste = "${PN}"
-
-PLUGINS += "${PN}-git-changebar"
-LIC_FILES_CHKSUM += "file://git-changebar/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-git-changebar = "GPLv3"
-FILES_${PN}-git-changebar = "${libdir}/geany/git-changebar.so"
-RDEPENDS_${PN}-git-changebar = "${PN}"
-
-PLUGINS += "${PN}-keyrecord"
-LIC_FILES_CHKSUM += "file://keyrecord/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-keyrecord = "${libdir}/geany/keyrecord.so"
-RDEPENDS_${PN}-keyrecord = "${PN}"
-
-PLUGINS += "${PN}-lineoperations"
-LIC_FILES_CHKSUM += "file://lineoperations/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-lineoperations = "${libdir}/geany/lineoperations.so"
-RDEPENDS_${PN}-lineoperations = "${PN}"
-
-# no markdown - avoid floating dependencies
-EXTRA_OECONF += " --disable-peg-markdown"
-#PLUGINS += "${PN}-markdown"
-#LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-#FILES_${PN}-markdown = "${libdir}/geany/markdown.so"
-#RDEPENDS_${PN}-markdown = "${PN}"
-
-PLUGINS += "${PN}-multiterm"
-LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-FILES_${PN}-multiterm = "${libdir}/geany/multiterm.so"
-RDEPENDS_${PN}-multiterm = "${PN}"
-
-PLUGINS += "${PN}-overview"
-LIC_FILES_CHKSUM += "file://overview/overview/overviewplugin.c;beginline=4;endline=20;md5=1aa33522916cdeb46cccac0c629da0d0"
-FILES_${PN}-overview = "${libdir}/geany/overview.so ${datadir}/${PN}/overview"
-RDEPENDS_${PN}-overview = "${PN}"
-
-PLUGINS += "${PN}-pairtaghighlighter"
-LICENSE_${PN}-pairtaghighlighter = "BSD-2-Clause"
-LIC_FILES_CHKSUM += "file://pairtaghighlighter/COPYING;md5=d6d927525a612b3a8dbebc4b2e9b47c1"
-FILES_${PN}-pairtaghighlighter = "${libdir}/geany/pairtaghighlighter.so"
-RDEPENDS_${PN}-pairtaghighlighter = "${PN}"
-
-PLUGINS += "${PN}-pohelper"
-LICENSE_${PN}-pohelper = "GPLv3"
-LIC_FILES_CHKSUM += "file://pohelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-FILES_${PN}-pohelper = "${libdir}/geany/pohelper.so"
-RDEPENDS_${PN}-pohelper = "${PN}"
-
-PLUGINS += "${PN}-pretty-printer"
-LIC_FILES_CHKSUM += "file://pretty-printer/src/PrettyPrinter.c;beginline=1;endline=17;md5=1665115c2fadb17c1b53cdb4e43b2440"
-FILES_${PN}-pretty-printer = "${libdir}/geany/pretty-printer.so"
-RDEPENDS_${PN}-pretty-printer = "${PN}"
-
-PLUGINS += "${PN}-projectorganizer"
-LIC_FILES_CHKSUM += "file://projectorganizer/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-projectorganizer = "${libdir}/geany/projectorganizer.so"
-RDEPENDS_${PN}-projectorganizer = "${PN}"
-
-PLUGINS += "${PN}-scope"
-LIC_FILES_CHKSUM += "file://scope/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-scope = "${libdir}/geany/scope.so"
-RDEPENDS_${PN}-scope = "${PN}"
-
-PLUGINS += "${PN}-sendmail"
-LIC_FILES_CHKSUM += "file://sendmail/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-sendmail = "${libdir}/geany/sendmail.so"
-RDEPENDS_${PN}-sendmail = "${PN}"
-
-PLUGINS += "${PN}-shiftcolumn"
-LIC_FILES_CHKSUM += "file://shiftcolumn/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-shiftcolumn = "${libdir}/geany/shiftcolumn.so"
-RDEPENDS_${PN}-shiftcolumn = "${PN}"
-
-PLUGINS += "${PN}-spellcheck"
-LIC_FILES_CHKSUM += "file://spellcheck/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-spellcheck = "${libdir}/geany/spellcheck.so"
-RDEPENDS_${PN}-spellcheck = "${PN}"
-
-PLUGINS += "${PN}-tableconvert"
-LIC_FILES_CHKSUM += "file://tableconvert/COPYING;md5=6753686878d090a1f3f9445661d3dfbc"
-FILES_${PN}-tableconvert = "${libdir}/geany/tableconvert.so"
-RDEPENDS_${PN}-tableconvert = "${PN}"
-
-PLUGINS += "${PN}-treebrowser"
-LIC_FILES_CHKSUM += "file://treebrowser/README;beginline=67;endline=67;md5=52f90857fd1a9672111e472dd056a0d8"
-FILES_${PN}-treebrowser = "${libdir}/geany/treebrowser.so"
-RDEPENDS_${PN}-treebrowser = "${PN}"
-
-PLUGINS += "${PN}-updatechecker"
-LIC_FILES_CHKSUM += "file://updatechecker/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-updatechecker = "${libdir}/geany/updatechecker.so"
-RDEPENDS_${PN}-updatechecker = "${PN}"
-
-# no webkit - lasts ages and is not properly detected
-EXTRA_OECONF += " --disable-webhelper"
-#PLUGINS += "${PN}-webhelper"
-#LIC_FILES_CHKSUM += "file://webhelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-#LICENSE_${PN}-webhelper = "GPLv3"
-#FILES_${PN}-webhelper = "${libdir}/geany/webhelper.so"
-#RDEPENDS_${PN}-webhelper = "${PN}"
-
-PLUGINS += "${PN}-xmlsnippets"
-LIC_FILES_CHKSUM += "file://xmlsnippets/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-xmlsnippets = "${libdir}/geany/xmlsnippets.so"
-RDEPENDS_${PN}-xmlsnippets = "${PN}"
-
-PACKAGES =+ "${PLUGINS}"
-RDEPENDS_${PN} = "${PLUGINS}"
-ALLOW_EMPTY_${PN} = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
new file mode 100644
index 00000000..a6a0b17d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
@@ -0,0 +1,246 @@
+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 = " \
+ vala-native \
+ fribidi \
+ geany \
+ libxml2 \
+ libsoup-2.4 \
+ enchant2 \
+ intltool-native \
+ libassuan \
+ gpgme \
+ vte \
+ libgit2 \
+"
+
+inherit features_check autotools pkgconfig gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = " \
+ https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
+ file://0001-Use-pkg-config-to-find-gpgme.patch \
+"
+SRC_URI[md5sum] = "91fb4634953702f914d9105da7048a33"
+SRC_URI[sha256sum] = "ebe18dd699292174622e8cb8745b020ada8a5be3b604ab980af36e8518df7ce6"
+
+do_configure_prepend() {
+ rm -f ${S}/build/cache/glib-gettext.m4
+}
+
+FILES_${PN} += "${datadir}/icons"
+FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${BPN}/*/*.la"
+
+PLUGINS += "${PN}-addons"
+LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-addons = "${libdir}/geany/addons.so"
+
+PLUGINS += "${PN}-autoclose"
+LIC_FILES_CHKSUM += "file://autoclose/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-autoclose = "${libdir}/geany/autoclose.so"
+
+PLUGINS += "${PN}-automark"
+LIC_FILES_CHKSUM += "file://automark/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-automark = "${libdir}/geany/automark.so"
+
+PLUGINS += "${PN}-codenav"
+LIC_FILES_CHKSUM += "file://codenav/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-codenav = "${libdir}/geany/codenav.so"
+
+PLUGINS += "${PN}-commander"
+LIC_FILES_CHKSUM += "file://commander/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE_${PN}-commander = "GPLv3"
+FILES_${PN}-commander = "${libdir}/geany/commander.so"
+
+# | checking whether the GTK version in use is compatible with plugin Debugger... no
+EXTRA_OECONF += "--disable-debugger"
+#PLUGINS += "${PN}-debugger"
+#LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4"
+#FILES_${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger"
+
+PLUGINS += "${PN}-defineformat"
+LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-defineformat = "${libdir}/geany/defineformat.so"
+
+# 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"
+
+PLUGINS += "${PN}-geanyctags"
+LIC_FILES_CHKSUM += "file://geanyctags/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanyctags = "${libdir}/geany/geanyctags.so"
+
+PLUGINS += "${PN}-geanydoc"
+LIC_FILES_CHKSUM += "file://geanydoc/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE_${PN}-geanydoc = "GPLv3"
+FILES_${PN}-geanydoc = "${libdir}/geany/geanydoc.so"
+
+PLUGINS += "${PN}-geanyextrasel"
+LIC_FILES_CHKSUM += "file://geanyextrasel/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanyextrasel = "${libdir}/geany/geanyextrasel.so"
+
+PLUGINS += "${PN}-geanyinsertnum"
+LIC_FILES_CHKSUM += "file://geanyinsertnum/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanyinsertnum = "${libdir}/geany/geanyinsertnum.so"
+
+# 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"
+
+PLUGINS += "${PN}-geanymacro"
+LIC_FILES_CHKSUM += "file://geanymacro/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanymacro = "${libdir}/geany/geanymacro.so"
+
+PLUGINS += "${PN}-geanyminiscript"
+LIC_FILES_CHKSUM += "file://geanyminiscript/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-geanyminiscript = "${libdir}/geany/geanyminiscript.so"
+
+PLUGINS += "${PN}-geanynumberedbookmarks"
+LIC_FILES_CHKSUM += "file://geanynumberedbookmarks/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanynumberedbookmarks = "${libdir}/geany/geanynumberedbookmarks.so"
+
+PLUGINS += "${PN}-geanypg"
+LIC_FILES_CHKSUM += "file://geanypg/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+FILES_${PN}-geanypg = "${libdir}/geany/geanypg.so"
+
+PLUGINS += "${PN}-geanyprj"
+LIC_FILES_CHKSUM += "file://geanyprj/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE_${PN}-geanyprj = "GPLv3"
+FILES_${PN}-geanyprj = "${libdir}/geany/geanyprj.so"
+
+#PLUGINS += "${PN}-geanypy"
+#LIC_FILES_CHKSUM += "file://geanypy/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+#FILES_${PN}-geanypy = "${libdir}/geany/geanypy.so"
+
+PLUGINS += "${PN}-geanyvc"
+LIC_FILES_CHKSUM += "file://geanyvc/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanyvc = "${libdir}/geany/geanyvc.so"
+
+PLUGINS += "${PN}-geniuspaste"
+LIC_FILES_CHKSUM += "file://geniuspaste/COPYING;md5=bfc203269f8862ebfc1198cdc809a95a"
+FILES_${PN}-geniuspaste = "${libdir}/geany/geniuspaste.so ${datadir}/${PN}/geniuspaste"
+
+PLUGINS += "${PN}-git-changebar"
+LIC_FILES_CHKSUM += "file://git-changebar/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE_${PN}-git-changebar = "GPLv3"
+FILES_${PN}-git-changebar = "${datadir}/${BPN}/git-changebar ${libdir}/geany/git-changebar.so"
+
+PLUGINS += "${PN}-keyrecord"
+LIC_FILES_CHKSUM += "file://keyrecord/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-keyrecord = "${libdir}/geany/keyrecord.so"
+
+PLUGINS += "${PN}-latex"
+LIC_FILES_CHKSUM += "file://latex/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-latex = "${libdir}/geany/latex.so"
+
+PLUGINS += "${PN}-lineoperations"
+LIC_FILES_CHKSUM += "file://lineoperations/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-lineoperations = "${libdir}/geany/lineoperations.so"
+
+PLUGINS += "${PN}-lipsum"
+LIC_FILES_CHKSUM += "file://lipsum/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-lipsum = "${libdir}/geany/lipsum.so"
+
+# 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"
+
+# | checking whether the GTK version in use is compatible with plugin multiterm... no
+EXTRA_OECONF += "--disable-multiterm"
+#PLUGINS += "${PN}-multiterm"
+#LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+#FILES_${PN}-multiterm = "${libdir}/geany/multiterm.so"
+
+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"
+
+PLUGINS += "${PN}-pairtaghighlighter"
+LICENSE_${PN}-pairtaghighlighter = "BSD-2-Clause"
+LIC_FILES_CHKSUM += "file://pairtaghighlighter/COPYING;md5=d6d927525a612b3a8dbebc4b2e9b47c1"
+FILES_${PN}-pairtaghighlighter = "${libdir}/geany/pairtaghighlighter.so"
+
+PLUGINS += "${PN}-pohelper"
+LICENSE_${PN}-pohelper = "GPLv3"
+LIC_FILES_CHKSUM += "file://pohelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+FILES_${PN}-pohelper = "${datadir}/${BPN}/pohelper ${libdir}/geany/pohelper.so"
+
+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"
+
+PLUGINS += "${PN}-projectorganizer"
+LIC_FILES_CHKSUM += "file://projectorganizer/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-projectorganizer = "${libdir}/geany/projectorganizer.so"
+
+PLUGINS += "${PN}-scope"
+LIC_FILES_CHKSUM += "file://scope/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-scope = "${datadir}/${BPN}/scope ${libdir}/geany/scope.so"
+
+PLUGINS += "${PN}-sendmail"
+LIC_FILES_CHKSUM += "file://sendmail/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-sendmail = "${libdir}/geany/sendmail.so"
+
+PLUGINS += "${PN}-shiftcolumn"
+LIC_FILES_CHKSUM += "file://shiftcolumn/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-shiftcolumn = "${libdir}/geany/shiftcolumn.so"
+
+PLUGINS += "${PN}-spellcheck"
+LIC_FILES_CHKSUM += "file://spellcheck/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-spellcheck = "${libdir}/geany/spellcheck.so"
+
+PLUGINS += "${PN}-tableconvert"
+LIC_FILES_CHKSUM += "file://tableconvert/COPYING;md5=6753686878d090a1f3f9445661d3dfbc"
+FILES_${PN}-tableconvert = "${libdir}/geany/tableconvert.so"
+
+PLUGINS += "${PN}-treebrowser"
+LIC_FILES_CHKSUM += "file://treebrowser/README;beginline=67;endline=67;md5=1f17f0f2abb88e0fa0f1b342112d871c"
+FILES_${PN}-treebrowser = "${libdir}/geany/treebrowser.so"
+
+PLUGINS += "${PN}-updatechecker"
+LIC_FILES_CHKSUM += "file://updatechecker/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-updatechecker = "${libdir}/geany/updatechecker.so"
+
+PLUGINS += "${PN}-vimode"
+LIC_FILES_CHKSUM += "file://vimode/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-vimode = "${libdir}/geany/vimode.so"
+
+# 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"
+
+PLUGINS += "${PN}-workbench"
+LIC_FILES_CHKSUM += "file://workbench/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-workbench = "${libdir}/geany/workbench.so"
+
+PLUGINS += "${PN}-xmlsnippets"
+LIC_FILES_CHKSUM += "file://xmlsnippets/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-xmlsnippets = "${libdir}/geany/xmlsnippets.so"
+
+PACKAGES =+ "${PN}-common ${PLUGINS}"
+FILES_${PN}-common = "${libdir}/libgeanypluginutils${SOLIBS}"
+
+# geany-plugins is meta package for all plugins
+RDEPENDS_${PN} = "${PLUGINS}"
+ALLOW_EMPTY_${PN} = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb
deleted file mode 100644
index bb9d8bc2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.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+ libxml-parser-perl-native python3-docutils-native intltool-native"
-
-inherit distro_features_check autotools pkgconfig perlnative pythonnative gettext
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://download.geany.org/${BP}.tar.bz2"
-SRC_URI[md5sum] = "386000be6b26972c6a699939c37cda34"
-SRC_URI[sha256sum] = "30fdb906bb76c4251a8bcf83ee267db28c26ef6ab867668a782cec1164a3aba5"
-
-FILES_${PN} += "${datadir}/icons"
-
-EXTRA_OECONF = "--disable-html-docs"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
new file mode 100644
index 00000000..8282091b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
@@ -0,0 +1,18 @@
+SUMMARY = "A fast and lightweight IDE"
+HOMEPAGE = "http://www.geany.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
+
+DEPENDS = "gtk+3 libxml-parser-perl-native python3-docutils-native intltool-native"
+
+inherit features_check autotools pkgconfig perlnative gettext mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://download.geany.org/${BP}.tar.bz2"
+SRC_URI[md5sum] = "53216a43345e2b6dbefa02ac24885753"
+SRC_URI[sha256sum] = "9184dd3dd40b7b84fca70083284bb9dbf2ee8022bf2be066bdc36592d909d53e"
+
+FILES_${PN} += "${datadir}/icons"
+
+EXTRA_OECONF = "--disable-html-docs"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb
deleted file mode 100644
index bd4b586f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Glade - A User Interface Designer"
-HOMEPAGE = "http://www.gnu.org/software/gnash"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
- file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
- file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \
- gnome-common-native \
-"
-
-
-inherit distro_features_check autotools pkgconfig gnomebase gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.22/glade-${PV}.tar.xz \
- file://remove-yelp-help-rules-var.patch \
- "
-SRC_URI[md5sum] = "226802cf3b06861240524805aa6fe6ff"
-SRC_URI[sha256sum] = "dff89a2ef2eaf000ff2a46979978d03cb9202cb04668e01d0ea5c5bb5547e39a"
-
-EXTRA_OECONF += "--disable-man-pages"
-
-FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so"
-FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la"
-FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb b/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
new file mode 100644
index 00000000..3d539b23
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Glade - A User Interface Designer"
+HOMEPAGE = "http://www.gnu.org/software/gnash"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
+ file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \
+ gnome-common-native \
+"
+
+
+inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.22/glade-${PV}.tar.xz \
+ file://remove-yelp-help-rules-var.patch \
+ "
+SRC_URI[md5sum] = "c074fa378c8f1ad80d20133c4ae6f42d"
+SRC_URI[sha256sum] = "edefa6eb24b4d15bd52589121dc109bc08c286157c41288deb74dd9cc3f26a21"
+
+EXTRA_OECONF += "--disable-man-pages"
+
+FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so"
+FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la"
+FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
new file mode 100644
index 00000000..6cad5339
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
@@ -0,0 +1,45 @@
+From 6d606f1101c1a172fb6d738d6f1865aa61849e68 Mon Sep 17 00:00:00 2001
+From: Alexey Firago <alexey_firago@mentor.com>
+Date: Fri, 20 Oct 2017 00:04:19 +0300
+Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during cross-compiling or native build
+
+Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
+Signed-off-by: Hiram Lew <lew@avast.com>
+Signed-off-by: Jan Kaisrlik <jan.kaisrlik@avast.com>
+---
+ CMakeLists.txt | 9 ++++++++-
+ templates/CMakeLists.txt.template | 9 ++++++++-
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -193,6 +193,13 @@ function(protobuf_generate_grpc_cpp)
+ return()
+ endif()
+
++ #if cross-compiling or nativesdk, find host plugin
++ if(CMAKE_CROSSCOMPILING)
++ find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
++ else()
++ set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
++ endif()
++
+ set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
+ foreach(FIL ${ARGN})
+ get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
+--- a/templates/CMakeLists.txt.template
++++ b/templates/CMakeLists.txt.template
+@@ -233,6 +233,13 @@
+ return()
+ endif()
+
++ #if cross-compiling or nativesdk, find host plugin
++ if(CMAKE_CROSSCOMPILING)
++ find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
++ else()
++ set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
++ endif()
++
+ set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}</%text>)
+ foreach(FIL <%text>${ARGN}</%text>)
+ get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE)
diff --git a/external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
index 459dc45a..e517355d 100644
--- a/external/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
@@ -7,16 +7,13 @@ Subject: [PATCH] CMakeLists.txt: Fix libraries installation for Linux
Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
-%% original patch: 0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
---
CMakeLists.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a59fd818e3..5066f44a32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}")
+@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-$
set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")
project(${PACKAGE_NAME} C CXX)
@@ -32,7 +29,7 @@ index a59fd818e3..5066f44a32 100644
set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables")
set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries")
set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers")
-@@ -702,6 +711,10 @@ if(WIN32 AND MSVC)
+@@ -777,6 +786,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -43,7 +40,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(address_sorting
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -825,6 +838,10 @@ if(WIN32 AND MSVC)
+@@ -903,6 +916,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -54,7 +51,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(gpr
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -1259,6 +1276,10 @@ if(WIN32 AND MSVC)
+@@ -1367,6 +1384,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -65,7 +62,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -1633,6 +1654,10 @@ if(WIN32 AND MSVC)
+@@ -1782,6 +1803,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -76,7 +73,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc_cronet
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -2575,6 +2600,10 @@ if(WIN32 AND MSVC)
+@@ -2869,6 +2894,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -87,7 +84,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc_unsecure
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -2791,6 +2820,10 @@ if(WIN32 AND MSVC)
+@@ -3206,6 +3235,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -98,18 +95,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc++
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -3357,6 +3390,10 @@ if(WIN32 AND MSVC)
- endif()
- endif()
-
-+if(_gRPC_PLATFORM_LINUX)
-+ set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION})
-+ set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
-+endif()
-
- target_include_directories(grpc++_cronet
- PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -3630,6 +3667,11 @@ protobuf_generate_grpc_cpp(
+@@ -3589,6 +3622,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/status/status.proto
)
@@ -121,7 +107,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc++_error_details
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
-@@ -3762,6 +3804,11 @@ protobuf_generate_grpc_cpp(
+@@ -3727,6 +3765,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/reflection/v1alpha/reflection.proto
)
@@ -133,7 +119,18 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc++_reflection
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
-@@ -4265,6 +4312,10 @@ if(WIN32 AND MSVC)
+@@ -3816,6 +3859,10 @@ target_link_libraries(grpc++_test_config
+ ${_gRPC_GFLAGS_LIBRARIES}
+ )
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
+
+ endif (gRPC_BUILD_TESTS)
+ if (gRPC_BUILD_TESTS)
+@@ -4307,6 +4354,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -144,7 +141,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc++_unsecure
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -4649,6 +4700,10 @@ if(WIN32 AND MSVC)
+@@ -4745,6 +4796,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -155,7 +152,19 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc_plugin_support
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -5184,6 +5239,10 @@ if(WIN32 AND MSVC)
+@@ -4813,6 +4868,11 @@ protobuf_generate_grpc_cpp(
+ src/proto/grpc/channelz/channelz.proto
+ )
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpcpp_channelz PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpcpp_channelz PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
++
+ target_include_directories(grpcpp_channelz
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+@@ -5367,6 +5427,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -166,6 +175,3 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc_csharp_ext
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb
new file mode 100644
index 00000000..752562eb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb
@@ -0,0 +1,67 @@
+DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
+Provides gRPC libraries for multiple languages written on top of shared C core library \
+(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
+HOMEPAGE = "https://github.com/grpc/grpc"
+SECTION = "libs"
+LICENSE = "Apache-2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2"
+DEPENDS_append_class-target = " googletest grpc-native "
+DEPENDS_append_class-nativesdk = " grpc-native "
+
+S = "${WORKDIR}/git"
+SRCREV_grpc = "2de2e8dd8921e1f7d043e01faf7fe8a291fbb072"
+SRCREV_upb = "9effcbcb27f0a665f9f345030188c0b291e32482"
+BRANCH = "v1.24.x"
+SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
+ git://github.com/protocolbuffers/upb;name=upb;destsuffix=git/third_party/upb \
+ file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
+ "
+SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch \
+ "
+SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
+
+# Fixes build with older compilers 4.8 especially on ubuntu 14.04
+CXXFLAGS_append_class-native = " -Wl,--no-as-needed"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = " \
+ -DgRPC_CARES_PROVIDER=package \
+ -DgRPC_ZLIB_PROVIDER=package \
+ -DgRPC_SSL_PROVIDER=package \
+ -DgRPC_PROTOBUF_PROVIDER=package \
+ -DgRPC_GFLAGS_PROVIDER=package \
+ -DgRPC_INSTALL=ON \
+ -DCMAKE_CROSSCOMPILING=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DgRPC_INSTALL_LIBDIR=${baselib} \
+ -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
+ "
+
+do_configure_prepend_mipsarch() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+do_configure_prepend_powerpc() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+do_configure_prepend_riscv64() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+do_configure_prepend_riscv32() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+do_configure_prepend_toolchain-clang_x86() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+SYSROOT_DIRS_BLACKLIST_append_class-target = "${baselib}/cmake/grpc"
+
+FILES_${PN}-dev += "${bindir}"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb b/external/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb
new file mode 100644
index 00000000..f0590021
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb
@@ -0,0 +1,39 @@
+SUMMARY = "runtime performance analyzer"
+HOMEPAGE = "https://github.com/iipeace/guider"
+BUGTRACKER = "https://github.com/iipeace/guider/issues"
+AUTHOR = "Peace Lee <ipeace5@gmail.com>"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
+
+PV = "3.9.6+git${SRCPV}"
+PR = "r0"
+
+SRC_URI = "git://github.com/iipeace/${BPN}"
+#SRCREV = "${AUTOREV}"
+SRCREV = "fef25c41efb9bde0614ea477d0b90bd9565ae0b4"
+
+S = "${WORKDIR}/git"
+R = "${RECIPE_SYSROOT}"
+
+inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "distutils", "", d)}
+
+GUIDER_OBJ = "guider.pyc"
+GUIDER_SCRIPT = "guider"
+
+do_install() {
+ python ${S}/setup.py install
+
+ install -d ${D}${bindir}
+ install -v -m 0755 ${STAGING_BINDIR_NATIVE}/${GUIDER_SCRIPT} ${D}${bindir}/${GUIDER_SCRIPT}
+
+ install -d ${D}${datadir}/${BPN}
+ install -v -m 0755 ${STAGING_LIBDIR_NATIVE}/python${PYTHON_BASEVERSION}/site-packages/${BPN}/${GUIDER_OBJ} ${D}${datadir}/${BPN}/${GUIDER_OBJ}
+}
+
+RDEPENDS_${PN} = "python-ctypes python-shell \
+ python-json python-subprocess"
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch
deleted file mode 100644
index 1dfd955f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 18b4b18b41f5ed396d73449ce8d6ec408d95d6b2 Mon Sep 17 00:00:00 2001
-From: David Tolnay <dtolnay@gmail.com>
-Date: Sat, 21 Nov 2015 10:05:37 -0800
-Subject: [PATCH] Support --without-oniguruma
-
-Upstream-Status: Backport
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-
----
- configure.ac | 41 ++++++++++++++++++++---------------------
- 1 file changed, 20 insertions(+), 21 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9e2c8cf..7f6be34 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -52,27 +52,26 @@ fi
- AC_ARG_WITH([oniguruma],
- [AS_HELP_STRING([--with-oniguruma=prefix],
- [try this for a non-standard install prefix of the oniguruma library])],
-- [ONIGURUMAPATHSET=1],
-- [ONIGURUMAPATHSET=0])
--
--if test $ONIGURUMAPATHSET = 1; then
-- CFLAGS="$CFLAGS -I${with_oniguruma}/include"
-- LDFLAGS="$LDFLAGS -L${with_oniguruma}/lib"
--fi
--
--# check for ONIGURUMA library
--HAVE_ONIGURUMA=0
--AC_CHECK_HEADER("oniguruma.h",
-- AC_CHECK_LIB([onig],[onig_version],[LIBS="$LIBS -lonig"; HAVE_ONIGURUMA=1;]))
--
--# handle check results
--if test $HAVE_ONIGURUMA != 1; then
-- AC_MSG_NOTICE([Oniguruma was not found.])
-- AC_MSG_NOTICE([ Try setting the location using '--with-oniguruma=PREFIX' ])
--else
-- AC_DEFINE([HAVE_ONIGURUMA],1,[Define to 1 if Oniguruma is installed])
--fi
--
-+ [],
-+ [with_oniguruma=yes])
-+
-+AS_IF([test "x$with_oniguruma" != xno], [
-+ AS_IF([test "x$with_oniguruma" != xyes], [
-+ CFLAGS="$CFLAGS -I${with_oniguruma}/include"
-+ LDFLAGS="$LDFLAGS -L${with_oniguruma}/lib"
-+ ])
-+ # check for ONIGURUMA library
-+ have_oniguruma=0
-+ AC_CHECK_HEADER("oniguruma.h",
-+ AC_CHECK_LIB([onig],[onig_version],[LIBS="$LIBS -lonig"; have_oniguruma=1;]))
-+ # handle check results
-+ AS_IF([test $have_oniguruma = 1], [
-+ AC_DEFINE([HAVE_ONIGURUMA], 1, [Define to 1 if Oniguruma is installed])
-+ ], [
-+ AC_MSG_NOTICE([Oniguruma was not found.])
-+ AC_MSG_NOTICE([Try setting the location using '--with-oniguruma=PREFIX'])
-+ ])
-+])
-
- dnl Check for valgrind
- AC_CHECK_PROGS(valgrind_cmd, valgrind)
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb
deleted file mode 100644
index 0f40815c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Lightweight and flexible command-line JSON processor"
-DESCRIPTION = "jq is like sed for JSON data, you can use it to slice and \
- filter and map and transform structured data with the same \
- ease that sed, awk, grep and friends let you play with text."
-HOMEPAGE = "https://stedolan.github.io/jq/"
-BUGTRACKER = "https://github.com/stedolan/jq/issues"
-SECTION = "utils"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=29dd0c35d7e391bb8d515eacf7592e00"
-
-SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BP}/${BP}.tar.gz \
- file://Support-without-oniguruma.patch \
-"
-
-SRC_URI[md5sum] = "0933532b086bd8b6a41c1b162b1731f9"
-SRC_URI[sha256sum] = "c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c"
-
-inherit autotools
-
-PACKAGECONFIG ?= "oniguruma"
-
-PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,ruby-native"
-PACKAGECONFIG[maintainer-mode] = "--enable-maintainer-mode,--disable-maintainer-mode,flex-native bison-native"
-PACKAGECONFIG[oniguruma] = "--with-oniguruma,--without-oniguruma,onig"
-
-OE_EXTRACONF += " \
- --disable-valgrind \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb
new file mode 100644
index 00000000..bfaeed5f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Lightweight and flexible command-line JSON processor"
+DESCRIPTION = "jq is like sed for JSON data, you can use it to slice and \
+ filter and map and transform structured data with the same \
+ ease that sed, awk, grep and friends let you play with text."
+HOMEPAGE = "https://stedolan.github.io/jq/"
+BUGTRACKER = "https://github.com/stedolan/jq/issues"
+SECTION = "utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=15d03e360fa7399f76d5a4359fc72cbf"
+
+SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BP}/${BP}.tar.gz"
+
+UPSTREAM_CHECK_URI = "https://github.com/stedolan/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "jq\-(?P<pver>(\d+\.\d+))(?!_\d+).tar.gz"
+
+SRC_URI[md5sum] = "e68fbd6a992e36f1ac48c99bbf825d6b"
+SRC_URI[sha256sum] = "5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72"
+
+inherit autotools-brokensep
+
+PACKAGECONFIG ?= "oniguruma"
+
+PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,ruby-native"
+PACKAGECONFIG[maintainer-mode] = "--enable-maintainer-mode,--disable-maintainer-mode,flex-native bison-native"
+PACKAGECONFIG[oniguruma] = "--with-oniguruma,--without-oniguruma,onig"
+
+OE_EXTRACONF += " \
+ --disable-valgrind \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb
deleted file mode 100644
index 88e33203..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "JSON C++ lib used to read and write json file."
-DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
- and writer in C++. JSON (JavaScript Object Notation) is a \
- lightweight data-interchange format. It is easy for humans to \
- read and write. It is easy for machines to parse and generate."
-
-HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp"
-
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b"
-
-SRCREV = "ddabf50f72cf369bf652a95c4d9fe31a1865a781"
-SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
new file mode 100644
index 00000000..97c6361a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "JSON C++ lib used to read and write json file."
+DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
+ and writer in C++. JSON (JavaScript Object Notation) is a \
+ lightweight data-interchange format. It is easy for humans to \
+ read and write. It is easy for machines to parse and generate."
+
+HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b"
+
+SRCREV = "6aba23f4a8628d599a9ef7fa4811c4ff6e4070e2"
+SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch
deleted file mode 100644
index 748e4da1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch
deleted file mode 100644
index d21e9795..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch
deleted file mode 100644
index 3b9068a7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch
deleted file mode 100644
index 21ef98bf..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch
deleted file mode 100644
index aece45b0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb
deleted file mode 100644
index eb1ff65b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
new file mode 100644
index 00000000..ca9675ed
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
@@ -0,0 +1,27 @@
+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=4e728c5b36018f6c383b4b9efd9c8840"
+SECTION = "libs"
+
+DEPENDS = "curl jsoncpp libmicrohttpd hiredis"
+
+SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp"
+SRCREV = "c696f6932113b81cd20cd4a34fdb1808e773f23e"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[coverage] = "-DWITH_COVERAGE=YES,-DWITH_COVERAGE=NO,,"
+
+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} \
+"
+
+FILES_${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
index de9a6eb9..ec959d27 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
@@ -7,13 +7,13 @@ the effort of keeping an up-to-date, out-of-tree, packaging of the \
kconfig infrastructure, ready for use by third-party projects. \
The kconfig-frontends package provides the kconfig parser, as well as all \
the frontends"
-HOMEPAGE = "http://ymorin.is-a-geek.org/projects/kconfig-frontends"
+HOMEPAGE = "https://gitlab.com/ymorin/kconfig-frontends"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=9b8cf60ff39767ff04b671fca8302408"
SECTION = "devel"
-DEPENDS += "ncurses flex bison gperf-native bison-native"
+DEPENDS += "ncurses flex-native gperf-native bison-native"
RDEPENDS_${PN} += "python3 bash"
-SRC_URI = "git://ymorin.is-a-geek.org/kconfig-frontends;branch=4.11.x \
+SRC_URI = "git://gitlab.com/ymorin/kconfig-frontends.git;protocol=https;branch=4.11.x \
file://0001-Makefile-ensure-frontends-exits-before-writing-into-.patch \
file://0001-Switch-utils-kconfig-diff-to-use-Python-3.patch"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb
deleted file mode 100644
index 7544744b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.8.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Linear Algebra PACKage"
-URL = "http://www.netlib.org/lapack"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=930f8aa500a47c7dab0f8efb5a1c9a40"
-
-# Recipe needs FORTRAN support (copied from conf/local.conf.sample.extended)
-# Enabling FORTRAN
-# Note this is not officially supported and is just illustrated here to
-# show an example of how it can be done
-# You'll also need your fortran recipe to depend on libgfortran
-#FORTRAN_forcevariable = ",fortran"
-#RUNTIMETARGET_append_pn-gcc-runtime = " libquadmath"
-
-DEPENDS = "libgfortran"
-
-SRC_URI = "http://www.netlib.org/lapack/lapack-${PV}.tar.gz"
-SRC_URI[md5sum] = "96591affdbf58c450d45c1daa540dbd2"
-SRC_URI[sha256sum] = "deb22cc4a6120bff72621155a9917f485f96ef8319ac074a7afbc68aab88bcf6"
-
-EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON "
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-inherit cmake pkgconfig
-EXCLUDE_FROM_WORLD = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb
new file mode 100644
index 00000000..62d4df5e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Linear Algebra PACKage"
+URL = "http://www.netlib.org/lapack"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=930f8aa500a47c7dab0f8efb5a1c9a40"
+
+# Recipe needs FORTRAN support (copied from conf/local.conf.sample.extended)
+# Enabling FORTRAN
+# Note this is not officially supported and is just illustrated here to
+# show an example of how it can be done
+# You'll also need your fortran recipe to depend on libgfortran
+#FORTRAN_forcevariable = ",fortran"
+#RUNTIMETARGET_append_pn-gcc-runtime = " libquadmath"
+
+DEPENDS = "libgfortran"
+
+SRCREV = "6acc99d5f39130be7cec00fb835606042101a970"
+SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https"
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON "
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+inherit cmake pkgconfig
+EXCLUDE_FROM_WORLD = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb
new file mode 100644
index 00000000..2a52dd68
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "LDNS is a DNS library that facilitates DNS tool programming"
+HOMEPAGE = "https://nlnetlabs.nl/ldns"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019"
+
+SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz"
+SRC_URI[md5sum] = "166262a46995d9972aba417fd091acd5"
+SRC_URI[sha256sum] = "8ac84c16bdca60e710eea75782356f3ac3b55680d40e1530d7cea474ac208229"
+
+DEPENDS = "openssl"
+
+inherit autotools-brokensep
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[drill] = "--with-drill,--without-drill"
+
+EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR} \
+ libtool=${TARGET_PREFIX}libtool"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch b/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch
deleted file mode 100644
index c95cdc9d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-__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/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb
deleted file mode 100644
index 60f4f5a2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb
+++ /dev/null
@@ -1,23 +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 \
- file://stdc-predef.patch \
- "
-SRC_URI[md5sum] = "97679319742f45d6cdcd6075511b14ac"
-SRC_URI[sha256sum] = "c41bea8fd140fb57ba67a98ec1d8ae0b8ffa82f4aba9c35a87e5a9499e653116"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb
deleted file mode 100644
index 6386f1ff..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
-and classes for commonly used data structures."
-HOMEPAGE = "http://live.gnome.org/Libgee"
-SECTION = "libs"
-DEPENDS = "glib-2.0"
-
-BBCLASSEXTEND = "native"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-PE = "1"
-
-inherit autotools vala pkgconfig gobject-introspection
-do_configure_prepend() {
- MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
- for i in ${MACROS}; do
- rm -f m4/$i
- done
-}
-
-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/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb
new file mode 100644
index 00000000..576eff6d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
+and classes for commonly used data structures."
+HOMEPAGE = "http://live.gnome.org/Libgee"
+SECTION = "libs"
+DEPENDS = "glib-2.0"
+
+BBCLASSEXTEND = "native"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+PE = "1"
+inherit gnomebase vala gobject-introspection
+
+do_configure_prepend() {
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f m4/$i
+ done
+}
+
+SRC_URI[archive.md5sum] = "e574b3952b93d219b5ec7c74c5892c33"
+SRC_URI[archive.sha256sum] = "d0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch
deleted file mode 100644
index 560c3a6d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch
+++ /dev/null
@@ -1,302 +0,0 @@
-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 -latomic")
-+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/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch
deleted file mode 100644
index d91accf1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From ac7316679e30f7013604b19aa0949a0744e91d2f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 1 Jul 2017 13:06:30 -0700
-Subject: [PATCH] Check for __powerpc__ define
-
-Also check for gcc's internal define for ppc platform
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/RCF/ByteOrdering.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/RCF/ByteOrdering.cpp b/src/RCF/ByteOrdering.cpp
-index 278ca80..9f9c446 100755
---- a/src/RCF/ByteOrdering.cpp
-+++ b/src/RCF/ByteOrdering.cpp
-@@ -36,7 +36,7 @@ namespace RCF {
-
- const ByteOrder MachineByteOrder = BigEndian;
-
--#elif defined( __ppc__ )
-+#elif defined( __ppc__ ) || defined( __powerpc__ )
-
- const ByteOrder MachineByteOrder = BigEndian;
-
---
-2.13.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch
deleted file mode 100644
index e949dee4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From d78851b6f87f2472f041102d7b3726ffc009bfad Mon Sep 17 00:00:00 2001
-From: Ming Liu <peter.x.liu@external.atlascopco.com>
-Date: Tue, 6 Jun 2017 05:54:20 +0200
-Subject: [PATCH] ClientStub.hpp: fix a clang compiling issue
-
-A error was observed with clang compiler, as follows:
-| src/RCF/RCF.cpp:49:
-| src/RCF/ClientStub.cpp:28:
-| include/RCF/Future.hpp:49:26: error: 'enrol' is a private member of 'RCF::ClientStub'
-
-it can be fixed by declaring Future as a friend class of ClientStub.
-
-Upstream-Status: Pending
-
-Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
----
- include/RCF/ClientStub.hpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/include/RCF/ClientStub.hpp b/include/RCF/ClientStub.hpp
-index 9882cf4..8465625 100755
---- a/include/RCF/ClientStub.hpp
-+++ b/include/RCF/ClientStub.hpp
-@@ -372,6 +372,8 @@ namespace RCF {
-
- private:
-
-+ template<typename U>
-+ friend class Future;
- friend class FutureImplBase;
-
- template<
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch
deleted file mode 100644
index e08efb92..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch
deleted file mode 100644
index 4a327f78..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
-===================================================================
---- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp
-+++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
-@@ -64,6 +64,14 @@ namespace RCF {
-
- const ByteOrder MachineByteOrder = LittleEndian;
-
-+#elif defined(__mipsel__) || defined(__mips64el__)
-+
-+ const ByteOrder MachineByteOrder = LittleEndian;
-+
-+#elif defined( __mips__ ) || defined(__mips64__)
-+
-+ const ByteOrder MachineByteOrder = BigEndian;
-+
- #elif defined(__bfin__)
-
- const ByteOrder MachineByteOrder = LittleEndian;
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
deleted file mode 100644
index dcd47a4e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-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=7586a312b9e978f9d6fac9a5780d1f84"
-
-SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \
- file://0001-Add-CMake-build-files.patch \
- file://aarch64-support.patch \
- file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \
- file://mips-support.patch \
- file://0001-Check-for-__powerpc__-define.patch \
- "
-
-SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690"
-SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd"
-
-S = "${WORKDIR}/RCF-${PV}"
-
-inherit cmake dos2unix
-
-PACKAGECONFIG ?= "zlib openssl sf-serialization boost-filesystem boost-asio protobuf json dll static shared demos"
-PACKAGECONFIG[zlib] = "-DLIBRCF_USE_ZLIB=ON,-DLIBRCF_USE_ZLIB=OFF,zlib,zlib"
-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,protobuf"
-PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,json-spirit"
-PACKAGECONFIG[ipv6] = "-DLIBRCF_USE_IPV6=ON,-DLIBRCF_USE_IPV6=OFF,"
-PACKAGECONFIG[custom-allocator] = "-DLIBRCF_USE_CUSTOM_ALLOCATOR=ON,-DLIBRCF_USE_CUSTOM_ALLOCATOR=OFF,"
-PACKAGECONFIG[dll] = "-DLIBRCF_BUILD_DLL=ON,-DLIBRCF_BUILD_DLL=OFF,"
-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}/*"
-
-BBCLASSEXTEND = "nativesdk"
-
-PNBLACKLIST[librcf] = " error: invalid use of incomplete type 'RCF::AsioIoService {aka class boost::asio::io_service}; among others?"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch b/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch
new file mode 100644
index 00000000..4f1dd763
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch
@@ -0,0 +1,42 @@
+From a12325a0cbf3bf1d66a0b0f8d85e08083bae6066 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
+Date: Wed, 25 Dec 2019 10:27:59 +0100
+Subject: [PATCH] blobmsg: fix array out of bounds GCC 10 warning
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes following warning reported by GCC 10.0.0 20191203:
+
+ blobmsg.c:234:2: error: 'strcpy' offset 6 from the object at 'attr' is out of the bounds of referenced subobject 'name' with type 'uint8_t[0]' {aka 'unsigned char[0]'} at offset 6 [-Werror=array-bounds]
+ 234 | strcpy((char *) hdr->name, (const char *)name);
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ In file included from blobmsg.c:16:
+ blobmsg.h:42:10: note: subobject 'name' declared here
+ 42 | uint8_t name[];
+ | ^~~~
+
+Upstream-Status: Submitted [https://gitlab.com/ynezz/openwrt-libubox/commit/3775b3aa28de8c20d96b6f02786a327423b0748a]
+Reported-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Petr Å tetiar <ynezz@true.cz>
+---
+ blobmsg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blobmsg.c b/blobmsg.c
+index a860483..b6b7535 100644
+--- a/blobmsg.c
++++ b/blobmsg.c
+@@ -195,7 +195,7 @@ blobmsg_new(struct blob_buf *buf, int type, const char *name, int payload_len, v
+ attr->id_len |= be32_to_cpu(BLOB_ATTR_EXTENDED);
+ hdr = blob_data(attr);
+ hdr->namelen = cpu_to_be16(namelen);
+- strcpy((char *) hdr->name, (const char *)name);
++ memcpy(hdr->name, name, namelen);
+ pad_end = *data = blobmsg_data(attr);
+ pad_start = (char *) &hdr->name[namelen];
+ if (pad_start < pad_end)
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
index f9f4e08b..7dbefa11 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
@@ -16,9 +16,10 @@ SRC_URI = "\
git://git.openwrt.org/project/libubox.git \
file://0001-version-libraries.patch \
file://fix-libdir.patch \
+ file://0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch \
"
-SRCREV = "155bf39896f126b1ba121b816922a88dc34c31e3"
+SRCREV = "07413cce72e19520af55dfcbc765484f5ab41dd9"
PV = "1.0.1+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb b/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb
deleted file mode 100644
index d17d15c9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "log4cplus provides a simple C++ logging API for log management"
-SECTION = "libs"
-HOMEPAGE = "http://sourceforge.net/projects/log4cplus/"
-BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/"
-
-LICENSE = "Apache-2.0 & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "b3bbeb2dc3e170768430cf87583016f8"
-SRC_URI[sha256sum] = "10539f2315271d370c7bc6a2b4808cbe369279837f4539ce5c789e456489fc62"
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/"
-UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P<pver>\d+(\.\d+)+)/"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb
new file mode 100644
index 00000000..967ac762
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb
@@ -0,0 +1,19 @@
+SUMMARY = "log4cplus provides a simple C++ logging API for log management"
+SECTION = "libs"
+HOMEPAGE = "http://sourceforge.net/projects/log4cplus/"
+BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/"
+
+LICENSE = "Apache-2.0 & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \
+ "
+SRC_URI[md5sum] = "71dd956bf686195127559671f1426cff"
+SRC_URI[sha256sum] = "c07115c23219390633798def30b7b51a0f79fdeb857e4b49632f17746d0ceb97"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/"
+UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P<pver>\d+(\.\d+)+)/"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb b/external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb
index b344fbf3..d1a73342 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb
@@ -30,3 +30,5 @@ do_compile() {
do_install() {
oe_runmake install DESTDIR=${D}
}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch
new file mode 100644
index 00000000..98cc9ba9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch
@@ -0,0 +1,42 @@
+From 5226333bddb755dbefd780d31450e0238dd5d3bd Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Wed, 16 Oct 2019 08:24:23 +0900
+Subject: [PATCH] Bug fix for data type length judgment.
+
+...
+if (byte_size == sizeof(long)) {
+
+ *type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG;
+
+ return true;
+
+}
+...
+
+If ltrace's target command has a dbg package, ltrace will look for the debug file and analyze its contents.
+Ltrace determines the type of analysis result variable. The type of the variable is longlong.
+On 32-bit systems, longlong is 8 and long is 4 (same as in).
+An error occurred because the ltrace code did not process a variable of length 8.
+
+Upstream-Status: Pending
+Signed-off-by: Wang Mingyu <wangmy.fnst@cn.fujitsu.com>
+---
+ dwarf_prototypes.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dwarf_prototypes.c b/dwarf_prototypes.c
+index bfac177..9887d4b 100644
+--- a/dwarf_prototypes.c
++++ b/dwarf_prototypes.c
+@@ -190,7 +190,7 @@ static bool get_integer_base_type(enum arg_type *type, int byte_size,
+ return true;
+ }
+
+- if (byte_size == sizeof(long)) {
++ if (byte_size == sizeof(long long)) {
+ *type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG;
+ return true;
+ }
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch
new file mode 100644
index 00000000..9def41ca
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch
@@ -0,0 +1,46 @@
+From 67a8fa478a4484bc4dbfb3ac74e11be1dd5af594 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Dec 2019 19:35:48 -0800
+Subject: [PATCH] ensure the struct pointers are null initilized
+
+Do not delete if pointer is already null
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ expr.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/expr.c b/expr.c
+index 4059a32..5ffd0ad 100644
+--- a/expr.c
++++ b/expr.c
+@@ -189,10 +189,8 @@ int
+ expr_clone(struct expr_node *retp, const struct expr_node *node)
+ {
+ *retp = *node;
+-
++ struct expr_node *nlhs = 0, *nrhs = 0;
+ switch (node->kind) {
+- struct expr_node *nlhs;
+- struct expr_node *nrhs;
+
+ case EXPR_OP_ARGNO:
+ case EXPR_OP_SELF:
+@@ -236,8 +234,10 @@ expr_clone(struct expr_node *retp, const struct expr_node *node)
+ if (expr_alloc_and_clone(&nlhs, node->lhs, node->own_lhs) < 0) {
+ if (node->kind == EXPR_OP_CALL2
+ && node->u.call.own_rhs) {
+- expr_destroy(nrhs);
+- free(nrhs);
++ if (nrhs) {
++ expr_destroy(nrhs);
++ free(nrhs);
++ }
+ return -1;
+ }
+ }
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch
new file mode 100644
index 00000000..28903738
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch
@@ -0,0 +1,33 @@
+From 8321f8b3befbaa355cfed988fdd8494133989676 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 4 Feb 2019 00:38:16 -0800
+Subject: [PATCH] hook: Do not append int to std::string
+
+Clang find this error
+
+| ../../../git/sysdeps/linux-gnu/hooks.c:205:51: error: adding 'int' to a string does not append to the string [-Werror,-Wstring-plus
+-int]
+| || sprintf(syspath, "%s/%s", sysconfdir, FN + 1) < 0)
+| ~~~^~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux-gnu/hooks.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sysdeps/linux-gnu/hooks.c
++++ b/sysdeps/linux-gnu/hooks.c
+@@ -200,9 +200,10 @@ os_get_ltrace_conf_filenames(struct vect
+ const char *sysconfdir = SYSCONFDIR;
+ if (sysconfdir != NULL && *sysconfdir != '\0') {
+ /* No +1, we skip the initial period. */
+- syspath = malloc(strlen(sysconfdir) + sizeof FN);
++ syspath = malloc(strlen(sysconfdir) + sizeof FN + 2);
++ syspath[strlen(sysconfdir) + sizeof FN + 1] = '\0';
+ if (syspath == NULL
+- || sprintf(syspath, "%s/%s", sysconfdir, FN + 1) < 0)
++ || sprintf(syspath, "%s/%s", sysconfdir, FN) < 0)
+ goto fail;
+ }
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch
new file mode 100644
index 00000000..54acaace
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch
@@ -0,0 +1,37 @@
+From 0cad025f80cf090dc16a5b70e21477f5b08a67fd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Dec 2018 11:27:45 -0800
+Subject: [PATCH] move fprintf into same block where modname and symname are
+ computed
+
+In its current state if mod turns out to be NULL then modname and
+symname will also turn out to be NULL and fprinting them as strings will
+be problematic
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ output.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/output.c b/output.c
+index b63befe..5aada7b 100644
+--- a/output.c
++++ b/output.c
+@@ -654,12 +654,11 @@ frame_callback (Dwfl_Frame *state, void *arg)
+ NULL, NULL, NULL);
+ symname = dwfl_module_addrinfo(mod, pc, &off, &sym,
+ NULL, NULL, NULL);
++ /* This mimics the output produced by libunwind below. */
++ fprintf(options.output, " > %s(%s+0x%" PRIx64 ") [%" PRIx64 "]\n",
++ modname, symname, off, pc);
+ }
+
+- /* This mimics the output produced by libunwind below. */
+- fprintf(options.output, " > %s(%s+0x%" PRIx64 ") [%" PRIx64 "]\n",
+- modname, symname, off, pc);
+-
+ /* See if we can extract the source line too and print it on
+ the next line if we can find it. */
+ if (mod != NULL) {
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch
new file mode 100644
index 00000000..e4490bbb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch
@@ -0,0 +1,30 @@
+kernel headers have restructured mips syscall generation in kernel
+in recent versions, however, ltrace still has logic to define the
+syscall numbers based on old logic, this patch includes the legacy
+UAPI headers to get these defines
+
+Fixes errors e.g.
+../../../../git/sysdeps/linux-gnu/mips/trace.c:138:29: error: '__NR_O32_Linux' undeclared (first use in this function)
+ const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux,
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/sysdeps/linux-gnu/mips/trace.c
++++ b/sysdeps/linux-gnu/mips/trace.c
+@@ -34,6 +34,16 @@
+ #include <assert.h>
+ #include <asm/unistd.h>
+
++#ifndef __NR_O32_Linux
++#include <asm/unistd_nr_o32.h>
++#endif
++#ifndef __NR_N32_Linux
++#include <asm/unistd_nr_n64.h>
++#endif
++#ifndef __NR_N64_Linux
++#include <asm/unistd_nr_n32.h>
++#endif
++
+ #include "backend.h"
+ #include "common.h"
+ #include "debug.h"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index f4033f7c..5710943d 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -14,7 +14,6 @@ PV = "7.91+git${SRCPV}"
SRCREV = "c22d359433b333937ee3d803450dc41998115685"
DEPENDS = "elfutils"
-RDEPENDS_${PN} = "elfutils"
SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http \
file://configure-allow-to-disable-selinux-support.patch \
file://0001-replace-readdir_r-with-readdir.patch \
@@ -25,6 +24,11 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http
file://0001-Add-support-for-mips64-n32-n64.patch \
file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \
file://0001-mips-plt.c-Delete-include-error.h.patch \
+ file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
+ file://0001-hook-Do-not-append-int-to-std-string.patch \
+ file://include_unistd_nr.patch \
+ file://0001-Bug-fix-for-data-type-length-judgment.patch \
+ file://0001-ensure-the-struct-pointers-are-null-initilized.patch \
"
S = "${WORKDIR}/git"
@@ -34,6 +38,9 @@ PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
do_configure_prepend () {
( cd ${S}; ./autogen.sh )
}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch
new file mode 100644
index 00000000..e7679008
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch
@@ -0,0 +1,59 @@
+From 601ef636fc4dfb2af3e7fda88d8ea1c1d92affe4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 2 Oct 2019 17:54:15 +0200
+Subject: [PATCH] Allow building lua without readline on Linux
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile | 2 +-
+ src/Makefile | 3 +++
+ src/luaconf.h | 5 +++++
+ 3 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 119110d..9f6df45 100644
+--- a/Makefile
++++ b/Makefile
+@@ -36,7 +36,7 @@ RM= rm -f
+ # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
+
+ # Convenience platforms targets.
+-PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
++PLATS= aix bsd c89 freebsd generic linux linux-no-readline macosx mingw posix solaris
+
+ # What to install.
+ TO_BIN= lua luac
+diff --git a/src/Makefile b/src/Makefile
+index 64c78f7..5c0428a 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -109,6 +109,9 @@ generic: $(ALL)
+ linux:
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
+
++linux-no-readline:
++ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX_NO_READLINE" SYSLIBS="-Wl,-E -ldl"
++
+ macosx:
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline"
+
+diff --git a/src/luaconf.h b/src/luaconf.h
+index 9eeeea6..d71ca25 100644
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -64,6 +64,11 @@
+ #define LUA_USE_READLINE /* needs some extra libraries */
+ #endif
+
++#if defined(LUA_USE_LINUX_NO_READLINE)
++#define LUA_USE_POSIX
++#define LUA_USE_DLOPEN /* needs an extra library: -ldl */
++#endif
++
+
+ #if defined(LUA_USE_MACOSX)
+ #define LUA_USE_POSIX
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch
deleted file mode 100644
index cfe48af5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-CVE-2019-6706: use-after-free in lua_upvaluejoin function
-
-Upstream-Status: Backport
-http://lua.2524044.n2.nabble.com/CVE-2019-6706-use-after-free-in-lua-upvaluejoin-function-tc7685575.html
-CVE: CVE-2019-6706
-Affects < 5.3.5
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: lua-5.3.4/src/lapi.c
-===================================================================
---- lua-5.3.4.orig/src/lapi.c
-+++ lua-5.3.4/src/lapi.c
-@@ -1285,14 +1285,14 @@ LUA_API void *lua_upvalueid (lua_State *
-
- LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1,
- int fidx2, int n2) {
-- LClosure *f1;
-- UpVal **up1 = getupvalref(L, fidx1, n1, &f1);
-+ UpVal **up1 = getupvalref(L, fidx1, n1, NULL); /* the last parameter not needed */
- UpVal **up2 = getupvalref(L, fidx2, n2, NULL);
-+ if (*up1 == *up2) return; /* Already joined */
-+ (*up2)->refcount++;
-+ if (upisopen(*up2)) (*up2)->u.open.touched = 1;
-+ luaC_upvalbarrier(L, *up2);
- luaC_upvdeccount(L, *up1);
- *up1 = *up2;
-- (*up1)->refcount++;
-- if (upisopen(*up1)) (*up1)->u.open.touched = 1;
-- luaC_upvalbarrier(L, *up1);
- }
-
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
deleted file mode 100644
index 978c2033..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-DESCRIPTION = "Lua is a powerful light-weight programming language designed \
-for extending applications."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=60aa5cfdbd40086501778d9b6ebf29ee"
-HOMEPAGE = "http://www.lua.org/"
-
-DEPENDS = "readline"
-SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
- file://lua.pc.in \
- file://CVE-2019-6706.patch \
- "
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \
- 'http://www.lua.org/tests/lua-${PV}-tests.tar.gz;name=tarballtest \
- file://run-ptest \
- ', '', d)}"
-
-SRC_URI[tarballsrc.md5sum] = "53a9c68bcc0eda58bdc2095ad5cdfc63"
-SRC_URI[tarballsrc.sha256sum] = "f681aa518233bc407e23acf0f5887c884f17436f000d453b2491a9f11a52400c"
-SRC_URI[tarballtest.md5sum] = "b14fe3748c1cb2d74e3acd1943629ba3"
-SRC_URI[tarballtest.sha256sum] = "b80771238271c72565e5a1183292ef31bd7166414cd0d43a8eb79845fa7f599f"
-
-inherit pkgconfig binconfig ptest
-
-UCLIBC_PATCHES += "file://uclibc-pthread.patch"
-SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
-
-TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
-EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'"
-
-do_configure_prepend() {
- sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
-}
-
-do_compile () {
- oe_runmake linux
-}
-
-do_install () {
- oe_runmake \
- 'INSTALL_TOP=${D}${prefix}' \
- 'INSTALL_BIN=${D}${bindir}' \
- 'INSTALL_INC=${D}${includedir}/' \
- 'INSTALL_MAN=${D}${mandir}/man1' \
- 'INSTALL_SHARE=${D}${datadir}/lua' \
- 'INSTALL_LIB=${D}${libdir}' \
- 'INSTALL_CMOD=${D}${libdir}/lua/5.3' \
- install
- install -d ${D}${libdir}/pkgconfig
-
- sed -e s/@VERSION@/${PV}/ ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
- install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
- rmdir ${D}${datadir}/lua/5.3
- rmdir ${D}${datadir}/lua
-}
-
-do_install_ptest () {
- cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV}-tests ${D}${PTEST_PATH}/test
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb
new file mode 100644
index 00000000..a23a4a5d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb
@@ -0,0 +1,67 @@
+DESCRIPTION = "Lua is a powerful light-weight programming language designed \
+for extending applications."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=60aa5cfdbd40086501778d9b6ebf29ee"
+HOMEPAGE = "http://www.lua.org/"
+
+SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
+ file://lua.pc.in \
+ file://0001-Allow-building-lua-without-readline-on-Linux.patch \
+ "
+
+# if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
+PV_testsuites = "5.3.4"
+
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \
+ 'http://www.lua.org/tests/lua-${PV_testsuites}-tests.tar.gz;name=tarballtest \
+ file://run-ptest \
+ ', '', d)}"
+
+SRC_URI[tarballsrc.md5sum] = "4f4b4f323fd3514a68e0ab3da8ce3455"
+SRC_URI[tarballsrc.sha256sum] = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac"
+SRC_URI[tarballtest.md5sum] = "b14fe3748c1cb2d74e3acd1943629ba3"
+SRC_URI[tarballtest.sha256sum] = "b80771238271c72565e5a1183292ef31bd7166414cd0d43a8eb79845fa7f599f"
+
+inherit pkgconfig binconfig ptest
+
+PACKAGECONFIG ??= "readline"
+PACKAGECONFIG[readline] = ",,readline"
+
+UCLIBC_PATCHES += "file://uclibc-pthread.patch"
+SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
+
+TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
+EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS}'"
+
+do_configure_prepend() {
+ sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
+ sed -i -e s:lib/lua/:${baselib}/lua/:g src/luaconf.h
+}
+
+do_compile () {
+ oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux', 'linux-no-readline', d)}
+}
+
+do_install () {
+ oe_runmake \
+ 'INSTALL_TOP=${D}${prefix}' \
+ 'INSTALL_BIN=${D}${bindir}' \
+ 'INSTALL_INC=${D}${includedir}/' \
+ 'INSTALL_MAN=${D}${mandir}/man1' \
+ 'INSTALL_SHARE=${D}${datadir}/lua' \
+ 'INSTALL_LIB=${D}${libdir}' \
+ 'INSTALL_CMOD=${D}${libdir}/lua/5.3' \
+ install
+ install -d ${D}${libdir}/pkgconfig
+
+ sed -e s/@VERSION@/${PV}/ ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
+ install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
+ rmdir ${D}${datadir}/lua/5.3
+ rmdir ${D}${datadir}/lua
+}
+
+do_install_ptest () {
+ cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV_testsuites}-tests ${D}${PTEST_PATH}/test
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch b/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch
index c39ef6fd..807cc441 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/clang.patch
@@ -8,8 +8,8 @@ Index: LuaJIT-2.0.5/src/lj_arch.h
===================================================================
--- LuaJIT-2.0.5.orig/src/lj_arch.h
+++ LuaJIT-2.0.5/src/lj_arch.h
-@@ -313,7 +313,7 @@
- #error "Need at least GCC 4.2 or newer"
+@@ -436,7 +436,7 @@
+ #endif
#endif
#elif !LJ_TARGET_PS3
-#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3)
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
deleted file mode 100644
index f3a0f70e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
+++ /dev/null
@@ -1,96 +0,0 @@
-SUMMARY = "Just-In-Time Compiler for Lua"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=10a96c93403affcc34765f4c2612bc22"
-HOMEPAGE = "http://luajit.org"
-
-PV .= "+git${SRCPV}"
-SRCREV = "02b521981a1ab919ff2cd4d9bcaee80baf77dce2"
-SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http \
- file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
- file://clang.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig binconfig siteinfo
-
-BBCLASSEXTEND = "native"
-
-# http://luajit.org/install.html#cross
-# Host luajit needs to be compiled with the same pointer size
-# If you want to cross-compile to any 32 bit target on an x64 OS,
-# you need to install the multilib development package (e.g.
-# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part
-# (HOST_CC="gcc -m32").
-BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS', True) != '32']}"
-
-# The lua makefiles expect the TARGET_SYS to be from uname -s
-# Values: Windows, Linux, Darwin, iOS, SunOS, PS3, GNU/kFreeBSD
-LUA_TARGET_OS = "Unknown"
-LUA_TARGET_OS_darwin = "Darwin"
-LUA_TARGET_OS_linux = "Linux"
-LUA_TARGET_OS_linux-gnueabi = "Linux"
-LUA_TARGET_OS_mingw32 = "Windows"
-
-# We don't want the lua buildsystem's compiler optimizations, or its
-# stripping, and we don't want it to pick up CFLAGS or LDFLAGS, as those apply
-# to both host and target compiles
-EXTRA_OEMAKE = "\
- Q= E='@:' \
- \
- CCOPT= CCOPT_x86= CFLAGS= LDFLAGS= TARGET_STRIP='@:' \
- \
- 'TARGET_SYS=${LUA_TARGET_OS}' \
- \
- 'CC=${CC}' \
- 'TARGET_AR=${AR} rcus' \
- 'TARGET_CFLAGS=${CFLAGS}' \
- 'TARGET_LDFLAGS=${LDFLAGS}' \
- 'TARGET_SHLDFLAGS=${LDFLAGS}' \
- 'HOST_CC=${BUILD_CC}' \
- 'HOST_CFLAGS=${BUILD_CFLAGS}' \
- \
- 'PREFIX=${prefix}' \
- 'MULTILIB=${baselib}' \
- 'LDCONFIG=:' \
-"
-
-do_compile () {
- oe_runmake
-}
-
-# There's INSTALL_LIB and INSTALL_SHARE also, but the lua binary hardcodes the
-# '/share' and '/' + LUA_MULTILIB paths, so we don't want to break those
-# expectations.
-EXTRA_OEMAKEINST = "\
- 'DESTDIR=${D}' \
- 'INSTALL_BIN=${D}${bindir}' \
- 'INSTALL_INC=${D}${includedir}/luajit-$(MAJVER).$(MINVER)' \
- 'INSTALL_MAN=${D}${mandir}/man1' \
-"
-do_install () {
- oe_runmake ${EXTRA_OEMAKEINST} install
- rmdir ${D}${datadir}/lua/5.* \
- ${D}${datadir}/lua \
- ${D}${libdir}/lua/5.* \
- ${D}${libdir}/lua
-}
-
-PACKAGES += 'luajit-common'
-
-# See the comment for EXTRA_OEMAKEINST. This is needed to ensure the hardcoded
-# paths are packaged regardless of what the libdir and datadir paths are.
-FILES_${PN} += "${prefix}/${baselib} ${prefix}/share"
-FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \
- ${libdir}/libluajit-5.1.so.${PV} \
-"
-FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
- ${libdir}/libluajit-5.1.so \
- ${libdir}/pkgconfig/luajit.pc \
-"
-FILES_luajit-common = "${datadir}/${BPN}-${PV}"
-
-# Aarch64/mips64 is not supported in this release
-COMPATIBLE_HOST_aarch64 = "null"
-COMPATIBLE_HOST_mipsarchn32 = "null"
-COMPATIBLE_HOST_mipsarchn64 = "null"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb
new file mode 100644
index 00000000..cc903941
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb
@@ -0,0 +1,100 @@
+SUMMARY = "Just-In-Time Compiler for Lua"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d739bb9250a55c124a545b588fd76771"
+HOMEPAGE = "http://luajit.org"
+
+PV = "2.1.0~beta3"
+SRCREV = "0ad60ccbc3768fa8e3e726858adf261950edbc22"
+SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \
+ file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
+ file://clang.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig binconfig siteinfo
+
+BBCLASSEXTEND = "native"
+
+# http://luajit.org/install.html#cross
+# Host luajit needs to be compiled with the same pointer size
+# If you want to cross-compile to any 32 bit target on an x64 OS,
+# you need to install the multilib development package (e.g.
+# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part
+# (HOST_CC="gcc -m32").
+BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS') != '32']}"
+
+# The lua makefiles expect the TARGET_SYS to be from uname -s
+# Values: Windows, Linux, Darwin, iOS, SunOS, PS3, GNU/kFreeBSD
+LUA_TARGET_OS = "Unknown"
+LUA_TARGET_OS_darwin = "Darwin"
+LUA_TARGET_OS_linux = "Linux"
+LUA_TARGET_OS_linux-gnueabi = "Linux"
+LUA_TARGET_OS_mingw32 = "Windows"
+
+# We don't want the lua buildsystem's compiler optimizations, or its
+# stripping, and we don't want it to pick up CFLAGS or LDFLAGS, as those apply
+# to both host and target compiles
+EXTRA_OEMAKE = "\
+ Q= E='@:' \
+ \
+ CCOPT= CCOPT_x86= CFLAGS= LDFLAGS= TARGET_STRIP='@:' \
+ \
+ 'TARGET_SYS=${LUA_TARGET_OS}' \
+ \
+ 'CC=${CC}' \
+ 'TARGET_AR=${AR} rcus' \
+ 'TARGET_CFLAGS=${CFLAGS}' \
+ 'TARGET_LDFLAGS=${LDFLAGS}' \
+ 'TARGET_SHLDFLAGS=${LDFLAGS}' \
+ 'HOST_CC=${BUILD_CC}' \
+ 'HOST_CFLAGS=${BUILD_CFLAGS}' \
+ \
+ 'PREFIX=${prefix}' \
+ 'MULTILIB=${baselib}' \
+ 'LDCONFIG=:' \
+"
+
+do_compile () {
+ oe_runmake
+}
+
+# There's INSTALL_LIB and INSTALL_SHARE also, but the lua binary hardcodes the
+# '/share' and '/' + LUA_MULTILIB paths, so we don't want to break those
+# expectations.
+EXTRA_OEMAKEINST = "\
+ 'DESTDIR=${D}' \
+ 'INSTALL_BIN=${D}${bindir}' \
+ 'INSTALL_INC=${D}${includedir}/luajit-$(MAJVER).$(MINVER)' \
+ 'INSTALL_MAN=${D}${mandir}/man1' \
+"
+do_install () {
+ oe_runmake ${EXTRA_OEMAKEINST} install
+ rmdir ${D}${datadir}/lua/5.* \
+ ${D}${datadir}/lua \
+ ${D}${libdir}/lua/5.* \
+ ${D}${libdir}/lua
+}
+
+PACKAGES += 'luajit-common'
+
+# See the comment for EXTRA_OEMAKEINST. This is needed to ensure the hardcoded
+# paths are packaged regardless of what the libdir and datadir paths are.
+FILES_${PN} += "${prefix}/${baselib} ${prefix}/share"
+FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \
+ ${libdir}/libluajit-5.1.so.${PV} \
+"
+FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
+ ${libdir}/libluajit-5.1.so \
+ ${libdir}/pkgconfig/luajit.pc \
+"
+FILES_luajit-common = "${datadir}/${BPN}-${PV}"
+
+# mips64/ppc/ppc64/riscv64 is not supported in this release
+COMPATIBLE_HOST_mipsarchn32 = "null"
+COMPATIBLE_HOST_mipsarchn64 = "null"
+COMPATIBLE_HOST_powerpc = "null"
+COMPATIBLE_HOST_powerpc64 = "null"
+COMPATIBLE_HOST_powerpc64le = "null"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch b/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch
new file mode 100644
index 00000000..d8a9e3d2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch
@@ -0,0 +1,75 @@
+From 4dfca036c96071bd2a2c80ff84719c6d37858373 Mon Sep 17 00:00:00 2001
+From: Haseeb Ashraf <Haseeb_Ashraf@mentor.com>
+Date: Fri, 17 Apr 2020 14:36:50 +0500
+Subject: [PATCH 1/1] fix: avoid race condition between test and mkdir
+
+when building in parallel the race condition, when the directory
+is tested for existence and it is created, can break the build
+
+Signed-off-by: Haseeb Ashraf <Haseeb_Ashraf@mentor.com>
+---
+ Makefile.in | 6 +++---
+ build-aux/rockspecs.mk | 2 +-
+ local.mk | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 9b51ef3..4722525 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1637,7 +1637,7 @@ distclean-tags:
+
+ distdir: $(DISTFILES)
+ $(am__remove_distdir)
+- test -d "$(distdir)" || mkdir "$(distdir)"
++ $(MKDIR_P) "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+@@ -1975,7 +1975,7 @@ clean-local:
+ rm -f $(posix_submodules)
+
+ $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
+- test -d $(builddir)/doc || mkdir $(builddir)/doc
++ $(MKDIR_P) $(builddir)/doc
+ @HAVE_LDOC_TRUE@ $(LDOC) -c build-aux/config.ld -d $(abs_srcdir)/doc .
+ @HAVE_LDOC_FALSE@ $(MKDIR_P) doc
+ @HAVE_LDOC_FALSE@ touch doc/index.html doc/ldoc.css
+@@ -1983,7 +1983,7 @@ $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
+ doc: $(allhtml)
+
+ $(luarocks_config): Makefile.am
+- @test -d build-aux || mkdir build-aux
++ @$(MKDIR_P) build-aux
+ $(AM_V_GEN){ \
+ $(set_LUA_BINDIR); \
+ echo 'rocks_trees = { "$(abs_srcdir)/luarocks" }'; \
+diff --git a/build-aux/rockspecs.mk b/build-aux/rockspecs.mk
+index ebd1dbf..c8fbdbc 100644
+--- a/build-aux/rockspecs.mk
++++ b/build-aux/rockspecs.mk
+@@ -62,7 +62,7 @@ LUA_INCDIR = `cd $$LUA_BINDIR/../include && pwd`
+ LUA_LIBDIR = `cd $$LUA_BINDIR/../lib && pwd`
+
+ $(luarocks_config): Makefile.am
+- @test -d build-aux || mkdir build-aux
++ @$(MKDIR_P) build-aux
+ $(AM_V_GEN){ \
+ $(set_LUA_BINDIR); \
+ echo 'rocks_trees = { "$(abs_srcdir)/luarocks" }'; \
+diff --git a/local.mk b/local.mk
+index d391ef7..80b22ce 100644
+--- a/local.mk
++++ b/local.mk
+@@ -255,7 +255,7 @@ dist_examples_DATA += \
+ allhtml = $(dist_doc_DATA) $(dist_examples_DATA) $(dist_modules_DATA) $(dist_classes_DATA)
+
+ $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
+- test -d $(builddir)/doc || mkdir $(builddir)/doc
++ $(MKDIR_P) $(builddir)/doc
+ if HAVE_LDOC
+ $(LDOC) -c build-aux/config.ld -d $(abs_srcdir)/doc .
+ else
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb
new file mode 100644
index 00000000..1bee9fe0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "luaposix is a POSIX binding for Lua."
+LICENSE = "MIT"
+HOMEPAGE = "https://github.com/luaposix/luaposix"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7dd2aad04bb7ca212e69127ba8d58f9f"
+
+DEPENDS += "lua-native lua"
+
+SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release \
+ file://0001-fix-avoid-race-condition-between-test-and-mkdir.patch \
+"
+SRCREV = "8e4902ed81c922ed8f76a7ed85be1eaa3fd7e66d"
+S = "${WORKDIR}/git"
+LUA_VERSION = "5.3"
+
+inherit autotools pkgconfig
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' 'luadir=${datadir}/lua/${LUA_VERSION}' 'luaexecdir=${libdir}/lua/${LUA_VERSION}' install
+}
+
+FILES_${PN} = "${datadir}/lua/${LUA_VERSION} ${libdir}/lua/${LUA_VERSION}"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
index a7163a35..b5ca4956 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
@@ -1,6 +1,6 @@
SUMMARY = "MCPP is a portable C/C++ preprocessor"
HOMEPAGE = "http://mcpp.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.6.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.6.1.bb
deleted file mode 100644
index 13710aae..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.6.1.bb
+++ /dev/null
@@ -1,31 +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 python-native"
-DEPENDS_class-native = "python-native"
-RDEPENDS_${PN} = "python python-modules"
-
-inherit python-dir
-
-SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
-SRC_URI[md5sum] = "f9b2e4a3b5901ef744fa3abe4196e97e"
-SRC_URI[sha256sum] = "89fa8ecbc8aa6e48e98f9803a1683ba91367124295dba2407b28c34ca621108d"
-
-S = "${WORKDIR}/mercurial-${PV}"
-
-BBCLASSEXTEND = "native"
-
-EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
- PREFIX=${prefix}"
-
-do_configure_append () {
- sed -i -e 's:PYTHON=python:PYTHON=${STAGING_BINDIR_NATIVE}/python-native/python:g' ${S}/Makefile
-}
-
-do_install () {
- oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
-}
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb b/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb
new file mode 100644
index 00000000..6dedb02a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb
@@ -0,0 +1,38 @@
+SUMMARY = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "python3 python3-native"
+RDEPENDS_${PN} = "python3 python3-modules"
+
+inherit python3native
+
+SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
+SRC_URI[md5sum] = "9ba9d59157c002db8d8cab680de08eb5"
+SRC_URI[sha256sum] = "ff030e923f03ee15c91191996fcb099bfcfa60c7df263be227f67b6a65d36194"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+BBCLASSEXTEND = "native"
+
+export LDSHARED="${CCLD} -shared"
+
+EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
+ PREFIX=${prefix}"
+
+do_configure_append () {
+ sed -i -e 's:PYTHON?=python:PYTHON=python3:g' ${S}/Makefile
+}
+
+do_install () {
+ oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg
+}
+PACKAGES =+ "${PN}-python"
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch b/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch
deleted file mode 100644
index b0d772d9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a05d92ae85024d0648f69f95307a1d3e8e51109c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 1 Apr 2018 19:55:38 -0700
-Subject: [PATCH] Fix -Werror=class-memaccess
-
-Casting to void* make gcc happy since its upset about
-object types and rightly so
-
-Fixes
-
-'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'struct msgpack::v2::object' from an array of 'const msgpack_object' {aka 'const struct msgpack_object'} [-Werror=class-memaccess]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://github.com/msgpack/msgpack-c/pull/659]
-
- include/msgpack/v1/object.hpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/msgpack/v1/object.hpp b/include/msgpack/v1/object.hpp
-index 64da8c53..9721f705 100644
---- a/include/msgpack/v1/object.hpp
-+++ b/include/msgpack/v1/object.hpp
-@@ -661,7 +661,7 @@ inline object::object(const msgpack_object& o)
- inline void operator<< (msgpack::object& o, const msgpack_object& v)
- {
- // FIXME beter way?
-- std::memcpy(&o, &v, sizeof(v));
-+ std::memcpy(static_cast<void*>(&o), &v, sizeof(v));
- }
-
- inline object::operator msgpack_object() const
---
-2.16.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb
deleted file mode 100644
index 690a7f44..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "MessagePack implementation for C and C++"
-DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small"
-HOMEPAGE = "http://msgpack.org/index.html"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \
- file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \
- file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \
- "
-
-PV .= "+git${SRCPV}"
-
-SRC_URI = "git://github.com/msgpack/msgpack-c \
- file://0001-Fix-Werror-class-memaccess.patch \
- "
-SRCREV = "208595b2620cf6260ce3d6d4cf8543f13b206449"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb
new file mode 100644
index 00000000..d410dc6e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb
@@ -0,0 +1,19 @@
+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}"
+
+SRC_URI = "git://github.com/msgpack/msgpack-c \
+ "
+# cpp-3.2.1
+SRCREV = "8085ab8721090a447cf98bb802d1406ad7afe420"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb
new file mode 100644
index 00000000..21d110ae
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb
@@ -0,0 +1,30 @@
+DESCRIPTION="Protocol Buffers with small code size"
+LICENSE="Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f"
+
+DEPENDS = "protobuf-native"
+
+SRC_URI = "git://github.com/nanopb/nanopb.git"
+SRCREV = "70f0de9877b1ce12abc0229d5df84db6349fcbfc"
+
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+do_install_append() {
+ install -Dm 0755 ${S}/generator/nanopb_generator.py ${D}${bindir}/nanopb_generator.py
+ install -Dm 0755 ${S}/generator/protoc-gen-nanopb ${D}${bindir}/protoc-gen-nanopb
+ install -Dm 0755 ${S}/generator/proto/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/proto/__init__.py
+}
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
+FILES_${PN}-dev += "${libdir}/cmake/${BPN}"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-protobuf \
+ protobuf-compiler \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PNBLACKLIST[nanopb] = "Needs forward porting to use python3"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
new file mode 100644
index 00000000..a97eb53c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "fifo maps for c++"
+HOMEPAGE = "https://github.com/nlohmann/fifo_map"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=b67209a1e36b682a8226de19d265b1e0"
+
+SRC_URI = "git://github.com/nlohmann/fifo_map.git"
+
+PV = "1.0.0+git${SRCPV}"
+
+SRCREV = "0dfbf5dacbb15a32c43f912a7e66a54aae39d0f9"
+
+UPSTREAM_CHECK_COMMITS = "1"
+
+S = "${WORKDIR}/git"
+
+# nlohmann-fifo is a header only C++ library, so the main package will be empty.
+
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install() {
+ install -d ${D}${includedir}
+ install -m 0644 ${S}/src/fifo_map.hpp ${D}${includedir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch
new file mode 100644
index 00000000..aea48b60
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch
@@ -0,0 +1,99 @@
+From ec955f08b47ab7cb81f6e4a4c3e7b331ddf50f71 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Art=C3=B6m=20Bakri=20Al-Sarmini?= <3sz3tt+git@gmail.com>
+Date: Sun, 12 Apr 2020 22:32:39 +0300
+Subject: [PATCH] Templatize basic_json ctor from json_ref
+
+Upstream-Status: Backport [https://github.com/nlohmann/json/commit/ec955f08b47ab7cb81f6e4a4c3e7b331ddf50f71]
+Signed-off-by: Andrew Geissler <geissonator@gmail.com>
+
+---
+ include/nlohmann/detail/meta/type_traits.hpp | 13 ++++++++++++
+ include/nlohmann/json.hpp | 8 ++++----
+ single_include/nlohmann/json.hpp | 21 ++++++++++++++++----
+ 3 files changed, 34 insertions(+), 8 deletions(-)
+
+diff --git a/include/nlohmann/detail/meta/type_traits.hpp b/include/nlohmann/detail/meta/type_traits.hpp
+index 280f6953..dd0b3084 100644
+--- a/include/nlohmann/detail/meta/type_traits.hpp
++++ b/include/nlohmann/detail/meta/type_traits.hpp
+@@ -41,6 +41,19 @@ template<typename> struct is_basic_json : std::false_type {};
+ NLOHMANN_BASIC_JSON_TPL_DECLARATION
+ struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
++//////////////////////
++// jspn_ref helpers //
++//////////////////////
++
++template <typename>
++class json_ref;
++
++template<typename>
++struct is_json_ref : std::false_type {};
++
++template <typename T>
++struct is_json_ref<json_ref<T>> : std::true_type {};
++
+ //////////////////////////
+ // aliases for detected //
+ //////////////////////////
+diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp
+index 336d69fe..0598efc8 100644
+--- a/include/nlohmann/json.hpp
++++ b/include/nlohmann/json.hpp
+@@ -1773,10 +1773,10 @@ class basic_json
+ // other constructors and destructor //
+ ///////////////////////////////////////
+
+- /// @private
+- basic_json(const detail::json_ref<basic_json>& ref)
+- : basic_json(ref.moved_or_copied())
+- {}
++ template <typename JsonRef,
++ detail::enable_if_t<detail::conjunction<detail::is_json_ref<JsonRef>,
++ std::is_same<typename JsonRef::value_type, basic_json>>::value, int> = 0 >
++ basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {}
+
+ /*!
+ @brief copy constructor
+diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
+index 09464f3b..8927180e 100644
+--- a/single_include/nlohmann/json.hpp
++++ b/single_include/nlohmann/json.hpp
+@@ -2794,6 +2794,19 @@ template<typename> struct is_basic_json : std::false_type {};
+ NLOHMANN_BASIC_JSON_TPL_DECLARATION
+ struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
++//////////////////////
++// jspn_ref helpers //
++//////////////////////
++
++template <typename>
++class json_ref;
++
++template<typename>
++struct is_json_ref : std::false_type {};
++
++template <typename T>
++struct is_json_ref<json_ref<T>> : std::true_type {};
++
+ //////////////////////////
+ // aliases for detected //
+ //////////////////////////
+@@ -16632,10 +16645,10 @@ class basic_json
+ // other constructors and destructor //
+ ///////////////////////////////////////
+
+- /// @private
+- basic_json(const detail::json_ref<basic_json>& ref)
+- : basic_json(ref.moved_or_copied())
+- {}
++ template <typename JsonRef,
++ detail::enable_if_t<detail::conjunction<detail::is_json_ref<JsonRef>,
++ std::is_same<typename JsonRef::value_type, basic_json>>::value, int> = 0 >
++ basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {}
+
+ /*!
+ @brief copy constructor
+--
+2.21.0 (Apple Git-122)
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch
new file mode 100644
index 00000000..6af4e974
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch
@@ -0,0 +1,43 @@
+From 70be9751cd60e622ce6463f41d47c02fc2d83cbc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Art=C3=B6m=20Bakri=20Al-Sarmini?= <3sz3tt+git@gmail.com>
+Date: Sun, 12 Apr 2020 23:42:26 +0300
+Subject: [PATCH] typo fix
+
+Upstream-Status: Backport [https://github.com/nlohmann/json/commit/70be9751cd60e622ce6463f41d47c02fc2d83cbc]
+
+Signed-off-by: Andrew Geissler <geissonator@gmail.com>
+
+---
+ include/nlohmann/detail/meta/type_traits.hpp | 2 +-
+ single_include/nlohmann/json.hpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/nlohmann/detail/meta/type_traits.hpp b/include/nlohmann/detail/meta/type_traits.hpp
+index dd0b3084..13e92cb4 100644
+--- a/include/nlohmann/detail/meta/type_traits.hpp
++++ b/include/nlohmann/detail/meta/type_traits.hpp
+@@ -42,7 +42,7 @@ NLOHMANN_BASIC_JSON_TPL_DECLARATION
+ struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
+ //////////////////////
+-// jspn_ref helpers //
++// json_ref helpers //
+ //////////////////////
+
+ template <typename>
+diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
+index 8927180e..294e7509 100644
+--- a/single_include/nlohmann/json.hpp
++++ b/single_include/nlohmann/json.hpp
+@@ -2795,7 +2795,7 @@ NLOHMANN_BASIC_JSON_TPL_DECLARATION
+ struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
+ //////////////////////
+-// jspn_ref helpers //
++// json_ref helpers //
+ //////////////////////
+
+ template <typename>
+--
+2.21.0 (Apple Git-122)
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb
new file mode 100644
index 00000000..5766194d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb
@@ -0,0 +1,30 @@
+SUMMARY = "JSON for modern C++"
+HOMEPAGE = "https://nlohmann.github.io/json/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f5f7c71504da070bcf4f090205ce1080"
+
+SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1 \
+ file://0001-Templatize-basic_json-ctor-from-json_ref.patch \
+ file://0001-typo-fix.patch \
+ "
+
+SRCREV = "e7b3b40b5a95bc74b9a7f662830a27c49ffc01b4"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DJSON_BuildTests=OFF"
+
+# nlohmann-json is a header only C++ library, so the main package will be empty.
+
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+# other packages commonly reference the file directly as "json.hpp"
+# create symlink to allow this usage
+do_install_append() {
+ ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb
deleted file mode 100644
index 65e49bc9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "JSON for modern C++"
-HOMEPAGE = "https://nlohmann.github.io/json/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=9a8ae1c2d606c432a2aa2e2de15be22a"
-
-SRC_URI = "git://github.com/nlohmann/json.git"
-
-PV = "3.3.0+git${SRCPV}"
-
-SRCREV = "aafad2be1f3cd259a1e79d2f6fcf267d1ede9ec7"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DJSON_BuildTests=OFF"
-
-# nlohmann-json is a header only C++ library, so the main package will be empty.
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native nativesdk"
-
-# other packages commonly reference the file directly as "json.hpp"
-# create symlink to allow this usage
-do_install_append() {
- ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
index 324a4683..4dd121f4 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
@@ -4,26 +4,22 @@ Date: Thu, 27 Apr 2017 14:25:42 +0200
Subject: [PATCH] Disable running gyp on shared deps
---
- Makefile | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index 0a217bd893..e1229ad07f 100644
+index 0947300f24..6c98691984 100644
--- a/Makefile
+++ b/Makefile
-@@ -79,10 +79,9 @@ $(NODE_G_EXE): config.gypi out/Makefile
- $(MAKE) -C out BUILDTYPE=Debug V=$(V)
- if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi
+@@ -141,7 +141,7 @@ test-code-cache: with-code-cache
+ echo "'test-code-cache' target is a noop"
--out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \
-- deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \
-- deps/v8/gypfiles/features.gypi deps/v8/src/v8.gyp node.gyp \
-- config.gypi
-+out/Makefile: common.gypi deps/http_parser/http_parser.gyp \
-+ deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \
-+ deps/v8/src/v8.gyp node.gyp config.gypi
+ out/Makefile: config.gypi common.gypi node.gyp \
+- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \
++ deps/http_parser/http_parser.gyp \
+ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \
+ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp
$(PYTHON) tools/gyp_node.py -f make
-
- config.gypi: configure
--
-2.12.2
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch
new file mode 100644
index 00000000..13edf229
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch
@@ -0,0 +1,41 @@
+From fdaa0e3bef93c5c72a7258b5f1e30718e7d81f9b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Mon, 2 Mar 2020 12:17:09 +0000
+Subject: [PATCH 1/2] build: allow passing multiple libs to pkg_config
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Sometimes it's necessary to pass multiple library names to pkg-config,
+e.g. the brotli shared libraries can be pulled in with
+ pkg-config libbrotlienc libbrotlidec
+
+Update the code to handle both, strings (as used so far), and lists
+of strings.
+
+Signed-off-by: André Draszik <git@andred.net>
+---
+Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046]
+ configure.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.py b/configure.py
+index beb08df088..e3f78f2fed 100755
+--- a/configure.py
++++ b/configure.py
+@@ -680,7 +680,11 @@ def pkg_config(pkg):
+ retval = ()
+ for flag in ['--libs-only-l', '--cflags-only-I',
+ '--libs-only-L', '--modversion']:
+- args += [flag, pkg]
++ args += [flag]
++ if isinstance(pkg, list):
++ args += pkg
++ else:
++ args += [pkg]
+ try:
+ proc = subprocess.Popen(shlex.split(pkg_config) + args,
+ stdout=subprocess.PIPE)
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch
new file mode 100644
index 00000000..b5142dc9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch
@@ -0,0 +1,71 @@
+From 6c3ac20477a4bac643088f24df3c042e627fafa9 Mon Sep 17 00:00:00 2001
+From: Guillaume Burel <guillaume.burel@stormshield.eu>
+Date: Fri, 3 Jan 2020 11:25:54 +0100
+Subject: [PATCH] Using native binaries
+
+---
+ node.gyp | 4 ++--
+ tools/v8_gypfiles/v8.gyp | 11 ++++-------
+ 2 files changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/node.gyp b/node.gyp
+index 8f4dc518..d9389190 100644
+--- a/node.gyp
++++ b/node.gyp
+@@ -446,7 +446,7 @@
+ '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
+ ],
+ 'action': [
+- '<@(_inputs)',
++ 'mkcodecache',
+ '<@(_outputs)',
+ ],
+ },
+@@ -471,7 +471,7 @@
+ '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
+ ],
+ 'action': [
+- '<@(_inputs)',
++ 'node_mksnapshot',
+ '<@(_outputs)',
+ ],
+ },
+diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
+index a506a67d..c91f7dde 100644
+--- a/tools/v8_gypfiles/v8.gyp
++++ b/tools/v8_gypfiles/v8.gyp
+@@ -140,7 +140,8 @@
+ '<@(torque_outputs)',
+ ],
+ 'action': [
+- '<@(_inputs)',
++ 'torque',
++ '<@(torque_files)',
+ '-o', '<(torque_output_root)/torque-generated',
+ '-v8-root', '<(V8_ROOT)'
+ ],
+@@ -247,9 +248,7 @@
+ '<(generate_bytecode_builtins_list_output)',
+ ],
+ 'action': [
+- 'python',
+- '<(V8_ROOT)/tools/run.py',
+- '<@(_inputs)',
++ 'bytecode_builtins_list_generator',
+ '<@(_outputs)',
+ ],
+ },
+@@ -1396,9 +1395,7 @@
+ '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc',
+ ],
+ 'action': [
+- 'python',
+- '<(V8_ROOT)/tools/run.py',
+- '<@(_inputs)',
++ 'gen-regexp-special-case',
+ '<@(_outputs)',
+ ],
+ },
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch
new file mode 100644
index 00000000..fc038f3a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch
@@ -0,0 +1,66 @@
+From f0f927feee8cb1fb173835d5c3f6beb6bf7d5e54 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Mon, 2 Mar 2020 12:17:35 +0000
+Subject: [PATCH 2/2] build: allow use of system-installed brotli
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+brotli is available as a shared library since 2016, so it makes sense
+to allow its use as a system-installed version.
+
+Some of the infrastructure was in place already (node.gyp and
+node.gypi), but some bits in the configure script here were missing.
+
+Add them, keeping the default as before, to use the bundled version.
+
+Refs: https://github.com/google/brotli/pull/421
+Signed-off-by: André Draszik <git@andred.net>
+---
+Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046]
+ configure.py | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/configure.py b/configure.py
+index e3f78f2fed..0190e31b41 100755
+--- a/configure.py
++++ b/configure.py
+@@ -301,6 +301,27 @@ shared_optgroup.add_option('--shared-zlib-libpath',
+ dest='shared_zlib_libpath',
+ help='a directory to search for the shared zlib DLL')
+
++shared_optgroup.add_option('--shared-brotli',
++ action='store_true',
++ dest='shared_brotli',
++ help='link to a shared brotli DLL instead of static linking')
++
++shared_optgroup.add_option('--shared-brotli-includes',
++ action='store',
++ dest='shared_brotli_includes',
++ help='directory containing brotli header files')
++
++shared_optgroup.add_option('--shared-brotli-libname',
++ action='store',
++ dest='shared_brotli_libname',
++ default='brotlidec,brotlienc',
++ help='alternative lib name to link to [default: %default]')
++
++shared_optgroup.add_option('--shared-brotli-libpath',
++ action='store',
++ dest='shared_brotli_libpath',
++ help='a directory to search for the shared brotli DLL')
++
+ shared_optgroup.add_option('--shared-cares',
+ action='store_true',
+ dest='shared_cares',
+@@ -1692,6 +1713,7 @@ configure_napi(output)
+ configure_library('zlib', output)
+ configure_library('http_parser', output)
+ configure_library('libuv', output)
++configure_library('brotli', output, pkgname=['libbrotlidec', 'libbrotlienc'])
+ configure_library('cares', output, pkgname='libcares')
+ configure_library('nghttp2', output, pkgname='libnghttp2')
+ configure_v8(output)
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
new file mode 100644
index 00000000..599f742b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
@@ -0,0 +1,95 @@
+From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+Date: Tue, 19 Mar 2019 23:22:40 -0400
+Subject: [PATCH 3/3] Install both binaries and use libdir.
+
+This allows us to build with a shared library for other users while
+still providing the normal executable.
+
+Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+
+Stolen from [1]
+
+[1] https://src.fedoraproject.org/rpms/nodejs/raw/master/f/0003-Install-both-binaries-and-use-libdir.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.py | 7 +++++++
+ tools/install.py | 31 ++++++++++++++-----------------
+ 2 files changed, 21 insertions(+), 17 deletions(-)
+
+diff --git a/configure.py b/configure.py
+index 20cce214db..e2d78a2a51 100755
+--- a/configure.py
++++ b/configure.py
+@@ -559,6 +559,12 @@ parser.add_option('--shared',
+ help='compile shared library for embedding node in another project. ' +
+ '(This mode is not officially supported for regular applications)')
+
++parser.add_option('--libdir',
++ action='store',
++ dest='libdir',
++ default='lib',
++ help='a directory to install the shared library into')
++
+ parser.add_option('--without-v8-platform',
+ action='store_true',
+ dest='without_v8_platform',
+@@ -1103,6 +1109,7 @@ def configure_node(o):
+ if o['variables']['want_separate_host_toolset'] == 0:
+ o['variables']['node_code_cache'] = 'yes' # For testing
+ o['variables']['node_shared'] = b(options.shared)
++ o['variables']['libdir'] = options.libdir
+ node_module_version = getmoduleversion.get_version()
+
+ if sys.platform == 'darwin':
+diff --git a/tools/install.py b/tools/install.py
+index 655802980a..fe4723bf15 100755
+--- a/tools/install.py
++++ b/tools/install.py
+@@ -121,26 +121,23 @@ def subdir_files(path, dest, action):
+
+ def files(action):
+ is_windows = sys.platform == 'win32'
+- output_file = 'node'
+ output_prefix = 'out/Release/'
++ output_libprefix = output_prefix
+
+- if 'false' == variables.get('node_shared'):
+- if is_windows:
+- output_file += '.exe'
++ if is_windows:
++ output_bin = 'node.exe'
++ output_lib = 'node.dll'
+ else:
+- if is_windows:
+- output_file += '.dll'
+- else:
+- output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix')
+- # GYP will output to lib.target except on OS X, this is hardcoded
+- # in its source - see the _InstallableTargetInstallPath function.
+- if sys.platform != 'darwin':
+- output_prefix += 'lib.target/'
+-
+- if 'false' == variables.get('node_shared'):
+- action([output_prefix + output_file], 'bin/' + output_file)
+- else:
+- action([output_prefix + output_file], 'lib/' + output_file)
++ output_bin = 'node'
++ output_lib = 'libnode.' + variables.get('shlib_suffix')
++ # GYP will output to lib.target except on OS X, this is hardcoded
++ # in its source - see the _InstallableTargetInstallPath function.
++ if sys.platform != 'darwin':
++ output_libprefix += 'lib.target/'
++
++ action([output_prefix + output_bin], 'bin/' + output_bin)
++ if 'true' == variables.get('node_shared'):
++ action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib)
+
+ if 'true' == variables.get('node_use_dtrace'):
+ action(['out/Release/node.d'], 'lib/dtrace/node.d')
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch
new file mode 100644
index 00000000..97ed972c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch
@@ -0,0 +1,102 @@
+From 47ee5cc5501289205d3e8e9f27ea9daf18cebac1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Sat, 9 Nov 2019 14:45:30 +0000
+Subject: [PATCH] v8: don't override ARM CFLAGS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This overrides yocto-provided build flags with its own, e.g we get
+ arm-poky-linux-musleabi-g++ -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 \
+ ... \
+ -march=armv7-a -mfpu=neon -mfloat-abi=hard -marm
+
+Causing the latter to override the former, and compiler warnings:
+ cc1plus: warning: switch '-mcpu=cortex-a7' conflicts with '-march=armv7-a' switch
+
+Patch this out, so that yocto-provided flags take precedence.
+Note that in reality the same should probably be done for all the other
+supported architectures, too.
+
+Note that this also switches to Thumb(2) mode (in my case). No obvious
+problems have been noted during compilation or runtime.
+
+Upstream-Status: Inappropriate [oe-specific]
+Signed-off-by: André Draszik <git@andred.net>
+---
+ tools/v8_gypfiles/toolchain.gypi | 52 ++------------------------------
+ 1 file changed, 2 insertions(+), 50 deletions(-)
+
+diff --git a/tools/v8_gypfiles/toolchain.gypi b/tools/v8_gypfiles/toolchain.gypi
+index 264b3e478e..0b41848145 100644
+--- a/tools/v8_gypfiles/toolchain.gypi
++++ b/tools/v8_gypfiles/toolchain.gypi
+@@ -211,31 +211,7 @@
+ 'target_conditions': [
+ ['_toolset=="host"', {
+ 'conditions': [
+- ['v8_target_arch==host_arch', {
+- # Host built with an Arm CXX compiler.
+- 'conditions': [
+- [ 'arm_version==7', {
+- 'cflags': ['-march=armv7-a',],
+- }],
+- [ 'arm_version==7 or arm_version=="default"', {
+- 'conditions': [
+- [ 'arm_fpu!="default"', {
+- 'cflags': ['-mfpu=<(arm_fpu)',],
+- }],
+- ],
+- }],
+- [ 'arm_float_abi!="default"', {
+- 'cflags': ['-mfloat-abi=<(arm_float_abi)',],
+- }],
+- [ 'arm_thumb==1', {
+- 'cflags': ['-mthumb',],
+- }],
+- [ 'arm_thumb==0', {
+- 'cflags': ['-marm',],
+- }],
+- ],
+- }, {
+- # 'v8_target_arch!=host_arch'
++ ['v8_target_arch!=host_arch', {
+ # Host not built with an Arm CXX compiler (simulator build).
+ 'conditions': [
+ [ 'arm_float_abi=="hard"', {
+@@ -254,31 +230,7 @@
+ }], # _toolset=="host"
+ ['_toolset=="target"', {
+ 'conditions': [
+- ['v8_target_arch==target_arch', {
+- # Target built with an Arm CXX compiler.
+- 'conditions': [
+- [ 'arm_version==7', {
+- 'cflags': ['-march=armv7-a',],
+- }],
+- [ 'arm_version==7 or arm_version=="default"', {
+- 'conditions': [
+- [ 'arm_fpu!="default"', {
+- 'cflags': ['-mfpu=<(arm_fpu)',],
+- }],
+- ],
+- }],
+- [ 'arm_float_abi!="default"', {
+- 'cflags': ['-mfloat-abi=<(arm_float_abi)',],
+- }],
+- [ 'arm_thumb==1', {
+- 'cflags': ['-mthumb',],
+- }],
+- [ 'arm_thumb==0', {
+- 'cflags': ['-marm',],
+- }],
+- ],
+- }, {
+- # 'v8_target_arch!=target_arch'
++ ['v8_target_arch!=target_arch', {
+ # Target not built with an Arm CXX compiler (simulator build).
+ 'conditions': [
+ [ 'arm_float_abi=="hard"', {
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch
new file mode 100644
index 00000000..52938184
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch
@@ -0,0 +1,18 @@
+
+https://github.com/v8/v8/commit/878ccb33bd3cf0e6dc018ff8d15843f585ac07be
+
+did some automated cleanups but it missed big-endian code.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/deps/v8/src/runtime/runtime-utils.h
++++ b/deps/v8/src/runtime/runtime-utils.h
+@@ -126,7 +126,7 @@ static inline ObjectPair MakePair(Object
+ #if defined(V8_TARGET_LITTLE_ENDIAN)
+ return x.ptr() | (static_cast<ObjectPair>(y.ptr()) << 32);
+ #elif defined(V8_TARGET_BIG_ENDIAN)
+- return y->ptr() | (static_cast<ObjectPair>(x->ptr()) << 32);
++ return y.ptr() | (static_cast<ObjectPair>(x.ptr()) << 32);
+ #else
+ #error Unknown endianness
+ #endif
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch
new file mode 100644
index 00000000..1a773f23
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch
@@ -0,0 +1,19 @@
+Add explicit static cast to fix narrowing warning
+
+Fixes
+deps/v8/src/codegen/mips/assembler-mips.cc:3556:44: error: non-constant-expression cannot be narrowed from type 'int' to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/deps/v8/src/codegen/mips/assembler-mips.cc
++++ b/deps/v8/src/codegen/mips/assembler-mips.cc
+@@ -3553,7 +3553,7 @@ void Assembler::GrowBuffer() {
+ reloc_info_writer.last_pc() + pc_delta);
+
+ // Relocate runtime entries.
+- Vector<byte> instructions{buffer_start_, pc_offset()};
++ Vector<byte> instructions{buffer_start_, static_cast<size_t>(pc_offset())};
+ Vector<const byte> reloc_info{reloc_info_writer.pos(), reloc_size};
+ for (RelocIterator it(instructions, reloc_info, 0); !it.done(); it.next()) {
+ RelocInfo::Mode rmode = it.rinfo()->rmode();
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb
new file mode 100644
index 00000000..d468fb3f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb
@@ -0,0 +1,163 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be4d5107c64dc3d7c57e3797e1a0674b"
+
+DEPENDS = "openssl"
+DEPENDS_append_class-target = " nodejs-native"
+
+inherit pkgconfig python3native
+
+COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
+
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
+ file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
+ file://0003-Install-both-binaries-and-use-libdir.patch \
+ file://0004-v8-don-t-override-ARM-CFLAGS.patch \
+ file://big-endian.patch \
+ file://0001-build-allow-passing-multiple-libs-to-pkg_config.patch \
+ file://0002-build-allow-use-of-system-installed-brotli.patch \
+ file://mips-warnings.patch \
+ "
+SRC_URI_append_class-target = " \
+ file://0002-Using-native-binaries.patch \
+ "
+
+SRC_URI[md5sum] = "1c78a75f5c95321f533ecccca695e814"
+SRC_URI[sha256sum] = "877b4b842318b0e09bc754faf7343f2f097f0fc4f88ab9ae57cf9944e88e7adb"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+def map_nodejs_arch(a, d):
+ import re
+
+ if re.match('i.86$', a): return 'ia32'
+ elif re.match('x86_64$', a): return 'x64'
+ elif re.match('aarch64$', a): return 'arm64'
+ elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64'
+ elif re.match('powerpc$', a): return 'ppc'
+ return a
+
+ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
+ ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
+ '--with-arm-fpu=vfp', d), d), d)}"
+GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
+ARCHFLAGS ?= ""
+
+PACKAGECONFIG ??= "ares brotli icu libuv zlib"
+PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
+PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
+PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
+PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
+PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
+PACKAGECONFIG[shared] = "--shared"
+PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
+
+# We don't want to cross-compile during target compile,
+# and we need to use the right flags during host compile,
+# too.
+EXTRA_OEMAKE = "\
+ CC.host='${CC}' \
+ CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \
+ CXX.host='${CXX}' \
+ CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \
+ LDFLAGS.host='${LDFLAGS}' \
+ AR.host='${AR}' \
+ \
+ builddir_name=./ \
+"
+
+python do_unpack() {
+ import shutil
+
+ bb.build.exec_func('base_do_unpack', d)
+
+ shutil.rmtree(d.getVar('S') + '/deps/openssl', True)
+ if 'ares' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/cares', True)
+ if 'brotli' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/brotli', True)
+ if 'libuv' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/uv', True)
+ if 'nghttp2' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/nghttp2', True)
+ if 'zlib' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/zlib', True)
+}
+
+# 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
+ python3 configure.py --prefix=${prefix} --cross-compiling --without-snapshot --shared-openssl \
+ --without-dtrace \
+ --without-etw \
+ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+ --dest-os=linux \
+ --libdir=${D}${libdir} \
+ ${ARCHFLAGS} \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_compile () {
+ export LD="${CXX}"
+ oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+
+ # wasn't updated since 2009 and is the only thing requiring python2 in runtime
+ # ERROR: nodejs-12.14.1-r0 do_package_qa: QA Issue: /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples contained in package nodejs-npm requires /usr/bin/python, but no providers found in RDEPENDS_nodejs-npm? [file-rdeps]
+ rm -f ${D}${exec_prefix}/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples
+}
+
+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
+
+ # Install the native binaries to provide it within sysroot for the target compilation
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque
+ install -m 0755 ${S}/out/Release/bytecode_builtins_list_generator ${D}${bindir}/bytecode_builtins_list_generator
+ if ${@bb.utils.contains('PACKAGECONFIG','icu','true','false',d)}; then
+ install -m 0755 ${S}/out/Release/gen-regexp-special-case ${D}${bindir}/gen-regexp-special-case
+ fi
+ install -m 0755 ${S}/out/Release/mkcodecache ${D}${bindir}/mkcodecache
+ install -m 0755 ${S}/out/Release/node_mksnapshot ${D}${bindir}/node_mksnapshot
+}
+
+do_install_append_class-target() {
+ sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
+RDEPENDS_${PN}-npm = "bash python3-core python3-shell python3-datetime \
+ python3-misc python3-multiprocessing"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES_${PN}-systemtap = "${datadir}/systemtap"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb
deleted file mode 100644
index 8c339782..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb
+++ /dev/null
@@ -1,92 +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=fde91d5c5bbd1e0389623e1ac018d9e8"
-
-DEPENDS = "openssl zlib icu"
-
-inherit pkgconfig
-
-COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
-COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
-COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
-
-SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
- file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
-"
-SRC_URI[md5sum] = "8b3abd033dae96b6fadcb6a872a44d3c"
-SRC_URI[sha256sum] = "5a9dff58016c18fb4bf902d963b124ff058a550ebcd9840c677757387bce419a"
-
-S = "${WORKDIR}/node-v${PV}"
-
-# v8 errors out if you have set CCACHE
-CCACHE = ""
-
-def map_nodejs_arch(a, d):
- import re
-
- if re.match('i.86$', a): return 'ia32'
- elif re.match('x86_64$', a): return 'x64'
- elif re.match('aarch64$', a): return 'arm64'
- elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64'
- elif re.match('powerpc$', a): return 'ppc'
- return a
-
-ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
- ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
- '--with-arm-fpu=vfp', d), d), d)}"
-GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
-ARCHFLAGS ?= ""
-
-# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
-do_configure () {
- rm -rf ${S}/deps/openssl
- export LD="${CXX}"
- GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
- # $TARGET_ARCH settings don't match --dest-cpu settings
- ./configure --prefix=${prefix} --with-intl=system-icu --without-snapshot --shared-openssl --shared-zlib \
- --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
- --dest-os=linux \
- ${ARCHFLAGS}
-}
-
-do_compile () {
- export LD="${CXX}"
- oe_runmake BUILDTYPE=Release
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
-
-do_install_append_class-native() {
- # use node from PATH instead of absolute path to sysroot
- # node-v0.10.25/tools/install.py is using:
- # shebang = os.path.join(node_prefix, 'bin/node')
- # update_shebang(link_path, shebang)
- # and node_prefix can be very long path to bindir in native sysroot and
- # when it exceeds 128 character shebang limit it's stripped to incorrect path
- # and npm fails to execute like in this case with 133 characters show in log.do_install:
- # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
- # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
- # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
- # npm-cli.js continues to use old shebang
- sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-}
-
-do_install_append_class-target() {
- sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-}
-
-PACKAGES =+ "${PN}-npm"
-FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
-RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils \
- python-compiler python-misc python-multiprocessing"
-
-PACKAGES =+ "${PN}-systemtap"
-FILES_${PN}-systemtap = "${datadir}/systemtap"
-
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch b/external/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch
new file mode 100644
index 00000000..e89d7d34
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch
@@ -0,0 +1,16 @@
+diff -Naur octave-4.4.1.orig/configure.ac octave-4.4.1/configure.ac
+--- octave-4.4.1.orig/configure.ac 2019-02-23 10:46:24.287240571 +0000
++++ octave-4.4.1/configure.ac 2019-02-23 10:46:42.255249333 +0000
+@@ -762,6 +762,12 @@
+ AC_MSG_ERROR([BLAS and LAPACK libraries are required])
+ fi
+
++if ac_fn_f77_try_run "$LINENO"; then :
++ ax_blas_integer_size=8
++else
++ ax_blas_integer_size=4
++fi
++
+ case $ax_blas_integer_size in
+ 4)
+ HAVE_64_BIT_BLAS=no
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
new file mode 100644
index 00000000..ec3e8258
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "High-level language, primarily intended for numerical computations"
+HOMEPAGE = "http://www.gnu.org/software/octave/"
+SECTION = "math"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+DEPENDS = "gperf-native texinfo lapack pcre readline"
+
+inherit autotools pkgconfig texinfo gettext mime-xdg
+
+EXTRA_OECONF = "--disable-java --disable-docs"
+
+SRC_URI = "${GNU_MIRROR}/octave/${BPN}-${PV}.tar.gz \
+ file://fix-blas-library-integer-size.patch \
+"
+
+SRC_URI[md5sum] = "b43bd5f4309a0c048c91af10cf8e8674"
+SRC_URI[sha256sum] = "09fbd0f212f4ef21e53f1d9c41cf30ce3d7f9450fb44911601e21ed64c67ae97"
+
+do_compile_prepend() {
+ for folder in "liboctave/operators liboctave/numeric liboctave/array liboctave/util"; do
+ mkdir -p ${B}/${folder}
+ done
+}
+
+PACKAGES =+ " octave-common liboctave liboctave-dev liboctave-dbg"
+
+FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${datadir}/${PN} \
+ ${libdir}/${PN}/${PV}/oct ${libdir}/${PN}/${PV}/site \
+ ${libdir}/${PN}/site ${datadir}/applications ${datadir}/metainfo"
+FILES_${PN}-common = "${datadir}/icons"
+
+FILES_liboctave = "${libdir}/${PN}/${PV}/lib*${SOLIBS}"
+FILES_liboctave-dev = "${libdir}/${PN}/${PV}/lib*${SOLIBSDEV}"
+FILES_liboctave-dbg = "${libdir}/${PN}/${PV}/.debug"
+
+FILES_${PN}-dbg = "${bindir}/.debug ${libdir}/${PN}/${PV}/oct/${TARGET_SYS}/.debug"
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch
new file mode 100644
index 00000000..618ce268
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch
@@ -0,0 +1,33 @@
+From a763610719e7d7f6cdc45569b6fbfdb91bb7c87b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 14:30:08 -0700
+Subject: [PATCH] Do not include syscrtl.h with glibc
+
+glibc 2.30 has deprecated it see [1]
+Fixes
+sys/sysctl.h:21:2: error: "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror,-W#warnings]
+
+[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=744e829637162bb7d5029632aacf341c64b86990
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/helper/options.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/helper/options.c b/src/helper/options.c
+index 12755e010..4007e37f6 100644
+--- a/src/helper/options.c
++++ b/src/helper/options.c
+@@ -34,7 +34,7 @@
+ #if IS_DARWIN
+ #include <libproc.h>
+ #endif
+-#ifdef HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+ #if IS_WIN32 && !IS_CYGWIN
+--
+2.22.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch
deleted file mode 100644
index c5b9083d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From b95a996bfb281104b68ec66f32ebb79db519a4a8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 31 May 2018 21:06:46 -0700
-Subject: [PATCH] Fix libusb-1.0.22 deprecated libusb_set_debug with
- libusb_set_option
-
-libusb_set_debug is deprecated in libusb >= 1.0.22 therefore replace
-with equivalent libusb_set_option() API
-
-see libusb commit for more details
-
-https://github.com/libusb/libusb/commit/539f22e2fd916558d11ab9a66f10f461c5593168
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [http://openocd.zylin.com/#/c/4540/]
- src/jtag/drivers/xds110.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/jtag/drivers/xds110.c b/src/jtag/drivers/xds110.c
-index 90b699027..9bfe02ea8 100644
---- a/src/jtag/drivers/xds110.c
-+++ b/src/jtag/drivers/xds110.c
-@@ -367,8 +367,11 @@ static bool usb_connect(void)
-
- /* Set libusb to auto detach kernel and disable debug messages */
- (void)libusb_set_auto_detach_kernel_driver(dev, 1);
-+#if LIBUSB_API_VERSION >= 0x01000106
-+ libusb_set_option(ctx, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_NONE);
-+#else
- libusb_set_debug(ctx, LIBUSB_LOG_LEVEL_NONE);
--
-+#endif
- /* Claim the debug interface on the XDS110 */
- result = libusb_claim_interface(dev, INTERFACE_DEBUG);
- } else {
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
index 21a86de3..e95f1cfa 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -9,26 +9,28 @@ SRC_URI = " \
git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl \
git://repo.or.cz/r/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl \
git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink \
- file://0001-Fix-libusb-1.0.22-deprecated-libusb_set_debug-with-l.patch \
+ file://0001-Do-not-include-syscrtl.h-with-glibc.patch \
"
SRCREV_FORMAT = "openocd"
-SRCREV_openocd = "cdf1e826eb23c29de1019ce64125f644f01b0afe"
+SRCREV_openocd = "ded67990255cc1e63c77832ffd6e6bef9120873d"
SRCREV_git2cl = "8373c9f74993e218a08819cbcdbab3f3564bbeba"
-SRCREV_jimtcl = "a9bf5975fd0f89974d689a2d9ebd0873c8d64787"
-SRCREV_libjaylink = "8645845c1abebd004e991ba9a7f808f4fd0c608b"
+SRCREV_jimtcl = "dc4ba7770d580800634f90b67a24e077b4a26d98"
+SRCREV_libjaylink = "cfccbc9d6763733f1d14dff3c2dc5b75aaef136b"
PV = "0.10+gitr${SRCPV}"
S = "${WORKDIR}/git"
inherit pkgconfig autotools-brokensep gettext
-BBCLASSEXTEND += "nativesdk"
+BBCLASSEXTEND += "native nativesdk"
-EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html"
+EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html --disable-werror"
do_configure() {
./bootstrap nosubmodule
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/jimtcl/autosetup
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/jimtcl/autosetup
oe_runconf ${EXTRA_OECONF}
}
@@ -51,4 +53,5 @@ FILES_${PN} = " \
"
PACKAGECONFIG[sysfsgpio] = "--enable-sysfsgpio,--disable-sysfsgpio"
-PACKAGECONFIG ??= "sysfsgpio"
+PACKAGECONFIG[remote-bitbang] = "--enable-remote-bitbang,--disable-remote-bitbang"
+PACKAGECONFIG ??= "sysfsgpio remote-bitbang"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
index 53fc159c..4bd9a125 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -1,6 +1,4 @@
SUMMARY = "Packages required for a target (on-device) SDK"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r1"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
new file mode 100644
index 00000000..107d5a8b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Simple program to read & write to a pci device from userspace"
+HOMEPAGE = "https://github.com/billfarrow/pcimem"
+BUGTRACKER = "https://github.com/billfarrow/pcimem/issues"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+COMPATIBLE_HOST = "(x86_64|aarch64|arm)"
+
+SRCREV = "09724edb1783a98da2b7ae53c5aaa87493aabc9b"
+SRC_URI = "git://github.com/billfarrow/pcimem.git "
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -D -m 0755 ${B}/pcimem ${D}${bindir}/pcimem
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb
deleted file mode 100644
index bd8ba780..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "A Perl DBI driver for MySQL"
-DESCRIPTION = "DBD::mysql is the Perl5 Database Interface driver for \
-the MySQL database. In other words: DBD::mysql is an interface between \
-the Perl programming language and the MySQL programming API that comes \
-with the MySQL relational database management system. Most functions \
-provided by this programming API are supported. Some rarely used \
-functions are missing, mainly because no-one ever requested them. \
-"
-HOMEPAGE = "http://search.cpan.org/~michielb/DBD-mysql-4.036/lib/DBD/mysql.pm"
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-DEPENDS += "libdbi-perl-native libmysqlclient"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "4a00dd7f1c057931147c65dfc4901c36"
-SRC_URI[sha256sum] = "629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99"
-
-S = "${WORKDIR}/DBD-mysql-${PV}"
-
-inherit cpan
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
new file mode 100644
index 00000000..049dc665
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A Perl DBI driver for MySQL"
+DESCRIPTION = "DBD::mysql is the Perl5 Database Interface driver for \
+the MySQL database. In other words: DBD::mysql is an interface between \
+the Perl programming language and the MySQL programming API that comes \
+with the MySQL relational database management system. Most functions \
+provided by this programming API are supported. Some rarely used \
+functions are missing, mainly because no-one ever requested them. \
+"
+HOMEPAGE = "https://github.com/perl5-dbi/DBD-mysql"
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+DEPENDS += "libdev-checklib-perl-native libdbi-perl-native libmysqlclient"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
+
+SRCREV = "9b5b70ea372f49fe9bc9e592dae3870596d1e3d6"
+SRC_URI = "git://github.com/perl5-dbi/DBD-mysql.git;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb
deleted file mode 100644
index 24a1245f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "The Perl Database Interface"
-DESCRIPTION = "DBI is a database access Application Programming Interface \
-(API) for the Perl Language. The DBI API Specification defines a set \
-of functions, variables and conventions that provide a consistent \
-database interface independent of the actual database being used. \
-"
-HOMEPAGE = "http://search.cpan.org/dist/DBI/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-RDEPENDS_${PN} = " perl-module-carp \
- perl-module-exporter \
- perl-module-exporter-heavy \
- perl-module-dynaloader \
-"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
-SRC_URI[md5sum] = "e77fd37fcf77fc88fde029c1b75ded54"
-SRC_URI[sha256sum] = "5509e532cdd0e3d91eda550578deaac29e2f008a12b64576e8c261bb92e8c2c1"
-
-S = "${WORKDIR}/DBI-${PV}"
-
-inherit cpan ptest-perl
-
-do_install_prepend() {
- # test requires "-T" (taint) command line option
- rm -rf ${B}/t/pod-coverage.t
- rm -rf ${B}/t/13taint.t
- # source of test failure not obvious
- rm -rf ${B}/t/85gofer.t
- # unclear why there are several duplicates of tests in tarball
- rm -rf ${B}/t/z*.t
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
new file mode 100644
index 00000000..75fad46b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
@@ -0,0 +1,62 @@
+SUMMARY = "The Perl Database Interface"
+DESCRIPTION = "DBI is a database access Application Programming Interface \
+(API) for the Perl Language. The DBI API Specification defines a set \
+of functions, variables and conventions that provide a consistent \
+database interface independent of the actual database being used. \
+"
+HOMEPAGE = "http://search.cpan.org/dist/DBI/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
+SRC_URI[md5sum] = "352f80b1e23769c116082a90905d7398"
+SRC_URI[sha256sum] = "8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa"
+
+S = "${WORKDIR}/DBI-${PV}"
+
+inherit cpan ptest-perl
+
+do_install_prepend() {
+ # test requires "-T" (taint) command line option
+ rm -rf ${B}/t/pod-coverage.t
+ rm -rf ${B}/t/13taint.t
+ # source of test failure not obvious
+ rm -rf ${B}/t/85gofer.t
+ # unclear why there are several duplicates of tests in tarball
+ rm -rf ${B}/t/z*.t
+}
+
+RDEPENDS_${PN}_class-target = " \
+ perl \
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-exporter-heavy \
+ perl-module-dynaloader \
+ perl-module-io-dir \
+ perl-module-scalar-util \
+ perl-module-universal \
+"
+
+RDEPENDS_${PN}-ptest = " \
+ ${PN} \
+ perl-module-b \
+ perl-module-benchmark \
+ perl-module-cwd \
+ perl-module-data-dumper \
+ perl-module-encode \
+ perl-module-encode-byte \
+ perl-module-encode-encoding \
+ perl-module-file-copy \
+ perl-module-file-path \
+ perl-module-lib \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-perlio-via \
+ perl-module-sdbm-file \
+ perl-module-storable \
+ perl-module-test-more \
+ perl-module-utf8 \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch
new file mode 100644
index 00000000..78a7e63b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch
@@ -0,0 +1,46 @@
+From d111fd85b25466f7829ccee34493aa0e3b551308 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Tue, 23 Apr 2019 19:13:19 -0700
+Subject: [PATCH] CheckLib.pm: don't execute the binary
+
+Don't execute the binary in build env as the
+binary which is generated in cross compile env
+may fail when executed in build env.
+
+And it's enough to verify the libs via successully
+generate the binary which links the libs as below.
+ $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc \
+ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \
+ -Werror=format-security --sysroot=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot \
+ -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \
+ -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \
+ -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 assertlibEhx19yuY.c -L/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot/usr/lib -lcrypto -fstack-protector-strong -o assertlibCOw_eujb
+
+Execute the binary in cross compile env as below
+and use the return status to determine the lib's
+checking status is not appropriate in cross compile env.
+ $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/git/assertlibCOw_eujb
+
+Upstream-Status: Inappropriate[oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ lib/Devel/CheckLib.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Devel/CheckLib.pm b/lib/Devel/CheckLib.pm
+index e45cfb4..d228bb5 100644
+--- a/lib/Devel/CheckLib.pm
++++ b/lib/Devel/CheckLib.pm
+@@ -424,7 +424,7 @@ sub assert_lib {
+ my $absexefile = File::Spec->rel2abs($exefile);
+ $absexefile = '"'.$absexefile.'"' if $absexefile =~ m/\s/;
+ if (!$not_execute && system($absexefile) != 0) {
+- push @wrongresult, $lib;
++ print "Checking the lib $lib\n";
+ }
+ else {
+ if ($analyze_binary) {
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb
new file mode 100644
index 00000000..a96e3adc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A Perl module that checks whether a particular C library and its headers are available"
+DESCRIPTION = "This module provides a way of checking whether a particular library \
+and its headers are available, by attempting to compile a simple program and \
+link against it."
+HOMEPAGE = "https://metacpan.org/pod/Devel::CheckLib"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;md5=7911cdbb572d25c5f2e2ea17f669efc2"
+
+SRC_URI = "https://cpan.metacpan.org/modules/by-module/Devel/Devel-CheckLib-${PV}.tar.gz \
+ file://0001-CheckLib.pm-don-t-execute-the-binary.patch \
+"
+SRC_URI[md5sum] = "3519cbf9fe5ec3404449d5330ee5537f"
+SRC_URI[sha256sum] = "f21c5e299ad3ce0fdc0cb0f41378dca85a70e8d6c9a7599f0e56a957200ec294"
+
+S = "${WORKDIR}/Devel-CheckLib-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND="native"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb
deleted file mode 100644
index b1a95e57..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Perl module for pseudo tty IO"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42e8ce9d45f628e587"
-
-SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "11695a1a516b3bd1b90ce75ff0ce3e6d"
-SRC_URI[sha256sum] = "a2ef8770d3309178203f8c8ac25e623e63cf76e97830fd3be280ade1a555290d"
-
-S = "${WORKDIR}/IO-Tty-${PV}"
-
-inherit cpan
-
-FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/IO/Tty/.debug/"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.14.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.14.bb
new file mode 100644
index 00000000..1ab21d1d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.14.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Perl module for pseudo tty IO"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42e8ce9d45f628e587"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "70bcec4b1b19838ed209fb96a13f3e89"
+SRC_URI[sha256sum] = "51f3e4e311128bdb2c6a15f02c51376cb852ccf9df9bebe8dfbb5f9561eb95b5"
+
+S = "${WORKDIR}/IO-Tty-${PV}"
+
+inherit cpan
+
+FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/IO/Tty/.debug/"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb
new file mode 100644
index 00000000..4e5a8a6f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Perl module to decode/encode json files"
+DESCRIPTION = "This package contains the JSON.pm module with friends. \
+The module implements JSON encode/decode."
+
+HOMEPAGE = "https://metacpan.org/pod/JSON"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=1171;endline=1176;md5=3be2cb8159d094768e67386c453e8bbe"
+
+DEPENDS += "perl"
+
+SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https"
+
+SRCREV = "42a6324df654e92419512cee80c0b49155d9e56d"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
+
+RDEPENDS_${PN} += "perl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
new file mode 100644
index 00000000..ffe7a7d9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Perl module to manipulate and access gzip files"
+DESCRIPTION = "This package contains the gzip.pm module with friends. \
+The module implements perlio layer for gzip."
+
+HOMEPAGE = "https://metacpan.org/pod/PerlIO::gzip"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=55;endline=61;md5=bc3da2dec1fbea59ac91172c5e0eb837"
+
+DEPENDS += "perl"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/PerlIO-gzip-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0393eae5d0b23df6cf40ed44af7d711c"
+SRC_URI[sha256sum] = "4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5"
+
+S = "${WORKDIR}/PerlIO-gzip-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
+
+RDEPENDS_${PN} += "perl perl-module-perlio"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php.inc b/external/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
deleted file mode 100644
index bfd0ddfb..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
+++ /dev/null
@@ -1,263 +0,0 @@
-SUMMARY = "A server-side, HTML-embedded scripting language"
-HOMEPAGE = "http://www.php.net"
-SECTION = "console/network"
-
-LICENSE = "PHP-3.0"
-
-BBCLASSEXTEND = "native"
-DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native"
-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://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
- "
-
-SRC_URI_append_class-target = " \
- file://iconv.patch \
- file://imap-fix-autofoo.patch \
- file://php_exec_native.patch \
- file://php-fpm.conf \
- file://php-fpm-apache.conf \
- file://0001-acinclude.m4-don-t-unset-cache-variables.patch \
- file://70_mod_php${PHP_MAJOR_VERSION}.conf \
- file://php-fpm.service \
- "
-S = "${WORKDIR}/php-${PV}"
-
-inherit autotools pkgconfig pythonnative gettext
-
-# phpize is not scanned for absolute paths by default (but php-config is).
-#
-SSTATE_SCAN_FILES += "phpize"
-SSTATE_SCAN_FILES += "build-defs.h"
-
-PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}"
-
-# Common EXTRA_OECONF
-COMMON_EXTRA_OECONF = "--enable-sockets \
- --enable-pcntl \
- --enable-shared \
- --disable-rpath \
- --with-pic \
- --libdir=${PHP_LIBDIR} \
-"
-EXTRA_OECONF = "--enable-mbstring \
- --enable-wddx \
- --enable-fpm \
- --enable-zip \
- --with-libdir=${baselib} \
- --with-gettext=${STAGING_LIBDIR}/.. \
- --with-zlib=${STAGING_LIBDIR}/.. \
- --with-iconv=${STAGING_LIBDIR}/.. \
- --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
- --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
- ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
- ${COMMON_EXTRA_OECONF} \
-"
-
-CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes"
-
-EXTRA_OECONF_class-native = " \
- --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
- --without-iconv \
- ${COMMON_EXTRA_OECONF} \
-"
-
-PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
-"
-PACKAGECONFIG_class-native = ""
-
-PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \
- --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
- --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
- ,--without-mysql --without-mysqli --without-pdo-mysql \
- ,mysql5"
-
-PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
- --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
- ,--without-sqlite3 --without-pdo-sqlite \
- ,sqlite3"
-PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
-PACKAGECONFIG[soap] = "--enable-libxml --enable-soap, --disable-soap, libxml2"
-PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
-PACKAGECONFIG[pam] = ",,libpam"
-PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
- --with-imap-ssl=${STAGING_DIR_HOST} \
- ,--without-imap --without-imap-ssl \
- ,uw-imap"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
-
-export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
-export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
-CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
-CFLAGS_append_aarch64 = " -O2"
-
-EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
-
-acpaths = ""
-
-do_configure_prepend () {
- rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
- find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!'
-}
-
-do_configure_append() {
- # No, libtool, we really don't want rpath set...
- sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool
- sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool
-}
-
-do_install_append_class-native() {
- rm -rf ${D}/${PHP_LIBDIR}/php/.registry
- rm -rf ${D}/${PHP_LIBDIR}/php/.channels
- rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]*
-}
-
-do_install_prepend() {
- cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \
- ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4
-}
-
-do_install_prepend_class-target() {
- if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
- # Install dummy config file so apxs doesn't fail
- install -d ${D}${sysconfdir}/apache2
- printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf
- fi
-}
-
-# fixme
-do_install_append_class-target() {
- 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
- rm -rf ${D}/.channels
- 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
- 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
- install -d ${D}${sysconfdir}/init.d
- sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm
- sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm
- sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm
- install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
- install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
- ${D}${systemd_unitdir}/system/php-fpm.service
- fi
-
- TMP=`dirname ${D}/${TMPDIR}`
- while test ${TMP} != ${D}; do
- if [ -d ${TMP} ]; then
- rmdir ${TMP}
- fi
- TMP=`dirname ${TMP}`;
- done
-
- 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-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-php${PHP_MAJOR_VERSION}/php.ini
- rm -f ${D}${sysconfdir}/apache2/httpd.conf*
- fi
-}
-
-SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess"
-
-php_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
-
- sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize
- sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config
-}
-
-MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
-
-PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}"
-
-RDEPENDS_${PN} += "libgcc"
-RDEPENDS_${PN}-pear = "${PN}"
-RDEPENDS_${PN}-phar = "${PN}-cli"
-RDEPENDS_${PN}-cli = "${PN}"
-RDEPENDS_${PN}-modphp = "${PN} apache2"
-RDEPENDS_${PN}-opcache = "${PN}"
-
-INITSCRIPT_PACKAGES = "${PN}-fpm"
-inherit update-rc.d
-
-FILES_${PN}-dbg =+ "${bindir}/.debug \
- ${libdir}/apache2/modules/.debug"
-FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc"
-FILES_${PN}-cli = "${bindir}/php"
-FILES_${PN}-phar = "${bindir}/phar*"
-FILES_${PN}-cgi = "${bindir}/php-cgi"
-FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service"
-FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
-CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf"
-CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
-INITSCRIPT_NAME_${PN}-fpm = "php-fpm"
-INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60"
-FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \
- ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \
- ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \
- ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \
- ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \
- ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \
- ${PHP_LIBDIR}/php/data/PEAR \
- ${sysconfdir}/pear.conf"
-FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \
- ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \
- ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \
- ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test"
-FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a"
-FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}"
-FILES_${PN} = "${PHP_LIBDIR}/php"
-FILES_${PN} += "${bindir}"
-
-SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server"
-FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}"
-
-MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}"
-RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
-RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
-RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
-
-do_install_append_class-native() {
- create_wrapper ${D}${bindir}/php \
- PHP_PEAR_SYSCONF_DIR=${sysconfdir}/
-}
-
-
-# Fails to build with thumb-1 (qemuarm)
-# | {standard input}: Assembler messages:
-# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3'
-# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
-# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3'
-# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
-# | make: *** [ext/standard/math.lo] Error 1
-ARM_INSTRUCTION_SET = "arm"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch
deleted file mode 100644
index f70e550f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch
deleted file mode 100644
index ac8365b8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch
+++ /dev/null
@@ -1,1285 +0,0 @@
-Subject: [PATCH] PHP 5.6 - LibSSL 1.1 compatibility
-
-This patch does not try to backport the 7.1 openssl module, it is the
-improved version of the 5.6 original openssl module.
-
-https://github.com/oerdnj/deb.sury.org/issues/566
-http://zettasystem.com/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch
-
-Upstream-Status: Deny [https://github.com/php/php-src/pull/2667]
-Reason: As PHP 5.6 is no longer actively supported only security fixes
-may land on this branch. As this change does not fall in this category,
-I'm closing this PR. (All higher versions of PHP already have OpenSSL
-1.1 support.)
-
-Author: zsalab@github https://github.com/zsalab
-
-Only port source modification, do not include the test case
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- ext/openssl/openssl.c | 683 +++++++++++++++++++++++++++++++++++++-------------
- ext/openssl/xp_ssl.c | 18 +-
- ext/phar/util.c | 13 +-
- 3 files changed, 527 insertions(+), 187 deletions(-)
-
-diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
-index a78a8fb..b53114c 100644
---- a/ext/openssl/openssl.c
-+++ b/ext/openssl/openssl.c
-@@ -42,6 +42,12 @@
-
- /* OpenSSL includes */
- #include <openssl/evp.h>
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+#include <openssl/bn.h>
-+#include <openssl/rsa.h>
-+#include <openssl/dsa.h>
-+#include <openssl/dh.h>
-+#endif
- #include <openssl/x509.h>
- #include <openssl/x509v3.h>
- #include <openssl/crypto.h>
-@@ -531,6 +537,133 @@ zend_module_entry openssl_module_entry = {
- ZEND_GET_MODULE(openssl)
- #endif
-
-+/* {{{ OpenSSL compatibility functions and macros */
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
-+#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa
-+#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh
-+#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa
-+#define EVP_PKEY_get0_EC_KEY(_pkey) _pkey->pkey.ec
-+
-+static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-+{
-+ r->n = n;
-+ r->e = e;
-+ r->d = d;
-+
-+ return 1;
-+}
-+
-+static int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q)
-+{
-+ r->p = p;
-+ r->q = q;
-+
-+ return 1;
-+}
-+
-+static int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)
-+{
-+ r->dmp1 = dmp1;
-+ r->dmq1 = dmq1;
-+ r->iqmp = iqmp;
-+
-+ return 1;
-+}
-+
-+static void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
-+{
-+ *n = r->n;
-+ *e = r->e;
-+ *d = r->d;
-+}
-+
-+static void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q)
-+{
-+ *p = r->p;
-+ *q = r->q;
-+}
-+
-+static void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp)
-+{
-+ *dmp1 = r->dmp1;
-+ *dmq1 = r->dmq1;
-+ *iqmp = r->iqmp;
-+}
-+
-+static void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-+{
-+ *p = dh->p;
-+ *q = dh->q;
-+ *g = dh->g;
-+}
-+
-+static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ dh->p = p;
-+ dh->q = q;
-+ dh->g = g;
-+
-+ return 1;
-+}
-+
-+static void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ *pub_key = dh->pub_key;
-+ *priv_key = dh->priv_key;
-+}
-+
-+static int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ dh->pub_key = pub_key;
-+ dh->priv_key = priv_key;
-+
-+ return 1;
-+}
-+
-+static void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-+{
-+ *p = d->p;
-+ *q = d->q;
-+ *g = d->g;
-+}
-+
-+int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ d->p = p;
-+ d->q = q;
-+ d->g = g;
-+
-+ return 1;
-+}
-+
-+static void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ *pub_key = d->pub_key;
-+ *priv_key = d->priv_key;
-+}
-+
-+int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ d->pub_key = pub_key;
-+ d->priv_key = priv_key;
-+
-+ return 1;
-+}
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER)
-+#define EVP_PKEY_id(_pkey) _pkey->type
-+#define EVP_PKEY_base_id(_key) EVP_PKEY_type(_key->type)
-+
-+static int X509_get_signature_nid(const X509 *x)
-+{
-+ return OBJ_obj2nid(x->sig_alg->algorithm);
-+}
-+
-+#endif
-+
-+#endif
-+/* }}} */
-+
- static int le_key;
- static int le_x509;
- static int le_csr;
-@@ -825,7 +958,7 @@ static int add_oid_section(struct php_x509_request * req TSRMLS_DC) /* {{{ */
- }
- for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) {
- cnf = sk_CONF_VALUE_value(sktmp, i);
-- if (OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) {
-+ if (OBJ_sn2nid(cnf->name) == NID_undef && OBJ_ln2nid(cnf->name) == NID_undef && OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "problem creating object %s=%s", cnf->name, cnf->value);
- return FAILURE;
- }
-@@ -967,7 +1100,7 @@ static void php_openssl_dispose_config(struct php_x509_request * req TSRMLS_DC)
- }
- /* }}} */
-
--#ifdef PHP_WIN32
-+#if defined(PHP_WIN32) || (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
- #define PHP_OPENSSL_RAND_ADD_TIME() ((void) 0)
- #else
- #define PHP_OPENSSL_RAND_ADD_TIME() php_openssl_rand_add_timeval()
-@@ -1053,9 +1186,11 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(long algo) { /* {{{ */
- mdtype = (EVP_MD *) EVP_md2();
- break;
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
- case OPENSSL_ALGO_DSS1:
- mdtype = (EVP_MD *) EVP_dss1();
- break;
-+#endif
- #if OPENSSL_VERSION_NUMBER >= 0x0090708fL
- case OPENSSL_ALGO_SHA224:
- mdtype = (EVP_MD *) EVP_sha224();
-@@ -1146,6 +1281,12 @@ PHP_MINIT_FUNCTION(openssl)
- OpenSSL_add_all_digests();
- OpenSSL_add_all_algorithms();
-
-+#if !defined(OPENSSL_NO_AES) && defined(EVP_CIPH_CCM_MODE) && OPENSSL_VERSION_NUMBER < 0x100020000
-+ EVP_add_cipher(EVP_aes_128_ccm());
-+ EVP_add_cipher(EVP_aes_192_ccm());
-+ EVP_add_cipher(EVP_aes_256_ccm());
-+#endif
-+
- SSL_load_error_strings();
-
- /* register a resource id number with OpenSSL so that we can map SSL -> stream structures in
-@@ -1173,7 +1314,9 @@ PHP_MINIT_FUNCTION(openssl)
- #ifdef HAVE_OPENSSL_MD2_H
- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT);
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT);
-+#endif
- #if OPENSSL_VERSION_NUMBER >= 0x0090708fL
- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT);
-@@ -1251,7 +1394,9 @@ PHP_MINIT_FUNCTION(openssl)
- }
-
- php_stream_xport_register("ssl", php_openssl_ssl_socket_factory TSRMLS_CC);
-+#ifndef OPENSSL_NO_SSL3
- php_stream_xport_register("sslv3", php_openssl_ssl_socket_factory TSRMLS_CC);
-+#endif
- #ifndef OPENSSL_NO_SSL2
- php_stream_xport_register("sslv2", php_openssl_ssl_socket_factory TSRMLS_CC);
- #endif
-@@ -1308,7 +1453,9 @@ PHP_MSHUTDOWN_FUNCTION(openssl)
- #ifndef OPENSSL_NO_SSL2
- php_stream_xport_unregister("sslv2" TSRMLS_CC);
- #endif
-+#ifndef OPENSSL_NO_SSL3
- php_stream_xport_unregister("sslv3" TSRMLS_CC);
-+#endif
- php_stream_xport_unregister("tls" TSRMLS_CC);
- php_stream_xport_unregister("tlsv1.0" TSRMLS_CC);
- #if OPENSSL_VERSION_NUMBER >= 0x10001001L
-@@ -1893,6 +2040,7 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
- {
- GENERAL_NAMES *names;
- const X509V3_EXT_METHOD *method = NULL;
-+ ASN1_OCTET_STRING *extension_data;
- long i, length, num;
- const unsigned char *p;
-
-@@ -1901,8 +2049,9 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
- return -1;
- }
-
-- p = extension->value->data;
-- length = extension->value->length;
-+ extension_data = X509_EXTENSION_get_data(extension);
-+ p = extension_data->data;
-+ length = extension_data->length;
- if (method->it) {
- names = (GENERAL_NAMES*)(ASN1_item_d2i(NULL, &p, length,
- ASN1_ITEM_ptr(method->it)));
-@@ -1965,6 +2114,8 @@ PHP_FUNCTION(openssl_x509_parse)
- char * tmpstr;
- zval * subitem;
- X509_EXTENSION *extension;
-+ X509_NAME *subject_name;
-+ char *cert_name;
- char *extname;
- BIO *bio_out;
- BUF_MEM *bio_buf;
-@@ -1979,10 +2130,10 @@ PHP_FUNCTION(openssl_x509_parse)
- }
- array_init(return_value);
-
-- if (cert->name) {
-- add_assoc_string(return_value, "name", cert->name, 1);
-- }
--/* add_assoc_bool(return_value, "valid", cert->valid); */
-+ subject_name = X509_get_subject_name(cert);
-+ cert_name = X509_NAME_oneline(subject_name, NULL, 0);
-+ add_assoc_string(return_value, "name", cert_name, 1);
-+ OPENSSL_free(cert_name);
-
- add_assoc_name_entry(return_value, "subject", X509_get_subject_name(cert), useshortnames TSRMLS_CC);
- /* hash as used in CA directories to lookup cert by subject name */
-@@ -2008,7 +2159,7 @@ PHP_FUNCTION(openssl_x509_parse)
- add_assoc_string(return_value, "alias", tmpstr, 1);
- }
-
-- sig_nid = OBJ_obj2nid((cert)->sig_alg->algorithm);
-+ sig_nid = X509_get_signature_nid(cert);
- add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1);
- add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1);
- add_assoc_long(return_value, "signatureTypeNID", sig_nid);
-@@ -3217,7 +3368,21 @@ PHP_FUNCTION(openssl_csr_get_public_key)
- RETURN_FALSE;
- }
-
-- tpubkey=X509_REQ_get_pubkey(csr);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+ /* Due to changes in OpenSSL 1.1 related to locking when decoding CSR,
-+ * the pub key is not changed after assigning. It means if we pass
-+ * a private key, it will be returned including the private part.
-+ * If we duplicate it, then we get just the public part which is
-+ * the same behavior as for OpenSSL 1.0 */
-+ csr = X509_REQ_dup(csr);
-+#endif
-+ /* Retrieve the public key from the CSR */
-+ tpubkey = X509_REQ_get_pubkey(csr);
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+ /* We need to free the CSR as it was duplicated */
-+ X509_REQ_free(csr);
-+#endif
- RETVAL_RESOURCE(zend_list_insert(tpubkey, le_key TSRMLS_CC));
- return;
- }
-@@ -3482,13 +3647,20 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
- {
- assert(pkey != NULL);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- #ifndef NO_RSA
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
-- assert(pkey->pkey.rsa != NULL);
-- if (pkey->pkey.rsa != NULL && (NULL == pkey->pkey.rsa->p || NULL == pkey->pkey.rsa->q)) {
-- return 0;
-+ {
-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey);
-+ if (rsa != NULL) {
-+ const BIGNUM *p, *q;
-+
-+ RSA_get0_factors(rsa, &p, &q);
-+ if (p == NULL || q == NULL) {
-+ return 0;
-+ }
-+ }
- }
- break;
- #endif
-@@ -3498,28 +3670,51 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
- case EVP_PKEY_DSA2:
- case EVP_PKEY_DSA3:
- case EVP_PKEY_DSA4:
-- assert(pkey->pkey.dsa != NULL);
--
-- if (NULL == pkey->pkey.dsa->p || NULL == pkey->pkey.dsa->q || NULL == pkey->pkey.dsa->priv_key){
-- return 0;
-+ {
-+ DSA *dsa = EVP_PKEY_get0_DSA(pkey);
-+ if (dsa != NULL) {
-+ const BIGNUM *p, *q, *g, *pub_key, *priv_key;
-+
-+ DSA_get0_pqg(dsa, &p, &q, &g);
-+ if (p == NULL || q == NULL) {
-+ return 0;
-+ }
-+
-+ DSA_get0_key(dsa, &pub_key, &priv_key);
-+ if (priv_key == NULL) {
-+ return 0;
-+ }
-+ }
- }
- break;
- #endif
- #ifndef NO_DH
- case EVP_PKEY_DH:
-- assert(pkey->pkey.dh != NULL);
--
-- if (NULL == pkey->pkey.dh->p || NULL == pkey->pkey.dh->priv_key) {
-- return 0;
-+ {
-+ DH *dh = EVP_PKEY_get0_DH(pkey);
-+ if (dh != NULL) {
-+ const BIGNUM *p, *q, *g, *pub_key, *priv_key;
-+
-+ DH_get0_pqg(dh, &p, &q, &g);
-+ if (p == NULL) {
-+ return 0;
-+ }
-+
-+ DH_get0_key(dh, &pub_key, &priv_key);
-+ if (priv_key == NULL) {
-+ return 0;
-+ }
-+ }
- }
- break;
- #endif
- #ifdef HAVE_EVP_PKEY_EC
- case EVP_PKEY_EC:
-- assert(pkey->pkey.ec != NULL);
--
-- if ( NULL == EC_KEY_get0_private_key(pkey->pkey.ec)) {
-- return 0;
-+ {
-+ EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey);
-+ if (ec != NULL && NULL == EC_KEY_get0_private_key(ec)) {
-+ return 0;
-+ }
- }
- break;
- #endif
-@@ -3531,34 +3726,80 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
- }
- /* }}} */
-
--#define OPENSSL_PKEY_GET_BN(_type, _name) do { \
-- if (pkey->pkey._type->_name != NULL) { \
-- int len = BN_num_bytes(pkey->pkey._type->_name); \
-- char *str = emalloc(len + 1); \
-- BN_bn2bin(pkey->pkey._type->_name, (unsigned char*)str); \
-- str[len] = 0; \
-- add_assoc_stringl(_type, #_name, str, len, 0); \
-- } \
-- } while (0)
--
--#define OPENSSL_PKEY_SET_BN(_ht, _type, _name) do { \
-- zval **bn; \
-- if (zend_hash_find(_ht, #_name, sizeof(#_name), (void**)&bn) == SUCCESS && \
-- Z_TYPE_PP(bn) == IS_STRING) { \
-- _type->_name = BN_bin2bn( \
-- (unsigned char*)Z_STRVAL_PP(bn), \
-- Z_STRLEN_PP(bn), NULL); \
-- } \
-+#define OPENSSL_GET_BN(_array, _bn, _name) do { \
-+ if (_bn != NULL) { \
-+ int len = BN_num_bytes(_bn); \
-+ char *str = emalloc(len + 1); \
-+ BN_bn2bin(_bn, (unsigned char*)str); \
-+ str[len] = 0; \
-+ add_assoc_stringl(_array, #_name, str, len, 0); \
-+ } \
- } while (0);
-
-+#define OPENSSL_PKEY_GET_BN(_type, _name) OPENSSL_GET_BN(_type, _name, _name)
-+
-+#define OPENSSL_PKEY_SET_BN(_data, _name) do { \
-+ zval **bn; \
-+ if (zend_hash_find(Z_ARRVAL_P(_data), #_name, sizeof(#_name),(void**)&bn) == SUCCESS && \
-+ Z_TYPE_PP(bn) == IS_STRING) { \
-+ _name = BN_bin2bn( \
-+ (unsigned char*)Z_STRVAL_PP(bn), \
-+ Z_STRLEN_PP(bn), NULL); \
-+ } else { \
-+ _name = NULL; \
-+ } \
-+ } while (0);
-+
-+/* {{{ php_openssl_pkey_init_rsa */
-+zend_bool php_openssl_pkey_init_and_assign_rsa(EVP_PKEY *pkey, RSA *rsa, zval *data)
-+{
-+ BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp;
-+
-+ OPENSSL_PKEY_SET_BN(data, n);
-+ OPENSSL_PKEY_SET_BN(data, e);
-+ OPENSSL_PKEY_SET_BN(data, d);
-+ if (!n || !d || !RSA_set0_key(rsa, n, e, d)) {
-+ return 0;
-+ }
-+
-+ OPENSSL_PKEY_SET_BN(data, p);
-+ OPENSSL_PKEY_SET_BN(data, q);
-+ if ((p || q) && !RSA_set0_factors(rsa, p, q)) {
-+ return 0;
-+ }
-+
-+ OPENSSL_PKEY_SET_BN(data, dmp1);
-+ OPENSSL_PKEY_SET_BN(data, dmq1);
-+ OPENSSL_PKEY_SET_BN(data, iqmp);
-+ if ((dmp1 || dmq1 || iqmp) && !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp)) {
-+ return 0;
-+ }
-+
-+ if (!EVP_PKEY_assign_RSA(pkey, rsa)) {
-+ return 0;
-+ }
-+
-+ return 1;
-+}
-+/* }}} */
-+
- /* {{{ php_openssl_pkey_init_dsa */
--zend_bool php_openssl_pkey_init_dsa(DSA *dsa)
-+zend_bool php_openssl_pkey_init_dsa(DSA *dsa, zval *data)
- {
-- if (!dsa->p || !dsa->q || !dsa->g) {
-+ BIGNUM *p, *q, *g, *priv_key, *pub_key;
-+ const BIGNUM *priv_key_const, *pub_key_const;
-+
-+ OPENSSL_PKEY_SET_BN(data, p);
-+ OPENSSL_PKEY_SET_BN(data, q);
-+ OPENSSL_PKEY_SET_BN(data, g);
-+ if (!p || !q || !g || !DSA_set0_pqg(dsa, p, q, g)) {
- return 0;
- }
-- if (dsa->priv_key || dsa->pub_key) {
-- return 1;
-+
-+ OPENSSL_PKEY_SET_BN(data, pub_key);
-+ OPENSSL_PKEY_SET_BN(data, priv_key);
-+ if (pub_key) {
-+ return DSA_set0_key(dsa, pub_key, priv_key);
- }
- PHP_OPENSSL_RAND_ADD_TIME();
- if (!DSA_generate_key(dsa)) {
-@@ -3566,7 +3807,8 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa)
- }
- /* if BN_mod_exp return -1, then DSA_generate_key succeed for failed key
- * so we need to double check that public key is created */
-- if (!dsa->pub_key || BN_is_zero(dsa->pub_key)) {
-+ DSA_get0_key(dsa, &pub_key_const, &priv_key_const);
-+ if (!pub_key_const || BN_is_zero(pub_key_const)) {
- return 0;
- }
- /* all good */
-@@ -3574,14 +3816,66 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa)
- }
- /* }}} */
-
-+/* {{{ php_openssl_dh_pub_from_priv */
-+static BIGNUM *php_openssl_dh_pub_from_priv(BIGNUM *priv_key, BIGNUM *g, BIGNUM *p)
-+{
-+ BIGNUM *pub_key, *priv_key_const_time;
-+ BN_CTX *ctx;
-+
-+ pub_key = BN_new();
-+ if (pub_key == NULL) {
-+ return NULL;
-+ }
-+
-+ priv_key_const_time = BN_new();
-+ if (priv_key_const_time == NULL) {
-+ BN_free(pub_key);
-+ return NULL;
-+ }
-+ ctx = BN_CTX_new();
-+ if (ctx == NULL) {
-+ BN_free(pub_key);
-+ BN_free(priv_key_const_time);
-+ return NULL;
-+ }
-+
-+ BN_with_flags(priv_key_const_time, priv_key, BN_FLG_CONSTTIME);
-+
-+ if (!BN_mod_exp_mont(pub_key, g, priv_key_const_time, p, ctx, NULL)) {
-+ BN_free(pub_key);
-+ pub_key = NULL;
-+ }
-+
-+ BN_free(priv_key_const_time);
-+ BN_CTX_free(ctx);
-+
-+ return pub_key;
-+}
-+/* }}} */
-+
- /* {{{ php_openssl_pkey_init_dh */
--zend_bool php_openssl_pkey_init_dh(DH *dh)
-+zend_bool php_openssl_pkey_init_dh(DH *dh, zval *data)
- {
-- if (!dh->p || !dh->g) {
-+ BIGNUM *p, *q, *g, *priv_key, *pub_key;
-+
-+ OPENSSL_PKEY_SET_BN(data, p);
-+ OPENSSL_PKEY_SET_BN(data, q);
-+ OPENSSL_PKEY_SET_BN(data, g);
-+ if (!p || !g || !DH_set0_pqg(dh, p, q, g)) {
- return 0;
- }
-- if (dh->pub_key) {
-- return 1;
-+
-+ OPENSSL_PKEY_SET_BN(data, priv_key);
-+ OPENSSL_PKEY_SET_BN(data, pub_key);
-+ if (pub_key) {
-+ return DH_set0_key(dh, pub_key, priv_key);
-+ }
-+ if (priv_key) {
-+ pub_key = php_openssl_dh_pub_from_priv(priv_key, g, p);
-+ if (pub_key == NULL) {
-+ return 0;
-+ }
-+ return DH_set0_key(dh, pub_key, priv_key);
- }
- PHP_OPENSSL_RAND_ADD_TIME();
- if (!DH_generate_key(dh)) {
-@@ -3614,18 +3908,8 @@ PHP_FUNCTION(openssl_pkey_new)
- if (pkey) {
- RSA *rsa = RSA_new();
- if (rsa) {
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, n);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, e);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, d);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, p);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, q);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmp1);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmq1);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, iqmp);
-- if (rsa->n && rsa->d) {
-- if (EVP_PKEY_assign_RSA(pkey, rsa)) {
-- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
-- }
-+ if (php_openssl_pkey_init_and_assign_rsa(pkey, rsa, *data)) {
-+ RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
- }
- RSA_free(rsa);
- }
-@@ -3638,12 +3922,7 @@ PHP_FUNCTION(openssl_pkey_new)
- if (pkey) {
- DSA *dsa = DSA_new();
- if (dsa) {
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, p);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, q);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, g);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, priv_key);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, pub_key);
-- if (php_openssl_pkey_init_dsa(dsa)) {
-+ if (php_openssl_pkey_init_dsa(dsa, *data)) {
- if (EVP_PKEY_assign_DSA(pkey, dsa)) {
- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
- }
-@@ -3659,11 +3938,7 @@ PHP_FUNCTION(openssl_pkey_new)
- if (pkey) {
- DH *dh = DH_new();
- if (dh) {
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, p);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, g);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, priv_key);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, pub_key);
-- if (php_openssl_pkey_init_dh(dh)) {
-+ if (php_openssl_pkey_init_dh(dh, *data)) {
- if (EVP_PKEY_assign_DH(pkey, dh)) {
- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
- }
-@@ -3738,10 +4013,10 @@ PHP_FUNCTION(openssl_pkey_export_to_file)
- cipher = NULL;
- }
-
-- switch (EVP_PKEY_type(key->type)) {
-+ switch (EVP_PKEY_base_id(key)) {
- #ifdef HAVE_EVP_PKEY_EC
- case EVP_PKEY_EC:
-- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL);
-+ pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get0_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL);
- break;
- #endif
- default:
-@@ -3807,7 +4082,7 @@ PHP_FUNCTION(openssl_pkey_export)
- cipher = NULL;
- }
-
-- switch (EVP_PKEY_type(key->type)) {
-+ switch (EVP_PKEY_base_id(key)) {
- #ifdef HAVE_EVP_PKEY_EC
- case EVP_PKEY_EC:
- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL);
-@@ -3928,25 +4203,33 @@ PHP_FUNCTION(openssl_pkey_get_details)
- /*TODO: Use the real values once the openssl constants are used
- * See the enum at the top of this file
- */
-- switch (EVP_PKEY_type(pkey->type)) {
-+ switch (EVP_PKEY_base_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
-- ktype = OPENSSL_KEYTYPE_RSA;
--
-- if (pkey->pkey.rsa != NULL) {
-- zval *rsa;
--
-- ALLOC_INIT_ZVAL(rsa);
-- array_init(rsa);
-- OPENSSL_PKEY_GET_BN(rsa, n);
-- OPENSSL_PKEY_GET_BN(rsa, e);
-- OPENSSL_PKEY_GET_BN(rsa, d);
-- OPENSSL_PKEY_GET_BN(rsa, p);
-- OPENSSL_PKEY_GET_BN(rsa, q);
-- OPENSSL_PKEY_GET_BN(rsa, dmp1);
-- OPENSSL_PKEY_GET_BN(rsa, dmq1);
-- OPENSSL_PKEY_GET_BN(rsa, iqmp);
-- add_assoc_zval(return_value, "rsa", rsa);
-+ {
-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey);
-+ ktype = OPENSSL_KEYTYPE_RSA;
-+
-+ if (rsa != NULL) {
-+ zval *z_rsa;
-+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp;
-+
-+ RSA_get0_key(rsa, &n, &e, &d);
-+ RSA_get0_factors(rsa, &p, &q);
-+ RSA_get0_crt_params(rsa, &dmp1, &dmq1, &iqmp);
-+
-+ ALLOC_INIT_ZVAL(z_rsa);
-+ array_init(z_rsa);
-+ OPENSSL_PKEY_GET_BN(z_rsa, n);
-+ OPENSSL_PKEY_GET_BN(z_rsa, e);
-+ OPENSSL_PKEY_GET_BN(z_rsa, d);
-+ OPENSSL_PKEY_GET_BN(z_rsa, p);
-+ OPENSSL_PKEY_GET_BN(z_rsa, q);
-+ OPENSSL_PKEY_GET_BN(z_rsa, dmp1);
-+ OPENSSL_PKEY_GET_BN(z_rsa, dmq1);
-+ OPENSSL_PKEY_GET_BN(z_rsa, iqmp);
-+ add_assoc_zval(return_value, "rsa", z_rsa);
-+ }
- }
-
- break;
-@@ -3954,42 +4237,55 @@ PHP_FUNCTION(openssl_pkey_get_details)
- case EVP_PKEY_DSA2:
- case EVP_PKEY_DSA3:
- case EVP_PKEY_DSA4:
-- ktype = OPENSSL_KEYTYPE_DSA;
--
-- if (pkey->pkey.dsa != NULL) {
-- zval *dsa;
--
-- ALLOC_INIT_ZVAL(dsa);
-- array_init(dsa);
-- OPENSSL_PKEY_GET_BN(dsa, p);
-- OPENSSL_PKEY_GET_BN(dsa, q);
-- OPENSSL_PKEY_GET_BN(dsa, g);
-- OPENSSL_PKEY_GET_BN(dsa, priv_key);
-- OPENSSL_PKEY_GET_BN(dsa, pub_key);
-- add_assoc_zval(return_value, "dsa", dsa);
-+ {
-+ DSA *dsa = EVP_PKEY_get0_DSA(pkey);
-+ ktype = OPENSSL_KEYTYPE_DSA;
-+
-+ if (dsa != NULL) {
-+ zval *z_dsa;
-+ const BIGNUM *p, *q, *g, *priv_key, *pub_key;
-+
-+ DSA_get0_pqg(dsa, &p, &q, &g);
-+ DSA_get0_key(dsa, &pub_key, &priv_key);
-+
-+ ALLOC_INIT_ZVAL(z_dsa);
-+ array_init(z_dsa);
-+ OPENSSL_PKEY_GET_BN(z_dsa, p);
-+ OPENSSL_PKEY_GET_BN(z_dsa, q);
-+ OPENSSL_PKEY_GET_BN(z_dsa, g);
-+ OPENSSL_PKEY_GET_BN(z_dsa, priv_key);
-+ OPENSSL_PKEY_GET_BN(z_dsa, pub_key);
-+ add_assoc_zval(return_value, "dsa", z_dsa);
-+ }
- }
- break;
- case EVP_PKEY_DH:
--
-- ktype = OPENSSL_KEYTYPE_DH;
--
-- if (pkey->pkey.dh != NULL) {
-- zval *dh;
--
-- ALLOC_INIT_ZVAL(dh);
-- array_init(dh);
-- OPENSSL_PKEY_GET_BN(dh, p);
-- OPENSSL_PKEY_GET_BN(dh, g);
-- OPENSSL_PKEY_GET_BN(dh, priv_key);
-- OPENSSL_PKEY_GET_BN(dh, pub_key);
-- add_assoc_zval(return_value, "dh", dh);
-+ {
-+ DH *dh = EVP_PKEY_get0_DH(pkey);
-+ ktype = OPENSSL_KEYTYPE_DH;
-+
-+ if (dh != NULL) {
-+ zval *z_dh;
-+ const BIGNUM *p, *q, *g, *priv_key, *pub_key;
-+
-+ DH_get0_pqg(dh, &p, &q, &g);
-+ DH_get0_key(dh, &pub_key, &priv_key);
-+
-+ ALLOC_INIT_ZVAL(z_dh);
-+ array_init(z_dh);
-+ OPENSSL_PKEY_GET_BN(z_dh, p);
-+ OPENSSL_PKEY_GET_BN(z_dh, g);
-+ OPENSSL_PKEY_GET_BN(z_dh, priv_key);
-+ OPENSSL_PKEY_GET_BN(z_dh, pub_key);
-+ add_assoc_zval(return_value, "dh", z_dh);
-+ }
- }
-
- break;
- #ifdef HAVE_EVP_PKEY_EC
- case EVP_PKEY_EC:
- ktype = OPENSSL_KEYTYPE_EC;
-- if (pkey->pkey.ec != NULL) {
-+ if (EVP_PKEY_get0_EC_KEY(pkey) != NULL) {
- zval *ec;
- const EC_GROUP *ec_group;
- int nid;
-@@ -4546,13 +4842,13 @@ PHP_FUNCTION(openssl_private_encrypt)
- cryptedlen = EVP_PKEY_size(pkey);
- cryptedbuf = emalloc(cryptedlen + 1);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
- successful = (RSA_private_encrypt(data_len,
- (unsigned char *)data,
- cryptedbuf,
-- pkey->pkey.rsa,
-+ EVP_PKEY_get0_RSA(pkey),
- padding) == cryptedlen);
- break;
- default:
-@@ -4604,13 +4900,13 @@ PHP_FUNCTION(openssl_private_decrypt)
- cryptedlen = EVP_PKEY_size(pkey);
- crypttemp = emalloc(cryptedlen + 1);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
- cryptedlen = RSA_private_decrypt(data_len,
- (unsigned char *)data,
- crypttemp,
-- pkey->pkey.rsa,
-+ EVP_PKEY_get0_RSA(pkey),
- padding);
- if (cryptedlen != -1) {
- cryptedbuf = emalloc(cryptedlen + 1);
-@@ -4669,13 +4965,13 @@ PHP_FUNCTION(openssl_public_encrypt)
- cryptedlen = EVP_PKEY_size(pkey);
- cryptedbuf = emalloc(cryptedlen + 1);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
- successful = (RSA_public_encrypt(data_len,
- (unsigned char *)data,
- cryptedbuf,
-- pkey->pkey.rsa,
-+ EVP_PKEY_get0_RSA(pkey),
- padding) == cryptedlen);
- break;
- default:
-@@ -4728,13 +5024,13 @@ PHP_FUNCTION(openssl_public_decrypt)
- cryptedlen = EVP_PKEY_size(pkey);
- crypttemp = emalloc(cryptedlen + 1);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
- cryptedlen = RSA_public_decrypt(data_len,
- (unsigned char *)data,
- crypttemp,
-- pkey->pkey.rsa,
-+ EVP_PKEY_get0_RSA(pkey),
- padding);
- if (cryptedlen != -1) {
- cryptedbuf = emalloc(cryptedlen + 1);
-@@ -4798,7 +5094,7 @@ PHP_FUNCTION(openssl_sign)
- long keyresource = -1;
- char * data;
- int data_len;
-- EVP_MD_CTX md_ctx;
-+ EVP_MD_CTX *md_ctx;
- zval *method = NULL;
- long signature_algo = OPENSSL_ALGO_SHA1;
- const EVP_MD *mdtype;
-@@ -4831,9 +5127,10 @@ PHP_FUNCTION(openssl_sign)
- siglen = EVP_PKEY_size(pkey);
- sigbuf = emalloc(siglen + 1);
-
-- EVP_SignInit(&md_ctx, mdtype);
-- EVP_SignUpdate(&md_ctx, data, data_len);
-- if (EVP_SignFinal (&md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) {
-+ md_ctx = EVP_MD_CTX_create();
-+ EVP_SignInit(md_ctx, mdtype);
-+ EVP_SignUpdate(md_ctx, data, data_len);
-+ if (EVP_SignFinal (md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) {
- zval_dtor(signature);
- sigbuf[siglen] = '\0';
- ZVAL_STRINGL(signature, (char *)sigbuf, siglen, 0);
-@@ -4842,7 +5139,7 @@ PHP_FUNCTION(openssl_sign)
- efree(sigbuf);
- RETVAL_FALSE;
- }
-- EVP_MD_CTX_cleanup(&md_ctx);
-+ EVP_MD_CTX_destroy(md_ctx);
- if (keyresource == -1) {
- EVP_PKEY_free(pkey);
- }
-@@ -4856,7 +5153,7 @@ PHP_FUNCTION(openssl_verify)
- zval **key;
- EVP_PKEY *pkey;
- int err;
-- EVP_MD_CTX md_ctx;
-+ EVP_MD_CTX *md_ctx;
- const EVP_MD *mdtype;
- long keyresource = -1;
- char * data; int data_len;
-@@ -4890,10 +5187,11 @@ PHP_FUNCTION(openssl_verify)
- RETURN_FALSE;
- }
-
-- EVP_VerifyInit (&md_ctx, mdtype);
-- EVP_VerifyUpdate (&md_ctx, data, data_len);
-- err = EVP_VerifyFinal (&md_ctx, (unsigned char *)signature, signature_len, pkey);
-- EVP_MD_CTX_cleanup(&md_ctx);
-+ md_ctx = EVP_MD_CTX_create();
-+ EVP_VerifyInit (md_ctx, mdtype);
-+ EVP_VerifyUpdate (md_ctx, data, data_len);
-+ err = EVP_VerifyFinal (md_ctx, (unsigned char *)signature, signature_len, pkey);
-+ EVP_MD_CTX_destroy(md_ctx);
-
- if (keyresource == -1) {
- EVP_PKEY_free(pkey);
-@@ -4917,7 +5215,7 @@ PHP_FUNCTION(openssl_seal)
- char *method =NULL;
- int method_len = 0;
- const EVP_CIPHER *cipher;
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szza/|s", &data, &data_len, &sealdata, &ekeys, &pubkeys, &method, &method_len) == FAILURE) {
- return;
-@@ -4950,6 +5248,7 @@ PHP_FUNCTION(openssl_seal)
- memset(eks, 0, sizeof(*eks) * nkeys);
- key_resources = safe_emalloc(nkeys, sizeof(long), 0);
- memset(key_resources, 0, sizeof(*key_resources) * nkeys);
-+ memset(pkeys, 0, sizeof(*pkeys) * nkeys);
-
- /* get the public keys we are using to seal this data */
- zend_hash_internal_pointer_reset_ex(pubkeysht, &pos);
-@@ -4967,27 +5266,28 @@ PHP_FUNCTION(openssl_seal)
- i++;
- }
-
-- if (!EVP_EncryptInit(&ctx,cipher,NULL,NULL)) {
-+ ctx = EVP_CIPHER_CTX_new();
-+ if (ctx == NULL || !EVP_EncryptInit(ctx,cipher,NULL,NULL)) {
- RETVAL_FALSE;
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
- goto clean_exit;
- }
-
- #if 0
- /* Need this if allow ciphers that require initialization vector */
-- ivlen = EVP_CIPHER_CTX_iv_length(&ctx);
-+ ivlen = EVP_CIPHER_CTX_iv_length(ctx);
- iv = ivlen ? emalloc(ivlen + 1) : NULL;
- #endif
- /* allocate one byte extra to make room for \0 */
-- buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(&ctx));
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(ctx));
-+ EVP_CIPHER_CTX_cleanup(ctx);
-
-- if (EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 ||
-- !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len) ||
-- !EVP_SealFinal(&ctx, buf + len1, &len2)) {
-+ if (EVP_SealInit(ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 ||
-+ !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, data_len) ||
-+ !EVP_SealFinal(ctx, buf + len1, &len2)) {
- RETVAL_FALSE;
- efree(buf);
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
- goto clean_exit;
- }
-
-@@ -5018,7 +5318,7 @@ PHP_FUNCTION(openssl_seal)
- efree(buf);
- }
- RETVAL_LONG(len1 + len2);
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
-
- clean_exit:
- for (i=0; i<nkeys; i++) {
-@@ -5045,7 +5345,7 @@ PHP_FUNCTION(openssl_open)
- int len1, len2;
- unsigned char *buf;
- long keyresource = -1;
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
- char * data; int data_len;
- char * ekey; int ekey_len;
- char *method =NULL;
-@@ -5074,8 +5374,9 @@ PHP_FUNCTION(openssl_open)
-
- buf = emalloc(data_len + 1);
-
-- if (EVP_OpenInit(&ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len)) {
-- if (!EVP_OpenFinal(&ctx, buf + len1, &len2) || (len1 + len2 == 0)) {
-+ ctx = EVP_CIPHER_CTX_new();
-+ if (EVP_OpenInit(ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(ctx, buf, &len1, (unsigned char *)data, data_len)) {
-+ if (!EVP_OpenFinal(ctx, buf + len1, &len2) || (len1 + len2 == 0)) {
- efree(buf);
- RETVAL_FALSE;
- } else {
-@@ -5091,7 +5392,7 @@ PHP_FUNCTION(openssl_open)
- if (keyresource == -1) {
- EVP_PKEY_free(pkey);
- }
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
- }
- /* }}} */
-
-@@ -5151,7 +5452,7 @@ PHP_FUNCTION(openssl_digest)
- char *data, *method;
- int data_len, method_len;
- const EVP_MD *mdtype;
-- EVP_MD_CTX md_ctx;
-+ EVP_MD_CTX *md_ctx;
- int siglen;
- unsigned char *sigbuf;
-
-@@ -5167,9 +5468,10 @@ PHP_FUNCTION(openssl_digest)
- siglen = EVP_MD_size(mdtype);
- sigbuf = emalloc(siglen + 1);
-
-- EVP_DigestInit(&md_ctx, mdtype);
-- EVP_DigestUpdate(&md_ctx, (unsigned char *)data, data_len);
-- if (EVP_DigestFinal (&md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) {
-+ md_ctx = EVP_MD_CTX_create();
-+ EVP_DigestInit(md_ctx, mdtype);
-+ EVP_DigestUpdate(md_ctx, (unsigned char *)data, data_len);
-+ if (EVP_DigestFinal (md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) {
- if (raw_output) {
- sigbuf[siglen] = '\0';
- RETVAL_STRINGL((char *)sigbuf, siglen, 0);
-@@ -5185,6 +5487,8 @@ PHP_FUNCTION(openssl_digest)
- efree(sigbuf);
- RETVAL_FALSE;
- }
-+
-+ EVP_MD_CTX_destroy(md_ctx);
- }
- /* }}} */
-
-@@ -5230,7 +5534,7 @@ PHP_FUNCTION(openssl_encrypt)
- char *data, *method, *password, *iv = "";
- int data_len, method_len, password_len, iv_len = 0, max_iv_len;
- const EVP_CIPHER *cipher_type;
-- EVP_CIPHER_CTX cipher_ctx;
-+ EVP_CIPHER_CTX *cipher_ctx;
- int i=0, outlen, keylen;
- unsigned char *outbuf, *key;
- zend_bool free_iv;
-@@ -5262,19 +5566,24 @@ PHP_FUNCTION(openssl_encrypt)
- outlen = data_len + EVP_CIPHER_block_size(cipher_type);
- outbuf = safe_emalloc(outlen, 1, 1);
-
-- EVP_EncryptInit(&cipher_ctx, cipher_type, NULL, NULL);
-+ cipher_ctx = EVP_CIPHER_CTX_new();
-+ if (!cipher_ctx) {
-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context");
-+ RETURN_FALSE;
-+ }
-+ EVP_EncryptInit(cipher_ctx, cipher_type, NULL, NULL);
- if (password_len > keylen) {
-- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len);
-+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len);
- }
-- EVP_EncryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
-+ EVP_EncryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
- if (options & OPENSSL_ZERO_PADDING) {
-- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0);
-+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0);
- }
- if (data_len > 0) {
-- EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
-+ EVP_EncryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
- }
- outlen = i;
-- if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) {
-+ if (EVP_EncryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) {
- outlen += i;
- if (options & OPENSSL_RAW_DATA) {
- outbuf[outlen] = '\0';
-@@ -5301,7 +5610,8 @@ PHP_FUNCTION(openssl_encrypt)
- if (free_iv) {
- efree(iv);
- }
-- EVP_CIPHER_CTX_cleanup(&cipher_ctx);
-+ EVP_CIPHER_CTX_cleanup(cipher_ctx);
-+ EVP_CIPHER_CTX_free(cipher_ctx);
- }
- /* }}} */
-
-@@ -5313,7 +5623,7 @@ PHP_FUNCTION(openssl_decrypt)
- char *data, *method, *password, *iv = "";
- int data_len, method_len, password_len, iv_len = 0;
- const EVP_CIPHER *cipher_type;
-- EVP_CIPHER_CTX cipher_ctx;
-+ EVP_CIPHER_CTX *cipher_ctx;
- int i, outlen, keylen;
- unsigned char *outbuf, *key;
- int base64_str_len;
-@@ -5359,17 +5669,23 @@ PHP_FUNCTION(openssl_decrypt)
- outlen = data_len + EVP_CIPHER_block_size(cipher_type);
- outbuf = emalloc(outlen + 1);
-
-- EVP_DecryptInit(&cipher_ctx, cipher_type, NULL, NULL);
-+ cipher_ctx = EVP_CIPHER_CTX_new();
-+ if (!cipher_ctx) {
-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context");
-+ RETURN_FALSE;
-+ }
-+
-+ EVP_DecryptInit(cipher_ctx, cipher_type, NULL, NULL);
- if (password_len > keylen) {
-- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len);
-+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len);
- }
-- EVP_DecryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
-+ EVP_DecryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
- if (options & OPENSSL_ZERO_PADDING) {
-- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0);
-+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0);
- }
-- EVP_DecryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
-+ EVP_DecryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
- outlen = i;
-- if (EVP_DecryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) {
-+ if (EVP_DecryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) {
- outlen += i;
- outbuf[outlen] = '\0';
- RETVAL_STRINGL((char *)outbuf, outlen, 0);
-@@ -5386,7 +5702,8 @@ PHP_FUNCTION(openssl_decrypt)
- if (base64_str) {
- efree(base64_str);
- }
-- EVP_CIPHER_CTX_cleanup(&cipher_ctx);
-+ EVP_CIPHER_CTX_cleanup(cipher_ctx);
-+ EVP_CIPHER_CTX_free(cipher_ctx);
- }
- /* }}} */
-
-@@ -5424,6 +5741,7 @@ PHP_FUNCTION(openssl_dh_compute_key)
- zval *key;
- char *pub_str;
- int pub_len;
-+ DH *dh;
- EVP_PKEY *pkey;
- BIGNUM *pub;
- char *data;
-@@ -5433,14 +5751,21 @@ PHP_FUNCTION(openssl_dh_compute_key)
- return;
- }
- ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, &key, -1, "OpenSSL key", le_key);
-- if (!pkey || EVP_PKEY_type(pkey->type) != EVP_PKEY_DH || !pkey->pkey.dh) {
-+ if (pkey == NULL) {
-+ RETURN_FALSE;
-+ }
-+ if (EVP_PKEY_base_id(pkey) != EVP_PKEY_DH) {
-+ RETURN_FALSE;
-+ }
-+ dh = EVP_PKEY_get0_DH(pkey);
-+ if (dh == NULL) {
- RETURN_FALSE;
- }
-
- pub = BN_bin2bn((unsigned char*)pub_str, pub_len, NULL);
-
-- data = emalloc(DH_size(pkey->pkey.dh) + 1);
-- len = DH_compute_key((unsigned char*)data, pub, pkey->pkey.dh);
-+ data = emalloc(DH_size(dh) + 1);
-+ len = DH_compute_key((unsigned char*)data, pub, dh);
-
- if (len >= 0) {
- data[len] = 0;
-diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c
-index d549033..c2d477c 100644
---- a/ext/openssl/xp_ssl.c
-+++ b/ext/openssl/xp_ssl.c
-@@ -935,7 +935,7 @@ static int set_local_cert(SSL_CTX *ctx, php_stream *stream TSRMLS_DC) /* {{{ */
- static const SSL_METHOD *php_select_crypto_method(long method_value, int is_client TSRMLS_DC) /* {{{ */
- {
- if (method_value == STREAM_CRYPTO_METHOD_SSLv2) {
--#ifndef OPENSSL_NO_SSL2
-+#if !defined(OPENSSL_NO_SSL2) && OPENSSL_VERSION_NUMBER < 0x10100000L
- return is_client ? SSLv2_client_method() : SSLv2_server_method();
- #else
- php_error_docref(NULL TSRMLS_CC, E_WARNING,
-@@ -1588,12 +1588,26 @@ int php_openssl_setup_crypto(php_stream *stream,
- }
- /* }}} */
-
-+#define PHP_SSL_MAX_VERSION_LEN 32
-+
-+static char *php_ssl_cipher_get_version(const SSL_CIPHER *c, char *buffer, size_t max_len) /* {{{ */
-+{
-+ const char *version = SSL_CIPHER_get_version(c);
-+ strncpy(buffer, version, max_len);
-+ if (max_len <= strlen(version)) {
-+ buffer[max_len - 1] = 0;
-+ }
-+ return buffer;
-+}
-+/* }}} */
-+
- static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */
- {
- zval *meta_arr;
- char *proto_str;
- long proto = SSL_version(ssl_handle);
- const SSL_CIPHER *cipher = SSL_get_current_cipher(ssl_handle);
-+ char version_str[PHP_SSL_MAX_VERSION_LEN];
-
- switch (proto) {
- #if OPENSSL_VERSION_NUMBER >= 0x10001001L
-@@ -1611,7 +1625,7 @@ static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */
- add_assoc_string(meta_arr, "protocol", proto_str, 1);
- add_assoc_string(meta_arr, "cipher_name", (char *) SSL_CIPHER_get_name(cipher), 1);
- add_assoc_long(meta_arr, "cipher_bits", SSL_CIPHER_get_bits(cipher, NULL));
-- add_assoc_string(meta_arr, "cipher_version", SSL_CIPHER_get_version(cipher), 1);
-+ add_assoc_string(meta_arr, "cipher_version", php_ssl_cipher_get_version(cipher, version_str, PHP_SSL_MAX_VERSION_LEN), 1);
-
- return meta_arr;
- }
-diff --git a/ext/phar/util.c b/ext/phar/util.c
-index 828be8f..06e4e55 100644
---- a/ext/phar/util.c
-+++ b/ext/phar/util.c
-@@ -1531,7 +1531,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- BIO *in;
- EVP_PKEY *key;
- EVP_MD *mdtype = (EVP_MD *) EVP_sha1();
-- EVP_MD_CTX md_ctx;
-+ EVP_MD_CTX *md_ctx;
- #else
- int tempsig;
- #endif
-@@ -1608,7 +1608,8 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- return FAILURE;
- }
-
-- EVP_VerifyInit(&md_ctx, mdtype);
-+ md_ctx = EVP_MD_CTX_create();
-+ EVP_VerifyInit(md_ctx, mdtype);
- read_len = end_of_phar;
-
- if (read_len > sizeof(buf)) {
-@@ -1620,7 +1621,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- php_stream_seek(fp, 0, SEEK_SET);
-
- while (read_size && (len = php_stream_read(fp, (char*)buf, read_size)) > 0) {
-- EVP_VerifyUpdate (&md_ctx, buf, len);
-+ EVP_VerifyUpdate (md_ctx, buf, len);
- read_len -= (off_t)len;
-
- if (read_len < read_size) {
-@@ -1628,9 +1629,9 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- }
- }
-
-- if (EVP_VerifyFinal(&md_ctx, (unsigned char *)sig, sig_len, key) != 1) {
-+ if (EVP_VerifyFinal(md_ctx, (unsigned char *)sig, sig_len, key) != 1) {
- /* 1: signature verified, 0: signature does not match, -1: failed signature operation */
-- EVP_MD_CTX_cleanup(&md_ctx);
-+ EVP_MD_CTX_destroy(md_ctx);
-
- if (error) {
- spprintf(error, 0, "broken openssl signature");
-@@ -1639,7 +1640,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- return FAILURE;
- }
-
-- EVP_MD_CTX_cleanup(&md_ctx);
-+ EVP_MD_CTX_destroy(md_ctx);
- #endif
-
- *signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC);
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
deleted file mode 100644
index e7d326d7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 003c9feaae6ed5c173edcea51193e49bc94ac39a Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen.kooi@linaro.org>
-Date: Tue, 17 Jun 2014 09:53:00 +0200
-Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config
-
-Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
-Upstream-Status: Pending
----
- acinclude.m4 | 63 ++++++++++++++++++++++--------------------------------------
- 1 file changed, 23 insertions(+), 40 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 206fcbf..a6c0d84 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2530,48 +2530,31 @@ dnl
- dnl Common setup macro for libxml
- dnl
- AC_DEFUN([PHP_SETUP_LIBXML], [
--AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
--[
--
-- ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
--
-+PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [
-+ PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
-+ PHP_EVAL_INCLINE($LIBXML_CFLAGS)
-+
-+ dnl Check that build works with given libs
-+ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
-+ PHP_TEST_BUILD(xmlInitParser,
-+ [
-+ php_cv_libxml_build_works=yes
-+ AC_MSG_RESULT(yes)
-+ ], [
-+ AC_MSG_RESULT(no)
-+ AC_MSG_ERROR([build test failed. Please check the config.log for details.])
-+ ], [
-+ [$]$1
-+ ])
-+ ])
-+ if test "$php_cv_libxml_build_works" = "yes"; then
-+ AC_DEFINE(HAVE_LIBXML, 1, [ ])
-+ fi
-+ $2
-+], [
-+ AC_MSG_ERROR([$LIBXML_PKG_ERRORS])
- ])
-
-- if test -x "$ac_cv_php_xml2_config_path"; then
-- XML2_CONFIG="$ac_cv_php_xml2_config_path"
-- libxml_full_version=`$XML2_CONFIG --version`
-- ac_IFS=$IFS
-- IFS="."
-- set $libxml_full_version
-- IFS=$ac_IFS
-- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
-- if test "$LIBXML_VERSION" -ge "2006011"; then
-- LIBXML_LIBS=`$XML2_CONFIG --libs`
-- LIBXML_INCS=`$XML2_CONFIG --cflags`
-- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
-- PHP_EVAL_INCLINE($LIBXML_INCS)
--
-- dnl Check that build works with given libs
-- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
-- PHP_TEST_BUILD(xmlInitParser,
-- [
-- php_cv_libxml_build_works=yes
-- ], [
-- AC_MSG_RESULT(no)
-- AC_MSG_ERROR([build test failed. Please check the config.log for details.])
-- ], [
-- [$]$1
-- ])
-- ])
-- if test "$php_cv_libxml_build_works" = "yes"; then
-- AC_DEFINE(HAVE_LIBXML, 1, [ ])
-- fi
-- $2
-- else
-- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
-- fi
--ifelse([$3],[],,[else $3])
-- fi
- ])
-
- dnl -------------------------------------------------------------------------
---
-1.9.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch
deleted file mode 100644
index a250cac8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From dfebe81f946a83fe2499fc84d4f3dbdc5612276c Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Tue, 3 Apr 2018 11:35:03 +0800
-Subject: [PATCH] acinclude.m4: don't unset cache variables
-
-Unsetting prevents cache variable from being passed to configure.
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- acinclude.m4 | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index f6a55ec..d3346df 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -1890,8 +1890,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,]))
- dnl
- AC_DEFUN([PHP_CHECK_FUNC_LIB],[
- ifelse($2,,:,[
-- unset ac_cv_lib_$2[]_$1
-- unset ac_cv_lib_$2[]___$1
- unset found
- AC_CHECK_LIB($2, $1, [found=yes], [
- AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
-@@ -1923,8 +1921,6 @@ dnl in the default libraries and as a fall back in the specified library.
- dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS.
- dnl
- AC_DEFUN([PHP_CHECK_FUNC],[
-- unset ac_cv_func_$1
-- unset ac_cv_func___$1
- unset found
-
- AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch
deleted file mode 100644
index 15329261..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From a2d146b8dd9d02f523d1e205d79792626a71dec3 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Mon, 2 Apr 2018 15:27:09 +0800
-Subject: [PATCH] acinclude.m4: skip binconfig check for libxml
-
-We want libxml flags to be picked up using pkg-config instead of the
-xml2-config file.
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
----
- acinclude.m4 | 29 -----------------------------
- 1 file changed, 29 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index d42d708..d32766a 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2525,35 +2525,6 @@ dnl
- AC_DEFUN([PHP_SETUP_LIBXML], [
- found_libxml=no
-
-- dnl First try to find xml2-config
-- AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
-- [
-- for i in $PHP_LIBXML_DIR /usr/local /usr; do
-- if test -x "$i/bin/xml2-config"; then
-- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
-- break
-- fi
-- done
-- ])
--
-- if test -x "$ac_cv_php_xml2_config_path"; then
-- XML2_CONFIG="$ac_cv_php_xml2_config_path"
-- libxml_full_version=`$XML2_CONFIG --version`
-- ac_IFS=$IFS
-- IFS="."
-- set $libxml_full_version
-- IFS=$ac_IFS
-- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
-- if test "$LIBXML_VERSION" -ge "2006011"; then
-- found_libxml=yes
-- LIBXML_LIBS=`$XML2_CONFIG --libs`
-- LIBXML_INCS=`$XML2_CONFIG --cflags`
-- else
-- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
-- fi
-- fi
--
-- dnl If xml2-config fails, try pkg-config
- if test "$found_libxml" = "no"; then
- if test -z "$PKG_CONFIG"; then
- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch
new file mode 100644
index 00000000..2861366a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch
@@ -0,0 +1,30 @@
+From f5a34e771532b8433f307b679500c26af328ba35 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 17 Apr 2020 15:01:57 +0800
+Subject: [PATCH] configure.ac: don't include build/libtool.m4
+
+we delete build/libtool.m4 before do_configure,
+we will use libtool.m4 under ACLOCALDIR
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 06c6a27..f85144e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,7 +6,6 @@ dnl ----------------------------------------------------------------------------
+ m4_include([build/ax_check_compile_flag.m4])
+ m4_include([build/ax_func_which_gethostbyname_r.m4])
+ m4_include([build/ax_gcc_func_attribute.m4])
+-m4_include([build/libtool.m4])
+ m4_include([build/php_cxx_compile_stdcxx.m4])
+ m4_include([build/php.m4])
+ m4_include([build/pkg.m4])
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch
deleted file mode 100644
index 6ab101b4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 0d88d735887c6f2fa00a743c27124c7a52006a41 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sun, 15 Apr 2018 19:17:27 -0700
-Subject: [PATCH] fix error caused by a new variable is declared after the
- label
-
-There is a build failure on mips:
-...
-|sljitNativeMIPS_common.c: In function 'sljit_has_cpu_feature':
-|sljitNativeMIPS_common.c:506:3: error: a label can only be part
-of a statement and a declaration is not a statement
-| sljit_sw fir;
-| ^~~~~~~~
-...
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c b/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c
-index ee207fe..adfd342 100644
---- a/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c
-+++ b/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c
-@@ -498,12 +498,14 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil
-
- SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type)
- {
-+#if defined(__GNUC__)
-+ sljit_sw fir;
-+#endif
- switch (feature_type) {
- case SLJIT_HAS_FPU:
- #ifdef SLJIT_IS_FPU_AVAILABLE
- return SLJIT_IS_FPU_AVAILABLE;
- #elif defined(__GNUC__)
-- sljit_sw fir;
- asm ("cfc1 %0, $0" : "=r"(fir));
- return (fir >> 22) & 0x1;
- #else
---
-2.10.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch
deleted file mode 100644
index fce9738f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 2842aa2a078eb1cad55540b61e7edf111395150d Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-Date: Mon, 26 Feb 2018 19:30:55 +0100
-Subject: [PATCH] main/php_ini.c: build empty php_load_zend_extension_cb() when
- !HAVE_LIBDL
-
-Commit 0782a7fc6314c8bd3cbfd57f12d0479bf9cc8dc7 ("Fixed bug #74866
-extension_dir = "./ext" now use current directory for base") modified
-the php_load_zend_extension_cb() function to use php_load_shlib(), and
-pass a handle to the newly introduced zend_load_extension_handle()
-function instead of passing the extension path to
-zend_load_extension().
-
-While doing so, it introduced a call to php_load_shlib() from code
-that is built even when HAVE_LIBDL is not defined. However,
-php_load_shlib() is not implemented when HAVE_LIBDL is not defined,
-for obvious reasons.
-
-It turns out that zend_load_extension_handle() anyway doesn't do
-anything when ZEND_EXTENSIONS_SUPPORT is defined to 0, and
-ZEND_EXTENSIONS_SUPPORT is not defined when HAVE_LIBDL is not defined
-(Zend/zend_portability.h).
-
-Fixes the following build failure when building on a system that
-doesn't have libdl:
-
-main/php_ini.o: In function `php_load_zend_extension_cb':
-php_ini.c:(.text+0x478): undefined reference to `php_load_shlib'
-php_ini.c:(.text+0x4b0): undefined reference to `php_load_shlib'
-collect2: error: ld returned 1 exit status
-
-Upstream-Status: Backport [http://git.php.net/?p=php-src.git;a=commit;h=2842aa2a078eb1cad55540b61e7edf111395150d]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- main/php_ini.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/main/php_ini.c b/main/php_ini.c
-index ba58eb1..fca263e 100644
---- a/main/php_ini.c
-+++ b/main/php_ini.c
-@@ -350,6 +350,7 @@ static void php_load_php_extension_cb(void *arg)
-
- /* {{{ php_load_zend_extension_cb
- */
-+#ifdef HAVE_LIBDL
- static void php_load_zend_extension_cb(void *arg)
- {
- char *filename = *((char **) arg);
-@@ -409,6 +410,9 @@ static void php_load_zend_extension_cb(void *arg)
- efree(libpath);
- }
- }
-+#else
-+static void php_load_zend_extension_cb(void *arg) { }
-+#endif
- /* }}} */
-
- /* {{{ php_init_config
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
index 0d24d34f..1f3e683a 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
@@ -1,51 +1,55 @@
-From b2fb725dc404d471371731b663234e87cb0fca84 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Mon, 2 Apr 2018 17:54:52 +0800
+From a74b42098aededd296ec6a3cd4cf5a17e59d6f29 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Fri, 8 May 2020 10:15:32 -0400
Subject: [PATCH] opcache/config.m4: enable opcache
-We can't use AC_TRY_RUN to run programs in a cross compile environment. Set
-the variables directly instead since we know that we'd be running on latest
+We can't use AC_TRY_RUN to run programs in a cross compile environment.
+Set
+the variables directly instead since we know that we'd be running on
+latest
enough linux kernel.
Upstream-Status: Inappropriate [Configuration]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+fix issue linking with librt
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
---
- ext/opcache/config.m4 | 349 ++------------------------------------------------
- 1 file changed, 8 insertions(+), 341 deletions(-)
+ ext/opcache/config.m4 | 195 +-----------------------------------------
+ 1 file changed, 4 insertions(+), 191 deletions(-)
diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
-index 7b500f0..10bb99a 100644
+index 6c40cafc1c..6569aa9e1c 100644
--- a/ext/opcache/config.m4
+++ b/ext/opcache/config.m4
-@@ -28,353 +28,20 @@ if test "$PHP_OPCACHE" != "no"; then
-
- AC_CHECK_HEADERS([unistd.h sys/uio.h])
+@@ -23,201 +23,14 @@ if test "$PHP_OPCACHE" != "no"; then
+ AC_CHECK_FUNCS([mprotect])
-- AC_MSG_CHECKING(for sysvipc shared memory support)
-- AC_TRY_RUN([
+ AC_MSG_CHECKING(for sysvipc shared memory support)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <unistd.h>
-#include <string.h>
-+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-
+-
-int main() {
- pid_t pid;
- int status;
- int ipc_id;
- char *shm;
- struct shmid_ds shmbuf;
-+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-
+-
- ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W));
- if (ipc_id == -1) {
- return 1;
- }
-+ AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
-
+-
- shm = shmat(ipc_id, NULL, 0);
- if (shm == (void *)-1) {
- shmctl(ipc_id, IPC_RMID, NULL);
@@ -90,13 +94,14 @@ index 7b500f0..10bb99a 100644
- }
- return 0;
-}
--],dnl
+-]])],[dnl
- AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-- msg=yes,msg=no,msg=no)
+- msg=yes],[msg=no],[msg=no])
- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
-- AC_TRY_RUN([
++ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
+
+ AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/mman.h>
@@ -111,7 +116,8 @@ index 7b500f0..10bb99a 100644
-#ifndef MAP_FAILED
-# define MAP_FAILED ((void*)-1)
-#endif
--
++ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+
-int main() {
- pid_t pid;
- int status;
@@ -142,68 +148,14 @@ index 7b500f0..10bb99a 100644
- }
- return 0;
-}
--],dnl
+-]])],[dnl
- AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
--
-- fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 1;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 2;
-- }
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
-- msg=yes,msg=no,msg=no)
+- msg=yes],[msg=no],[msg=no])
- AC_MSG_RESULT([$msg])
-
-- AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
-- AC_TRY_RUN([
+- PHP_CHECK_FUNC_LIB(shm_open, rt)
+ AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/mman.h>
@@ -225,7 +177,7 @@ index 7b500f0..10bb99a 100644
- char *shm;
- char tmpname[4096];
-
-- sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
+- sprintf(tmpname,"/opcache.test.shm.%dXXXXXX", getpid());
- if (mktemp(tmpname) == NULL) {
- return 1;
- }
@@ -266,120 +218,20 @@ index 7b500f0..10bb99a 100644
- }
- return 0;
-}
--],dnl
+-]])],[dnl
- AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
+- AC_MSG_RESULT([yes])
+- PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
+- ],[
+- AC_MSG_RESULT([no])
+- ],[
+- AC_MSG_RESULT([no])
+- ])
+ AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
++ PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
- AC_MSG_CHECKING(for mmap() using regular file shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--#include <stdlib.h>
--#include <stdio.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
-- char tmpname[4096];
--
-- sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
-- if (mktemp(tmpname) == NULL) {
-- return 1;
-- }
-- fd = open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 2;
-- }
-- if (ftruncate(fd, 4096) < 0) {
-- close(fd);
-- unlink(tmpname);
-- return 3;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 4;
-- }
-- unlink(tmpname);
-- close(fd);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
--flock_type=unknown
--AC_MSG_CHECKING("whether flock struct is linux ordered")
--AC_TRY_RUN([
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
-- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) {
-- return 0;
-- }
-- return 1;
-- }
--], [
-- flock_type=linux
-- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-- AC_MSG_RESULT("yes")
--], AC_MSG_RESULT("no") )
-+
-+ AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
-
--AC_MSG_CHECKING("whether flock struct is BSD ordered")
--AC_TRY_RUN([
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
-- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) {
-- return 0;
-- }
-- return 1;
-- }
--], [
-- flock_type=bsd
-- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type])
-- AC_MSG_RESULT("yes")
--], AC_MSG_RESULT("no") )
-+ flock_type=linux
-+ AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-
- if test "$flock_type" = "unknown"; then
- AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])
+ PHP_NEW_EXTENSION(opcache,
+ ZendAccelerator.c \
--
-2.7.4
+2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
index 2f7d5815..d6873736 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
@@ -4,17 +4,20 @@ Date: Thu, 3 Nov 2011 14:27:15 +0100
Subject: [PATCH 2/8] php: don't use broken wrapper for mkdir
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
Upstream-Status: Inappropriate
- Makefile.global | 2 +-
+ build/Makefile.global | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/Makefile.global b/Makefile.global
+diff --git a/build/Makefile.global b/build/Makefile.global
index ff858c2..ae554b4 100644
---- a/Makefile.global
-+++ b/Makefile.global
+--- a/build/Makefile.global
++++ b/build/Makefile.global
@@ -1,4 +1,4 @@
-mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
+mkinstalldirs = mkdir -p
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch
new file mode 100644
index 00000000..0d721ec5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch
@@ -0,0 +1,39 @@
+php.m4: don't unset cache variables
+
+Unsetting prevents cache variable from being passed to configure.
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+update this patch to 7.4.4, acinclude.m4 move to build/php.m4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ build/php.m4 | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/build/php.m4 b/build/php.m4
+index 5c45d13..218ec47 100644
+--- a/build/php.m4
++++ b/build/php.m4
+@@ -1587,8 +1587,6 @@ dnl PHP_CHECK_FUNC_LIB
+ dnl
+ AC_DEFUN([PHP_CHECK_FUNC_LIB],[
+ ifelse($2,,:,[
+- unset ac_cv_lib_$2[]_$1
+- unset ac_cv_lib_$2[]___$1
+ unset found
+ AC_CHECK_LIB($2, $1, [found=yes], [
+ AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
+@@ -1620,8 +1618,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and
+ dnl HAVE_library if found and adds the library to LIBS.
+ dnl
+ AC_DEFUN([PHP_CHECK_FUNC],[
+- unset ac_cv_func_$1
+- unset ac_cv_func___$1
+ unset found
+
+ AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf
deleted file mode 100644
index 1de6fb11..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-# vim: ft=apache sw=4 ts=4
-<IfDefine PHP5>
- # Load the module first
- <IfModule !sapi_apache2.c>
- LoadModule php5_module lib/apache2/modules/libphp5.so
- </IfModule>
-
- # Set it to handle the files
- AddHandler php5-script .php .phtml .php3 .php4 .php5
- AddType application/x-httpd-php-source .phps
- DirectoryIndex index.html index.html.var index.php index.phtml
-</IfDefine>
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch
deleted file mode 100644
index 728f25bb..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-php: patch for CVE-2017-9120
-
-Upstream-Status: Backport [https://bugs.php.net/bug.php?id=74544]
-
-CVE: CVE-2017-9120
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
-index 03a39d7..7b88731 100644
---- a/ext/mysqli/mysqli_api.c
-+++ b/ext/mysqli/mysqli_api.c
-@@ -1965,7 +1965,7 @@ PHP_FUNCTION(mysqli_real_escape_string) {
- }
- MYSQLI_FETCH_RESOURCE_CONN(mysql, mysql_link, MYSQLI_STATUS_VALID);
-
-- newstr = zend_string_alloc(2 * escapestr_len, 0);
-+ newstr = zend_string_safe_alloc(2, escapestr_len, 0, 0);
- ZSTR_LEN(newstr) = mysql_real_escape_string(mysql->mysql, ZSTR_VAL(newstr), escapestr, escapestr_len);
- newstr = zend_string_truncate(newstr, ZSTR_LEN(newstr), 0);
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
deleted file mode 100644
index d0831669..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream-Status: Pending
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 4fd452e..206fcbf 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2532,12 +2532,9 @@ dnl
- AC_DEFUN([PHP_SETUP_LIBXML], [
- AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
- [
-- for i in $PHP_LIBXML_DIR /usr/local /usr; do
-- if test -x "$i/bin/xml2-config"; then
-- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
-- break
-- fi
-- done
-+
-+ ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
-+
- ])
-
- if test -x "$ac_cv_php_xml2_config_path"; then
---
-1.9.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
deleted file mode 100644
index 3e901841..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 3bfcc7fdd22261eaed10949714de0a90d31e10ab Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Thu, 20 Aug 2015 16:29:35 +0800
-Subject: [PATCH] [PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
-
-Upstream-Status: Pending
-
-AC_TRY_RUN is not suitable for cross-compile
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-
-%% original patch: change-AC_TRY_RUN-to-AC_TRY_LINK.patch
----
- ext/fileinfo/config.m4 | 31 ++++++-------------------------
- 1 file changed, 6 insertions(+), 25 deletions(-)
-
-diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
-index 523b4fd..0aaa4c8 100644
---- a/ext/fileinfo/config.m4
-+++ b/ext/fileinfo/config.m4
-@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
- libmagic/readcdf.c libmagic/softmagic.c libmagic/der.c"
-
- AC_MSG_CHECKING([for strcasestr])
-- AC_TRY_RUN([
--#include <string.h>
--#include <strings.h>
--#include <stdlib.h>
--
--int main(void)
--{
-- char *s0, *s1, *ret;
--
-- s0 = (char *) malloc(42);
-- s1 = (char *) malloc(8);
--
-- memset(s0, 'X', 42);
-- s0[24] = 'Y';
-- s0[26] = 'Z';
-- s0[41] = '\0';
-- memset(s1, 'x', 8);
-- s1[0] = 'y';
-- s1[2] = 'Z';
-- s1[7] = '\0';
--
-- ret = strcasestr(s0, s1);
--
-- return !(NULL != ret);
--}
-+ AC_TRY_COMPILE([
-+ #include <string.h>
-+ #include <strings.h>
-+ #include <stdlib.h>
-+ ],[
-+ strcasestr(NULL, NULL);
- ],[
- dnl using the platform implementation
- AC_MSG_RESULT(yes)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch
new file mode 100755
index 00000000..21050f76
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch
@@ -0,0 +1,31 @@
+php: remove host specific info from header file
+
+https://sources.debian.org/data/main/p/php7.3/7.3.6-1/debian/patches/
+ 0036-php-5.4.9-fixheader.patch
+
+Upstream-Status: Inappropriate [not author]
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+---
+From: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>
+Date: Sat, 2 May 2015 10:26:56 +0200
+Subject: php-5.4.9-fixheader
+
+Make generated php_config.h constant across rebuilds.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 433d7e6..41893d7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1357,7 +1357,7 @@ PHP_BUILD_DATE=`date -u +%Y-%m-%d`
+ fi
+ AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
+
+-PHP_UNAME=`uname -a | xargs`
++PHP_UNAME=`uname | xargs`
+ AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
+ PHP_OS=`uname | xargs`
+ AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
index ecf7d872..9ec8a89b 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
@@ -1,32 +1,33 @@
-From 17cc5645f3acf943a5a06465d09d0ebcfea987bd Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Pending
+Subject: [PATCH] From 17cc5645f3acf943a5a06465d09d0ebcfea987bd Mon Sep 17
+ 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
+ 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Pending
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- acinclude.m4 | 3 ++-
+ build/php.m4 | 3 ++-
ext/iconv/config.m4 | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
-diff --git a/acinclude.m4 b/acinclude.m4
-index d32766a..ad5166e 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2445,7 +2445,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
- dnl Check libc first if no path is provided in --with-iconv
- dnl
+diff --git a/build/php.m4 b/build/php.m4
+index 7392876..5c45d13 100644
+--- a/build/php.m4
++++ b/build/php.m4
+@@ -1950,7 +1950,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
+ echo > ext/iconv/php_iconv_supports_errno.h
+ dnl Check libc first if no path is provided in --with-iconv.
- if test "$PHP_ICONV" = "yes"; then
+ dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes
+ if test "$PHP_ICONV" != "no"; then
- dnl Reset LIBS temporarily as it may have already been included
- dnl -liconv in.
+ dnl Reset LIBS temporarily as it may have already been included -liconv in.
LIBS_save="$LIBS"
+ LIBS=
diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
-index 6a05697..973e750 100644
+index fe9b47a..b6b632f 100644
--- a/ext/iconv/config.m4
+++ b/ext/iconv/config.m4
-@@ -15,7 +15,7 @@ if test "$PHP_ICONV" != "no"; then
+@@ -14,7 +14,7 @@ if test "$PHP_ICONV" != "no"; then
if test "$iconv_avail" != "no"; then
if test -z "$ICONV_DIR"; then
@@ -35,3 +36,6 @@ index 6a05697..973e750 100644
if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
PHP_ICONV_PREFIX="$i"
break
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
index 16359af9..ebe5f6a9 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
@@ -1,32 +1,19 @@
-From c084c8349d1780980e232cb28b60a109e3d89438 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Pending
+Subject: [PATCH] From c084c8349d1780980e232cb28b60a109e3d89438 Mon Sep 17
+ 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
+ 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Pending
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- acinclude.m4 | 2 +-
ext/imap/config.m4 | 10 ++--------
- 2 files changed, 3 insertions(+), 9 deletions(-)
+ 1 file changed, 2 insertions(+), 8 deletions(-)
-diff --git a/acinclude.m4 b/acinclude.m4
-index ad5166e..f6a55ec 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2350,7 +2350,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
- fi
-
-- for i in $PHP_OPENSSL_DIR; do
-+ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do
- if test -r $i/include/openssl/evp.h; then
- OPENSSL_INCDIR=$i/include
- fi
diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
-index badb6e2..8ff803c 100644
+index 5086a31..0e938bd 100644
--- a/ext/imap/config.m4
+++ b/ext/imap/config.m4
-@@ -109,7 +109,7 @@ if test "$PHP_IMAP" != "no"; then
- PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
+@@ -110,7 +110,7 @@ if test "$PHP_IMAP" != "no"; then
+ PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
AC_DEFINE(HAVE_IMAP,1,[ ])
- for i in $PHP_IMAP /usr/local /usr; do
@@ -34,7 +21,7 @@ index badb6e2..8ff803c 100644
IMAP_INC_CHK()
el[]IMAP_INC_CHK(/include/c-client)
el[]IMAP_INC_CHK(/include/imap)
-@@ -198,13 +198,7 @@ if test "$PHP_IMAP" != "no"; then
+@@ -199,13 +199,7 @@ if test "$PHP_IMAP" != "no"; then
AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
fi
@@ -49,3 +36,6 @@ index badb6e2..8ff803c 100644
IMAP_LIB=$lib
IMAP_LIB_CHK($PHP_LIBDIR)
IMAP_LIB_CHK(c-client)
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
index 336cf0d6..eb73bc44 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
@@ -1,24 +1,25 @@
-From 08962a56f69963e01892d98ca5b75de8354bd3f5 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Fix phar packaging
+Subject: [PATCH] From 08962a56f69963e01892d98ca5b75de8354bd3f5 Mon Sep 17
+ 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
+ 2011 16:54:57 +0100 Subject: [PATCH] Fix phar packaging
Inherited from OE-Classic, with some additions to fix host paths leaking
into the target package.
Upstream-Status: Inappropriate [config]
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
ext/phar/Makefile.frag | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
-index 0e3713f..22f7898 100644
+index 6442f33..6145412 100644
--- a/ext/phar/Makefile.frag
+++ b/ext/phar/Makefile.frag
@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
- PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
+ PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
PHP_PHARCMD_EXECUTABLE = ` \
- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
@@ -34,9 +35,12 @@ index 0e3713f..22f7898 100644
- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
- fi;`
-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
-+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
++ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
+
+PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
$(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
-@test -d $(builddir)/phar || mkdir $(builddir)/phar
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
index 77cdd82a..f7f46d20 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
@@ -1,6 +1,6 @@
# Taken from http://wiki.apache.org/httpd/PHP-FPM
-LoadModule proxy_module lib/apache2/modules/mod_proxy.so
-LoadModule proxy_fcgi_module lib/apache2/modules/mod_proxy_fcgi.so
+LoadModule proxy_module /usr/libexec/apache2/modules/mod_proxy.so
+LoadModule proxy_fcgi_module /usr/libexec/apache2/modules/mod_proxy_fcgi.so
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/apache2/htdocs/
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch
deleted file mode 100644
index 7be67ea9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch
+++ /dev/null
@@ -1,387 +0,0 @@
-From fafcfac0933c17e1bf551600080eb0541186caf5 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Mon, 2 Apr 2018 17:54:52 +0800
-Subject: [PATCH] opcache/config.m4: enable opcache
-
-We can't use AC_TRY_RUN to run programs in a cross compile environment. Set
-the variables directly instead since we know that we'd be running on latest
-enough linux kernel.
-
-Upstream-Status: Inappropriate [Configuration]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
-%% original patch: php5-0001-opcache-config.m4-enable-opcache.patch
----
- ext/opcache/config.m4 | 349 ++------------------------------------------------
- 1 file changed, 8 insertions(+), 341 deletions(-)
-
-diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
-index 5a8b86c..6e87fa5 100644
---- a/ext/opcache/config.m4
-+++ b/ext/opcache/config.m4
-@@ -11,353 +11,20 @@ if test "$PHP_OPCACHE" != "no"; then
- AC_DEFINE(HAVE_MPROTECT, 1, [Define if you have mprotect() function])
- ])
-
-- AC_MSG_CHECKING(for sysvipc shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/ipc.h>
--#include <sys/shm.h>
--#include <unistd.h>
--#include <string.h>
-+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-
--int main() {
-- pid_t pid;
-- int status;
-- int ipc_id;
-- char *shm;
-- struct shmid_ds shmbuf;
-+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-
-- ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W));
-- if (ipc_id == -1) {
-- return 1;
-- }
-+ AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
-
-- shm = shmat(ipc_id, NULL, 0);
-- if (shm == (void *)-1) {
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 2;
-- }
--
-- if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) {
-- shmdt(shm);
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 3;
-- }
--
-- shmbuf.shm_perm.uid = getuid();
-- shmbuf.shm_perm.gid = getgid();
-- shmbuf.shm_perm.mode = 0600;
--
-- if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) {
-- shmdt(shm);
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 4;
-- }
--
-- shmctl(ipc_id, IPC_RMID, NULL);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <unistd.h>
--#include <string.h>
--
--#ifndef MAP_ANON
--# ifdef MAP_ANONYMOUS
--# define MAP_ANON MAP_ANONYMOUS
--# endif
--#endif
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- char *shm;
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
-- if (shm == MAP_FAILED) {
-- return 1;
-- }
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
--
-- fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 1;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 2;
-- }
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--#include <stdlib.h>
--#include <stdio.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
-- char tmpname[4096];
--
-- sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
-- if (mktemp(tmpname) == NULL) {
-- return 1;
-- }
-- fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 2;
-- }
-- if (ftruncate(fd, 4096) < 0) {
-- close(fd);
-- shm_unlink(tmpname);
-- return 3;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 4;
-- }
-- shm_unlink(tmpname);
-- close(fd);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
-+ AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-
- AC_MSG_CHECKING(for mmap() using regular file shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--#include <stdlib.h>
--#include <stdio.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
-- char tmpname[4096];
--
-- sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
-- if (mktemp(tmpname) == NULL) {
-- return 1;
-- }
-- fd = open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 2;
-- }
-- if (ftruncate(fd, 4096) < 0) {
-- close(fd);
-- unlink(tmpname);
-- return 3;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 4;
-- }
-- unlink(tmpname);
-- close(fd);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
--flock_type=unknown
--AC_MSG_CHECKING("whether flock struct is linux ordered")
--AC_TRY_RUN([
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
-- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) {
-- return 0;
-- }
-- return 1;
-- }
--], [
-- flock_type=linux
-- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-- AC_MSG_RESULT("yes")
--], AC_MSG_RESULT("no") )
-+
-+ AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
-
--AC_MSG_CHECKING("whether flock struct is BSD ordered")
--AC_TRY_RUN([
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
-- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) {
-- return 0;
-- }
-- return 1;
-- }
--], [
-- flock_type=bsd
-- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type])
-- AC_MSG_RESULT("yes")
--], AC_MSG_RESULT("no") )
-+ flock_type=linux
-+ AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-
- if test "$flock_type" = "unknown"; then
- AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
deleted file mode 100644
index 1d21f8c5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 5f49987e88dfcbdb84be6e0c9025432fbd998709 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Thu, 20 Aug 2015 16:29:35 +0800
-Subject: [PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
-
-Upstream-Status: Pending
-
-AC_TRY_RUN is not suitable for cross-compile
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-
-%% original patch: change-AC_TRY_RUN-to-AC_TRY_LINK.patch
-
-%% original patch: php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
----
- ext/fileinfo/config.m4 | 31 ++++++-------------------------
- 1 file changed, 6 insertions(+), 25 deletions(-)
-
-diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
-index 7e98d62..8a8ea0e 100644
---- a/ext/fileinfo/config.m4
-+++ b/ext/fileinfo/config.m4
-@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
- libmagic/readcdf.c libmagic/softmagic.c"
-
- AC_MSG_CHECKING([for strcasestr])
-- AC_TRY_RUN([
--#include <string.h>
--#include <strings.h>
--#include <stdlib.h>
--
--int main(void)
--{
-- char *s0, *s1, *ret;
--
-- s0 = (char *) malloc(42);
-- s1 = (char *) malloc(8);
--
-- memset(s0, 'X', 42);
-- s0[24] = 'Y';
-- s0[26] = 'Z';
-- s0[41] = '\0';
-- memset(s1, 'x', 8);
-- s1[0] = 'y';
-- s1[2] = 'Z';
-- s1[7] = '\0';
--
-- ret = strcasestr(s0, s1);
--
-- return !(NULL != ret);
--}
-+ AC_TRY_COMPILE([
-+ #include <string.h>
-+ #include <strings.h>
-+ #include <stdlib.h>
-+ ],[
-+ strcasestr(NULL, NULL);
- ],[
- dnl using the platform implementation
- AC_MSG_RESULT(yes)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch
deleted file mode 100644
index 99743030..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 79725e82d5981fc94eb657f0f46a499dbfc1cc40 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Pending
-
-%% original patch: php5-pear-makefile.patch
----
- pear/Makefile.frag | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pear/Makefile.frag b/pear/Makefile.frag
-index 00bacae..739eeca 100644
---- a/pear/Makefile.frag
-+++ b/pear/Makefile.frag
-@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
- PEAR_SUFFIX = -ds a$(program_suffix)
-
- install-pear-installer: $(SAPI_CLI_PATH)
-- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
-+ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
-
- install-pear:
- @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch
deleted file mode 100644
index 4e1efd40..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 3ea626a8d081f56b01004b7992534d4e6b81a9cc Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Fix phar packaging
-
-Inherited from OE-Classic, with some additions to fix host paths leaking
-into the target package.
-
-Upstream-Status: Inappropriate [config]
-
-%% original patch: php5-phar-makefile.patch
----
- ext/phar/Makefile.frag | 17 +++--------------
- 1 file changed, 3 insertions(+), 14 deletions(-)
-
-diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
-index b8b1b42..1005b2d 100644
---- a/ext/phar/Makefile.frag
-+++ b/ext/phar/Makefile.frag
-@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
-
- PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
- PHP_PHARCMD_EXECUTABLE = ` \
-- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
-- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
-- if test "x$(PHP_MODULES)" != "x"; then \
-- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
-- for i in bz2 zlib phar; do \
-- if test -f "$(top_builddir)/modules/$$i.la"; then \
-- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
-- fi; \
-- done; \
-- fi; \
-- else \
-- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
-- fi;`
--PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
-+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
-+
-+PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
-
- $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
- -@test -d $(builddir)/phar || mkdir $(builddir)/phar
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
index 80409000..4aec4812 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
@@ -1,22 +1,26 @@
-From d251b5aa3d23803d016ca16818e2e1d2f2b70a02 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Inappriate
+Subject: [PATCH] rom d251b5aa3d23803d016ca16818e2e1d2f2b70a02 Mon Sep 17
+ 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
+ 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Inappriate
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
sapi/cli/config.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
-index 2168151..20a81db 100644
+index 917d45f..aaf1e27 100644
--- a/sapi/cli/config.m4
+++ b/sapi/cli/config.m4
-@@ -50,7 +50,7 @@ if test "$PHP_CLI" != "no"; then
+@@ -47,7 +47,7 @@ if test "$PHP_CLI" != "no"; then
esac
- dnl Set executable for tests
+ dnl Set executable for tests.
- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
+ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
PHP_SUBST(PHP_EXECUTABLE)
- dnl Expose to Makefile
+ dnl Expose to Makefile.
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch
deleted file mode 100644
index 0c564cd8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d8067ceacbf54e79c9c6b68675332c09eaa0b55d Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 8 Apr 2013 14:29:51 +0800
-Subject: [PATCH] pthread-check
-
-Enable pthreads support when cross-compiling
-
-Upstream-Status: Inapproprate [config]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- TSRM/threads.m4 | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/TSRM/threads.m4 b/TSRM/threads.m4
-index 38494ce..15d9454 100644
---- a/TSRM/threads.m4
-+++ b/TSRM/threads.m4
-@@ -86,7 +86,7 @@ int main() {
- pthreads_working=no
- ], [
- dnl For cross compiling running this test is of no use. NetWare supports pthreads
-- pthreads_working=no
-+ pthreads_working=yes
- case $host_alias in
- *netware*)
- pthreads_working=yes
---
-1.7.4.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch
new file mode 100644
index 00000000..21057439
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch
@@ -0,0 +1,34 @@
+php-ptest: xfail two tests
+
+If and when these tests are modified to expect the correct output, they will
+succeed and generate warnings in the test summary. This patch can then be removed.
+
+Note that we add a closing '?>' to one test so that it can be executed directly by php.
+
+Upstream-Status: Pending
+
+Signed-off-By: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/tests/basic/bug71273.phpt
++++ b/tests/basic/bug71273.phpt
+@@ -16,6 +16,8 @@ Bug #71273 A wrong ext directory setup i
+ var_dump(preg_match(",.+a[\\/].+[\\/]w.php_kartoffelbrei.dll.+,s", $out));
+ ?>
+ ==DONE==
++--XFAIL--
++Output is int(0), not int(1)
+ --EXPECT--
+ int(1)
+ ==DONE==
+--- a/tests/run-test/bug75042-3.phpt
++++ b/tests/run-test/bug75042-3.phpt
+@@ -8,5 +8,8 @@ display_errors=1
+ nonexistentsharedmodule
+ --FILE--
+ <?php
++?>
++--XFAIL--
++No warning message printed.
+ --EXPECTF--
+ PHP Warning: PHP Startup: Unable to load dynamic library '%snonexistentsharedmodule.%s' %A
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb b/external/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb
deleted file mode 100644
index d6f51454..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
-
-SRC_URI += "file://php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
- file://pthread-check-threads-m4.patch \
- file://0001-Add-lpthread-to-link.patch \
- file://acinclude-xml2-config.patch \
- file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \
- file://0001-PHP-5.6-LibSSL-1.1-compatibility.patch \
- "
-
-SRC_URI_append_class-target = " \
- file://php5-pear-makefile.patch \
- file://php5-phar-makefile.patch \
- file://php5-0001-opcache-config.m4-enable-opcache.patch \
- "
-
-SRC_URI[md5sum] = "5b98aa066567eca8e5738b8ef4a3545c"
-SRC_URI[sha256sum] = "d65b231bbdd63be4439ef5ced965cfd63e62983429dbd4dfcfb49981593ebc03"
-
-DEPENDS += "libmcrypt"
-EXTRA_OECONF += "--with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
- "
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb b/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb
deleted file mode 100644
index 8dc64bb8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=67e369bc8d1f2e641236b8002039a6a2"
-
-SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
- file://0001-acinclude.m4-skip-binconfig-check-for-libxml.patch \
- file://0001-fix-error-caused-by-a-new-variable-is-declared-after.patch \
- file://CVE-2017-9120.patch \
- "
-SRC_URI_append_class-target = " \
- file://pear-makefile.patch \
- file://phar-makefile.patch \
- file://0001-opcache-config.m4-enable-opcache.patch \
- "
-
-SRC_URI[md5sum] = "0ce8ff615bfb9de7a89bab8d742c11c0"
-SRC_URI[sha256sum] = "01b6129a0921a1636b07da9bc598a876669e45a462cef4b5844fc26862dbda9d"
-
-PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
- --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
- ,--without-mysqli --without-pdo-mysql \
- ,mysql5"
-PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind"
-
-FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb
new file mode 100644
index 00000000..1d93902e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.4.bb
@@ -0,0 +1,275 @@
+SUMMARY = "A server-side, HTML-embedded scripting language"
+HOMEPAGE = "http://www.php.net"
+SECTION = "console/network"
+
+LICENSE = "PHP-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7e571b888d585b31f9ef5edcc647fa30"
+
+BBCLASSEXTEND = "native"
+DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native"
+DEPENDS_class-native = "zlib-native libxml2-native"
+
+PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}"
+
+SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
+ file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
+ file://debian-php-fixheader.patch \
+ file://0001-configure.ac-don-t-include-build-libtool.m4.patch \
+ file://0001-php.m4-don-t-unset-cache-variables.patch \
+ "
+
+SRC_URI_append_class-target = " \
+ file://iconv.patch \
+ file://imap-fix-autofoo.patch \
+ file://php_exec_native.patch \
+ file://php-fpm.conf \
+ file://php-fpm-apache.conf \
+ file://70_mod_php${PHP_MAJOR_VERSION}.conf \
+ file://php-fpm.service \
+ file://pear-makefile.patch \
+ file://phar-makefile.patch \
+ file://0001-opcache-config.m4-enable-opcache.patch \
+ file://xfail_two_bug_tests.patch \
+ "
+S = "${WORKDIR}/php-${PV}"
+SRC_URI[md5sum] = "262c258a3b8b5699fcca89a64e58758c"
+SRC_URI[sha256sum] = "308e8f4182ec8a2767b0b1b8e1e7c69fb149b37cfb98ee4a37475e082fa9829f"
+
+inherit autotools pkgconfig python3native gettext
+
+# phpize is not scanned for absolute paths by default (but php-config is).
+#
+SSTATE_SCAN_FILES += "phpize"
+SSTATE_SCAN_FILES += "build-defs.h"
+
+PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}"
+
+# Common EXTRA_OECONF
+COMMON_EXTRA_OECONF = "--enable-sockets \
+ --enable-pcntl \
+ --enable-shared \
+ --disable-rpath \
+ --with-pic \
+ --libdir=${PHP_LIBDIR} \
+"
+EXTRA_OECONF = "--enable-mbstring \
+ --enable-fpm \
+ --with-libdir=${baselib} \
+ --with-gettext=${STAGING_LIBDIR}/.. \
+ --with-zlib=${STAGING_LIBDIR}/.. \
+ --with-iconv=${STAGING_LIBDIR}/.. \
+ --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
+ --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
+ ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
+ ${COMMON_EXTRA_OECONF} \
+"
+
+EXTRA_OECONF_append_riscv64 = " --with-pcre-jit=no"
+EXTRA_OECONF_append_riscv32 = " --with-pcre-jit=no"
+
+CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes"
+
+EXTRA_OECONF_class-native = " \
+ --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
+ --without-iconv \
+ ${COMMON_EXTRA_OECONF} \
+"
+
+PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
+"
+PACKAGECONFIG_class-native = ""
+
+PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip"
+
+PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
+ --with-pdo-mysql=mysqlnd \
+ ,--without-mysqli --without-pdo-mysql \
+ ,mysql5"
+
+PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
+ --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
+ ,--without-sqlite3 --without-pdo-sqlite \
+ ,sqlite3"
+PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
+PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2"
+PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
+PACKAGECONFIG[pam] = ",,libpam"
+PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
+ --with-imap-ssl=${STAGING_DIR_HOST} \
+ ,--without-imap --without-imap-ssl \
+ ,uw-imap"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
+PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind"
+PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma"
+
+export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
+export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
+CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
+
+# Adding these flags enables dynamic library support, which is disabled by
+# default when cross compiling
+# See https://bugs.php.net/bug.php?id=60109
+CFLAGS += " -DHAVE_LIBDL "
+LDFLAGS += " -ldl "
+
+EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
+
+acpaths = ""
+
+do_configure_prepend () {
+ rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
+ find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!'
+}
+
+do_configure_append() {
+ # No, libtool, we really don't want rpath set...
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool
+}
+
+do_install_append_class-native() {
+ rm -rf ${D}/${PHP_LIBDIR}/php/.registry
+ rm -rf ${D}/${PHP_LIBDIR}/php/.channels
+ rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]*
+}
+
+do_install_prepend() {
+ cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \
+ ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4
+}
+
+do_install_prepend_class-target() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
+ # Install dummy config file so apxs doesn't fail
+ install -d ${D}${sysconfdir}/apache2
+ printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf
+ fi
+}
+
+# fixme
+do_install_append_class-target() {
+ install -d ${D}${sysconfdir}/
+ rm -rf ${D}/${TMPDIR}
+ rm -rf ${D}/.registry
+ rm -rf ${D}/.channels
+ rm -rf ${D}/.[a-z]*
+ rm -rf ${D}/var
+ rm -f ${D}/${sysconfdir}/php-fpm.conf.default
+ 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
+ install -d ${D}${sysconfdir}/init.d
+ sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
+ install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+ ${D}${systemd_unitdir}/system/php-fpm.service
+ fi
+
+ TMP=`dirname ${D}/${TMPDIR}`
+ while test ${TMP} != ${D}; do
+ if [ -d ${TMP} ]; then
+ rmdir ${TMP}
+ fi
+ TMP=`dirname ${TMP}`;
+ done
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/apache2/modules.d
+ install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}
+ install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d
+ sed -i s,lib/,${libexecdir}/, ${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-php${PHP_MAJOR_VERSION}/php.ini
+ rm -f ${D}${sysconfdir}/apache2/httpd.conf*
+ fi
+}
+
+SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess"
+
+php_sysroot_preprocess () {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+
+ sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize
+ sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config
+}
+
+MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
+
+PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}"
+
+RDEPENDS_${PN} += "libgcc"
+RDEPENDS_${PN}-pear = "${PN}"
+RDEPENDS_${PN}-phar = "${PN}-cli"
+RDEPENDS_${PN}-cli = "${PN}"
+RDEPENDS_${PN}-modphp = "${PN} apache2"
+RDEPENDS_${PN}-opcache = "${PN}"
+
+INITSCRIPT_PACKAGES = "${PN}-fpm"
+inherit update-rc.d
+
+FILES_${PN}-dbg =+ "${bindir}/.debug \
+ ${libexecdir}/apache2/modules/.debug"
+FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc"
+FILES_${PN}-cli = "${bindir}/php"
+FILES_${PN}-phar = "${bindir}/phar*"
+FILES_${PN}-cgi = "${bindir}/php-cgi"
+FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default"
+FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
+CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf"
+CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
+INITSCRIPT_NAME_${PN}-fpm = "php-fpm"
+INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60"
+FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \
+ ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \
+ ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \
+ ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \
+ ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \
+ ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \
+ ${PHP_LIBDIR}/php/data/PEAR \
+ ${sysconfdir}/pear.conf"
+FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \
+ ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \
+ ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \
+ ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test"
+FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a"
+FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}"
+FILES_${PN} = "${PHP_LIBDIR}/php"
+FILES_${PN} += "${bindir} ${libexecdir}/apache2"
+
+SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server"
+FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}"
+
+MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}"
+RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+
+do_install_append_class-native() {
+ create_wrapper ${D}${bindir}/php \
+ PHP_PEAR_SYSCONF_DIR=${sysconfdir}/
+}
+
+
+# Fails to build with thumb-1 (qemuarm)
+# | {standard input}: Assembler messages:
+# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3'
+# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
+# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3'
+# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
+# | make: *** [ext/standard/math.lo] Error 1
+ARM_INSTRUCTION_SET = "arm"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
new file mode 100644
index 00000000..7d693b36
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Ply: A light-weight dynamic tracer for eBPF"
+HOMEPAGE = "https://github.com/iovisor/ply"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "bison-native"
+
+SRC_URI = "git://github.com/iovisor/ply"
+SRCREV = "aa5b9ac31307ec1acece818be334ef801c802a12"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+COMPATIBLE_HOST = "(x86_64.*|aarch64.*|arm.*|powerpc.*)-linux"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
index 8491fc90..9afcbbb7 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
@@ -18,7 +18,7 @@ S = "${WORKDIR}/git"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN} = "acpixtract"
+ALTERNATIVE_${PN} = "acpixtract acpidump"
do_configure[noexec] = "1"
do_compile() {
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch
new file mode 100644
index 00000000..4fc7703d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch
@@ -0,0 +1,36 @@
+From 216e31260b618ec73862f9f5336597f391444dac Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sun, 29 Sep 2019 17:20:42 +0800
+Subject: [PATCH] avoid race condition
+
+It's possible that the cxx-generate-packed-data.cc is compiled
+while the t/test-full.pb.h is being generated. This will result
+the following error.
+
+ DEBUG: ./t/test-full.pb.h:4:0: error: unterminated #ifndef
+ ./t/test-full.pb.h:4:0: error: unterminated #ifndef
+
+Add a dependency to avoid such problem.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index b0cb065..1608ae0 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -156,6 +156,7 @@ noinst_PROGRAMS += \
+ t_generated_code2_cxx_generate_packed_data_SOURCES = \
+ t/generated-code2/cxx-generate-packed-data.cc \
+ t/test-full.pb.cc
++t/generated-code2/cxx-generate-packed-data.cc: t/test-full.pb.h
+ $(t_generated_code2_cxx_generate_packed_data_OBJECTS): t/test-full.pb.h
+ t_generated_code2_cxx_generate_packed_data_CXXFLAGS = \
+ $(AM_CXXFLAGS) \
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
deleted file mode 100644
index 7ef03009..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
-DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
-serialization format. It includes libprotobuf-c, a pure C library that \
-implements protobuf encoding and decoding, and protoc-c, a code generator that \
-converts Protocol Buffer .proto files to C descriptor code, based on the \
-original protoc. protobuf-c formerly included an RPC implementation; that code \
-has been split out into the protobuf-c-rpc project."
-HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
-SECTION = "console/tools"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
-
-DEPENDS = "protobuf-native protobuf"
-
-PV .= "+git${SRCPV}"
-SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff"
-
-SRC_URI = "git://github.com/protobuf-c/protobuf-c.git"
-
-S = "${WORKDIR}/git"
-
-#make sure c++11 is used
-CXXFLAGS += "-std=c++11"
-BUILD_CXXFLAGS += "-std=c++11"
-
-inherit autotools pkgconfig
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-
-FILES_${PN}-compiler = "${bindir}"
-
-RDEPENDS_${PN}-compiler = "protobuf-compiler"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb
new file mode 100644
index 00000000..ed877344
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
+serialization format. It includes libprotobuf-c, a pure C library that \
+implements protobuf encoding and decoding, and protoc-c, a code generator that \
+converts Protocol Buffer .proto files to C descriptor code, based on the \
+original protoc. protobuf-c formerly included an RPC implementation; that code \
+has been split out into the protobuf-c-rpc project."
+HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
+SECTION = "console/tools"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
+
+DEPENDS = "protobuf-native protobuf"
+
+SRCREV = "f20a3fa131c275a0e795d99a28f94b4dbbb5af26"
+
+SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
+ file://0001-avoid-race-condition.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+#make sure c++11 is used
+CXXFLAGS += "-std=c++11"
+BUILD_CXXFLAGS += "-std=c++11"
+
+inherit autotools pkgconfig
+
+# After several fix attempts there is still a race between generating
+# t.test-full.pb.h and compiling cxx_generate_packed_data.c despite
+# BUILT_SOURCES and explicit dependencies.
+PARALLEL_MAKE = ""
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+FILES_${PN}-compiler = "${bindir}"
+
+RDEPENDS_${PN}-compiler = "protobuf-compiler"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
new file mode 100644
index 00000000..fc728612
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
@@ -0,0 +1,28 @@
+From 321709837f412e2f590e36e3fe33571bb40036a7 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 27 Jun 2019 13:27:18 +0000
+Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building libprotoc.so
+
+* otherwise plugin.pb.o has undefined symbol scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto
+ and build with gold fails with:
+ core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `descriptor_table_google_2fprotobuf_2fdescriptor_2eproto'
+ core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto'
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index be18ba761..57e3daec1 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -313,6 +313,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
+ EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map
+ endif
+ libprotoc_la_SOURCES = \
++ google/protobuf/descriptor.pb.cc \
+ google/protobuf/compiler/code_generator.cc \
+ google/protobuf/compiler/command_line_interface.cc \
+ google/protobuf/compiler/plugin.cc \
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
new file mode 100644
index 00000000..0a2e5e2d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
@@ -0,0 +1,56 @@
+From a28e15092a298e0c73c6fc1ded0913275cf27cb0 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Fri, 28 Jun 2019 13:50:52 +0000
+Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
+ with gold
+
+* move pkg-config call to separate variable, so that the final version
+ of the whole command so it's shown in log.do_compile_ptest_base
+* add ../src/google/protobuf/.libs/timestamp.pb.o when linking
+ add_person_cpp otherwise it fails to link with gold:
+ i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
+ /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
+ /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
+ collect2: error: ld returned 1 exit status
+ Makefile:43: recipe for target 'add_person_cpp' failed
+
+* and the same with list_people_cpp this time with pkg-config already through the variable:
+ i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -pthread -Icore2-32-oe-linux/protobuf/3.8.0-r0/git/src -Lcore2-32-oe-linux/protobuf/3.8.0-r0/git/src/.libs -Lcore2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot/usr/lib -lprotobuf list_people.cc addressbook.pb.cc -o list_people_cpp
+ /tmp/ccpaI5Su.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
+ /tmp/ccpaI5Su.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
+ collect2: error: ld returned 1 exit status
+ Makefile:49: recipe for target 'list_people_cpp' failed
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ examples/Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/examples/Makefile b/examples/Makefile
+index 4ad605641..31d887639 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -2,6 +2,8 @@
+
+ .PHONY: all cpp java python clean
+
++PROTOBUF := $(shell pkg-config --cflags --libs protobuf)
++
+ all: cpp java python
+
+ cpp: add_person_cpp list_people_cpp
+@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto
+
+ add_person_cpp: add_person.cc protoc_middleman
+ pkg-config --cflags protobuf # fails if protobuf is not installed
+- c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
+
+ list_people_cpp: list_people.cc protoc_middleman
+ pkg-config --cflags protobuf # fails if protobuf is not installed
+- c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
+
+ add_person_dart: add_person.dart protoc_middleman_dart
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest
index 7c3a8d1b..b3b2278c 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest
@@ -8,7 +8,7 @@ for write_exe_full_path in ${DIR}/add_person_*; do
if [ -x "${write_exe_full_path}" ]; then
write_exe=`basename ${write_exe_full_path}`
echo "Generating new test file using ${write_exe}..."
- ${write_exe_full_path} "${TEST_FILE}"
+ printf "1234\nname\nname@example.com\n" | ${write_exe_full_path} "${TEST_FILE}"
RETVAL=$?
[ $RETVAL -eq 0 ] || exit $RETVAL
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb
new file mode 100644
index 00000000..4d6c5b25
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.11.4.bb
@@ -0,0 +1,90 @@
+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"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
+
+DEPENDS = "zlib"
+DEPENDS_append_class-target = " protobuf-native"
+
+SRCREV = "d0bfd5221182da1a7cc280f3337b5e41a89539cf"
+
+SRC_URI = "git://github.com/google/protobuf.git;branch=3.11.x \
+ file://run-ptest \
+ file://0001-protobuf-fix-configure-error.patch \
+ file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \
+ file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
+"
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig ptest
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[python] = ",,"
+
+EXTRA_OECONF += "--with-protoc=echo"
+
+TEST_SRC_DIR = "examples"
+LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
+
+do_compile_ptest() {
+ mkdir -p "${B}/${TEST_SRC_DIR}"
+
+ # Add the location of the cross-compiled header and library files
+ # which haven't been installed yet.
+ cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
+
+ # Save the pkgcfg sysroot variable, and update it to nothing so
+ # that it doesn't append the sysroot to the beginning of paths.
+ # The header and library files aren't installed to the target
+ # system yet. So the absolute paths were specified above.
+ save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
+ export PKG_CONFIG_SYSROOT_DIR=
+
+ # Compile the tests
+ for lang in ${LANG_SUPPORT}; do
+ oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
+ done
+
+ # Restore the pkgconfig sysroot variable
+ export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
+}
+
+do_install_ptest() {
+ local olddir=`pwd`
+
+ cd "${S}/${TEST_SRC_DIR}"
+ install -d "${D}/${PTEST_PATH}"
+ for i in add_person* list_people*; do
+ if [ -x "$i" ]; then
+ install "$i" "${D}/${PTEST_PATH}"
+ fi
+ done
+ cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
+ cd "$olddir"
+}
+
+PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
+
+FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
+FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
+
+RDEPENDS_${PN}-compiler = "${PN}"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}"
+
+MIPS_INSTRUCTION_SET = "mips"
+
+BBCLASSEXTEND = "native nativesdk"
+
+LDFLAGS_append_arm = " -latomic"
+LDFLAGS_append_mips = " -latomic"
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_mipsel = " -latomic"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb b/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb
deleted file mode 100644
index cf72d9ca..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb
+++ /dev/null
@@ -1,93 +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"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
-
-DEPENDS = "zlib"
-DEPENDS_append_class-target = " protobuf-native"
-
-PV .= "+git${SRCPV}"
-
-SRCREV = "48cb18e5c419ddd23d9badcfe4e9df7bde1979b2"
-
-SRC_URI = "git://github.com/google/protobuf.git;branch=3.6.x \
- file://run-ptest \
- file://0001-protobuf-fix-configure-error.patch \
-"
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig ptest
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[python] = ",,"
-
-EXTRA_OECONF += "--with-protoc=echo"
-
-TEST_SRC_DIR = "examples"
-LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
-
-do_compile_ptest() {
- # Modify makefile to use the cross-compiler
- sed -e "s|c++|${CXX} \$(LDFLAGS)|g" -i "${S}/${TEST_SRC_DIR}/Makefile"
-
- mkdir -p "${B}/${TEST_SRC_DIR}"
-
- # Add the location of the cross-compiled header and library files
- # which haven't been installed yet.
- cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
-
- # Save the pkgcfg sysroot variable, and update it to nothing so
- # that it doesn't append the sysroot to the beginning of paths.
- # The header and library files aren't installed to the target
- # system yet. So the absolute paths were specified above.
- save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
- export PKG_CONFIG_SYSROOT_DIR=
-
- # Compile the tests
- for lang in ${LANG_SUPPORT}; do
- oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
- done
-
- # Restore the pkgconfig sysroot variable
- export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
-}
-
-do_install_ptest() {
- local olddir=`pwd`
-
- cd "${S}/${TEST_SRC_DIR}"
- install -d "${D}/${PTEST_PATH}"
- for i in add_person* list_people*; do
- if [ -x "$i" ]; then
- install "$i" "${D}/${PTEST_PATH}"
- fi
- done
- cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
- cd "$olddir"
-}
-
-PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
-
-FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
-FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
-
-RDEPENDS_${PN}-compiler = "${PN}"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}"
-
-MIPS_INSTRUCTION_SET = "mips"
-
-BBCLASSEXTEND = "native nativesdk"
-
-LDFLAGS_append_arm = " -latomic"
-LDFLAGS_append_mips = " -latomic"
-LDFLAGS_append_powerpc = " -latomic"
-LDFLAGS_append_mipsel = " -latomic"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb b/external/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb
new file mode 100644
index 00000000..69e66289
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.10.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Light-weight C++ XML Processing Library"
+DESCRIPTION = "pugixml is a C++ XML processing library, which consists of a \
+DOM-like interface with rich traversal/modification capabilities, \
+an extremely fast XML parser which constructs the DOM tree from \
+n XML file/buffer, and an XPath 1.0 implementation for complex \
+data-driven tree queries."
+HOMPAGE = "https://pugixml.org/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=d5ee91fb74cbb64223b3693fd64eb169"
+
+SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[md5sum] = "f97237e9908201c6d8536210747b66af"
+SRC_URI[sha256sum] = "55f399fbb470942410d348584dc953bcaec926415d3462f471ef350f29b5870a"
+
+UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ "
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb b/external/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb
deleted file mode 100644
index 156e52a3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Cpuset is a Python application to make using the cpusets facilities in the Linux kernel easier"
-SECTION = "devel/python"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-S = "${WORKDIR}/git"
-SRCREV = "ae629aa1dc959342745ad97406adddf63bb6dbdd"
-SRC_URI = "git://github.com/lpechacek/cpuset.git;protocol=https;"
-
-inherit distutils
-
-RDEPENDS_${PN} = "\
- python-core \
- python-re \
- python-logging \
- python-textutils \
- python-unixadmin \
- "
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb b/external/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb
deleted file mode 100644
index eb84f743..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require python-distutils-extra.inc
-
-inherit setuptools
-
-RDEPENDS_${PN} = "\
- python-distutils \
-"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb
deleted file mode 100644
index 3ee945fc..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "The concurrent.futures module provides a high-level interface for asynchronously executing callables."
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=834d982f973c48b6d662b5944c5ab567"
-HOMEPAGE = "https://github.com/agronholm/pythonfutures"
-DEPENDS = "python"
-
-SRC_URI[md5sum] = "d1b299a06b96ccb59f70324716dc0016"
-SRC_URI[sha256sum] = "9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb
deleted file mode 100644
index 348a0398..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Python GObject bindings"
-HOMEPAGE = "http://www.pygtk.org/"
-SECTION = "devel/python"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
-
-inherit gnomebase gobject-introspection distutils-base upstream-version-is-even
-
-DEPENDS += "python glib-2.0"
-
-SRCNAME = "pygobject"
-SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
-"
-
-SRC_URI[md5sum] = "3bac63c86bb963aa401f97859464aa90"
-SRC_URI[sha256sum] = "3dd3e21015d06e00482ea665fc1733b77e754a6ab656a5db5d7f7bfaf31ad0b0"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-BBCLASSEXTEND = "native"
-
-EXTRA_OECONF = "--disable-cairo"
-
-RDEPENDS_${PN} += "python-setuptools"
-RDEPENDS_${PN}_class-native = ""
-
-do_install_append() {
- # Remove files that clash with python3-pygobject; their content is same
- rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch b/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch
new file mode 100644
index 00000000..745f5d01
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch
@@ -0,0 +1,36 @@
+From 8d272e53a4d1dc405e08ce2dd50159c58f4451e9 Mon Sep 17 00:00:00 2001
+From: Ruslan Bilovol <rbilovol@cisco.com>
+Date: Thu, 24 Jan 2019 18:11:39 +0200
+Subject: [PATCH] CMake: remove hardcoded CMAKECONFIG_INSTALL_DIR path
+
+Currently this path is hardcoded to lib/cmake.
+Some distributions have different library path (like lib64).
+So reuse LIB_INSTALL_DIR for that to make CMAKECONFIG_INSTALL_DIR
+configurable and usable in such distros.
+
+Upstream-Status: Backport [https://github.com/Tencent/rapidjson/commit/8d272e53a4d1dc405e08ce2dd50159c58f4451e9]
+
+Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c60407..0275672 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -199,9 +199,9 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake @ONLY)
+
+ # ... for the install tree
+-SET( CMAKECONFIG_INSTALL_DIR lib/cmake/${PROJECT_NAME} )
++SET( CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME} )
+ FILE( RELATIVE_PATH REL_INCLUDE_DIR
+- "${CMAKE_INSTALL_PREFIX}/${CMAKECONFIG_INSTALL_DIR}"
++ "${CMAKECONFIG_INSTALL_DIR}"
+ "${CMAKE_INSTALL_PREFIX}/include" )
+
+ SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" )
+--
+1.9.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
index c90eab04..e3ed9c6a 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
@@ -4,7 +4,8 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://license.txt;md5=ba04aa8f65de1396a7e59d1d746c2125"
-SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1"
+SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1 \
+ file://0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch"
SRCREV = "6a905f9311f82d306da77bd963ec5aa5da07da9c"
@@ -14,7 +15,7 @@ S = "${WORKDIR}/git"
inherit cmake
-EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF"
+EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
# RapidJSON is a header-only C++ library, so the main package will be empty.
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc
index d0795454..d8e32a76 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip.inc
@@ -4,10 +4,10 @@ SECTION = "devel"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz \
- "
-SRC_URI[md5sum] = "9124cb8978742685747a5415179a9890"
-SRC_URI[sha256sum] = "e353a7056599bf5fbd5d3ff9842a6ab2ea3cf4e0304a0f925ec5862907c0d15e"
+SRC_URI = "https://www.riverbankcomputing.com/static/Downloads/sip/${PV}/sip-${PV}.tar.gz \
+"
+SRC_URI[md5sum] = "98111479309dc472410f26080d6d4a88"
+SRC_URI[sha256sum] = "5436b61a78f48c7e8078e93a6b59453ad33780f80c644e5f3af39f94be1ede44"
S = "${WORKDIR}/sip-${PV}"
@@ -15,19 +15,19 @@ BBCLASSEXTEND = "native"
do_configure_prepend_class-target() {
echo "py_platform = linux" > sip.cfg
- echo "py_inc_dir = %(sysroot)/${includedir}/python${PYTHON_BASEVERSION}${PYTHON_ABI}" >> sip.cfg
+ echo "py_inc_dir = %(sysroot)/${includedir}/python%(py_major).%(py_minor)${PYTHON_ABI}" >> 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${PYTHON_BASEVERSION}${PYTHON_ABI}/site-packages" >> 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 --sip-module PyQt5.sip --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${PYTHON_BASEVERSION}${PYTHON_ABI}" >> sip.cfg
+ echo "py_inc_dir = ${includedir}/python%(py_major).%(py_minor)${PYTHON_ABI}" >> 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${PYTHON_BASEVERSION}${PYTHON_ABI}/site-packages" >> 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 --sip-module PyQt5.sip --sysroot=${STAGING_DIR_NATIVE}
}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.13.bb b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.13.bb
deleted file mode 100644
index dc15bc2e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.13.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require sip.inc
-
-DEPENDS = "python3"
-
-inherit python3-dir python3native
-
-PACKAGES += "python3-sip3"
-
-FILES_python3-sip3 = "${libdir}/${PYTHON_DIR}${PYTHON_ABI}/site-packages/"
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}${PYTHON_ABI}/site-packages/.debug"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.19.bb b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.19.bb
new file mode 100644
index 00000000..010fa30f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip3_4.19.19.bb
@@ -0,0 +1,11 @@
+require sip.inc
+
+DEPENDS = "python3"
+
+inherit python3-dir python3native
+
+PACKAGES += "python3-sip3"
+
+FILES_python3-sip3 = "${libdir}/${PYTHON_DIR}/site-packages/"
+FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.13.bb b/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.13.bb
deleted file mode 100644
index 3da15b84..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.13.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require sip.inc
-
-DEPENDS = "python"
-
-inherit python-dir pythonnative
-
-PACKAGES += "python-sip"
-
-FILES_python-sip = "${libdir}/${PYTHON_DIR}/site-packages/"
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb b/external/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb
new file mode 100644
index 00000000..4a27e4b2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb
@@ -0,0 +1,22 @@
+SUMMARY = "SQLite ORM light header only library for modern C++"
+HOMEPAGE = "https://github.com/fnc12/sqlite_orm"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b5bf5ee8bb16d8e19359efe11bdc3f2"
+
+inherit cmake
+
+DEPENDS += "sqlite3"
+
+SRCREV = "e8a9e9416f421303f4b8970caab26dadf8bae98b"
+SRC_URI = "git://github.com/fnc12/sqlite_orm;protocol=https"
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += "-DSqliteOrm_BuildTests=OFF"
+
+BBCLASSEXTEND = "native nativesdk"
+
+FILES_${PN}-dev += "${libdir}/cmake/${BPN}"
+
+# Header-only library
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" \ No newline at end of file
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch
deleted file mode 100644
index a0c157f5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/configure.in.orig 2014-05-10 14:35:39.859147385 +0000
-+++ b/configure.in 2014-05-10 14:36:20.282925184 +0000
-@@ -554,8 +554,8 @@
- dnl make sure package configurator (xft-config or pkg-config
- dnl says that xft is present.
- found_xft=yes
-- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no"
-- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no"
-+ XFT_CFLAGS=`pkg-config --cflags xft fontconfig 2>/dev/null` || found_xft="no"
-+ XFT_LIBS=`pkg-config --libs xft fontconfig 2>/dev/null` || found_xft="no"
- AC_MSG_RESULT([$found_xft])
- dnl make sure that compiling against Xft header file doesn't bomb
- if test "$found_xft" = "yes" ; then
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
index 4dbd9a4f..229acf3e 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
@@ -1,35 +1,46 @@
+From 5539442e5f5442606071afc5cf02642314ad13bb Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 17 Aug 2011 22:52:35 +0200
+Subject: [PATCH] tk 8.5.8: import from OE rev
+
Patch by Sergei Golovan allows to find tclConfig.sh in /usr/share/tcltk/tcl8.5
and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian
installation.
---- tk8.5-8.5.8.orig/unix/configure
-+++ tk8.5-8.5.8/unix/configure
-@@ -1431,7 +1431,8 @@
- `ls -d /usr/contrib/lib 2>/dev/null` \
+---
+ unix/configure | 1 +
+ unix/tcl.m4 | 2 ++
+ 2 files changed, 3 insertions(+)
+
+Index: a/unix/configure
+===================================================================
+--- a/unix/configure.orig
++++ b/unix/configure
+@@ -1431,6 +1431,7 @@ echo "$as_me: error: ${with_tclconfig} d
`ls -d /usr/local/lib 2>/dev/null` \
+ `ls -d /usr/contrib/lib 2>/dev/null` \
`ls -d /usr/pkg/lib 2>/dev/null` \
-+ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \
++ `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \
+ `ls -d /usr/lib/tcl8.6 2>/dev/null` \
`ls -d /usr/lib 2>/dev/null` \
`ls -d /usr/lib64 2>/dev/null` \
- ; do
- if test -f "$i/tclConfig.sh" ; then
---- tk8.5-8.5.8.orig/unix/tcl.m4
-+++ tk8.5-8.5.8/unix/tcl.m4
-@@ -93,7 +93,8 @@
- `ls -d /usr/contrib/lib 2>/dev/null` \
+Index: a/unix/tcl.m4
+===================================================================
+--- a/unix/tcl.m4.orig
++++ b/unix/tcl.m4
+@@ -93,6 +93,7 @@ AC_DEFUN([SC_PATH_TCLCONFIG], [
`ls -d /usr/local/lib 2>/dev/null` \
+ `ls -d /usr/contrib/lib 2>/dev/null` \
`ls -d /usr/pkg/lib 2>/dev/null` \
-+ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \
++ `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \
+ `ls -d /usr/lib/tcl8.6 2>/dev/null` \
`ls -d /usr/lib 2>/dev/null` \
`ls -d /usr/lib64 2>/dev/null` \
- ; do
- if test -f "$i/tclConfig.sh" ; then
-@@ -223,7 +224,8 @@
- `ls -d ${prefix}/lib 2>/dev/null` \
+@@ -226,6 +227,7 @@ AC_DEFUN([SC_PATH_TKCONFIG], [
`ls -d /usr/local/lib 2>/dev/null` \
`ls -d /usr/contrib/lib 2>/dev/null` \
-+ `ls -d /usr/share/tcltk/tk8.5 2>/dev/null` \
+ `ls -d /usr/pkg/lib 2>/dev/null` \
++ `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \
+ `ls -d /usr/lib/tk8.6 2>/dev/null` \
`ls -d /usr/lib 2>/dev/null` \
`ls -d /usr/lib64 2>/dev/null` \
- ; do
- if test -f "$i/tkConfig.sh" ; then
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
index d1bb7105..4aa5d6b8 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
@@ -8,8 +8,8 @@
- XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no"
- if test "$found_xft" = "no" ; then
found_xft=yes
- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no"
- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no"
+ XFT_CFLAGS=`pkg-config --cflags xft fontconfig 2>/dev/null` || found_xft="no"
+ XFT_LIBS=`pkg-config --libs xft fontconfig 2>/dev/null` || found_xft="no"
- fi
AC_MSG_RESULT([$found_xft])
dnl make sure that compiling against Xft header file doesn't bomb
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff
deleted file mode 100644
index 7d31f9fd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-Patch by Sergei Golovan (originally by Mike Markley and Chris Waters) fixes
-building on non-linux Debian architectures.
-
---- tk8.5-8.5.8.orig/unix/configure
-+++ tk8.5-8.5.8/unix/configure
-@@ -4447,6 +4447,9 @@
- if test "`uname -s`" = "AIX" ; then
- tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
- fi
-+ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then
-+ tcl_cv_sys_version=NetBSD-Debian
-+ fi
- fi
- fi
-
---- tk8.5-8.5.8.orig/unix/tcl.m4
-+++ tk8.5-8.5.8/unix/tcl.m4
-@@ -962,6 +962,9 @@
- if test "`uname -s`" = "AIX" ; then
- tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
- fi
-+ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then
-+ tcl_cv_sys_version=NetBSD-Debian
-+ fi
- fi
- fi
- ])
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff
deleted file mode 100644
index ee38c2a1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff
+++ /dev/null
@@ -1,22 +0,0 @@
---- tk8.5-8.5.8.orig/unix/configure
-+++ tk8.5-8.5.8/unix/configure
-@@ -11070,7 +11070,7 @@
- TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
- fi
-
--TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
-+test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
- PRIVATE_INCLUDE_DIR='$(includedir)'
- HTML_DIR='$(DISTDIR)/html'
- TK_PKG_DIR='tk$(VERSION)'
---- tk8.5-8.5.8.orig/unix/configure.in
-+++ tk8.5-8.5.8/unix/configure.in
-@@ -607,7 +607,7 @@
- TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
- fi
-
--TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
-+test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
- PRIVATE_INCLUDE_DIR='$(includedir)'
- HTML_DIR='$(DISTDIR)/html'
- TK_PKG_DIR='tk$(VERSION)'
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb
new file mode 100644
index 00000000..b564e126
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb
@@ -0,0 +1,93 @@
+SUMMARY = "Tool Command Language ToolKit Extension"
+HOMEPAGE = "http://tcl.sourceforge.net"
+SECTION = "devel/tcltk"
+
+# http://www.tcl.tk/software/tcltk/license.html
+LICENSE = "tcl"
+LIC_FILES_CHKSUM = "file://${S}/../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://${S}/../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://${S}/../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://${S}/../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://${S}/../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://${S}/../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://${S}/../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://${S}/../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://${S}/../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+"
+
+DEPENDS = "tcl virtual/libx11 libxt"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
+ file://confsearch.diff;striplevel=2 \
+ file://tkprivate.diff;striplevel=2 \
+ file://fix-xft.diff \
+"
+SRC_URI[md5sum] = "602a47ad9ecac7bf655ada729d140a94"
+SRC_URI[sha256sum] = "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386"
+
+S = "${WORKDIR}/${BPN}${PV}/unix"
+
+# Short version format: "8.6"
+VER = "${@os.path.splitext(d.getVar('PV'))[0]}"
+
+LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
+inherit autotools features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = "\
+ --enable-threads \
+ --with-x \
+ --with-tcl=${STAGING_BINDIR}/crossscripts \
+ --libdir=${libdir} \
+"
+export TK_LIBRARY='${libdir}/tk${VER}'
+do_install_append() {
+ ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
+ oe_libinstall -so libtk${VER} ${D}${libdir}
+ ln -sf wish${VER} ${D}${bindir}/wish
+
+ sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tkConfig.sh
+ sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tkConfig.sh
+ install -d ${D}${bindir_crossscripts}
+ install -m 0755 tkConfig.sh ${D}${bindir_crossscripts}
+}
+
+PACKAGECONFIG ??= "xft"
+PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft"
+PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext"
+
+PACKAGES =+ "${PN}-lib"
+
+FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
+FILES_${PN} += "${libdir}/tk*"
+
+# isn't getting picked up by shlibs code
+RDEPENDS_${PN} += "tk-lib"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Fix the path in sstate
+SSTATE_SCAN_FILES += "*Config.sh"
+
+inherit binconfig
+
+SYSROOT_DIRS += "${bindir_crossscripts}"
+
+# Fix some paths that might be used by Tcl extensions
+BINCONFIG_GLOB = "*Config.sh"
+
+# Cleanup host path from ${libdir}/tclConfig.sh and remove the
+# ${bindir_crossscripts}/tclConfig.sh from target
+PACKAGE_PREPROCESS_FUNCS += "tcl_package_preprocess"
+tcl_package_preprocess() {
+ sed -i -e "s;${DEBUG_PREFIX_MAP};;g" \
+ -e "s;-L${STAGING_LIBDIR};-L${libdir};g" \
+ -e "s;${STAGING_INCDIR};${includedir};g" \
+ -e "s;--sysroot=${RECIPE_SYSROOT};;g" \
+ ${PKGD}${libdir}/tkConfig.sh
+
+ rm -f ${PKGD}${bindir_crossscripts}/tkConfig.sh
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb b/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb
deleted file mode 100644
index 4e38525c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "Tool Command Language ToolKit Extension"
-HOMEPAGE = "http://tcl.sourceforge.net"
-SECTION = "devel/tcltk"
-
-# http://www.tcl.tk/software/tcltk/license.html
-LICENSE = "tcl"
-LIC_FILES_CHKSUM = "file://../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
- file://../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
- file://../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
- file://../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
- file://../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
- file://../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
- file://../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
- file://../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
- file://../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-"
-
-DEPENDS = "tcl virtual/libx11 libxt"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
- file://confsearch.diff;striplevel=2 \
- file://non-linux.diff;striplevel=2 \
- file://tklibrary.diff;striplevel=2 \
- file://tkprivate.diff;striplevel=2 \
- file://fix-xft.diff \
- file://configure.use.fontconfig.with.xft.patch \
-"
-SRC_URI[md5sum] = "5e0faecba458ee1386078fb228d008ba"
-SRC_URI[sha256sum] = "49e7bca08dde95195a27f594f7c850b088be357a7c7096e44e1158c7a5fd7b33"
-
-S = "${WORKDIR}/${BPN}${PV}/unix"
-
-# Short version format: "8.6"
-VER = "${@os.path.splitext(d.getVar('PV'))[0]}"
-
-LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
-inherit autotools distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF = "\
- --enable-threads \
- --with-x \
- --with-tcl=${STAGING_BINDIR}/crossscripts \
- --libdir=${libdir} \
-"
-export TK_LIBRARY='${libdir}/tk${VER}'
-do_install_append() {
- ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
- oe_libinstall -so libtk${VER} ${D}${libdir}
- ln -sf wish${VER} ${D}${bindir}/wish
-}
-
-PACKAGECONFIG ??= "xft"
-PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft"
-PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext"
-
-PACKAGES =+ "${PN}-lib"
-
-FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
-FILES_${PN} += "${libdir}/tk*"
-
-# isn't getting picked up by shlibs code
-RDEPENDS_${PN} += "tk-lib"
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native nativesdk"
-
-# Fix the path in sstate
-SSTATE_SCAN_FILES += "*Config.sh"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch b/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch
deleted file mode 100644
index fe7aac93..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From cdf7f2e394fcfb93a61f509ae3388f29540a6b35 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 8 Sep 2018 11:56:13 -0700
-Subject: [PATCH] include dlfcn.h for RTLD_DEFAULT
-
-Fixes
-plthook.c:128:41: error: use of undeclared identifier 'RTLD_DEFAULT'
-
-Upstream-Status: Submitted [https://github.com/namhyung/uftrace/pull/487]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libmcount/plthook.c | 1 +
- utils/debug.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/libmcount/plthook.c b/libmcount/plthook.c
-index d9d84f0..d54f5e8 100644
---- a/libmcount/plthook.c
-+++ b/libmcount/plthook.c
-@@ -6,6 +6,7 @@
- #include <sys/mman.h>
- #include <pthread.h>
- #include <assert.h>
-+#include <dlfcn.h>
-
- /* This should be defined before #include "utils.h" */
- #define PR_FMT "mcount"
-diff --git a/utils/debug.c b/utils/debug.c
-index 2134b09..5460def 100644
---- a/utils/debug.c
-+++ b/utils/debug.c
-@@ -13,6 +13,7 @@
- #include <assert.h>
- #include <limits.h>
- #include <inttypes.h>
-+#include <dlfcn.h>
-
- #include "utils/utils.h"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb b/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb
deleted file mode 100644
index ca38e6aa..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Trace and analyze execution of a program written in C/C++"
-HOMEPAGE = "https://github.com/namhyung/uftrace"
-BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "elfutils"
-DEPENDS_append_libc-musl = " argp-standalone"
-
-inherit autotools
-
-# v0.8.3
-SRCREV = "8b723a6fae2ef30495cd6279774fba9c95cd9c88"
-SRC_URI = "git://github.com/namhyung/${BPN} \
- file://0001-include-dlfcn.h-for-RTLD_DEFAULT.patch \
- "
-S = "${WORKDIR}/git"
-
-LDFLAGS_append_libc-musl = " -largp"
-
-def set_target_arch(d):
- import re
- arch = d.getVar('TARGET_ARCH', True)
- if re.match(r'i.86', arch, re.I):
- return 'i386'
- else:
- return arch
-
-EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
- with_elfutils=/use/libelf/from/sysroot"
-
-do_configure() {
- ${S}/configure ${EXTRA_UFTRACE_OECONF}
-}
-
-FILES_SOLIBSDEV = ""
-FILES_${PN} += "${libdir}/*.so"
-
-COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)"
-
-# uftrace supports armv6 and above
-COMPATIBLE_HOST_armv4 = 'null'
-COMPATIBLE_HOST_armv5 = 'null'
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb b/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb
new file mode 100644
index 00000000..c33fa048
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Trace and analyze execution of a program written in C/C++"
+HOMEPAGE = "https://github.com/namhyung/uftrace"
+BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "elfutils"
+DEPENDS_append_libc-musl = " argp-standalone"
+
+inherit autotools
+
+# v0.9.4
+SRCREV = "d648bbffedef529220896283fb59e35531c13804"
+SRC_URI = "git://github.com/namhyung/${BPN} \
+ "
+S = "${WORKDIR}/git"
+
+LDFLAGS_append_libc-musl = " -largp"
+
+def set_target_arch(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match(r'i.86', arch, re.I):
+ return 'i386'
+ elif re.match('armeb', arch, re.I):
+ return 'arm'
+ else:
+ return arch
+
+EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
+ with_elfutils=/use/libelf/from/sysroot"
+
+do_configure() {
+ ${S}/configure ${EXTRA_UFTRACE_OECONF}
+}
+
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "${libdir}/*.so"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)"
+
+# uftrace supports armv6 and above
+COMPATIBLE_HOST_armv4 = 'null'
+COMPATIBLE_HOST_armv5 = 'null'
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch
deleted file mode 100644
index 234d696f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 950b27f8320b841490cafcb3e6e3b818c7174c0d Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 20 Jul 2017 22:32:50 -0400
-Subject: [PATCH] fix compile failure against musl C library
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- test/cpp/server_abyss.cpp | 2 +-
- tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 10 +++++++---
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp
-index 2458a8f..82f91da 100644
---- a/test/cpp/server_abyss.cpp
-+++ b/test/cpp/server_abyss.cpp
-@@ -18,7 +18,7 @@
- #ifdef WIN32
- #include <winsock2.h>
- #else
-- #include <sys/unistd.h>
-+ #include <unistd.h>
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <netinet/in.h>
-diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
-index d39e105..1fd8900 100644
---- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
-+++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
-@@ -15,11 +15,15 @@
- #include "xmlrpc-c/girerr.hpp"
- using girerr::throwf;
-
--#include <features.h> // for __BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-
--__BEGIN_DECLS
- #include "dumpvalue.h" /* An internal Xmlrpc-c header file ! */
--__END_DECLS
-+
-+#ifdef __cplusplus
-+}
-+#endif
-
-
- #include <xmlrpc-c/base.hpp>
---
-2.8.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch
new file mode 100644
index 00000000..be83b016
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch
@@ -0,0 +1,27 @@
+From dba3c5bf34ed530fd41ed50968825af2158f142e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 13:31:39 -0800
+Subject: [PATCH] test/cpp/server_abyss: Fix build with clang/libc++
+
+/mnt/a/yoe/workspace/sources/xmlrpc-c/test/cpp/server_abyss.cpp:87:14: error: assigning to 'int' from incompatible type '__bind<int
+&, sockaddr *, unsigned int>'
+ rc = bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr));
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/cpp/server_abyss.cpp | 56 +++++++++++++++++++--------------------
+ 1 file changed, 28 insertions(+), 28 deletions(-)
+
+--- a/test/cpp/server_abyss.cpp
++++ b/test/cpp/server_abyss.cpp
+@@ -85,7 +85,7 @@ public:
+ sockAddr.sin_port = htons(portNumber);
+ sockAddr.sin_addr.s_addr = 0;
+
+- rc = bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr));
++ rc = ::bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr));
+
+ if (rc != 0) {
+ closesock(this->fd);
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb
deleted file mode 100644
index efa58f19..00000000
--- a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \
-write an XML-RPC server or client in C or C++."
-
-HOMEPAGE = "http://xmlrpc-c.sourceforge.net/"
-LICENSE = "BSD & MIT"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951"
-
-SRC_URI = "git://github.com/ensc/xmlrpc-c.git;branch=master \
- file://0001-fix-compile-failure-against-musl-C-library.patch \
- file://0002-fix-formatting-issues.patch \
-"
-SRCREV = "81443a9dc234cc275449dbc17867ad77ae189124"
-S = "${WORKDIR}/git"
-
-DEPENDS = "curl libxml2"
-RDEPENDS_${PN} = "curl perl"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-D_lib:STRING=${baselib}"
-
-BBCLASSEXTEND = "native"
-
-TARGET_CFLAGS += "-Wno-narrowing"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
new file mode 100644
index 00000000..6c31b698
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \
+write an XML-RPC server or client in C or C++."
+
+HOMEPAGE = "http://xmlrpc-c.sourceforge.net/"
+LICENSE = "BSD & MIT"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951"
+
+SRC_URI = "git://github.com/mirror/xmlrpc-c.git \
+ file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \
+ file://0002-fix-formatting-issues.patch \
+ "
+#Release 1.51.03
+SRCREV = "343a3b98e54999d67edb644bcd395aa9784fb16e"
+
+S = "${WORKDIR}/git/stable"
+
+DEPENDS = "libxml2"
+
+inherit autotools-brokensep binconfig pkgconfig
+
+TARGET_CFLAGS += "-Wno-narrowing"
+
+EXTRA_OEMAKE += "CC_FOR_BUILD='${BUILD_CC}' \
+ LD_FOR_BUILD='${BUILD_LD}' \
+ CFLAGS_FOR_BUILD='${BUILD_CFLAGS}' \
+ LDFLAGS_FOR_BUILD='${BUILD_LDFLAGS}' \
+ "
+
+EXTRA_OECONF += "--disable-libwww-client --disable-wininet-client"
+
+PACKAGECONFIG ??= "curl cplusplus"
+
+PACKAGECONFIG[abyss] = "--enable-abyss-server --enable-abyss-threads --enable-abyss-openssl,--disable-abyss-server --disable-abyss-threads --disable-abyss-openssl,openssl,"
+PACKAGECONFIG[cplusplus] = "--enable-cplusplus,--disable-cplusplus,,"
+PACKAGECONFIG[curl] = "--enable-curl-client,--disable-curl-client,curl,curl"
+
+do_configure() {
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ autoconf
+ oe_runconf
+ # license is incompatible with lib/util/getoptx.*
+ rm -fv ${S}/tools/turbocharger/mod_gzip.c
+}
+
+BBCLASSEXTEND = "native"
+
+CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb b/external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
index 8ced7b84..e112a5e3 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
@@ -17,3 +17,5 @@ inherit cmake lib_package
S = "${WORKDIR}/git"
EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>1(\.\d+)+)"
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb b/external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
index b20d4c05..53856263 100644
--- a/external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -1,5 +1,5 @@
SUMMARY = "x86 (SSE) assembler supporting NASM and GAS-syntaxes"
-LICENSE = "BSD"
+LICENSE = "MIT"
HOMEPAGE = "http://www.tortall.net/projects/yasm/"
LIC_FILES_CHKSUM = "file://COPYING;md5=a12d8903508fb6bfd49d8d82c6170dd9"
@@ -13,7 +13,7 @@ SRC_URI = "git://github.com/yasm/yasm.git"
S = "${WORKDIR}/git"
-inherit autotools gettext pythonnative
+inherit autotools gettext python3native
CACHED_CONFIGUREVARS = "CCLD_FOR_BUILD='${CC_FOR_BUILD}'"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
index ab8042f7..7c3b0325 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
@@ -1,21 +1,28 @@
-Add configure check for gtk2+ and objc++
+From 7957756a3dd16498cf7a75e1fb6675a33bc7f3dc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 3 Nov 2016 01:20:33 -0700
+Subject: [PATCH] Add configure check for gtk2+ and objc++
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
-@@ -64,6 +64,7 @@ m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCX
+---
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index d81d795de4..7beeb34ae2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -63,6 +63,7 @@ m4_pattern_allow([AC_PROG_OBJCXX])
+ m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCXX],)
dnl ------
- AC_PROG_F77
AC_PROG_CPP
+AC_PROG_OBJCXX
AC_PROG_MAKE_SET
SAH_LINKS
AC_LANG_PUSH(C)
-@@ -1081,6 +1082,8 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test
+@@ -1068,6 +1069,8 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test "x${enable_server}" = xyes || test "x${
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])
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
index 4ae8d580..e060b1a4 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
@@ -1,13 +1,20 @@
-Check for gtk2+ only when manager is enabled
+From d53e9617fb6446780478bb13907efd111f241cd1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 3 Nov 2016 01:20:33 -0700
+Subject: [PATCH] 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
+---
+ configure.ac | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7beeb34ae2..35234c2762 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1018,6 +1018,11 @@ else
AM_CONDITIONAL([GUI_GTK], false)
fi
@@ -19,7 +26,7 @@ Index: boinc-client_release-7.6-7.6.33/configure.ac
dnl ---------- libNotify --------------------------------------------------
if test "${enable_manager}" = yes ; then
PKG_CHECK_MODULES(LIBNOTIFY, [libnotify])
-@@ -1082,7 +1087,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test
+@@ -1069,7 +1074,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test "x${enable_server}" = xyes || test "x${
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])
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
index 0b057eab..ad4493f0 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
@@ -1,13 +1,22 @@
+From 4f2dd929618f149087249f3c90cc056d5080b1e4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 3 Nov 2016 01:20:33 -0700
+Subject: [PATCH] boinc: Add recipe for boinc-client
+
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
+---
+ m4/ax_check_gl.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/ax_check_gl.m4 b/m4/ax_check_gl.m4
+index e26ce5b930..1e60c9266a 100644
+--- a/m4/ax_check_gl.m4
++++ b/m4/ax_check_gl.m4
@@ -58,7 +58,7 @@ else
else
ax_try_lib="${ax_lib}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb
deleted file mode 100644
index e505bb4c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-# 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 \
-"
-SRCREV = "bd12338dbd29083daa5a4b022592ca31ff68cd98"
-BRANCH = "client_release/7/${PV}"
-SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \
- file://boinc-AM_CONDITIONAL.patch \
- file://opengl_m4_check.patch \
- file://gtk-configure.patch \
-"
-
-inherit gettext autotools pkgconfig distro_features_check systemd
-
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-S = "${WORKDIR}/git"
-
-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
-}
-do_install_append() {
- if [ -e ${D}${libdir}/systemd/system/boinc-client.service ]; then
- install -D -m 0644 \
- ${D}${libdir}/systemd/system/boinc-client.service \
- ${D}${systemd_system_unitdir}/boinc-client.service
- rm -rf ${D}${libdir}/systemd
- fi
-}
-
-SYSTEMD_SERVICE_${PN} = "boinc-client.service"
-
-FILES_${PN} += "${libdir}/systemd"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb
new file mode 100644
index 00000000..db90f06f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb
@@ -0,0 +1,91 @@
+# 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 \
+"
+SRCREV = "e0e033af9fca3cca84a3417ea6531ae25be73a7a"
+BRANCH = "client_release/7/${PV}"
+SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \
+ file://boinc-AM_CONDITIONAL.patch \
+ file://opengl_m4_check.patch \
+ file://gtk-configure.patch \
+"
+
+inherit gettext autotools pkgconfig features_check systemd
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+S = "${WORKDIR}/git"
+
+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
+}
+
+do_install_append() {
+ if [ -e ${D}${nonarch_libdir}/systemd/system/boinc-client.service ]; then
+ install -d ${D}${systemd_system_unitdir}
+ mv \
+ ${D}${nonarch_libdir}/systemd/system/boinc-client.service \
+ ${D}${systemd_system_unitdir}/boinc-client.service
+ rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/system \
+ ${D}${nonarch_libdir}/systemd \
+ ${D}${nonarch_libdir}
+ fi
+}
+
+SYSTEMD_SERVICE_${PN} = "boinc-client.service"
+
+FILES_${PN} += "${libdir}/systemd"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb b/external/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb
index b4d4773e..70dbcaff 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb
@@ -12,3 +12,11 @@ SRCREV= "d6d98957ca8ccb1ef45922e978bb10efca0ea541"
S = "${WORKDIR}/git"
inherit cmake lib_package
+
+do_install_append () {
+ for lib in $(ls ${D}${libdir}/*-static.a); do
+ mv -v "${lib}" "$(echo ${lib} | sed s/-static//)"
+ done
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
index 3bc0db96..c7830ed9 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
@@ -10,16 +10,21 @@ Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+Update for 20190617.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+
+Update for 20191103.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
aclocal.m4 | 1 -
- configure | 140 -------------------------------------------------------------
- 2 files changed, 141 deletions(-)
+ configure | 259 -------------------------------------------------------------
+ 2 files changed, 260 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
-index 0d14f26..0cefa08 100644
+index b90cfe6..413ea9c 100644
--- a/aclocal.m4
+++ b/aclocal.m4
-@@ -1038,7 +1038,6 @@ CF_GCC_VERSION
+@@ -1232,7 +1232,6 @@ CF_GCC_VERSION
CF_ACVERSION_CHECK(2.52,
[AC_PROG_CC_STDC],
[CF_ANSI_CC_REQD])
@@ -28,21 +33,140 @@ index 0d14f26..0cefa08 100644
dnl ---------------------------------------------------------------------------
dnl CF_PROG_GROFF version: 3 updated: 2018/01/07 13:16:19
diff --git a/configure b/configure
-index d27ae31..077c648 100755
+index ec77bba..234f271 100755
--- a/configure
+++ b/configure
-@@ -1946,146 +1946,6 @@ esac
+@@ -2059,265 +2059,6 @@ esac
# This should have been defined by AC_PROG_CC
: ${CC:=cc}
--echo "$as_me:1949: checking \$CC variable" >&5
+-echo "$as_me:2062: checking \$CFLAGS variable" >&5
+-echo $ECHO_N "checking \$CFLAGS variable... $ECHO_C" >&6
+-case "x$CFLAGS" in
+-(*-[IUD]*)
+- echo "$as_me:2066: result: broken" >&5
+-echo "${ECHO_T}broken" >&6
+- { echo "$as_me:2068: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
+-echo "$as_me: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&2;}
+- cf_flags="$CFLAGS"
+- CFLAGS=
+- for cf_arg in $cf_flags
+- do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-(no)
+- case $cf_add_cflags in
+- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+- case $cf_add_cflags in
+- (-D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+-
+- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+-
+- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- (*$cf_add_cflags)
+- ;;
+- (*)
+- case $cf_add_cflags in
+- (-D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+-
+- test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
+- cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+-
+- ;;
+- esac
+- ;;
+- (*)
+-
+- test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
+- cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+-
+- ;;
+- esac
+- ;;
+-(yes)
+-
+- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- test -n "$CFLAGS" && CFLAGS="$CFLAGS "
+- CFLAGS="${CFLAGS}$cf_new_cflags"
+-
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+- CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+-
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
+- EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+-
+-fi
+-
+- done
+- ;;
+-(*)
+- echo "$as_me:2176: result: ok" >&5
+-echo "${ECHO_T}ok" >&6
+- ;;
+-esac
+-
+-echo "$as_me:2181: checking \$CC variable" >&5
-echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
-case "$CC" in
-(*[\ \ ]-*)
-- echo "$as_me:1953: result: broken" >&5
+- echo "$as_me:2185: result: broken" >&5
-echo "${ECHO_T}broken" >&6
-- { echo "$as_me:1955: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
--echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
+- { echo "$as_me:2187: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
+-echo "$as_me: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
- # humor him...
- cf_prog=`echo "$CC" | sed -e 's/ / /g' -e 's/[ ]* / /g' -e 's/[ ]*[ ]-[^ ].*//'`
- cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", substr($0,1+length(prog))); }'`
@@ -158,24 +282,24 @@ index d27ae31..077c648 100755
- done
- test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6
-
--echo "${as_me:-configure}:2072: testing resulting CC: '$CC' ..." 1>&5
+-echo "${as_me:-configure}:2304: testing resulting CC: '$CC' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CFLAGS: '$CFLAGS'" 1>&6
-
--echo "${as_me:-configure}:2076: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2308: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
-
--echo "${as_me:-configure}:2080: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2312: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
-
- ;;
-(*)
-- echo "$as_me:2084: result: ok" >&5
+- echo "$as_me:2316: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
- echo "$as_me:2089: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo "$as_me:2321: checking whether ${MAKE-make} sets \${MAKE}" >&5
echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
--
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb b/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb
deleted file mode 100644
index f30c4264..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-# Sigh. This is one of those places where everyone licenses it differently. Someone
-# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
-# "I've found no reliable source which states that byacc must bear a UCB copyright."
-# Setting to PD as this is what the upstream has it as.
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=8b2933503c0443e041d3168dc0c65640"
-require byacc.inc
-
-SRC_URI[md5sum] = "97fdc0745e0ff0cef5c09d57d0c6752d"
-SRC_URI[sha256sum] = "d0940dbffbc7e9c9dd4985c25349c390beede84ae1d9fe86b71c0aa659a6d693"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200330.bb b/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200330.bb
new file mode 100644
index 00000000..975311c9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200330.bb
@@ -0,0 +1,11 @@
+# Sigh. This is one of those places where everyone licenses it differently. Someone
+# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
+# "I've found no reliable source which states that byacc must bear a UCB copyright."
+# Setting to PD as this is what the upstream has it as.
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=262857ec5923f073fa06a1f1812225ea"
+require byacc.inc
+
+SRC_URI[md5sum] = "decf6e6b82ea2efae6bbad32d7777da8"
+SRC_URI[sha256sum] = "e099e2dd8a684d739ac6b9a0e43d468314a5bc34fd21466502d120b18df51fb0"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch b/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch
new file mode 100644
index 00000000..a6f67012
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch
@@ -0,0 +1,16 @@
+--- a/modules/packages/apt_get
++++ b/modules/packages/apt_get
+@@ -1,4 +1,4 @@
+-#!/var/cfengine/bin/python
++#!/var/cfengine/bin/python3
+
+ import sys
+ import os
+--- a/modules/packages/apt_get.in
++++ b/modules/packages/apt_get.in
+@@ -1,4 +1,4 @@
+-#!@bindir@/python
++#!@bindir@/python3
+
+ import sys
+ import os
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.12.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.12.0.bb
deleted file mode 100644
index dda6af9c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.12.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
-#
-SUMMARY = "Base policy for CFEngine"
-
-DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
-that helps engineers, system administrators and other stakeholders \
-in an IT system to manage and understand IT infrastructure throughout \
-its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit. \
- \
-This package is intended to provide a stable base policy for \
-installations and upgrades, and is used by CFEngine 3.6 and newer. \
- \
-The contents of this packge are intended to live in `/var/cfengine/masterfiles` \
-or wherever `$(sys.masterdir)` points. \
-"
-
-HOMEPAGE = "http://cfengine.com"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9f76426f9ef8c6f6739fadd21d817a4f"
-
-SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "d59bd8c95620da816c382f749d425860"
-SRC_URI[sha256sum] = "1c50e3d8c702097e13a21258626d936d6ff2e6492e893dfe286ff0d6204d7a65"
-
-inherit autotools
-
-export EXPLICIT_VERSION="${PV}"
-
-EXTRA_OECONF = "--prefix=${datadir}/cfengine"
-
-FILES_${PN} = "${datadir}/cfengine"
-
-RDEPENDS_${PN} += "python-core"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb
new file mode 100644
index 00000000..35ac8559
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb
@@ -0,0 +1,41 @@
+#
+# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
+#
+SUMMARY = "Base policy for CFEngine"
+
+DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
+that helps engineers, system administrators and other stakeholders \
+in an IT system to manage and understand IT infrastructure throughout \
+its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit. \
+ \
+This package is intended to provide a stable base policy for \
+installations and upgrades, and is used by CFEngine 3.6 and newer. \
+ \
+The contents of this packge are intended to live in `/var/cfengine/masterfiles` \
+or wherever `$(sys.masterdir)` points. \
+"
+
+HOMEPAGE = "http://cfengine.com"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9f76426f9ef8c6f6739fadd21d817a4f"
+
+SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
+ file://python3.patch \
+ "
+SRC_URI[md5sum] = "6d456fdd9bd24ff6617eeaa05efae602"
+SRC_URI[sha256sum] = "4a071c0c4ba7df9bad93144cff5fbc0566e5172afd66201072e3193b76c55a38"
+
+inherit autotools
+
+export EXPLICIT_VERSION="${PV}"
+
+EXTRA_OECONF = "--prefix=${datadir}/cfengine"
+
+do_install_append() {
+ rm -rf ${D}${datadir}/cfengine/modules/packages/zypper ${D}${datadir}/cfengine/modules/packages/yum
+}
+
+FILES_${PN} = "${datadir}/cfengine"
+
+RDEPENDS_${PN} += "python3-core"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.12.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.12.0.bb
deleted file mode 100644
index 9d0123d8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.12.0.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
-#
-SUMMARY = "CFEngine is an IT infrastructure automation framework"
-
-DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
-that helps engineers, system administrators and other stakeholders \
-in an IT system to manage and understand IT infrastructure throughout \
-its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit."
-
-HOMEPAGE = "http://cfengine.com"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f8b34828ab373d6b1bb4b0fc60a78494"
-
-DEPENDS = "attr tokyocabinet"
-
-SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
- file://set-path-of-default-config-file.patch \
- "
-
-SRC_URI[md5sum] = "33ef12260db4b430352229f37f7cb0e5"
-SRC_URI[sha256sum] = "d71ba98a272390c6fa8bc20e8ea27f0050a0a72a3e6b206a4762b4646be332ec"
-
-inherit autotools systemd
-
-export EXPLICIT_VERSION="${PV}"
-
-SYSTEMD_SERVICE_${PN} = "cfengine3.service cf-apache.service cf-hub.service cf-postgres.service \
- cf-runalerts.service cf-execd.service \
- cf-monitord.service cf-serverd.service \
-"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-PACKAGECONFIG ??= "libpcre openssl \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
-"
-PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2,"
-PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql,"
-PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql,"
-PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl,"
-PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt,"
-PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre,"
-PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl,"
-PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam,"
-PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml,"
-PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service"
-PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl,"
-
-EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet"
-
-do_install_append() {
- install -d ${D}${localstatedir}/${BPN}/bin
- for f in `ls ${D}${bindir}`; do
- ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/
- done
-
- install -d ${D}${sysconfdir}/default
- cat << EOF > ${D}${sysconfdir}/default/cfengine3
-RUN_CF_SERVERD=1
-RUN_CF_EXECD=1
-RUN_CF_MONITORD=1
-RUN_CF_HUB=0
-EOF
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3
- sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service
- fi
-}
-
-RDEPENDS_${PN} += "${BPN}-masterfiles"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb
new file mode 100644
index 00000000..2d146bf8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb
@@ -0,0 +1,72 @@
+#
+# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
+#
+SUMMARY = "CFEngine is an IT infrastructure automation framework"
+
+DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
+that helps engineers, system administrators and other stakeholders \
+in an IT system to manage and understand IT infrastructure throughout \
+its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit."
+
+HOMEPAGE = "http://cfengine.com"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=233aa25e53983237cf0bd4c238af255f"
+
+DEPENDS = "attr tokyocabinet bison-native"
+
+SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
+ file://set-path-of-default-config-file.patch \
+ "
+SRC_URI[md5sum] = "d4dabfa46d8afa151be5610f184354e7"
+SRC_URI[sha256sum] = "fa53e137f850eb268a8e7ae4578b5db5dc383656341f5053dc1a353ed0288265"
+
+inherit autotools-brokensep systemd
+
+export EXPLICIT_VERSION="${PV}"
+
+SYSTEMD_SERVICE_${PN} = "cfengine3.service cf-apache.service cf-hub.service cf-postgres.service \
+ cf-runalerts.service cf-execd.service \
+ cf-monitord.service cf-serverd.service \
+"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+PACKAGECONFIG ??= "libpcre openssl \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
+"
+PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2,"
+PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql,"
+PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql,"
+PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl,"
+PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt,"
+PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre,"
+PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl,"
+PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam,"
+PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml,"
+PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service"
+PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl,"
+
+EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet"
+
+do_install_append() {
+ install -d ${D}${localstatedir}/${BPN}/bin
+ for f in `ls ${D}${bindir}`; do
+ ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/
+ done
+
+ install -d ${D}${sysconfdir}/default
+ cat << EOF > ${D}${sysconfdir}/default/cfengine3
+RUN_CF_SERVERD=1
+RUN_CF_EXECD=1
+RUN_CF_MONITORD=1
+RUN_CF_HUB=0
+EOF
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3
+ sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service
+ fi
+ rm -rf ${D}${datadir}/cfengine/modules/packages/zypper
+}
+
+RDEPENDS_${PN} += "${BPN}-masterfiles"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch b/external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch
index b2a149b0..fa029da2 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch
@@ -9,19 +9,14 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
swig/python/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt
-index 128798b..391cef7 100644
--- a/swig/python/CMakeLists.txt
+++ b/swig/python/CMakeLists.txt
-@@ -49,7 +49,7 @@ ADD_DEFINITIONS(-DCMPI_PLATFORM_LINUX_GENERIC_GNU -DCMPI_VERSION=200)
+@@ -49,7 +49,7 @@ ADD_DEFINITIONS(-DCMPI_PLATFORM_LINUX_GE
SET( NAME pyCmpiProvider )
ADD_LIBRARY( ${NAME} SHARED ${SWIG_OUTPUT})
#TARGET_LINK_LIBRARIES( ${NAME} ${PYTHON_LIBRARIES} )
-TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION} )
-+TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}m )
++TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}${PYTHON_ABI} )
TARGET_LINK_LIBRARIES( ${NAME} pthread )
TARGET_LINK_LIBRARIES( ${NAME} dl )
TARGET_LINK_LIBRARIES( ${NAME} util )
---
-2.8.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
index 987c09fe..6c71d534 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
@@ -1,7 +1,7 @@
SUMMARY = "Adapter to write and run CMPI-type CIM providers"
DESCRIPTION = "CMPI-compliant provider interface for various languages via SWIG"
HOMEPAGE = "http://github.com/kkaempf/cmpi-bindings"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=b19ee058d2d5f69af45da98051d91064"
SECTION = "Development/Libraries"
DEPENDS = "swig-native python3 sblim-cmpi-devel"
@@ -22,7 +22,9 @@ S = "${WORKDIR}/git"
inherit cmake python3native
EXTRA_OECMAKE = "-DLIB='${baselib}' \
- -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION}"
+ -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \
+ -DPYTHON_ABI=${PYTHON_ABI} \
+ "
# With Ninja it fails with:
# ninja: error: build.ninja:282: bad $-escape (literal $ must be written as $$)
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch
new file mode 100644
index 00000000..7948788f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch
@@ -0,0 +1,53 @@
+From 090a17ca338a9311d682ecc5933b32bff67cf07f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 14:20:14 -0700
+Subject: [PATCH] Remove including sys/sysctl.h on glibc based systems
+
+Glibc 2.30 has added deprecation notice and collectd detects it as
+warning [1]
+
+Fixes
+sys/sysctl.h:21:2: error: "The <sys/sysctl.h> header is deprecated and
+will be removed." [-Werror,-W#warnings]
+
+[1]
+https://sourceware.org/git/?p=glibc.git;a=commit;h=744e829637162bb7d5029632aacf341c64b86990
+
+Upstream-Status: Submitted
+[https://github.com/collectd/collectd/pull/3234]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/processes.c | 2 +-
+ src/uptime.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/processes.c b/src/processes.c
+index f83913a..9f71511 100644
+--- a/src/processes.c
++++ b/src/processes.c
+@@ -87,7 +87,7 @@
+ #if HAVE_MACH_VM_PROT_H
+ #include <mach/vm_prot.h>
+ #endif
+-#if HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+ /* #endif HAVE_THREAD_INFO */
+diff --git a/src/uptime.c b/src/uptime.c
+index 0892bda..4b15150 100644
+--- a/src/uptime.c
++++ b/src/uptime.c
+@@ -33,7 +33,7 @@
+ */
+ /* #endif HAVE_LIBKSTAT */
+
+-#elif HAVE_SYS_SYSCTL_H
++#elif defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ /* Using sysctl interface to retrieve the boot time on *BSD / Darwin / OS X
+ * systems */
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch
deleted file mode 100644
index 5ee75cb4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 385bf1c2ec57942e17ee529e57eef0dcd99904e6 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Tue, 1 Sep 2015 17:00:33 +0800
-Subject: [PATCH] [PATCH] conditionally check libvirt
-
-Upstream-Statue: Pending
-
-check if libvirt is available only when a user wants to use libvirt
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-
----
- configure.ac | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 101d6f9f..a7eca97d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -5758,11 +5758,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
-
- if test "x$with_libxml2" = "xyes"; then
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
index d2c72680..8d31e12f 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
@@ -23,9 +23,9 @@ diff --git a/configure.ac b/configure.ac
index a7eca97d..560eb988 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -6794,6 +6794,7 @@ if test "x$enable_werror" != "xno"; then
- AM_CFLAGS="$AM_CFLAGS -Werror"
- AM_CXXFLAGS="$AM_CXXFLAGS -Werror"
+@@ -7101,6 +7101,7 @@ if test "x$GCC" = "xyes"; then
+ AM_CXXFLAGS="$AM_CXXFLAGS -Werror"
+ fi
fi
+AX_CHECK_COMPILE_FLAG([-Werror -Werror=format-truncation],[AM_CFLAGS="$AM_CFLAGS -Wno-error=format-truncation" AM_CXXFLAGS="$AM_CXXFLAGS -Wno-error=format-truncation"])
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch
index be942e5e..1e140f97 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch
@@ -11,8 +11,8 @@ 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"
+@@ -26,6 +26,7 @@
+ #include "utils/ignorelist/ignorelist.h"
#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch
index b12690b3..13510cde 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch
@@ -1,4 +1,4 @@
-From d65e48b68076d5b304e6d865967003ae1fea0e6c Mon Sep 17 00:00:00 2001
+From f82f8faf9942f51e9c3c773b56574652695bef5a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 May 2018 21:45:38 -0700
Subject: [PATCH] Disable new gcc8 warnings
@@ -7,17 +7,17 @@ GCC seems to be not able to detect the checks for size are
already in place
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
-Upstream-Status: Submitted [https://github.com/collectd/collectd/pull/2768]
src/libcollectdclient/network_parse.c | 7 +++++++
src/write_sensu.c | 7 +++++++
2 files changed, 14 insertions(+)
diff --git a/src/libcollectdclient/network_parse.c b/src/libcollectdclient/network_parse.c
-index 2365ab0a..79e6ed96 100644
+index aa753ce..fef43a9 100644
--- a/src/libcollectdclient/network_parse.c
+++ b/src/libcollectdclient/network_parse.c
-@@ -163,6 +163,11 @@ static int parse_int(void *payload, size_t payload_size, uint64_t *out) {
+@@ -148,6 +148,11 @@ static int parse_int(void *payload, size_t payload_size, uint64_t *out) {
return 0;
}
@@ -29,7 +29,7 @@ index 2365ab0a..79e6ed96 100644
static int parse_string(void *payload, size_t payload_size, char *out,
size_t out_size) {
char *in = payload;
-@@ -175,6 +180,8 @@ static int parse_string(void *payload, size_t payload_size, char *out,
+@@ -160,6 +165,8 @@ static int parse_string(void *payload, size_t payload_size, char *out,
return 0;
}
@@ -39,22 +39,22 @@ index 2365ab0a..79e6ed96 100644
lcc_value_list_t *state) {
char buf[LCC_NAME_LEN];
diff --git a/src/write_sensu.c b/src/write_sensu.c
-index ce23e654..63e1f599 100644
+index bd7a56d..6cb59d5 100644
--- a/src/write_sensu.c
+++ b/src/write_sensu.c
-@@ -569,6 +569,11 @@ static char *sensu_value_to_json(struct sensu_host const *host, /* {{{ */
+@@ -570,6 +570,11 @@ static char *sensu_value_to_json(struct sensu_host const *host, /* {{{ */
return ret_str;
} /* }}} char *sensu_value_to_json */
+#pragma GCC diagnostic push
-+#if __GNUC__ == 8
++#if __GNUC__ > 7
+#pragma GCC diagnostic ignored "-Wstringop-overflow"
+#pragma GCC diagnostic ignored "-Wstringop-truncation"
+#endif
/*
* Uses replace_str2() implementation from
* http://creativeandcritical.net/str-replace-c/
-@@ -631,6 +636,8 @@ static char *replace_str(const char *str, const char *old, /* {{{ */
+@@ -632,6 +637,8 @@ static char *replace_str(const char *str, const char *old, /* {{{ */
return ret;
} /* }}} char *replace_str */
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0006-libcollectdclient-Fix-string-overflow-errors.patch b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0006-libcollectdclient-Fix-string-overflow-errors.patch
new file mode 100644
index 00000000..3ed652f7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0006-libcollectdclient-Fix-string-overflow-errors.patch
@@ -0,0 +1,31 @@
+From 98719ea7f717750c790a1f9384ea8d0117e7f52d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 17 Dec 2018 18:15:05 -0800
+Subject: [PATCH] libcollectdclient: Fix string overflow errors
+
+Ensure that string has a space for ending null char
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libcollectdclient/network_parse.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/libcollectdclient/network_parse.c b/src/libcollectdclient/network_parse.c
+index fef43a9..6d65266 100644
+--- a/src/libcollectdclient/network_parse.c
++++ b/src/libcollectdclient/network_parse.c
+@@ -169,9 +169,9 @@ static int parse_string(void *payload, size_t payload_size, char *out,
+
+ static int parse_identifier(uint16_t type, void *payload, size_t payload_size,
+ lcc_value_list_t *state) {
+- char buf[LCC_NAME_LEN];
+-
+- if (parse_string(payload, payload_size, buf, sizeof(buf)) != 0)
++ char buf[LCC_NAME_LEN+1];
++ buf[LCC_NAME_LEN] = '\0';
++ if (parse_string(payload, payload_size, buf, LCC_NAME_LEN) != 0)
+ return EINVAL;
+
+ switch (type) {
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.11.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.11.0.bb
new file mode 100644
index 00000000..a70e82e0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.11.0.bb
@@ -0,0 +1,88 @@
+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-fix-to-build-with-glibc-2.25.patch \
+ file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
+ file://0005-Disable-new-gcc8-warnings.patch \
+ file://0006-libcollectdclient-Fix-string-overflow-errors.patch \
+ file://0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch \
+ "
+SRC_URI[md5sum] = "13b1c946f6684abe453e24b5cd80ec45"
+SRC_URI[sha256sum] = "37b10a806e34aa8570c1cafa6006c604796fae13cc2e1b3e630d33dcba9e5db2"
+
+inherit autotools python3native 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-virt,--disable-virt,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
+ install -Dm 0640 ${B}/src/collectd.conf ${D}${sysconfdir}/collectd.conf
+ # 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/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.0.bb
deleted file mode 100644
index df9fa233..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.0.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-SUMMARY = "Collects and summarises system performance statistics"
-DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files."
-LICENSE = "GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1bd21f19f7f0c61a7be8ecacb0e28854"
-
-DEPENDS = "rrdtool curl libpcap libxml2 yajl libgcrypt libtool lvm2"
-
-SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \
- file://collectd.init \
- file://collectd.service \
- file://no-gcrypt-badpath.patch \
- file://0001-conditionally-check-libvirt.patch \
- file://0001-fix-to-build-with-glibc-2.25.patch \
- file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
- file://0005-Disable-new-gcc8-warnings.patch \
- "
-SRC_URI[md5sum] = "a841159323624f18bf03198e9f5aa364"
-SRC_URI[sha256sum] = "b06ff476bbf05533cb97ae6749262cc3c76c9969f032bd8496690084ddeb15c9"
-
-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-virt,--disable-virt,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
- install -Dm 0640 ${B}/src/collectd.conf ${D}${sysconfdir}/collectd.conf
- # 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/external/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb b/external/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb
deleted file mode 100644
index 2df7db9e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Data recovery tool"
-DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
- from one file or block device (hard disc, cdrom, etc) to another, \
- trying hard to rescue data in case of read errors."
-HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
-SECTION = "console"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
- file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
-SRC_URI[md5sum] = "49c845ed89d25b534842e40366154cb4"
-SRC_URI[sha256sum] = "09857b2e8074813ac19da5d262890f722e5f7900e521a4c60354cef95eea10a7"
-
-# This isn't already added by base.bbclass
-do_unpack[depends] += "lzip-native:do_populate_sysroot"
-
-CONFIGUREOPTS = "\
- '--srcdir=${S}' \
- '--prefix=${prefix}' \
- '--exec-prefix=${exec_prefix}' \
- '--bindir=${bindir}' \
- '--datadir=${datadir}' \
- '--infodir=${infodir}' \
- '--sysconfdir=${sysconfdir}' \
- 'CXX=${CXX}' \
- 'CPPFLAGS=${CPPFLAGS}' \
- 'CXXFLAGS=${CXXFLAGS}' \
- 'LDFLAGS=${LDFLAGS}' \
-"
-EXTRA_OEMAKE = ""
-
-do_configure () {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
- # Info dir listing isn't interesting at this point so remove it if it exists.
- if [ -e "${D}${infodir}/dir" ]; then
- rm -f ${D}${infodir}/dir
- fi
-}
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb b/external/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb
new file mode 100644
index 00000000..cf24354f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Data recovery tool"
+DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
+ from one file or block device (hard disc, cdrom, etc) to another, \
+ trying hard to rescue data in case of read errors."
+HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
+SECTION = "console"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+ file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
+SRC_URI[md5sum] = "99fd7a28bf9953d88534c7ee9ab5bd2a"
+SRC_URI[sha256sum] = "ce538ebd26a09f45da67d3ad3f7431932428231ceec7a2d255f716fa231a1063"
+
+# This isn't already added by base.bbclass
+do_unpack[depends] += "lzip-native:do_populate_sysroot"
+
+CONFIGUREOPTS = "\
+ '--srcdir=${S}' \
+ '--prefix=${prefix}' \
+ '--exec-prefix=${exec_prefix}' \
+ '--bindir=${bindir}' \
+ '--datadir=${datadir}' \
+ '--infodir=${infodir}' \
+ '--sysconfdir=${sysconfdir}' \
+ 'CXX=${CXX}' \
+ 'CPPFLAGS=${CPPFLAGS}' \
+ 'CXXFLAGS=${CXXFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+"
+EXTRA_OEMAKE = ""
+
+do_configure () {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}${infodir}/dir" ]; then
+ rm -f ${D}${infodir}/dir
+ fi
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20180621.bb b/external/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20180621.bb
deleted file mode 100644
index e9879594..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20180621.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "display dialog boxes from shell scripts"
-DESCRIPTION = "Dialog lets you to present a variety of questions \
-or display messages using dialog boxes from a shell \
-script (or any scripting language)."
-HOMEPAGE = "http://invisible-island.net/dialog/"
-SECTION = "console/utils"
-DEPENDS = "ncurses"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
- "
-SRC_URI[md5sum] = "1dba09cf45ac4ba40b3cb4a3f1d694b2"
-SRC_URI[sha256sum] = "4a4859e2b22d24e46c1a529b5a5605b95503aa04da4432f7bbd713e3e867587a"
-
-# 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/external/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190808.bb b/external/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190808.bb
new file mode 100644
index 00000000..a1acfcd0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190808.bb
@@ -0,0 +1,29 @@
+SUMMARY = "display dialog boxes from shell scripts"
+DESCRIPTION = "Dialog lets you to present a variety of questions \
+or display messages using dialog boxes from a shell \
+script (or any scripting language)."
+HOMEPAGE = "http://invisible-island.net/dialog/"
+SECTION = "console/utils"
+DEPENDS = "ncurses"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
+ "
+SRC_URI[md5sum] = "f48b597251a26c522002736652e0300c"
+SRC_URI[sha256sum] = "886e12f2cf3df36cde65f32f6ae52bc598eb2599a611b1d8ce5dfdea599e47e2"
+
+# 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/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch b/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
new file mode 100644
index 00000000..181be25c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
@@ -0,0 +1,94 @@
+From bcca4c99394ba422d03a5e76f2a0023ef248824a Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei.gherzan@windriver.com>
+Date: Tue, 18 Nov 2014 15:47:22 +0100
+Subject: [PATCH 2/4] Don't execute processes as a specific user.
+
+Upstream-Status: Inappropriate [Configuration Specific]
+Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
+---
+ systemd/dlt-adaptor-udp.service.cmake | 1 -
+ systemd/dlt-dbus.service.cmake | 1 -
+ systemd/dlt-example-user.service.cmake | 1 -
+ systemd/dlt-receive.service.cmake | 1 -
+ systemd/dlt-system.service.cmake | 1 -
+ systemd/dlt.service.cmake | 1 -
+ 6 files changed, 6 deletions(-)
+
+diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake
+index 8dac1f2..ecf9f9e 100644
+--- a/systemd/dlt-adaptor-udp.service.cmake
++++ b/systemd/dlt-adaptor-udp.service.cmake
+@@ -21,9 +21,8 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-adaptor-udp -a @DLT_ADAPTOR_UDP_APPID@ -c @DLT_ADAPTOR_UDP_CTID@ -p @DLT_ADAPTOR_UDP_PORT@
+ LimitCORE=infinity
+
+ [Install]
+-WantedBy=multi-user.target
+\ No newline at end of file
++WantedBy=multi-user.target
+diff --git a/systemd/dlt-dbus.service.cmake b/systemd/dlt-dbus.service.cmake
+index 9baf3e9..74a7eac 100644
+--- a/systemd/dlt-dbus.service.cmake
++++ b/systemd/dlt-dbus.service.cmake
+@@ -20,7 +20,6 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
+diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake
+index b665742..35009b0 100644
+--- a/systemd/dlt-example-user.service.cmake
++++ b/systemd/dlt-example-user.service.cmake
+@@ -21,6 +21,5 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application"
+-LimitCORE=infinity
+\ No newline at end of file
++LimitCORE=infinity
+diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake
+index c07d447..8f88f00 100644
+--- a/systemd/dlt-receive.service.cmake
++++ b/systemd/dlt-receive.service.cmake
+@@ -22,6 +22,5 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost
+-LimitCORE=infinity
+\ No newline at end of file
++LimitCORE=infinity
+diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake
+index 0e91f42..1a5b913 100755
+--- a/systemd/dlt-system.service.cmake
++++ b/systemd/dlt-system.service.cmake
+@@ -22,7 +22,6 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
+diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake
+index 0b3ee2c..e4753a2 100755
+--- a/systemd/dlt.service.cmake
++++ b/systemd/dlt.service.cmake
+@@ -21,7 +21,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch b/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch
new file mode 100644
index 00000000..ce028c0c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch
@@ -0,0 +1,24 @@
+From 9a5e655cf57301008cd61d53c8a410a7f397e650 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei.gherzan@windriver.com>
+Date: Tue, 18 Nov 2014 15:51:30 +0100
+Subject: [PATCH 4/4] Modify systemd config directory
+
+Upstream-Status: Inappropriate [Configuration Specific]
+Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
+---
+ systemd/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e6b44a2..0e885bf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -201,7 +201,7 @@ if(WITH_SYSTEMD OR WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD_JOURNAL)
+
+ set(systemd_SRCS ${PROJECT_SOURCE_DIR}/systemd/3rdparty/sd-daemon.c)
+
+- set(SYSTEMD_UNITDIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system" CACHE PATH
++ set(SYSTEMD_UNITDIR "/lib/systemd/system" CACHE PATH
+ "Set directory to install systemd unit files")
+
+ add_subdirectory(systemd)
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/204.patch b/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/204.patch
new file mode 100644
index 00000000..f0fc0bcb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/204.patch
@@ -0,0 +1,148 @@
+Upstream-Status: Submitted [https://github.com/GENIVI/dlt-daemon/pull/204]
+From 92830aff6e91041f574753d78da758c62981d9a4 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Sat, 25 Jan 2020 09:08:07 +0100
+Subject: [PATCH 1/3] dlt_user.h: fix build when musl is the libc
+ implementation, by adding a missing include for pthread_t reference:
+
+see https://errors.yoctoproject.org/Errors/Details/308000/ for details
+
+Thanks Khem Raj <raj.khem@gmail.com> for the report
+
+Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
+---
+ include/dlt/dlt_user.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/dlt/dlt_user.h b/include/dlt/dlt_user.h
+index 69cb854..766d349 100644
+--- a/include/dlt/dlt_user.h
++++ b/include/dlt/dlt_user.h
+@@ -74,6 +74,7 @@
+ \{
+ */
+ # include <mqueue.h>
++# include <pthread.h>
+
+ # if !defined (__WIN32__)
+ # include <semaphore.h>
+
+From 5f67aba02c12b7446e63ccc86285c13bc5c7a432 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Sat, 25 Jan 2020 09:16:14 +0100
+Subject: [PATCH 2/3] dlt-test-init-free: fix build failure with strict
+ compiler flags, due to uint being undefined. This is actually an "int" type,
+ looking at the test implementation
+
+Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
+---
+ src/tests/dlt-test-init-free.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/tests/dlt-test-init-free.c b/src/tests/dlt-test-init-free.c
+index 96b5245..35b8803 100644
+--- a/src/tests/dlt-test-init-free.c
++++ b/src/tests/dlt-test-init-free.c
+@@ -32,7 +32,7 @@
+
+ void exec(const char *cmd, char *buffer, size_t length);
+ void printMemoryUsage();
+-char *occupyMemory(uint size);
++char *occupyMemory(int size);
+ void do_example_test();
+ void do_dlt_test();
+
+@@ -131,7 +131,7 @@ void printMemoryUsage()
+ printf("%s", result);
+ }
+
+-char *occupyMemory(uint size)
++char *occupyMemory(int size)
+ {
+ char *buf = (char *)malloc(size * sizeof(char));
+
+
+From c790d61fad382e5d3e648ee99904087eb9bc4a77 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Sat, 25 Jan 2020 09:20:48 +0100
+Subject: [PATCH 3/3] sys/poll.h: deprecate old sys/poll.h include header, now
+ glibc/musl wants poll.h being included directly. This fixes a build failure
+ on musl systems with strict c hardening flags
+
+Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
+---
+ src/console/logstorage/dlt-logstorage-ctrl.c | 2 +-
+ src/daemon/dlt_daemon_event_handler.c | 2 +-
+ src/daemon/dlt_daemon_event_handler.h | 2 +-
+ src/daemon/dlt_daemon_event_handler_types.h | 2 +-
+ src/lib/dlt_user.c | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/console/logstorage/dlt-logstorage-ctrl.c b/src/console/logstorage/dlt-logstorage-ctrl.c
+index 525c137..6614f44 100644
+--- a/src/console/logstorage/dlt-logstorage-ctrl.c
++++ b/src/console/logstorage/dlt-logstorage-ctrl.c
+@@ -61,7 +61,7 @@
+ #include <string.h>
+ #include <getopt.h>
+
+-#include <sys/poll.h>
++#include <poll.h>
+
+ #if defined(__linux__)
+ # include "sd-daemon.h"
+diff --git a/src/daemon/dlt_daemon_event_handler.c b/src/daemon/dlt_daemon_event_handler.c
+index 1611f7b..0d463da 100644
+--- a/src/daemon/dlt_daemon_event_handler.c
++++ b/src/daemon/dlt_daemon_event_handler.c
+@@ -30,7 +30,7 @@
+ #include <string.h>
+ #include <errno.h>
+
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <syslog.h>
+
+ #include "dlt_common.h"
+diff --git a/src/daemon/dlt_daemon_event_handler.h b/src/daemon/dlt_daemon_event_handler.h
+index eb96101..bd550d3 100644
+--- a/src/daemon/dlt_daemon_event_handler.h
++++ b/src/daemon/dlt_daemon_event_handler.h
+@@ -25,7 +25,7 @@
+ * \file dlt_daemon_event_handler.h
+ */
+
+-#include <sys/poll.h>
++#include <poll.h>
+
+ #include "dlt_daemon_connection_types.h"
+ #include "dlt_daemon_event_handler_types.h"
+diff --git a/src/daemon/dlt_daemon_event_handler_types.h b/src/daemon/dlt_daemon_event_handler_types.h
+index 370e503..0b16d08 100644
+--- a/src/daemon/dlt_daemon_event_handler_types.h
++++ b/src/daemon/dlt_daemon_event_handler_types.h
+@@ -25,7 +25,7 @@
+ * \file dlt_daemon_event_handler_types.h
+ */
+
+-#include <sys/poll.h>
++#include <poll.h>
+
+ #include "dlt_daemon_connection_types.h"
+
+#diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
+#index ffa9b09..511f991 100644
+#--- a/src/lib/dlt_user.c
+#+++ b/src/lib/dlt_user.c
+#@@ -43,7 +43,7 @@
+# #include <errno.h>
+#
+# #include <sys/uio.h> /* writev() */
+#-#include <sys/poll.h>
+#+#include <poll.h>
+#
+# #include <limits.h>
+# #ifdef linux
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.4.bb b/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.4.bb
new file mode 100644
index 00000000..35c638bc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.4.bb
@@ -0,0 +1,62 @@
+SUMMARY = "Diagnostic Log and Trace"
+DESCRIPTION = "This component provides a standardised log and trace interface, \
+based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \
+This component can be used by GENIVI components and other applications as \
+logging facility providing: \
+- the DLT shared library \
+- the DLT daemon, including startup scripts \
+- the DLT daemon adaptors- the DLT client console utilities \
+- the DLT test applications"
+HOMEPAGE = "https://www.genivi.org/"
+SECTION = "console/utils"
+LICENSE = "MPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea"
+
+DEPENDS = "zlib gzip-native"
+
+SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https \
+ file://0002-Don-t-execute-processes-as-a-specific-user.patch \
+ file://0004-Modify-systemd-config-directory.patch \
+ file://204.patch \
+"
+SRCREV = "14ea971be7e808b9c5099c7f404ed3cf341873c4"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES','systemd', d)}"
+# General options
+PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF,,dlt-daemon-systemd"
+
+# Linux options
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[systemd-watchdog] = "-DWITH_SYSTEMD_WATCHDOG=ON,-DWITH_SYSTEMD_WATCHDOG=OFF,systemd,libsystemd"
+PACKAGECONFIG[systemd-journal] = "-DWITH_SYSTEMD_JOURNAL=ON,-DWITH_SYSTEMD_JOURNAL=OFF,systemd,libsystemd"
+PACKAGECONFIG[dlt-dbus] = "-DWITH_DLT_DBUS=ON,-DWITH_DLT_DBUS=OFF,dbus,dbus-lib"
+PACKAGECONFIG[udp-connection] = "-DWITH_UDP_CONNECTION=ON,-DWITH_UDP_CONNECTION=OFF"
+
+# Command line options
+PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF"
+PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF,,dlt-daemon-systemd"
+PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd"
+
+inherit autotools gettext cmake systemd
+
+EXTRA_OECMAKE += "-DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
+
+PACKAGES += "${PN}-systemd"
+SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'dlt.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'dlt-system', 'dlt-system.service', '', d)}"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+SYSTEMD_SERVICE_${PN}-systemd = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'dlt-adaptor', 'dlt-adaptor-udp.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples', 'dlt-example-user.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples dlt-console', 'dlt-receive.service', '', d)} \
+"
+SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable"
+
+FILES_${PN}-doc += "${datadir}/dlt-filetransfer"
+
+do_install_append() {
+ rm -f ${D}${bindir}/dlt-test-*
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp/0001-Set-library-VERSION-and-SOVERSION.patch b/external/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp/0001-Set-library-VERSION-and-SOVERSION.patch
new file mode 100644
index 00000000..d4c77656
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp/0001-Set-library-VERSION-and-SOVERSION.patch
@@ -0,0 +1,31 @@
+From a47ca75702318ff43446c70120f7aacde4ccee1b Mon Sep 17 00:00:00 2001
+From: Eero Aaltonen <eero.aaltonen@vaisala.com>
+Date: Thu, 20 Jun 2019 16:21:20 +0300
+Subject: [PATCH] Set library VERSION and SOVERSION
+
+With soversion and version specified, `install` target will install the
+library with the specified version and also create the proper symlink.
+
+Upstream-Status: Submitted [https://github.com/docopt/docopt.cpp/pull/112]
+but unlikely to be merged soon as it is a duplicate of
+[https://github.com/docopt/docopt.cpp/pull/112] which has been **Open**
+since 2016-12-08.
+---
+ CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 23da468..feff32e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,6 +50,10 @@ else()
+ set_target_properties(docopt_o PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
+
+ add_library(docopt SHARED $<TARGET_OBJECTS:docopt_o>)
++ set_target_properties(docopt PROPERTIES
++ VERSION ${PROJECT_VERSION}
++ SOVERSION ${PROJECT_VERSION_MAJOR}
++ )
+ add_library(docopt_s STATIC $<TARGET_OBJECTS:docopt_o>)
+ endif()
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb
new file mode 100644
index 00000000..aa55ebf8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "C++11 port of docopt command-line interface description language and parser"
+
+DESCRIPTION = "docopt is library that lets you define a command line interface with the \
+utility argument syntax that has been used by command line utilities for \
+decades (formalized in POSIX.1-2017). From the description, docopt \
+automatically generates a parser for the command line arguments."
+
+HOMEPAGE = "https://github.com/docopt/docopt.cpp"
+
+LICENSE = "MIT | BSL-1.0"
+LIC_FILES_CHKSUM = "\
+ file://LICENSE-Boost-1.0;md5=e4224ccaecb14d942c71d31bef20d78c \
+ file://LICENSE-MIT;md5=4b242fd9ef20207e18286d73da8a6677 \
+"
+
+DEPENDS = "boost"
+SRCREV = "3dd23e3280f213bacefdf5fcb04857bf52e90917"
+PV = "0.6.2+git${SRCPV}"
+
+SRC_URI = "\
+ git://github.com/docopt/docopt.cpp.git;protocol=https \
+ file://0001-Set-library-VERSION-and-SOVERSION.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb
deleted file mode 100644
index e1a6d950..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Simple wrapper script which proxies signals to a child"
-HOMEPAGE = "https://github.com/Yelp/dumb-init/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5940d39995ea6857d01b8227109c2e9c"
-
-SRC_URI = "https://github.com/Yelp/dumb-init/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "4eb7f43d7823686723ff7ac1bad097cb"
-SRC_URI[sha256sum] = "74486997321bd939cad2ee6af030f481d39751bc9aa0ece84ed55f864e309a3f"
-
-EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS} ${LDFLAGS}'"
-
-do_install() {
- install -d ${D}${base_sbindir}
- install ${S}/dumb-init ${D}${base_sbindir}/
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.2.bb
new file mode 100644
index 00000000..09eab9dc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Simple wrapper script which proxies signals to a child"
+HOMEPAGE = "https://github.com/Yelp/dumb-init/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5940d39995ea6857d01b8227109c2e9c"
+
+SRCREV = "b1e978e486114797347deefcc03ab12629a13cc3"
+SRC_URI = "git://github.com/Yelp/dumb-init"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS} ${LDFLAGS}'"
+
+do_install() {
+ install -d ${D}${base_sbindir}
+ install ${S}/dumb-init ${D}${base_sbindir}/
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/0001-Fix-builds-with-recent-gettext.patch b/external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/0001-Fix-builds-with-recent-gettext.patch
new file mode 100644
index 00000000..ecfafce1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/0001-Fix-builds-with-recent-gettext.patch
@@ -0,0 +1,24 @@
+From 771cd2a12db8b8c9a558f1a04958df8ed614f2e0 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 20 Dec 2019 14:06:50 +0100
+Subject: [PATCH] Fix builds with recent gettext
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index dedabd6..8833ac9 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -22,7 +22,7 @@
+ # along with Enscript. If not, see <http://www.gnu.org/licenses/>.
+ #
+
+-SUBDIRS = intl compat afm afmlib lib scripts src po states docs w32
++SUBDIRS = compat afm afmlib lib scripts src po states docs w32
+
+ EXTRA_DIST = README.ESCAPES README.DOS ascii.txt \
+ asciifise.txt asciidkno.txt 88591.txt 88592.txt 88593.txt 88594.txt \
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb b/external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
index 2b6d14e6..82791f57 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
@@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://enscript-autoconf.patch \
-"
+ file://0001-Fix-builds-with-recent-gettext.patch \
+ "
inherit autotools gettext
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/figlet/figlet/0001-build-add-autotools-support-to-allow-easy-cross-comp.patch b/external/meta-openembedded/meta-oe/recipes-extended/figlet/figlet/0001-build-add-autotools-support-to-allow-easy-cross-comp.patch
new file mode 100644
index 00000000..4429a474
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/figlet/figlet/0001-build-add-autotools-support-to-allow-easy-cross-comp.patch
@@ -0,0 +1,252 @@
+From 902b022c03ad6769abe4d7e6fde1df7a883857ef Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Date: Tue, 24 Mar 2020 14:44:54 +0100
+Subject: [PATCH] build: add autotools support to allow easy cross-compilation
+
+Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Upstream-Status: Inappropriate [upstream uses a custom Makefile and builds on
+ linux as well as Windows. I'm not sure autotools
+ would be preferred as a general solution but it
+ works well enough for yocto.]
+---
+ Makefile | 122 ---------------------------------------------------
+ Makefile.am | 67 ++++++++++++++++++++++++++++
+ configure.ac | 23 ++++++++++
+ 3 files changed, 90 insertions(+), 122 deletions(-)
+ delete mode 100644 Makefile
+ create mode 100644 Makefile.am
+ create mode 100644 configure.ac
+
+diff --git a/Makefile b/Makefile
+deleted file mode 100644
+index e92bcaf..0000000
+--- a/Makefile
++++ /dev/null
+@@ -1,122 +0,0 @@
+-# Makefile for figlet version 2.2.4 (26 Jan 2011)
+-# adapted from Makefile for figlet version 2.2.2 (05 July 2005)
+-# adapted from Makefile for figlet version 2.2 (15 Oct 1996)
+-# Copyright 1993, 1994,1995 Glenn Chappell and Ian Chai
+-# Copyright 1996, 1997, 1998, 1999, 2000, 2001 John Cowan
+-# Copyright 2002 Christiaan Keet
+-# Copyright 2011 Claudio Matsuoka
+-
+-# Please notice that to follow modern standards and ease third-party
+-# package creation, binaries are now installed under BINDIR, and DESTDIR
+-# is reserved for the installation pathname prefix.
+-#
+-# Please make sure BINDIR, MANDIR, DEFAULTFONTDIR and
+-# DEFAULTFONTFILE are defined to reflect the situation
+-# on your computer. See README for details.
+-
+-# Don't change this even if your shell is different. The only reason
+-# for changing this is if sh is not in the same place.
+-SHELL = /bin/sh
+-
+-# The C compiler and linker to use
+-CC = gcc
+-CFLAGS = -g -O2 -Wall -Wno-unused-value
+-LD = gcc
+-LDFLAGS =
+-
+-# Feature flags:
+-# define TLF_FONTS to use TOIlet TLF fonts
+-XCFLAGS = -DTLF_FONTS
+-
+-# Where to install files
+-prefix = /usr/local
+-
+-# Where the executables should be put
+-BINDIR = $(prefix)/bin
+-
+-# Where the man page should be put
+-MANDIR = $(prefix)/man
+-
+-# Where figlet will search first for fonts (the ".flf" files).
+-DEFAULTFONTDIR = $(prefix)/share/figlet
+-# Use this definition if you can't put things in $(prefix)/share/figlet
+-#DEFAULTFONTDIR = fonts
+-
+-# The filename of the font to be used if no other is specified,
+-# without suffix.(standard is recommended, but any other can be
+-# used). This font file should reside in the directory specified
+-# by DEFAULTFONTDIR.
+-DEFAULTFONTFILE = standard
+-
+-##
+-## END OF CONFIGURATION SECTION
+-##
+-
+-VERSION = 2.2.5
+-DIST = figlet-$(VERSION)
+-OBJS = figlet.o zipio.o crc.o inflate.o utf8.o
+-BINS = figlet chkfont figlist showfigfonts
+-MANUAL = figlet.6 chkfont.6 figlist.6 showfigfonts.6
+-DFILES = Makefile Makefile.tc $(MANUAL) $(OBJS:.o=.c) chkfont.c getopt.c \
+- figlist showfigfonts CHANGES FAQ README LICENSE figfont.txt \
+- crc.h inflate.h zipio.h utf8.h run-tests.sh figmagic
+-
+-.c.o:
+- $(CC) -c $(CFLAGS) $(XCFLAGS) -DDEFAULTFONTDIR=\"$(DEFAULTFONTDIR)\" \
+- -DDEFAULTFONTFILE=\"$(DEFAULTFONTFILE)\" -o $*.o $<
+-
+-all: $(BINS)
+-
+-figlet: $(OBJS)
+- $(LD) $(LDFLAGS) -o $@ $(OBJS)
+-
+-chkfont: chkfont.o
+- $(LD) $(LDFLAGS) -o $@ chkfont.o
+-
+-clean:
+- rm -f *.o *~ core figlet chkfont
+-
+-install: all
+- mkdir -p $(DESTDIR)$(BINDIR)
+- mkdir -p $(DESTDIR)$(MANDIR)/man6
+- mkdir -p $(DESTDIR)$(DEFAULTFONTDIR)
+- cp $(BINS) $(DESTDIR)$(BINDIR)
+- cp $(MANUAL) $(DESTDIR)$(MANDIR)/man6
+- cp fonts/*.flf $(DESTDIR)$(DEFAULTFONTDIR)
+- cp fonts/*.flc $(DESTDIR)$(DEFAULTFONTDIR)
+-
+-dist:
+- rm -Rf $(DIST) $(DIST).tar.gz
+- mkdir $(DIST)/
+- cp $(DFILES) $(DIST)/
+- mkdir $(DIST)/fonts
+- cp fonts/*.fl[fc] $(DIST)/fonts
+- mkdir $(DIST)/tests
+- cp tests/*txt tests/emboss.tlf $(DIST)/tests
+- tar cvf - $(DIST) | gzip -9c > $(DIST).tar.gz
+- rm -Rf $(DIST)
+- tar xf $(DIST).tar.gz
+- (cd $(DIST); make all check vercheck)
+- @rm -Rf $(DIST)
+- @echo
+- @ls -l $(DIST).tar.gz
+-
+-check:
+- @echo "Run tests in `pwd`"
+- @./run-tests.sh fonts
+- @echo
+-
+-vercheck:
+- @printf "Infocode: "; ./figlet -I1
+- @./figlet -v|sed -n '/Version/s/.*\(Version\)/\1/p'
+- @printf "README: "; head -1 < README|sed 's/.*) //'
+- @printf "FAQ: "; grep latest FAQ|sed 's/ and can.*//'
+- @grep -h "^\.TH" *.6
+-
+-$(OBJS) chkfont.o getopt.o: Makefile
+-chkfont.o: chkfont.c
+-crc.o: crc.c crc.h
+-figlet.o: figlet.c zipio.h
+-getopt.o: getopt.c
+-inflate.o: inflate.c inflate.h
+-zipio.o: zipio.c zipio.h inflate.h crc.h
+diff --git a/Makefile.am b/Makefile.am
+new file mode 100644
+index 0000000..7feb42c
+--- /dev/null
++++ b/Makefile.am
+@@ -0,0 +1,67 @@
++AM_CFLAGS = -include $(top_builddir)/config.h -Wall -Wextra -g
++
++bin_PROGRAMS = figlet chkfont
++dist_bin_SCRIPTS = figlist showfigfonts
++
++figlet_SOURCES = figlet.c zipio.c crc.c inflate.c utf8.c
++chkfont_SOURCES = chkfont.c
++
++fontdir = $(prefix)/share/figlet
++dist_font_DATA = \
++ fonts/646-ca2.flc \
++ fonts/646-fr.flc \
++ fonts/646-no.flc \
++ fonts/8859-4.flc \
++ fonts/bubble.flf \
++ fonts/lean.flf \
++ fonts/smscript.flf \
++ fonts/utf8.flc \
++ fonts/646-ca.flc \
++ fonts/646-gb.flc \
++ fonts/646-pt2.flc \
++ fonts/8859-5.flc \
++ fonts/digital.flf \
++ fonts/mini.flf \
++ fonts/smshadow.flf \
++ fonts/646-cn.flc \
++ fonts/646-hu.flc \
++ fonts/646-pt.flc \
++ fonts/8859-7.flc \
++ fonts/frango.flc \
++ fonts/mnemonic.flf \
++ fonts/smslant.flf \
++ fonts/646-cu.flc \
++ fonts/646-irv.flc \
++ fonts/646-se2.flc \
++ fonts/8859-8.flc \
++ fonts/hz.flc \
++ fonts/moscow.flc \
++ fonts/standard.flf \
++ fonts/646-de.flc \
++ fonts/646-it.flc \
++ fonts/646-se.flc \
++ fonts/8859-9.flc \
++ fonts/ilhebrew.flc \
++ fonts/script.flf \
++ fonts/term.flf \
++ fonts/646-dk.flc \
++ fonts/646-jp.flc \
++ fonts/646-yu.flc \
++ fonts/banner.flf \
++ fonts/ivrit.flf \
++ fonts/shadow.flf \
++ fonts/upper.flc \
++ fonts/646-es2.flc \
++ fonts/646-kr.flc \
++ fonts/8859-2.flc \
++ fonts/big.flf \
++ fonts/jis0201.flc \
++ fonts/slant.flf \
++ fonts/ushebrew.flc \
++ fonts/646-es.flc \
++ fonts/646-no2.flc \
++ fonts/8859-3.flc \
++ fonts/block.flf \
++ fonts/koi8r.flc \
++ fonts/small.flf \
++ fonts/uskata.flc
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..72154e2
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,23 @@
++AC_PREREQ(2.61)
++
++AC_INIT([figlet], 2.2.5)
++
++AC_CONFIG_AUX_DIR([autostuff])
++AC_CONFIG_MACRO_DIRS([m4])
++AM_INIT_AUTOMAKE([foreign subdir-objects])
++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
++
++AC_CONFIG_SRCDIR([figlet.c])
++AC_CONFIG_HEADER([config.h])
++
++AC_DEFINE([DEFAULTFONTDIR], ["/usr/share/figlet"], [Default font directory])
++AC_DEFINE([DEFAULTFONTFILE], ["standard"], [Default font])
++
++AM_PROG_AR
++AC_PROG_CC
++AC_PROG_INSTALL
++AC_HEADER_STDC
++
++AC_CONFIG_FILES([Makefile])
++
++AC_OUTPUT
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/figlet/figlet_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/figlet/figlet_git.bb
new file mode 100644
index 00000000..4611646b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/figlet/figlet_git.bb
@@ -0,0 +1,15 @@
+SUMMARY = "FIGlet is a program that creates large characters out of ordinary screen characters"
+HOMEPAGE = "http://www.figlet.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1688bcd97b27704f1afcac7336409857"
+
+SRC_URI = "git://github.com/cmatsuoka/figlet.git \
+ file://0001-build-add-autotools-support-to-allow-easy-cross-comp.patch"
+SRCREV = "5bbcd7383a8c3a531299b216b0c734e1495c6db3"
+S = "${WORKDIR}/git"
+PV = "2.2.5+git${SRCPV}"
+
+inherit autotools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch
deleted file mode 100644
index e9eed24b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-fluent-bit-shared-Link-with-lpthread.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 62fa9bceb15a9d160dd5d624a6d46907c1019c5c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Sep 2017 17:02:55 -0700
-Subject: [PATCH] fluent-bit-shared: Link with -lpthread
-
-This fixes a reference to pthread_atfork in libfluent-bit.so
-otherwise we get undefined reference to the symbols in binaries
-which are linked with libfluent-bit.so
-
-Fixes errors like
-arm-bec-linux-gnueabi-ld: ../../bin/hello_world: hidden symbol `pthread_atfork' in /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/fluentbit/0.12.1-r0/recipe-sysroot/usr/lib/libpthread_nonshared.a(pthread_atfork.oS) is referenced by DSO
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- src/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 425a246..1264e59 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -168,7 +168,7 @@ set(FLB_DEPS
- # Shared Library
- if(NOT FLB_WITHOUT_SHARED_LIB)
- add_library(fluent-bit-shared SHARED ${src})
-- target_link_libraries(fluent-bit-shared ${FLB_DEPS})
-+ target_link_libraries(fluent-bit-shared ${FLB_DEPS} -lpthread)
- set_target_properties(fluent-bit-shared
- PROPERTIES OUTPUT_NAME fluent-bit)
-
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
new file mode 100644
index 00000000..1f36c657
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
@@ -0,0 +1,38 @@
+From be4032079c931704f52e29f5da5c01cde24ac842 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 16 Jan 2020 10:44:58 -0800
+Subject: [PATCH] ppc: Fix signature for co_create API
+
+Upstream-Status: Submitted [https://github.com/fluent/fluent-bit/pull/1886]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/flb_libco/ppc.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/lib/flb_libco/ppc.c b/lib/flb_libco/ppc.c
+index e6536d56..533256b3 100644
+--- a/lib/flb_libco/ppc.c
++++ b/lib/flb_libco/ppc.c
+@@ -279,7 +279,9 @@ static uint32_t* co_create_(unsigned size, uintptr_t entry) {
+ return t;
+ }
+
+-cothread_t co_create(unsigned int size, void (*entry_)(void)) {
++cothread_t co_create(unsigned int size, void (*entry_)(void),
++ size_t *out_size) {
++
+ uintptr_t entry = (uintptr_t)entry_;
+ uint32_t* t = 0;
+
+@@ -325,7 +327,7 @@ cothread_t co_create(unsigned int size, void (*entry_)(void)) {
+ t[10] = (uint32_t)(sp >> shift >> shift);
+ t[11] = (uint32_t)sp;
+ }
+-
++ *out_size = size;
+ return t;
+ }
+
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
new file mode 100644
index 00000000..8ffc3be3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
@@ -0,0 +1,27 @@
+help complier to use intrinsics, clang in few cases e.g. aarch64 can not
+and then requires linking with libm, its the only function needed from libm then
+its good to avoid needing it.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/include/fluent-bit/stream_processor/flb_sp_timeseries.h
++++ b/include/fluent-bit/stream_processor/flb_sp_timeseries.h
+@@ -207,7 +207,7 @@ void cb_forecast_calc(struct timeseries
+ result = b0 + b1 * (val->f64 + *forecast->latest_x);
+ break;
+ default:
+- result = nan("");
++ result = __builtin_nan("");
+ break;
+ }
+
+@@ -283,7 +283,7 @@ void cb_forecast_r_calc(struct timeserie
+ result = ((val->i64 - b0) / b1) - *forecast->latest_x;
+ break;
+ default:
+- result = nan("");
++ result = __builtin_nan("");
+ break;
+ }
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
new file mode 100644
index 00000000..a1857899
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
@@ -0,0 +1,38 @@
+Define CMake variables to indicate init system for target
+incase of cross compile, detecting systemd support based on
+host directory structure is not right thing to do
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.kheem@gmail.com>
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -317,7 +317,7 @@ if(FLB_BINARY)
+ install(TARGETS fluent-bit-bin RUNTIME DESTINATION ${FLB_INSTALL_BINDIR})
+
+ # Detect init system, install upstart, systemd or init.d script
+- if(IS_DIRECTORY /lib/systemd/system)
++ if(IS_DIRECTORY /lib/systemd/system OR FLB_SYSTEMD)
+ set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
+ configure_file(
+ "${PROJECT_SOURCE_DIR}/init/systemd.in"
+@@ -325,7 +325,7 @@ if(FLB_BINARY)
+ )
+ install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
+ install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
+- elseif(IS_DIRECTORY /usr/share/upstart)
++ elseif(IS_DIRECTORY /usr/share/upstart OR FLB_UPSTART)
+ set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
+ configure_file(
+ "${PROJECT_SOURCE_DIR}/init/upstart.in"
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -70,6 +70,8 @@ option(FLB_RECORD_ACCESSOR "Enable re
+ option(FLB_SYSTEM_STRPTIME "Use strptime in system libc" Yes)
+ option(FLB_STATIC_CONF "Build binary using static configuration")
+ option(FLB_STREAM_PROCESSOR "Enable Stream Processor" Yes)
++option(FLB_SYSTEMD "Enable systemd init system" No)
++option(FLB_UPSTART "Enable upstart init system" No)
+ option(FLB_CORO_STACK_SIZE "Set coroutine stack size")
+
+ # Metrics: Experimental Feature, disabled by default on 0.12 series
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
index abaf92c0..67b3397a 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
@@ -3,16 +3,14 @@ Add --with-jemalloc-prefix=je_ so it compiles on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
-Index: fluent-bit-0.12.1/CMakeLists.txt
-===================================================================
---- fluent-bit-0.12.1.orig/CMakeLists.txt
-+++ fluent-bit-0.12.1/CMakeLists.txt
-@@ -325,7 +325,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME}
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -523,7 +523,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME}
# Link to Jemalloc as an external dependency
ExternalProject_Add(jemalloc
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc
-- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
-+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure --with-jemalloc-prefix=je_ ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1
+- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
++ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-jemalloc-prefix=je_ --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops
- BUILD_COMMAND ${MAKE}
+ BUILD_COMMAND $(MAKE)
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb
deleted file mode 100644
index 99f680f9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb
+++ /dev/null
@@ -1,30 +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.12/fluent-bit-${PV}.tar.gz \
- file://jemalloc.patch \
- file://0001-fluent-bit-shared-Link-with-lpthread.patch \
- "
-SRC_URI[md5sum] = "6b4472cb7e7213a01425af9121576827"
-SRC_URI[sha256sum] = "8ec05365baea723033165687611b3bba3e67a77dce72e282e9f000f7acf9e37b"
-
-S = "${WORKDIR}/fluent-bit-${PV}"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-
-DEPENDS = "zlib"
-INSANE_SKIP_${PN}-dev += "dev-elf"
-
-inherit cmake systemd
-
-EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1"
-
-# With Ninja it fails with:
-# ninja: error: build.ninja:134: bad $-escape (literal $ must be written as $$)
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-SYSTEMD_SERVICE_${PN} = "td-agent-bit.service"
-
-TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
new file mode 100644
index 00000000..06895a03
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Fast Log processor and Forwarder"
+DESCRIPTION = "Fluent Bit is a data collector, processor and \
+forwarder for Linux. It supports several input sources and \
+backends (destinations) for your data. \
+"
+
+HOMEPAGE = "http://fluentbit.io"
+BUGTRACKER = "https://github.com/fluent/fluent-bit/issues"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+SECTION = "net"
+
+SRC_URI = "http://fluentbit.io/releases/1.3/fluent-bit-${PV}.tar.gz \
+ file://jemalloc.patch \
+ file://cross-build-init-system-detection.patch \
+ file://builtin-nan.patch \
+ file://0001-ppc-Fix-signature-for-co_create-API.patch \
+ "
+SRC_URI[md5sum] = "6eae6dfd0a874e5dd270c36e9c68f747"
+SRC_URI[sha256sum] = "e037c76c89269c8dc4027a08e442fefd2751b0f1e0f9c38f9a4b12d781a9c789"
+
+S = "${WORKDIR}/fluent-bit-${PV}"
+DEPENDS = "zlib bison-native flex-native"
+DEPENDS_append_libc-musl = " fts "
+
+INSANE_SKIP_${PN}-dev += "dev-elf"
+
+# Use CMake 'Unix Makefiles' generator
+OECMAKE_GENERATOR ?= "Unix Makefiles"
+
+# Fluent Bit build options
+# ========================
+
+# Host related setup
+EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1"
+
+# Disable LuaJIT and filter_lua support
+EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off "
+
+# Disable Library and examples
+EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off -DFLB_EXAMPLES=Off "
+
+EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','',d)}"
+
+EXTRA_OECMAKE_append_riscv64 = " -DFLB_DEPS='atomic'"
+
+# Kafka Output plugin (disabled by default): note that when
+# enabling Kafka output plugin, the backend library librdkafka
+# requires 'openssl' as a dependency.
+#
+# DEPENDS += "openssl "
+# EXTRA_OECMAKE += "-DFLB_OUT_KAFKA=On "
+
+inherit cmake systemd features_check
+
+SYSTEMD_SERVICE_${PN} = "td-agent-bit.service"
+TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb
deleted file mode 100644
index f9fd8ae8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "Gnuplot is a portable command-line driven graphing utility"
-DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \
-(text or binary) and function plotting utility."
-HOMEPAGE = "http://www.gnuplot.info/"
-SECTION = "console/scientific"
-LICENSE = "gnuplot"
-LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
-DEPENDS = "${BPN}-native virtual/libx11 gd readline"
-
-inherit autotools distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \
- http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
- file://gnuplot.desktop \
- file://gnuplot.png \
-"
-SRC_URI_append_class-target = " \
- file://0002-do-not-build-demos.patch \
- file://0003-Use-native-tools-to-build-docs.patch \
- file://0004-Add-configure-option-to-find-qt5-native-tools.patch \
-"
-
-SRC_URI[archive.md5sum] = "60aedd08998160593199459dea8467fe"
-SRC_URI[archive.sha256sum] = "a416d22f02bdf3873ef82c5eb7f8e94146795811ef808e12b035ada88ef7b1a1"
-SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6"
-SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
-
-# for building docs (they deserve it) we need *doc2* tools native
-BBCLASSEXTEND = "native"
-DEPENDS_class-native = "readline-native"
-PACKAGECONFIG_class-native = ""
-
-SRC_URI_append_class-native = "file://0001-reduce-build-to-conversion-tools-for-native-build.patch"
-
-do_install_class-native() {
- install -d ${D}${bindir}
- install ${B}/docs/*doc* ${D}${bindir}
- rm ${D}${bindir}/*.o
-}
-
-PACKAGECONFIG ??= "cairo"
-PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
-PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native"
-
-EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \
- --without-tutorial \
- --disable-wxwidgets"
-
-do_compile_prepend() {
- install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/
-}
-
-do_install_append_class-target() {
- install -d ${D}${datadir}/applications/
- install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/
- install -d ${D}${datadir}/pixmaps/
- install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/
-}
-
-PACKAGES =+ "${PN}-x11"
-
-RPROVIDES_${PN}-dbg += "${PN}-x11-dbg"
-
-DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot."
-SECTION_${PN}-x11 = "x11/scientific"
-FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 "
-
-FILES_${PN} += "${datadir}/texmf"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb b/external/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb
new file mode 100644
index 00000000..926d8851
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Gnuplot is a portable command-line driven graphing utility"
+DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \
+(text or binary) and function plotting utility."
+HOMEPAGE = "http://www.gnuplot.info/"
+SECTION = "console/scientific"
+LICENSE = "gnuplot"
+LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
+DEPENDS = "${BPN}-native virtual/libx11 gd readline"
+
+inherit autotools features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \
+ http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
+ file://gnuplot.desktop \
+ file://gnuplot.png \
+"
+SRC_URI_append_class-target = " \
+ file://0002-do-not-build-demos.patch \
+ file://0003-Use-native-tools-to-build-docs.patch \
+ file://0004-Add-configure-option-to-find-qt5-native-tools.patch \
+"
+
+SRC_URI[archive.md5sum] = "2df8767c7399bee57a96296d46b4d5fb"
+SRC_URI[archive.sha256sum] = "60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37"
+SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6"
+SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
+
+# for building docs (they deserve it) we need *doc2* tools native
+BBCLASSEXTEND = "native"
+DEPENDS_class-native = "readline-native"
+PACKAGECONFIG_class-native = ""
+
+SRC_URI_append_class-native = "file://0001-reduce-build-to-conversion-tools-for-native-build.patch"
+
+do_install_class-native() {
+ install -d ${D}${bindir}
+ install ${B}/docs/*doc* ${D}${bindir}
+ rm ${D}${bindir}/*.o
+}
+
+PACKAGECONFIG ??= "cairo"
+PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango"
+PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
+PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native"
+
+EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \
+ --without-tutorial \
+ --disable-wxwidgets"
+
+do_compile_prepend() {
+ install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/
+}
+
+do_install_append_class-target() {
+ install -d ${D}${datadir}/applications/
+ install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/
+ install -d ${D}${datadir}/pixmaps/
+ install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/
+}
+
+PACKAGES =+ "${PN}-x11"
+
+RPROVIDES_${PN}-dbg += "${PN}-x11-dbg"
+
+DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot."
+SECTION_${PN}-x11 = "x11/scientific"
+FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 "
+
+FILES_${PN} += "${datadir}/texmf"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch b/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
deleted file mode 100644
index 36fd57c9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b04eeea777df32364df74bd63fc5b7fb05d21c8d Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Tue, 27 Mar 2018 10:21:09 +0800
-Subject: [PATCH] init.d/Makefile.am: add missing dependency
-
-install-data-hook should epend on install-exec-hook, or the
-haveged.service might be installed incorrectly when build
-with -j option.
-
-Upstream-Status: Inappropriate [no upstream mailing list]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- init.d/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/init.d/Makefile.am b/init.d/Makefile.am
-index 5940f78..07bcdf7 100644
---- a/init.d/Makefile.am
-+++ b/init.d/Makefile.am
-@@ -33,7 +33,7 @@ if ENABLE_SYSTEMD
- install-exec-hook:
- $(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service;
-
--install-data-hook:
-+install-data-hook: install-exec-hook
- if ENABLE_SYSTEMD_LOOKUP
- install -p -D -m644 haveged.service $(DESTDIR)`pkg-config --variable=systemdsystemunitdir systemd`/haveged.service;
- else
---
-2.11.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb
deleted file mode 100644
index bf136739..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "haveged - A simple entropy daemon"
-DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
-AUTHOR = "Gary Wuertz"
-HOMEPAGE = "http://www.issihosts.com/haveged/index.html"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://www.issihosts.com/haveged/haveged-${PV}.tar.gz \
- file://haveged-init.d-Makefile.am-add-missing-dependency.patch \
-"
-
-SRC_URI[md5sum] = "fb1d8b3dcbb9d06b30eccd8aa500fd31"
-SRC_URI[sha256sum] = "f77d9adbdf421b61601fa29faa9ce3b479d910f73c66b9e364ba8642ccbfbe70"
-
-UPSTREAM_CHECK_URI = "http://www.issihosts.com/haveged/downloads.html"
-
-inherit autotools update-rc.d systemd
-
-EXTRA_OECONF = "\
- --enable-nistest=yes \
- --enable-olt=yes \
- --enable-threads=no \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-init=service.redhat --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME = "haveged"
-INITSCRIPT_PARAMS_${PN} = "defaults 9"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "haveged.service"
-
-do_install_append() {
- # The exit status is 143 when the service is stopped
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service
- fi
-}
-
-MIPS_INSTRUCTION_SET = "mips"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.9.bb b/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.9.bb
new file mode 100644
index 00000000..c1839b37
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.9.bb
@@ -0,0 +1,47 @@
+SUMMARY = "haveged - A simple entropy daemon"
+DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
+AUTHOR = "Gary Wuertz"
+HOMEPAGE = "http://www.issihosts.com/haveged/index.html"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+# v1.9.9
+SRCREV = "6da706c8026b629d9bb7ebebc32239305a03da8e"
+SRC_URI = "git://github.com/jirka-h/haveged.git \
+"
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_URI = "https://github.com/jirka-h/haveged/releases"
+
+inherit autotools update-rc.d systemd
+
+EXTRA_OECONF = "\
+ --enable-nistest=yes \
+ --enable-olt=yes \
+ --enable-threads=no \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--enable-init=service.fedora --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME = "haveged"
+INITSCRIPT_PARAMS_${PN} = "defaults 9"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "haveged.service"
+
+do_install_append() {
+ # The exit status is 143 when the service is stopped
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service
+ # Hybrid systemd-sysvinit distros must install the initscript manually
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${INIT_D_DIR}
+ sed -e "s,@SBINDIR@,${sbindir},g" <${S}/init.d/sysv.redhat >${D}${INIT_D_DIR}/haveged
+ chmod 755 ${D}${INIT_D_DIR}/haveged
+ fi
+ fi
+}
+
+MIPS_INSTRUCTION_SET = "mips"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch b/external/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch
index fef2bc75..1af5d26a 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch
@@ -11,22 +11,18 @@ Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Makefile | 5 -----
1 file changed, 5 deletions(-)
-diff --git a/Makefile b/Makefile
-index 8b0f0c2..66a4317 100644
--- a/Makefile
+++ b/Makefile
-@@ -34,11 +34,6 @@ define REDIS_TEST_CONFIG
+@@ -35,12 +35,6 @@ define REDIS_TEST_CONFIG
endef
export REDIS_TEST_CONFIG
-# Fallback to gcc when $CC is not in $PATH.
--CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
+-CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
+-CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++')
-OPTIMIZATION?=-O3
-WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings
--DEBUG?= -g -ggdb
- REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG) $(ARCH)
- REAL_LDFLAGS=$(LDFLAGS) $(ARCH)
+-DEBUG_FLAGS?= -g -ggdb
+ REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS)
+ REAL_LDFLAGS=$(LDFLAGS)
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb
deleted file mode 100644
index fae30d77..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Minimalistic C client library for Redis"
-HOMEPAGE = "http://github.com/redis/hiredis"
-LICENSE = "BSD-3-Clause"
-SECTION = "libs"
-DEPENDS = "redis"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d84d659a35c666d23233e54503aaea51"
-SRC_URI = "git://github.com/redis/hiredis;protocol=git;rev=f58dd249d6ed47a7e835463c3b04722972281dbb \
- file://0001-Makefile-remove-hardcoding-of-CC.patch"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig
-
-EXTRA_OEMAKE = "PREFIX=${prefix}"
-
-# By default INSTALL variable in Makefile is equal to 'cp -a', which preserves
-# ownership and causes host-user-contamination QA issue.
-# And PREFIX defaults to /usr/local.
-do_install_prepend() {
- export INSTALL='cp -r'
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb
new file mode 100644
index 00000000..29f8de8d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Minimalistic C client library for Redis"
+HOMEPAGE = "http://github.com/redis/hiredis"
+LICENSE = "BSD-3-Clause"
+SECTION = "libs"
+DEPENDS = "redis"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d84d659a35c666d23233e54503aaea51"
+SRCREV = "685030652cd98c5414ce554ff5b356dfe8437870"
+SRC_URI = "git://github.com/redis/hiredis;protocol=git \
+ file://0001-Makefile-remove-hardcoding-of-CC.patch"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OEMAKE = "PREFIX=${prefix} LIBRARY_PATH=${baselib}"
+
+# By default INSTALL variable in Makefile is equal to 'cp -a', which preserves
+# ownership and causes host-user-contamination QA issue.
+# And PREFIX defaults to /usr/local.
+do_install_prepend() {
+ export INSTALL='cp -r'
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/0001-include-cups-ppd.h-for-missing-ppd-definitions.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/0001-include-cups-ppd.h-for-missing-ppd-definitions.patch
deleted file mode 100644
index f259b5f0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/0001-include-cups-ppd.h-for-missing-ppd-definitions.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 7ef9c040dd959105c16d4dc67e14f3bbea25e77f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Dec 2016 19:51:19 +0000
-Subject: [PATCH] include cups/ppd.h for missing ppd definitions
-
-Fixes errors spotted by clang
-
-| prnt/hpcups/HPCupsFilter.cpp:365:18: error: use of undeclared identifier 'ppdFindAttr'
-| if (((attr = ppdFindAttr(m_ppd, "hpPrinterLanguage", NULL)) == NULL) ||
-| ^
-| prnt/hpcups/HPCupsFilter.cpp:368:13: error: use of undeclared identifier 'ppdClose'
-| ppdClose(m_ppd);
-| ^
-| prnt/hpcups/HPCupsFilter.cpp:444:9: error: use of undeclared identifier 'ppdClose'
-| ppdClose(m_ppd);
-| ^
-| prnt/hpcups/HPCupsFilter.cpp:497:13: error: use of undeclared identifier 'ppdOpenFile'
-| m_ppd = ppdOpenFile(getenv("PPD"));
-| ^
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- prnt/hpcups/HPCupsFilter.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/prnt/hpcups/HPCupsFilter.h b/prnt/hpcups/HPCupsFilter.h
-index 0431a7a..eb0cad6 100644
---- a/prnt/hpcups/HPCupsFilter.h
-+++ b/prnt/hpcups/HPCupsFilter.h
-@@ -37,6 +37,7 @@
- #include "Job.h"
-
- #include "dbuscomm.h"
-+#include <cups/ppd.h>
-
- #define DBITMAPFILEHEADER 14
- #define DBITMAPINFOHEADER 40
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch
deleted file mode 100644
index 31c005c6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: hplip-3.12.6/configure.in
-===================================================================
---- hplip-3.12.6.orig/configure.in 2014-07-16 20:03:51.310044196 +0000
-+++ hplip-3.12.6/configure.in 2014-07-18 07:53:31.589559192 +0000
-@@ -27,8 +27,7 @@
-
- #AC_PREREQ(2.59)
- AC_INIT([HP Linux Imaging and Printing], [3.12.6], [3.12.6], [hplip])
--#AM_INIT_AUTOMAKE([1.9 foreign])
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([1.9 foreign])
- AC_DISABLE_STATIC
-
- # Checks for programs.
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch
deleted file mode 100644
index 7df01aab..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch
+++ /dev/null
@@ -1,395 +0,0 @@
-Imported from gentoo:
-https://bugs.gentoo.org/show_bug.cgi?id=428672
-
-diff -Naur hplip-3.12.6_old/prnt/cupsext/cupsext.c hplip-3.12.6/prnt/cupsext/cupsext.c
---- hplip-3.12.6_old/prnt/cupsext/cupsext.c 2012-08-04 09:18:18.388330038 +0200
-+++ hplip-3.12.6/prnt/cupsext/cupsext.c 2012-08-04 09:18:27.855181327 +0200
-@@ -87,6 +87,46 @@
- #define PY_SSIZE_T_MIN INT_MIN
- #endif
-
-+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
-+#define HAVE_CUPS_1_6 1
-+#endif
-+
-+#ifndef HAVE_CUPS_1_6
-+#define ippGetCount(attr) attr->num_values
-+#define ippGetGroupTag(attr) attr->group_tag
-+#define ippGetValueTag(attr) attr->value_tag
-+#define ippGetName(attr) attr->name
-+#define ippGetBoolean(attr, element) attr->values[element].boolean
-+#define ippGetInteger(attr, element) attr->values[element].integer
-+#define ippGetStatusCode(ipp) ipp->request.status.status_code
-+#define ippGetString(attr, element, language) attr->values[element].string.text
-+
-+static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
-+{
-+ if (!ipp)
-+ return (NULL);
-+ return (ipp->current = ipp->attrs);
-+}
-+
-+static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
-+{
-+ if (!ipp || !ipp->current)
-+ return (NULL);
-+ return (ipp->current = ipp->current->next);
-+}
-+
-+static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
-+{
-+ ipp->request.op.operation_id = op;
-+ return (1);
-+}
-+
-+static int ippSetRequestId( ipp_t *ipp, int request_id )
-+{
-+ ipp->request.any.request_id = request_id;
-+ return (1);
-+}
-+#endif
-
- int g_num_options = 0;
- cups_option_t * g_options;
-@@ -333,8 +373,8 @@
- request = ippNew();
- language = cupsLangDefault();
-
-- request->request.op.operation_id = CUPS_GET_PRINTERS;
-- request->request.any.request_id = 1;
-+ ippSetOperation( request, CUPS_GET_PRINTERS );
-+ ippSetRequestId ( request, 1);
-
- ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
- "attributes-charset", NULL, cupsLangEncoding( language ) );
-@@ -378,10 +418,10 @@
- ipp_pstate_t state;
- int i = 0;
-
-- for ( attr = response->attrs; attr != NULL; attr = attr->next )
-+ for ( attr = ippFirstAttribute( response ); attr != NULL; attr = ippNextAttribute( response ) )
- {
-- while ( attr != NULL && attr->group_tag != IPP_TAG_PRINTER )
-- attr = attr->next;
-+ while ( attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER )
-+ attr = ippNextAttribute( response );
-
- if ( attr == NULL )
- break;
-@@ -390,41 +430,41 @@
- state = IPP_PRINTER_IDLE;
- accepting = 0;
-
-- while ( attr != NULL && attr->group_tag == IPP_TAG_PRINTER )
-+ while ( attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER )
- {
-- if ( strcmp( attr->name, "printer-name" ) == 0 &&
-- attr->value_tag == IPP_TAG_NAME )
-- name = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "device-uri" ) == 0 &&
-- attr->value_tag == IPP_TAG_URI )
-- device_uri = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-uri-supported" ) == 0 &&
-- attr->value_tag == IPP_TAG_URI )
-- printer_uri = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-info" ) == 0 &&
-- attr->value_tag == IPP_TAG_TEXT )
-- info = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-location" ) == 0 &&
-- attr->value_tag == IPP_TAG_TEXT )
-- location = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-make-and-model" ) == 0 &&
-- attr->value_tag == IPP_TAG_TEXT )
-- make_model = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-state" ) == 0 &&
-- attr->value_tag == IPP_TAG_ENUM )
-- state = ( ipp_pstate_t ) attr->values[ 0 ].integer;
--
-- else if (!strcmp(attr->name, "printer-is-accepting-jobs") &&
-- attr->value_tag == IPP_TAG_BOOLEAN)
-- accepting = attr->values[ 0 ].boolean;
-+ if ( strcmp( ippGetName( attr ), "printer-name" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_NAME )
-+ name = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "device-uri" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_URI )
-+ device_uri = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-uri-supported" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_URI )
-+ printer_uri = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-info" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
-+ info = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-location" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
-+ location = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-make-and-model" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
-+ make_model = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-state" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_ENUM )
-+ state = ( ipp_pstate_t ) ippGetInteger( attr, 0 );
-+
-+ else if (!strcmp(ippGetName( attr ), "printer-is-accepting-jobs") &&
-+ ippGetValueTag( attr ) == IPP_TAG_BOOLEAN)
-+ accepting = ippGetBoolean( attr, 0 );
-
-- attr = attr->next;
-+ attr = ippNextAttribute( response );
- }
-
- if ( device_uri == NULL )
-@@ -522,8 +562,8 @@
- request = ippNew();
- language = cupsLangDefault();
-
-- request->request.op.operation_id = CUPS_ADD_PRINTER;
-- request->request.any.request_id = 1;
-+ ippSetOperation( request, CUPS_ADD_PRINTER );
-+ ippSetRequestId ( request, 1 );
-
- ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
- "attributes-charset", NULL, cupsLangEncoding( language ) );
-@@ -568,7 +608,7 @@
- }
- else
- {
-- status = response->request.status.status_code;
-+ status = ippGetStatusCode( response );
- //ippDelete( response );
- r = 1;
- }
-@@ -631,8 +671,8 @@
- */
- request = ippNew();
-
-- request->request.op.operation_id = CUPS_DELETE_PRINTER;
-- request->request.op.request_id = 1;
-+ ippSetOperation( request, CUPS_DELETE_PRINTER );
-+ ippSetRequestId ( request, 1 );
-
- language = cupsLangDefault();
-
-@@ -650,7 +690,7 @@
- */
- response = cupsDoRequest( http, request, "/admin/" );
-
-- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
-+ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
- {
- r = 1;
- }
-@@ -721,8 +761,8 @@
-
- request = ippNew();
-
-- request->request.op.operation_id = CUPS_SET_DEFAULT;
-- request->request.op.request_id = 1;
-+ ippSetOperation( request, CUPS_SET_DEFAULT );
-+ ippSetRequestId ( request, 1 );
-
- language = cupsLangDefault();
-
-@@ -743,7 +783,7 @@
-
- response = cupsDoRequest( http, request, "/admin/" );
-
-- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
-+ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
- {
- r = 1;
- }
-@@ -797,8 +837,8 @@
-
- request = ippNew();
-
-- request->request.op.operation_id = op;
-- request->request.op.request_id = 1;
-+ ippSetOperation( request, op );
-+ ippSetRequestId ( request, 1 );
-
- language = cupsLangDefault();
-
-@@ -822,7 +862,7 @@
-
- response = cupsDoRequest(http, request, "/admin/");
-
-- if (( response != NULL ) && (response->request.status.status_code <= IPP_OK_CONFLICT))
-+ if (( response != NULL ) && (ippGetStatusCode( response ) <= IPP_OK_CONFLICT))
- {
- r = 1;
- }
-@@ -837,7 +877,7 @@
- if ( response != NULL )
- ippDelete( response );
-
-- return Py_BuildValue( "i", r );;
-+ return Py_BuildValue( "i", r );
- }
-
-
-@@ -1116,8 +1156,8 @@
-
- request = ippNew();
-
-- request->request.op.operation_id = CUPS_GET_PPDS;
-- request->request.op.request_id = 1;
-+ ippSetOperation( request, CUPS_GET_PPDS );
-+ ippSetRequestId ( request, 1 );
-
- language = cupsLangDefault();
-
-@@ -1143,43 +1183,43 @@
- if ((response = cupsDoRequest(http, request, "/")) != NULL)
- {
-
-- for (attr = response->attrs; attr; attr = attr->next)
-+ for (attr = ippFirstAttribute( response ); attr; attr = ippNextAttribute( response ))
- {
- PyObject *dict;
- char *ppdname = NULL;
-
-- while (attr && attr->group_tag != IPP_TAG_PRINTER)
-- attr = attr->next;
-+ while (attr && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
-+ attr = ippNextAttribute( response );
-
- if (!attr)
- break;
-
- dict = PyDict_New ();
-
-- for (; attr && attr->group_tag == IPP_TAG_PRINTER; attr = attr->next)
-+ for (; attr && ippGetGroupTag( attr ) == IPP_TAG_PRINTER; attr = ippNextAttribute( response ))
- {
- PyObject *val = NULL;
-
-- if (!strcmp (attr->name, "ppd-name") && attr->value_tag == IPP_TAG_NAME)
-+ if (!strcmp (ippGetName( attr ), "ppd-name") && ippGetValueTag( attr ) == IPP_TAG_NAME)
- {
-- ppdname = attr->values[0].string.text;
-+ ppdname = ippGetString( attr, 0, NULL );
-
- //sprintf( buf, "print '%s'", ppdname);
- //PyRun_SimpleString( buf );
- }
-
-- else if (attr->value_tag == IPP_TAG_TEXT || attr->value_tag == IPP_TAG_NAME || attr->value_tag == IPP_TAG_KEYWORD)
-- //else if ((!strcmp (attr->name, "ppd-natural-language") && attr->value_tag == IPP_TAG_LANGUAGE) ||
-- // (!strcmp (attr->name, "ppd-make-and-model") && attr->value_tag == IPP_TAG_TEXT) ||
-- // (!strcmp (attr->name, "ppd-make") && attr->value_tag == IPP_TAG_TEXT) ||
-- // (!strcmp (attr->name, "ppd-device-id") && attr->value_tag == IPP_TAG_TEXT))
-+ else if (ippGetValueTag( attr ) == IPP_TAG_TEXT || ippGetValueTag( attr ) == IPP_TAG_NAME || ippGetValueTag( attr ) == IPP_TAG_KEYWORD)
-+ //else if ((!strcmp (ippGetName( attr ), "ppd-natural-language") && ippGetValueTag( attr ) == IPP_TAG_LANGUAGE) ||
-+ // (!strcmp (ippGetName( attr ), "ppd-make-and-model") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
-+ // (!strcmp (ippGetName( attr ), "ppd-make") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
-+ // (!strcmp (ippGetName( attr ), "ppd-device-id") && ippGetValueTag( attr ) == IPP_TAG_TEXT))
- {
-- val = PyObj_from_UTF8(attr->values[0].string.text);
-+ val = PyObj_from_UTF8(ippGetString( attr, 0, NULL ));
- }
-
- if (val)
- {
-- PyDict_SetItemString (dict, attr->name, val);
-+ PyDict_SetItemString (dict, ippGetName( attr ), val);
- Py_DECREF (val);
- }
- }
-diff -Naur hplip-3.12.6_old/scan/sane/hpaio.c hplip-3.12.6/scan/sane/hpaio.c
---- hplip-3.12.6_old/scan/sane/hpaio.c 2012-08-04 09:18:21.458389913 +0200
-+++ hplip-3.12.6/scan/sane/hpaio.c 2012-08-04 09:18:27.875181720 +0200
-@@ -47,6 +47,43 @@
- #define DEBUG_DECLARE_ONLY
- #include "sanei_debug.h"
-
-+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
-+#define HAVE_CUPS_1_6 1
-+#endif
-+
-+#ifndef HAVE_CUPS_1_6
-+#define ippGetGroupTag(attr) attr->group_tag
-+#define ippGetValueTag(attr) attr->value_tag
-+#define ippGetName(attr) attr->name
-+#define ippGetString(attr, element, language) attr->values[element].string.text
-+
-+static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
-+{
-+ if (!ipp)
-+ return (NULL);
-+ return (ipp->current = ipp->attrs);
-+}
-+
-+static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
-+{
-+ if (!ipp || !ipp->current)
-+ return (NULL);
-+ return (ipp->current = ipp->current->next);
-+}
-+
-+static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
-+{
-+ ipp->request.op.operation_id = op;
-+ return (1);
-+}
-+
-+static int ippSetRequestId( ipp_t *ipp, int request_id )
-+{
-+ ipp->request.any.request_id = request_id;
-+ return (1);
-+}
-+#endif
-+
- static SANE_Device **DeviceList = NULL;
-
- static int AddDeviceList(char *uri, char *model, SANE_Device ***pd)
-@@ -186,8 +223,8 @@
- /* Assemble the IPP request */
- request = ippNew();
-
-- request->request.op.operation_id = CUPS_GET_PRINTERS;
-- request->request.any.request_id = 1;
-+ ippSetOperation( request, CUPS_GET_PRINTERS );
-+ ippSetRequestId( request, 1 );
-
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, "utf-8");
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, "en");
-@@ -197,20 +234,20 @@
- if ((response = cupsDoRequest(http, request, "/")) == NULL)
- goto bugout;
-
-- for (attr = response->attrs; attr != NULL; attr = attr->next)
-+ for (attr = ippFirstAttribute ( response ); attr != NULL; attr = ippNextAttribute( response ))
- {
- /* Skip leading attributes until we hit a printer. */
-- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER)
-- attr = attr->next;
-+ while (attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
-+ attr = ippNextAttribute( response );
-
- if (attr == NULL)
- break;
-
-- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER)
-+ while (attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER)
- {
-- if (strcmp(attr->name, "device-uri") == 0 && attr->value_tag == IPP_TAG_URI && AddCupsList(attr->values[0].string.text, printer) == 0)
-+ if (strcmp(ippGetName( attr ), "device-uri") == 0 && ippGetValueTag( attr ) == IPP_TAG_URI && AddCupsList(ippGetString( attr, 0, NULL ), printer) == 0)
- cnt++;
-- attr = attr->next;
-+ attr = ippNextAttribute( response );
- }
-
- if (attr == NULL)
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch
deleted file mode 100644
index b347f831..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-diff -rupN hplip-3.12.6_orig/configure.in hplip-3.12.6/configure.in
---- hplip-3.12.6_orig/configure.in 2012-06-18 20:44:24.000000000 +1000
-+++ hplip-3.12.6/configure.in 2012-08-16 13:40:07.259927650 +1000
-@@ -524,6 +524,8 @@ if test "$hpijs_only_build" = "no"; then
- AC_CHECK_HEADERS(usb.h, ,[AC_MSG_ERROR([cannot find libusb-devel support], 11)])
- else
- AC_CHECK_LIB([usb-1.0], [libusb_init], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libusb 1.0 support], 2)])
-+ LIBUSBINCLUDEROOT?="/usr/include/"
-+ AC_ARG_VAR(LIBUSBINCLUDEROOT, [path to libusb-1.0 folder])
- AC_CHECK_HEADERS(libusb-1.0/libusb.h, ,[AC_MSG_ERROR([cannot find libusb-1.0-devel support], 11)])
- fi
- fi
-diff -rupN hplip-3.12.6_orig/Makefile.am hplip-3.12.6/Makefile.am
---- hplip-3.12.6_orig/Makefile.am 2012-06-18 20:44:13.000000000 +1000
-+++ hplip-3.12.6/Makefile.am 2012-08-16 13:41:12.307932822 +1000
-@@ -72,7 +72,7 @@ libhpmud_la_SOURCES = io/hpmud/hpmud.c i
- io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \
- io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb_libusb01.c
- else
--libhpmud_la_CFLAGS = -I/usr/include/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\"
-+libhpmud_la_CFLAGS = -I/$(LIBUSBINCLUDEROOT)/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\"
- libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/pml.c \
- io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \
- io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb.c
-@@ -286,7 +286,7 @@ hpmudext_la_LIBADD = libhpmud.la
- if LIBUSB01_BUILD
- hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
- else
--hpmudext_la_CFLAGS =-I/usr/include/libusb-1.0 -I$(PYTHONINCLUDEDIR)
-+hpmudext_la_CFLAGS =-I$(LIBUSBINCLUDEROOT)/libusb-1.0 -I$(PYTHONINCLUDEDIR)
- endif
-
- # ui (qt3)
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch
deleted file mode 100644
index 0e1b6c4e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
---- hplip-3.11.10/setup.py.orig 2011-10-02 14:06:19.000000000 +1100
-+++ hplip-3.11.10/setup.py 2012-02-29 08:21:39.167999938 +1100
-@@ -573,6 +573,7 @@
-
- log.debug("Restarting CUPS...")
- status, output = utils.run(restart_cups())
-+ time.sleep(3)
- log.debug("Restart CUPS returned: exit=%d output=%s" % (status, output))
-
- cups.setPasswordPrompt("You do not have permission to add a printer.")
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch
new file mode 100644
index 00000000..2babb2b6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch
@@ -0,0 +1,15 @@
+https://bugs.launchpad.net/hplip/+bug/1672256
+
+memcpy should never be used with overlapping memory regions
+
+--- a/io/hpmud/musb.c
++++ b/io/hpmud/musb.c
+@@ -775,7 +775,7 @@ static int device_id(int fd, unsigned ch
+ len = size-1; /* leave byte for zero termination */
+ if (len > 2)
+ len -= 2;
+- memcpy(buffer, buffer+2, len); /* remove length */
++ memmove(buffer, buffer+2, len); /* remove length */
+ buffer[len]=0;
+ DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch
new file mode 100644
index 00000000..e020bd46
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch
@@ -0,0 +1,17 @@
+diff --git a/scan/sane/OrbliteScan/LinuxCommon.h b/scan/sane/OrbliteScan/LinuxCommon.h
+index 6605dd9..55c7110 100644
+--- a/scan/sane/OrbliteScan/LinuxCommon.h
++++ b/scan/sane/OrbliteScan/LinuxCommon.h
+@@ -18,10 +18,8 @@ typedef u_int32_t UInt32;
+ typedef int32_t SInt32;
+ //typedef unsigned long UInt32;
+ //typedef signed long SInt32;
+-typedef __S64_TYPE SInt64;
+-typedef __U64_TYPE UInt64;
+-typedef __S64_TYPE int64_t;
+-typedef __U64_TYPE uint64_t;
++typedef int64_t SInt64;
++typedef uint64_t UInt64;
+
+ //typedef unsigned long ULONG;
+ //typedef void* LPVOID;
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/600-fix.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/600-fix.patch
new file mode 100644
index 00000000..91a5035a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/600-fix.patch
@@ -0,0 +1,10 @@
+--- a/configure.in
++++ b/configure.in
+@@ -254,7 +254,6 @@ if test "$class_driver" = "yes"; then
+ test `sh ./createPPD.sh -f` == 0
+ else
+ AC_MSG_RESULT(no)
+- test `sh ./createPPD.sh -q` == 0
+ fi
+ AM_CONDITIONAL(HPLIP_CLASS_DRIVER, test x$class_driver = xyes)
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/999-remove-lImageProcessor.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/999-remove-lImageProcessor.patch
new file mode 100644
index 00000000..aee4ac50
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/999-remove-lImageProcessor.patch
@@ -0,0 +1,69 @@
+# ../bin/ld: cannot find -lImageProcessor
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -590,11 +590,10 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilte
+ prnt/hpcups/flate_colorspace.h prnt/hpcups/RunLenEncoding.h prnt/hpcups/common_defines.h \
+ prnt/hpcups/genPCLm.h \
+ common/utils.c common/utils.h prnt/hpcups/Hbpl1_Wrapper.cpp prnt/hpcups/genPCLm.cpp \
+- prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
+- prnt/hpcups/ImageProcessor.h
++ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
+
+ hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
+-hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
++hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
+ #else
+ #hpcupsdir = $(cupsfilterdir)
+ #hpcups_PROGRAMS = hpcups
+--- a/prnt/hpcups/HPCupsFilter.cpp
++++ b/prnt/hpcups/HPCupsFilter.cpp
+@@ -637,16 +637,10 @@ int HPCupsFilter::processRasterData(cups
+
+
+ sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
+- image_processor_t* imageProcessor = imageProcessorCreate();
+
+ while (cupsRasterReadHeader2(cups_raster, &cups_header))
+ {
+
+- IMAGE_PROCESSOR_ERROR result = imageProcessorStartPage(imageProcessor, &cups_header);
+- if (result != IPE_SUCCESS){
+- dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", result);
+- }
+-
+ current_page_number++;
+
+ if (current_page_number == 1) {
+@@ -745,11 +739,6 @@ int HPCupsFilter::processRasterData(cups
+ color_raster = rgbRaster;
+ black_raster = kRaster;
+
+- result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
+- if (result != IPE_SUCCESS){
+- dbglog("DEBUG: imageProcessorProcessLine failed result = %d\n", result);
+- }
+-
+
+ if ((y == 0) && !is_ljmono) {
+ //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer
+@@ -780,11 +769,6 @@ int HPCupsFilter::processRasterData(cups
+ }
+ } // for() loop end
+
+- result = imageProcessorEndPage(imageProcessor);
+- if (result != IPE_SUCCESS){
+- dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", result);
+- }
+-
+
+ m_Job.NewPage();
+ if (err != NO_ERROR) {
+@@ -800,8 +784,6 @@ int HPCupsFilter::processRasterData(cups
+ rgbRaster = NULL;
+ }
+
+- imageProcessorDestroy(imageProcessor);
+-
+ unlink(hpPreProcessedRasterFile);
+ return ret_status;
+ }
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/configure.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/configure.patch
new file mode 100644
index 00000000..8fe77c5e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/configure.patch
@@ -0,0 +1,12 @@
+--- a/configure.in
++++ b/configure.in
+@@ -27,8 +27,7 @@
+
+ #AC_PREREQ(2.59)
+ AC_INIT([HP Linux Imaging and Printing], [3.19.12], [3.19.12], [hplip])
+-#AM_INIT_AUTOMAKE([1.9 foreign])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ AC_DISABLE_STATIC
+
+ # Checks for programs.
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch
new file mode 100644
index 00000000..6aa1de0a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch
@@ -0,0 +1,33 @@
+Upstream-Status: Inappropriate [configuration]
+
+--- a/configure.in
++++ b/configure.in
+@@ -599,6 +599,8 @@ if test "$class_driver" = "no" && test "
+ AC_CHECK_HEADERS(usb.h, ,[AC_MSG_ERROR([cannot find libusb-devel support], 11)])
+ else
+ AC_CHECK_LIB([usb-1.0], [libusb_init], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libusb 1.0 support], 2)])
++ LIBUSBINCLUDEROOT?="/usr/include/"
++ AC_ARG_VAR(LIBUSBINCLUDEROOT, [path to libusb-1.0 folder])
+ AC_CHECK_HEADERS(libusb-1.0/libusb.h, ,[AC_MSG_ERROR([cannot find libusb-1.0-devel support], 11)])
+ fi
+ fi
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -109,7 +109,7 @@ libhpmud_la_SOURCES += io/hpmud/musb_lib
+ libhpmud_la_LDFLAGS += -lusb
+ else
+ libhpmud_la_SOURCES += io/hpmud/musb.c
+-libhpmud_la_CFLAGS += -I/usr/include/libusb-1.0
++libhpmud_la_CFLAGS += -I$(LIBUSBINCLUDEROOT)/libusb-1.0
+ libhpmud_la_LDFLAGS += -lusb-1.0
+ endif
+
+@@ -362,7 +362,7 @@ hpmudext_la_CFLAGS += -Iprotocol/discove
+ endif
+
+ if !LIBUSB01_BUILD
+-hpmudext_la_CFLAGS +=-I/usr/include/libusb-1.0
++hpmudext_la_CFLAGS +=-I$(LIBUSBINCLUDEROOT)/libusb-1.0
+ endif
+ endif #!HPLIP_CLASS_DRIVER
+ # ui (qt3)
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch
new file mode 100644
index 00000000..67546b07
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch
@@ -0,0 +1,20 @@
+From 2fcd0e79b21ec6dbf975ad7d1b5697a78993e2f1 Mon Sep 17 00:00:00 2001
+From: David Valleau <valleau@chromium.org>
+Date: Wed, 14 Aug 2019 15:47:38 -0700
+Subject: [PATCH] Fixing invalid return in void function
+
+---
+ prnt/hpps/hppsfilter.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/prnt/hpps/hppsfilter.c
++++ b/prnt/hpps/hppsfilter.c
+@@ -104,7 +104,7 @@ static void open_tempbookletfile(char *m
+ if(ptempbooklet_file == NULL)
+ {
+ fprintf(stderr, "ERROR: Unable to open temp file %s\n", temp_filename);
+- return 1;
++ return;
+ }
+ chmod(temp_filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
deleted file mode 100644
index 1f1e80ce..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-SUMMARY = "HP Linux Imaging and Printing"
-LICENSE="GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=442bb3cbbeeb60643a87325718b8a8ee"
-
-PR = "r1"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
- file://setup-add-sleep-after-cups-reset.patch \
- file://fix-libusb-paths.patch \
- file://cups-1.6.patch \
- file://configure.patch \
- file://0001-include-cups-ppd.h-for-missing-ppd-definitions.patch \
-"
-
-DEPENDS += "cups python libusb"
-
-inherit autotools-brokensep python-dir pythonnative pkgconfig
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-EXTRA_OECONF += "\
- LIBUSBINCLUDEROOT=${STAGING_INCDIR} \
- --disable-network-build \
- --disable-doc-build \
- --disable-pp-build \
- --disable-scan-build \
- --disable-gui-build \
- --disable-fax-build \
- --disable-policykit \
- --disable-qt4 \
- --disable-qt3 \
- --disable-dbus-build \
- --disable-foomatic-drv-install \
- --enable-foomatic-ppd-install \
- --enable-foomatic-rip-hplip-install \
- --with-cupsbackenddir=${libdir}/cups/backend \
- --with-cupsfilterdir=${libdir}/cups/filter \
-"
-
-PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal"
-
-RDEPENDS_${PN} += " \
- python-syslog \
- python-pprint \
- python-compression \
- python-shell \
- python-xml \
- python-unixadmin \
- python-html \
- python-resource \
- python-terminal \
- python-subprocess\
-"
-RDEPENDS_${PN}-filter += "perl"
-
-# need to snag the debug file or OE will fail on backend package
-FILES_${PN}-dbg += "\
- ${libdir}/cups/backend/.debug \
- ${PYTHON_SITEPACKAGES_DIR}/.debug \
- ${libdir}/cups/filter/.debug "
-
-FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
-FILES_${PN}-ppd = "${datadir}/ppd"
-FILES_${PN}-cups = "${datadir}/cups"
-FILES_${PN}-backend = "${libdir}/cups/backend"
-FILES_${PN}-filter = "${libdir}/cups/filter"
-FILES_${PN}-hal = "${datadir}/hal"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so"
-
-SRC_URI[md5sum] = "5303938e8630775ea6fb383af85775e5"
-SRC_URI[sha256sum] = "54578000792969adb583e75efeacb9c46ab69659ec7e9424de390613f3595775"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb
new file mode 100644
index 00000000..883a6ffe
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb
@@ -0,0 +1,88 @@
+SUMMARY = "HP Linux Imaging and Printing"
+LICENSE="GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=20f2c819499cc2063e9a7b07b408815c"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://configure.patch \
+ file://fix-libusb-paths.patch \
+ file://999-remove-lImageProcessor.patch \
+ file://600-fix.patch \
+ file://030-replace_unsafe_memcpy_with_memmove.patch \
+ file://050-fix-glibcisms.patch \
+ file://hplip-3.19.6-fix-return.patch \
+"
+SRC_URI[md5sum] = "d72bc77d791c150c2c22b84e9553bab3"
+SRC_URI[sha256sum] = "b7f398502fb659e0de8e54976237e3c6a64fec0b3c36054a515876f7b006b255"
+
+DEPENDS += "cups python3 libusb"
+
+inherit autotools-brokensep python3-dir python3native pkgconfig systemd
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+CFLAGS += "-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}"
+
+EXTRA_OECONF += "\
+ LIBUSBINCLUDEROOT=${STAGING_INCDIR} \
+ --enable-cups-ppd-install \
+ --disable-network-build \
+ --disable-doc-build \
+ --disable-pp-build \
+ --disable-scan-build \
+ --disable-gui-build \
+ --disable-fax-build \
+ --disable-policykit \
+ --disable-qt4 \
+ --disable-qt3 \
+ --disable-dbus-build \
+ --enable-foomatic-drv-install \
+ --disable-foomatic-ppd-install \
+ --disable-foomatic-rip-hplip-install \
+ --with-cupsbackenddir=${libdir}/cups/backend \
+ --with-cupsfilterdir=${libdir}/cups/filter \
+"
+
+EXTRA_OEMAKE = "rulessystemdir=${systemd_unitdir}/system/"
+
+do_install_append() {
+ rm -rf ${D}${datadir}/hplip/upgrade.py
+ rm -rf ${D}${datadir}/hplip/uninstall.py
+ sed -i -e "s|/usr/bin/env python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py
+ sed -i -e "s|/usr/bin/python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py
+}
+
+PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal"
+
+RDEPENDS_${PN} += " \
+ python3\
+ python3-syslog \
+ python3-pprint \
+ python3-compression \
+ python3-shell \
+ python3-xml \
+ python3-unixadmin \
+ python3-html \
+ python3-resource \
+ python3-terminal \
+"
+RDEPENDS_${PN}-filter += "perl"
+
+# need to snag the debug file or OE will fail on backend package
+FILES_${PN}-dbg += "\
+ ${libdir}/cups/backend/.debug \
+ ${PYTHON_SITEPACKAGES_DIR}/.debug \
+ ${libdir}/cups/filter/.debug "
+
+FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
+FILES_${PN}-ppd = "${datadir}/ppd"
+FILES_${PN}-cups = "${datadir}/cups"
+FILES_${PN}-backend = "${libdir}/cups/backend"
+FILES_${PN}-filter = "${libdir}/cups/filter"
+FILES_${PN}-hal = "${datadir}/hal"
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so"
+
+SYSTEMD_SERVICE_${PN} = "hplip-printer@.service"
+
+CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb b/external/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb
deleted file mode 100644
index 5f4155ea..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Portable Hardware Locality (hwloc) software package"
-DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
- provides a portable abstraction of the hierarchical topology of modern \
- architectures."
-HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
-SECTION = "base"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b"
-
-SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2"
-SRC_URI[md5sum] = "0981a01935982aa7e850a96e0c3057b0"
-SRC_URI[sha256sum] = "2be808383d8337846fe77ce49c7ad3336fb6857505494d85c0ac03f22c5bd1e7"
-
-UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/"
-
-inherit autotools pkgconfig
-
-DEPENDS += "ncurses udev zlib"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
-
-PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-
-PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl"
-PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2"
-PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo"
-PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess"
-
-# Split hwloc library into separate subpackage
-PACKAGES_prepend = " libhwloc "
-FILES_libhwloc += "${libdir}/libhwloc.so.*"
-RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb b/external/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
new file mode 100644
index 00000000..2b0dfe4e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Portable Hardware Locality (hwloc) software package"
+DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
+ provides a portable abstraction of the hierarchical topology of modern \
+ architectures."
+HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
+SECTION = "base"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b"
+
+SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2"
+SRC_URI[md5sum] = "3c792e23c209e9e1bafe9bdbc613d401"
+SRC_URI[sha256sum] = "a4494b7765f517c0990d1c7f09d98cb87755bb6b841e4e2cbfebca1b14bac9c8"
+
+UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/"
+
+inherit autotools pkgconfig
+
+DEPENDS += "ncurses udev zlib"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
+
+PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+
+PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl"
+PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2"
+PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo"
+PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess"
+
+# Split hwloc library into separate subpackage
+PACKAGES_prepend = " libhwloc "
+FILES_libhwloc += "${libdir}/libhwloc.so.*"
+RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch b/external/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch
new file mode 100644
index 00000000..79439485
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch
@@ -0,0 +1,37 @@
+From c2a67c1f62175ab061bc03d10dd766f968c6a097 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Fri, 2 Aug 2019 10:41:26 +0800
+Subject: [PATCH] configure.ac: skip running test program when cross-compiling
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c5e3ca03..4b89396a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -140,7 +140,7 @@ AC_CHECK_FUNC([getloadavg],[AC_DEFINE([HAVE_GETLOADAVG2], 1, [getloadavg() is av
+ AC_FUNC_SELECT_ARGTYPES
+
+ AC_MSG_CHECKING([for strlcpy])
+-AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
+ char a[2];
+ if (strlcpy(a, "yes", 2) != 3)
+ return 1;]])],
+@@ -156,7 +156,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
+ ])
+
+ AC_MSG_CHECKING([for strlcat])
+-AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
+ char a[4] = "no";
+ if (strlcat(a, "yes", 4) != 5)
+ return 1;]])],
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb b/external/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb
new file mode 100644
index 00000000..241a2b30
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "Ice Window Manager (IceWM)"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b"
+
+SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \
+ file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \
+ "
+SRC_URI[sha256sum] = "d41e6abf842ff3f8705a81d352be7c5b181c587549c183de0641c3820234a7b2"
+
+UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
+
+inherit autotools pkgconfig gettext perlnative features_check qemu update-alternatives
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF += "--with-libdir=${datadir}/icewm \
+ --with-cfgdir=${sysconfdir}/icewm \
+ --with-docdir=${docdir}/icewm \
+ --enable-fribidi \
+ --enable-xinerama \
+ --enable-shape"
+
+DEPENDS = "asciidoc-native fontconfig gdk-pixbuf libxft libxpm libxrandr \
+ libxinerama libice libsm libx11 libxext libxrender libxcomposite libxdamage \
+ libxfixes"
+DEPENDS_append = " qemu-native"
+RDEPENDS_${PN} = "perl fribidi"
+
+do_compile_prepend_class-target() {
+
+ cd ${B}
+ oe_runmake -C src genpref
+
+ qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}',['${B}/src/.libs','${STAGING_DIR_TARGET}/${libdir}','${STAGING_DIR_TARGET}/${base_libdir}'])}"
+ cat >qemuwrapper <<EOF
+#!/bin/sh
+${qemu_binary} src/genpref "\$@"
+EOF
+ chmod +x qemuwrapper
+ ./qemuwrapper > src/preferences
+}
+
+ALTERNATIVE_${PN} = "x-session-manager"
+ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/icewm-session"
+ALTERNATIVE_PRIORITY_${PN} = "100"
+
+FILES_${PN} += "${datadir}/xsessions"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Fix-builds-with-recent-gettext.patch b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Fix-builds-with-recent-gettext.patch
new file mode 100644
index 00000000..e9dadace
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Fix-builds-with-recent-gettext.patch
@@ -0,0 +1,32 @@
+From 3349812de0598ca7722e0b7c7b7e5d48bd79bea9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 20 Dec 2019 14:01:18 +0100
+Subject: [PATCH] Fix builds with recent gettext
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Process this file with automake to produce Makefile.in
+ AUTOMAKE_OPTIONS = no-texinfo.tex
+
+-SUBDIRS = intl src doc po man
++SUBDIRS = src po man
+
+ BUILT_SOURCES =
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -58,7 +58,6 @@ fi
+ AC_HEADER_DIRENT
+
+ AC_OUTPUT([
+- intl/Makefile
+ po/Makefile.in
+ Makefile
+ src/Makefile
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Makefile.am-remove-regression-dir.patch b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Makefile.am-remove-regression-dir.patch
new file mode 100644
index 00000000..357d77d8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Makefile.am-remove-regression-dir.patch
@@ -0,0 +1,67 @@
+From 27bda5ee884e79d6d0e76955124d2b0c5798d6cf Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 25 Feb 2019 00:34:17 -0800
+Subject: [PATCH] Makefile.am: remove regression dir
+
+Remove regression dir to fix below do_compile
+error:
+| Making all in regression
+| /bin/sh: line 20: cd: regression: No such file or directory
+| Makefile:451: recipe for target 'all-recursive' failed
+
+BTW, it should be safe not to cover regression dir
+as there is no Makefile.in under ${S}/regression
+and the content of ${S}/regression/Makefile as below.
+-------------------------------------
+all:
+
+install:
+
+check:
+ ./TEST
+
+distclean: clean
+
+maintainer-clean: clean
+
+distdir:
+
+clean:
+ @rm -rf output
+
+.PHONY: all install
+-------------------------------------
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ Makefile.am | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ba37a42..548fea7 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Process this file with automake to produce Makefile.in
+ AUTOMAKE_OPTIONS = no-texinfo.tex
+
+-SUBDIRS = intl src doc po man regression
++SUBDIRS = intl src doc po man
+
+ BUILT_SOURCES =
+
+@@ -13,8 +13,7 @@ EXTRA_DIST = README.md \
+ aclocal/UTIMBUF.m4 \
+ miscel/Makefile.mingw32 \
+ miscel/README.vc++ \
+- bootstrap \
+- regression
++ bootstrap
+
+ DISTCLEANFILES=config/config.cache config/config.log config.h
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-src-indent.c-correct-the-check-for-locale.h.patch b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-src-indent.c-correct-the-check-for-locale.h.patch
new file mode 100644
index 00000000..7df7ecb3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-src-indent.c-correct-the-check-for-locale.h.patch
@@ -0,0 +1,40 @@
+From 75369ce004ec0f5e46a432fa1dac8cfc7ae1ef8d Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Sun, 24 Feb 2019 22:35:08 -0800
+Subject: [PATCH] src/indent.c: correct the check for locale.h
+
+Adjust to check HAVE_LC_MESSAGES or HAVE_LOCALE_H
+to determine whether include locale.h or not to
+fix below issue:
+
+| ../../indent-2.2.12/src/indent.c: In function 'main':
+| ../../indent-2.2.12/src/indent.c:1062:5: error: implicit declaration of function 'setlocale'; did you mean 'setstate'? [-Werror=implicit-function-declaration]
+| setlocale(LC_ALL, "");
+| ^~~~~~~~~
+| setstate
+| ../../indent-2.2.12/src/indent.c:1062:5: error: nested extern declaration of 'setlocale' [-Werror=nested-externs]
+| ../../indent-2.2.12/src/indent.c:1062:15: error: 'LC_ALL' undeclared (first use in this function)
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ src/indent.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/indent.c b/src/indent.c
+index 4d666e2..0c2780b 100644
+--- a/src/indent.c
++++ b/src/indent.c
+@@ -71,7 +71,7 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <stdlib.h>
+-#ifdef HAVE_LOCALE_H
++#if defined(HAVE_LC_MESSAGES) || defined(HAVE_LOCALE_H)
+ #include <locale.h>
+ #endif
+ #include "indent.h"
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.10.bb b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.10.bb
deleted file mode 100644
index d25e8e31..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.10.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "A GNU program for formatting C code"
-HOMEPAGE = "http://www.gnu.org/software/indent/"
-SECTION = "Applications/Text"
-DESCRIPTION = "Indent is a GNU program for beautifying C code, so that \
-it is easier to read. Indent can also convert from one C writing style \
-to a different one. Indent understands correct C syntax and tries to handle \
-incorrect C syntax. \
-Install the indent package if you are developing applications in C and \
-you want a program to format your code."
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "virtual/gettext"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
-SRC_URI[md5sum] = "be35ea62705733859fbf8caf816d8959"
-SRC_URI[sha256sum] = "8a9b41be5bfcab5d8c1be74204b10ae78789fc3deabea0775fdced8677292639"
-
-inherit autotools gettext
-
-FILES_${PN}-doc += "/usr/doc/indent/indent.html"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.12.bb b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.12.bb
new file mode 100644
index 00000000..90ba8a2e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.12.bb
@@ -0,0 +1,27 @@
+SUMMARY = "A GNU program for formatting C code"
+HOMEPAGE = "http://www.gnu.org/software/indent/"
+SECTION = "Applications/Text"
+DESCRIPTION = "Indent is a GNU program for beautifying C code, so that \
+it is easier to read. Indent can also convert from one C writing style \
+to a different one. Indent understands correct C syntax and tries to handle \
+incorrect C syntax. \
+Install the indent package if you are developing applications in C and \
+you want a program to format your code."
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "virtual/gettext"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-src-indent.c-correct-the-check-for-locale.h.patch \
+ file://0001-Makefile.am-remove-regression-dir.patch \
+ file://0001-Fix-builds-with-recent-gettext.patch \
+ "
+SRC_URI[md5sum] = "4764b6ac98f6654a35da117b8e5e8e14"
+SRC_URI[sha256sum] = "e77d68c0211515459b8812118d606812e300097cfac0b4e9fb3472664263bb8b"
+
+inherit autotools gettext texinfo
+
+CFLAGS_append_class-native = " -Wno-error=unused-value"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb b/external/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb
index 94643cd2..3a597218 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb
@@ -4,24 +4,26 @@ DESCRIPTION = "iotop does for I/O usage what top(1) does for CPU usage. \
a table of current I/O usage by processes on the system."
HOMEPAGE = "http://guichaz.free.fr/iotop/"
-
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-SRC_URI = "http://guichaz.free.fr/iotop/files/${BP}.tar.bz2"
-SRC_URI[md5sum] = "5ef9456b26d7694abf3101a72e1e0d1d"
-SRC_URI[sha256sum] = "3adea2a24eda49bbbaeb4e6ed2042355b441dbd7161e883067a02bfc8dcef75b"
+PV .= "+git${SRCPV}"
+
+SRCREV = "1bfb3bc70febb1ffb95146b6dcd65257228099a3"
+SRC_URI = "git://repo.or.cz/iotop.git"
+
+S = "${WORKDIR}/git"
UPSTREAM_CHECK_URI = "http://repo.or.cz/iotop.git/tags"
UPSTREAM_CHECK_REGEX = "iotop-(?P<pver>\d+(\.\d+)+)"
-inherit distutils
+inherit distutils3
do_install_append() {
rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.pyo || true
rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py || true
}
-RDEPENDS_${PN} = "python-curses python-textutils \
- python-codecs python-ctypes python-pprint \
- python-shell python-subprocess"
+RDEPENDS_${PN} = "python3-curses \
+ python3-codecs python3-ctypes python3-pprint \
+ python3-shell python3-core"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
index 83e83858..b7899a11 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
@@ -2,7 +2,7 @@ SUMMARY = "Tools for taking the MD5 sum of ISO images"
DESCRIPTION = "Tools for taking the MD5 sum of ISO images"
DEPENDS = "popt python3 openssl curl popt-native"
-RDEPENDS_${PN} = "openssl curl"
+RDEPENDS_${BPN} = "openssl curl"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
@@ -25,11 +25,11 @@ do_install () {
oe_runmake install
}
-PACKAGES += "${PYTHON_PN}-${PN}"
+PACKAGES += "${PYTHON_PN}-${BPN}"
-RPROVIDES_${PN}-dbg += "${PYTHON_PN}-${PN}-dbg"
+RPROVIDES_${BPN}-dbg += "${PYTHON_PN}-${BPN}-dbg"
-FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
+FILES_${PYTHON_PN}-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
SRCREV = "7860901f726f5d92689cb67243cc7f981f21f74b"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.11.bb b/external/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.11.bb
deleted file mode 100644
index 370fa224..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.11.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
-HOMEPAGE = "http://www.digip.org/jansson/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8b70213ec164c7bd876ec2120ba52f61"
-
-SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "7af071db9970441e1eaaf25662310e33"
-SRC_URI[sha256sum] = "6e85f42dabe49a7831dbdd6d30dca8a966956b51a9a50ed534b82afc3fa5b2f4"
-
-inherit autotools pkgconfig
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb
new file mode 100644
index 00000000..d6e56ea7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE = "http://www.digip.org/jansson/"
+BUGTRACKER = "https://github.com/akheron/jansson/issues"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf"
+
+SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "570af45b8203e95876d71fecd56cee20"
+SRC_URI[sha256sum] = "f4f377da17b10201a60c1108613e78ee15df6b12016b116b6de42209f47a474f"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
new file mode 100644
index 00000000..50dd74b6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A handy serial sniffer"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
+
+PV = "2.3.5+git${SRCPV}"
+
+SRC_URI = "git://github.com/snarlistic/jpnevulator.git;protocol=http"
+SRCREV = "c2d857091c0dfed05139ac07ea9b0f36ad259638"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install 'DESTDIR=${D}'
+}
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
index f62cf6ba..e6d5663f 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
@@ -6,7 +6,7 @@ implementations for many of the provider operations."
HOMEPAGE = "https://github.com/rnovacek/konkretcmpi"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=f673270bfc350d9ce1efc8724c6c1873"
-DEPENDS_append_class-target = " swig-native sblim-cmpi-devel python"
+DEPENDS_append_class-target = " swig-native sblim-cmpi-devel python3"
DEPENDS_append_class-native = " cmpi-bindings-native"
SRC_URI = "git://github.com/rnovacek/konkretcmpi.git \
@@ -34,6 +34,6 @@ PACKAGES =+ "${PN}-python"
RPROVIDES_${PN}-dbg += "${PN}-python-dbg"
-FILES_${PN}-python = "${libdir}/python2.7/site-packages/konkretmof.py* ${libdir}/python2.7/site-packages/_konkretmof.so"
+FILES_${PN}-python = "${libdir}/python*/site-packages/konkretmof.py* ${libdir}/python*/site-packages/_konkretmof.so"
BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb b/external/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb
deleted file mode 100644
index 35f0cc06..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
-block devices. It has a plugin-based architecture where each technology (like \
-LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
-with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
-HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
-LICENSE = "LGPLv2+"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-inherit autotools python3native gobject-introspection
-
-SRCREV = "0debeb45562ac3d8f6f43f6f942b238abab55be9"
-SRC_URI = " \
- git://github.com/rhinstaller/libblockdev;branch=master \
-"
-
-S = "${WORKDIR}/git"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
-
-PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python2"
-PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
-PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
-PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
-PACKAGECONFIG[dmraid] = "--with-dmraid, --without-dmraid"
-PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod"
-PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
-PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
-PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
-PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm"
-PACKAGECONFIG[vdo] = "--with-vdo, --without-vdo"
-PACKAGECONFIG[escrow] = "--with-escrow, --without-escrow, nss volume-key"
-PACKAGECONFIG[btrfs] = "--with-btrfs,--without-btrfs,libbytesize btrfs-tools"
-PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,cryptsetup nss volume-key"
-PACKAGECONFIG[mdraid] = "--with-mdraid,--without-mdraid,libbytesize"
-PACKAGECONFIG[kbd] = "--with-kbd,--without-kbd,libbytesize"
-PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
-
-export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.24.bb b/external/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.24.bb
new file mode 100644
index 00000000..99cdee5b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.24.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
+block devices. It has a plugin-based architecture where each technology (like \
+LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
+with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
+HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
+LICENSE = "LGPLv2+"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+inherit autotools gobject-introspection
+
+SRC_URI = "git://github.com/storaged-project/libblockdev;branch=2.x-branch"
+SRCREV = "f5a4ba8bb298f8cbc435707d0b19b4b2ff836a8e"
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${libdir}/python2.7/dist-packages ${libdir}/python3.*/site-packages"
+
+PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath nvdimm"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python"
+PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
+PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
+PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
+PACKAGECONFIG[dmraid] = "--with-dmraid, --without-dmraid"
+PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod"
+PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
+PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
+PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
+PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm, ndctl util-linux"
+PACKAGECONFIG[vdo] = "--with-vdo, --without-vdo"
+PACKAGECONFIG[escrow] = "--with-escrow, --without-escrow, nss volume-key"
+PACKAGECONFIG[btrfs] = "--with-btrfs,--without-btrfs,libbytesize btrfs-tools"
+PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,cryptsetup nss volume-key"
+PACKAGECONFIG[mdraid] = "--with-mdraid,--without-mdraid,libbytesize"
+PACKAGECONFIG[kbd] = "--with-kbd,--without-kbd,libbytesize"
+PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
+
+export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libcec/files/0001-Explicitly-use-python3-in-pyCecClient.patch b/external/meta-openembedded/meta-oe/recipes-extended/libcec/files/0001-Explicitly-use-python3-in-pyCecClient.patch
deleted file mode 100644
index ec1f5d0d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/libcec/files/0001-Explicitly-use-python3-in-pyCecClient.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 16e8c072709572ccefa6c7f835136db01f031323 Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@siemens.com>
-Date: Fri, 28 Sep 2018 16:56:14 +0200
-Subject: [PATCH] Explicitly use python3 in pyCecClient
-
-Upstream-Status: Submitted [https://github.com/Pulse-Eight/libcec/pull/433]
-
----
- src/pyCecClient/pyCecClient.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/pyCecClient/pyCecClient.py b/src/pyCecClient/pyCecClient.py
-index 6d47857..d0504ac 100755
---- a/src/pyCecClient/pyCecClient.py
-+++ b/src/pyCecClient/pyCecClient.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/python3
- ## demo of the python-libcec API
-
- # This file is part of the libCEC(R) library.
---
-2.11.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch b/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch
new file mode 100644
index 00000000..3ecbfce2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch
@@ -0,0 +1,42 @@
+From 95d4df3b713925e2c4894a2e4d50b06df861d9ef Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Dec 2019 23:37:40 -0800
+Subject: [PATCH] CheckPlatformSupport.cmake: Do not hardcode lib path
+
+Using CMAKE_INSTALL_LIBDIR ensures that we can build for multilib env
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libcec/cmake/CheckPlatformSupport.cmake | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
+index 2d7102f..55e78f8 100644
+--- a/src/libcec/cmake/CheckPlatformSupport.cmake
++++ b/src/libcec/cmake/CheckPlatformSupport.cmake
+@@ -224,16 +224,16 @@ else()
+
+ if (${PYTHON_MAJOR_VERSION} EQUAL 2)
+ install(TARGETS ${SWIG_MODULE_cec_REAL_NAME}
+- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH}/cec)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH}/cec)
+ install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py
+- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR})
++ DESTINATION l${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR})
+ install(FILES ${CMAKE_SOURCE_DIR}/src/libcec/cmake/__init__.py
+- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/cec)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/cec)
+ else()
+ install(TARGETS ${SWIG_MODULE_cec_REAL_NAME}
+- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH})
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH})
+ install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py
+- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR})
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR})
+ endif()
+ endif()
+ endif()
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-Enhance-reproducibility.patch b/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-Enhance-reproducibility.patch
new file mode 100644
index 00000000..f08887b8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-Enhance-reproducibility.patch
@@ -0,0 +1,33 @@
+From 240727d3142700af779ca6f5c4677419787bca28 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2020 16:15:20 -0700
+Subject: [PATCH] Enhance reproducibility
+
+SetBuildInfo.cmake groks information from build system and emits that
+into sourcecode ( header file ) which is then compiled into binary, this
+string is build system dependent, therefore can cause reproducibility
+issues, here we set static string for LIB_INFO
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libcec/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libcec/CMakeLists.txt b/src/libcec/CMakeLists.txt
+index 19a070b..4b3c827 100644
+--- a/src/libcec/CMakeLists.txt
++++ b/src/libcec/CMakeLists.txt
+@@ -133,7 +133,7 @@ set(CEC_HEADERS devices/CECRecordingDevice.h
+ source_group("Header Files" FILES ${CEC_HEADERS})
+
+ # platform and device specific
+-include(cmake/SetBuildInfo.cmake)
++set(LIB_INFO "compiled on ${CMAKE_SYSTEM} ... ")
+ include(cmake/CheckPlatformSupport.cmake)
+
+ ## create project groups
+--
+2.26.2
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
index 4ad49971..39ceb489 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
@@ -2,18 +2,20 @@ SUMMARY = "USB CEC Adaptor communication Library"
HOMEPAGE = "http://libcec.pulse-eight.com/"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e61fd86f9c947b430126181da2c6c715"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b3a719e97f49e4841e90573f9b1a98ac"
DEPENDS = "p8platform udev ncurses swig-native python3"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11 libxrandr', '', d)}"
DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
-PV = "4.0.2+gitr${SRCPV}"
+PV = "5.0.0"
-SRCREV = "0a97062dd4b196ceeb003ec41841c7a7edc36dd1"
-SRC_URI = "git://github.com/Pulse-Eight/libcec.git \
- file://0001-Explicitly-use-python3-in-pyCecClient.patch"
+SRCREV = "43bc27fe7be491149e6f57d14110e02abdac2f24"
+SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release \
+ file://0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch \
+ file://0001-Enhance-reproducibility.patch \
+ "
S = "${WORKDIR}/git"
@@ -22,7 +24,7 @@ inherit cmake pkgconfig
# Put client tools into a separate package
PACKAGE_BEFORE_PN += "${PN}-tools"
FILES_${PN}-tools = "${bindir}"
-RDEPENDS_${PN}-tools = "python3-${BPN}"
+RDEPENDS_${PN}-tools = "python3-${BPN} python3-core"
# Create the wrapper for python3
PACKAGES += "python3-${BPN}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch b/external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch
deleted file mode 100644
index f65d26aa..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch
+++ /dev/null
@@ -1,16 +0,0 @@
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -56,6 +56,7 @@ AM_CONDITIONAL([ENABLE_EXAMPLES], [test
- # Checks for programs.
- AC_PROG_CC
- AC_PROG_CC_C99
-+AM_PROG_AR
-
- # Enable automake silent build rules.
- m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
index 6c4f4a07..b7c1958e 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
@@ -8,11 +8,10 @@ DEPENDS = "libusb1"
inherit autotools pkgconfig
-PV = "0.4.2+gitr${SRCPV}"
+PV = "0.6.0"
-SRCREV = "5f765f91430f16932d96b3777404420aa2dd4c7c"
-SRC_URI = "git://git.libdivecomputer.org/libdivecomputer.git \
- file://fix-ar.patch \
+SRCREV = "1195abc2f4acc7b10175d570ec73549d0938c83e"
+SRC_URI = "git://github.com/libdivecomputer/libdivecomputer.git;protocol=https \
"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
index 7e4c330a..8a2886b8 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
@@ -26,6 +26,6 @@ file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
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 distro_features_check autotools pkgconfig gettext
+inherit features_check autotools pkgconfig gettext
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch b/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
new file mode 100644
index 00000000..5adc7d9f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
@@ -0,0 +1,181 @@
+From 82f98dcbc429bbe89a9837c533cbcbc02e77c790 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
+Date: Tue, 28 Jun 2016 12:43:31 +0100
+Subject: [PATCH] idn: fix printf() format security warnings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| ../../libidn-1.32/src/idn.c: In function 'main':
+| ../../libidn-1.32/src/idn.c:172:7: error: format not a string literal and no format arguments [-Werror=format-security]
+| error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
+| ^~~~~
+| ../../libidn-1.32/src/idn.c:187:5: error: format not a string literal and no format arguments [-Werror=format-security]
+| fprintf (stderr, _("Type each input string on a line by itself, "
+| ^~~~~~~
+| ../../libidn-1.32/src/idn.c:202:4: error: format not a string literal and no format arguments [-Werror=format-security]
+| error (EXIT_FAILURE, errno, _("input error"));
+| ^~~~~
+| ../../libidn-1.32/src/idn.c:220:8: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UTF-8 to UCS-4"));
+| ^
+| ../../libidn-1.32/src/idn.c:245:8: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UTF-8 to UCS-4"));
+| ^
+| ../../libidn-1.32/src/idn.c:281:6: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UTF-8 to UCS-4"));
+| ^
+| ../../libidn-1.32/src/idn.c:340:6: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UCS-4 to UTF-8"));
+| ^
+| ../../libidn-1.32/src/idn.c:364:6: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UCS-4 to UTF-8"));
+| ^
+| ../../libidn-1.32/src/idn.c:442:8: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UCS-4 to UTF-8"));
+| ^
+| ../../libidn-1.32/src/idn.c:498:6: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UTF-8 to UCS-4"));
+| ^
+| ../../libidn-1.32/src/idn.c:527:5: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UTF-8 to UCS-4"));
+| ^
+| ../../libidn-1.32/src/idn.c:540:6: error: format not a string literal and no format arguments [-Werror=format-security]
+| error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
+| ^~~~~
+| ../../libidn-1.32/src/idn.c:551:5: error: format not a string literal and no format arguments [-Werror=format-security]
+| _("could not convert from UTF-8 to UCS-4"));
+| ^
+
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+---
+Upstream-Status: Pending
+
+ src/idn.c | 27 ++++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/idn.c b/src/idn.c
+index be1c7d1..68e4291 100644
+--- a/src/idn.c
++++ b/src/idn.c
+@@ -170,7 +170,7 @@ main (int argc, char *argv[])
+ (args_info.idna_to_unicode_given ? 1 : 0) +
+ (args_info.nfkc_given ? 1 : 0) != 1)
+ {
+- error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
++ error (0, 0, "%s", _("only one of -s, -e, -d, -a, -u or -n can be specified"));
+ usage (EXIT_FAILURE);
+ }
+
+@@ -185,7 +185,7 @@ main (int argc, char *argv[])
+ if (!args_info.quiet_given
+ && args_info.inputs_num == 0
+ && isatty (fileno (stdin)))
+- fprintf (stderr, _("Type each input string on a line by itself, "
++ fprintf (stderr, "%s", _("Type each input string on a line by itself, "
+ "terminated by a newline character.\n"));
+
+ do
+@@ -197,7 +197,7 @@ main (int argc, char *argv[])
+ if (feof (stdin))
+ break;
+
+- error (EXIT_FAILURE, errno, _("input error"));
++ error (EXIT_FAILURE, errno, "%s", _("input error"));
+ }
+
+ if (strlen (line) > 0)
+@@ -215,7 +215,7 @@ main (int argc, char *argv[])
+ if (!q)
+ {
+ free (p);
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UTF-8 to UCS-4"));
+ }
+
+@@ -240,7 +240,7 @@ main (int argc, char *argv[])
+ if (!q)
+ {
+ free (r);
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UTF-8 to UCS-4"));
+ }
+
+@@ -277,7 +277,7 @@ main (int argc, char *argv[])
+ q = stringprep_utf8_to_ucs4 (p, -1, &len);
+ free (p);
+ if (!q)
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UTF-8 to UCS-4"));
+
+ if (args_info.debug_given)
+@@ -336,7 +336,7 @@ main (int argc, char *argv[])
+ r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
+ free (q);
+ if (!r)
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UCS-4 to UTF-8"));
+
+ p = stringprep_utf8_to_locale (r);
+@@ -360,7 +360,7 @@ main (int argc, char *argv[])
+ q = stringprep_utf8_to_ucs4 (p, -1, NULL);
+ free (p);
+ if (!q)
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UCS-4 to UTF-8"));
+
+ if (args_info.debug_given)
+@@ -438,7 +438,7 @@ main (int argc, char *argv[])
+ if (!q)
+ {
+ free (p);
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UCS-4 to UTF-8"));
+ }
+
+@@ -494,7 +494,7 @@ main (int argc, char *argv[])
+ r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
+ free (q);
+ if (!r)
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UTF-8 to UCS-4"));
+
+ p = stringprep_utf8_to_locale (r);
+@@ -523,7 +523,7 @@ main (int argc, char *argv[])
+ if (!q)
+ {
+ free (p);
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UTF-8 to UCS-4"));
+ }
+
+@@ -537,7 +537,8 @@ main (int argc, char *argv[])
+ r = stringprep_utf8_nfkc_normalize (p, -1);
+ free (p);
+ if (!r)
+- error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
++ error (EXIT_FAILURE, 0, "%s",
++ _("could not do NFKC normalization"));
+
+ if (args_info.debug_given)
+ {
+@@ -547,7 +548,7 @@ main (int argc, char *argv[])
+ if (!q)
+ {
+ free (r);
+- error (EXIT_FAILURE, 0,
++ error (EXIT_FAILURE, 0, "%s",
+ _("could not convert from UTF-8 to UCS-4"));
+ }
+
+--
+2.8.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch b/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch
new file mode 100644
index 00000000..0863530f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch
@@ -0,0 +1,23 @@
+Upstream-Status: Inappropriate [disable feature]
+
+Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
+diff -Nurdd libidn-1.26/doc/Makefile.am libidn-1.26/doc/Makefile.am
+--- libidn-1.26/doc/Makefile.am 2012-09-18 11:25:45.000000000 +0300
++++ libidn-1.26/doc/Makefile.am 2013-02-08 07:41:24.591431462 +0200
+@@ -49,15 +49,9 @@
+
+ # Man pages.
+
+-dist_man_MANS = idn.1 $(gdoc_MANS)
++dist_man_MANS = $(gdoc_MANS)
+ MAINTAINERCLEANFILES = $(dist_man_MANS)
+
+-idn.1: $(top_srcdir)/src/idn.c $(top_srcdir)/src/idn.ggo \
+- $(top_srcdir)/configure.ac
+- $(HELP2MAN) \
+- --name="Internationalized Domain Names command line tool" \
+- --output=$@ $(top_builddir)/src/idn$(EXEEXT)
+-
+ # GDOC
+
+ GDOC_BIN = $(srcdir)/gdoc
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.35.bb b/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.35.bb
new file mode 100644
index 00000000..10574035
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libidn/libidn_1.35.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Internationalized Domain Name support library"
+DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
+HOMEPAGE = "http://www.gnu.org/software/libidn/"
+SECTION = "libs"
+LICENSE = "(LGPLv2.1+ | LGPLv3) & GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=df4be47940a91ee69556f5f71eed4aec \
+ file://COPYING.LESSERv2;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://lib/idna.h;endline=21;md5=37cffad24807f446a24de3e7371f20b9 \
+ file://src/idn.c;endline=20;md5=09e97034a8877b3451cb65065fc2c06e"
+DEPENDS = "virtual/libiconv autoconf-archive"
+
+inherit pkgconfig autotools gettext texinfo gtk-doc
+
+SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \
+ file://dont-depend-on-help2man.patch \
+ file://0001-idn-format-security-warnings.patch \
+ "
+
+SRC_URI[md5sum] = "bef634141fe39326cb354b75e891fead"
+SRC_URI[sha256sum] = "f11af1005b46b7b15d057d7f107315a1ad46935c7fcdf243c16e46ec14f0fe1e"
+
+# command tool is under GPLv3+, while libidn itself is under LGPLv2.1+ or LGPLv3
+# so package command into a separate package
+PACKAGES =+ "idn"
+FILES_idn = "${bindir}/*"
+
+LICENSE_${PN} = "LGPLv2.1+ | LGPLv3"
+LICENSE_idn = "GPLv3+"
+
+EXTRA_OECONF = "--disable-csharp"
+
+do_install_append() {
+ rm -rf ${D}${datadir}/emacs
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.0.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.0.0.bb
deleted file mode 100644
index 43c1fd5c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.0.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
- file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7"
-
-DEPENDS = "libxml2 glib-2.0 swig python"
-
-inherit autotools pkgconfig pythonnative
-
-SRCREV = "62ec804736435fa34e37e66e228e17e2aacee1d7"
-SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https \
- "
-
-S = "${WORKDIR}/git"
-
-do_install_append () {
- if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then
- chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so
- fi
-}
-
-PACKAGES =+ "${PN}-utils ${PN}++ ${PN}-python"
-FILES_${PN} = "${libdir}/libplist${SOLIBS}"
-FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}"
-FILES_${PN}-utils = "${bindir}/*"
-FILES_${PN}-python = "${libdir}/python*/site-packages/*"
-
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb
new file mode 100644
index 00000000..36659e75
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML"
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
+ file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7"
+
+DEPENDS = "libxml2 glib-2.0 swig python3"
+
+inherit autotools pkgconfig python3native
+
+SRCREV = "3df02d4d0e9008771e8622fdc10de8333b3f0d85"
+SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https \
+ "
+
+S = "${WORKDIR}/git"
+
+do_install_append () {
+ if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then
+ chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so
+ fi
+}
+
+PACKAGES =+ "${PN}-utils ${PN}++ ${PN}-python"
+FILES_${PN} = "${libdir}/libplist${SOLIBS}"
+FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}"
+FILES_${PN}-utils = "${bindir}/*"
+FILES_${PN}-python = "${libdir}/python*/site-packages/*"
+
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus/0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch b/external/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus/0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch
new file mode 100644
index 00000000..321b4128
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus/0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch
@@ -0,0 +1,37 @@
+From 066c49158a71ea77598c9e1ae16bba63d6ac6bb5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 23:41:35 -0800
+Subject: [PATCH] cmake: Use GNUInstallDirs instead of hardcoding lib path
+
+Upstream-Status: Submitted [https://github.com/Jacajack/liblightmodbus/pull/12]
+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 ce6cc88..bee83aa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -242,14 +242,14 @@ if ( DEFINED AVR )
+ )
+ endif( )
+
+-
++include(GNUInstallDirs)
+ #Installation
+ install(
+ TARGETS lightmodbus
+- ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/"
+ )
+
+ #Install headers
+ install(
+ DIRECTORY "${CMAKE_SOURCE_DIR}/include/" DESTINATION "${CMAKE_INSTALL_PREFIX}/include/" FILES_MATCHING PATTERN "*.h"
+-)
+\ No newline at end of file
++)
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb
new file mode 100644
index 00000000..7fc59979
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A cross-platform, lightweight Modbus RTU library"
+DESCRIPTION = "liblightmodbus is a very lightweight, highly configurable, \
+ platform-independent Modbus RTU library."
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+inherit cmake pkgconfig
+
+SRC_URI = "git://github.com/Jacajack/liblightmodbus.git;protocol=https \
+ file://0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch \
+ "
+SRCREV = "59d2b405f95701e5b04326589786dbb43ce49e81"
+
+S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock.so-and-nfslock.so.0.patch b/external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock-libs.patch
index a6b297b5..a6b297b5 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock.so-and-nfslock.so.0.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock-libs.patch
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb b/external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
index de2c1e36..10d88a3b 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
@@ -8,7 +8,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.14.orig.tar.gz \
${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.14-1.debian.tar.bz2;name=1.14-1 \
file://configure.patch \
file://0001-Makefile.in-add-DESTDIR.patch \
- file://0001-Makefile.in-install-nfslock.so-and-nfslock.so.0.patch \
+ file://0001-Makefile.in-install-nfslock-libs.patch \
file://liblockfile-fix-install-so-to-man-dir.patch \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb b/external/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
index bb598451..5c1c1515 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
@@ -8,7 +8,7 @@ sophisticated "behind the scenes" with better support for multiple threads \
and flexibility for different log destinations (e.g. syslog and systemd \
journal)."
SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=63fe03535d83726f5655072502bef1bc"
SRC_URI = "http://download.rsyslog.com/${BPN}/${BPN}-${PV}.tar.gz"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc
index a01659a7..b502177a 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc
@@ -10,4 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "http://libmodbus.org/releases/${BP}.tar.gz"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[documentation] = "--with-documentation,--without-documentation,asciidoc-native xmlto-native"
+
inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
new file mode 100644
index 00000000..5372a23b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
@@ -0,0 +1,314 @@
+From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= <szlin@debian.org>
+Date: Wed, 19 Dec 2018 10:24:47 +0800
+Subject: Fix float endianness issue on big endian arch
+
+It converts float values depending on what order they come in.
+
+This patch was modified from rm5248 [1]
+
+[1] https://github.com/synexxus/libmodbus/commit/a511768e7fe7ec52d7bae1d9ae04e33f87a59627
+
+---
+ src/modbus-data.c | 110 ++++++++++++++++++++++++++++++++++++++---------
+ tests/unit-test-client.c | 22 ++++++----
+ tests/unit-test.h.in | 41 ++++++++++++++++--
+ 3 files changed, 141 insertions(+), 32 deletions(-)
+
+diff --git a/src/modbus-data.c b/src/modbus-data.c
+index 902b8c6..7a744fa 100644
+--- a/src/modbus-data.c
++++ b/src/modbus-data.c
+@@ -119,9 +119,18 @@ float modbus_get_float_abcd(const uint16_t *src)
+ {
+ float f;
+ uint32_t i;
++ uint8_t a, b, c, d;
+
+- i = ntohl(((uint32_t)src[0] << 16) + src[1]);
+- memcpy(&f, &i, sizeof(float));
++ a = (src[0] >> 8) & 0xFF;
++ b = (src[0] >> 0) & 0xFF;
++ c = (src[1] >> 8) & 0xFF;
++ d = (src[1] >> 0) & 0xFF;
++
++ i = (a << 24) |
++ (b << 16) |
++ (c << 8) |
++ (d << 0);
++ memcpy(&f, &i, 4);
+
+ return f;
+ }
+@@ -131,9 +140,18 @@ float modbus_get_float_dcba(const uint16_t *src)
+ {
+ float f;
+ uint32_t i;
++ uint8_t a, b, c, d;
+
+- i = ntohl(bswap_32((((uint32_t)src[0]) << 16) + src[1]));
+- memcpy(&f, &i, sizeof(float));
++ a = (src[0] >> 8) & 0xFF;
++ b = (src[0] >> 0) & 0xFF;
++ c = (src[1] >> 8) & 0xFF;
++ d = (src[1] >> 0) & 0xFF;
++
++ i = (d << 24) |
++ (c << 16) |
++ (b << 8) |
++ (a << 0);
++ memcpy(&f, &i, 4);
+
+ return f;
+ }
+@@ -143,9 +161,18 @@ float modbus_get_float_badc(const uint16_t *src)
+ {
+ float f;
+ uint32_t i;
++ uint8_t a, b, c, d;
+
+- i = ntohl((uint32_t)(bswap_16(src[0]) << 16) + bswap_16(src[1]));
+- memcpy(&f, &i, sizeof(float));
++ a = (src[0] >> 8) & 0xFF;
++ b = (src[0] >> 0) & 0xFF;
++ c = (src[1] >> 8) & 0xFF;
++ d = (src[1] >> 0) & 0xFF;
++
++ i = (b << 24) |
++ (a << 16) |
++ (d << 8) |
++ (c << 0);
++ memcpy(&f, &i, 4);
+
+ return f;
+ }
+@@ -155,9 +182,18 @@ float modbus_get_float_cdab(const uint16_t *src)
+ {
+ float f;
+ uint32_t i;
++ uint8_t a, b, c, d;
+
+- i = ntohl((((uint32_t)src[1]) << 16) + src[0]);
+- memcpy(&f, &i, sizeof(float));
++ a = (src[0] >> 8) & 0xFF;
++ b = (src[0] >> 0) & 0xFF;
++ c = (src[1] >> 8) & 0xFF;
++ d = (src[1] >> 0) & 0xFF;
++
++ i = (c << 24) |
++ (d << 16) |
++ (a << 8) |
++ (b << 0);
++ memcpy(&f, &i, 4);
+
+ return f;
+ }
+@@ -172,50 +208,84 @@ float modbus_get_float(const uint16_t *src)
+ memcpy(&f, &i, sizeof(float));
+
+ return f;
++
+ }
+
+ /* Set a float to 4 bytes for Modbus w/o any conversion (ABCD) */
+ void modbus_set_float_abcd(float f, uint16_t *dest)
+ {
+ uint32_t i;
++ uint8_t *out = (uint8_t*) dest;
++ uint8_t a, b, c, d;
+
+ memcpy(&i, &f, sizeof(uint32_t));
+- i = htonl(i);
+- dest[0] = (uint16_t)(i >> 16);
+- dest[1] = (uint16_t)i;
++ a = (i >> 24) & 0xFF;
++ b = (i >> 16) & 0xFF;
++ c = (i >> 8) & 0xFF;
++ d = (i >> 0) & 0xFF;
++
++ out[0] = a;
++ out[1] = b;
++ out[2] = c;
++ out[3] = d;
+ }
+
+ /* Set a float to 4 bytes for Modbus with byte and word swap conversion (DCBA) */
+ void modbus_set_float_dcba(float f, uint16_t *dest)
+ {
+ uint32_t i;
++ uint8_t *out = (uint8_t*) dest;
++ uint8_t a, b, c, d;
+
+ memcpy(&i, &f, sizeof(uint32_t));
+- i = bswap_32(htonl(i));
+- dest[0] = (uint16_t)(i >> 16);
+- dest[1] = (uint16_t)i;
++ a = (i >> 24) & 0xFF;
++ b = (i >> 16) & 0xFF;
++ c = (i >> 8) & 0xFF;
++ d = (i >> 0) & 0xFF;
++
++ out[0] = d;
++ out[1] = c;
++ out[2] = b;
++ out[3] = a;
++
+ }
+
+ /* Set a float to 4 bytes for Modbus with byte swap conversion (BADC) */
+ void modbus_set_float_badc(float f, uint16_t *dest)
+ {
+ uint32_t i;
++ uint8_t *out = (uint8_t*) dest;
++ uint8_t a, b, c, d;
+
+ memcpy(&i, &f, sizeof(uint32_t));
+- i = htonl(i);
+- dest[0] = (uint16_t)bswap_16(i >> 16);
+- dest[1] = (uint16_t)bswap_16(i & 0xFFFF);
++ a = (i >> 24) & 0xFF;
++ b = (i >> 16) & 0xFF;
++ c = (i >> 8) & 0xFF;
++ d = (i >> 0) & 0xFF;
++
++ out[0] = b;
++ out[1] = a;
++ out[2] = d;
++ out[3] = c;
+ }
+
+ /* Set a float to 4 bytes for Modbus with word swap conversion (CDAB) */
+ void modbus_set_float_cdab(float f, uint16_t *dest)
+ {
+ uint32_t i;
++ uint8_t *out = (uint8_t*) dest;
++ uint8_t a, b, c, d;
+
+ memcpy(&i, &f, sizeof(uint32_t));
+- i = htonl(i);
+- dest[0] = (uint16_t)i;
+- dest[1] = (uint16_t)(i >> 16);
++ a = (i >> 24) & 0xFF;
++ b = (i >> 16) & 0xFF;
++ c = (i >> 8) & 0xFF;
++ d = (i >> 0) & 0xFF;
++
++ out[0] = c;
++ out[1] = d;
++ out[2] = a;
++ out[3] = b;
+ }
+
+ /* DEPRECATED - Set a float to 4 bytes in a sort of Modbus format! */
+diff --git a/tests/unit-test-client.c b/tests/unit-test-client.c
+index 3e315f4..3fccf3e 100644
+--- a/tests/unit-test-client.c
++++ b/tests/unit-test-client.c
+@@ -27,6 +27,7 @@ int send_crafted_request(modbus_t *ctx, int function,
+ uint16_t max_value, uint16_t bytes,
+ int backend_length, int backend_offset);
+ int equal_dword(uint16_t *tab_reg, const uint32_t value);
++int is_memory_equal(const void *s1, const void *s2, size_t size);
+
+ #define BUG_REPORT(_cond, _format, _args ...) \
+ printf("\nLine %d: assertion error for '%s': " _format "\n", __LINE__, # _cond, ## _args)
+@@ -40,6 +41,11 @@ int equal_dword(uint16_t *tab_reg, const uint32_t value);
+ } \
+ };
+
++int is_memory_equal(const void *s1, const void *s2, size_t size)
++{
++ return (memcmp(s1, s2, size) == 0);
++}
++
+ int equal_dword(uint16_t *tab_reg, const uint32_t value) {
+ return ((tab_reg[0] == (value >> 16)) && (tab_reg[1] == (value & 0xFFFF)));
+ }
+@@ -286,26 +292,26 @@ int main(int argc, char *argv[])
+ /** FLOAT **/
+ printf("1/4 Set/get float ABCD: ");
+ modbus_set_float_abcd(UT_REAL, tab_rp_registers);
+- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_ABCD), "FAILED Set float ABCD");
+- real = modbus_get_float_abcd(tab_rp_registers);
++ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_ABCD_SET, 4), "FAILED Set float ABCD");
++ real = modbus_get_float_abcd(UT_IREAL_ABCD_GET);
+ ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
+
+ printf("2/4 Set/get float DCBA: ");
+ modbus_set_float_dcba(UT_REAL, tab_rp_registers);
+- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_DCBA), "FAILED Set float DCBA");
+- real = modbus_get_float_dcba(tab_rp_registers);
++ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_DCBA_SET, 4), "FAILED Set float DCBA");
++ real = modbus_get_float_dcba(UT_IREAL_DCBA_GET);
+ ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
+
+ printf("3/4 Set/get float BADC: ");
+ modbus_set_float_badc(UT_REAL, tab_rp_registers);
+- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_BADC), "FAILED Set float BADC");
+- real = modbus_get_float_badc(tab_rp_registers);
++ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_BADC_SET, 4), "FAILED Set float BADC");
++ real = modbus_get_float_badc(UT_IREAL_BADC_GET);
+ ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
+
+ printf("4/4 Set/get float CDAB: ");
+ modbus_set_float_cdab(UT_REAL, tab_rp_registers);
+- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_CDAB), "FAILED Set float CDAB");
+- real = modbus_get_float_cdab(tab_rp_registers);
++ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_CDAB_SET, 4), "FAILED Set float CDAB");
++ real = modbus_get_float_cdab(UT_IREAL_CDAB_GET);
+ ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
+
+ printf("\nAt this point, error messages doesn't mean the test has failed\n");
+diff --git a/tests/unit-test.h.in b/tests/unit-test.h.in
+index dca826f..4ffa254 100644
+--- a/tests/unit-test.h.in
++++ b/tests/unit-test.h.in
+@@ -56,12 +56,45 @@ const uint16_t UT_INPUT_REGISTERS_ADDRESS = 0x108;
+ const uint16_t UT_INPUT_REGISTERS_NB = 0x1;
+ const uint16_t UT_INPUT_REGISTERS_TAB[] = { 0x000A };
+
++/*
++ * This float value is 0x47F12000 (in big-endian format).
++ * In Little-endian(intel) format, it will be stored in memory as follows:
++ * 0x00 0x20 0xF1 0x47
++ *
++ * You can check this with the following code:
++
++ float fl = UT_REAL;
++ uint8_t *inmem = (uint8_t*)&fl;
++ int x;
++ for(x = 0; x < 4; x++){
++ printf("0x%02X ", inmem[ x ]);
++ }
++ printf("\n");
++ */
+ const float UT_REAL = 123456.00;
+
+-const uint32_t UT_IREAL_ABCD = 0x0020F147;
+-const uint32_t UT_IREAL_DCBA = 0x47F12000;
+-const uint32_t UT_IREAL_BADC = 0x200047F1;
+-const uint32_t UT_IREAL_CDAB = 0xF1470020;
++/*
++ * The following arrays assume that 'A' is the MSB,
++ * and 'D' is the LSB.
++ * Thus, the following is the case:
++ * A = 0x47
++ * B = 0xF1
++ * C = 0x20
++ * D = 0x00
++ *
++ * There are two sets of arrays: one to test that the setting is correct,
++ * the other to test that the getting is correct.
++ * Note that the 'get' values must be constants in processor-endianness,
++ * as libmodbus will convert all words to processor-endianness as they come in.
++ */
++const uint8_t UT_IREAL_ABCD_SET[] = {0x47, 0xF1, 0x20, 0x00};
++const uint16_t UT_IREAL_ABCD_GET[] = {0x47F1, 0x2000};
++const uint8_t UT_IREAL_DCBA_SET[] = {0x00, 0x20, 0xF1, 0x47};
++const uint16_t UT_IREAL_DCBA_GET[] = {0x0020, 0xF147};
++const uint8_t UT_IREAL_BADC_SET[] = {0xF1, 0x47, 0x00, 0x20};
++const uint16_t UT_IREAL_BADC_GET[] = {0xF147, 0x0020};
++const uint8_t UT_IREAL_CDAB_SET[] = {0x20, 0x00, 0x47, 0xF1};
++const uint16_t UT_IREAL_CDAB_GET[] = {0x2000, 0x47F1};
+
+ /* const uint32_t UT_IREAL_ABCD = 0x47F12000);
+ const uint32_t UT_IREAL_DCBA = 0x0020F147;
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch
new file mode 100644
index 00000000..384a4a40
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch
@@ -0,0 +1,52 @@
+From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= <szlin@debian.org>
+Date: Thu, 27 Sep 2018 14:51:32 +0800
+Subject: Fix typo
+
+---
+ doc/modbus_mapping_new_start_address.txt | 4 ++--
+ doc/modbus_reply.txt | 2 +-
+ doc/modbus_reply_exception.txt | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/doc/modbus_mapping_new_start_address.txt b/doc/modbus_mapping_new_start_address.txt
+index 4fa196a..94a81fb 100644
+--- a/doc/modbus_mapping_new_start_address.txt
++++ b/doc/modbus_mapping_new_start_address.txt
+@@ -21,9 +21,9 @@ The _modbus_mapping_new_start_address()_ function shall allocate four arrays to
+ store bits, input bits, registers and inputs registers. The pointers are stored
+ in modbus_mapping_t structure. All values of the arrays are initialized to zero.
+
+-The different starting adresses make it possible to place the mapping at any
++The different starting addresses make it possible to place the mapping at any
+ address in each address space. This way, you can give access to values stored
+-at high adresses without allocating memory from the address zero, for eg. to
++at high addresses without allocating memory from the address zero, for eg. to
+ make available registers from 10000 to 10009, you can use:
+
+ [source,c]
+diff --git a/doc/modbus_reply.txt b/doc/modbus_reply.txt
+index 0b29d6f..6b71d11 100644
+--- a/doc/modbus_reply.txt
++++ b/doc/modbus_reply.txt
+@@ -3,7 +3,7 @@ modbus_reply(3)
+
+ NAME
+ ----
+-modbus_reply - send a reponse to the received request
++modbus_reply - send a response to the received request
+
+
+ SYNOPSIS
+diff --git a/doc/modbus_reply_exception.txt b/doc/modbus_reply_exception.txt
+index 7e6324f..b2170be 100644
+--- a/doc/modbus_reply_exception.txt
++++ b/doc/modbus_reply_exception.txt
+@@ -3,7 +3,7 @@ modbus_reply_exception(3)
+
+ NAME
+ ----
+-modbus_reply_exception - send an exception reponse
++modbus_reply_exception - send an exception response
+
+
+ SYNOPSIS
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch
new file mode 100644
index 00000000..7fae34e7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch
@@ -0,0 +1,32 @@
+From f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d Mon Sep 17 00:00:00 2001
+From: i-ky <gl.ivanovsky@gmail.com>
+Date: Tue, 10 Jul 2018 15:58:45 +0300
+Subject: [PATCH] Fixed MODBUS_GET_* macros in case of negative values
+
+In case resulting value should be negative it is incorrect to use '+' operator to construct it from pieces, because highest bytes will result in negative number after bitwise shift while others will stay positive. Replacing addition with '|' should solve the issue.
+---
+ src/modbus.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/modbus.h b/src/modbus.h
+index f6e9a5f5..c63f5ceb 100644
+--- a/src/modbus.h
++++ b/src/modbus.h
+@@ -245,12 +245,12 @@ MODBUS_API int modbus_reply_exception(modbus_t *ctx, const uint8_t *req,
+ #define MODBUS_GET_HIGH_BYTE(data) (((data) >> 8) & 0xFF)
+ #define MODBUS_GET_LOW_BYTE(data) ((data) & 0xFF)
+ #define MODBUS_GET_INT64_FROM_INT16(tab_int16, index) \
+- (((int64_t)tab_int16[(index) ] << 48) + \
+- ((int64_t)tab_int16[(index) + 1] << 32) + \
+- ((int64_t)tab_int16[(index) + 2] << 16) + \
++ (((int64_t)tab_int16[(index) ] << 48) | \
++ ((int64_t)tab_int16[(index) + 1] << 32) | \
++ ((int64_t)tab_int16[(index) + 2] << 16) | \
+ (int64_t)tab_int16[(index) + 3])
+-#define MODBUS_GET_INT32_FROM_INT16(tab_int16, index) ((tab_int16[(index)] << 16) + tab_int16[(index) + 1])
+-#define MODBUS_GET_INT16_FROM_INT8(tab_int8, index) ((tab_int8[(index)] << 8) + tab_int8[(index) + 1])
++#define MODBUS_GET_INT32_FROM_INT16(tab_int16, index) ((tab_int16[(index)] << 16) | tab_int16[(index) + 1])
++#define MODBUS_GET_INT16_FROM_INT8(tab_int8, index) ((tab_int8[(index)] << 8) | tab_int8[(index) + 1])
+ #define MODBUS_SET_INT16_TO_INT8(tab_int8, index, value) \
+ do { \
+ tab_int8[(index)] = (value) >> 8; \
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb
deleted file mode 100644
index d438a0ab..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require libmodbus.inc
-
-# Use the stable branch by default
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI[md5sum] = "b1a8fd3a40d2db4de51fb0cbcb201806"
-SRC_URI[sha256sum] = "c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb
new file mode 100644
index 00000000..075487ae
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb
@@ -0,0 +1,12 @@
+require libmodbus.inc
+
+SRC_URI += "file://f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch \
+ file://Fix-float-endianness-issue-on-big-endian-arch.patch \
+ file://Fix-typo.patch"
+SRC_URI[md5sum] = "15c84c1f7fb49502b3efaaa668cfd25e"
+SRC_URI[sha256sum] = "d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16"
+
+# this file has been created one minute after the configure file, so it doesn't get recreated during configure step
+do_configure_prepend() {
+ rm -rf ${S}/tests/unit-test.h
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb b/external/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb
new file mode 100644
index 00000000..c9d259b1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb
@@ -0,0 +1,31 @@
+# Copyright (C) 2019 Ruslan Bilovol <rbilovol@cisco.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "NSS module for glibc, to provide NIS+ support for glibc"
+
+DESCRIPTION = "This package contains the NSS NIS+ plugin for glibc.\
+This code was formerly part of glibc, but is now standalone to\
+be able to link against TI-RPC for IPv6 support."
+
+HOMEPAGE = "https://github.com/thkukuk/libnss_nisplus"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+SECTION = "libs"
+DEPENDS += "libtirpc libnsl2"
+
+PV = "1.3+git${SRCPV}"
+
+SRCREV = "116219e215858f4af9370171d3ead63baca8fdb4"
+
+SRC_URI = "git://github.com/thkukuk/libnss_nisplus \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND += "native nativesdk"
+#
+# We will skip parsing this packagegeoup for non-glibc systems
+#
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch b/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
index d12492f0..ec867210 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
@@ -13,28 +13,23 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/python/Makefile.am b/python/Makefile.am
-index abc5cd3..e35ba71 100644
+index 1d00c0c..52816b2 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
-@@ -14,4 +14,4 @@ all-local:
- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-lib=.
+@@ -14,7 +14,7 @@ all-local:
+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV)
install-exec-local:
-- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix}
-+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix} --install-lib=${DESTDIR}/${PYTHONSITEDIR}
+- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
++ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix} --install-lib=${DESTDIR}/${PYTHONSITEDIR}
+
+ clean-local:
+ rm -rf py$(PYTHONREV)
diff --git a/python/setup.py.in b/python/setup.py.in
-index 6457595..d3db0e5 100755
+index a741b91..6759a95 100755
--- a/python/setup.py.in
+++ b/python/setup.py.in
-@@ -6,6 +6,7 @@
-
- from distutils.core import setup, Extension
- from distutils.command.build_ext import build_ext as _build_ext
-+import os
-
- class build_ext(_build_ext):
- def genconstants(self, headerfile, outputfile):
-@@ -23,7 +24,7 @@ class build_ext(_build_ext):
+@@ -33,7 +33,7 @@ class sdist(_sdist):
pwqmodule = Extension('pwquality',
sources = ['pwquality.c'],
@@ -44,5 +39,5 @@ index 6457595..d3db0e5 100755
libraries = ['pwquality'])
--
-1.9.1
+2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb
deleted file mode 100644
index 9fb25cdc..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Library for password quality checking and generating random passwords"
-HOMEPAGE = "https://github.com/libpwquality/libpwquality"
-SECTION = "devel/lib"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2"
-
-SRCNAME = "libpwquality"
-SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2 \
- file://add-missing-python-include-dir-for-cross.patch \
-"
-
-SRC_URI[md5sum] = "b8defcc7280a90e9400d6689c93a279c"
-SRC_URI[sha256sum] = "1de6ff046cf2172d265a2cb6f8da439d894f3e4e8157b056c515515232fade6b"
-
-UPSTREAM_CHECK_URI = "https://github.com/libpwquality/libpwquality/releases"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-DEPENDS = "cracklib virtual/gettext"
-
-inherit autotools distutils3-base gettext
-
-B = "${S}"
-
-export PYTHON_DIR
-export BUILD_SYS
-export HOST_SYS
-
-EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \
- --with-python-binary=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \
- --with-pythonsitedir=${PYTHON_SITEPACKAGES_DIR} \
- --libdir=${libdir} \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
-PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam"
-
-FILES_${PN} += "${libdir}/security/pam_pwquality.so"
-FILES_${PN}-dbg += "${libdir}/security/.debug"
-FILES_${PN}-staticdev += "${libdir}/security/pam_pwquality.a"
-FILES_${PN}-dev += "${libdir}/security/pam_pwquality.la"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.2.bb
new file mode 100644
index 00000000..24d2f7ec
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.2.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Library for password quality checking and generating random passwords"
+HOMEPAGE = "https://github.com/libpwquality/libpwquality"
+SECTION = "devel/lib"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2"
+
+SRCNAME = "libpwquality"
+SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2 \
+ file://add-missing-python-include-dir-for-cross.patch \
+"
+
+SRC_URI[md5sum] = "ae6e61fc33f5dac0de5e847eb7520d71"
+SRC_URI[sha256sum] = "5263e09ee62269c092f790ac159112aed3e66826a795e3afec85fdeac4281c8e"
+
+UPSTREAM_CHECK_URI = "https://github.com/libpwquality/libpwquality/releases"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+DEPENDS = "cracklib virtual/gettext"
+
+inherit autotools distutils3-base gettext
+
+B = "${S}"
+
+export PYTHON_DIR
+export BUILD_SYS
+export HOST_SYS
+
+EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \
+ --with-python-binary=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \
+ --with-pythonsitedir=${PYTHON_SITEPACKAGES_DIR} \
+ --libdir=${libdir} \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam"
+
+FILES_${PN} += "${libdir}/security/pam_pwquality.so"
+FILES_${PN}-dbg += "${libdir}/security/.debug"
+FILES_${PN}-staticdev += "${libdir}/security/pam_pwquality.a"
+FILES_${PN}-dev += "${libdir}/security/pam_pwquality.la"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb
deleted file mode 100644
index d857344e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "An IPC library for high performance servers"
-DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
-It provides high performance logging, tracing, ipc, and poll."
-
-HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
-SECTION = "libs"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
-
-inherit autotools pkgconfig
-
-PV .= "+git${SRCPV}"
-
-# v1.0.3
-SRCREV = "28dff090c74b6ba8609c4797294a5afe3fe73987"
-SRC_URI = "git://github.com/ClusterLabs/${BPN}.git \
- file://0001-build-fix-configure-script-neglecting-re-enable-out-.patch \
- "
-S = "${WORKDIR}/git"
-
-# otherwise do_configure fails
-# configure:21609: checking whether linker workaround for orphan sections usable
-# configure:21639: i586-oe-linux-gcc -m32 -march=i586 --sysroot=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot -o conftest -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0=/usr/src/debug/libqb/1.0.3+gitAUTOINC+c235284b5f-r0 -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot= -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native= -pipe -pthread -D_REENTRANT -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,conftest.ld conftest.c >&5
-# WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: error: conftest.ld: SECTIONS seen after other input files; try -T/--script
-# WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: internal error in write_sections, at ../../gold/reloc.cc:791
-# collect2: error: ld returned 1 exit status
-EXTRA_OECONF_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' --enable-nosection-fallback', '', d)}"
-
-CFLAGS += "-pthread -D_REENTRANT"
-do_configure_prepend() {
- ( cd ${S}
- ${S}/autogen.sh )
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb
new file mode 100644
index 00000000..cd401966
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb
@@ -0,0 +1,37 @@
+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
+
+# v1.0.5
+SRCREV = "d08dbcf08b0da418bce9b5427dfd89522916322a"
+SRC_URI = "git://github.com/ClusterLabs/${BPN}.git;branch=version_1 \
+ file://0001-build-fix-configure-script-neglecting-re-enable-out-.patch \
+ "
+S = "${WORKDIR}/git"
+
+# otherwise do_configure fails
+# configure:21609: checking whether linker workaround for orphan sections usable
+# configure:21639: i586-oe-linux-gcc -m32 -march=i586 --sysroot=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot -o conftest -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0=/usr/src/debug/libqb/1.0.3+gitAUTOINC+c235284b5f-r0 -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot= -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native= -pipe -pthread -D_REENTRANT -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,conftest.ld conftest.c >&5
+# WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: error: conftest.ld: SECTIONS seen after other input files; try -T/--script
+# WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: internal error in write_sections, at ../../gold/reloc.cc:791
+# collect2: error: ld returned 1 exit status
+NOSECTION_FALLBACK = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--enable-nosection-fallback', '', d)}"
+NOSECTION_FALLBACK_toolchain-clang_mips64 = "--enable-nosection-fallback"
+
+EXTRA_OECONF += "${NOSECTION_FALLBACK}"
+
+CFLAGS += "-pthread -D_REENTRANT"
+
+do_configure_prepend() {
+ ( cd ${S}
+ ${S}/autogen.sh )
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb
new file mode 100644
index 00000000..4276c491
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "Libraries providing API for reporting different problems in applications \
+to different bug targets like Bugzilla, ftp, trac, etc..."
+SUMMARY = "Generic library for reporting various problems"
+HOMEPAGE = "https://abrt.readthedocs.org/"
+LICENSE = "GPLv2+"
+DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
+ json-c libtar libnewt libproxy rpm \
+ augeas satyr systemd \
+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+
+SRC_URI = "git://github.com/abrt/libreport.git;protocol=https"
+SRC_URI += "file://0001-Makefile.am-remove-doc-and-apidoc.patch \
+ file://0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch \
+ file://0003-without-build-plugins.patch \
+ file://0004-configure.ac-remove-prog-test-of-augparse.patch \
+"
+SRCREV = "eaff08f38d771d9362923765bb404b1514c5ca0a"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit gettext autotools python3native pkgconfig
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','gtk','',d)}"
+PACKAGECONFIG[gtk] = "--with-gtk, --without-gtk, gtk+3,"
+
+EXTRA_OECONF += "--without-python2 --with-python3"
+
+RDEPENDS_python3-libreport += "${PN}"
+
+do_patch[prefuncs] += "do_gen_version"
+do_gen_version() {
+ cd ${S}
+ ./gen-version
+}
+
+PACKAGES += "python3-libreport"
+
+FILES_${PN} += "${datadir}/*"
+FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug"
+FILES_python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.5.bb b/external/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.5.bb
deleted file mode 100644
index 542956cf..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.5.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-DESCRIPTION = "Libraries providing API for reporting different problems in applications \
-to different bug targets like Bugzilla, ftp, trac, etc..."
-SUMMARY = "Generic library for reporting various problems"
-HOMEPAGE = "https://abrt.readthedocs.org/"
-LICENSE = "GPLv2+"
-DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
- json-c libtar libnewt libproxy rpm \
- augeas satyr systemd \
-"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-
-SRC_URI = "git://github.com/abrt/libreport.git;protocol=https"
-SRC_URI += "file://0001-Makefile.am-remove-doc-and-apidoc.patch \
- file://0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch \
- file://0003-without-build-plugins.patch \
- file://0004-configure.ac-remove-prog-test-of-augparse.patch \
-"
-SRCREV = "15f92bcaf73e5eb8958fbde655a57dcd111757a7"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-inherit gettext autotools python3native pkgconfig
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','gtk','',d)}"
-PACKAGECONFIG[gtk] = "--with-gtk, --without-gtk, gtk+3,"
-
-EXTRA_OECONF += "--without-python2 --with-python3"
-
-RDEPENDS_python3-libreport += "${PN}"
-
-do_patch[prefuncs] += "do_gen_version"
-do_gen_version() {
- cd ${S}
- ./gen-version
-}
-
-PACKAGES += "python3-libreport"
-
-FILES_${PN} += "${datadir}/*"
-FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug"
-FILES_python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb
new file mode 100644
index 00000000..192d4bce
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "libserialport is a minimal, cross-platform shared library written in C that is intended to take care of the OS-specific details when writing software that uses serial ports."
+HOMEPAGE = "https://sigrok.org/wiki/Libserialport"
+
+LICENSE = "LGPL-3.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+inherit autotools
+
+SRC_URI = "http://sigrok.org/download/source/libserialport/libserialport-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "b93f0325a6157198152b5bd7e8182b51"
+SRC_URI[sha256sum] = "4a2af9d9c3ff488e92fb75b4ba38b35bcf9b8a66df04773eba2a7bbf1fa7529d"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb b/external/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
new file mode 100644
index 00000000..a081cb17
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Utilities to collect and visualise system statistics"
+HOMEPAGE = "http://www.i-scream.org/libstatgrab/"
+
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "ncurses"
+
+PACKAGES_prepend = "statgrab statgrab-dbg saidar saidar-dbg ${PN}-mrtg "
+
+# don't use the git tag unless docbooc2x is available to build the manpages
+SRC_URI = "https://github.com/libstatgrab/libstatgrab/releases/download/LIBSTATGRAB_0_92/libstatgrab-0.92.tar.gz \
+ "
+SRC_URI[md5sum] = "5362b2ddbec54b3901e7d70c22cda249"
+SRC_URI[sha256sum] = "5bf1906aff9ffc3eeacf32567270f4d819055d8386d98b9c8c05519012d5a196"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+
+# Perl5 is for tests only
+EXTRA_OECONF = "--without-perl5 --with-mnttab=/proc/mounts"
+
+# use with caution - default properties are configured to trace
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[log4cplus] = "--with-log4cplus,--without-log4cplus,log4cplus"
+PACKAGECONFIG[logging] = "--enable-logging,--disable-logging,"
+
+inherit autotools pkgconfig
+
+FILES_statgrab = "${bindir}/statgrab"
+FILES_statgrab-dbg = "${bindir}/.debug/statgrab"
+FILES_saidar = "${bindir}/saidar"
+FILES_saidar-dbg = "${bindir}/.debug/saidar"
+FILES_${PN}-mrtg = "${bindir}/statgrab-make-mrtg-config ${bindir}/statgrab-make-mrtg-index"
+RDEPENDS_${PN}-mrtg_append = "perl statgrab"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb b/external/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
index 2c31a21c..401c2c4d 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
@@ -12,7 +12,7 @@ DEPENDS = "freetype libpng jpeg expat gtk+"
BBCLASSEXTEND = "native"
-inherit distro_features_check autotools pkgconfig
+inherit features_check autotools pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.6.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.6.1.bb
new file mode 100644
index 00000000..41ad5529
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.6.1.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "libzip is a C library for reading, creating, and modifying zip archives."
+HOMEPAGE = "https://libzip.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e33bb117aa55f9aad3d28e29256f9919"
+
+DEPENDS = "zlib bzip2"
+
+PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
+PACKAGECONFIG[lzma] = "-DENABLE_LZMA=ON,-DENABLE_LZMA=OFF,xz"
+
+PACKAGECONFIG ?= "ssl lzma"
+
+inherit cmake
+
+SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "f9a228619aab2446addc9c9e0e2de149"
+SRC_URI[sha256sum] = "705dac7a671b3f440181481e607b0908129a9cf1ddfcba75d66436c0e7d33641"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb b/external/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb
deleted file mode 100644
index 4354fff9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes"
-DESCRIPTION = "\
-lockfile-progs provide a method to lock and unlock mailboxes and files \
-safely (via liblockfile)."
-HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html"
-SECTION = "Applications/System"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-DEPENDS = "liblockfile"
-
-SRC_URI = "http://ftp.de.debian.org/debian/pool/main/l/${BPN}/${BPN}_${PV}.tar.gz"
-SRC_URI[md5sum] = "64424a766fbc8cf6d613fcc14a096e14"
-SRC_URI[sha256sum] = "03fb05d25499532f497775b1747b61fa6beebf12d3bcc951e125349ae166c511"
-
-do_compile() {
- oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables'
-}
-
-do_install() {
- install -m 755 -d ${D}${bindir}
- install bin/* ${D}${bindir}
- install -m 755 -d ${D}${mandir}/man1
- install man/* ${D}${mandir}/man1
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb b/external/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb
new file mode 100644
index 00000000..c76e0f69
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes"
+DESCRIPTION = "\
+lockfile-progs provide a method to lock and unlock mailboxes and files \
+safely (via liblockfile)."
+HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html"
+SECTION = "Applications/System"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+DEPENDS = "liblockfile"
+
+SRC_URI = "http://ftp.de.debian.org/debian/pool/main/l/${BPN}/${BPN}_${PV}.tar.gz"
+SRC_URI[md5sum] = "4eb83bdf88016db836b7cc09591fb0f3"
+SRC_URI[sha256sum] = "a42995a4b97e6188efc90fcc1a761163c4b2cff5c81b936f85c84301ddb05ce6"
+
+do_compile() {
+ oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables'
+}
+
+do_install() {
+ install -m 755 -d ${D}${bindir}
+ install bin/* ${D}${bindir}
+ install -m 755 -d ${D}${mandir}/man1
+ install man/* ${D}${mandir}/man1
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
deleted file mode 100644
index aea539ef..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "A log file analysis program"
-DESCRIPTION = "\
-Logwatch is a customizable, pluggable log-monitoring system. It will go \
-through your logs for a given period of time and make a report in the areas \
-that you wish with the detail that you wish. Easy to use - works right out of \
-the package on many systems.\
-"
-SECTION = "devel"
-HOMEPAGE = "http://www.logwatch.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f2566bb12b16d2d80d90ebc533261aa7"
-RDEPENDS_${PN} = "perl"
-
-SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
-SRC_URI[md5sum] = "22bd22841caa45f12c605abc3e0c2b09"
-SRC_URI[sha256sum] = "1dbdc48d65e150f2dbb43f1e4f4700d94166e053b1c7bbbdedf4ad670283720e"
-
-do_install() {
- install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
- install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
- install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
- install -m 0755 -d ${D}${localstatedir}/cache/logwatch
- mv conf/ ${D}${datadir}/logwatch/default.conf
- mv scripts/ ${D}${datadir}/logwatch/scripts
- mv lib ${D}${datadir}/logwatch/lib
- chown -R root:root ${D}${datadir}/logwatch
-
- install -m 0755 -d ${D}${mandir}/man1
- install -m 0755 -d ${D}${mandir}/man5
- install -m 0755 -d ${D}${mandir}/man8
- install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
- install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
- install -m 0644 ignore.conf.5 ${D}${mandir}/man5
- install -m 0644 override.conf.5 ${D}${mandir}/man5
- install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
- install -m 0644 logwatch.8 ${D}${mandir}/man8
-
- install -m 0755 -d ${D}${sysconfdir}/cron.daily
- install -m 0755 -d ${D}${sbindir}
- ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
- cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
- DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
- if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
- then
- logwatch
- fi
-EOF
- chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
-
- install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
- install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
- touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
- touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
- touch ${D}${sysconfdir}/logwatch/conf/override.conf
- echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
- echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
- echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb
new file mode 100644
index 00000000..644e4207
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb
@@ -0,0 +1,58 @@
+SUMMARY = "A log file analysis program"
+DESCRIPTION = "\
+Logwatch is a customizable, pluggable log-monitoring system. It will go \
+through your logs for a given period of time and make a report in the areas \
+that you wish with the detail that you wish. Easy to use - works right out of \
+the package on many systems.\
+"
+SECTION = "devel"
+HOMEPAGE = "http://www.logwatch.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ad199c8aca74e70f296f731ad9a1521c"
+RDEPENDS_${PN} = "perl"
+
+SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
+SRC_URI[md5sum] = "8bcf3edc5a4687c8aad1b9c01e2be54b"
+SRC_URI[sha256sum] = "1b2b96879dec01cd02754fe00f8989b11ff16158c3dc7c4aff0faa4b1d34974b"
+
+do_install() {
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
+ install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
+ install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
+ install -m 0755 -d ${D}${localstatedir}/cache/logwatch
+ cp -r -f conf/ ${D}${datadir}/logwatch/default.conf
+ cp -r -f scripts/ ${D}${datadir}/logwatch/scripts
+ cp -r -f lib ${D}${datadir}/logwatch/lib
+ chown -R root:root ${D}${datadir}/logwatch
+
+ install -m 0755 -d ${D}${mandir}/man1
+ install -m 0755 -d ${D}${mandir}/man5
+ install -m 0755 -d ${D}${mandir}/man8
+ install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
+ install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
+ install -m 0644 ignore.conf.5 ${D}${mandir}/man5
+ install -m 0644 override.conf.5 ${D}${mandir}/man5
+ install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
+ install -m 0644 logwatch.8 ${D}${mandir}/man8
+
+ install -m 0755 -d ${D}${sysconfdir}/cron.daily
+ install -m 0755 -d ${D}${sbindir}
+ ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
+ cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
+ DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
+ if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
+ then
+ logwatch
+ fi
+EOF
+ chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
+
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
+ touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+ touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
+ touch ${D}${sysconfdir}/logwatch/conf/override.conf
+ echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+ echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
+ echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-Fix-formatting-for-modern-c-11-compilers.patch b/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-Fix-formatting-for-modern-c-11-compilers.patch
deleted file mode 100644
index 8b009663..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-Fix-formatting-for-modern-c-11-compilers.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 90411a7f5e0e9582e79f0a8ccc1e2f158615e451 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 19 May 2018 23:18:11 -0700
-Subject: [PATCH] Fix formatting for modern c++11 compilers
-
-Fixes
-error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/backend/svg/SVG_RenderingContext.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/backend/svg/SVG_RenderingContext.cc b/src/backend/svg/SVG_RenderingContext.cc
-index 55d6097..0d50702 100644
---- a/src/backend/svg/SVG_RenderingContext.cc
-+++ b/src/backend/svg/SVG_RenderingContext.cc
-@@ -68,7 +68,7 @@ void
- SVG_RenderingContext::documentStart(const BoundingBox& bbox)
- {
- beginDocument(bbox);
-- metadata("Created by "PACKAGE" version "VERSION);
-+ metadata("Created by " PACKAGE " version " VERSION);
- }
-
- void
---
-2.17.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch b/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch
deleted file mode 100644
index c5814bfe..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From c92890c5e18bb6ee23bdb14074bacf306dd9428f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 5 May 2015 20:35:01 -0700
-Subject: [PATCH] include cstdio to get printf definitions
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/engine/boxml/BoxMLHOVElement.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/engine/boxml/BoxMLHOVElement.cc b/src/engine/boxml/BoxMLHOVElement.cc
-index 1a2812c..96c9eea 100644
---- a/src/engine/boxml/BoxMLHOVElement.cc
-+++ b/src/engine/boxml/BoxMLHOVElement.cc
-@@ -21,7 +21,7 @@
- // <http://www.gnu.org/licenses/>.
-
- #include <config.h>
--
-+#include <cstdio>
- #include "BoxMLAttributeSignatures.hh"
- #include "BoxMLHOVElement.hh"
- #include "BoxMLHElement.hh"
---
-2.1.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch b/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch
deleted file mode 100644
index b879d6a5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 9c226fbc6a42540cb492fcfcb81ff16fffb086d6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 30 Aug 2016 23:24:53 +0200
-Subject: [PATCH] configure.ac: header detection of hash_map is broken - pin to
- correct implementation
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 31 ++++---------------------------
- 1 file changed, 4 insertions(+), 27 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4f2118e..16c09d5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -252,35 +252,12 @@ AC_SUBST(GTKMATHVIEW_SIZEOF_WCHAR_T, "$ac_cv_sizeof_wchar_t")
-
- AC_LANG_PUSH(C++)
-
--AC_CHECK_HEADERS(unordered_map,
-- [
-- AC_DEFINE(GMV_HAVE_UNORDERED_MAP,1,[Define if <unordered_map> is provided])
-- GMV_HAVE_UNORDERED_MAP_CFLAGS=-DGMV_HAVE_UNORDERED_MAP=1
-- ],
-- [
-- GMV_HAVE_UNORDERED_MAP_CFLAGS=
-- ]
--)
-+GMV_HAVE_UNORDERED_MAP_CFLAGS=
- AC_SUBST(GMV_HAVE_UNORDERED_MAP_CFLAGS)
--AC_CHECK_HEADERS(hash_map,
-- [
-- AC_DEFINE(GMV_HAVE_HASH_MAP,1,[Define if <hash_map> is provided])
-- GMV_HAVE_HASH_MAP_CFLAGS=-DGMV_HAVE_HASH_MAP=1
-- ],
-- [
-- GMV_HAVE_HASH_MAP_CFLAGS=
-- ]
--)
-+GMV_HAVE_HASH_MAP_CFLAGS=
- AC_SUBST(GMV_HAVE_HASH_MAP_CFLAGS)
--AC_CHECK_HEADERS(ext/hash_map,
-- [
-- AC_DEFINE(GMV_HAVE_EXT_HASH_MAP,1,[Define if <ext/hash_map> is provided])
-- GMV_HAVE_EXT_HASH_MAP_CFLAGS=-DGMV_HAVE_EXT_HASH_MAP=1
-- ],
-- [
-- GMV_HAVE_EXT_HASH_MAP_CFLAGS=
-- ]
--)
-+AC_DEFINE(GMV_HAVE_EXT_HASH_MAP,1,[Define if <ext/hash_map> is provided])
-+GMV_HAVE_EXT_HASH_MAP_CFLAGS=-DGMV_HAVE_EXT_HASH_MAP=1
- AC_SUBST(GMV_HAVE_EXT_HASH_MAP_CFLAGS)
-
- AC_MSG_CHECKING([whether the C++ compiler supports the standard character traits])
---
-2.5.5
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch b/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch
deleted file mode 100644
index 356274d1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From: Gert Wollny <gw.fossdev@gmail.com>
-Date: Sun, 26 Jun 2016 13:25:00 +0200
-Description: gcc 6.0 build fixes
-Bug: https://bugs.debian.org/811682
-
-Slightly adapted to our environment
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---- a/src/engine/common/View.cc
-+++ b/src/engine/common/View.cc
-@@ -291,7 +291,7 @@
- }
- }
-
-- return false;
-+ return SmartPtr<Element>();
- }
-
- bool
---- a/src/backend/common/tfm/TFM.hh
-+++ b/src/backend/common/tfm/TFM.hh
-@@ -37,7 +37,7 @@
- unsigned char face;
- const char* codingScheme;
- int designSize;
-- int checksum;
-+ unsigned int checksum;
- unsigned int nDimensions;
- unsigned int nCharacters;
- };
-@@ -52,7 +52,7 @@
- struct Kerning
- {
- UChar8 index;
-- int value;
-+ unsigned int value;
- };
-
- struct Ligature
-@@ -67,7 +67,7 @@
- UChar8 index;
- int width;
- int height;
-- int depth;
-+ unsigned int depth;
- int italicCorrection;
- unsigned char nKernings;
- const Kerning* kerning;
---- a/src/backend/common/StandardSymbolsShaper.hh
-+++ b/src/backend/common/StandardSymbolsShaper.hh
-@@ -32,20 +32,20 @@
- struct HStretchyChar
- {
- Char16 ch;
-- Char8 normal;
-- Char8 left;
-- Char8 glue;
-- Char8 right;
-+ UChar8 normal;
-+ UChar8 left;
-+ UChar8 glue;
-+ UChar8 right;
- };
-
- struct VStretchyChar
- {
- Char16 ch;
-- Char8 normal;
-- Char8 top;
-- Char8 glue;
-- Char8 middle;
-- Char8 bottom;
-+ UChar8 normal;
-+ UChar8 top;
-+ UChar8 glue;
-+ UChar8 middle;
-+ UChar8 bottom;
- };
-
- protected:
---- a/src/backend/common/StandardSymbolsShaper.cc
-+++ b/src/backend/common/StandardSymbolsShaper.cc
-@@ -29,7 +29,7 @@
- #include "ShapingContext.hh"
-
- struct GlyphMap {
-- Char8 index;
-+ UChar8 index;
- Char16 ch;
- };
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch b/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch
deleted file mode 100644
index 3fe63286..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Use build_cc to compile the programs to run on build host
-helps with cross compiling
-
-Upstream-Status: Inappropriate [Cross-compiled OE specific]
-
-diff --git a/src/common/mathvariants/Makefile.am b/src/common/mathvariants/Makefile.am
-index 636ccf0..ed9921d 100644
---- a/src/common/mathvariants/Makefile.am
-+++ b/src/common/mathvariants/Makefile.am
-@@ -52,7 +52,7 @@ XSLTPROC = xsltproc
- %.cc : %_gen.cc $(srcdir)/variant.top $(srcdir)/variant.bot
- cat $(srcdir)/variant.top >$@
- $(XSLTPROC) --novalid --param temp "false()" $(srcdir)/extract.xsl $(<:%_gen.cc=$(srcdir)/xml/%.xml) >>$@
-- $(CXX) -o $(@:%.cc=%) -I$(top_builddir)/auto $<
-+ $(BUILD_CXX) -o $(@:%.cc=%) -I$(top_builddir)/auto $<
- echo "Char32 " >>$@
- basename map_variant_$@ .cc | tr "-" "_" >>$@
- echo "(Char32 ch)" >>$@
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
deleted file mode 100644
index 9ee9e303..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-HOMEPAGE = "http://helm.cs.unibo.it/mml-widget/"
-DEPENDS = "t1lib gtk+ popt libxslt-native libxml2"
-
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-
-PR = "r3"
-SRCREV = "0bc2cfa0a47aed2c8a63abd989cb8da4dcceb2ec"
-PV = "0.8.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/GNOME/gtkmathview.git \
- file://use_hostcxx.patch \
- file://0001-include-cstdio-to-get-printf-definitions.patch \
- file://0002-configure.ac-header-detection-of-hash_map-is-broken-.patch \
- file://0003-gcc-6.0-build-fixes.patch \
- file://0001-Fix-formatting-for-modern-c-11-compilers.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_configure_append() {
- # avoid host polution inf pkg-config files
- sed -i "s:${STAGING_DIR_HOST}::g" `find -name '*.pc'`
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
deleted file mode 100644
index ba317bc0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 5028d1cd669c179ed49061316d04c8e8862a5bd8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 12 Jul 2018 15:04:47 +0800
-Subject: [PATCH 1/5] do not create python environment
-
-Use oe's python environment rather than create one of host
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- build/moz.configure/init.configure | 18 ------------------
- configure.py | 10 +++++++++-
- js/src/old-configure | 4 ++--
- 3 files changed, 11 insertions(+), 21 deletions(-)
-
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 2123beb..6fe6591 100644
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -179,24 +179,6 @@ def virtualenv_python(env_python, build_env, mozconfig, help):
- else:
- python = sys.executable
-
-- if not manager.up_to_date(python):
-- log.info('Creating Python environment')
-- manager.build(python)
--
-- python = normsep(manager.python_path)
--
-- if python != normsep(sys.executable):
-- log.info('Reexecuting in the virtualenv')
-- if env_python:
-- del os.environ['PYTHON']
-- # One would prefer to use os.execl, but that's completely borked on
-- # Windows.
-- sys.exit(subprocess.call([python] + sys.argv))
--
-- # We are now in the virtualenv
-- if not distutils.sysconfig.get_python_lib():
-- die('Could not determine python site packages directory')
--
- return python
-
- set_config('PYTHON', virtualenv_python)
-diff --git a/configure.py b/configure.py
-index f7392d0..45323a5 100644
---- a/configure.py
-+++ b/configure.py
-@@ -12,7 +12,15 @@ import textwrap
-
-
- base_dir = os.path.abspath(os.path.dirname(__file__))
--sys.path.insert(0, os.path.join(base_dir, 'python', 'mozbuild'))
-+sys.path.insert(0, os.path.join(base_dir, 'config'))
-+def get_immediate_subdirectories(a_dir):
-+ return [name for name in os.listdir(a_dir)
-+ if os.path.isdir(os.path.join(a_dir, name))]
-+for s in ["python", "testing/mozbase"]:
-+ sub_dir = os.path.join(base_dir, s)
-+ for module_dir in get_immediate_subdirectories(sub_dir):
-+ sys.path.insert(0, os.path.join(sub_dir, module_dir))
-+
- from mozbuild.configure import ConfigureSandbox
- from mozbuild.util import (
- indented_repr,
-diff --git a/js/src/old-configure b/js/src/old-configure
-index ee4527b..75b00e1 100644
---- a/js/src/old-configure
-+++ b/js/src/old-configure
-@@ -10512,7 +10512,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then
- ;;
- esac
-
-- eval $dumpenv $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args
-+ eval $dumpenv PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args
-
- done
-
-@@ -10931,7 +10931,7 @@ if test "$JS_STANDALONE"; then
-
- if test "$no_recursion" != yes; then
- trap '' EXIT
-- if ! $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then
-+ if ! PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then
- exit 1
- fi
- fi
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
deleted file mode 100644
index c111ea5e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0a61b0b98c152f10404ccbdeeac583a486638a7a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 6 Jun 2013 18:36:01 +0200
-Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending
- packages
-
-in our cross environment the would fail with:
-
-| cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory
-
-and currently it only defines __STDC_LIMIT_MACROS
-Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
-
-Rebase to 52.8.1
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- js/src/js.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/src/js.pc.in b/js/src/js.pc.in
-index 2eae393..c2dea62 100644
---- a/js/src/js.pc.in
-+++ b/js/src/js.pc.in
-@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript
- Version: @MOZILLA_VERSION@
- @PKGCONF_REQUIRES_PRIVATE@
- Libs: -L${libdir} -l@JS_LIBRARY_NAME@
--Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -I${includedir}/@JS_LIBRARY_NAME@
-+Cflags: -I${includedir}/@JS_LIBRARY_NAME@
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch
deleted file mode 100644
index 4cba79c5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From a46adb74b5ba5e17d676d31d70faca76c1381d15 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 12 Jul 2018 21:25:46 +0800
-Subject: [PATCH 4/5] do not use autoconf 2.13 to refresh old.configure
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- build/moz.configure/old.configure | 2 +-
- js/src/old-configure | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
-index ece47f4..a73900f 100644
---- a/build/moz.configure/old.configure
-+++ b/build/moz.configure/old.configure
-@@ -83,7 +83,7 @@ def prepare_configure(old_configure, mozconfig, autoconf, build_env, shell,
- old_configure = os.path.join(old_configure_dir, 'js', 'src',
- os.path.basename(old_configure))
-
-- refresh = True
-+ refresh = False
- if exists(old_configure):
- mtime = getmtime(old_configure)
- aclocal = os.path.join(build_env.topsrcdir, 'build', 'autoconf',
-diff --git a/js/src/old-configure b/js/src/old-configure
-index 75b00e1..8a8ef52 100644
---- a/js/src/old-configure
-+++ b/js/src/old-configure
-@@ -619,7 +619,7 @@ if test -z "$srcdir"; then
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-- srcdir=$ac_confdir
-+ srcdir="$ac_confdir/../../"
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
deleted file mode 100644
index 38e4698f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 55d833dc3c194f1eb7841f308ad3b9ec3800d3b3 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 13 Jul 2018 15:48:32 +0800
-Subject: [PATCH 5/5] fix do_compile failed on mips
-
-Link with var-OS_LDFLAGS to fix the issue.
-Such as on mips:
-...
-|mips-wrsmllib32-linux-g++ -meb -mabi=32 -mhard-float ... -o libmozjs-52.so
-|/usr/include/c++/8.1.0/bits/atomic_base.h:514: error: undefined
-reference to '__atomic_fetch_add_8'
-...
-
-In recipe, set OS_LDFLAGS="-Wl,-latomic" could fix the issue.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- config/config.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/config/config.mk b/config/config.mk
-index 4e3fd1a..d847ffa 100644
---- a/config/config.mk
-+++ b/config/config.mk
-@@ -523,7 +523,7 @@ EXPAND_MKSHLIB_ARGS = --uselist
- ifdef SYMBOL_ORDER
- EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
- endif
--EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
-+EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) $(OS_LDFLAGS)
-
- # $(call CHECK_SYMBOLS,lib,PREFIX,dep_name,test)
- # Checks that the given `lib` doesn't contain dependency on symbols with a
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
deleted file mode 100644
index 32a977ce..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 04e8a611e958f0da1ccac61acae3a6f1a5168b20 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 13 Jul 2018 18:08:14 +0800
-Subject: [PATCH] support musl
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- memory/jemalloc/src/src/pages.c | 1 -
- memory/mozjemalloc/jemalloc.c | 7 +++----
- mozglue/misc/TimeStamp_darwin.cpp | 1 -
- mozglue/misc/TimeStamp_posix.cpp | 1 -
- nsprpub/pr/src/misc/prsystem.c | 1 -
- python/psutil/psutil/_psutil_bsd.c | 1 -
- python/psutil/psutil/_psutil_osx.c | 1 -
- python/psutil/psutil/arch/bsd/process_info.c | 1 -
- python/psutil/psutil/arch/osx/process_info.c | 1 -
- 9 files changed, 3 insertions(+), 12 deletions(-)
-
-diff --git a/memory/jemalloc/src/src/pages.c b/memory/jemalloc/src/src/pages.c
-index 647952a..7b964c8 100644
---- a/memory/jemalloc/src/src/pages.c
-+++ b/memory/jemalloc/src/src/pages.c
-@@ -2,7 +2,6 @@
- #include "jemalloc/internal/jemalloc_internal.h"
-
- #ifdef JEMALLOC_SYSCTL_VM_OVERCOMMIT
--#include <sys/sysctl.h>
- #endif
-
- /******************************************************************************/
-diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
-index 5d4d83a..c618de9 100644
---- a/memory/mozjemalloc/jemalloc.c
-+++ b/memory/mozjemalloc/jemalloc.c
-@@ -332,7 +332,6 @@ __FBSDID("$FreeBSD: head/lib/libc/stdlib/malloc.c 180599 2008-07-18 19:35:44Z ja
- #include <sys/time.h>
- #include <sys/types.h>
- #if !defined(MOZ_MEMORY_SOLARIS) && !defined(MOZ_MEMORY_ANDROID)
--#include <sys/sysctl.h>
- #endif
- #include <sys/uio.h>
- #ifndef MOZ_MEMORY
-@@ -674,7 +673,7 @@ static bool malloc_initialized = false;
- #elif defined(MOZ_MEMORY_DARWIN)
- static malloc_mutex_t init_lock = {OS_SPINLOCK_INIT};
- #elif defined(MOZ_MEMORY_LINUX) && !defined(MOZ_MEMORY_ANDROID)
--static malloc_mutex_t init_lock = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
-+static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
- #elif defined(MOZ_MEMORY)
- static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
- #else
-@@ -1644,7 +1643,7 @@ malloc_mutex_init(malloc_mutex_t *mutex)
- pthread_mutexattr_t attr;
- if (pthread_mutexattr_init(&attr) != 0)
- return (true);
-- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
-+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
- if (pthread_mutex_init(mutex, &attr) != 0) {
- pthread_mutexattr_destroy(&attr);
- return (true);
-@@ -1709,7 +1708,7 @@ malloc_spin_init(malloc_spinlock_t *lock)
- pthread_mutexattr_t attr;
- if (pthread_mutexattr_init(&attr) != 0)
- return (true);
-- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
-+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
- if (pthread_mutex_init(lock, &attr) != 0) {
- pthread_mutexattr_destroy(&attr);
- return (true);
-diff --git a/mozglue/misc/TimeStamp_darwin.cpp b/mozglue/misc/TimeStamp_darwin.cpp
-index f30bc98..3998c9c 100644
---- a/mozglue/misc/TimeStamp_darwin.cpp
-+++ b/mozglue/misc/TimeStamp_darwin.cpp
-@@ -18,7 +18,6 @@
-
- #include <mach/mach_time.h>
- #include <sys/time.h>
--#include <sys/sysctl.h>
- #include <time.h>
- #include <unistd.h>
-
-diff --git a/mozglue/misc/TimeStamp_posix.cpp b/mozglue/misc/TimeStamp_posix.cpp
-index 05dedde..d9e30f2 100644
---- a/mozglue/misc/TimeStamp_posix.cpp
-+++ b/mozglue/misc/TimeStamp_posix.cpp
-@@ -21,7 +21,6 @@
- #if defined(__DragonFly__) || defined(__FreeBSD__) \
- || defined(__NetBSD__) || defined(__OpenBSD__)
- #include <sys/param.h>
--#include <sys/sysctl.h>
- #endif
-
- #if defined(__DragonFly__) || defined(__FreeBSD__)
-diff --git a/nsprpub/pr/src/misc/prsystem.c b/nsprpub/pr/src/misc/prsystem.c
-index eba85fb..54b57bb 100644
---- a/nsprpub/pr/src/misc/prsystem.c
-+++ b/nsprpub/pr/src/misc/prsystem.c
-@@ -27,7 +27,6 @@
- || defined(OPENBSD) || defined(DRAGONFLY) || defined(DARWIN)
- #define _PR_HAVE_SYSCTL
- #include <sys/param.h>
--#include <sys/sysctl.h>
- #endif
-
- #if defined(DARWIN)
-diff --git a/python/psutil/psutil/_psutil_bsd.c b/python/psutil/psutil/_psutil_bsd.c
-index 7b6e561..0a91262 100644
---- a/python/psutil/psutil/_psutil_bsd.c
-+++ b/python/psutil/psutil/_psutil_bsd.c
-@@ -16,7 +16,6 @@
- #include <fcntl.h>
- #include <paths.h>
- #include <sys/types.h>
--#include <sys/sysctl.h>
- #include <sys/param.h>
- #include <sys/user.h>
- #include <sys/proc.h>
-diff --git a/python/psutil/psutil/_psutil_osx.c b/python/psutil/psutil/_psutil_osx.c
-index 3ebf8ff..b3910ba 100644
---- a/python/psutil/psutil/_psutil_osx.c
-+++ b/python/psutil/psutil/_psutil_osx.c
-@@ -13,7 +13,6 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <utmpx.h>
--#include <sys/sysctl.h>
- #include <sys/vmmeter.h>
- #include <libproc.h>
- #include <sys/proc_info.h>
-diff --git a/python/psutil/psutil/arch/bsd/process_info.c b/python/psutil/psutil/arch/bsd/process_info.c
-index 4d73924..46f288d 100644
---- a/python/psutil/psutil/arch/bsd/process_info.c
-+++ b/python/psutil/psutil/arch/bsd/process_info.c
-@@ -15,7 +15,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <sys/types.h>
--#include <sys/sysctl.h>
- #include <sys/param.h>
- #include <sys/user.h>
- #include <sys/proc.h>
-diff --git a/python/psutil/psutil/arch/osx/process_info.c b/python/psutil/psutil/arch/osx/process_info.c
-index b6dd5bb..62a838f 100644
---- a/python/psutil/psutil/arch/osx/process_info.c
-+++ b/python/psutil/psutil/arch/osx/process_info.c
-@@ -16,7 +16,6 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <signal.h>
--#include <sys/sysctl.h>
- #include <libproc.h>
-
- #include "process_info.h"
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch
deleted file mode 100644
index 9194e346..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001
-From: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
-Date: Tue, 5 Jan 2016 22:04:17 +0100
-Subject: [PATCH] fix cross compilation on i586 targets
-
-Remove offending -Wl,-rpath-link that may cause host libraries to be picked
-during linking. The patch applies a fix to configure.in. So as not to
-regenerate configure, similar fix is applied there.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
-
-Rebase to 52.8.1
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- js/src/old-configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/src/old-configure b/js/src/old-configure
-index 8a8ef52..d7afcff 100644
---- a/js/src/old-configure
-+++ b/js/src/old-configure
-@@ -3964,7 +3964,7 @@ IMPORT_LIB_SUFFIX=
- DIRENT_INO=d_ino
- MOZ_USER_DIR=".mozilla"
-
--MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
-+MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin"
-
-
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch
deleted file mode 100644
index 6c87ff2a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865]
---- a/js/public/TypeDecls.h
-+++ b/js/public/TypeDecls.h
-@@ -21,22 +21,23 @@
- #include <stdint.h>
-
- #include "js-config.h"
-+#include "jstypes.h"
-
- struct JSContext;
--class JSFunction;
-+class JS_PUBLIC_API(JSFunction);
- class JSObject;
--class JSScript;
--class JSString;
--class JSAddonId;
-+class JS_PUBLIC_API(JSScript);
-+class JS_PUBLIC_API(JSString);
-+class JS_PUBLIC_API(JSAddonId);
-
--struct jsid;
-+struct JS_PUBLIC_API(jsid);
-
- namespace JS {
-
- typedef unsigned char Latin1Char;
-
--class Symbol;
--class Value;
-+class JS_PUBLIC_API(Symbol);
-+class JS_PUBLIC_API(Value);
- template <typename T> class Handle;
- template <typename T> class MutableHandle;
- template <typename T> class Rooted;
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch
deleted file mode 100644
index 4354a9de..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-Add RISC-V support
-
-Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1318905]
-
-Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
-
-diff --git a/build/autoconf/config.guess b/build/autoconf/config.guess
-index d5d667d..1277a86 100755
---- a/build/autoconf/config.guess
-+++ b/build/autoconf/config.guess
-@@ -1029,6 +1029,9 @@ EOF
- ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-${LIBC}
- exit ;;
-+ riscv32:Linux:*:* | riscv64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-+ exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
- exit ;;
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 6fe6591..56e6730 100644
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -362,6 +362,9 @@ def split_triplet(triplet):
- elif cpu.startswith('aarch64'):
- canonical_cpu = 'aarch64'
- endianness = 'little'
-+ elif cpu in ('riscv32', 'riscv64'):
-+ canonical_cpu = cpu
-+ endianness = 'little'
- else:
- die('Unknown CPU type: %s' % cpu)
-
-diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
-index 15dd4bf..4f37218 100644
---- a/mfbt/double-conversion/utils.h
-+++ b/mfbt/double-conversion/utils.h
-@@ -60,7 +60,8 @@
- defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
- defined(__SH4__) || defined(__alpha__) || \
- defined(_MIPS_ARCH_MIPS32R2) || \
-- defined(__AARCH64EL__) || defined(__aarch64__)
-+ defined(__AARCH64EL__) || defined(__aarch64__) || \
-+ defined(__riscv)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
- #if defined(_WIN32)
-diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
-index dfc7cf8..4f8d666 100644
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -48,6 +48,8 @@ CPU_bitness = {
- 'mips64': 64,
- 'ppc': 32,
- 'ppc64': 64,
-+ 'riscv32': 32,
-+ 'riscv64': 64,
- 's390': 32,
- 's390x': 64,
- 'sparc': 32,
-@@ -79,6 +81,8 @@ CPU_preprocessor_checks = OrderedDict((
- ('s390', '__s390__'),
- ('ppc64', '__powerpc64__'),
- ('ppc', '__powerpc__'),
-+ ('riscv32', '__riscv && __SIZEOF_POINTER__ == 4'),
-+ ('riscv64', '__riscv && __SIZEOF_POINTER__ == 8'),
- ('Alpha', '__alpha__'),
- ('hppa', '__hppa__'),
- ('sparc64', '__sparc__ && __arch64__'),
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch
deleted file mode 100644
index 5487cdbe..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 2fb531ac753500314336ccd508cb2d53f5e768e5 Mon Sep 17 00:00:00 2001
-From: Till Schneidereit <till@tillschneidereit.net>
-Date: Thu, 1 Oct 2015 12:59:09 +0200
-Subject: Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all platforms
-
-Otherwise, build fails not being able to find HashBytes.
-
-Patch ported forward to mozjs52 by Philip Chimento
-<philip.chimento@gmail.com>.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1176787
-
-Upstream-Status: Backport
-
-Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
----
- js/src/old-configure | 20 ++++++++++++--------
- mozglue/build/moz.build | 2 +-
- 2 files changed, 13 insertions(+), 9 deletions(-)
-
-diff --git a/js/src/old-configure b/js/src/old-configure
-index d7afcff..8a6f142 100644
---- a/js/src/old-configure
-+++ b/js/src/old-configure
-@@ -8546,21 +8546,25 @@ if test -z "$MOZ_ENABLE_WARNINGS_AS_ERRORS"; then
- fi
-
-
--case "${OS_TARGET}" in
--Android|WINNT|Darwin)
-+if test "$JS_STANDALONE"; then
- MOZ_GLUE_IN_PROGRAM=
-- ;;
--*)
-- MOZ_GLUE_IN_PROGRAM=1
-- cat >> confdefs.pytmp <<\EOF
-+else
-+ case "${OS_TARGET}" in
-+ Android|WINNT|Darwin)
-+ MOZ_GLUE_IN_PROGRAM=
-+ ;;
-+ *)
-+ MOZ_GLUE_IN_PROGRAM=1
-+ cat >> confdefs.pytmp <<\EOF
- (''' MOZ_GLUE_IN_PROGRAM ''', ' 1 ')
- EOF
- cat >> confdefs.h <<\EOF
- #define MOZ_GLUE_IN_PROGRAM 1
- EOF
-
-- ;;
--esac
-+ ;;
-+ esac
-+fi
-
- if test "$MOZ_MEMORY"; then
- if test "x$MOZ_DEBUG" = "x1"; then
-diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
-index d289747..e3be5a2 100644
---- a/mozglue/build/moz.build
-+++ b/mozglue/build/moz.build
-@@ -6,7 +6,7 @@
-
- # Build mozglue as a shared lib on Windows, OSX and Android.
- # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
--if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
-+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
- SharedLibrary('mozglue')
- else:
- Library('mozglue')
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
deleted file mode 100644
index 7c8a7aee..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
+++ /dev/null
@@ -1,112 +0,0 @@
-SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
-HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
-
-SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/m/mozjs52/mozjs52_52.9.1.orig.tar.xz \
- file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
- file://0010-fix-cross-compilation-on-i586-targets.patch \
- file://0001-do-not-create-python-environment.patch \
- file://0002-fix-cannot-find-link.patch \
- file://0003-workaround-autoconf-2.13-detection-failed.patch \
- file://0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch \
- file://0005-fix-do_compile-failed-on-mips.patch \
- file://disable-mozglue-in-stand-alone-builds.patch \
- file://add-riscv-support.patch \
- file://0001-mozjs-fix-coredump-caused-by-getenv.patch \
- file://JS_PUBLIC_API.patch \
- "
-SRC_URI_append_libc-musl = " \
- file://0006-support-musl.patch \
- "
-SRC_URI_append_mipsarchn32 = " \
- file://0001-fix-compiling-failure-on-mips64-n32-bsp.patch \
- "
-
-SRC_URI[md5sum] = "c9473c625ee0a9edaaac8b742ff24c5f"
-SRC_URI[sha256sum] = "f9324a6724233ab15f10381fe13e635e89d725ef1e78025a0a7d36c58a84a0f9"
-
-inherit autotools pkgconfig perlnative pythonnative
-
-inherit distro_features_check
-CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold"
-
-DEPENDS += "nspr zlib"
-
-# Disable null pointer optimization in gcc >= 6
-# https://bugzilla.redhat.com/show_bug.cgi?id=1328045
-CFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
-CXXFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
-
-# nspr's package-config is ignored so set libs manually
-EXTRA_OECONF = " \
- --target=${TARGET_SYS} \
- --host=${BUILD_SYS} \
- --prefix=${prefix} \
- --libdir=${libdir} \
- --disable-tests \
- --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--x-includes=no --x-libraries=no,virtual/libx11"
-
-EXTRA_OEMAKE_task-compile += "OS_LDFLAGS='-Wl,-latomic ${LDFLAGS}'"
-EXTRA_OEMAKE_task-install += "STATIC_LIBRARY_NAME=js_static"
-
-do_configure() {
- export SHELL="/bin/sh"
- export TMP="${B}"
- ${S}/js/src/configure ${EXTRA_OECONF}
-}
-
-do_compile_prepend() {
- export SHELL="/bin/sh"
- export S
- export PYTHONPATH
- cd ${S}
- for sub_dir in python testing/mozbase; do
- for module_dir in `ls $sub_dir -1`;do
- [ $module_dir = "virtualenv" ] && continue
- if [ -d "${S}/$sub_dir/$module_dir" ];then
- PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
- fi
- done
- done
- PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build"
- cd -
-}
-
-do_install_prepend() {
- export SHELL="/bin/sh"
- export S
- export PYTHONPATH
- cd ${S}
- for sub_dir in python testing/mozbase; do
- for module_dir in `ls $sub_dir -1`;do
- [ $module_dir = "virtualenv" ] && continue
- if [ -d "${S}/$sub_dir/$module_dir" ];then
- PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
- fi
- done
- done
- PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build"
- cd -
-}
-
-PACKAGES =+ "lib${BPN}"
-FILES_lib${BPN} += "${libdir}/lib*.so"
-FILES_${PN}-dev += "${bindir}/js52-config"
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20'
-#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)'
-#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)'
-#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300'
-#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52'
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv4 = "arm"
-
-DISABLE_STATIC = ""
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch b/external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch
new file mode 100644
index 00000000..0cae02f0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch
@@ -0,0 +1,35 @@
+From 5de183dc436bb647361ab641d891c113e6a7dadd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 8 Mar 2020 16:30:48 -0700
+Subject: [PATCH] cmake: Use a regular expression to match x86 architectures
+
+in OE we use i686 for qemux86 and this results in
+
+-- INFO - Target arch is i686
+CMake Error at CMakeLists.txt:191 (message):
+ Only x86, arm, mips, PERIPHERALMAN and mock platforms currently supported
+
+So using a wildcard helps in using any x86 arch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 250d9106..fb642722 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -176,8 +176,7 @@ else ()
+ message (STATUS "INFO - Override arch is ${DETECTED_ARCH}")
+ endif()
+
+-if (DETECTED_ARCH STREQUAL "i586" OR DETECTED_ARCH STREQUAL "x86_64"
+- OR DETECTED_ARCH STREQUAL "i386")
++if (DETECTED_ARCH MATCHES "i?86" OR DETECTED_ARCH STREQUAL "x86_64")
+ set (X86PLAT ON)
+ elseif (DETECTED_ARCH MATCHES "arm.*" OR DETECTED_ARCH MATCHES "aarch64")
+ set (ARMPLAT ON)
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
index 737c1342..403d641e 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -3,12 +3,13 @@ HOMEPAGE = "https://github.com/intel-iot-devkit/mraa"
SECTION = "libs"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4b92a3b497d7943042a6db40c088c3f2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=91e7de50a8d3cf01057f318d72460acd"
-SRCREV = "fbb7d9232067eac3f4508a37a8f7ea0c4fcebacb"
-PV = "1.9.0-git${SRCPV}"
+SRCREV = "e15ce6fbc76148ba8835adc92196b0d0a3f245e7"
+PV = "2.1.0+git${SRCPV}"
-SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \
+SRC_URI = "git://github.com/eclipse/${BPN}.git;protocol=http \
+ file://0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch \
"
S = "${WORKDIR}/git"
@@ -22,8 +23,12 @@ DEPENDS += "json-c"
EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON \
-DPYTHON3_PACKAGES_PATH:PATH=${baselib}/python${PYTHON_BASEVERSION}/site-packages \
+ -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
+ -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
"
+CFLAGS += "-fcommon"
+
# Prepend mraa-utils to make sure bindir ends up in there
PACKAGES =+ "${PN}-utils"
@@ -58,3 +63,5 @@ RDEPENDS_node-${PN} += "nodejs"
### Include desired language bindings ###
PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}"
PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}"
+
+TOOLCHAIN = "gcc"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb b/external/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb
index 19a90ff0..42350069 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb
@@ -4,7 +4,7 @@ checking (as in assert.h) and logging (printf style debugging) in \
GNU C and C++."
SECTION = "Development/Languages/C and C++"
-SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${BP}.tar.gz \
+SRC_URI = "http://download.savannah.gnu.org/releases/${BPN}/${BP}.tar.gz \
file://change-mandir-to-DESTDIR.patch \
file://modify-acinclude.m4-and-configure.in.patch \
"
@@ -15,7 +15,7 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=16aa57f3b7fdda870cee597275bd5d11"
-inherit autotools-brokensep pkgconfig
+inherit autotools-brokensep pkgconfig texinfo
EXTRA_OEMAKE = "DESTDIR=${D}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb b/external/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
index 419b3ee6..04f82d2b 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
@@ -5,7 +5,7 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://../COPYING;md5=75859989545e37968a99b631ef42722e"
SECTION = "System/Management"
-inherit setuptools
+inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
DEPENDS = "python-native python-pywbem-native python-m2crypto python-pywbem"
@@ -17,10 +17,10 @@ SRC_URI[sha256sum] = "292b8f5f2250655a4add8183c529b73358bc980bd4f23cfa484a940953
S = "${WORKDIR}/${BP}/cli"
do_configure_prepend() {
- sed 's/@@VERSION@@/$(VERSION)/g' setup.py.skel >setup.py
+ sed 's/@@VERSION@@/$(VERSION)/g' ${S}/setup.py.skel > ${S}/setup.py
}
python() {
- if 'meta-python' not in d.getVar('BBFILE_COLLECTIONS').split():
- raise bb.parse.SkipRecipe('Requires meta-python to be present.')
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Port-to-OpenSSL-1.1.0.patch b/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Port-to-OpenSSL-1.1.0.patch
deleted file mode 100644
index 49afa56f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Port-to-OpenSSL-1.1.0.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From f78643d2388dd0697f83f17880403253a0596d83 Mon Sep 17 00:00:00 2001
-From: Vitezslav Crhonek <vcrhonek@redhat.com>
-Date: Wed, 5 Sep 2018 11:23:46 -0700
-Subject: [PATCH 1/2] Port to OpenSSL 1.1.0
-
-Upstream-Status: Submitted [https://github.com/Openwsman/openwsman/pull/99]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lib/wsman-curl-client-transport.c | 6 +++-
- src/server/shttpd/io_ssl.c | 17 ----------
- src/server/shttpd/shttpd.c | 20 ++++--------
- src/server/shttpd/ssl.h | 46 ---------------------------
- 4 files changed, 12 insertions(+), 77 deletions(-)
-
-diff --git a/src/lib/wsman-curl-client-transport.c b/src/lib/wsman-curl-client-transport.c
-index cd7f517a..e64ad097 100644
---- a/src/lib/wsman-curl-client-transport.c
-+++ b/src/lib/wsman-curl-client-transport.c
-@@ -241,12 +241,16 @@ write_handler( void *ptr, size_t size, size_t nmemb, void *data)
- static int ssl_certificate_thumbprint_verify_callback(X509_STORE_CTX *ctx, void *arg)
- {
- unsigned char *thumbprint = (unsigned char *)arg;
-- X509 *cert = ctx->cert;
- EVP_MD *tempDigest;
-
- unsigned char tempFingerprint[EVP_MAX_MD_SIZE];
- unsigned int tempFingerprintLen;
- tempDigest = (EVP_MD*)EVP_sha1( );
-+
-+ X509 *cert = X509_STORE_CTX_get_current_cert(ctx);
-+ if(!cert)
-+ return 0;
-+
- if ( X509_digest(cert, tempDigest, tempFingerprint, &tempFingerprintLen ) <= 0)
- return 0;
- if(!memcmp(tempFingerprint, thumbprint, tempFingerprintLen))
-diff --git a/src/server/shttpd/io_ssl.c b/src/server/shttpd/io_ssl.c
-index 6de0db2a..7ac669e4 100644
---- a/src/server/shttpd/io_ssl.c
-+++ b/src/server/shttpd/io_ssl.c
-@@ -11,23 +11,6 @@
- #include "defs.h"
-
- #if !defined(NO_SSL)
--struct ssl_func ssl_sw[] = {
-- {"SSL_free", {0}},
-- {"SSL_accept", {0}},
-- {"SSL_connect", {0}},
-- {"SSL_read", {0}},
-- {"SSL_write", {0}},
-- {"SSL_get_error", {0}},
-- {"SSL_set_fd", {0}},
-- {"SSL_new", {0}},
-- {"SSL_CTX_new", {0}},
-- {"SSLv23_server_method", {0}},
-- {"SSL_library_init", {0}},
-- {"SSL_CTX_use_PrivateKey_file", {0}},
-- {"SSL_CTX_use_certificate_file",{0}},
-- {NULL, {0}}
--};
--
- void
- _shttpd_ssl_handshake(struct stream *stream)
- {
-diff --git a/src/server/shttpd/shttpd.c b/src/server/shttpd/shttpd.c
-index 5876392e..4c1dbf32 100644
---- a/src/server/shttpd/shttpd.c
-+++ b/src/server/shttpd/shttpd.c
-@@ -1476,20 +1476,14 @@ set_ssl(struct shttpd_ctx *ctx, const char *pem)
- int retval = FALSE;
- EC_KEY* key;
-
-- /* Load SSL library dynamically */
-- if ((lib = dlopen(SSL_LIB, RTLD_LAZY)) == NULL) {
-- _shttpd_elog(E_LOG, NULL, "set_ssl: cannot load %s", SSL_LIB);
-- return (FALSE);
-- }
--
-- for (fp = ssl_sw; fp->name != NULL; fp++)
-- if ((fp->ptr.v_void = dlsym(lib, fp->name)) == NULL) {
-- _shttpd_elog(E_LOG, NULL,"set_ssl: cannot find %s", fp->name);
-- return (FALSE);
-- }
--
- /* Initialize SSL crap */
-+ debug("Initialize SSL");
-+ SSL_load_error_strings();
-+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
- SSL_library_init();
-+ #else
-+ OPENSSL_init_ssl(0, NULL);
-+ #endif
-
- if ((CTX = SSL_CTX_new(SSLv23_server_method())) == NULL)
- _shttpd_elog(E_LOG, NULL, "SSL_CTX_new error");
-@@ -1532,7 +1526,7 @@ set_ssl(struct shttpd_ctx *ctx, const char *pem)
- if (strncasecmp(protocols[idx].name, ssl_disabled_protocols, blank_ptr-ssl_disabled_protocols) == 0) {
- //_shttpd_elog(E_LOG, NULL, "SSL: disable %s protocol", protocols[idx].name);
- debug("SSL: disable %s protocol", protocols[idx].name);
-- SSL_CTX_ctrl(CTX, SSL_CTRL_OPTIONS, protocols[idx].opt, NULL);
-+ SSL_CTX_set_options(CTX, protocols[idx].opt);
- break;
- }
- }
-diff --git a/src/server/shttpd/ssl.h b/src/server/shttpd/ssl.h
-index a863f2c7..8dad0109 100644
---- a/src/server/shttpd/ssl.h
-+++ b/src/server/shttpd/ssl.h
-@@ -12,50 +12,4 @@
-
- #include <openssl/ssl.h>
-
--#else
--
--/*
-- * Snatched from OpenSSL includes. I put the prototypes here to be independent
-- * from the OpenSSL source installation. Having this, shttpd + SSL can be
-- * built on any system with binary SSL libraries installed.
-- */
--
--typedef struct ssl_st SSL;
--typedef struct ssl_method_st SSL_METHOD;
--typedef struct ssl_ctx_st SSL_CTX;
--
--#define SSL_ERROR_WANT_READ 2
--#define SSL_ERROR_WANT_WRITE 3
--#define SSL_ERROR_SYSCALL 5
--#define SSL_FILETYPE_PEM 1
--
- #endif
--
--/*
-- * Dynamically loaded SSL functionality
-- */
--struct ssl_func {
-- const char *name; /* SSL function name */
-- union variant ptr; /* Function pointer */
--};
--
--extern struct ssl_func ssl_sw[];
--
--#define FUNC(x) ssl_sw[x].ptr.v_func
--
--#define SSL_free(x) (* (void (*)(SSL *)) FUNC(0))(x)
--#define SSL_accept(x) (* (int (*)(SSL *)) FUNC(1))(x)
--#define SSL_connect(x) (* (int (*)(SSL *)) FUNC(2))(x)
--#define SSL_read(x,y,z) (* (int (*)(SSL *, void *, int)) FUNC(3))((x),(y),(z))
--#define SSL_write(x,y,z) \
-- (* (int (*)(SSL *, const void *,int)) FUNC(4))((x), (y), (z))
--#define SSL_get_error(x,y)(* (int (*)(SSL *, int)) FUNC(5))((x), (y))
--#define SSL_set_fd(x,y) (* (int (*)(SSL *, int)) FUNC(6))((x), (y))
--#define SSL_new(x) (* (SSL * (*)(SSL_CTX *)) FUNC(7))(x)
--#define SSL_CTX_new(x) (* (SSL_CTX * (*)(SSL_METHOD *)) FUNC(8))(x)
--#define SSLv23_server_method() (* (SSL_METHOD * (*)(void)) FUNC(9))()
--#define SSL_library_init() (* (int (*)(void)) FUNC(10))()
--#define SSL_CTX_use_PrivateKey_file(x,y,z) (* (int (*)(SSL_CTX *, \
-- const char *, int)) FUNC(11))((x), (y), (z))
--#define SSL_CTX_use_certificate_file(x,y,z) (* (int (*)(SSL_CTX *, \
-- const char *, int)) FUNC(12))((x), (y), (z))
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0002-Check-OpenSSL-version-number-to-allow-builds-with-ol.patch b/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0002-Check-OpenSSL-version-number-to-allow-builds-with-ol.patch
deleted file mode 100644
index 5ae2e000..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0002-Check-OpenSSL-version-number-to-allow-builds-with-ol.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 75669b077bd54bedbc086c60cbe137e7f4c685b5 Mon Sep 17 00:00:00 2001
-From: Vitezslav Crhonek <vcrhonek@redhat.com>
-Date: Mon, 24 Apr 2017 11:28:39 +0200
-Subject: [PATCH 2/2] Check OpenSSL version number to allow builds with older
- version
-
-Upstream-Status: Submitted [https://github.com/Openwsman/openwsman/pull/99]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lib/wsman-curl-client-transport.c | 4 ++++
- src/server/shttpd/shttpd.c | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/src/lib/wsman-curl-client-transport.c b/src/lib/wsman-curl-client-transport.c
-index e64ad097..4fc047e8 100644
---- a/src/lib/wsman-curl-client-transport.c
-+++ b/src/lib/wsman-curl-client-transport.c
-@@ -247,7 +247,11 @@ static int ssl_certificate_thumbprint_verify_callback(X509_STORE_CTX *ctx, void
- unsigned int tempFingerprintLen;
- tempDigest = (EVP_MD*)EVP_sha1( );
-
-+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ X509 *cert = ctx->cert;
-+ #else
- X509 *cert = X509_STORE_CTX_get_current_cert(ctx);
-+ #endif
- if(!cert)
- return 0;
-
-diff --git a/src/server/shttpd/shttpd.c b/src/server/shttpd/shttpd.c
-index 4c1dbf32..161720c8 100644
---- a/src/server/shttpd/shttpd.c
-+++ b/src/server/shttpd/shttpd.c
-@@ -1526,7 +1526,11 @@ set_ssl(struct shttpd_ctx *ctx, const char *pem)
- if (strncasecmp(protocols[idx].name, ssl_disabled_protocols, blank_ptr-ssl_disabled_protocols) == 0) {
- //_shttpd_elog(E_LOG, NULL, "SSL: disable %s protocol", protocols[idx].name);
- debug("SSL: disable %s protocol", protocols[idx].name);
-+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ SSL_CTX_ctrl(CTX, SSL_CTRL_OPTIONS, protocols[idx].opt, NULL);
-+ #else
- SSL_CTX_set_options(CTX, protocols[idx].opt);
-+ #endif
- break;
- }
- }
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb b/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb
new file mode 100644
index 00000000..9d5a2307
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb
@@ -0,0 +1,72 @@
+SUMMARY = "Opensource Implementation of WS-Management"
+DESCRIPTION = "Openwsman is a project intended to provide an open-source \
+implementation of the Web Services Management specipication \
+(WS-Management) and to expose system management information on the \
+Linux operating system using the WS-Management protocol. WS-Management \
+is based on a suite of web services specifications and usage \
+requirements that exposes a set of operations focused on and covers \
+all system management aspects. \
+Openwsman Server and service libraries"
+HOMEPAGE = "http://www.openwsman.org/"
+SECTION = "Applications/System"
+
+DEPENDS = "curl libxml2 openssl libpam"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SRCREV = "d8eba6cb6682b59d84ca1da67a523520b879ade6"
+
+SRC_URI = "git://github.com/Openwsman/openwsman.git \
+ file://libssl-is-required-if-eventint-supported.patch \
+ file://openwsmand.service \
+ file://0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba"
+
+inherit systemd cmake pkgconfig python3native perlnative
+
+SYSTEMD_SERVICE_${PN} = "openwsmand.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd ", '', d)}"
+
+EXTRA_OECMAKE = "-DBUILD_BINDINGS=NO \
+ -DBUILD_LIBCIM=NO \
+ -DBUILD_PERL=YES \
+ -DBUILD_PYTHON3=YES \
+ -DBUILD_PYTHON=NO \
+ -DCMAKE_INSTALL_PREFIX=${prefix} \
+ -DLIB=${baselib} \
+ "
+
+do_configure_prepend() {
+ export STAGING_INCDIR=${STAGING_INCDIR}
+ export STAGING_LIBDIR=${STAGING_LIBDIR}
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${B}/etc/init/openwsmand.sh ${D}/${sysconfdir}/init.d/openwsmand
+ ln -sf ${sysconfdir}/init.d/openwsmand ${D}/${sbindir}/rcopenwsmand
+ chmod 755 ${D}/${sysconfdir}/openwsman/owsmangencert.sh
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openwsmand.service ${D}/${systemd_unitdir}/system
+
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ fi
+}
+
+FILES_${PN}-dbg += "${libdir}/openwsman/plugins/.debug/ \
+ ${libdir}/openwsman/authenticators/.debug/ \
+ "
+
+INSANE_SKIP_${PN} = "dev-so"
+RDEPENDS_${PN} = "ruby"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.5.bb b/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.5.bb
deleted file mode 100644
index 5fba3855..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.5.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "Opensource Implementation of WS-Management"
-DESCRIPTION = "Openwsman is a project intended to provide an open-source \
-implementation of the Web Services Management specipication \
-(WS-Management) and to expose system management information on the \
-Linux operating system using the WS-Management protocol. WS-Management \
-is based on a suite of web services specifications and usage \
-requirements that exposes a set of operations focused on and covers \
-all system management aspects. \
-Openwsman Server and service libraries"
-HOMEPAGE = "http://www.openwsman.org/"
-SECTION = "Applications/System"
-
-DEPENDS = "curl libxml2 openssl libpam"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-SRCREV = "e90e5c96e3006c372bf45e0185e33c9250e67df6"
-PV = "2.6.5"
-
-SRC_URI = "git://github.com/Openwsman/openwsman.git \
- file://libssl-is-required-if-eventint-supported.patch \
- file://openwsmand.service \
- file://0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch \
- file://0001-Port-to-OpenSSL-1.1.0.patch \
- file://0002-Check-OpenSSL-version-number-to-allow-builds-with-ol.patch \
- "
-
-S = "${WORKDIR}/git"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba"
-
-inherit systemd cmake pkgconfig pythonnative perlnative
-
-SYSTEMD_SERVICE_${PN} = "openwsmand.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd ", '', d)}"
-
-EXTRA_OECMAKE = "-DBUILD_BINDINGS=NO \
- -DBUILD_LIBCIM=NO \
- -DBUILD_PERL=YES \
- -DCMAKE_INSTALL_PREFIX=${prefix} \
- -DLIB=${baselib} \
- "
-
-do_configure_prepend() {
- export STAGING_INCDIR=${STAGING_INCDIR}
- export STAGING_LIBDIR=${STAGING_LIBDIR}
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${B}/etc/init/openwsmand.sh ${D}/${sysconfdir}/init.d/openwsmand
- ln -sf ${sysconfdir}/init.d/openwsmand ${D}/${sbindir}/rcopenwsmand
- chmod 755 ${D}/${sysconfdir}/openwsman/owsmangencert.sh
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/openwsmand.service ${D}/${systemd_unitdir}/system
-
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- fi
-}
-
-FILES_${PN}-dbg += "${libdir}/openwsman/plugins/.debug/ \
- ${libdir}/openwsman/authenticators/.debug/ \
- "
-
-INSANE_SKIP_${PN} = "dev-so"
-RDEPENDS_${PN} = "ruby"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/run-ptest b/external/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/run-ptest
new file mode 100644
index 00000000..963d1f69
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/run-ptest
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+gnome-desktop-testing-runner libostree
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.3.bb
new file mode 100644
index 00000000..43021c53
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.3.bb
@@ -0,0 +1,189 @@
+SUMMARY = "Versioned Operating System Repository."
+DESCRIPTION = "libostree is both a shared library and suite of command line \
+tools that combines a \"git-like\" model for committing and downloading \
+bootable filesystem trees, along with a layer for deploying them and managing \
+the bootloader configuration."
+HOMEPAGE = "https://ostree.readthedocs.io"
+LICENSE = "LGPLv2.1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+DEPENDS = " \
+ glib-2.0 \
+ e2fsprogs \
+ libcap \
+ zlib \
+ xz \
+ bison-native \
+"
+
+# The Yocto mirror has an old export of ostree:
+# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz
+PREMIRRORS = ""
+
+SRC_URI = " \
+ gitsm://github.com/ostreedev/ostree \
+ file://run-ptest \
+"
+SRCREV = "6ed48234ba579ff73eb128af237212b0a00f2057"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+)"
+
+S = "${WORKDIR}/git"
+
+inherit autotools bash-completion gobject-introspection gtk-doc manpages pkgconfig ptest-gnome systemd
+
+# Package configuration - match ostree defaults, but without rofiles-fuse
+# otherwise we introduce a dependendency on meta-filesystems
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \
+ glib \
+ gpgme \
+ soup \
+"
+
+# We include soup because ostree can't (currently) be built without
+# soup or curl - https://github.com/ostreedev/ostree/issues/1897
+PACKAGECONFIG_class-native ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ builtin-grub2-mkconfig \
+ gpgme \
+ soup \
+"
+
+PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi"
+PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig"
+PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl"
+PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut"
+PACKAGECONFIG[glib] = "--with-crypto=glib"
+PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls"
+PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme"
+PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive"
+PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux"
+PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio"
+PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2"
+PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl"
+PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse"
+PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
+PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack"
+PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4"
+PACKAGECONFIG[static] = ""
+PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd"
+PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline"
+
+EXTRA_OECONF = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \
+"
+
+# Makefile-libostree.am overrides this to avoid a build problem with clang,
+# but that fix breaks cross compilation and we don't need it
+EXTRA_OEMAKE = " \
+ INTROSPECTION_SCANNER_ENV= \
+"
+
+EXTRA_OECONF_class-native = " \
+ --enable-wrpseudo-compat \
+ --disable-otmpfile \
+"
+
+# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the
+# do_configure stage so we do depend on it
+SYSROOT_DIR = "${STAGING_DIR_TARGET}"
+SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}"
+do_configure[vardeps] += "SYSROOT_DIR"
+
+do_configure_prepend() {
+ # this reflects what autogen.sh does, but the OE wrappers for autoreconf
+ # allow it to work without the other gyrations which exist there
+ cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc
+ cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc
+}
+
+do_install_append_class-native() {
+ create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator"
+}
+
+PACKAGE_BEFORE_PN = " \
+ ${PN}-dracut \
+ ${PN}-grub \
+ ${PN}-mkinitcpio \
+ ${PN}-switchroot \
+ ${PN}-trivial-httpd \
+"
+
+FILES_${PN} += " \
+ ${nonarch_libdir}/${BPN} \
+ ${nonarch_libdir}/tmpfiles.d \
+ ${systemd_unitdir}/system \
+ ${systemd_unitdir}/system-generators \
+"
+FILES_${PN}-dracut = " \
+ ${sysconfdir}/dracut.conf.d \
+ ${libdir}/dracut \
+"
+FILES_${PN}-grub = " \
+ ${sysconfdir}/grub.d \
+ ${libexecdir}/libostree/grub2-15_ostree \
+"
+FILES_${PN}-mkinitcpio = " \
+ ${sysconfdir}/ostree-mkinitcpio.conf \
+ ${libdir}/initcpio \
+"
+FILES_${PN}-switchroot = " \
+ ${nonarch_libdir}/${BPN}/ostree-prepare-root \
+ ${systemd_unitdir}/system/ostree-prepare-root.service \
+"
+FILES_${PN}-trivial-httpd = " \
+ ${libexecdir}/libostree/ostree-trivial-httpd \
+"
+
+RDEPENDS_${PN} = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \
+"
+RDEPENDS_${PN}-dracut = "bash"
+RDEPENDS_${PN}-mkinitcpio = "bash"
+RDEPENDS_${PN}_class-target = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \
+ ${PN}-switchroot \
+"
+
+#
+# Note that to get ptest to pass you also need:
+#
+# xattr in DISTRO_FEATURES
+# static ostree-prepare-root (PACKAGECONFIG_append_pn-ostree = " static")
+# meta-python in your layers
+# overlayfs in your kernel (KERNEL_EXTRA_FEATURES += "features/overlayfs/overlayfs.scc")
+# busybox built statically
+# /var/tmp as a real filesystem (not a tmpfs)
+# Sufficient disk space (IMAGE_ROOTFS_SIZE = "524288") and RAM (QB_MEM = "-m 1024")
+#
+RDEPENDS_${PN}-ptest += " \
+ attr \
+ bash \
+ coreutils \
+ cpio \
+ diffutils \
+ findutils \
+ grep \
+ python3-core \
+ python3-multiprocessing \
+ strace \
+ tar \
+ util-linux \
+ xz \
+ ${PN}-trivial-httpd \
+ ${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'python3-pyyaml', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \
+"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils glibc-localedata-en-us"
+
+RRECOMMENDS_${PN} += "kernel-module-overlay"
+
+SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path"
+SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb
index 95d879dc..9838e75e 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libpam openssl db"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
SRCREV = "e2145df09469bf84878e4729b4ecd814efb797d1"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch
new file mode 100644
index 00000000..0a934115
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch
@@ -0,0 +1,25 @@
+From 3e97c9004f4ec58ca3696ee6298f91e6eeb76e04 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Dec 2019 14:46:25 -0800
+Subject: [PATCH] include <stdexcept> for std::invalid_argument
+
+Upstream-Status: Submitted [https://github.com/rmbreak/pam_ldapdb/pull/11]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pam_ldapdb.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/pam_ldapdb.cpp b/pam_ldapdb.cpp
+index 9baf1e6..be5d85c 100644
+--- a/pam_ldapdb.cpp
++++ b/pam_ldapdb.cpp
+@@ -1,5 +1,6 @@
+ #include <map>
+ #include <string>
++#include <stdexcept>
+ #include <utility>
+ #include <syslog.h>
+ #include <pwd.h>
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
index c59a259f..626b22fe 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
@@ -7,14 +7,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=41ab94182d94be9bb35e2a8b933f1e7d"
DEPENDS = "libpam openldap"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
-SRC_URI = "https://github.com/rmbreak/pam_ldapdb/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
-SRC_URI[md5sum] = "2dd4f1370fcfe995ee0ad09611109b87"
-SRC_URI[sha256sum] = "8ed92b36523556bb5d9bf3eb33a1035e46041d4be767c8d62136930c0ca0e45b"
+SRCREV = "84d7b260f1ae6857ae36e014c9a5968e8aa1cbe8"
+SRC_URI = "git://github.com/rmbreak/pam_ldapdb \
+ file://0001-include-stdexcept-for-std-invalid_argument.patch \
+"
-S = "${WORKDIR}/pam_ldapdb-${PV}"
+S = "${WORKDIR}/git"
do_install () {
oe_runmake install DESTDIR=${D} PAMDIR=${base_libdir}/security
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-Adapt-to-OpenSSL-1.1.1.patch b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-Adapt-to-OpenSSL-1.1.1.patch
new file mode 100644
index 00000000..2d75a18f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-Adapt-to-OpenSSL-1.1.1.patch
@@ -0,0 +1,879 @@
+From 37e233307a79a9250962dcf77b7c7e27a02a1a35 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 1 Feb 2019 22:44:10 -0800
+Subject: [PATCH] Adapt to OpenSSL 1.1.1
+
+From: Guido Falsi <mad@madpilot.net>
+https://sources.debian.org/src/pam-ssh-agent-auth/0.10.3-3/debian/patches/openssl-1.1.1-1.patch/
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ authfd.c | 50 ++++++++++++++++++++
+ bufbn.c | 4 ++
+ cipher.h | 6 ++-
+ kex.h | 9 +++-
+ key.c | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ ssh-dss.c | 51 ++++++++++++++++----
+ ssh-ecdsa.c | 40 ++++++++++++----
+ ssh-rsa.c | 22 +++++++--
+ 8 files changed, 287 insertions(+), 28 deletions(-)
+
+diff --git a/authfd.c b/authfd.c
+index 212e06b..f91514d 100644
+--- a/authfd.c
++++ b/authfd.c
+@@ -367,6 +367,7 @@ ssh_get_next_identity(AuthenticationConnection *auth, char **comment, int versio
+ case 1:
+ key = pamsshagentauth_key_new(KEY_RSA1);
+ bits = pamsshagentauth_buffer_get_int(&auth->identities);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ pamsshagentauth_buffer_get_bignum(&auth->identities, key->rsa->e);
+ pamsshagentauth_buffer_get_bignum(&auth->identities, key->rsa->n);
+ *comment = pamsshagentauth_buffer_get_string(&auth->identities, NULL);
+@@ -374,6 +375,15 @@ ssh_get_next_identity(AuthenticationConnection *auth, char **comment, int versio
+ if (keybits < 0 || bits != (u_int)keybits)
+ pamsshagentauth_logit("Warning: identity keysize mismatch: actual %d, announced %u",
+ BN_num_bits(key->rsa->n), bits);
++#else
++ pamsshagentauth_buffer_get_bignum(&auth->identities, RSA_get0_e(key->rsa));
++ pamsshagentauth_buffer_get_bignum(&auth->identities, RSA_get0_n(key->rsa));
++ *comment = pamsshagentauth_buffer_get_string(&auth->identities, NULL);
++ keybits = BN_num_bits(RSA_get0_n(key->rsa));
++ if (keybits < 0 || bits != (u_int)keybits)
++ pamsshagentauth_logit("Warning: identity keysize mismatch: actual %d, announced %u",
++ BN_num_bits(RSA_get0_n(key->rsa)), bits);
++#endif
+ break;
+ case 2:
+ blob = pamsshagentauth_buffer_get_string(&auth->identities, &blen);
+@@ -417,9 +427,15 @@ ssh_decrypt_challenge(AuthenticationConnection *auth,
+ }
+ pamsshagentauth_buffer_init(&buffer);
+ pamsshagentauth_buffer_put_char(&buffer, SSH_AGENTC_RSA_CHALLENGE);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ pamsshagentauth_buffer_put_int(&buffer, BN_num_bits(key->rsa->n));
+ pamsshagentauth_buffer_put_bignum(&buffer, key->rsa->e);
+ pamsshagentauth_buffer_put_bignum(&buffer, key->rsa->n);
++#else
++ pamsshagentauth_buffer_put_int(&buffer, BN_num_bits(RSA_get0_n(key->rsa)));
++ pamsshagentauth_buffer_put_bignum(&buffer, RSA_get0_e(key->rsa));
++ pamsshagentauth_buffer_put_bignum(&buffer, RSA_get0_n(key->rsa));
++#endif
+ pamsshagentauth_buffer_put_bignum(&buffer, challenge);
+ pamsshagentauth_buffer_append(&buffer, session_id, 16);
+ pamsshagentauth_buffer_put_int(&buffer, response_type);
+@@ -496,6 +512,7 @@ ssh_agent_sign(AuthenticationConnection *auth,
+ static void
+ ssh_encode_identity_rsa1(Buffer *b, RSA *key, const char *comment)
+ {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ pamsshagentauth_buffer_put_int(b, BN_num_bits(key->n));
+ pamsshagentauth_buffer_put_bignum(b, key->n);
+ pamsshagentauth_buffer_put_bignum(b, key->e);
+@@ -504,6 +521,16 @@ ssh_encode_identity_rsa1(Buffer *b, RSA *key, const char *comment)
+ pamsshagentauth_buffer_put_bignum(b, key->iqmp); /* ssh key->u */
+ pamsshagentauth_buffer_put_bignum(b, key->q); /* ssh key->p, SSL key->q */
+ pamsshagentauth_buffer_put_bignum(b, key->p); /* ssh key->q, SSL key->p */
++#else
++ pamsshagentauth_buffer_put_int(b, BN_num_bits(RSA_get0_n(key)));
++ pamsshagentauth_buffer_put_bignum(b, RSA_get0_n(key));
++ pamsshagentauth_buffer_put_bignum(b, RSA_get0_e(key));
++ pamsshagentauth_buffer_put_bignum(b, RSA_get0_d(key));
++ /* To keep within the protocol: p < q for ssh. in SSL p > q */
++ pamsshagentauth_buffer_put_bignum(b, RSA_get0_iqmp(key)); /* ssh key->u */
++ pamsshagentauth_buffer_put_bignum(b, RSA_get0_q(key)); /* ssh key->p, SSL key->q */
++ pamsshagentauth_buffer_put_bignum(b, RSA_get0_p(key)); /* ssh key->q, SSL key->p */
++#endif
+ pamsshagentauth_buffer_put_cstring(b, comment);
+ }
+
+@@ -513,19 +540,36 @@ ssh_encode_identity_ssh2(Buffer *b, Key *key, const char *comment)
+ pamsshagentauth_buffer_put_cstring(b, key_ssh_name(key));
+ switch (key->type) {
+ case KEY_RSA:
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->n);
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->e);
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->d);
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->iqmp);
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->p);
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->q);
++#else
++ pamsshagentauth_buffer_put_bignum2(b, RSA_get0_n(key->rsa));
++ pamsshagentauth_buffer_put_bignum2(b, RSA_get0_e(key->rsa));
++ pamsshagentauth_buffer_put_bignum2(b, RSA_get0_d(key->rsa));
++ pamsshagentauth_buffer_put_bignum2(b, RSA_get0_iqmp(key->rsa));
++ pamsshagentauth_buffer_put_bignum2(b, RSA_get0_p(key->rsa));
++ pamsshagentauth_buffer_put_bignum2(b, RSA_get0_q(key->rsa));
++#endif
+ break;
+ case KEY_DSA:
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ pamsshagentauth_buffer_put_bignum2(b, key->dsa->p);
+ pamsshagentauth_buffer_put_bignum2(b, key->dsa->q);
+ pamsshagentauth_buffer_put_bignum2(b, key->dsa->g);
+ pamsshagentauth_buffer_put_bignum2(b, key->dsa->pub_key);
+ pamsshagentauth_buffer_put_bignum2(b, key->dsa->priv_key);
++#else
++ pamsshagentauth_buffer_put_bignum2(b, DSA_get0_p(key->dsa));
++ pamsshagentauth_buffer_put_bignum2(b, DSA_get0_q(key->dsa));
++ pamsshagentauth_buffer_put_bignum2(b, DSA_get0_g(key->dsa));
++ pamsshagentauth_buffer_put_bignum2(b, DSA_get0_pub_key(key->dsa));
++ pamsshagentauth_buffer_put_bignum2(b, DSA_get0_priv_key(key->dsa));
++#endif
+ break;
+ }
+ pamsshagentauth_buffer_put_cstring(b, comment);
+@@ -605,9 +649,15 @@ ssh_remove_identity(AuthenticationConnection *auth, Key *key)
+
+ if (key->type == KEY_RSA1) {
+ pamsshagentauth_buffer_put_char(&msg, SSH_AGENTC_REMOVE_RSA_IDENTITY);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ pamsshagentauth_buffer_put_int(&msg, BN_num_bits(key->rsa->n));
+ pamsshagentauth_buffer_put_bignum(&msg, key->rsa->e);
+ pamsshagentauth_buffer_put_bignum(&msg, key->rsa->n);
++#else
++ pamsshagentauth_buffer_put_int(&msg, BN_num_bits(RSA_get0_n(key->rsa)));
++ pamsshagentauth_buffer_put_bignum(&msg, RSA_get0_e(key->rsa));
++ pamsshagentauth_buffer_put_bignum(&msg, RSA_get0_n(key->rsa));
++#endif
+ } else if (key->type == KEY_DSA || key->type == KEY_RSA) {
+ pamsshagentauth_key_to_blob(key, &blob, &blen);
+ pamsshagentauth_buffer_put_char(&msg, SSH2_AGENTC_REMOVE_IDENTITY);
+diff --git a/bufbn.c b/bufbn.c
+index 6a49c73..4ecedc1 100644
+--- a/bufbn.c
++++ b/bufbn.c
+@@ -151,7 +151,11 @@ pamsshagentauth_buffer_put_bignum2_ret(Buffer *buffer, const BIGNUM *value)
+ pamsshagentauth_buffer_put_int(buffer, 0);
+ return 0;
+ }
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (value->neg) {
++#else
++ if (BN_is_negative(value)) {
++#endif
+ pamsshagentauth_logerror("buffer_put_bignum2_ret: negative numbers not supported");
+ return (-1);
+ }
+diff --git a/cipher.h b/cipher.h
+index 49bbc16..64f59ca 100644
+--- a/cipher.h
++++ b/cipher.h
+@@ -59,15 +59,18 @@
+ #define CIPHER_DECRYPT 0
+
+ typedef struct Cipher Cipher;
+-typedef struct CipherContext CipherContext;
++// typedef struct CipherContext CipherContext;
+
+ struct Cipher;
++/*
+ struct CipherContext {
+ int plaintext;
+ EVP_CIPHER_CTX evp;
+ Cipher *cipher;
+ };
++*/
+
++/*
+ u_int cipher_mask_ssh1(int);
+ Cipher *cipher_by_name(const char *);
+ Cipher *cipher_by_number(int);
+@@ -88,4 +91,5 @@ void cipher_set_keyiv(CipherContext *, u_char *);
+ int cipher_get_keyiv_len(const CipherContext *);
+ int cipher_get_keycontext(const CipherContext *, u_char *);
+ void cipher_set_keycontext(CipherContext *, u_char *);
++*/
+ #endif /* CIPHER_H */
+diff --git a/kex.h b/kex.h
+index 8e29c90..81ca57d 100644
+--- a/kex.h
++++ b/kex.h
+@@ -70,7 +70,7 @@ enum kex_exchange {
+ #define KEX_INIT_SENT 0x0001
+
+ typedef struct Kex Kex;
+-typedef struct Mac Mac;
++// typedef struct Mac Mac;
+ typedef struct Comp Comp;
+ typedef struct Enc Enc;
+ typedef struct Newkeys Newkeys;
+@@ -84,6 +84,7 @@ struct Enc {
+ u_char *key;
+ u_char *iv;
+ };
++/*
+ struct Mac {
+ char *name;
+ int enabled;
+@@ -95,11 +96,13 @@ struct Mac {
+ HMAC_CTX evp_ctx;
+ struct umac_ctx *umac_ctx;
+ };
++*/
+ struct Comp {
+ int type;
+ int enabled;
+ char *name;
+ };
++/*
+ struct Newkeys {
+ Enc enc;
+ Mac mac;
+@@ -126,7 +129,9 @@ struct Kex {
+ int (*host_key_index)(Key *);
+ void (*kex[KEX_MAX])(Kex *);
+ };
++*/
+
++/*
+ Kex *kex_setup(char *[PROPOSAL_MAX]);
+ void kex_finish(Kex *);
+
+@@ -152,6 +157,8 @@ kexgex_hash(const EVP_MD *, char *, char *, char *, int, char *,
+ void
+ derive_ssh1_session_id(BIGNUM *, BIGNUM *, u_int8_t[8], u_int8_t[16]);
+
++*/
++
+ #if defined(DEBUG_KEX) || defined(DEBUG_KEXDH)
+ void dump_digest(char *, u_char *, int);
+ #endif
+diff --git a/key.c b/key.c
+index 107a442..aedbbb5 100644
+--- a/key.c
++++ b/key.c
+@@ -77,15 +77,21 @@ pamsshagentauth_key_new(int type)
+ case KEY_RSA:
+ if ((rsa = RSA_new()) == NULL)
+ pamsshagentauth_fatal("key_new: RSA_new failed");
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((rsa->n = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new: BN_new failed");
+ if ((rsa->e = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new: BN_new failed");
++#else
++ if (RSA_set0_key(rsa, BN_new(), BN_new(), NULL) != 1)
++ pamsshagentauth_fatal("key_new: RSA_set0_key failed");
++#endif
+ k->rsa = rsa;
+ break;
+ case KEY_DSA:
+ if ((dsa = DSA_new()) == NULL)
+ pamsshagentauth_fatal("key_new: DSA_new failed");
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((dsa->p = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new: BN_new failed");
+ if ((dsa->q = BN_new()) == NULL)
+@@ -94,6 +100,12 @@ pamsshagentauth_key_new(int type)
+ pamsshagentauth_fatal("key_new: BN_new failed");
+ if ((dsa->pub_key = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new: BN_new failed");
++#else
++ if (DSA_set0_pqg(dsa, BN_new(), BN_new(), BN_new()) != 1)
++ pamsshagentauth_fatal("key_new: DSA_set0_pqg failed");
++ if (DSA_set0_key(dsa, BN_new(), NULL) != 1)
++ pamsshagentauth_fatal("key_new: DSA_set0_key failed");
++#endif
+ k->dsa = dsa;
+ break;
+ case KEY_ECDSA:
+@@ -118,6 +130,7 @@ pamsshagentauth_key_new_private(int type)
+ switch (k->type) {
+ case KEY_RSA1:
+ case KEY_RSA:
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((k->rsa->d = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new_private: BN_new failed");
+ if ((k->rsa->iqmp = BN_new()) == NULL)
+@@ -130,14 +143,30 @@ pamsshagentauth_key_new_private(int type)
+ pamsshagentauth_fatal("key_new_private: BN_new failed");
+ if ((k->rsa->dmp1 = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new_private: BN_new failed");
++#else
++ if (RSA_set0_key(k->rsa, NULL, NULL, BN_new()) != 1)
++ pamsshagentauth_fatal("key_new: RSA_set0_key failed");
++ if (RSA_set0_crt_params(k->rsa, BN_new(), BN_new(), BN_new()) != 1)
++ pamsshagentauth_fatal("key_new: RSA_set0_crt_params failed");
++ if (RSA_set0_factors(k->rsa, BN_new(), BN_new()) != 1)
++ pamsshagentauth_fatal("key_new: RSA_set0_factors failed");
++#endif
+ break;
+ case KEY_DSA:
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((k->dsa->priv_key = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new_private: BN_new failed");
++#else
++ if (DSA_set0_key(k->dsa, NULL, BN_new()) != 1)
++ pamsshagentauth_fatal("key_new_private: DSA_set0_key failed");
++#endif
+ break;
+ case KEY_ECDSA:
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (EC_KEY_set_private_key(k->ecdsa, BN_new()) != 1)
+ pamsshagentauth_fatal("key_new_private: EC_KEY_set_private_key failed");
++#else
++#endif
+ break;
+ case KEY_ED25519:
+ RAND_bytes(k->ed25519->sk, sizeof(k->ed25519->sk));
+@@ -195,14 +224,26 @@ pamsshagentauth_key_equal(const Key *a, const Key *b)
+ case KEY_RSA1:
+ case KEY_RSA:
+ return a->rsa != NULL && b->rsa != NULL &&
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ BN_cmp(a->rsa->e, b->rsa->e) == 0 &&
+ BN_cmp(a->rsa->n, b->rsa->n) == 0;
++#else
++ BN_cmp(RSA_get0_e(a->rsa), RSA_get0_e(b->rsa)) == 0 &&
++ BN_cmp(RSA_get0_n(a->rsa), RSA_get0_n(b->rsa)) == 0;
++#endif
+ case KEY_DSA:
+ return a->dsa != NULL && b->dsa != NULL &&
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ BN_cmp(a->dsa->p, b->dsa->p) == 0 &&
+ BN_cmp(a->dsa->q, b->dsa->q) == 0 &&
+ BN_cmp(a->dsa->g, b->dsa->g) == 0 &&
+ BN_cmp(a->dsa->pub_key, b->dsa->pub_key) == 0;
++#else
++ BN_cmp(DSA_get0_p(a->dsa), DSA_get0_p(b->dsa)) == 0 &&
++ BN_cmp(DSA_get0_q(a->dsa), DSA_get0_q(b->dsa)) == 0 &&
++ BN_cmp(DSA_get0_g(a->dsa), DSA_get0_g(b->dsa)) == 0 &&
++ BN_cmp(DSA_get0_pub_key(a->dsa), DSA_get0_pub_key(b->dsa)) == 0;
++#endif
+ case KEY_ECDSA:
+ return a->ecdsa != NULL && b->ecdsa != NULL &&
+ EC_KEY_check_key(a->ecdsa) == 1 &&
+@@ -231,7 +272,7 @@ pamsshagentauth_key_fingerprint_raw(const Key *k, enum fp_type dgst_type,
+ u_int *dgst_raw_length)
+ {
+ const EVP_MD *md = NULL;
+- EVP_MD_CTX ctx;
++ EVP_MD_CTX *ctx;
+ u_char *blob = NULL;
+ u_char *retval = NULL;
+ u_int len = 0;
+@@ -252,12 +293,21 @@ pamsshagentauth_key_fingerprint_raw(const Key *k, enum fp_type dgst_type,
+ }
+ switch (k->type) {
+ case KEY_RSA1:
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ nlen = BN_num_bytes(k->rsa->n);
+ elen = BN_num_bytes(k->rsa->e);
+ len = nlen + elen;
+ blob = pamsshagentauth_xmalloc(len);
+ BN_bn2bin(k->rsa->n, blob);
+ BN_bn2bin(k->rsa->e, blob + nlen);
++#else
++ nlen = BN_num_bytes(RSA_get0_n(k->rsa));
++ elen = BN_num_bytes(RSA_get0_e(k->rsa));
++ len = nlen + elen;
++ blob = pamsshagentauth_xmalloc(len);
++ BN_bn2bin(RSA_get0_n(k->rsa), blob);
++ BN_bn2bin(RSA_get0_e(k->rsa), blob + nlen);
++#endif
+ break;
+ case KEY_DSA:
+ case KEY_ECDSA:
+@@ -273,11 +323,14 @@ pamsshagentauth_key_fingerprint_raw(const Key *k, enum fp_type dgst_type,
+ }
+ if (blob != NULL) {
+ retval = pamsshagentauth_xmalloc(EVP_MAX_MD_SIZE);
+- EVP_DigestInit(&ctx, md);
+- EVP_DigestUpdate(&ctx, blob, len);
+- EVP_DigestFinal(&ctx, retval, dgst_raw_length);
++ /* XXX Errors from EVP_* functions are not hadled */
++ ctx = EVP_MD_CTX_create();
++ EVP_DigestInit(ctx, md);
++ EVP_DigestUpdate(ctx, blob, len);
++ EVP_DigestFinal(ctx, retval, dgst_raw_length);
+ memset(blob, 0, len);
+ pamsshagentauth_xfree(blob);
++ EVP_MD_CTX_destroy(ctx);
+ } else {
+ pamsshagentauth_fatal("key_fingerprint_raw: blob is null");
+ }
+@@ -457,10 +510,17 @@ pamsshagentauth_key_read(Key *ret, char **cpp)
+ return -1;
+ *cpp = cp;
+ /* Get public exponent, public modulus. */
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (!read_bignum(cpp, ret->rsa->e))
+ return -1;
+ if (!read_bignum(cpp, ret->rsa->n))
+ return -1;
++#else
++ if (!read_bignum(cpp, RSA_get0_e(ret->rsa)))
++ return -1;
++ if (!read_bignum(cpp, RSA_get0_n(ret->rsa)))
++ return -1;
++#endif
+ success = 1;
+ break;
+ case KEY_UNSPEC:
+@@ -583,10 +643,17 @@ pamsshagentauth_key_write(const Key *key, FILE *f)
+
+ if (key->type == KEY_RSA1 && key->rsa != NULL) {
+ /* size of modulus 'n' */
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ bits = BN_num_bits(key->rsa->n);
+ fprintf(f, "%u", bits);
+ if (write_bignum(f, key->rsa->e) &&
+ write_bignum(f, key->rsa->n)) {
++#else
++ bits = BN_num_bits(RSA_get0_n(key->rsa));
++ fprintf(f, "%u", bits);
++ if (write_bignum(f, RSA_get0_e(key->rsa)) &&
++ write_bignum(f, RSA_get0_n(key->rsa))) {
++#endif
+ success = 1;
+ } else {
+ pamsshagentauth_logerror("key_write: failed for RSA key");
+@@ -675,10 +742,17 @@ pamsshagentauth_key_size(const Key *k)
+ {
+ switch (k->type) {
+ case KEY_RSA1:
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ case KEY_RSA:
+ return BN_num_bits(k->rsa->n);
+ case KEY_DSA:
+ return BN_num_bits(k->dsa->p);
++#else
++ case KEY_RSA:
++ return BN_num_bits(RSA_get0_n(k->rsa));
++ case KEY_DSA:
++ return BN_num_bits(DSA_get0_p(k->dsa));
++#endif
+ case KEY_ECDSA:
+ {
+ int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(k->ecdsa));
+@@ -769,17 +843,29 @@ pamsshagentauth_key_from_private(const Key *k)
+ switch (k->type) {
+ case KEY_DSA:
+ n = pamsshagentauth_key_new(k->type);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((BN_copy(n->dsa->p, k->dsa->p) == NULL) ||
+ (BN_copy(n->dsa->q, k->dsa->q) == NULL) ||
+ (BN_copy(n->dsa->g, k->dsa->g) == NULL) ||
+ (BN_copy(n->dsa->pub_key, k->dsa->pub_key) == NULL))
++#else
++ if ((BN_copy(DSA_get0_p(n->dsa), DSA_get0_p(k->dsa)) == NULL) ||
++ (BN_copy(DSA_get0_q(n->dsa), DSA_get0_q(k->dsa)) == NULL) ||
++ (BN_copy(DSA_get0_g(n->dsa), DSA_get0_g(k->dsa)) == NULL) ||
++ (BN_copy(DSA_get0_pub_key(n->dsa), DSA_get0_pub_key(k->dsa)) == NULL))
++#endif
+ pamsshagentauth_fatal("key_from_private: BN_copy failed");
+ break;
+ case KEY_RSA:
+ case KEY_RSA1:
+ n = pamsshagentauth_key_new(k->type);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((BN_copy(n->rsa->n, k->rsa->n) == NULL) ||
+ (BN_copy(n->rsa->e, k->rsa->e) == NULL))
++#else
++ if ((BN_copy(RSA_get0_n(n->rsa), RSA_get0_n(k->rsa)) == NULL) ||
++ (BN_copy(RSA_get0_e(n->rsa), RSA_get0_e(k->rsa)) == NULL))
++#endif
+ pamsshagentauth_fatal("key_from_private: BN_copy failed");
+ break;
+ case KEY_ECDSA:
+@@ -881,8 +967,13 @@ pamsshagentauth_key_from_blob(const u_char *blob, u_int blen)
+ switch (type) {
+ case KEY_RSA:
+ key = pamsshagentauth_key_new(type);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (pamsshagentauth_buffer_get_bignum2_ret(&b, key->rsa->e) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&b, key->rsa->n) == -1) {
++#else
++ if (pamsshagentauth_buffer_get_bignum2_ret(&b, RSA_get0_e(key->rsa)) == -1 ||
++ pamsshagentauth_buffer_get_bignum2_ret(&b, RSA_get0_n(key->rsa)) == -1) {
++#endif
+ pamsshagentauth_logerror("key_from_blob: can't read rsa key");
+ pamsshagentauth_key_free(key);
+ key = NULL;
+@@ -894,10 +985,17 @@ pamsshagentauth_key_from_blob(const u_char *blob, u_int blen)
+ break;
+ case KEY_DSA:
+ key = pamsshagentauth_key_new(type);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->p) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->q) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->g) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->pub_key) == -1) {
++#else
++ if (pamsshagentauth_buffer_get_bignum2_ret(&b, DSA_get0_p(key->dsa)) == -1 ||
++ pamsshagentauth_buffer_get_bignum2_ret(&b, DSA_get0_q(key->dsa)) == -1 ||
++ pamsshagentauth_buffer_get_bignum2_ret(&b, DSA_get0_g(key->dsa)) == -1 ||
++ pamsshagentauth_buffer_get_bignum2_ret(&b, DSA_get0_pub_key(key->dsa)) == -1) {
++#endif
+ pamsshagentauth_logerror("key_from_blob: can't read dsa key");
+ pamsshagentauth_key_free(key);
+ key = NULL;
+@@ -1015,6 +1113,7 @@ pamsshagentauth_key_to_blob(const Key *key, u_char **blobp, u_int *lenp)
+ }
+ pamsshagentauth_buffer_init(&b);
+ switch (key->type) {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ case KEY_DSA:
+ pamsshagentauth_buffer_put_cstring(&b, key_ssh_name(key));
+ pamsshagentauth_buffer_put_bignum2(&b, key->dsa->p);
+@@ -1027,6 +1126,20 @@ pamsshagentauth_key_to_blob(const Key *key, u_char **blobp, u_int *lenp)
+ pamsshagentauth_buffer_put_bignum2(&b, key->rsa->e);
+ pamsshagentauth_buffer_put_bignum2(&b, key->rsa->n);
+ break;
++#else
++ case KEY_DSA:
++ pamsshagentauth_buffer_put_cstring(&b, key_ssh_name(key));
++ pamsshagentauth_buffer_put_bignum2(&b, DSA_get0_p(key->dsa));
++ pamsshagentauth_buffer_put_bignum2(&b, DSA_get0_q(key->dsa));
++ pamsshagentauth_buffer_put_bignum2(&b, DSA_get0_g(key->dsa));
++ pamsshagentauth_buffer_put_bignum2(&b, DSA_get0_pub_key(key->dsa));
++ break;
++ case KEY_RSA:
++ pamsshagentauth_buffer_put_cstring(&b, key_ssh_name(key));
++ pamsshagentauth_buffer_put_bignum2(&b, RSA_get0_e(key->rsa));
++ pamsshagentauth_buffer_put_bignum2(&b, RSA_get0_n(key->rsa));
++ break;
++#endif
+ case KEY_ECDSA:
+ {
+ size_t l = 0;
+@@ -1138,14 +1251,20 @@ pamsshagentauth_key_demote(const Key *k)
+ case KEY_RSA:
+ if ((pk->rsa = RSA_new()) == NULL)
+ pamsshagentauth_fatal("key_demote: RSA_new failed");
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((pk->rsa->e = BN_dup(k->rsa->e)) == NULL)
+ pamsshagentauth_fatal("key_demote: BN_dup failed");
+ if ((pk->rsa->n = BN_dup(k->rsa->n)) == NULL)
+ pamsshagentauth_fatal("key_demote: BN_dup failed");
++#else
++ if (RSA_set0_key(pk->rsa, BN_dup(RSA_get0_n(k->rsa)), BN_dup(RSA_get0_e(k->rsa)), NULL) != 1)
++ pamsshagentauth_fatal("key_demote: RSA_set0_key failed");
++#endif
+ break;
+ case KEY_DSA:
+ if ((pk->dsa = DSA_new()) == NULL)
+ pamsshagentauth_fatal("key_demote: DSA_new failed");
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((pk->dsa->p = BN_dup(k->dsa->p)) == NULL)
+ pamsshagentauth_fatal("key_demote: BN_dup failed");
+ if ((pk->dsa->q = BN_dup(k->dsa->q)) == NULL)
+@@ -1154,6 +1273,12 @@ pamsshagentauth_key_demote(const Key *k)
+ pamsshagentauth_fatal("key_demote: BN_dup failed");
+ if ((pk->dsa->pub_key = BN_dup(k->dsa->pub_key)) == NULL)
+ pamsshagentauth_fatal("key_demote: BN_dup failed");
++#else
++ if (DSA_set0_pqg(pk->dsa, BN_dup(DSA_get0_p(k->dsa)), BN_dup(DSA_get0_q(k->dsa)), BN_dup(DSA_get0_g(k->dsa))) != 1)
++ pamsshagentauth_fatal("key_demote: DSA_set0_pqg failed");
++ if (DSA_set0_key(pk->dsa, BN_dup(DSA_get0_pub_key(k->dsa)), NULL) != 1)
++ pamsshagentauth_fatal("key_demote: DSA_set0_key failed");
++#endif
+ break;
+ case KEY_ECDSA:
+ pamsshagentauth_fatal("key_demote: implement me");
+diff --git a/ssh-dss.c b/ssh-dss.c
+index 9fdaa5d..1051ae2 100644
+--- a/ssh-dss.c
++++ b/ssh-dss.c
+@@ -48,37 +48,53 @@ ssh_dss_sign(const Key *key, u_char **sigp, u_int *lenp,
+ {
+ DSA_SIG *sig;
+ const EVP_MD *evp_md = EVP_sha1();
+- EVP_MD_CTX md;
++ EVP_MD_CTX *md;
+ u_char digest[EVP_MAX_MD_SIZE], sigblob[SIGBLOB_LEN];
+ u_int rlen, slen, len, dlen;
+ Buffer b;
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ const BIGNUM *r, *s;
++#endif
+
+ if (key == NULL || key->type != KEY_DSA || key->dsa == NULL) {
+ pamsshagentauth_logerror("ssh_dss_sign: no DSA key");
+ return -1;
+ }
+- EVP_DigestInit(&md, evp_md);
+- EVP_DigestUpdate(&md, data, datalen);
+- EVP_DigestFinal(&md, digest, &dlen);
++ md = EVP_MD_CTX_create();
++ EVP_DigestInit(md, evp_md);
++ EVP_DigestUpdate(md, data, datalen);
++ EVP_DigestFinal(md, digest, &dlen);
+
+ sig = DSA_do_sign(digest, dlen, key->dsa);
+ memset(digest, 'd', sizeof(digest));
++ EVP_MD_CTX_destroy(md);
+
+ if (sig == NULL) {
+ pamsshagentauth_logerror("ssh_dss_sign: sign failed");
+ return -1;
+ }
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ rlen = BN_num_bytes(sig->r);
+ slen = BN_num_bytes(sig->s);
++#else
++ DSA_SIG_get0((const DSA_SIG *)sig, (const BIGNUM **)r, (const BIGNUM **)s);
++ rlen = BN_num_bytes(r);
++ slen = BN_num_bytes(s);
++#endif
+ if (rlen > INTBLOB_LEN || slen > INTBLOB_LEN) {
+ pamsshagentauth_logerror("bad sig size %u %u", rlen, slen);
+ DSA_SIG_free(sig);
+ return -1;
+ }
+ memset(sigblob, 0, SIGBLOB_LEN);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ BN_bn2bin(sig->r, sigblob+ SIGBLOB_LEN - INTBLOB_LEN - rlen);
+ BN_bn2bin(sig->s, sigblob+ SIGBLOB_LEN - slen);
++#else
++ BN_bn2bin(r, sigblob+ SIGBLOB_LEN - INTBLOB_LEN - rlen);
++ BN_bn2bin(s, sigblob+ SIGBLOB_LEN - slen);
++#endif
+ DSA_SIG_free(sig);
+
+ if (datafellows & SSH_BUG_SIGBLOB) {
+@@ -110,11 +126,14 @@ ssh_dss_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ {
+ DSA_SIG *sig;
+ const EVP_MD *evp_md = EVP_sha1();
+- EVP_MD_CTX md;
++ EVP_MD_CTX *md;
+ u_char digest[EVP_MAX_MD_SIZE], *sigblob;
+ u_int len, dlen;
+ int rlen, ret;
+ Buffer b;
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ BIGNUM *r, *s;
++#endif
+
+ if (key == NULL || key->type != KEY_DSA || key->dsa == NULL) {
+ pamsshagentauth_logerror("ssh_dss_verify: no DSA key");
+@@ -157,6 +176,7 @@ ssh_dss_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ /* parse signature */
+ if ((sig = DSA_SIG_new()) == NULL)
+ pamsshagentauth_fatal("ssh_dss_verify: DSA_SIG_new failed");
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((sig->r = BN_new()) == NULL)
+ pamsshagentauth_fatal("ssh_dss_verify: BN_new failed");
+ if ((sig->s = BN_new()) == NULL)
+@@ -164,18 +184,33 @@ ssh_dss_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ if ((BN_bin2bn(sigblob, INTBLOB_LEN, sig->r) == NULL) ||
+ (BN_bin2bn(sigblob+ INTBLOB_LEN, INTBLOB_LEN, sig->s) == NULL))
+ pamsshagentauth_fatal("ssh_dss_verify: BN_bin2bn failed");
++#else
++ if ((r = BN_new()) == NULL)
++ pamsshagentauth_fatal("ssh_dss_verify: BN_new failed");
++ if ((s = BN_new()) == NULL)
++ pamsshagentauth_fatal("ssh_dss_verify: BN_new failed");
++ if (DSA_SIG_set0(sig, r, s) != 1)
++ pamsshagentauth_fatal("ssh_dss_verify: DSA_SIG_set0 failed");
++ if ((BN_bin2bn(sigblob, INTBLOB_LEN, r) == NULL) ||
++ (BN_bin2bn(sigblob+ INTBLOB_LEN, INTBLOB_LEN, s) == NULL))
++ pamsshagentauth_fatal("ssh_dss_verify: BN_bin2bn failed");
++ if (DSA_SIG_set0(sig, r, s) != 1)
++ pamsshagentauth_fatal("ssh_dss_verify: DSA_SIG_set0 failed");
++#endif
+
+ /* clean up */
+ memset(sigblob, 0, len);
+ pamsshagentauth_xfree(sigblob);
+
+ /* sha1 the data */
+- EVP_DigestInit(&md, evp_md);
+- EVP_DigestUpdate(&md, data, datalen);
+- EVP_DigestFinal(&md, digest, &dlen);
++ md = EVP_MD_CTX_create();
++ EVP_DigestInit(md, evp_md);
++ EVP_DigestUpdate(md, data, datalen);
++ EVP_DigestFinal(md, digest, &dlen);
+
+ ret = DSA_do_verify(digest, dlen, sig, key->dsa);
+ memset(digest, 'd', sizeof(digest));
++ EVP_MD_CTX_destroy(md);
+
+ DSA_SIG_free(sig);
+
+diff --git a/ssh-ecdsa.c b/ssh-ecdsa.c
+index efa0f3d..c213959 100644
+--- a/ssh-ecdsa.c
++++ b/ssh-ecdsa.c
+@@ -41,22 +41,27 @@ ssh_ecdsa_sign(const Key *key, u_char **sigp, u_int *lenp,
+ {
+ ECDSA_SIG *sig;
+ const EVP_MD *evp_md = evp_from_key(key);
+- EVP_MD_CTX md;
++ EVP_MD_CTX *md;
+ u_char digest[EVP_MAX_MD_SIZE];
+ u_int len, dlen;
+ Buffer b, bb;
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ BIGNUM *r, *s;
++#endif
+
+ if (key == NULL || key->type != KEY_ECDSA || key->ecdsa == NULL) {
+ pamsshagentauth_logerror("ssh_ecdsa_sign: no ECDSA key");
+ return -1;
+ }
+
+- EVP_DigestInit(&md, evp_md);
+- EVP_DigestUpdate(&md, data, datalen);
+- EVP_DigestFinal(&md, digest, &dlen);
++ md = EVP_MD_CTX_create();
++ EVP_DigestInit(md, evp_md);
++ EVP_DigestUpdate(md, data, datalen);
++ EVP_DigestFinal(md, digest, &dlen);
+
+ sig = ECDSA_do_sign(digest, dlen, key->ecdsa);
+ memset(digest, 'd', sizeof(digest));
++ EVP_MD_CTX_destroy(md);
+
+ if (sig == NULL) {
+ pamsshagentauth_logerror("ssh_ecdsa_sign: sign failed");
+@@ -64,8 +69,14 @@ ssh_ecdsa_sign(const Key *key, u_char **sigp, u_int *lenp,
+ }
+
+ pamsshagentauth_buffer_init(&bb);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (pamsshagentauth_buffer_get_bignum2_ret(&bb, sig->r) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&bb, sig->s) == -1) {
++#else
++ DSA_SIG_get0(sig, &r, &s);
++ if (pamsshagentauth_buffer_get_bignum2_ret(&bb, r) == -1 ||
++ pamsshagentauth_buffer_get_bignum2_ret(&bb, s) == -1) {
++#endif
+ pamsshagentauth_logerror("couldn't serialize signature");
+ ECDSA_SIG_free(sig);
+ return -1;
+@@ -94,11 +105,14 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ {
+ ECDSA_SIG *sig;
+ const EVP_MD *evp_md = evp_from_key(key);
+- EVP_MD_CTX md;
++ EVP_MD_CTX *md;
+ u_char digest[EVP_MAX_MD_SIZE], *sigblob;
+ u_int len, dlen;
+ int rlen, ret;
+ Buffer b;
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ BIGNUM *r, *s;
++#endif
+
+ if (key == NULL || key->type != KEY_ECDSA || key->ecdsa == NULL) {
+ pamsshagentauth_logerror("ssh_ecdsa_sign: no ECDSA key");
+@@ -127,8 +141,14 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+
+ pamsshagentauth_buffer_init(&b);
+ pamsshagentauth_buffer_append(&b, sigblob, len);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if ((pamsshagentauth_buffer_get_bignum2_ret(&b, sig->r) == -1) ||
+ (pamsshagentauth_buffer_get_bignum2_ret(&b, sig->s) == -1))
++#else
++ DSA_SIG_get0(sig, &r, &s);
++ if ((pamsshagentauth_buffer_get_bignum2_ret(&b, r) == -1) ||
++ (pamsshagentauth_buffer_get_bignum2_ret(&b, s) == -1))
++#endif
+ pamsshagentauth_fatal("ssh_ecdsa_verify:"
+ "pamsshagentauth_buffer_get_bignum2_ret failed");
+
+@@ -137,16 +157,18 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ pamsshagentauth_xfree(sigblob);
+
+ /* sha256 the data */
+- EVP_DigestInit(&md, evp_md);
+- EVP_DigestUpdate(&md, data, datalen);
+- EVP_DigestFinal(&md, digest, &dlen);
++ md = EVP_MD_CTX_create();
++ EVP_DigestInit(md, evp_md);
++ EVP_DigestUpdate(md, data, datalen);
++ EVP_DigestFinal(md, digest, &dlen);
+
+ ret = ECDSA_do_verify(digest, dlen, sig, key->ecdsa);
+ memset(digest, 'd', sizeof(digest));
++ EVP_MD_CTX_destroy(md);
+
+ ECDSA_SIG_free(sig);
+
+ pamsshagentauth_verbose("ssh_ecdsa_verify: signature %s",
+ ret == 1 ? "correct" : ret == 0 ? "incorrect" : "error");
+ return ret;
+-}
+\ No newline at end of file
++}
+diff --git a/ssh-rsa.c b/ssh-rsa.c
+index d05844b..9d74eb6 100644
+--- a/ssh-rsa.c
++++ b/ssh-rsa.c
+@@ -40,7 +40,7 @@ ssh_rsa_sign(const Key *key, u_char **sigp, u_int *lenp,
+ const u_char *data, u_int datalen)
+ {
+ const EVP_MD *evp_md;
+- EVP_MD_CTX md;
++ EVP_MD_CTX *md;
+ u_char digest[EVP_MAX_MD_SIZE], *sig;
+ u_int slen, dlen, len;
+ int ok, nid;
+@@ -55,6 +55,7 @@ ssh_rsa_sign(const Key *key, u_char **sigp, u_int *lenp,
+ pamsshagentauth_logerror("ssh_rsa_sign: EVP_get_digestbynid %d failed", nid);
+ return -1;
+ }
++ md = EVP_MD_CTX_create();
+ EVP_DigestInit(&md, evp_md);
+ EVP_DigestUpdate(&md, data, datalen);
+ EVP_DigestFinal(&md, digest, &dlen);
+@@ -64,6 +65,7 @@ ssh_rsa_sign(const Key *key, u_char **sigp, u_int *lenp,
+
+ ok = RSA_sign(nid, digest, dlen, sig, &len, key->rsa);
+ memset(digest, 'd', sizeof(digest));
++ EVP_MD_CTX_destroy(md);
+
+ if (ok != 1) {
+ int ecode = ERR_get_error();
+@@ -107,7 +109,7 @@ ssh_rsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ {
+ Buffer b;
+ const EVP_MD *evp_md;
+- EVP_MD_CTX md;
++ EVP_MD_CTX *md;
+ char *ktype;
+ u_char digest[EVP_MAX_MD_SIZE], *sigblob;
+ u_int len, dlen, modlen;
+@@ -117,9 +119,17 @@ ssh_rsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ pamsshagentauth_logerror("ssh_rsa_verify: no RSA key");
+ return -1;
+ }
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
++#else
++ if (BN_num_bits(RSA_get0_n(key->rsa)) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
++#endif
+ pamsshagentauth_logerror("ssh_rsa_verify: RSA modulus too small: %d < minimum %d bits",
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ BN_num_bits(key->rsa->n), SSH_RSA_MINIMUM_MODULUS_SIZE);
++#else
++ BN_num_bits(RSA_get0_n(key->rsa)), SSH_RSA_MINIMUM_MODULUS_SIZE);
++#endif
+ return -1;
+ }
+ pamsshagentauth_buffer_init(&b);
+@@ -161,12 +171,14 @@ ssh_rsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ pamsshagentauth_xfree(sigblob);
+ return -1;
+ }
+- EVP_DigestInit(&md, evp_md);
+- EVP_DigestUpdate(&md, data, datalen);
+- EVP_DigestFinal(&md, digest, &dlen);
++ md = EVP_MD_CTX_create();
++ EVP_DigestInit(md, evp_md);
++ EVP_DigestUpdate(md, data, datalen);
++ EVP_DigestFinal(md, digest, &dlen);
+
+ ret = openssh_RSA_verify(nid, digest, dlen, sigblob, len, key->rsa);
+ memset(digest, 'd', sizeof(digest));
++ EVP_MD_CTX_destroy(md);
+ memset(sigblob, 's', len);
+ pamsshagentauth_xfree(sigblob);
+ pamsshagentauth_verbose("ssh_rsa_verify: signature %scorrect", (ret==0) ? "in" : "");
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0002-Check-against-the-correct-OPENSSL_VERSION_NUMBER.patch b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0002-Check-against-the-correct-OPENSSL_VERSION_NUMBER.patch
new file mode 100644
index 00000000..b03b43fb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0002-Check-against-the-correct-OPENSSL_VERSION_NUMBER.patch
@@ -0,0 +1,365 @@
+From b2ee29809a54e16567323d8fbac2d652ee58c692 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 1 Feb 2019 22:45:19 -0800
+Subject: [PATCH] Check against the correct OPENSSL_VERSION_NUMBER
+
+From: Guido Falsi <mad@madpilot.net>
+https://sources.debian.org/src/pam-ssh-agent-auth/0.10.3-3/debian/patches/openssl-1.1.1-2.patch/
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ authfd.c | 12 ++++++------
+ bufbn.c | 2 +-
+ key.c | 36 ++++++++++++++++++------------------
+ ssh-dss.c | 10 +++++-----
+ ssh-ecdsa.c | 8 ++++----
+ ssh-rsa.c | 4 ++--
+ 6 files changed, 36 insertions(+), 36 deletions(-)
+
+diff --git a/authfd.c b/authfd.c
+index f91514d..4c6cec8 100644
+--- a/authfd.c
++++ b/authfd.c
+@@ -367,7 +367,7 @@ ssh_get_next_identity(AuthenticationConnection *auth, char **comment, int versio
+ case 1:
+ key = pamsshagentauth_key_new(KEY_RSA1);
+ bits = pamsshagentauth_buffer_get_int(&auth->identities);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ pamsshagentauth_buffer_get_bignum(&auth->identities, key->rsa->e);
+ pamsshagentauth_buffer_get_bignum(&auth->identities, key->rsa->n);
+ *comment = pamsshagentauth_buffer_get_string(&auth->identities, NULL);
+@@ -427,7 +427,7 @@ ssh_decrypt_challenge(AuthenticationConnection *auth,
+ }
+ pamsshagentauth_buffer_init(&buffer);
+ pamsshagentauth_buffer_put_char(&buffer, SSH_AGENTC_RSA_CHALLENGE);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ pamsshagentauth_buffer_put_int(&buffer, BN_num_bits(key->rsa->n));
+ pamsshagentauth_buffer_put_bignum(&buffer, key->rsa->e);
+ pamsshagentauth_buffer_put_bignum(&buffer, key->rsa->n);
+@@ -512,7 +512,7 @@ ssh_agent_sign(AuthenticationConnection *auth,
+ static void
+ ssh_encode_identity_rsa1(Buffer *b, RSA *key, const char *comment)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ pamsshagentauth_buffer_put_int(b, BN_num_bits(key->n));
+ pamsshagentauth_buffer_put_bignum(b, key->n);
+ pamsshagentauth_buffer_put_bignum(b, key->e);
+@@ -540,7 +540,7 @@ ssh_encode_identity_ssh2(Buffer *b, Key *key, const char *comment)
+ pamsshagentauth_buffer_put_cstring(b, key_ssh_name(key));
+ switch (key->type) {
+ case KEY_RSA:
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->n);
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->e);
+ pamsshagentauth_buffer_put_bignum2(b, key->rsa->d);
+@@ -557,7 +557,7 @@ ssh_encode_identity_ssh2(Buffer *b, Key *key, const char *comment)
+ #endif
+ break;
+ case KEY_DSA:
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ pamsshagentauth_buffer_put_bignum2(b, key->dsa->p);
+ pamsshagentauth_buffer_put_bignum2(b, key->dsa->q);
+ pamsshagentauth_buffer_put_bignum2(b, key->dsa->g);
+@@ -649,7 +649,7 @@ ssh_remove_identity(AuthenticationConnection *auth, Key *key)
+
+ if (key->type == KEY_RSA1) {
+ pamsshagentauth_buffer_put_char(&msg, SSH_AGENTC_REMOVE_RSA_IDENTITY);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ pamsshagentauth_buffer_put_int(&msg, BN_num_bits(key->rsa->n));
+ pamsshagentauth_buffer_put_bignum(&msg, key->rsa->e);
+ pamsshagentauth_buffer_put_bignum(&msg, key->rsa->n);
+diff --git a/bufbn.c b/bufbn.c
+index 4ecedc1..b4754cc 100644
+--- a/bufbn.c
++++ b/bufbn.c
+@@ -151,7 +151,7 @@ pamsshagentauth_buffer_put_bignum2_ret(Buffer *buffer, const BIGNUM *value)
+ pamsshagentauth_buffer_put_int(buffer, 0);
+ return 0;
+ }
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if (value->neg) {
+ #else
+ if (BN_is_negative(value)) {
+diff --git a/key.c b/key.c
+index aedbbb5..dcc5fc8 100644
+--- a/key.c
++++ b/key.c
+@@ -77,7 +77,7 @@ pamsshagentauth_key_new(int type)
+ case KEY_RSA:
+ if ((rsa = RSA_new()) == NULL)
+ pamsshagentauth_fatal("key_new: RSA_new failed");
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((rsa->n = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new: BN_new failed");
+ if ((rsa->e = BN_new()) == NULL)
+@@ -91,7 +91,7 @@ pamsshagentauth_key_new(int type)
+ case KEY_DSA:
+ if ((dsa = DSA_new()) == NULL)
+ pamsshagentauth_fatal("key_new: DSA_new failed");
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((dsa->p = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new: BN_new failed");
+ if ((dsa->q = BN_new()) == NULL)
+@@ -130,7 +130,7 @@ pamsshagentauth_key_new_private(int type)
+ switch (k->type) {
+ case KEY_RSA1:
+ case KEY_RSA:
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((k->rsa->d = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new_private: BN_new failed");
+ if ((k->rsa->iqmp = BN_new()) == NULL)
+@@ -153,7 +153,7 @@ pamsshagentauth_key_new_private(int type)
+ #endif
+ break;
+ case KEY_DSA:
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((k->dsa->priv_key = BN_new()) == NULL)
+ pamsshagentauth_fatal("key_new_private: BN_new failed");
+ #else
+@@ -162,7 +162,7 @@ pamsshagentauth_key_new_private(int type)
+ #endif
+ break;
+ case KEY_ECDSA:
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if (EC_KEY_set_private_key(k->ecdsa, BN_new()) != 1)
+ pamsshagentauth_fatal("key_new_private: EC_KEY_set_private_key failed");
+ #else
+@@ -224,7 +224,7 @@ pamsshagentauth_key_equal(const Key *a, const Key *b)
+ case KEY_RSA1:
+ case KEY_RSA:
+ return a->rsa != NULL && b->rsa != NULL &&
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ BN_cmp(a->rsa->e, b->rsa->e) == 0 &&
+ BN_cmp(a->rsa->n, b->rsa->n) == 0;
+ #else
+@@ -233,7 +233,7 @@ pamsshagentauth_key_equal(const Key *a, const Key *b)
+ #endif
+ case KEY_DSA:
+ return a->dsa != NULL && b->dsa != NULL &&
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ BN_cmp(a->dsa->p, b->dsa->p) == 0 &&
+ BN_cmp(a->dsa->q, b->dsa->q) == 0 &&
+ BN_cmp(a->dsa->g, b->dsa->g) == 0 &&
+@@ -293,7 +293,7 @@ pamsshagentauth_key_fingerprint_raw(const Key *k, enum fp_type dgst_type,
+ }
+ switch (k->type) {
+ case KEY_RSA1:
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ nlen = BN_num_bytes(k->rsa->n);
+ elen = BN_num_bytes(k->rsa->e);
+ len = nlen + elen;
+@@ -510,7 +510,7 @@ pamsshagentauth_key_read(Key *ret, char **cpp)
+ return -1;
+ *cpp = cp;
+ /* Get public exponent, public modulus. */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if (!read_bignum(cpp, ret->rsa->e))
+ return -1;
+ if (!read_bignum(cpp, ret->rsa->n))
+@@ -643,7 +643,7 @@ pamsshagentauth_key_write(const Key *key, FILE *f)
+
+ if (key->type == KEY_RSA1 && key->rsa != NULL) {
+ /* size of modulus 'n' */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ bits = BN_num_bits(key->rsa->n);
+ fprintf(f, "%u", bits);
+ if (write_bignum(f, key->rsa->e) &&
+@@ -742,7 +742,7 @@ pamsshagentauth_key_size(const Key *k)
+ {
+ switch (k->type) {
+ case KEY_RSA1:
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ case KEY_RSA:
+ return BN_num_bits(k->rsa->n);
+ case KEY_DSA:
+@@ -843,7 +843,7 @@ pamsshagentauth_key_from_private(const Key *k)
+ switch (k->type) {
+ case KEY_DSA:
+ n = pamsshagentauth_key_new(k->type);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((BN_copy(n->dsa->p, k->dsa->p) == NULL) ||
+ (BN_copy(n->dsa->q, k->dsa->q) == NULL) ||
+ (BN_copy(n->dsa->g, k->dsa->g) == NULL) ||
+@@ -859,7 +859,7 @@ pamsshagentauth_key_from_private(const Key *k)
+ case KEY_RSA:
+ case KEY_RSA1:
+ n = pamsshagentauth_key_new(k->type);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((BN_copy(n->rsa->n, k->rsa->n) == NULL) ||
+ (BN_copy(n->rsa->e, k->rsa->e) == NULL))
+ #else
+@@ -967,7 +967,7 @@ pamsshagentauth_key_from_blob(const u_char *blob, u_int blen)
+ switch (type) {
+ case KEY_RSA:
+ key = pamsshagentauth_key_new(type);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if (pamsshagentauth_buffer_get_bignum2_ret(&b, key->rsa->e) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&b, key->rsa->n) == -1) {
+ #else
+@@ -985,7 +985,7 @@ pamsshagentauth_key_from_blob(const u_char *blob, u_int blen)
+ break;
+ case KEY_DSA:
+ key = pamsshagentauth_key_new(type);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if (pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->p) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->q) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&b, key->dsa->g) == -1 ||
+@@ -1113,7 +1113,7 @@ pamsshagentauth_key_to_blob(const Key *key, u_char **blobp, u_int *lenp)
+ }
+ pamsshagentauth_buffer_init(&b);
+ switch (key->type) {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ case KEY_DSA:
+ pamsshagentauth_buffer_put_cstring(&b, key_ssh_name(key));
+ pamsshagentauth_buffer_put_bignum2(&b, key->dsa->p);
+@@ -1251,7 +1251,7 @@ pamsshagentauth_key_demote(const Key *k)
+ case KEY_RSA:
+ if ((pk->rsa = RSA_new()) == NULL)
+ pamsshagentauth_fatal("key_demote: RSA_new failed");
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((pk->rsa->e = BN_dup(k->rsa->e)) == NULL)
+ pamsshagentauth_fatal("key_demote: BN_dup failed");
+ if ((pk->rsa->n = BN_dup(k->rsa->n)) == NULL)
+@@ -1264,7 +1264,7 @@ pamsshagentauth_key_demote(const Key *k)
+ case KEY_DSA:
+ if ((pk->dsa = DSA_new()) == NULL)
+ pamsshagentauth_fatal("key_demote: DSA_new failed");
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((pk->dsa->p = BN_dup(k->dsa->p)) == NULL)
+ pamsshagentauth_fatal("key_demote: BN_dup failed");
+ if ((pk->dsa->q = BN_dup(k->dsa->q)) == NULL)
+diff --git a/ssh-dss.c b/ssh-dss.c
+index 1051ae2..9b96274 100644
+--- a/ssh-dss.c
++++ b/ssh-dss.c
+@@ -52,7 +52,7 @@ ssh_dss_sign(const Key *key, u_char **sigp, u_int *lenp,
+ u_char digest[EVP_MAX_MD_SIZE], sigblob[SIGBLOB_LEN];
+ u_int rlen, slen, len, dlen;
+ Buffer b;
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ const BIGNUM *r, *s;
+ #endif
+
+@@ -74,7 +74,7 @@ ssh_dss_sign(const Key *key, u_char **sigp, u_int *lenp,
+ return -1;
+ }
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ rlen = BN_num_bytes(sig->r);
+ slen = BN_num_bytes(sig->s);
+ #else
+@@ -88,7 +88,7 @@ ssh_dss_sign(const Key *key, u_char **sigp, u_int *lenp,
+ return -1;
+ }
+ memset(sigblob, 0, SIGBLOB_LEN);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ BN_bn2bin(sig->r, sigblob+ SIGBLOB_LEN - INTBLOB_LEN - rlen);
+ BN_bn2bin(sig->s, sigblob+ SIGBLOB_LEN - slen);
+ #else
+@@ -131,7 +131,7 @@ ssh_dss_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ u_int len, dlen;
+ int rlen, ret;
+ Buffer b;
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ BIGNUM *r, *s;
+ #endif
+
+@@ -176,7 +176,7 @@ ssh_dss_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ /* parse signature */
+ if ((sig = DSA_SIG_new()) == NULL)
+ pamsshagentauth_fatal("ssh_dss_verify: DSA_SIG_new failed");
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((sig->r = BN_new()) == NULL)
+ pamsshagentauth_fatal("ssh_dss_verify: BN_new failed");
+ if ((sig->s = BN_new()) == NULL)
+diff --git a/ssh-ecdsa.c b/ssh-ecdsa.c
+index c213959..5b13b30 100644
+--- a/ssh-ecdsa.c
++++ b/ssh-ecdsa.c
+@@ -45,7 +45,7 @@ ssh_ecdsa_sign(const Key *key, u_char **sigp, u_int *lenp,
+ u_char digest[EVP_MAX_MD_SIZE];
+ u_int len, dlen;
+ Buffer b, bb;
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ BIGNUM *r, *s;
+ #endif
+
+@@ -69,7 +69,7 @@ ssh_ecdsa_sign(const Key *key, u_char **sigp, u_int *lenp,
+ }
+
+ pamsshagentauth_buffer_init(&bb);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if (pamsshagentauth_buffer_get_bignum2_ret(&bb, sig->r) == -1 ||
+ pamsshagentauth_buffer_get_bignum2_ret(&bb, sig->s) == -1) {
+ #else
+@@ -110,7 +110,7 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ u_int len, dlen;
+ int rlen, ret;
+ Buffer b;
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ BIGNUM *r, *s;
+ #endif
+
+@@ -141,7 +141,7 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+
+ pamsshagentauth_buffer_init(&b);
+ pamsshagentauth_buffer_append(&b, sigblob, len);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if ((pamsshagentauth_buffer_get_bignum2_ret(&b, sig->r) == -1) ||
+ (pamsshagentauth_buffer_get_bignum2_ret(&b, sig->s) == -1))
+ #else
+diff --git a/ssh-rsa.c b/ssh-rsa.c
+index 9d74eb6..35f2e36 100644
+--- a/ssh-rsa.c
++++ b/ssh-rsa.c
+@@ -119,13 +119,13 @@ ssh_rsa_verify(const Key *key, const u_char *signature, u_int signaturelen,
+ pamsshagentauth_logerror("ssh_rsa_verify: no RSA key");
+ return -1;
+ }
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
+ #else
+ if (BN_num_bits(RSA_get0_n(key->rsa)) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
+ #endif
+ pamsshagentauth_logerror("ssh_rsa_verify: RSA modulus too small: %d < minimum %d bits",
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100005L
+ BN_num_bits(key->rsa->n), SSH_RSA_MINIMUM_MODULUS_SIZE);
+ #else
+ BN_num_bits(RSA_get0_n(key->rsa)), SSH_RSA_MINIMUM_MODULUS_SIZE);
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
index 2a461fc1..7871801b 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
@@ -7,13 +7,16 @@ LIC_FILES_CHKSUM = "file://LICENSE.OpenSSL;md5=8ab01146141ded59b75f8ba7811ed05a
file://OPENSSH_LICENSE;md5=7ae09218173be1643c998a4b71027f9b \
"
-SRC_URI = "http://sourceforge.net/projects/pamsshagentauth/files/pam_ssh_agent_auth/v${PV}/pam_ssh_agent_auth-${PV}.tar.bz2"
+SRC_URI = "http://sourceforge.net/projects/pamsshagentauth/files/pam_ssh_agent_auth/v${PV}/pam_ssh_agent_auth-${PV}.tar.bz2 \
+ file://0001-Adapt-to-OpenSSL-1.1.1.patch \
+ file://0002-Check-against-the-correct-OPENSSL_VERSION_NUMBER.patch \
+ "
SRC_URI[md5sum] = "8dbe90ab3625e545036333e6f51ccf1d"
SRC_URI[sha256sum] = "3c53d358d6eaed1b211239df017c27c6f9970995d14102ae67bae16d4f47a763"
-DEPENDS += "libpam openssl10"
+DEPENDS += "libpam openssl"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
# This gets us ssh-agent, which we are almost certain to want.
@@ -24,7 +27,7 @@ RDEPENDS_${PN} += "openssh-misc"
#
S = "${WORKDIR}/pam_ssh_agent_auth-${PV}"
-inherit autotools-brokensep
+inherit autotools-brokensep perlnative
# Avoid autoreconf. Override the --libexec oe_runconf specifies so that
# the module is put with the other pam modules. Because it cannot, in general,
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb
new file mode 100644
index 00000000..92741d81
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb
@@ -0,0 +1,12 @@
+DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
+HOMEPAGE="https://github.com/taocpp/PEGTL"
+LICENSE="MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6a5195f720a8d436a4148e0cb8660400"
+
+SRCREV = "47e878ad4fd72c91253c9d47b6f17e001ca2dfcf"
+SRC_URI = "git://github.com/taocpp/PEGTL.git;protocol=https;branch=2.x \
+ "
+
+inherit cmake
+
+S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch
index 747538b0..ca2a1f64 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch
@@ -1,4 +1,4 @@
-From 2a22dc96c3bbb5c9bbcc008f58d4f5c64e3d19e6 Mon Sep 17 00:00:00 2001
+From 231eb4c75fbfaaf90bca7702bdaf55cf701a3527 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Mon, 23 Jul 2018 11:23:39 -0700
Subject: [PATCH] jemalloc/jemalloc.cfg: Specify the host when building
@@ -25,5 +25,5 @@ index 196129de6..79ebbab1c 100644
--disable-munmap
+--host=${HOST_SYS}
--
-2.17.1
+2.14.4
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch
new file mode 100644
index 00000000..33f25b6a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch
@@ -0,0 +1,33 @@
+From 7d0732d69a774e28bc46b8b487d9f61bdd8afbff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Oct 2019 18:15:44 -0700
+Subject: [PATCH] os_posix: Use __FreeBSD__ to control secure_getenv definition
+
+__USE_GNU does not cover all Linux platforms, e.g. when using musl as C
+library, __USE_GNU may not be defined but it does provide secure_getenv
+so instead of narrowing the else condition, lets speicifically check for
+FreeBSD being the platform, since that seems to be the intention here
+anyway
+
+Upstream-Status: Submitted [https://github.com/pmem/pmdk/pull/3999]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/common/os_posix.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/os_posix.c b/src/common/os_posix.c
+index a9a37ef84..052db2383 100644
+--- a/src/common/os_posix.c
++++ b/src/common/os_posix.c
+@@ -346,7 +346,7 @@ os_setenv(const char *name, const char *value, int overwrite)
+ /*
+ * secure_getenv -- provide GNU secure_getenv for FreeBSD
+ */
+-#ifndef __USE_GNU
++#if defined(__FreeBSD__)
+ static char *
+ secure_getenv(const char *name)
+ {
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch
index bd1b97c2..82b96cf9 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch
@@ -1,7 +1,7 @@
-From 460a96e390cb80278784cfe36629e280fe7ffef7 Mon Sep 17 00:00:00 2001
+From 3863d8bd71d6a5638cf984f8d8f9cccac0c7f2a4 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Mon, 23 Jul 2018 11:31:17 -0700
-Subject: [PATCH 2/2] Makefile: Don't install the docs
+Subject: [PATCH] Makefile: Don't install the docs
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [disable feature]
@@ -10,17 +10,17 @@ Upstream-Status: Inappropriate [disable feature]
1 file changed, 1 deletion(-)
diff --git a/Makefile b/Makefile
-index 224a315f6..ce7f84afb 100644
+index 47a447f12..7c0f9848f 100644
--- a/Makefile
+++ b/Makefile
-@@ -144,7 +144,6 @@ rpm dpkg: pkg-clean source
+@@ -148,7 +148,6 @@ rpm dpkg: pkg-clean
install uninstall:
$(MAKE) -C src $@
- $(MAKE) -C doc $@
.PHONY: all clean clobber test check cstyle check-license install uninstall\
- source rpm dpkg pkg-clean pcheck check-remote format doc $(SUBDIRS)
+ source rpm dpkg pkg-clean pcheck check-remote format doc require-rpmem\
--
-2.17.1
+2.14.4
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch
deleted file mode 100644
index f75d9419..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From a7f07dca2468ea226d2f07fc0105166e75cadaf8 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Thu, 6 Sep 2018 16:18:50 -0700
-Subject: [PATCH] Makefile: Don't build the examples
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Inappropriate [disable feature]
----
- src/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 4b50dd8b5..e00501e31 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -38,13 +38,13 @@ include $(TOP)/src/version.inc
-
- TARGETS = libpmem libvmem libpmemblk libpmemlog libpmemobj libpmempool\
- libpmemcto libvmmalloc tools
--ALL_TARGETS = $(TARGETS) common librpmem examples benchmarks
-+ALL_TARGETS = $(TARGETS) common librpmem benchmarks
-
- SCOPE_DIRS = $(TARGETS) common librpmem rpmem_common
-
- DEBUG_RELEASE_TARGETS = common libpmem libvmem libpmemblk libpmemlog libpmemobj\
- libpmempool libvmmalloc librpmem libpmemcto
--RELEASE_TARGETS = tools examples benchmarks
-+RELEASE_TARGETS = tools benchmarks
-
- CLEAN_NO_JE_TARGETS = $(ALL_TARGETS) rpmem_common test
- CLEAN_TARGETS = $(CLEAN_NO_JE_TARGETS) jemalloc
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch
deleted file mode 100644
index 624f17bd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 33affa9ee97691efb73f439fcdba4adb8625a26a Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Mon, 10 Sep 2018 12:59:48 -0700
-Subject: [PATCH] os_posix: Manually implement secure_getenv() if required
-
-Manually implement the secure_getenv() if we need to, this is required
-if using musl.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Pending
----
- src/common/os_posix.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/common/os_posix.c b/src/common/os_posix.c
-index 2d70a0a29..fb09b6ce0 100644
---- a/src/common/os_posix.c
-+++ b/src/common/os_posix.c
-@@ -261,7 +261,7 @@ os_setenv(const char *name, const char *value, int overwrite)
- /*
- * secure_getenv -- provide GNU secure_getenv for FreeBSD
- */
--#ifdef __FreeBSD__
-+#if defined(__FreeBSD__) || !HAVE___SECURE_GETENV
- static char *
- secure_getenv(const char *name)
- {
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch
deleted file mode 100644
index 75c35f86..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 92e63699ea83074298971b0251f002562be4dbd3 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Mon, 10 Sep 2018 13:23:37 -0700
-Subject: [PATCH 2/3] pmempool: Remove unused __USE_UNIX98 define
-
-Remove the unused __USE_UNIX98 to fix musl build failures.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Pending
----
- src/tools/pmempool/info.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/tools/pmempool/info.c b/src/tools/pmempool/info.c
-index b4010bf35..7b890a123 100644
---- a/src/tools/pmempool/info.c
-+++ b/src/tools/pmempool/info.c
-@@ -45,9 +45,6 @@
- #include <inttypes.h>
- #include <assert.h>
- #include <sys/param.h>
--#ifndef __FreeBSD__
--#define __USE_UNIX98
--#endif
- #include <unistd.h>
- #include <sys/mman.h>
-
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch
deleted file mode 100644
index 2042fdb2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a88e806f9ce8cc071e81abad688643d53f393176 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Mon, 10 Sep 2018 14:18:38 -0700
-Subject: [PATCH 3/3] Makefile.inc: Allow extra libs to be specified
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Pending
----
- src/Makefile.inc | 2 ++
- src/common.inc | 2 ++
- src/tools/Makefile.inc | 1 +
- 3 files changed, 5 insertions(+)
-
-diff --git a/src/common.inc b/src/common.inc
-index 032cb83ea..2d5c4bedf 100644
---- a/src/common.inc
-+++ b/src/common.inc
-@@ -74,6 +74,8 @@ GCOV_CFLAGS=-fprofile-arcs -ftest-coverage --coverage
- GCOV_LDFLAGS=-fprofile-arcs -ftest-coverage
- GCOV_LIBS=-lgcov
-
-+LIBS += $(EXTRA_LIBS)
-+
- osdep = $(1)_$(shell uname -s | tr "[:upper:]" "[:lower:]")$(2)
- get_arch = $(shell $(CC) -dumpmachine | awk -F'[/-]' '{print $$1}')
-
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb
deleted file mode 100644
index 3da22a97..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "Persistent Memory Development Kit"
-DESCRIPTION = "Persistent Memory Development Kit"
-HOMEPAGE = "http://pmem.io"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7db1106255a1baa80391fd2e21eebab7"
-DEPENDS = "ndctl"
-
-# Required to have the fts.h header for musl
-DEPENDS_append_libc-musl = " fts"
-
-SRC_URI = "https://github.com/pmem/${BPN}/archive/${PV}.tar.gz \
- file://0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch \
- file://0002-Makefile-Don-t-install-the-docs.patch \
- file://0003-Makefile-Don-t-build-the-examples.patch \
- file://0005-pmempool-Remove-unused-__USE_UNIX98-define.patch \
- file://0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch \
- "
-
-SRC_URI_append_libc-musl = " file://0004-os_posix-Manually-implement-secure_getenv-if-require.patch"
-
-SRC_URI[md5sum] = "bde73bca9ef5b90911deb0fdcfb15ccf"
-SRC_URI[sha256sum] = "df7e658e75d28cd80f6d2ff7b9fc9ae2885d52f8923fdbacecfd46215115fb4c"
-
-inherit autotools-brokensep pkgconfig
-
-# Fix jemalloc error:
-# | configure: error: cannot run C compiled programs.
-# | If you meant to cross compile, use `--host'.
-#
-# Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
-EXTRA_OEMAKE = "HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}'"
-
-# Fix the missing fts libs when using musl
-EXTRA_OEMAKE_append_libc-musl = " EXTRA_LIBS='-lfts'"
-
-do_install() {
- oe_runmake PREFIX=${prefix} DESTDIR=${D} install
-
- # Copy these into the standard directories
- install -d ${D}${bindir}/
- mv ${D}/usr/local/bin/pmempool ${D}${bindir}/
- mv ${D}/usr/local/bin/daxio ${D}${bindir}/
-
- install -d ${D}${libdir}
- mv ${D}/usr/local/lib/*so* ${D}${libdir}/
-
- install -d ${D}${libdir}/pkgconfig
- mv ${D}/usr/local/lib/pkgconfig/*.pc ${D}${libdir}/pkgconfig/
-
- install -d ${D}${includedir}
- mv ${D}/usr/local/include/* ${D}${includedir}/
-
- # Remove uneeded files
- rm -rf ${D}/usr/local/
-}
-
-# Include these by default otherwise the SDK is not very useful
-FILES_${PN} += "${bindir}/pmempool ${bindir}/daxio"
-FILES_${PN} += "${libdir}/*so*"
-FILES_${PN} += "${libdir}/pkgconfig/*.pc"
-FILES_${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/*"
-
-COMPATIBLE_HOST='(x86_64).*'
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
new file mode 100644
index 00000000..f5066da0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Persistent Memory Development Kit"
+DESCRIPTION = "Persistent Memory Development Kit"
+HOMEPAGE = "http://pmem.io"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7db1106255a1baa80391fd2e21eebab7"
+DEPENDS = "ndctl"
+
+# Required to have the fts.h header for musl
+DEPENDS_append_libc-musl = " fts"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/pmem/pmdk.git \
+ file://0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch \
+ file://0002-Makefile-Don-t-install-the-docs.patch \
+ file://0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch \
+ "
+
+SRCREV = "bc5e309485df61c452d08367e4b13ba9dfed5071"
+
+inherit autotools-brokensep pkgconfig
+
+# Fix jemalloc error:
+# | configure: error: cannot run C compiled programs.
+# | If you meant to cross compile, use `--host'.
+#
+# Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
+EXTRA_OEMAKE = "BUILD_EXAMPLES='n' HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=${baselib}"
+
+# Fix the missing fts libs when using musl
+EXTRA_OEMAKE_append_libc-musl = " EXTRA_LIBS='-lfts'"
+
+do_install() {
+ oe_runmake prefix=${prefix} DESTDIR=${D} install
+
+ # Remove uneeded files
+ rm -rf ${D}/usr/${baselib}/pmdk_debug
+}
+
+# Include these by default otherwise the SDK is not very useful
+FILES_${PN} += "${bindir}/pmempool ${bindir}/daxio"
+FILES_${PN} += "${libdir}/*so*"
+FILES_${PN} += "${libdir}/pkgconfig/*.pc"
+FILES_${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/* /usr/*/include/"
+FILES_${PN} += "/usr/etc"
+FILES_${PN} += "/usr/share"
+
+COMPATIBLE_HOST='(x86_64).*'
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
index 40e40054..e38e344c 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
+++ b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
@@ -1,10 +1,13 @@
# polkit must prepare polkitd group
DEPENDS += "polkit"
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "polkit"
+
inherit useradd
do_install_prepend() {
install -m 700 -d ${D}${sysconfdir}/polkit-1/rules.d
- chown polkitd:polkitd ${D}${sysconfdir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${sysconfdir}/polkit-1/rules.d
}
USERADD_PARAM_${PN}_prepend = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch
deleted file mode 100644
index 3b0ef5e5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 7d5e205aa58a10e7b1ccc2fa75b443508a5c3e18 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 20 Jan 2016 04:31:59 +0000
-Subject: [PATCH] make netgroup support configurable
-
-Disable using innetgr and *netigrent function if not available
-
-These functions are not available on all libc implementations e.g. musl
-doesnt have them.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
-Rebase to 0.115
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 2 +-
- src/polkitbackend/polkitbackendinteractiveauthority.c | 6 +++++-
- src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
- 3 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8b3e1b1..1c392df 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
- [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
- AC_SUBST(EXPAT_LIBS)
-
--AC_CHECK_FUNCS(clearenv fdatasync)
-+AC_CHECK_FUNCS(clearenv fdatasync getnetgrent innetgr)
-
- if test "x$GCC" = "xyes"; then
- LDFLAGS="-Wl,--as-needed $LDFLAGS"
-diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
-index cb6fdab..de3f752 100644
---- a/src/polkitbackend/polkitbackendinteractiveauthority.c
-+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
-@@ -2224,7 +2224,7 @@ get_users_in_group (PolkitIdentity *group,
- out:
- return ret;
- }
--
-+#if defined HAVE_GETNETGRENT
- static GList *
- get_users_in_net_group (PolkitIdentity *group,
- gboolean include_root)
-@@ -2285,6 +2285,8 @@ get_users_in_net_group (PolkitIdentity *group,
- return ret;
- }
-
-+#endif
-+
- /* ---------------------------------------------------------------------------------------------------- */
-
- static void
-@@ -2369,10 +2371,12 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent,
- {
- user_identities = g_list_concat (user_identities, get_users_in_group (identity, FALSE));
- }
-+#if defined HAVE_GETNETGRENT
- else if (POLKIT_IS_UNIX_NETGROUP (identity))
- {
- user_identities = g_list_concat (user_identities, get_users_in_net_group (identity, FALSE));
- }
-+#endif
- else
- {
- g_warning ("Unsupported identity");
-diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
-index 517f3c6..6042dd2 100644
---- a/src/polkitbackend/polkitbackendjsauthority.cpp
-+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
- user = JS_EncodeString (cx, args[0].toString());
- netgroup = JS_EncodeString (cx, args[1].toString());
-
-+#if defined HAVE_INNETGR
- if (innetgr (netgroup,
- NULL, /* host */
- user,
-@@ -1509,6 +1510,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
- {
- is_in_netgroup = true;
- }
-+#endif
-
- JS_free (cx, netgroup);
- JS_free (cx, user);
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch
new file mode 100644
index 00000000..fd725136
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch
@@ -0,0 +1,232 @@
+From 21aa2747e8f0048759aab184b07dd6389666d5e6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 May 2019 13:18:55 -0700
+Subject: [PATCH] make netgroup support optional
+
+On at least Linux/musl and Linux/uclibc, netgroup
+support is not available. PolKit fails to compile on these systems
+for that reason.
+
+This change makes netgroup support conditional on the presence of the
+setnetgrent(3) function which is required for the support to work. If
+that function is not available on the system, an error will be returned
+to the administrator if unix-netgroup: is specified in configuration.
+
+Fixes bug 50145.
+
+Closes polkit/polkit#14.
+Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ src/polkit/polkitidentity.c | 16 ++++++++++++++++
+ src/polkit/polkitunixnetgroup.c | 3 +++
+ .../polkitbackendinteractiveauthority.c | 14 ++++++++------
+ src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
+ test/polkit/polkitidentitytest.c | 9 ++++++++-
+ test/polkit/polkitunixnetgrouptest.c | 3 +++
+ .../test-polkitbackendjsauthority.c | 2 ++
+ 8 files changed, 43 insertions(+), 8 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXP
+ [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
+ AC_SUBST(EXPAT_LIBS)
+
+-AC_CHECK_FUNCS(clearenv fdatasync)
++AC_CHECK_FUNCS(clearenv fdatasync setnetgrent)
+
+ if test "x$GCC" = "xyes"; then
+ LDFLAGS="-Wl,--as-needed $LDFLAGS"
+--- a/src/polkit/polkitidentity.c
++++ b/src/polkit/polkitidentity.c
+@@ -182,7 +182,15 @@ polkit_identity_from_string (const gcha
+ }
+ else if (g_str_has_prefix (str, "unix-netgroup:"))
+ {
++#ifndef HAVE_SETNETGRENT
++ g_set_error (error,
++ POLKIT_ERROR,
++ POLKIT_ERROR_FAILED,
++ "Netgroups are not available on this machine ('%s')",
++ str);
++#else
+ identity = polkit_unix_netgroup_new (str + sizeof "unix-netgroup:" - 1);
++#endif
+ }
+
+ if (identity == NULL && (error != NULL && *error == NULL))
+@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVaria
+ GVariant *v;
+ const char *name;
+
++#ifndef HAVE_SETNETGRENT
++ g_set_error (error,
++ POLKIT_ERROR,
++ POLKIT_ERROR_FAILED,
++ "Netgroups are not available on this machine");
++ goto out;
++#else
+ v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error);
+ if (v == NULL)
+ {
+@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVaria
+ name = g_variant_get_string (v, NULL);
+ ret = polkit_unix_netgroup_new (name);
+ g_variant_unref (v);
++#endif
+ }
+ else
+ {
+--- a/src/polkit/polkitunixnetgroup.c
++++ b/src/polkit/polkitunixnetgroup.c
+@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUni
+ PolkitIdentity *
+ polkit_unix_netgroup_new (const gchar *name)
+ {
++#ifndef HAVE_SETNETGRENT
++ g_assert_not_reached();
++#endif
+ g_return_val_if_fail (name != NULL, NULL);
+ return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP,
+ "name", name,
+--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
+@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity
+ GList *ret;
+
+ ret = NULL;
++#ifdef HAVE_SETNETGRENT
+ name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group));
+
+-#ifdef HAVE_SETNETGRENT_RETURN
++# ifdef HAVE_SETNETGRENT_RETURN
+ if (setnetgrent (name) == 0)
+ {
+ g_warning ("Error looking up net group with name %s: %s", name, g_strerror (errno));
+ goto out;
+ }
+-#else
++# else
+ setnetgrent (name);
+-#endif
++# endif /* HAVE_SETNETGRENT_RETURN */
+
+ for (;;)
+ {
+-#if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
++# if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
+ const char *hostname, *username, *domainname;
+-#else
++# else
+ char *hostname, *username, *domainname;
+-#endif
++# endif /* defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) */
+ PolkitIdentity *user;
+ GError *error = NULL;
+
+@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity
+
+ out:
+ endnetgrent ();
++#endif /* HAVE_SETNETGRENT */
+ return ret;
+ }
+
+--- a/src/polkitbackend/polkitbackendjsauthority.cpp
++++ b/src/polkitbackend/polkitbackendjsauthority.cpp
+@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext
+
+ JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
+
++#ifdef HAVE_SETNETGRENT
+ JS::RootedString usrstr (authority->priv->cx);
+ usrstr = args[0].toString();
+ user = JS_EncodeStringToUTF8 (cx, usrstr);
+@@ -1519,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext
+
+ JS_free (cx, netgroup);
+ JS_free (cx, user);
++#endif
+
+ ret = true;
+
+--- a/test/polkit/polkitidentitytest.c
++++ b/test/polkit/polkitidentitytest.c
+@@ -19,6 +19,7 @@
+ * Author: Nikki VonHollen <vonhollen@google.com>
+ */
+
++#include "config.h"
+ #include "glib.h"
+ #include <polkit/polkit.h>
+ #include <polkit/polkitprivate.h>
+@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_tes
+ {"unix-group:root", "unix-group:jane", FALSE},
+ {"unix-group:jane", "unix-group:jane", TRUE},
+
++#ifdef HAVE_SETNETGRENT
+ {"unix-netgroup:foo", "unix-netgroup:foo", TRUE},
+ {"unix-netgroup:foo", "unix-netgroup:bar", FALSE},
++#endif
+
+ {"unix-user:root", "unix-group:root", FALSE},
++#ifdef HAVE_SETNETGRENT
+ {"unix-user:jane", "unix-netgroup:foo", FALSE},
++#endif
+
+ {NULL},
+ };
+@@ -181,11 +186,13 @@ main (int argc, char *argv[])
+ g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string);
+ g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string);
+
++#ifdef HAVE_SETNETGRENT
+ g_test_add_data_func ("/PolkitIdentity/netgroup_string", "unix-netgroup:foo", test_string);
++ g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
++#endif
+
+ g_test_add_data_func ("/PolkitIdentity/user_gvariant", "unix-user:root", test_gvariant);
+ g_test_add_data_func ("/PolkitIdentity/group_gvariant", "unix-group:root", test_gvariant);
+- g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
+
+ add_comparison_tests ();
+
+--- a/test/polkit/polkitunixnetgrouptest.c
++++ b/test/polkit/polkitunixnetgrouptest.c
+@@ -19,6 +19,7 @@
+ * Author: Nikki VonHollen <vonhollen@google.com>
+ */
+
++#include "config.h"
+ #include "glib.h"
+ #include <polkit/polkit.h>
+ #include <string.h>
+@@ -69,7 +70,9 @@ int
+ main (int argc, char *argv[])
+ {
+ g_test_init (&argc, &argv, NULL);
++#ifdef HAVE_SETNETGRENT
+ g_test_add_func ("/PolkitUnixNetgroup/new", test_new);
+ g_test_add_func ("/PolkitUnixNetgroup/set_name", test_set_name);
++#endif
+ return g_test_run ();
+ }
+--- a/test/polkitbackend/test-polkitbackendjsauthority.c
++++ b/test/polkitbackend/test-polkitbackendjsauthority.c
+@@ -137,12 +137,14 @@ test_get_admin_identities (void)
+ "unix-group:users"
+ }
+ },
++#ifdef HAVE_SETNETGRENT
+ {
+ "net.company.action3",
+ {
+ "unix-netgroup:foo"
+ }
+ },
++#endif
+ };
+ guint n;
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p1.patch b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p1.patch
deleted file mode 100644
index 32ea0bac..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p1.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From cd80aa29c85745ca073cf0581ccdcf2f80aa30db Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Mon, 3 Dec 2018 10:28:58 +0100
-Subject: [PATCH 1/3] Allow negative uids/gids in PolkitUnixUser and Group
- objects
-
-(uid_t) -1 is still used as placeholder to mean "unset". This is OK, since
-there should be no users with such number, see
-https://systemd.io/UIDS-GIDS#special-linux-uids.
-
-(uid_t) -1 is used as the default value in class initialization.
-
-When a user or group above INT32_MAX is created, the numeric uid or
-gid wraps around to negative when the value is assigned to gint, and
-polkit gets confused. Let's accept such gids, except for -1.
-
-A nicer fix would be to change the underlying type to e.g. uint32 to
-not have negative values. But this cannot be done without breaking the
-API, so likely new functions will have to be added (a
-polkit_unix_user_new variant that takes a unsigned, and the same for
-_group_new, _set_uid, _get_uid, _set_gid, _get_gid, etc.). This will
-require a bigger patch.
-
-Fixes https://gitlab.freedesktop.org/polkit/polkit/issues/74.
-
-CVE: CVE-2018-19788
-Upstream-Status: Backport
-[https://gitlab.freedesktop.org/polkit/polkit/commit/2cb40c4d5feeaa09325522bd7d97910f1b59e379]
-
-Signed-off-by: Dan Tran <dantran@microsoft.com>
----
- src/polkit/polkitunixgroup.c | 15 +++++++++++----
- src/polkit/polkitunixprocess.c | 12 ++++++++----
- src/polkit/polkitunixuser.c | 13 ++++++++++---
- 3 files changed, 29 insertions(+), 11 deletions(-)
-
-diff --git a/src/polkit/polkitunixgroup.c b/src/polkit/polkitunixgroup.c
-index c57a1aa..309f689 100644
---- a/src/polkit/polkitunixgroup.c
-+++ b/src/polkit/polkitunixgroup.c
-@@ -71,6 +71,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixGroup, polkit_unix_group, G_TYPE_OBJECT,
- static void
- polkit_unix_group_init (PolkitUnixGroup *unix_group)
- {
-+ unix_group->gid = -1; /* (git_t) -1 is not a valid GID under Linux */
- }
-
- static void
-@@ -100,11 +101,14 @@ polkit_unix_group_set_property (GObject *object,
- GParamSpec *pspec)
- {
- PolkitUnixGroup *unix_group = POLKIT_UNIX_GROUP (object);
-+ gint val;
-
- switch (prop_id)
- {
- case PROP_GID:
-- unix_group->gid = g_value_get_int (value);
-+ val = g_value_get_int (value);
-+ g_return_if_fail (val != -1);
-+ unix_group->gid = val;
- break;
-
- default:
-@@ -131,9 +135,9 @@ polkit_unix_group_class_init (PolkitUnixGroupClass *klass)
- g_param_spec_int ("gid",
- "Group ID",
- "The UNIX group ID",
-- 0,
-+ G_MININT,
- G_MAXINT,
-- 0,
-+ -1,
- G_PARAM_CONSTRUCT |
- G_PARAM_READWRITE |
- G_PARAM_STATIC_NAME |
-@@ -166,9 +170,10 @@ polkit_unix_group_get_gid (PolkitUnixGroup *group)
- */
- void
- polkit_unix_group_set_gid (PolkitUnixGroup *group,
-- gint gid)
-+ gint gid)
- {
- g_return_if_fail (POLKIT_IS_UNIX_GROUP (group));
-+ g_return_if_fail (gid != -1);
- group->gid = gid;
- }
-
-@@ -183,6 +188,8 @@ polkit_unix_group_set_gid (PolkitUnixGroup *group,
- PolkitIdentity *
- polkit_unix_group_new (gint gid)
- {
-+ g_return_val_if_fail (gid != -1, NULL);
-+
- return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_GROUP,
- "gid", gid,
- NULL));
-diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
-index 972b777..b02b258 100644
---- a/src/polkit/polkitunixprocess.c
-+++ b/src/polkit/polkitunixprocess.c
-@@ -159,9 +159,14 @@ polkit_unix_process_set_property (GObject *object,
- polkit_unix_process_set_pid (unix_process, g_value_get_int (value));
- break;
-
-- case PROP_UID:
-- polkit_unix_process_set_uid (unix_process, g_value_get_int (value));
-+ case PROP_UID: {
-+ gint val;
-+
-+ val = g_value_get_int (value);
-+ g_return_if_fail (val != -1);
-+ polkit_unix_process_set_uid (unix_process, val);
- break;
-+ }
-
- case PROP_START_TIME:
- polkit_unix_process_set_start_time (unix_process, g_value_get_uint64 (value));
-@@ -239,7 +244,7 @@ polkit_unix_process_class_init (PolkitUnixProcessClass *klass)
- g_param_spec_int ("uid",
- "User ID",
- "The UNIX user ID",
-- -1,
-+ G_MININT,
- G_MAXINT,
- -1,
- G_PARAM_CONSTRUCT |
-@@ -303,7 +308,6 @@ polkit_unix_process_set_uid (PolkitUnixProcess *process,
- gint uid)
- {
- g_return_if_fail (POLKIT_IS_UNIX_PROCESS (process));
-- g_return_if_fail (uid >= -1);
- process->uid = uid;
- }
-
-diff --git a/src/polkit/polkitunixuser.c b/src/polkit/polkitunixuser.c
-index 8bfd3a1..234a697 100644
---- a/src/polkit/polkitunixuser.c
-+++ b/src/polkit/polkitunixuser.c
-@@ -72,6 +72,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixUser, polkit_unix_user, G_TYPE_OBJECT,
- static void
- polkit_unix_user_init (PolkitUnixUser *unix_user)
- {
-+ unix_user->uid = -1; /* (uid_t) -1 is not a valid UID under Linux */
- unix_user->name = NULL;
- }
-
-@@ -112,11 +113,14 @@ polkit_unix_user_set_property (GObject *object,
- GParamSpec *pspec)
- {
- PolkitUnixUser *unix_user = POLKIT_UNIX_USER (object);
-+ gint val;
-
- switch (prop_id)
- {
- case PROP_UID:
-- unix_user->uid = g_value_get_int (value);
-+ val = g_value_get_int (value);
-+ g_return_if_fail (val != -1);
-+ unix_user->uid = val;
- break;
-
- default:
-@@ -144,9 +148,9 @@ polkit_unix_user_class_init (PolkitUnixUserClass *klass)
- g_param_spec_int ("uid",
- "User ID",
- "The UNIX user ID",
-- 0,
-+ G_MININT,
- G_MAXINT,
-- 0,
-+ -1,
- G_PARAM_CONSTRUCT |
- G_PARAM_READWRITE |
- G_PARAM_STATIC_NAME |
-@@ -182,6 +186,7 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
- gint uid)
- {
- g_return_if_fail (POLKIT_IS_UNIX_USER (user));
-+ g_return_if_fail (uid != -1);
- user->uid = uid;
- }
-
-@@ -196,6 +201,8 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
- PolkitIdentity *
- polkit_unix_user_new (gint uid)
- {
-+ g_return_val_if_fail (uid != -1, NULL);
-+
- return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_USER,
- "uid", uid,
- NULL));
---
-2.22.0.vfs.1.1.57.gbaf16c8
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p2.patch b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p2.patch
deleted file mode 100644
index 097dfd92..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p2.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 17f18d9f81d99b014c680e7e50198d7f190b804e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Mon, 3 Dec 2018 11:20:34 +0100
-Subject: [PATCH 2/3] tests: add tests for high uids
-
-CVE: CVE-2018-19788
-Upstream-Status: Backport
-[https://gitlab.freedesktop.org/polkit/polkit/commit/b534a10727455409acd54018a9c91000e7626126]
-
-Signed-off-by: Dan Tran <dantran@microsoft.com>
----
- test/data/etc/group | 1 +
- test/data/etc/passwd | 2 +
- .../etc/polkit-1/rules.d/10-testing.rules | 21 ++++++
- .../test-polkitbackendjsauthority.c | 72 +++++++++++++++++++
- 4 files changed, 96 insertions(+)
-
-diff --git a/test/data/etc/group b/test/data/etc/group
-index 12ef328..b9acab9 100644
---- a/test/data/etc/group
-+++ b/test/data/etc/group
-@@ -5,3 +5,4 @@ john:x:500:
- jane:x:501:
- sally:x:502:
- henry:x:503:
-+highuid2:x:4000000000:
-diff --git a/test/data/etc/passwd b/test/data/etc/passwd
-index 8544feb..5cf14a5 100644
---- a/test/data/etc/passwd
-+++ b/test/data/etc/passwd
-@@ -3,3 +3,5 @@ john:x:500:500:John Done:/home/john:/bin/bash
- jane:x:501:501:Jane Smith:/home/jane:/bin/bash
- sally:x:502:502:Sally Derp:/home/sally:/bin/bash
- henry:x:503:503:Henry Herp:/home/henry:/bin/bash
-+highuid1:x:2147483648:2147483648:The first high uid:/home/highuid1:/sbin/nologin
-+highuid2:x:4000000000:4000000000:An example high uid:/home/example:/sbin/nologin
-diff --git a/test/data/etc/polkit-1/rules.d/10-testing.rules b/test/data/etc/polkit-1/rules.d/10-testing.rules
-index 446e622..98bf062 100644
---- a/test/data/etc/polkit-1/rules.d/10-testing.rules
-+++ b/test/data/etc/polkit-1/rules.d/10-testing.rules
-@@ -53,6 +53,27 @@ polkit.addRule(function(action, subject) {
- }
- });
-
-+polkit.addRule(function(action, subject) {
-+ if (action.id == "net.company.john_action") {
-+ if (subject.user == "john") {
-+ return polkit.Result.YES;
-+ } else {
-+ return polkit.Result.NO;
-+ }
-+ }
-+});
-+
-+polkit.addRule(function(action, subject) {
-+ if (action.id == "net.company.highuid2_action") {
-+ if (subject.user == "highuid2") {
-+ return polkit.Result.YES;
-+ } else {
-+ return polkit.Result.NO;
-+ }
-+ }
-+});
-+
-+
- // ---------------------------------------------------------------------
- // variables
-
-diff --git a/test/polkitbackend/test-polkitbackendjsauthority.c b/test/polkitbackend/test-polkitbackendjsauthority.c
-index b484a26..71aad23 100644
---- a/test/polkitbackend/test-polkitbackendjsauthority.c
-+++ b/test/polkitbackend/test-polkitbackendjsauthority.c
-@@ -330,6 +330,78 @@ static const RulesTestCase rules_test_cases[] = {
- NULL,
- POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED,
- },
-+
-+ {
-+ /* highuid1 is not a member of group 'users', see test/data/etc/group */
-+ "group_membership_with_non_member(highuid22)",
-+ "net.company.group.only_group_users",
-+ "unix-user:highuid2",
-+ NULL,
-+ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
-+ },
-+
-+ {
-+ /* highuid2 is not a member of group 'users', see test/data/etc/group */
-+ "group_membership_with_non_member(highuid21)",
-+ "net.company.group.only_group_users",
-+ "unix-user:highuid2",
-+ NULL,
-+ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
-+ },
-+
-+ {
-+ /* highuid1 is not a member of group 'users', see test/data/etc/group */
-+ "group_membership_with_non_member(highuid24)",
-+ "net.company.group.only_group_users",
-+ "unix-user:2147483648",
-+ NULL,
-+ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
-+ },
-+
-+ {
-+ /* highuid2 is not a member of group 'users', see test/data/etc/group */
-+ "group_membership_with_non_member(highuid23)",
-+ "net.company.group.only_group_users",
-+ "unix-user:4000000000",
-+ NULL,
-+ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
-+ },
-+
-+ {
-+ /* john is authorized to do this, see 10-testing.rules */
-+ "john_action",
-+ "net.company.john_action",
-+ "unix-user:john",
-+ NULL,
-+ POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED,
-+ },
-+
-+ {
-+ /* only john is authorized to do this, see 10-testing.rules */
-+ "jane_action",
-+ "net.company.john_action",
-+ "unix-user:jane",
-+ NULL,
-+ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
-+ },
-+
-+ {
-+ /* highuid2 is authorized to do this, see 10-testing.rules */
-+ "highuid2_action",
-+ "net.company.highuid2_action",
-+ "unix-user:highuid2",
-+ NULL,
-+ POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED,
-+ },
-+
-+ {
-+ /* only highuid2 is authorized to do this, see 10-testing.rules */
-+ "highuid1_action",
-+ "net.company.highuid2_action",
-+ "unix-user:highuid1",
-+ NULL,
-+ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
-+ },
- };
-
- /* ---------------------------------------------------------------------------------------------------- */
---
-2.22.0.vfs.1.1.57.gbaf16c8
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p3.patch b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p3.patch
deleted file mode 100644
index b97a6b06..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p3.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 0fd5884a943a92aa076fa3276bd83f502dcb934e Mon Sep 17 00:00:00 2001
-From: Matthew Leeds <matthew.leeds@endlessm.com>
-Date: Tue, 11 Dec 2018 12:04:26 -0800
-Subject: [PATCH 3/3] Allow uid of -1 for a PolkitUnixProcess
-
-Commit 2cb40c4d5 changed PolkitUnixUser, PolkitUnixGroup, and
-PolkitUnixProcess to allow negative values for their uid/gid properties,
-since these are values above INT_MAX which wrap around but are still
-valid, with the exception of -1 which is not valid. However,
-PolkitUnixProcess allows a uid of -1 to be passed to
-polkit_unix_process_new_for_owner() which means polkit is expected to
-figure out the uid on its own (this happens in the _constructed
-function). So this commit removes the check in
-polkit_unix_process_set_property() so that new_for_owner() can be used
-as documented without producing a critical error message.
-
-This does not affect the protection against CVE-2018-19788 which is
-based on creating a user with a UID up to but not including 4294967295
-(-1).
-
-CVE: CVE-2018-19788
-Upstream-Status: Backport
-[https://gitlab.freedesktop.org/polkit/polkit/commit/c05472b86222a72505adc5eec460493980224ef8]
-
-Signed-off-by: Dan Tran <dantran@microsoft.com>
----
- src/polkit/polkitunixprocess.c | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
-index b02b258..e2a3c03 100644
---- a/src/polkit/polkitunixprocess.c
-+++ b/src/polkit/polkitunixprocess.c
-@@ -159,14 +159,9 @@ polkit_unix_process_set_property (GObject *object,
- polkit_unix_process_set_pid (unix_process, g_value_get_int (value));
- break;
-
-- case PROP_UID: {
-- gint val;
--
-- val = g_value_get_int (value);
-- g_return_if_fail (val != -1);
-- polkit_unix_process_set_uid (unix_process, val);
-+ case PROP_UID:
-+ polkit_unix_process_set_uid (unix_process, g_value_get_int (value));
- break;
-- }
-
- case PROP_START_TIME:
- polkit_unix_process_set_start_time (unix_process, g_value_get_uint64 (value));
---
-2.22.0.vfs.1.1.57.gbaf16c8
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch
deleted file mode 100644
index 6fd20dc7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-From 6cc6aafee135ba44ea748250d7d29b562ca190e3 Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters@verbum.org>
-Date: Fri, 4 Jan 2019 14:24:48 -0500
-Subject: [PATCH] backend: Compare PolkitUnixProcess uids for temporary
- authorizations
-
-It turns out that the combination of `(pid, start time)` is not
-enough to be unique. For temporary authorizations, we can avoid
-separate users racing on pid reuse by simply comparing the uid.
-
-https://bugs.chromium.org/p/project-zero/issues/detail?id=1692
-
-And the above original email report is included in full in a new comment.
-
-Reported-by: Jann Horn <jannh@google.com>
-
-Closes: https://gitlab.freedesktop.org/polkit/polkit/issues/75
-
-CVE: CVE-2019-6133
-Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- src/polkit/polkitsubject.c | 2 +
- src/polkit/polkitunixprocess.c | 71 ++++++++++++++++++-
- .../polkitbackendinteractiveauthority.c | 39 +++++++++-
- 3 files changed, 110 insertions(+), 2 deletions(-)
-
-diff --git a/src/polkit/polkitsubject.c b/src/polkit/polkitsubject.c
-index d4c1182..ccabd0a 100644
---- a/src/polkit/polkitsubject.c
-+++ b/src/polkit/polkitsubject.c
-@@ -99,6 +99,8 @@ polkit_subject_hash (PolkitSubject *subject)
- * @b: A #PolkitSubject.
- *
- * Checks if @a and @b are equal, ie. represent the same subject.
-+ * However, avoid calling polkit_subject_equal() to compare two processes;
-+ * for more information see the `PolkitUnixProcess` documentation.
- *
- * This function can be used in e.g. g_hash_table_new().
- *
-diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
-index b02b258..78d7251 100644
---- a/src/polkit/polkitunixprocess.c
-+++ b/src/polkit/polkitunixprocess.c
-@@ -51,7 +51,10 @@
- * @title: PolkitUnixProcess
- * @short_description: Unix processs
- *
-- * An object for representing a UNIX process.
-+ * An object for representing a UNIX process. NOTE: This object as
-+ * designed is now known broken; a mechanism to exploit a delay in
-+ * start time in the Linux kernel was identified. Avoid
-+ * calling polkit_subject_equal() to compare two processes.
- *
- * To uniquely identify processes, both the process id and the start
- * time of the process (a monotonic increasing value representing the
-@@ -66,6 +69,72 @@
- * polkit_unix_process_new_for_owner() with trusted data.
- */
-
-+/* See https://gitlab.freedesktop.org/polkit/polkit/issues/75
-+
-+ But quoting the original email in full here to ensure it's preserved:
-+
-+ From: Jann Horn <jannh@google.com>
-+ Subject: [SECURITY] polkit: temporary auth hijacking via PID reuse and non-atomic fork
-+ Date: Wednesday, October 10, 2018 5:34 PM
-+
-+When a (non-root) user attempts to e.g. control systemd units in the system
-+instance from an active session over DBus, the access is gated by a polkit
-+policy that requires "auth_admin_keep" auth. This results in an auth prompt
-+being shown to the user, asking the user to confirm the action by entering the
-+password of an administrator account.
-+
-+After the action has been confirmed, the auth decision for "auth_admin_keep" is
-+cached for up to five minutes. Subject to some restrictions, similar actions can
-+then be performed in this timespan without requiring re-auth:
-+
-+ - The PID of the DBus client requesting the new action must match the PID of
-+ the DBus client requesting the old action (based on SO_PEERCRED information
-+ forwarded by the DBus daemon).
-+ - The "start time" of the client's PID (as seen in /proc/$pid/stat, field 22)
-+ must not have changed. The granularity of this timestamp is in the
-+ millisecond range.
-+ - polkit polls every two seconds whether a process with the expected start time
-+ still exists. If not, the temporary auth entry is purged.
-+
-+Without the start time check, this would obviously be buggy because an attacker
-+could simply wait for the legitimate client to disappear, then create a new
-+client with the same PID.
-+
-+Unfortunately, the start time check is bypassable because fork() is not atomic.
-+Looking at the source code of copy_process() in the kernel:
-+
-+ p->start_time = ktime_get_ns();
-+ p->real_start_time = ktime_get_boot_ns();
-+ [...]
-+ retval = copy_thread_tls(clone_flags, stack_start, stack_size, p, tls);
-+ if (retval)
-+ goto bad_fork_cleanup_io;
-+
-+ if (pid != &init_struct_pid) {
-+ pid = alloc_pid(p->nsproxy->pid_ns_for_children);
-+ if (IS_ERR(pid)) {
-+ retval = PTR_ERR(pid);
-+ goto bad_fork_cleanup_thread;
-+ }
-+ }
-+
-+The ktime_get_boot_ns() call is where the "start time" of the process is
-+recorded. The alloc_pid() call is where a free PID is allocated. In between
-+these, some time passes; and because the copy_thread_tls() call between them can
-+access userspace memory when sys_clone() is invoked through the 32-bit syscall
-+entry point, an attacker can even stall the kernel arbitrarily long at this
-+point (by supplying a pointer into userspace memory that is associated with a
-+userfaultfd or is backed by a custom FUSE filesystem).
-+
-+This means that an attacker can immediately call sys_clone() when the victim
-+process is created, often resulting in a process that has the exact same start
-+time reported in procfs; and then the attacker can delay the alloc_pid() call
-+until after the victim process has died and the PID assignment has cycled
-+around. This results in an attacker process that polkit can't distinguish from
-+the victim process.
-+*/
-+
-+
- /**
- * PolkitUnixProcess:
- *
-diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
-index a1630b9..80e8141 100644
---- a/src/polkitbackend/polkitbackendinteractiveauthority.c
-+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
-@@ -3031,6 +3031,43 @@ temporary_authorization_store_free (TemporaryAuthorizationStore *store)
- g_free (store);
- }
-
-+/* See the comment at the top of polkitunixprocess.c */
-+static gboolean
-+subject_equal_for_authz (PolkitSubject *a,
-+ PolkitSubject *b)
-+{
-+ if (!polkit_subject_equal (a, b))
-+ return FALSE;
-+
-+ /* Now special case unix processes, as we want to protect against
-+ * pid reuse by including the UID.
-+ */
-+ if (POLKIT_IS_UNIX_PROCESS (a) && POLKIT_IS_UNIX_PROCESS (b)) {
-+ PolkitUnixProcess *ap = (PolkitUnixProcess*)a;
-+ int uid_a = polkit_unix_process_get_uid ((PolkitUnixProcess*)a);
-+ PolkitUnixProcess *bp = (PolkitUnixProcess*)b;
-+ int uid_b = polkit_unix_process_get_uid ((PolkitUnixProcess*)b);
-+
-+ if (uid_a != -1 && uid_b != -1)
-+ {
-+ if (uid_a == uid_b)
-+ {
-+ return TRUE;
-+ }
-+ else
-+ {
-+ g_printerr ("denying slowfork; pid %d uid %d != %d!\n",
-+ polkit_unix_process_get_pid (ap),
-+ uid_a, uid_b);
-+ return FALSE;
-+ }
-+ }
-+ /* Fall through; one of the uids is unset so we can't reliably compare */
-+ }
-+
-+ return TRUE;
-+}
-+
- static gboolean
- temporary_authorization_store_has_authorization (TemporaryAuthorizationStore *store,
- PolkitSubject *subject,
-@@ -3073,7 +3110,7 @@ temporary_authorization_store_has_authorization (TemporaryAuthorizationStore *st
- TemporaryAuthorization *authorization = l->data;
-
- if (strcmp (action_id, authorization->action_id) == 0 &&
-- polkit_subject_equal (subject_to_use, authorization->subject))
-+ subject_equal_for_authz (subject_to_use, authorization->subject))
- {
- ret = TRUE;
- if (out_tmp_authz_id != NULL)
---
-2.20.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb
deleted file mode 100644
index 1587cc0e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "PolicyKit Authorization Framework"
-DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes."
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
- file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4"
-
-DEPENDS = "expat glib-2.0 intltool-native mozjs"
-
-inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection
-
-PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
- "
-
-PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
-PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd"
-# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS
-PACKAGECONFIG[consolekit] = ",,,consolekit"
-
-PAM_SRC_URI = "file://polkit-1_pam.patch"
-SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
- file://0001-make-netgroup-support-configurable.patch \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://CVE-2019-6133.patch \
- file://CVE-2018-19788_p1.patch \
- file://CVE-2018-19788_p2.patch \
- file://CVE-2018-19788_p3.patch \
-"
-SRC_URI[md5sum] = "f03b055d6ae5fc8eac76838c7d83d082"
-SRC_URI[sha256sum] = "2f87ecdabfbd415c6306673ceadc59846f059b18ef2fce42bac63fe283f12131"
-
-EXTRA_OECONF = "--with-os-type=moblin \
- --disable-man-pages \
- --disable-libelogind \
- "
-
-do_compile_prepend () {
- export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs"
-}
-
-PACKAGES =+ "${PN}-examples"
-
-FILES_${PN}_append = " \
- ${libdir}/${BPN}-1 \
- ${nonarch_libdir}/${BPN}-1 \
- ${datadir}/dbus-1 \
- ${datadir}/${BPN}-1 \
- ${datadir}/gettext \
-"
-
-FILES_${PN}-examples = "${bindir}/*example*"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb
new file mode 100644
index 00000000..ad1973b1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb
@@ -0,0 +1,57 @@
+SUMMARY = "PolicyKit Authorization Framework"
+DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes."
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
+ file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4"
+
+DEPENDS = "expat glib-2.0 intltool-native mozjs"
+
+inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+ "
+
+PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
+PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd"
+# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS
+PACKAGECONFIG[consolekit] = ",,,consolekit"
+
+PAM_SRC_URI = "file://polkit-1_pam.patch"
+SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://0003-make-netgroup-support-optional.patch \
+ "
+SRC_URI[md5sum] = "4b37258583393e83069a0e2e89c0162a"
+SRC_URI[sha256sum] = "88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1"
+
+EXTRA_OECONF = "--with-os-type=moblin \
+ --disable-man-pages \
+ --disable-libelogind \
+ "
+
+do_compile_prepend () {
+ export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs"
+}
+
+PACKAGES =+ "${PN}-examples"
+
+FILES_${PN}_append = " \
+ ${libdir}/${BPN}-1 \
+ ${nonarch_libdir}/${BPN}-1 \
+ ${datadir}/dbus-1 \
+ ${datadir}/${BPN}-1 \
+ ${datadir}/gettext \
+"
+
+FILES_${PN}-examples = "${bindir}/*example*"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch b/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch
new file mode 100644
index 00000000..b5c4133e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch
@@ -0,0 +1,32 @@
+From 97584e1eb78dc18599534b47b6670c20c63f5ee2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 10 Sep 2019 20:04:26 -0700
+Subject: [PATCH] src: Do not reset FINAL_LIBS
+
+This helps case where additional libraries are needed to be passed from
+environment to get it going
+
+e.g. -latomic is needed on clang/x86 to provide for 64bit atomics
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 7f7c625..c71dd3b 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -75,7 +75,7 @@ endif
+
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+-FINAL_LIBS=-lm
++FINAL_LIBS+=-lm
+ DEBUG=-g -ggdb
+
+ # Linux ARM needs -latomic at linking time
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch b/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch
new file mode 100644
index 00000000..9a40d832
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch
@@ -0,0 +1,19 @@
+Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER
+
+Fixes
+| zmalloc.c:87:37: error: 'PTHREAD_MUTEX_DEFAULT' undeclared here (not in a function)
+| 87 | pthread_mutex_t used_memory_mutex = PTHREAD_MUTEX_INITIALIZER;
+| | ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/zmalloc.c
++++ b/src/zmalloc.c
+@@ -28,6 +28,7 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <stdint.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/remove-atomics.patch b/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/remove-atomics.patch
deleted file mode 100644
index 23b2f2aa..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/redis/redis/remove-atomics.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From c486455e0691f9915018b9d8b133200a6c61a3c5 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Thu, 24 May 2018 09:58:42 -0700
-Subject: [PATCH] Remove atomics
-
-Based on this patch:
-https://github.com/patrikx3/lede-redis/blob/master/redis/patches/010-redis.patch
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
----
- deps/jemalloc/src/pages.c | 22 +---------------------
- src/atomicvar.h | 4 ++--
- 2 files changed, 3 insertions(+), 23 deletions(-)
-
-diff --git a/deps/jemalloc/src/pages.c b/deps/jemalloc/src/pages.c
-index 83a167f6..8e82c78d 100644
---- a/deps/jemalloc/src/pages.c
-+++ b/deps/jemalloc/src/pages.c
-@@ -147,27 +147,7 @@ pages_purge(void *addr, size_t size)
- {
- bool unzeroed;
-
--#ifdef _WIN32
-- VirtualAlloc(addr, size, MEM_RESET, PAGE_READWRITE);
-- unzeroed = true;
--#elif defined(JEMALLOC_HAVE_MADVISE)
--# ifdef JEMALLOC_PURGE_MADVISE_DONTNEED
--# define JEMALLOC_MADV_PURGE MADV_DONTNEED
--# define JEMALLOC_MADV_ZEROS true
--# elif defined(JEMALLOC_PURGE_MADVISE_FREE)
--# define JEMALLOC_MADV_PURGE MADV_FREE
--# define JEMALLOC_MADV_ZEROS false
--# else
--# error "No madvise(2) flag defined for purging unused dirty pages."
--# endif
-- int err = madvise(addr, size, JEMALLOC_MADV_PURGE);
-- unzeroed = (!JEMALLOC_MADV_ZEROS || err != 0);
--# undef JEMALLOC_MADV_PURGE
--# undef JEMALLOC_MADV_ZEROS
--#else
-- /* Last resort no-op. */
-- unzeroed = true;
--#endif
-+ unzeroed = false;
- return (unzeroed);
- }
-
-diff --git a/src/atomicvar.h b/src/atomicvar.h
-index 84a5bbc5..f9b563c2 100644
---- a/src/atomicvar.h
-+++ b/src/atomicvar.h
-@@ -68,7 +68,7 @@
- * is reported. */
- // #define __ATOMIC_VAR_FORCE_SYNC_MACROS
-
--#if !defined(__ATOMIC_VAR_FORCE_SYNC_MACROS) && defined(__ATOMIC_RELAXED) && !defined(__sun) && (!defined(__clang__) || !defined(__APPLE__) || __apple_build_version__ > 4210057)
-+#if defined(CONFIG_EDAC_ATOMIC_SCRUB) && !defined(__ATOMIC_VAR_FORCE_SYNC_MACROS) && defined(__ATOMIC_RELAXED) && !defined(__sun) && (!defined(__clang__) || !defined(__APPLE__) || __apple_build_version__ > 4210057)
- /* Implementation using __atomic macros. */
-
- #define atomicIncr(var,count) __atomic_add_fetch(&var,(count),__ATOMIC_RELAXED)
-@@ -82,7 +82,7 @@
- #define atomicSet(var,value) __atomic_store_n(&var,value,__ATOMIC_RELAXED)
- #define REDIS_ATOMIC_API "atomic-builtin"
-
--#elif defined(HAVE_ATOMIC)
-+#elif defined(CONFIG_EDAC_ATOMIC_SCRUB) && defined(HAVE_ATOMIC)
- /* Implementation using __sync macros. */
-
- #define atomicIncr(var,count) __sync_add_and_fetch(&var,(count))
---
-2.17.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.8.bb b/external/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.8.bb
deleted file mode 100644
index 80d36d2b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.8.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Redis key-value store"
-DESCRIPTION = "Redis is an open source, advanced key-value store."
-HOMEPAGE = "http://redis.io"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3c01b49fed4df1a79843688fa3f7b9d6"
-DEPENDS = ""
-
-SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
- file://hiredis-use-default-CC-if-it-is-set.patch \
- file://lua-update-Makefile-to-use-environment-build-setting.patch \
- file://oe-use-libc-malloc.patch \
- file://redis.conf \
- file://init-redis-server \
- file://redis.service \
-"
-
-SRC_URI_append_mips = " file://remove-atomics.patch"
-SRC_URI_append_arm = " file://remove-atomics.patch"
-
-SRC_URI[md5sum] = "c75b11e4177e153e4dc1d8dd3a6174e4"
-SRC_URI[sha256sum] = "ff0c38b8c156319249fec61e5018cf5b5fe63a65b61690bec798f4c998c232ad"
-
-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}
- oe_runmake install
- install -d ${D}/${sysconfdir}/redis
- install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
- 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/external/meta-openembedded/meta-oe/recipes-extended/redis/redis_5.0.9.bb b/external/meta-openembedded/meta-oe/recipes-extended/redis/redis_5.0.9.bb
new file mode 100644
index 00000000..d0429336
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/redis/redis_5.0.9.bb
@@ -0,0 +1,66 @@
+SUMMARY = "Redis key-value store"
+DESCRIPTION = "Redis is an open source, advanced key-value store."
+HOMEPAGE = "http://redis.io"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3c01b49fed4df1a79843688fa3f7b9d6"
+DEPENDS = "readline lua ncurses"
+
+SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
+ file://redis.conf \
+ file://init-redis-server \
+ file://redis.service \
+ file://hiredis-use-default-CC-if-it-is-set.patch \
+ file://lua-update-Makefile-to-use-environment-build-setting.patch \
+ file://oe-use-libc-malloc.patch \
+ file://0001-src-Do-not-reset-FINAL_LIBS.patch \
+ file://GNU_SOURCE.patch \
+ "
+
+SRC_URI[md5sum] = "c94523c9f4ee662027ddf90575d0e058"
+SRC_URI[sha256sum] = "53d0ae164cd33536c3d4b720ae9a128ea6166ebf04ff1add3b85f1242090cb85"
+
+inherit autotools-brokensep update-rc.d systemd useradd
+
+FINAL_LIBS_x86_toolchain-clang = "-latomic"
+FINAL_LIBS_mips = "-latomic"
+FINAL_LIBS_arm = "-latomic"
+FINAL_LIBS_powerpc = "-latomic"
+
+export FINAL_LIBS
+
+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_compile_prepend() {
+ (cd deps && oe_runmake hiredis lua linenoise)
+}
+
+do_install() {
+ export PREFIX=${D}/${prefix}
+ oe_runmake install
+ install -d ${D}/${sysconfdir}/redis
+ install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
+ 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/external/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.0.bb
deleted file mode 100644
index ff995748..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.0.bb
+++ /dev/null
@@ -1,128 +0,0 @@
-SUMMARY = "High performance data logging and graphing system for time series data"
-HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3349111ed0533471494beec99715bc9d"
-
-DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python-setuptools-native"
-
-SRCREV = "bfc82d5242855628b826018479df00e0ec4e8360"
-PV = "1.7.0"
-
-SRC_URI = "\
- git://github.com/oetiker/rrdtool-1.x.git;branch=master;protocol=http; \
-"
-
-S = "${WORKDIR}/git"
-
-inherit cpan autotools-brokensep gettext pythonnative python-dir systemd
-
-BBCLASSEXTEND = "native"
-
-SYSTEMD_PACKAGES = "rrdcached"
-SYSTEMD_SERVICE_rrdcached = "rrdcached.socket rrdcached.service"
-
-EXTRA_AUTORECONF = "-I m4 --exclude=autopoint"
-
-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 \
-am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
---disable-python,python,"
-
-PACKAGECONFIG[perl] = \
-"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor"' \
-ac_cv_path_PERL_CC='${CC}', \
---disable-perl,perl,"
-
-PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
-
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-
-EXTRA_OECONF = " \
- --enable-shared \
- --disable-libwrap \
- --program-prefix='' \
- rd_cv_ieee_works=yes \
- --disable-ruby \
- --disable-lua \
- --disable-tcl \
- --disable-rpath \
- --enable-nls=${USE_NLS} \
-"
-
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-# emulate cpan_do_configure
-EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" '
-# Avoid do_configure error on some hosts
-
-do_configure() {
- unset PERLHOSTLIB
- #fix the pkglib problem with newer automake
- #perl
- sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
- ${S}/bindings/perl-shared/Makefile.PL
-
- #python
- sed -i -e '/PYTHON_INCLUDES="-I${/c \
- PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
- ${S}/m4/acinclude.m4
- #remove the useless RPATH from the rrdtool.so
- sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am
-
- autotools_do_configure
-
- #modify python sitepkg
- #remove the dependency of perl-shared:Makefile
- #or perl-shared/Makefile will be regenerated
- #if any code touch bindings/Makefile after below perl bindings code
- sed -i -e "s:python/setup.py install:python/setup.py install \
- --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \
- -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
- ${B}/bindings/Makefile
-
- #redo the perl bindings
- (
- cd ${S}/bindings/perl-shared;
- perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
-
- cd ../../bindings/perl-piped;
- perl Makefile.PL INSTALLDIRS="vendor";
- )
-
- #change the interpreter in file
- sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
- ${B}/examples/Makefile
- sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
- ${B}/examples/*.pl
-}
-
-PACKAGES =+ "${PN}-perl ${PN}-python"
-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"
-
-DESCRIPTION_${PN}-perl = \
-"The ${PN}-perl package includes RRDtool bindings for perl."
-FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \
- ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
-RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
- perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
-
-DESCRIPTION_${PN}-python = \
-"The ${PN}-python package includes RRDtool bindings for python."
-FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-RDEPENDS_${PN}-python = "python"
-
-FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
new file mode 100644
index 00000000..5662e634
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
@@ -0,0 +1,129 @@
+SUMMARY = "High performance data logging and graphing system for time series data"
+HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676"
+
+DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python3-setuptools-native"
+
+SRCREV = "56a83f4f52e6745cd4352f9ee008be3183a6dedf"
+PV = "1.7.2"
+
+SRC_URI = "\
+ git://github.com/oetiker/rrdtool-1.x.git;branch=master;protocol=http; \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cpan autotools-brokensep gettext python3native python3-dir systemd
+
+BBCLASSEXTEND = "native"
+
+SYSTEMD_PACKAGES = "rrdcached"
+SYSTEMD_SERVICE_rrdcached = "rrdcached.socket rrdcached.service"
+
+EXTRA_AUTORECONF = "-I m4 --exclude=autopoint"
+
+PACKAGECONFIG ??= "perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[python] = "--enable-python=yes \
+am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
+am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
+--disable-python,python,"
+
+PACKAGECONFIG[perl] = \
+"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \
+ac_cv_path_PERL_CC='${CC}', \
+--disable-perl,perl,"
+
+PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
+
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
+
+EXTRA_OECONF = " \
+ --enable-shared \
+ --disable-libwrap \
+ --program-prefix='' \
+ rd_cv_ieee_works=yes \
+ --disable-ruby \
+ --disable-lua \
+ --disable-tcl \
+ --disable-rpath \
+ --enable-nls=${USE_NLS} \
+ --disable-docs \
+"
+
+export STAGING_LIBDIR
+export STAGING_INCDIR
+
+# emulate cpan_do_configure
+EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" '
+# Avoid do_configure error on some hosts
+
+do_configure() {
+ unset PERLHOSTLIB
+ #fix the pkglib problem with newer automake
+ #perl
+ sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
+ ${S}/bindings/perl-shared/Makefile.PL
+
+ #python
+ sed -i -e '/PYTHON_INCLUDES="-I${/c \
+ PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
+ ${S}/m4/acinclude.m4
+ #remove the useless RPATH from the rrdtool.so
+ sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am
+
+ autotools_do_configure
+
+ #modify python sitepkg
+ #remove the dependency of perl-shared:Makefile
+ #or perl-shared/Makefile will be regenerated
+ #if any code touch bindings/Makefile after below perl bindings code
+ sed -i -e "s:python/setup.py install:python/setup.py install \
+ --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \
+ -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
+ ${B}/bindings/Makefile
+
+ #redo the perl bindings
+ (
+ cd ${S}/bindings/perl-shared;
+ perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
+
+ cd ../../bindings/perl-piped;
+ perl Makefile.PL INSTALLDIRS="vendor";
+ )
+
+ #change the interpreter in file
+ sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
+ ${B}/examples/Makefile
+ sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
+ ${B}/examples/*.pl
+}
+
+PACKAGES =+ "${PN}-perl ${PN}-python"
+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"
+
+DESCRIPTION_${PN}-perl = \
+"The ${PN}-perl package includes RRDtool bindings for perl."
+FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \
+ ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
+RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
+ perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
+
+DESCRIPTION_${PN}-python = \
+"The ${PN}-python package includes RRDtool bindings for python."
+FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+RDEPENDS_${PN}-python = "python3"
+
+FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
+ ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-fix-jump-misses-init-error.patch b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-fix-jump-misses-init-error.patch
deleted file mode 100644
index 68b68634..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-fix-jump-misses-init-error.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 3e5a0cb440c788e2383e40ab23ac1cf01d96961b Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Tue, 24 Jul 2018 01:30:25 -0700
-Subject: [PATCH] src/tcp.c: fix jump-misses-init error
-
-Fix below jump-misses-init error
-
-| In file included from ../../git/src/tcp.c:51:
-| ../../git/src/tcp.c: In function 'relpTcpConnect':
-| ../../git/src/relp.h:220:3: error: jump skips variable initialization [-Werror=jump-misses-init]
-| goto finalize_it; \
-| ^~~~
-| ../../git/src/tcp.c:1951:3: note: in expansion of macro 'ABORT_FINALIZE'
-| ABORT_FINALIZE(RELP_RET_IO_ERR);
-| ^~~~~~~~~~~~~~
-| ../../git/src/tcp.c:2005:1: note: label 'finalize_it' defined here
-| finalize_it:
-| ^~~~~~~~~~~
-| ../../git/src/tcp.c:1991:6: note: 'r' declared here
-| int r = getsockopt(pThis->sock, SOL_SOCKET, SO_ERROR, &so_error, &len);
-| ^
-| In file included from ../../git/src/tcp.c:51:
-| ../../git/src/relp.h:220:3: error: jump skips variable initialization [-Werror=jump-misses-init]
-| goto finalize_it; \
-| ^~~~
-| ../../git/src/tcp.c:1951:3: note: in expansion of macro 'ABORT_FINALIZE'
-| ABORT_FINALIZE(RELP_RET_IO_ERR);
-| ^~~~~~~~~~~~~~
-| ../../git/src/tcp.c:2005:1: note: label 'finalize_it' defined here
-| finalize_it:
-| ^~~~~~~~~~~
-| ../../git/src/tcp.c:1989:12: note: 'len' declared here
-| socklen_t len = sizeof so_error;
-| ^~~
-
-Upstream-Status: Submitted[https://github.com/rsyslog/librelp/pull/117]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/tcp.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/tcp.c b/src/tcp.c
-index f35eb84..fb34dc7 100644
---- a/src/tcp.c
-+++ b/src/tcp.c
-@@ -1936,6 +1936,9 @@ relpTcpConnect(relpTcp_t *const pThis,
- struct addrinfo hints;
- struct addrinfo *reslocal = NULL;
- struct pollfd pfd;
-+ int so_error;
-+ socklen_t len = sizeof so_error;
-+ int r;
-
- ENTER_RELPFUNC;
- RELPOBJ_assert(pThis, Tcp);
-@@ -1985,10 +1988,8 @@ relpTcpConnect(relpTcp_t *const pThis,
- ABORT_FINALIZE(RELP_RET_TIMED_OUT);
- }
-
-- int so_error;
-- socklen_t len = sizeof so_error;
-
-- int r = getsockopt(pThis->sock, SOL_SOCKET, SO_ERROR, &so_error, &len);
-+ r = getsockopt(pThis->sock, SOL_SOCKET, SO_ERROR, &so_error, &len);
- if (r == -1 || so_error != 0) {
- pThis->pEngine->dbgprint("socket has an error %d\n", so_error);
- ABORT_FINALIZE(RELP_RET_IO_ERR);
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-increase-the-size-of-szHname.patch b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-increase-the-size-of-szHname.patch
deleted file mode 100644
index 5a62e158..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-increase-the-size-of-szHname.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From d8950ad273d79ec516468289adbd427e681dbc66 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Mon, 30 Jul 2018 01:22:56 -0700
-Subject: [PATCH] src/tcp.c: increase the size of szHname
-
-Increase the size of szHname to fix below
-error:
-| ../../git/src/tcp.c: In function 'relpTcpSetRemHost':
-| ../../git/src/tcp.c:352:57: error: '%s' directive output may be truncated writing up to 1024 bytes into a region of size 1011 [-Werror=format-truncation=]
-| snprintf((char*)szHname, NI_MAXHOST, "[MALICIOUS:IP=%s]", szIP);
-| ^~ ~~~~
-| In file included from /poky-build/tmp/work/i586-poky-linux/librelp/1.2.16-r0/recipe-sysroot/usr/include/stdio.h:862,
-| from ../../git/src/tcp.c:38:
-| /poky-build/tmp/work/i586-poky-linux/librelp/1.2.16-r0/recipe-sysroot/usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' output between 16 and 1040 bytes into a destination of size 1025
-| return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-| __bos (__s), __fmt, __va_arg_pack ());
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-| cc1: all warnings being treated as errors
-| Makefile:536: recipe for target 'librelp_la-tcp.lo' failed
-
-Upstream-Status: Submitted[https://github.com/rsyslog/librelp/pull/118]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/tcp.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/tcp.c b/src/tcp.c
-index fb34dc7..2c38b0b 100644
---- a/src/tcp.c
-+++ b/src/tcp.c
-@@ -319,7 +319,7 @@ relpTcpSetRemHost(relpTcp_t *const pThis, struct sockaddr *pAddr)
- relpEngine_t *pEngine;
- int error;
- unsigned char szIP[NI_MAXHOST] = "";
-- unsigned char szHname[NI_MAXHOST] = "";
-+ unsigned char szHname[1045] = "";
- struct addrinfo hints, *res;
- size_t len;
-
-@@ -349,7 +349,7 @@ relpTcpSetRemHost(relpTcp_t *const pThis, struct sockaddr *pAddr)
- if(getaddrinfo((char*)szHname, NULL, &hints, &res) == 0) {
- freeaddrinfo (res);
- /* OK, we know we have evil, so let's indicate this to our caller */
-- snprintf((char*)szHname, NI_MAXHOST, "[MALICIOUS:IP=%s]", szIP);
-+ snprintf((char*)szHname, sizeof(szHname), "[MALICIOUS:IP=%s]", szIP);
- pEngine->dbgprint("Malicious PTR record, IP = \"%s\" HOST = \"%s\"", szIP, szHname);
- iRet = RELP_RET_MALICIOUS_HNAME;
- }
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.16.bb b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.16.bb
deleted file mode 100644
index 17478efe..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.16.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A reliable logging library"
-HOMEPAGE = "https://github.com/rsyslog/libfastjson"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9"
-
-DEPENDS = "gmp nettle libidn zlib gnutls"
-
-SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https \
- file://0001-src-tcp.c-fix-jump-misses-init-error.patch \
- file://0001-src-tcp.c-increase-the-size-of-szHname.patch \
-"
-
-SRCREV = "5e849ff060be0c7dce972e194c54fdacfee0adc2"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.5.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.5.0.bb
new file mode 100644
index 00000000..a4663148
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.5.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "A reliable logging library"
+HOMEPAGE = "https://github.com/rsyslog/librelp"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9"
+
+DEPENDS = "gmp nettle libidn zlib gnutls openssl"
+
+SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https \
+"
+
+SRCREV = "0beb2258e12e4131dc31e261078ea53d18f787d7"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+CPPFLAGS += "-Wno-error"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch
deleted file mode 100644
index a248f75e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 07ad2a1905089b9124623324a9969e4522317110 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Fri, 12 Sep 2014 03:41:11 -0400
-Subject: [PATCH] rsyslog: update configure to fix ptest
-
-$MaxMessageSize doesn't work if before $IncludeConfig diag-common.conf, then
-test cases fall into infinite loop with error message:
-
-8062.511110729:4902c480: error: message received is larger than max msg size, we split it
-8062.511152265:4902c480: discarding zero-sized message
-
-Update configure to fix it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
----
- tests/testsuites/complex1.conf | 2 +-
- tests/testsuites/gzipwr_large.conf | 2 +-
- tests/testsuites/gzipwr_large_dynfile.conf | 2 +-
- tests/testsuites/imptcp_conndrop.conf | 2 +-
- tests/testsuites/imptcp_large.conf | 2 +-
- tests/testsuites/imtcp_conndrop.conf | 2 +-
- tests/testsuites/wr_large.conf | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/tests/testsuites/complex1.conf b/tests/testsuites/complex1.conf
-index 9b6a9f3..e00caa4 100644
---- a/tests/testsuites/complex1.conf
-+++ b/tests/testsuites/complex1.conf
-@@ -1,7 +1,7 @@
- # complex test case with multiple actions in gzip mode
- # rgerhards, 2009-05-22
--$MaxMessageSize 10k
- $IncludeConfig diag-common.conf
-+$MaxMessageSize 10k
-
- $MainMsgQueueTimeoutEnqueue 5000
-
-diff --git a/tests/testsuites/gzipwr_large.conf b/tests/testsuites/gzipwr_large.conf
-index 54ad3bb..e8247a9 100644
---- a/tests/testsuites/gzipwr_large.conf
-+++ b/tests/testsuites/gzipwr_large.conf
-@@ -1,7 +1,7 @@
- # simple async writing test
- # rgerhards, 2010-03-09
--$MaxMessageSize 10k
- $IncludeConfig diag-common.conf
-+$MaxMessageSize 10k
-
- $ModLoad ../plugins/imtcp/.libs/imtcp
- $MainMsgQueueTimeoutShutdown 10000
-diff --git a/tests/testsuites/gzipwr_large_dynfile.conf b/tests/testsuites/gzipwr_large_dynfile.conf
-index 3a1b255..297cb70 100644
---- a/tests/testsuites/gzipwr_large_dynfile.conf
-+++ b/tests/testsuites/gzipwr_large_dynfile.conf
-@@ -1,7 +1,7 @@
- # simple async writing test
- # rgerhards, 2010-03-09
--$MaxMessageSize 10k
- $IncludeConfig diag-common.conf
-+$MaxMessageSize 10k
-
- $ModLoad ../plugins/imtcp/.libs/imtcp
- $MainMsgQueueTimeoutShutdown 10000
-diff --git a/tests/testsuites/imptcp_conndrop.conf b/tests/testsuites/imptcp_conndrop.conf
-index 77a5d79..d9a14a8 100644
---- a/tests/testsuites/imptcp_conndrop.conf
-+++ b/tests/testsuites/imptcp_conndrop.conf
-@@ -1,7 +1,7 @@
- # simple async writing test
- # rgerhards, 2010-03-09
--$MaxMessageSize 10k
- $IncludeConfig diag-common.conf
-+$MaxMessageSize 10k
-
- $ModLoad ../plugins/imptcp/.libs/imptcp
- $MainMsgQueueTimeoutShutdown 10000
-diff --git a/tests/testsuites/imptcp_large.conf b/tests/testsuites/imptcp_large.conf
-index 77a5d79..d9a14a8 100644
---- a/tests/testsuites/imptcp_large.conf
-+++ b/tests/testsuites/imptcp_large.conf
-@@ -1,7 +1,7 @@
- # simple async writing test
- # rgerhards, 2010-03-09
--$MaxMessageSize 10k
- $IncludeConfig diag-common.conf
-+$MaxMessageSize 10k
-
- $ModLoad ../plugins/imptcp/.libs/imptcp
- $MainMsgQueueTimeoutShutdown 10000
-diff --git a/tests/testsuites/imtcp_conndrop.conf b/tests/testsuites/imtcp_conndrop.conf
-index de41bc4..7844dc7 100644
---- a/tests/testsuites/imtcp_conndrop.conf
-+++ b/tests/testsuites/imtcp_conndrop.conf
-@@ -1,7 +1,7 @@
- # simple async writing test
- # rgerhards, 2010-03-09
--$MaxMessageSize 10k
- $IncludeConfig diag-common.conf
-+$MaxMessageSize 10k
-
- $ModLoad ../plugins/imtcp/.libs/imtcp
- $MainMsgQueueTimeoutShutdown 10000
-diff --git a/tests/testsuites/wr_large.conf b/tests/testsuites/wr_large.conf
-index b64f132..b0ae264 100644
---- a/tests/testsuites/wr_large.conf
-+++ b/tests/testsuites/wr_large.conf
-@@ -1,7 +1,7 @@
- # simple async writing test
- # rgerhards, 2010-03-09
--$MaxMessageSize 10k
- $IncludeConfig diag-common.conf
-+$MaxMessageSize 10k
-
- $ModLoad ../plugins/imtcp/.libs/imtcp
- $MainMsgQueueTimeoutShutdown 10000
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
index 3770a750..aa698d85 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
+++ b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
@@ -1,3 +1,8 @@
#!/bin/sh
#
+set -e
+set -o pipefail
+
+SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
+cd ${SCRIPTPATH}
make -C tests -k check-TESTS
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2002.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2002.0.bb
new file mode 100644
index 00000000..ca8fddc7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2002.0.bb
@@ -0,0 +1,201 @@
+SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
+DESCRIPTION = "\
+Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
+ PostgreSQL, failover log destinations, syslog/tcp, fine grain\
+ output format control, high precision timestamps, queued operations\
+ and the ability to filter on any message part. It is quite\
+ compatible to stock sysklogd and can be used as a drop-in replacement.\
+ Its advanced features make it suitable for enterprise-class,\
+ encryption protected syslog relay chains while at the same time being\
+ very easy to setup for the novice user."
+
+DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging"
+HOMEPAGE = "http://www.rsyslog.com/"
+LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
+ file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
+ file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
+"
+
+SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
+ file://initscript \
+ file://rsyslog.conf \
+ file://rsyslog.logrotate \
+ file://use-pkgconfig-to-check-libgcrypt.patch \
+ file://run-ptest \
+"
+
+SRC_URI_append_libc-musl = " \
+ file://0001-Include-sys-time-h.patch \
+"
+
+SRC_URI[md5sum] = "fbe6d18205170e22bad470954d0dc874"
+SRC_URI[sha256sum] = "fe86c14d860da1202c76616feac0539ea5a40a4ad182d74b7d6d2419cc2381f8"
+
+UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
+
+inherit autotools pkgconfig systemd update-rc.d ptest
+
+EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
+EXTRA_OECONF += "--enable-imfile-tests"
+EXTRA_OECONF_remove_mipsarch = "ap_cv_atomic_builtins=yes"
+EXTRA_OECONF_remove_powerpc = "ap_cv_atomic_builtins=yes"
+EXTRA_OECONF_remove_riscv32 = "ap_cv_atomic_builtins=yes"
+
+# first line is default yes in configure
+PACKAGECONFIG ??= " \
+ rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
+ fmhttp imdiag gnutls imfile \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
+"
+
+# default yes in configure
+PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp,"
+PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
+PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
+PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl,"
+PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
+PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
+PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
+PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
+PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
+PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,,"
+
+# default no in configure
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
+PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
+PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal,"
+PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse,"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
+PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
+PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
+PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
+
+do_configure_prepend() {
+ sed -i -e 's|python |python3 |g' ${S}/tests/*.sh
+ sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/tests/*.py
+ sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/tests/testsuites/*.py
+}
+
+TESTDIR = "tests"
+do_compile_ptest() {
+ echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ # install the tests
+ cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+ cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+
+ # do NOT need to rebuild Makefile itself
+ sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ # do NOT need to rebuild $(check_PROGRAMS)
+ sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # fix the srcdir, top_srcdir
+ sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ # fix the abs_top_builddir
+ sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # valgrind is not compatible with arm and mips,
+ # so remove related test cases if there is no valgrind.
+ if [ x${VALGRIND} = x ]; then
+ sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ fi
+
+ # install test-driver
+ install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
+
+ # install necessary links
+ install -d ${D}${PTEST_PATH}/tools
+ ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
+
+ install -d ${D}${PTEST_PATH}/runtime
+ install -d ${D}${PTEST_PATH}/runtime/.libs
+ (
+ cd ${D}/${libdir}/rsyslog
+ allso="*.so"
+ for i in $allso; do
+ ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
+ done
+ )
+
+ # fix the module load path with runtime/.libs
+ find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \
+ sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g'
+ # fix the python3 path for tests/set-envar
+ sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/tests/set-envvars
+}
+
+do_install_append() {
+ install -d "${D}${sysconfdir}/init.d"
+ install -d "${D}${sysconfdir}/logrotate.d"
+ install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
+ install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
+ install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
+ sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then
+ install -d 0755 ${D}${sysconfdir}/rsyslog.d
+ echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then
+ install -d 0755 ${D}${sysconfdir}/rsyslog.d
+ echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf
+ fi
+}
+
+FILES_${PN} += "${bindir}"
+
+INITSCRIPT_NAME = "syslog"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
+
+RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+RDEPENDS_${PN} += "logrotate"
+
+# for rsyslog-ptest
+VALGRIND = "valgrind"
+
+# valgrind supports armv7 and above
+VALGRIND_armv4 = ''
+VALGRIND_armv5 = ''
+VALGRIND_armv6 = ''
+
+# X32 isn't supported by valgrind at this time
+VALGRIND_linux-gnux32 = ''
+VALGRIND_linux-muslx32 = ''
+
+# Disable for some MIPS variants
+VALGRIND_mipsarchr6 = ''
+VALGRIND_linux-gnun32 = ''
+
+# Disable for powerpc64 with musl
+VALGRIND_libc-musl_powerpc64 = ''
+VALGRIND_libc-musl_powerpc64le = ''
+
+# RISC-V support for valgrind is not there yet
+VALGRIND_riscv64 = ""
+VALGRIND_riscv32 = ""
+
+RDEPENDS_${PN}-ptest += "\
+ make diffutils gzip bash gawk coreutils procps \
+ libgcc python3-core python3-io \
+ "
+RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.37.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.37.0.bb
deleted file mode 100644
index fbdf2818..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.37.0.bb
+++ /dev/null
@@ -1,165 +0,0 @@
-SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
-DESCRIPTION = "\
-Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
- PostgreSQL, failover log destinations, syslog/tcp, fine grain\
- output format control, high precision timestamps, queued operations\
- and the ability to filter on any message part. It is quite\
- compatible to stock sysklogd and can be used as a drop-in replacement.\
- Its advanced features make it suitable for enterprise-class,\
- encryption protected syslog relay chains while at the same time being\
- very easy to setup for the novice user."
-
-DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging curl"
-HOMEPAGE = "http://www.rsyslog.com/"
-LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
- file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
- file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
-"
-
-SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
- file://initscript \
- file://rsyslog.conf \
- file://rsyslog.logrotate \
- file://use-pkgconfig-to-check-libgcrypt.patch \
- file://run-ptest \
- file://rsyslog-fix-ptest-not-finish.patch \
-"
-
-SRC_URI_append_libc-musl = " \
- file://0001-Include-sys-time-h.patch \
-"
-
-SRC_URI[md5sum] = "e0942b4b88a13602a6b6352bf9f05091"
-SRC_URI[sha256sum] = "295c289b4c8abd8f8f3fe35a83249b739cedabe82721702b910255f9faf147e7"
-
-UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
-
-inherit autotools pkgconfig systemd update-rc.d ptest
-
-EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
-
-# first line is default yes in configure
-PACKAGECONFIG ??= " \
- rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
- imdiag gnutls imfile \
- ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
-"
-
-# default yes in configure
-PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp,"
-PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
-PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
-PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
-PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
-PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
-PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
-PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
-PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,,"
-
-# default no in configure
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
-PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
-PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal,"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
-PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
-PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
-PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
-
-TESTDIR = "tests"
-do_compile_ptest() {
- echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- # install the tests
- cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
- cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
-
- # do NOT need to rebuild Makefile itself
- sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- # do NOT need to rebuild $(check_PROGRAMS)
- sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # fix the srcdir, top_srcdir
- sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- # fix the abs_top_builddir
- sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # valgrind is not compatible with arm and mips,
- # so remove related test cases if there is no valgrind.
- if [ x${VALGRIND} = x ]; then
- sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- fi
-
- # install test-driver
- install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
-
- # install necessary links
- install -d ${D}${PTEST_PATH}/tools
- ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
-
- install -d ${D}${PTEST_PATH}/runtime
- install -d ${D}${PTEST_PATH}/runtime/.libs
- (
- cd ${D}/${libdir}/rsyslog
- allso="*.so"
- for i in $allso; do
- ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
- done
- )
-
- # fix the module load path with runtime/.libs
- find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \
- sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g'
-}
-
-do_install_append() {
- install -d "${D}${sysconfdir}/init.d"
- install -d "${D}${sysconfdir}/logrotate.d"
- install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
- install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
- install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
- sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
-
- if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then
- install -d 0755 ${D}${sysconfdir}/rsyslog.d
- echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf
- fi
-}
-
-FILES_${PN} += "${bindir}"
-
-INITSCRIPT_NAME = "syslog"
-INITSCRIPT_PARAMS = "defaults"
-
-CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
-
-RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-RDEPENDS_${PN} += "logrotate"
-
-# for rsyslog-ptest
-VALGRIND = "valgrind"
-VALGRIND_mips = ""
-VALGRIND_mips64 = ""
-VALGRIND_mips64n32 = ""
-VALGRIND_arm = ""
-VALGRIND_aarch64 = ""
-VALGRIND_riscv64 = ""
-RDEPENDS_${PN}-ptest += "make diffutils gzip bash gawk coreutils procps"
-RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch b/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch
deleted file mode 100644
index e4bde80a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From c51c2c543f3c78b2a68acc61f786f903f2e0fec8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sun, 9 Sep 2018 07:28:09 -0400
-Subject: [PATCH] fix compile failure with libc musl
-
-The lack of random_r in musl:
-[snip]
-|main.c:1393:7: warning: implicit declaration of function 'random_r';
-did you mean 'random'? [-Wimplicit-function-declaration]
-| rv = random_r(&rand_data, &val);
-| ^~~~~~~~
-| random
-|main.c:1408:30: error: invalid application of 'sizeof' to incomplete
-type 'struct random_data'
-| memset(&rand_data, 0, sizeof(rand_data));
-[snip]
-
-s/random_r/random/, s/initstate_r/initstate/ and remove `static struct
-random_data rand_data'
-
-Here is the man of `random_r()':
-[snip]
-The random_r() function is like random(3), except that instead of using
-state information maintained in a global variable
-[snip]
-
-So use random without state information is OK.
-
-Upstream-Status: Submitted [sanlock-devel@lists.fedorahosted.org]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/main.c | 12 ++++--------
- 1 file changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/src/main.c b/src/main.c
-index f60b4d3..602c400 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -84,7 +84,6 @@ static char command[COMMAND_MAX];
- static int cmd_argc;
- static char **cmd_argv;
- static struct thread_pool pool;
--static struct random_data rand_data;
- static char rand_state[32];
- static pthread_mutex_t rand_mutex = PTHREAD_MUTEX_INITIALIZER;
- static const char *run_dir = NULL;
-@@ -1386,16 +1385,15 @@ int get_rand(int a, int b);
-
- int get_rand(int a, int b)
- {
-- int32_t val;
-- int rv;
-+ long int rv;
-
- pthread_mutex_lock(&rand_mutex);
-- rv = random_r(&rand_data, &val);
-+ rv = random();
- pthread_mutex_unlock(&rand_mutex);
- if (rv < 0)
- return rv;
-
-- return a + (int) (((float)(b - a + 1)) * val / (RAND_MAX+1.0));
-+ return a + (int) (((float)(b - a + 1)) * rv / (RAND_MAX+1.0));
- }
-
- static void setup_host_name(void)
-@@ -1405,9 +1403,7 @@ static void setup_host_name(void)
- uuid_t uu;
-
- memset(rand_state, 0, sizeof(rand_state));
-- memset(&rand_data, 0, sizeof(rand_data));
--
-- initstate_r(time(NULL), rand_state, sizeof(rand_state), &rand_data);
-+ initstate(time(NULL), rand_state, sizeof(rand_state));
-
- /* use host name from command line */
-
---
-2.8.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch b/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch
new file mode 100644
index 00000000..a0b721c4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch
@@ -0,0 +1,51 @@
+From 78a9cffb1c760466933bbbcbae7ecb9b30a3e6a5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 21 Nov 2019 13:47:42 -0800
+Subject: [PATCH] sanlock: Replace "cp -a" with "cp -R --no-dereference
+ --preserve=mode, links"
+
+Using "cp -a" leaks UID of user running the builds
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile | 8 ++++----
+ wdmd/Makefile | 4 ++--
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 533dd79..2fc9ba5 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -127,9 +127,9 @@ install: all
+ $(INSTALL) -c -m 755 $(LIBSO_CLIENT_TARGET) $(DESTDIR)/$(LIBDIR)
+ $(INSTALL) -c -m 644 $(LIBPC_ENTIRE_TARGET) $(DESTDIR)/$(LIBDIR)/pkgconfig
+ $(INSTALL) -c -m 644 $(LIBPC_CLIENT_TARGET) $(DESTDIR)/$(LIBDIR)/pkgconfig
+- cp -a $(LIB_ENTIRE_TARGET).so $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_CLIENT_TARGET).so $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_ENTIRE_TARGET).so.$(SOMAJOR) $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_CLIENT_TARGET).so.$(SOMAJOR) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_ENTIRE_TARGET).so $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_CLIENT_TARGET).so $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_ENTIRE_TARGET).so.$(SOMAJOR) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_CLIENT_TARGET).so.$(SOMAJOR) $(DESTDIR)/$(LIBDIR)
+ $(INSTALL) -c -m 644 $(HEADER_TARGET) $(DESTDIR)/$(HEADIR)
+ $(INSTALL) -m 644 $(MAN_TARGET) $(DESTDIR)/$(MANDIR)/man8/
+diff --git a/wdmd/Makefile b/wdmd/Makefile
+index 5849efc..4894517 100644
+--- a/wdmd/Makefile
++++ b/wdmd/Makefile
+@@ -68,7 +68,7 @@ install: all
+ $(INSTALL) -d $(DESTDIR)/$(MANDIR)/man8
+ $(INSTALL) -c -m 755 $(CMD_TARGET) $(DESTDIR)/$(BINDIR)
+ $(INSTALL) -c -m 755 $(SHLIB_TARGET) $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_TARGET).so $(DESTDIR)/$(LIBDIR)
+- cp -a $(LIB_TARGET).so.$(SOMAJOR) $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_TARGET).so $(DESTDIR)/$(LIBDIR)
++ cp -R --no-dereference --preserve=mode,links $(LIB_TARGET).so.$(SOMAJOR) $(DESTDIR)/$(LIBDIR)
+ $(INSTALL) -c -m 644 $(HEADER_TARGET) $(DESTDIR)/$(HEADIR)
+ $(INSTALL) -m 644 $(MAN_TARGET) $(DESTDIR)/$(MANDIR)/man8
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb
deleted file mode 100644
index c51bccce..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "A shared storage lock manager"
-DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \
-to the storage can perform locking. An application running on the \
-hosts is given a small amount of space on the shared block device or \
-file, and uses sanlock for its own application-specific synchronization. \
-Internally, the sanlock daemon manages locks using two disk-based \
-lease algorithms: delta leases and paxos leases."
-HOMEPAGE = "https://pagure.io/sanlock"
-SECTION = "utils"
-
-LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22"
-
-SRC_URI = "git://pagure.io/sanlock.git;protocol=http \
- file://0001-fix-compile-failure-with-libc-musl.patch \
- "
-SRCREV = "90b2ffa77edd46bea007b7bb39bfd4d2db2ff7af"
-S = "${WORKDIR}/git"
-
-DEPENDS = "libaio util-linux"
-
-inherit distutils
-
-do_configure[noexec] = "1"
-
-do_compile_prepend () {
- oe_runmake -C wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}"
- oe_runmake -C src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}"
- cd ${S}/python
-}
-
-do_install_prepend () {
- oe_runmake -C wdmd DESTDIR=${D} LIBDIR=${libdir} install
- oe_runmake -C src DESTDIR=${D} LIBDIR=${libdir} install
- cd ${S}/python
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb b/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb
new file mode 100644
index 00000000..ffd46da0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "A shared storage lock manager"
+DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \
+to the storage can perform locking. An application running on the \
+hosts is given a small amount of space on the shared block device or \
+file, and uses sanlock for its own application-specific synchronization. \
+Internally, the sanlock daemon manages locks using two disk-based \
+lease algorithms: delta leases and paxos leases."
+HOMEPAGE = "https://pagure.io/sanlock"
+SECTION = "utils"
+
+LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://../README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22"
+
+PV .= "+git${SRCPV}"
+
+SRC_URI = "git://pagure.io/sanlock.git;protocol=http \
+ file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch;patchdir=../ \
+ "
+SRCREV = "cff348800722f7dadf030ffe7494c2df714996e3"
+
+S = "${WORKDIR}/git/python"
+
+DEPENDS = "libaio util-linux"
+
+inherit distutils3 useradd
+
+do_configure[noexec] = "1"
+
+do_compile_prepend () {
+ oe_runmake -C ${S}/../wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}"
+ oe_runmake -C ${S}/../src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}"
+}
+
+do_install_prepend () {
+ oe_runmake -C ${S}/../wdmd DESTDIR=${D} LIBDIR=${libdir} install
+ oe_runmake -C ${S}/../src DESTDIR=${D} LIBDIR=${libdir} install
+}
+
+SANLOCKGROUP ?= "sanlock"
+SANLOCKUSER ?= "sanlock"
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system ${SANLOCKGROUP}"
+USERADD_PARAM_${PN} = "--system -g ${SANLOCKGROUP} -G disk \
+ --home-dir /run/${SANLOCKUSER} --no-create-home \
+ --shell /sbin/nologin ${SANLOCKUSER}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/external/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
index 91c50027..a527f773 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
@@ -11,7 +11,7 @@ LICENSE = "EPL-1.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=f300afd598546add034364cd0a533261"
DEPENDS = "curl libpam openssl sblim-sfc-common unzip-native"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
SRC_URI = "http://downloads.sourceforge.net/sblim/${BP}.tar.bz2 \
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb b/external/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
index 77d3cfee..2b7571e2 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
@@ -5,7 +5,7 @@ DESCRIPTION = "scsirastools were designed to add to the Serviceability of \
maintenance or service functions. It handles SCSI, \
Linux SW RAID, SAS, SATA, and USB devices via SCSI emulation."
HOMEPAGE = "http://scsirastools.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=687ea108478d26152ae46eb29d9d1545"
DEPENDS += "groff-native"
@@ -43,5 +43,5 @@ FILES_${PN}-diskmon = "${sbindir}/sgdiskmon ${sysconfdir}/init.d/sgdisk"
FILES_${PN}-raidmon = "${sbindir}/sgraidmon ${sysconfdir}/init.d/sgraid"
RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-diskmon += "${PN}"
-RDEPENDS_${PN}-raidmon += "${PN}"
+RDEPENDS_${PN}-diskmon += "${PN} bash"
+RDEPENDS_${PN}-raidmon += "${PN} bash"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb
new file mode 100644
index 00000000..e8c36a81
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "libsigrok is a shared library written in C, which provides the basic hardware access drivers for logic analyzers and other supported devices, as well as input/output file format support."
+HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "glib-2.0 libzip"
+
+PACKAGECONFIG[serialport] = "--with-libserialport,--without-libserialport,libserialport"
+PACKAGECONFIG[ftdi] = "--with-libftdi,--without-libftdi,libftdi"
+PACKAGECONFIG[usb] = "--with-libusb,--without-libusb,libusb"
+PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,glibmm doxygen-native"
+PACKAGECONFIG[bluez5] = "--with-libbluez,--without-libbluez,bluez5"
+PACKAGECONFIG[hidapi] = "--with-libhidapi,--without-libhidapi,hidapi"
+
+PACKAGECONFIG ??= "serialport ftdi usb"
+
+inherit autotools pkgconfig mime
+
+SRC_URI = "http://sigrok.org/download/source/libsigrok/libsigrok-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "e258d471b6d5eaa58daf927a0dc3ba67"
+SRC_URI[sha256sum] = "4d341f90b6220d3e8cb251dacf726c41165285612248f2c52d15df4590a1ce3c"
+
+FILES_${PN} += "${datadir}/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb b/external/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb
new file mode 100644
index 00000000..f9c1d1a3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "libsigrokdecode is a shared library written in C, which provides (streaming) protocol decoding functionality."
+HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "glib-2.0 python3"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "7ba4ed4ef1f06ae96979751e096c2821"
+SRC_URI[sha256sum] = "c50814aa6743cd8c4e88c84a0cdd8889d883c3be122289be90c63d7d67883fc0"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb
new file mode 100644
index 00000000..369e2f6f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "sigrok-cli is a command-line frontend for sigrok."
+HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "libsigrok"
+
+PACKAGECONFIG[decode] = "--with-libsigrokdecode,--without-libsigrokdecode,libsigrokdecode"
+
+PACKAGECONFIG ??= "decode"
+
+inherit autotools pkgconfig mime-xdg
+
+SRC_URI = "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-${PV}.tar.gz"
+SRC_URI[md5sum] = "3f45ce664bad529d8b3f78a61b017d75"
+SRC_URI[sha256sum] = "f52413429f47d457c333db0fd068416ab7a3f9e35ca76de8624dc5ac6fb07797"
+
+FILES_${PN} += "${datadir}/icons/hicolor"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-os_linux.cpp-Use-realpath-BSD-POSIX-instead-of-canon.patch b/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-os_linux.cpp-Use-realpath-BSD-POSIX-instead-of-canon.patch
deleted file mode 100644
index 91e64d21..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-os_linux.cpp-Use-realpath-BSD-POSIX-instead-of-canon.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f28aa188e5b0ea85369febe657b8807b8025038b Mon Sep 17 00:00:00 2001
-From: chrfranke <authors@smartmontools.org>
-Date: Wed, 8 Nov 2017 06:15:50 +0000
-Subject: [PATCH] os_linux.cpp: Use 'realpath()' (BSD, POSIX) instead of
- 'canonicalize_file_name()' (GNU extension). This fixes build on systems with
- musl libc (#921).
-
-git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4603 4ea69e1a-61f1-4043-bf83-b5c94c648137
-
-Upstream-Status: Backport [https://www.smartmontools.org/ticket/921]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- os_linux.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/os_linux.cpp b/os_linux.cpp
-index 134d5bc..935f9c7 100644
---- a/os_linux.cpp
-+++ b/os_linux.cpp
-@@ -3176,7 +3176,7 @@ static bool is_hpsa(const char * name)
- {
- char path[128];
- snprintf(path, sizeof(path), "/sys/block/%s/device", name);
-- char * syshostpath = canonicalize_file_name(path);
-+ char * syshostpath = realpath(name, (char *)0);
- if (!syshostpath)
- return false;
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb b/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb
deleted file mode 100644
index c77c1055..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Control and monitor storage systems using S.M.A.R.T"
-DESCRIPTION = "\
-The smartmontools package contains two utility programs (smartctl \
-and smartd) to control and monitor storage systems using the Self-\
-Monitoring, Analysis and Reporting Technology System (SMART) built \
-into most modern ATA and SCSI hard disks. In many cases, these \
-utilities will provide advanced warning of disk degradation and failure."
-
-HOMEPAGE = "http://smartmontools.sourceforge.net/"
-SECTION = "console/utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
- file://initd.smartd \
- file://smartmontools.default \
- file://smartd.service \
- file://0001-os_linux.cpp-Use-realpath-BSD-POSIX-instead-of-canon.patch \
- "
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"
-PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
-PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
-
-SRC_URI[md5sum] = "9ae2c6e7131cd2813edcc65cbe5f223f"
-SRC_URI[sha256sum] = "51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054"
-
-inherit autotools update-rc.d systemd
-
-SYSTEMD_SERVICE_${PN} = "smartd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_install_append () {
- #install the init.d/smartd
- install -d ${D}${sysconfdir}/init.d
- install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
- install -d ${D}${sysconfdir}/default
- install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools
-
- #install systemd service file
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/smartd.service
-}
-
-INITSCRIPT_NAME = "smartd"
-INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ."
-
-RDEPENDS_${PN} += "mailx"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.1.bb
new file mode 100644
index 00000000..b401272d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.1.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Control and monitor storage systems using S.M.A.R.T"
+DESCRIPTION = "\
+The smartmontools package contains two utility programs (smartctl \
+and smartd) to control and monitor storage systems using the Self-\
+Monitoring, Analysis and Reporting Technology System (SMART) built \
+into most modern ATA and SCSI hard disks. In many cases, these \
+utilities will provide advanced warning of disk degradation and failure."
+
+HOMEPAGE = "http://smartmontools.sourceforge.net/"
+SECTION = "console/utils"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
+ file://initd.smartd \
+ file://smartmontools.default \
+ file://smartd.service \
+ "
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"
+PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
+PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
+
+SRC_URI[md5sum] = "430cd5f64caa4524018b536e5ecd9c29"
+SRC_URI[sha256sum] = "3f734d2c99deb1e4af62b25d944c6252de70ca64d766c4c7294545a2e659b846"
+
+inherit autotools update-rc.d systemd
+
+SYSTEMD_SERVICE_${PN} = "smartd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install_append () {
+ #install the init.d/smartd
+ install -d ${D}${sysconfdir}/init.d
+ install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
+ install -d ${D}${sysconfdir}/default
+ install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools
+
+ #install systemd service file
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_unitdir}/system/smartd.service
+}
+
+INITSCRIPT_NAME = "smartd"
+INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ."
+
+RDEPENDS_${PN} += "mailx"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.7.bb b/external/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.7.bb
deleted file mode 100644
index 9f37c5fc..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.7.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2014 Wind River Systems, Inc.
-# Released under the BSD-3-Clause license (see COPYING.BSD-3 for the terms)
-#
-SUMMARY = "A compression/decompression library"
-DESCRIPTION = "Snappy is a fast data compression and decompression library \
-It was designed to be very fast and stable, but not to achieve a high \
-compression ratio."
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
-
-SRC_URI = "https://src.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.7.tar.gz/sha512/32046f532606ba545a4e4825c0c66a19be449f2ca2ff760a6fa170a3603731479a7deadb683546e5f8b5033414c50f4a9a29f6d23b7a41f047e566e69eca7caf/snappy-1.1.7.tar.gz"
-
-SRC_URI[md5sum] = "ee9086291c9ae8deb4dac5e0b85bf54a"
-SRC_URI[sha256sum] = "3dfa02e873ff51a11ee02b9ca391807f0c8ea0529a4924afa645fbf97163f9d4"
-
-inherit cmake pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lzo] = "-DHAVE_LIBLZO2=1,-DHAVE_LIBLZO2=0,lzo,"
-TARGET_CFLAGS += "-fPIC"
-
-EXTRA_OECMAKE += '-DBUILD_SHARED_LIBS="ON" \
- '
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb b/external/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb
new file mode 100644
index 00000000..d6d1e411
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2014 Wind River Systems, Inc.
+# Released under the BSD-3-Clause license (see COPYING.BSD-3 for the terms)
+#
+SUMMARY = "A compression/decompression library"
+DESCRIPTION = "Snappy is a fast data compression and decompression library \
+It was designed to be very fast and stable, but not to achieve a high \
+compression ratio."
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
+
+SRC_URI = "https://src.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.8.tar.gz/sha512/efe18ff1b3edda1b4b6cefcbc6da8119c05d63afdbf7a784f3490353c74dced76baed7b5f1aa34b99899729192b9d657c33c76de4b507a51553fa8001ae75c1c/snappy-1.1.8.tar.gz"
+
+SRC_URI[md5sum] = "70e48cba7fecf289153d009791c9977f"
+SRC_URI[sha256sum] = "16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lzo] = "-DHAVE_LIBLZO2=1,-DHAVE_LIBLZO2=0,lzo,"
+TARGET_CFLAGS += "-fPIC"
+
+EXTRA_OECMAKE += '-DBUILD_SHARED_LIBS="ON" \
+ '
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
index 6ce3cab1..e40e1cd2 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
@@ -1,6 +1,6 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=72d977d697c3c05830fdff00a7448931"
-SRCREV = "6003f9997587e6a563cebf1f246bcd0eb6deff3d"
+SRCREV = "b31bce98d65f894aad6427bcf6f3f7822e261a59"
PV = "1.0+git${SRCPV}"
SRC_URI = "git://github.com/hartkopp/can-isotp.git;protocol=https"
@@ -10,3 +10,5 @@ S = "${WORKDIR}/git"
inherit module
EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
+
+PNBLACKLIST[can-isotp] = "Kernel module Needs forward porting to kernel 5.2+"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
index a2d62c36..51936881 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
@@ -1,16 +1,15 @@
SUMMARY = "Linux CAN network development utilities"
-DESCRIPTION = "Linux CAN network development"
LICENSE = "GPLv2 & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=43;md5=390a2c9a3c5e3595a069ac1436553ee7"
+LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=44;md5=a9e1169c6c9a114a61329e99f86fdd31"
DEPENDS = "libsocketcan"
-SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git;branch=master"
-SRCREV = "4c8fb05cb4d6ddcd67299008db54af423f86fd05"
+SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git"
-PV = "0.0+gitr${SRCPV}"
+SRCREV = "da65fdfe0d1986625ee00af0b56ae17ec132e700"
+
+PV = "2020.02.04"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb b/external/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb
deleted file mode 100644
index 60ca5801..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Control basic functions in socketcan from userspace"
-HOMEPAGE = "http://www.pengutronix.de"
-SECTION = "libs/network"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
-
-SRCREV = "51f1610160a1707f026f8c2d714a6f7aa3ca232b"
-
-SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb b/external/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb
new file mode 100644
index 00000000..0debe47e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Control basic functions in socketcan from userspace"
+HOMEPAGE = "http://www.pengutronix.de"
+SECTION = "libs/network"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
+
+SRCREV = "0ff01ae7e4d271a7b81241e7a7026bfcea0add3f"
+
+SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
index 7d3f8a19..cb806115 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
@@ -9,42 +9,41 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
userspace/libsinsp/utils.h | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
-diff --git a/userspace/libsinsp/utils.cpp b/userspace/libsinsp/utils.cpp
-index 8f23f9c..c496a57 100644
--- a/userspace/libsinsp/utils.cpp
+++ b/userspace/libsinsp/utils.cpp
-@@ -21,7 +21,9 @@ along with sysdig. If not, see <http://www.gnu.org/licenses/>.
+@@ -22,7 +22,7 @@ limitations under the License.
#include <limits.h>
#include <stdlib.h>
#include <sys/time.h>
-+#ifdef __GLIBC__
+-#ifndef CYGWING_AGENT
++#if !defined(CYGWING_AGENT) || defined(__GLIBC__)
#include <execinfo.h>
-+#endif
+ #endif
#include <unistd.h>
- #include <sys/time.h>
- #include <netdb.h>
-@@ -741,7 +743,7 @@ uint64_t sinsp_utils::get_current_time_ns()
- return tv.tv_sec * (uint64_t) 1000000000 + tv.tv_usec * 1000;
- }
+@@ -780,6 +780,7 @@ bool sinsp_utils::glob_match(const char
--#ifndef _WIN32
-+#if defined(_WIN32) && defined(__GLIBC__)
+ #ifndef CYGWING_AGENT
+ #ifndef _WIN32
++#ifdef __GLIBC__
void sinsp_utils::bt(void)
{
static const char start[] = "BACKTRACE ------------";
-diff --git a/userspace/libsinsp/utils.h b/userspace/libsinsp/utils.h
-index 600d00b..4ab4650 100644
+@@ -801,6 +802,7 @@ void sinsp_utils::bt(void)
+
+ free(bt_syms);
+ }
++#endif // Glibc
+ #endif // _WIN32
+ #endif // CYGWING_AGENT
+
--- a/userspace/libsinsp/utils.h
+++ b/userspace/libsinsp/utils.h
-@@ -79,7 +79,7 @@ public:
+@@ -104,7 +104,7 @@ public:
- static uint64_t get_current_time_ns();
+ static bool glob_match(const char *pattern, const char *string);
-#ifndef _WIN32
+#if not defined(_WIN32) && defined(__GLIBC__)
//
// Print the call stack
//
---
-2.6.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch
new file mode 100644
index 00000000..71b0b8c8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch
@@ -0,0 +1,96 @@
+From ae82de664a6ba6ab2654adf9bed81f22b6fdc19d Mon Sep 17 00:00:00 2001
+From: Evgeni Golov <evgeni@golov.de>
+Date: Sun, 27 Aug 2017 13:51:19 +0200
+Subject: [PATCH] fix build with LuaJIT 2.1 betas
+
+LuaJIT 2.1 drops some compat symbols [1]. And while I think that this is
+wrong, as it breaks compatibility with Lua 5.1 [2], it is quite easy to
+adopt the code to work with both versions (2.0 and 2.1) of LuaJIT and
+remain Lua 5.1 compatible.
+
+[1] https://github.com/LuaJIT/LuaJIT/commit/dc320ca70f2c5bb3977b82853bcee6dad2523d01
+[2] https://github.com/LuaJIT/LuaJIT/issues/325
+
+Upstream-Status: Submitted [https://github.com/LuaJIT/LuaJIT/issues/325]
+Signed-off-by: Evgeni Golov <evgeni@golov.de>
+sysdig-CLA-1.0-signed-off-by: Evgeni Golov <evgeni@golov.de>
+---
+ CMakeLists.txt | 2 +-
+ userspace/libsinsp/chisel.cpp | 6 +++---
+ userspace/libsinsp/lua_parser.cpp | 2 +-
+ userspace/libsinsp/lua_parser_api.cpp | 2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d7020493..33e524f5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -140,7 +140,7 @@ option(USE_BUNDLED_DEPS "Enable bundled dependencies instead of using the system
+ option(USE_BUNDLED_LUAJIT "Enable building of the bundled LuaJIT" ${USE_BUNDLED_DEPS})
+
+ if(NOT USE_BUNDLED_LUAJIT)
+- find_path(LUAJIT_INCLUDE luajit.h PATH_SUFFIXES luajit-2.0 luajit)
++ find_path(LUAJIT_INCLUDE luajit.h PATH_SUFFIXES luajit-2.1 luajit-2.0 luajit)
+ find_library(LUAJIT_LIB NAMES luajit luajit-5.1)
+ if(LUAJIT_INCLUDE AND LUAJIT_LIB)
+ message(STATUS "Found LuaJIT: include: ${LUAJIT_INCLUDE}, lib: ${LUAJIT_LIB}")
+diff --git a/userspace/libsinsp/chisel.cpp b/userspace/libsinsp/chisel.cpp
+index 0a6e3cf8..0c2e255a 100644
+--- a/userspace/libsinsp/chisel.cpp
++++ b/userspace/libsinsp/chisel.cpp
+@@ -98,7 +98,7 @@ void lua_stackdump(lua_State *L)
+ // Lua callbacks
+ ///////////////////////////////////////////////////////////////////////////////
+ #ifdef HAS_LUA_CHISELS
+-const static struct luaL_reg ll_sysdig [] =
++const static struct luaL_Reg ll_sysdig [] =
+ {
+ {"set_filter", &lua_cbacks::set_global_filter},
+ {"set_snaplen", &lua_cbacks::set_snaplen},
+@@ -134,7 +134,7 @@ const static struct luaL_reg ll_sysdig [] =
+ {NULL,NULL}
+ };
+
+-const static struct luaL_reg ll_chisel [] =
++const static struct luaL_Reg ll_chisel [] =
+ {
+ {"request_field", &lua_cbacks::request_field},
+ {"set_filter", &lua_cbacks::set_filter},
+@@ -146,7 +146,7 @@ const static struct luaL_reg ll_chisel [] =
+ {NULL,NULL}
+ };
+
+-const static struct luaL_reg ll_evt [] =
++const static struct luaL_Reg ll_evt [] =
+ {
+ {"field", &lua_cbacks::field},
+ {"get_num", &lua_cbacks::get_num},
+diff --git a/userspace/libsinsp/lua_parser.cpp b/userspace/libsinsp/lua_parser.cpp
+index 0e26617d..78810d96 100644
+--- a/userspace/libsinsp/lua_parser.cpp
++++ b/userspace/libsinsp/lua_parser.cpp
+@@ -32,7 +32,7 @@ extern "C" {
+ #include "lauxlib.h"
+ }
+
+-const static struct luaL_reg ll_filter [] =
++const static struct luaL_Reg ll_filter [] =
+ {
+ {"rel_expr", &lua_parser_cbacks::rel_expr},
+ {"bool_op", &lua_parser_cbacks::bool_op},
+diff --git a/userspace/libsinsp/lua_parser_api.cpp b/userspace/libsinsp/lua_parser_api.cpp
+index c89e9126..e0169fe1 100644
+--- a/userspace/libsinsp/lua_parser_api.cpp
++++ b/userspace/libsinsp/lua_parser_api.cpp
+@@ -266,7 +266,7 @@ int lua_parser_cbacks::rel_expr(lua_State *ls)
+ string err = "Got non-table as in-expression operand\n";
+ throw sinsp_exception("parser API error");
+ }
+- int n = luaL_getn(ls, 4); /* get size of table */
++ int n = (int)lua_objlen(ls, 4); /* get size of table */
+ for (i=1; i<=n; i++)
+ {
+ lua_rawgeti(ls, 4, i);
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch
deleted file mode 100644
index 8fec0ca5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From c2782a6ca968190e221c25b0890600ba8cd43798 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 23 Oct 2015 00:23:15 -0700
-Subject: [PATCH] libsinsp: Port to build with lua >= 5.2
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- userspace/libsinsp/chisel.cpp | 40 +++++++++++++++++++++++++++++-----------
- 1 file changed, 29 insertions(+), 11 deletions(-)
-
-diff --git a/userspace/libsinsp/chisel.cpp b/userspace/libsinsp/chisel.cpp
-index 3cfbd8d..2db9348 100644
---- a/userspace/libsinsp/chisel.cpp
-+++ b/userspace/libsinsp/chisel.cpp
-@@ -94,7 +94,7 @@ void lua_stackdump(lua_State *L)
- // Lua callbacks
- ///////////////////////////////////////////////////////////////////////////////
- #ifdef HAS_LUA_CHISELS
--const static struct luaL_reg ll_sysdig [] =
-+const static struct luaL_Reg ll_sysdig [] =
- {
- {"set_filter", &lua_cbacks::set_global_filter},
- {"set_snaplen", &lua_cbacks::set_snaplen},
-@@ -120,7 +120,7 @@ const static struct luaL_reg ll_sysdig [] =
- {NULL,NULL}
- };
-
--const static struct luaL_reg ll_chisel [] =
-+const static struct luaL_Reg ll_chisel [] =
- {
- {"request_field", &lua_cbacks::request_field},
- {"set_filter", &lua_cbacks::set_filter},
-@@ -131,7 +131,7 @@ const static struct luaL_reg ll_chisel [] =
- {NULL,NULL}
- };
-
--const static struct luaL_reg ll_evt [] =
-+const static struct luaL_Reg ll_evt [] =
- {
- {"field", &lua_cbacks::field},
- {"get_num", &lua_cbacks::get_num},
-@@ -853,10 +853,28 @@ bool sinsp_chisel::parse_view_info(lua_State *ls, OUT chisel_desc* cd)
-
-
- #ifdef HAS_LUA_CHISELS
-+static void chisel_lua_registerlib(lua_State *L, const char *libname,
-+ const luaL_Reg *l, int ind)
-+{
-+#if LUA_VERSION_NUM >= 502
-+ if (libname)
-+ {
-+ lua_newtable(L);
-+ luaL_setfuncs(L, l, ind);
-+ lua_pushvalue(L, -1);
-+ lua_setglobal(L, libname);
-+ }
-+ else
-+ luaL_setfuncs(L, l, ind);
-+#else
-+ luaL_register(L, libname, l);
-+#endif
-+}
-+
- // Initializes a lua chisel
- bool sinsp_chisel::init_lua_chisel(chisel_desc &cd, string const &fpath)
- {
-- lua_State* ls = lua_open();
-+ lua_State* ls = luaL_newstate();
- if(ls == NULL)
- {
- return false;
-@@ -867,9 +885,9 @@ bool sinsp_chisel::init_lua_chisel(chisel_desc &cd, string const &fpath)
- //
- // Load our own lua libs
- //
-- luaL_openlib(ls, "sysdig", ll_sysdig, 0);
-- luaL_openlib(ls, "chisel", ll_chisel, 0);
-- luaL_openlib(ls, "evt", ll_evt, 0);
-+ chisel_lua_registerlib(ls, "sysdig", ll_sysdig, 0);
-+ chisel_lua_registerlib(ls, "chisel", ll_chisel, 0);
-+ chisel_lua_registerlib(ls, "evt", ll_evt, 0);
-
- //
- // Add our chisel paths to package.path
-@@ -1111,16 +1129,16 @@ void sinsp_chisel::load(string cmdstr)
- //
- // Open the script
- //
-- m_ls = lua_open();
-+ m_ls = luaL_newstate();
-
- luaL_openlibs(m_ls);
-
- //
- // Load our own lua libs
- //
-- luaL_openlib(m_ls, "sysdig", ll_sysdig, 0);
-- luaL_openlib(m_ls, "chisel", ll_chisel, 0);
-- luaL_openlib(m_ls, "evt", ll_evt, 0);
-+ chisel_lua_registerlib(m_ls, "sysdig", ll_sysdig, 0);
-+ chisel_lua_registerlib(m_ls, "chisel", ll_chisel, 0);
-+ chisel_lua_registerlib(m_ls, "evt", ll_evt, 0);
-
- //
- // Add our chisel paths to package.path
---
-2.6.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch
new file mode 100644
index 00000000..f16b0eca
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch
@@ -0,0 +1,359 @@
+Check if legacy syscalls exist
+
+A lot of legacy syscalls are replaced with *at and are not implemented in newer
+architectures like aarch64
+
+Upstream-Status: Submitted [https://github.com/draios/sysdig/pull/1601]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/driver/syscall_table.c
++++ b/driver/syscall_table.c
+@@ -42,26 +42,46 @@ or GPL2.txt for full copies of the licen
+ * SYSCALL TABLE
+ */
+ const struct syscall_evt_pair g_syscall_table[SYSCALL_TABLE_SIZE] = {
++#ifdef __NR_open
+ [__NR_open - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_OPEN_E, PPME_SYSCALL_OPEN_X},
++#endif
++#ifdef __NR_creat
+ [__NR_creat - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_CREAT_E, PPME_SYSCALL_CREAT_X},
++#endif
+ [__NR_close - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CLOSE_E, PPME_SYSCALL_CLOSE_X},
+ [__NR_brk - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_BRK_4_E, PPME_SYSCALL_BRK_4_X},
+ [__NR_read - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_READ_E, PPME_SYSCALL_READ_X},
+ [__NR_write - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_WRITE_E, PPME_SYSCALL_WRITE_X},
+ [__NR_execve - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_EXECVE_19_E, PPME_SYSCALL_EXECVE_19_X},
+ [__NR_clone - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CLONE_20_E, PPME_SYSCALL_CLONE_20_X},
++#ifdef __NR_fork
+ [__NR_fork - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_FORK_20_E, PPME_SYSCALL_FORK_20_X},
++#endif
++#ifdef __NR_vfork
+ [__NR_vfork - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_VFORK_20_E, PPME_SYSCALL_VFORK_20_X},
++#endif
++#ifdef __NR_pipe
+ [__NR_pipe - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_PIPE_E, PPME_SYSCALL_PIPE_X},
++#endif
+ [__NR_pipe2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_PIPE_E, PPME_SYSCALL_PIPE_X},
++#ifdef __NR_eventfd
+ [__NR_eventfd - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_EVENTFD_E, PPME_SYSCALL_EVENTFD_X},
++#endif
+ [__NR_eventfd2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_EVENTFD_E, PPME_SYSCALL_EVENTFD_X},
+ [__NR_futex - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_FUTEX_E, PPME_SYSCALL_FUTEX_X},
++#ifdef __NR_stat
+ [__NR_stat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_STAT_E, PPME_SYSCALL_STAT_X},
++#endif
++#ifdef __NR_lstat
+ [__NR_lstat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_LSTAT_E, PPME_SYSCALL_LSTAT_X},
++#endif
+ [__NR_fstat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_FSTAT_E, PPME_SYSCALL_FSTAT_X},
++#ifdef __NR_epoll_wait
+ [__NR_epoll_wait - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_EPOLLWAIT_E, PPME_SYSCALL_EPOLLWAIT_X},
++#endif
++#ifdef __NR_poll
+ [__NR_poll - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_POLL_E, PPME_SYSCALL_POLL_X},
++#endif
+ #ifdef __NR_select
+ [__NR_select - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_SELECT_E, PPME_SYSCALL_SELECT_X},
+ #endif
+@@ -70,13 +90,21 @@ const struct syscall_evt_pair g_syscall_
+ [__NR_getcwd - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETCWD_E, PPME_SYSCALL_GETCWD_X},
+ [__NR_chdir - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CHDIR_E, PPME_SYSCALL_CHDIR_X},
+ [__NR_fchdir - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_FCHDIR_E, PPME_SYSCALL_FCHDIR_X},
++#ifdef __NR_mkdir
+ [__NR_mkdir - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_MKDIR_2_E, PPME_SYSCALL_MKDIR_2_X},
++#endif
++#ifdef __NR_rmdir
+ [__NR_rmdir - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RMDIR_2_E, PPME_SYSCALL_RMDIR_2_X},
++#endif
+ [__NR_openat - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_OPENAT_2_E, PPME_SYSCALL_OPENAT_2_X},
+ [__NR_mkdirat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_MKDIRAT_E, PPME_SYSCALL_MKDIRAT_X},
++#ifdef __NR_link
+ [__NR_link - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_LINK_2_E, PPME_SYSCALL_LINK_2_X},
++#endif
+ [__NR_linkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_LINKAT_2_E, PPME_SYSCALL_LINKAT_2_X},
++#ifdef __NR_unlink
+ [__NR_unlink - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_UNLINK_2_E, PPME_SYSCALL_UNLINK_2_X},
++#endif
+ [__NR_unlinkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_UNLINKAT_2_E, PPME_SYSCALL_UNLINKAT_2_X},
+ [__NR_pread64 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PREAD_E, PPME_SYSCALL_PREAD_X},
+ [__NR_pwrite64 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PWRITE_E, PPME_SYSCALL_PWRITE_X},
+@@ -85,16 +113,22 @@ const struct syscall_evt_pair g_syscall_
+ [__NR_preadv - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PREADV_E, PPME_SYSCALL_PREADV_X},
+ [__NR_pwritev - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PWRITEV_E, PPME_SYSCALL_PWRITEV_X},
+ [__NR_dup - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
++#ifdef __NR_dup2
+ [__NR_dup2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
++#endif
+ [__NR_dup3 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
++#ifdef __NR_signalfd
+ [__NR_signalfd - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_SIGNALFD_E, PPME_SYSCALL_SIGNALFD_X},
++#endif
+ [__NR_signalfd4 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_SIGNALFD_E, PPME_SYSCALL_SIGNALFD_X},
+ [__NR_kill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_KILL_E, PPME_SYSCALL_KILL_X},
+ [__NR_tkill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_TKILL_E, PPME_SYSCALL_TKILL_X},
+ [__NR_tgkill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_TGKILL_E, PPME_SYSCALL_TGKILL_X},
+ [__NR_nanosleep - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_NANOSLEEP_E, PPME_SYSCALL_NANOSLEEP_X},
+ [__NR_timerfd_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_TIMERFD_CREATE_E, PPME_SYSCALL_TIMERFD_CREATE_X},
++#ifdef __NR_inotify_init
+ [__NR_inotify_init - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_INOTIFY_INIT_E, PPME_SYSCALL_INOTIFY_INIT_X},
++#endif
+ [__NR_inotify_init1 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_INOTIFY_INIT_E, PPME_SYSCALL_INOTIFY_INIT_X},
+ [__NR_fchmodat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_FCHMODAT_E, PPME_SYSCALL_FCHMODAT_X},
+ [__NR_fchmod - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_FCHMOD_E, PPME_SYSCALL_FCHMOD_X},
+@@ -114,14 +148,22 @@ const struct syscall_evt_pair g_syscall_
+ #endif
+ /* [__NR_old_select - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X}, */
+ [__NR_pselect6 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#ifdef __NR_epoll_create
+ [__NR_epoll_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#endif
+ [__NR_epoll_ctl - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#ifdef __NR_uselib
+ [__NR_uselib - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#endif
+ [__NR_sched_setparam - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+ [__NR_sched_getparam - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+ [__NR_syslog - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#ifdef __NR_chmod
+ [__NR_chmod - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_CHMOD_E, PPME_SYSCALL_CHMOD_X},
++#endif
++#ifdef __NR_lchown
+ [__NR_lchown - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X},
++#endif
+ #ifdef __NR_utime
+ [__NR_utime - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+ #endif
+@@ -131,8 +173,9 @@ const struct syscall_evt_pair g_syscall_
+ #ifdef __NR_alarm
+ [__NR_alarm - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+ #endif
++#ifdef __NR_pause
+ [__NR_pause - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+-
++#endif
+ #ifndef __NR_socketcall
+ [__NR_socket - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SOCKET_SOCKET_E, PPME_SOCKET_SOCKET_X},
+ [__NR_bind - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SOCKET_BIND_E, PPME_SOCKET_BIND_X},
+@@ -184,9 +227,13 @@ const struct syscall_evt_pair g_syscall_
+ [__NR_process_vm_writev - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X},
+ #endif
+
++#ifdef __NR_rename
+ [__NR_rename - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RENAME_E, PPME_SYSCALL_RENAME_X},
++#endif
+ [__NR_renameat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RENAMEAT_E, PPME_SYSCALL_RENAMEAT_X},
++#ifdef __NR_symlink
+ [__NR_symlink - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SYMLINK_E, PPME_SYSCALL_SYMLINK_X},
++#endif
+ [__NR_symlinkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SYMLINKAT_E, PPME_SYSCALL_SYMLINKAT_X},
+ [__NR_sendfile - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SENDFILE_E, PPME_SYSCALL_SENDFILE_X},
+ #ifdef __NR_sendfile64
+@@ -255,7 +302,9 @@ const struct syscall_evt_pair g_syscall_
+ #ifdef __NR_getresgid32
+ [__NR_getresgid32 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_GETRESGID_E, PPME_SYSCALL_GETRESGID_X },
+ #endif
++#ifdef __NR_getdents
+ [__NR_getdents - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETDENTS_E, PPME_SYSCALL_GETDENTS_X},
++#endif
+ [__NR_getdents64 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETDENTS64_E, PPME_SYSCALL_GETDENTS64_X},
+ #ifdef __NR_setns
+ [__NR_setns - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SETNS_E, PPME_SYSCALL_SETNS_X},
+@@ -298,19 +347,33 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_exit - SYSCALL_TABLE_ID0] = PPM_SC_EXIT,
+ [__NR_read - SYSCALL_TABLE_ID0] = PPM_SC_READ,
+ [__NR_write - SYSCALL_TABLE_ID0] = PPM_SC_WRITE,
++#ifdef __NR_open
+ [__NR_open - SYSCALL_TABLE_ID0] = PPM_SC_OPEN,
++#endif
+ [__NR_close - SYSCALL_TABLE_ID0] = PPM_SC_CLOSE,
++#ifdef __NR_creat
+ [__NR_creat - SYSCALL_TABLE_ID0] = PPM_SC_CREAT,
++#endif
++#ifdef __NR_link
+ [__NR_link - SYSCALL_TABLE_ID0] = PPM_SC_LINK,
++#endif
++#ifdef __NR_unlink
+ [__NR_unlink - SYSCALL_TABLE_ID0] = PPM_SC_UNLINK,
++#endif
+ [__NR_chdir - SYSCALL_TABLE_ID0] = PPM_SC_CHDIR,
+ #ifdef __NR_time
+ [__NR_time - SYSCALL_TABLE_ID0] = PPM_SC_TIME,
+ #endif
++#ifdef __NR_mknod
+ [__NR_mknod - SYSCALL_TABLE_ID0] = PPM_SC_MKNOD,
++#endif
++#ifdef __NR_chmod
+ [__NR_chmod - SYSCALL_TABLE_ID0] = PPM_SC_CHMOD,
++#endif
+ /* [__NR_lchown16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_LCHOWN16, */
++#ifdef __NR_stat
+ [__NR_stat - SYSCALL_TABLE_ID0] = PPM_SC_STAT,
++#endif
+ [__NR_lseek - SYSCALL_TABLE_ID0] = PPM_SC_LSEEK,
+ [__NR_getpid - SYSCALL_TABLE_ID0] = PPM_SC_GETPID,
+ [__NR_mount - SYSCALL_TABLE_ID0] = PPM_SC_MOUNT,
+@@ -322,17 +385,27 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_alarm - SYSCALL_TABLE_ID0] = PPM_SC_ALARM,
+ #endif
+ [__NR_fstat - SYSCALL_TABLE_ID0] = PPM_SC_FSTAT,
++#ifdef __NR_pause
+ [__NR_pause - SYSCALL_TABLE_ID0] = PPM_SC_PAUSE,
++#endif
+ #ifdef __NR_utime
+ [__NR_utime - SYSCALL_TABLE_ID0] = PPM_SC_UTIME,
+ #endif
+ [__NR_sync - SYSCALL_TABLE_ID0] = PPM_SC_SYNC,
+ [__NR_kill - SYSCALL_TABLE_ID0] = PPM_SC_KILL,
++#ifdef __NR_rename
+ [__NR_rename - SYSCALL_TABLE_ID0] = PPM_SC_RENAME,
++#endif
++#ifdef __NR_mkdir
+ [__NR_mkdir - SYSCALL_TABLE_ID0] = PPM_SC_MKDIR,
++#endif
++#ifdef __NR_rmdir
+ [__NR_rmdir - SYSCALL_TABLE_ID0] = PPM_SC_RMDIR,
++#endif
+ [__NR_dup - SYSCALL_TABLE_ID0] = PPM_SC_DUP,
++#ifdef __NR_pipe
+ [__NR_pipe - SYSCALL_TABLE_ID0] = PPM_SC_PIPE,
++#endif
+ [__NR_times - SYSCALL_TABLE_ID0] = PPM_SC_TIMES,
+ [__NR_brk - SYSCALL_TABLE_ID0] = PPM_SC_BRK,
+ /* [__NR_setgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETGID16, */
+@@ -345,10 +418,16 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_setpgid - SYSCALL_TABLE_ID0] = PPM_SC_SETPGID,
+ [__NR_umask - SYSCALL_TABLE_ID0] = PPM_SC_UMASK,
+ [__NR_chroot - SYSCALL_TABLE_ID0] = PPM_SC_CHROOT,
++#ifdef __NR_ustat
+ [__NR_ustat - SYSCALL_TABLE_ID0] = PPM_SC_USTAT,
++#endif
++#ifdef __NR_dup2
+ [__NR_dup2 - SYSCALL_TABLE_ID0] = PPM_SC_DUP2,
++#endif
+ [__NR_getppid - SYSCALL_TABLE_ID0] = PPM_SC_GETPPID,
++#ifdef __NR_getpgrp
+ [__NR_getpgrp - SYSCALL_TABLE_ID0] = PPM_SC_GETPGRP,
++#endif
+ [__NR_setsid - SYSCALL_TABLE_ID0] = PPM_SC_SETSID,
+ [__NR_sethostname - SYSCALL_TABLE_ID0] = PPM_SC_SETHOSTNAME,
+ [__NR_setrlimit - SYSCALL_TABLE_ID0] = PPM_SC_SETRLIMIT,
+@@ -359,10 +438,18 @@ const enum ppm_syscall_code g_syscall_co
+ /* [__NR_getgroups16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETGROUPS16, */
+ /* [__NR_setgroups16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETGROUPS16, */
+ /* [__NR_old_select - SYSCALL_TABLE_ID0] = PPM_SC_NR_OLD_SELECT, */
++#ifdef __NR_symlink
+ [__NR_symlink - SYSCALL_TABLE_ID0] = PPM_SC_SYMLINK,
++#endif
++#ifdef __NR_lstat
+ [__NR_lstat - SYSCALL_TABLE_ID0] = PPM_SC_LSTAT,
++#endif
++#ifdef __NR_readlink
+ [__NR_readlink - SYSCALL_TABLE_ID0] = PPM_SC_READLINK,
++#endif
++#ifdef __NR_uselib
+ [__NR_uselib - SYSCALL_TABLE_ID0] = PPM_SC_USELIB,
++#endif
+ [__NR_swapon - SYSCALL_TABLE_ID0] = PPM_SC_SWAPON,
+ [__NR_reboot - SYSCALL_TABLE_ID0] = PPM_SC_REBOOT,
+ /* [__NR_old_readdir - SYSCALL_TABLE_ID0] = PPM_SC_NR_OLD_READDIR, */
+@@ -399,12 +486,16 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_delete_module - SYSCALL_TABLE_ID0] = PPM_SC_DELETE_MODULE,
+ [__NR_getpgid - SYSCALL_TABLE_ID0] = PPM_SC_GETPGID,
+ [__NR_fchdir - SYSCALL_TABLE_ID0] = PPM_SC_FCHDIR,
++#ifdef __NR_sysfs
+ [__NR_sysfs - SYSCALL_TABLE_ID0] = PPM_SC_SYSFS,
++#endif
+ [__NR_personality - SYSCALL_TABLE_ID0] = PPM_SC_PERSONALITY,
+ /* [__NR_setfsuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETFSUID16, */
+ /* [__NR_setfsgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETFSGID16, */
+ /* [__NR_llseek - SYSCALL_TABLE_ID0] = PPM_SC_NR_LLSEEK, */
++#ifdef __NR_getdents
+ [__NR_getdents - SYSCALL_TABLE_ID0] = PPM_SC_GETDENTS,
++#endif
+ #ifdef __NR_select
+ [__NR_select - SYSCALL_TABLE_ID0] = PPM_SC_SELECT,
+ #endif
+@@ -431,7 +522,9 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_mremap - SYSCALL_TABLE_ID0] = PPM_SC_MREMAP,
+ /* [__NR_setresuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETRESUID16, */
+ /* [__NR_getresuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETRESUID16, */
++#ifdef __NR_poll
+ [__NR_poll - SYSCALL_TABLE_ID0] = PPM_SC_POLL,
++#endif
+ /* [__NR_setresgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETRESGID16, */
+ /* [__NR_getresgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETRESGID16, */
+ [__NR_prctl - SYSCALL_TABLE_ID0] = PPM_SC_PRCTL,
+@@ -453,13 +546,17 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_getrlimit - SYSCALL_TABLE_ID0] = PPM_SC_GETRLIMIT,
+ #endif
+ /* [__NR_mmap_pgoff - SYSCALL_TABLE_ID0] = PPM_SC_NR_MMAP_PGOFF, */
++#ifdef __NR_lchown
+ [__NR_lchown - SYSCALL_TABLE_ID0] = PPM_SC_LCHOWN,
++#endif
+ [__NR_setreuid - SYSCALL_TABLE_ID0] = PPM_SC_SETREUID,
+ [__NR_setregid - SYSCALL_TABLE_ID0] = PPM_SC_SETREGID,
+ [__NR_getgroups - SYSCALL_TABLE_ID0] = PPM_SC_GETGROUPS,
+ [__NR_setgroups - SYSCALL_TABLE_ID0] = PPM_SC_SETGROUPS,
+ [__NR_fchown - SYSCALL_TABLE_ID0] = PPM_SC_FCHOWN,
++#ifdef __NR_chown
+ [__NR_chown - SYSCALL_TABLE_ID0] = PPM_SC_CHOWN,
++#endif
+ [__NR_setfsuid - SYSCALL_TABLE_ID0] = PPM_SC_SETFSUID,
+ [__NR_setfsgid - SYSCALL_TABLE_ID0] = PPM_SC_SETFSGID,
+ [__NR_pivot_root - SYSCALL_TABLE_ID0] = PPM_SC_PIVOT_ROOT,
+@@ -494,9 +591,13 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_io_submit - SYSCALL_TABLE_ID0] = PPM_SC_IO_SUBMIT,
+ [__NR_io_cancel - SYSCALL_TABLE_ID0] = PPM_SC_IO_CANCEL,
+ [__NR_exit_group - SYSCALL_TABLE_ID0] = PPM_SC_EXIT_GROUP,
++#ifdef __NR_epoll_create
+ [__NR_epoll_create - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_CREATE,
++#endif
+ [__NR_epoll_ctl - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_CTL,
++#ifdef __NR_epoll_wait
+ [__NR_epoll_wait - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_WAIT,
++#endif
+ [__NR_remap_file_pages - SYSCALL_TABLE_ID0] = PPM_SC_REMAP_FILE_PAGES,
+ [__NR_set_tid_address - SYSCALL_TABLE_ID0] = PPM_SC_SET_TID_ADDRESS,
+ [__NR_timer_create - SYSCALL_TABLE_ID0] = PPM_SC_TIMER_CREATE,
+@@ -509,7 +610,9 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_clock_getres - SYSCALL_TABLE_ID0] = PPM_SC_CLOCK_GETRES,
+ [__NR_clock_nanosleep - SYSCALL_TABLE_ID0] = PPM_SC_CLOCK_NANOSLEEP,
+ [__NR_tgkill - SYSCALL_TABLE_ID0] = PPM_SC_TGKILL,
++#ifdef __NR_utimes
+ [__NR_utimes - SYSCALL_TABLE_ID0] = PPM_SC_UTIMES,
++#endif
+ [__NR_mq_open - SYSCALL_TABLE_ID0] = PPM_SC_MQ_OPEN,
+ [__NR_mq_unlink - SYSCALL_TABLE_ID0] = PPM_SC_MQ_UNLINK,
+ [__NR_mq_timedsend - SYSCALL_TABLE_ID0] = PPM_SC_MQ_TIMEDSEND,
+@@ -523,14 +626,18 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_keyctl - SYSCALL_TABLE_ID0] = PPM_SC_KEYCTL,
+ [__NR_ioprio_set - SYSCALL_TABLE_ID0] = PPM_SC_IOPRIO_SET,
+ [__NR_ioprio_get - SYSCALL_TABLE_ID0] = PPM_SC_IOPRIO_GET,
++#ifdef __NR_inotify_init
+ [__NR_inotify_init - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_INIT,
++#endif
+ [__NR_inotify_add_watch - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_ADD_WATCH,
+ [__NR_inotify_rm_watch - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_RM_WATCH,
+ [__NR_openat - SYSCALL_TABLE_ID0] = PPM_SC_OPENAT,
+ [__NR_mkdirat - SYSCALL_TABLE_ID0] = PPM_SC_MKDIRAT,
+ [__NR_mknodat - SYSCALL_TABLE_ID0] = PPM_SC_MKNODAT,
+ [__NR_fchownat - SYSCALL_TABLE_ID0] = PPM_SC_FCHOWNAT,
++#ifdef __NR_futimesat
+ [__NR_futimesat - SYSCALL_TABLE_ID0] = PPM_SC_FUTIMESAT,
++#endif
+ [__NR_unlinkat - SYSCALL_TABLE_ID0] = PPM_SC_UNLINKAT,
+ [__NR_renameat - SYSCALL_TABLE_ID0] = PPM_SC_RENAMEAT,
+ [__NR_linkat - SYSCALL_TABLE_ID0] = PPM_SC_LINKAT,
+@@ -551,9 +658,13 @@ const enum ppm_syscall_code g_syscall_co
+ #endif
+ [__NR_epoll_pwait - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_PWAIT,
+ [__NR_utimensat - SYSCALL_TABLE_ID0] = PPM_SC_UTIMENSAT,
++#ifdef __NR_signalfd
+ [__NR_signalfd - SYSCALL_TABLE_ID0] = PPM_SC_SIGNALFD,
++#endif
+ [__NR_timerfd_create - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_CREATE,
++#ifdef __NR_eventfd
+ [__NR_eventfd - SYSCALL_TABLE_ID0] = PPM_SC_EVENTFD,
++#endif
+ [__NR_timerfd_settime - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_SETTIME,
+ [__NR_timerfd_gettime - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_GETTIME,
+ [__NR_signalfd4 - SYSCALL_TABLE_ID0] = PPM_SC_SIGNALFD4,
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch
new file mode 100644
index 00000000..5c756294
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch
@@ -0,0 +1,16 @@
+Fix x86 build
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/userspace/libsinsp/cgroup_limits.cpp
++++ b/userspace/libsinsp/cgroup_limits.cpp
+@@ -9,7 +9,7 @@ namespace {
+ // This reports extremely large values (e.g. almost-but-not-quite 9EiB as set by k8s) as unlimited.
+ // Note: we use the same maximum value for cpu shares/quotas as well; the typical values are much lower
+ // and so should never exceed CGROUP_VAL_MAX either
+-constexpr const int64_t CGROUP_VAL_MAX = (1UL << 42u) - 1;
++constexpr const int64_t CGROUP_VAL_MAX = (1ULL << 42u) - 1;
+
+ /**
+ * \brief Read a single int64_t value from cgroupfs
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
index 4f58281f..04a022af 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
@@ -3,39 +3,52 @@ DESCRIPTION = "Sysdig is open source, system-level exploration: capture \
system state and activity from a running Linux instance, then save, \
filter and analyze."
HOMEPAGE = "http://www.sysdig.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LICENSE = "Apache-2.0 & (MIT | GPL-2.0)"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f8fee3d59797546cffab04f3b88b2d44"
inherit cmake pkgconfig
-OECMAKE_GENERATOR = "Unix Makefiles"
+#OECMAKE_GENERATOR = "Unix Makefiles"
+JIT ?= "jit"
+JIT_mipsarchn32 = ""
+JIT_mipsarchn64 = ""
+JIT_riscv64 = ""
+JIT_riscv32 = ""
-DEPENDS = "luajit zlib ncurses"
+DEPENDS += "lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp tbb jq openssl elfutils protobuf protobuf-native jq-native"
RDEPENDS_${PN} = "bash"
-SRC_URI = "git://github.com/draios/sysdig.git;branch=master \
- file://0001-libsinsp-Port-to-build-with-lua-5.2.patch \
+SRC_URI = "git://github.com/draios/sysdig.git;branch=dev \
+ file://0001-fix-build-with-LuaJIT-2.1-betas.patch \
file://0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch \
+ file://fix-uint64-const.patch \
+ file://aarch64.patch \
"
-SRCREV = "85d16f33a82a17f87ccdbc088749271c71d87013"
-PV = "0.1.102+git${SRCPV}"
+SRCREV = "8daeef8da752c5f07f439391bc20c5948eb11470"
+PV = "0.26.6"
S = "${WORKDIR}/git"
-DIR_ETC="/etc"
-EXTRA_OECMAKE = ' -DUSE_BUNDLED_LUAJIT="OFF" \
- -DUSE_BUNDLED_ZLIB="OFF" \
- -DBUILD_DRIVER="OFF" \
- -DUSE_BUNDLED_NCURSES="OFF" \
- -DDIR_ETC="${DIR_ETC}" \
- '
+EXTRA_OECMAKE = "\
+ -DBUILD_DRIVER=OFF \
+ -DUSE_BUNDLED_DEPS=OFF \
+ -DUSE_BUNDLED_B64=ON \
+ -DCREATE_TEST_TARGETS=OFF \
+ -DDIR_ETC=${sysconfdir} \
+ -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \
+ -DLUA_LIBRARY=libluajit-5.1.so \
+"
FILES_${PN} += " \
${DIR_ETC}/* \
${datadir}/zsh/* \
${prefix}/src/* \
"
-
-# luajit not supported on Aarch64
-COMPATIBLE_HOST = "^(?!aarch64).*"
-
+# Use getaddrinfo_a is a GNU extension in libsinsp
+# It should be fixed in sysdig, until then disable
+# on musl
+# Something like this https://code.videolan.org/ePirat/vlc/-/commit/01fd9fe4c7f6c5558f7345f38abf0152e17853ab is needed to fix it
+COMPATIBLE_HOST_libc-musl = "null"
+COMPATIBLE_HOST_mips = "null"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch b/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
deleted file mode 100644
index 976e0380..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 81c1ba940415595584a837ab1078c64855072f0c Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Mon, 21 Nov 2011 12:00:54 +0100
-Subject: [PATCH] t1lib: add 5.1.2
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
----
- configure.in | 95 ++++++++++++++++++++++++------------------------------------
- 1 file changed, 38 insertions(+), 57 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index eade4c0..e649ea9 100644
---- a/configure.in
-+++ b/configure.in
-@@ -74,9 +74,9 @@ T1LIB_PATCHLEVEL=builtin(eval, MACRO_T1LIB_LT_REVISION)
- T1LIB_VERSIONSTRING=\"MACRO_T1LIB_IDENTIFIER\"
-
-
--dnl We use this file by Andreas Zeller to check for libXaw
--builtin(include, ac-tools/ice_find_athena.m4)
--builtin(include, ac-tools/aclocal.m4)
-+#dnl We use this file by Andreas Zeller to check for libXaw
-+#builtin(include, ac-tools/ice_find_athena.m4)
-+#builtin(include, ac-tools/aclocal.m4)
-
- dnl We want these before the checks, so the checks can modify their values.
- test -z "$LDLIBS" && LDLIBS=-lm AC_SUBST(LDLIBS)
-@@ -162,6 +162,7 @@ fi
-
- dnl **** Check for underscore on external symbols ****
-
-+AH_TEMPLATE([NEED_UNDERSCORE_PREFIX], [Define if external symbols need an underscore prefix])
- AC_CACHE_CHECK("whether external symbols need an underscore prefix",
- ac_cv_c_extern_prefix,
- [saved_libs=$LIBS
-@@ -179,68 +180,48 @@ then
- AC_DEFINE(NEED_UNDERSCORE_PREFIX)
- fi
-
--dnl **** Check which ANSI integer type is 16 bit
--
--AC_CACHE_CHECK( "which ANSI integer type is 16 bit", ac_16bit_type,
-- AC_TRY_RUN([
--int main(void) {
-- if (sizeof(short)==2)
-- return(0);
-- else if (sizeof(int)==2)
-- return(1);
-- else
-- return(2);
--}], ac_16bit_type="short", ac_16bit_type="int", ac_16bit_type=))
--if test "$ac_16bit_type" = "short"
--then
-- T1_AA_TYPE16="-DT1_AA_TYPE16=short"
-- T1_INT16="short"
--else
-- T1_AA_TYPE16="-DT1_AA_TYPE16=int"
-- T1_INT16="int"
-+dnl **** Check which ANSI integer type is 16 bit
-+T1_AA_TYPE16=""
-+for type in short int; do
-+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x2"; then
-+ T1_AA_TYPE16="-DT1_AA_TYPE16=$type"
-+ T1_INT16="$type"
-+ break
-+ fi
-+done
-+
-+if test x"$T1_AA_TYPE16" = "x"; then
-+ AC_MSG_ERROR("Unable to determine which integer type is 16 bit.")
- fi
-
--
- dnl **** Check which ANSI integer type is 32 bit
--
--AC_CACHE_CHECK( "which ANSI integer type is 32 bit", ac_32bit_type,
-- AC_TRY_RUN([
--int main(void) {
-- if (sizeof(int)==4)
-- return(0);
-- else if (sizeof(long)==4)
-- return(1);
-- else
-- return(2);
--}], ac_32bit_type="int", ac_32bit_type="long", ac_32bit_type=))
--if test "$ac_32bit_type" = "int"
--then
-- T1_AA_TYPE32="-DT1_AA_TYPE32=int"
-- T1_INT32="int"
--else
-- T1_AA_TYPE32="-DT1_AA_TYPE32=long"
-- T1_INT32="long"
-+T1_AA_TYPE32=""
-+for type in int long; do
-+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x4"; then
-+ T1_AA_TYPE32="-DT1_AA_TYPE32=$type"
-+ T1_INT32="$type"
-+ break
-+ fi
-+done
-+
-+if test x"$T1_AA_TYPE32" = "x"; then
-+ AC_MSG_ERROR("Unable to determine which integer type is 32 bit.")
- fi
-
--
- dnl **** Check which ANSI integer type is 64 bit
--
--AC_CACHE_CHECK( "which ANSI integer type is 64 bit", ac_64bit_type,
-- AC_TRY_RUN([
--int main(void) {
-- if (sizeof(long)==8)
-- return(0);
-- else
-- return(1);
--}], ac_64bit_type="long", ac_64bit_type="<none>"))
--if test "$ac_64bit_type" = "long"
--then
-- T1_AA_TYPE64="-DT1_AA_TYPE64=long"
--else
-- T1_AA_TYPE64=
-+T1_AA_TYPE64=""
-+for type in long long_long; do
-+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x8"; then
-+ AC_MSG_WARN("$type is 64 bit")
-+ T1_AA_TYPE64="-DT1_AA_TYPE64=\"`echo $type|tr '_' ' '`\""
-+ break
-+ fi
-+done
-+
-+if test x"$T1_AA_TYPE64" = "x"; then
-+ AC_MSG_ERROR("Unable to determine which integer type is 64 bit.")
- fi
-
--
- CFLAGS="${CFLAGS} -DT1LIB_IDENT=\"\\\"${T1LIB_IDENTIFIER}\\\"\" -DGLOBAL_CONFIG_DIR=\"\\\"${T1LIB_DATA_DIR}\\\"\""
-
- dnl **** Check for functions and header files ****
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch b/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
deleted file mode 100644
index bc2476bf..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From cea83003de3ffebde92becd1e599fe3b28f0a7c4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 6 Mar 2017 23:13:36 -0800
-Subject: [PATCH] t1lib: Fix printf format string errors
-
-Fix printf formats to use format qualifiers
-fixes
-
-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
-
----
- lib/t1lib/t1subset.c | 2 +-
- lib/type1/objects.c | 2 +-
- lib/type1/objects.h | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/t1lib/t1subset.c b/lib/t1lib/t1subset.c
-index da427b2..e76974f 100644
---- a/lib/t1lib/t1subset.c
-+++ b/lib/t1lib/t1subset.c
-@@ -759,7 +759,7 @@ char *T1_SubsetFont( int FontID,
- 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 */
-diff --git a/lib/type1/objects.c b/lib/type1/objects.c
-index c413a0f..f828e6a 100644
---- a/lib/type1/objects.c
-+++ b/lib/type1/objects.c
-@@ -957,7 +957,7 @@ struct xobject *TypeErr(name, obj, expect, ret) /* non-ANSI avoids overly strict
-
- sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n",
- name, TypeFmt(expect), TypeFmt(obj->type));
-- IfTrace0(TRUE,typemsg);
-+ IfTrace1(TRUE, "%s", typemsg);
-
- ObjectPostMortem(obj);
-
-diff --git a/lib/type1/objects.h b/lib/type1/objects.h
-index 13cbae7..3a1d337 100644
---- a/lib/type1/objects.h
-+++ b/lib/type1/objects.h
-@@ -214,7 +214,7 @@ struct xobject {
- /*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/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch b/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
deleted file mode 100644
index da54f87a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From bab41f5e1fc1fc809da1371e6a0222e0eb21e5f0 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Mon, 21 Nov 2011 12:00:54 +0100
-Subject: [PATCH] t1lib: add 5.1.2
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
----
- Makefile.in | 5 +++--
- examples/Makefile.in | 5 +++--
- lib/Makefile.in | 6 ++++--
- lib/t1lib/Makefile.in | 6 ++++--
- lib/type1/Makefile.in | 6 ++++--
- type1afm/Makefile.in | 6 ++++--
- xglyph/Makefile.in | 6 ++++--
- 7 files changed, 26 insertions(+), 14 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 29c3468..396c020 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -18,7 +18,8 @@
- # Last modified: 2005-05-01
- #
-
--SHELL = /bin/sh
-+SHELL = @SHELL@
-+LIBTOOL = @LIBTOOL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-@@ -149,7 +150,7 @@ distclean: clean
- $(RM) examples/Makefile
- $(RM) xglyph/Makefile
- $(RM) doc/Makefile
-- $(RM) libtool
-+ $(RM) $(LIBTOOL)
-
-
- # The following two targets are for building and cleaning the python-
-diff --git a/examples/Makefile.in b/examples/Makefile.in
-index b301db5..7a6a514 100644
---- a/examples/Makefile.in
-+++ b/examples/Makefile.in
-@@ -14,9 +14,10 @@
- # Last modified: 2001-04-01
- #
-
-+top_builddir = @top_builddir@
-
--LIBTOOL = ../libtool
--SHELL = /bin/sh
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/lib/Makefile.in b/lib/Makefile.in
-index 89e5e86..6e0f960 100644
---- a/lib/Makefile.in
-+++ b/lib/Makefile.in
-@@ -15,8 +15,10 @@
- #
- # Contributions by H.Kakugawa to use libtool!
-
--LIBTOOL = ../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/lib/t1lib/Makefile.in b/lib/t1lib/Makefile.in
-index a6c2478..32434b3 100644
---- a/lib/t1lib/Makefile.in
-+++ b/lib/t1lib/Makefile.in
-@@ -14,8 +14,10 @@
- #
- # Modified by H.Kakugawa to use libtool
-
--LIBTOOL = ../../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/lib/type1/Makefile.in b/lib/type1/Makefile.in
-index 241f124..42efa94 100644
---- a/lib/type1/Makefile.in
-+++ b/lib/type1/Makefile.in
-@@ -14,8 +14,10 @@
- #
- # Modified by H.Kakugawa to use libtool
-
--LIBTOOL = ../../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/type1afm/Makefile.in b/type1afm/Makefile.in
-index 61611e1..9b51406 100644
---- a/type1afm/Makefile.in
-+++ b/type1afm/Makefile.in
-@@ -15,8 +15,10 @@
- #
- # Modified by H.Kakugawa to use libtool
-
--LIBTOOL = ../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/xglyph/Makefile.in b/xglyph/Makefile.in
-index 8da9b63..741334c 100644
---- a/xglyph/Makefile.in
-+++ b/xglyph/Makefile.in
-@@ -15,8 +15,10 @@
- #
- # Modified by H.Kakugawa to use libtool
-
--LIBTOOL = ../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
deleted file mode 100644
index 826dbda8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "A Type1 Font Rastering Library"
-SECTION = "libs"
-DEPENDS = "virtual/libx11 libxaw"
-
-LICENSE = "LGPLv2 & GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b \
- file://LGPL;md5=6e29c688d912da12b66b73e32b03d812 \
-"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/t/t1lib/t1lib_${PV}.orig.tar.gz \
- file://configure.patch \
- file://libtool.patch \
- file://format_security.patch"
-SRC_URI[md5sum] = "a5629b56b93134377718009df1435f3c"
-SRC_URI[sha256sum] = "821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59"
-
-inherit autotools-brokensep distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# Fix GNU_HASH problem
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-EXTRA_OECONF = "--with-x --without-athena"
-EXTRA_OEMAKE = "without_doc"
-
-FILES_${PN} += " ${datadir}/t1lib/t1lib.config"
-FILES_${PN}-doc = "${datadir}/t1lib/doc/t1lib_doc.pdf"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch b/external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch
new file mode 100644
index 00000000..39f899cf
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch
@@ -0,0 +1,66 @@
+From 4e4c8c7a1cca2125e2bf2a67cbab0bdbd78fdb86 Mon Sep 17 00:00:00 2001
+From: He Zhe <zhe.he@windriver.com>
+Date: Tue, 30 Jul 2019 13:24:22 +0800
+Subject: [PATCH] ptts: Set recv buffer size too max to receive as many
+ packets as possible
+
+Flooding multicast may make the rcv buffer overrun and is considered
+premature messages later and thus cause the following error.
+
+"Ignoring premature msg 16, currently handling 12"
+
+This patch sets SO_RCVBUF the of socket to max int value to receive as many
+packets as possible, and give a hint to user when possible overrun occurs. Note
+that the value of SO_RCVBUF will be limited up to min(INT_MAX/2,
+sysctl_rmem_max) in kernel.
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+
+Upstream-Status: Backport
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ ptts/tipc_ts_server.c | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/ptts/tipc_ts_server.c b/ptts/tipc_ts_server.c
+index a286daa..3a2f96f 100644
+--- a/ptts/tipc_ts_server.c
++++ b/ptts/tipc_ts_server.c
+@@ -641,8 +641,9 @@ void server_mcast
+ if (rc < 0)
+ err("multicast message not received");
+ if (msgno != *(int*) buf) {
+- dbg1("Ignoring premature msg %u, currently handling %u\n",
+- *(int*)buf, msgno);
++ dbg1("Ignoring premature msg %u, currently handling %u\n"
++ "You can enlarge /proc/sys/net/core/rmem_max and try again\n",
++ *(int*)buf, msgno);
+ continue;
+ }
+ rc = recvfrom(sd[i], buf, expected_szs[numSubTest],
+@@ -687,8 +688,21 @@ void server_test_multicast(void)
+ FD_ZERO(&readfds);
+
+ for (i = 0; i < TIPC_MCAST_SOCKETS; i++) {
++ int optval = (int)(~0U >> 1);
++ socklen_t optlen = sizeof(optval);
++ int rc = 0;
++
+ sd[i] = createSocketTIPC (SOCK_RDM);
+ FD_SET(sd[i], &readfds);
++
++ /*
++ * Flooding multicast may make the rcv buffer overrun and considered premature msg later.
++ * Set SO_RCVBUF to max int value to receive as many packets as possible.
++ * Note that it will be limited up to min(INT_MAX/2, sysctl_rmem_max) in kernel.
++ */
++ rc = setsockopt(sd[i], SOL_SOCKET, SO_RCVBUF, (const char*)&optval, optlen);
++ if(rc != 0)
++ printf("Failed to set SO_RCVBUF of %d: %s\n", sd[i], strerror(errno));
+ }
+
+ server_bindMulticast( 0, 99, sd[0]);
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
index 54ed043f..637770af 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
@@ -6,14 +6,11 @@ SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils \
file://0001-include-sys-select.h-for-FD_-definitions.patch \
file://0002-replace-non-standard-uint-with-unsigned-int.patch \
file://0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch \
+ file://0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch \
"
SRCREV = "7ab2211b87414ba240b0b2e4af219c1057c9cf9a"
PV = "2.2.0+git${SRCPV}"
-DEPENDS="virtual/kernel"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
inherit autotools pkgconfig
DEPENDS += "libdaemon"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb b/external/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb
index fba5156f..17c2fbab 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb
@@ -11,6 +11,8 @@ SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.g
SRC_URI[md5sum] = "d541ff392249f94c4f3635793556f827"
SRC_URI[sha256sum] = "b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8"
+UPSTREAM_CHECK_URI = "https://github.com/tmux/tmux/releases"
+
inherit autotools pkgconfig
PACKAGECONFIG ??= ""
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb
new file mode 100644
index 00000000..38ce4f55
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb
@@ -0,0 +1,47 @@
+SUMMARY = "A lightweight hotkey daemon"
+HOMEPAGE = "https://github.com/wertarbyte/triggerhappy"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+# matches debian/0.5.0-1 tag
+SRCREV = "44a173195986d0d853316cb02a58785ded66c12b"
+PV = "0.5.0+git${SRCPV}"
+SRC_URI = "git://github.com/wertarbyte/${BPN}.git;branch=debian"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig perlnative update-rc.d systemd
+
+PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+PACKAGECONFIG[systemd] = ",,systemd"
+
+INITSCRIPT_NAME = "triggerhappy"
+INITSCRIPT_PARAMS = "defaults"
+SYSTEMD_SERVICE_${PN} = "triggerhappy.service triggerhappy.socket"
+
+FILES_${PN} = "\
+ ${sbindir}/thd \
+ ${sbindir}/th-cmd \
+ ${sysconfdir}/triggerhappy/triggers.d \
+ ${nonarch_base_libdir}/udev/rules.d/80-triggerhappy.rules \
+ ${sysconfdir}/init.d/triggerhappy \
+ ${systemd_unitdir}/system \
+"
+CONFFILES_${PN} = "${sysconfdir}/udev/rules.d/80-triggerhappy.rules"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/triggerhappy/triggers.d
+
+ install -d ${D}${nonarch_base_libdir}/udev/rules.d
+ install -m 0644 ${S}/udev/triggerhappy-udev.rules ${D}${nonarch_base_libdir}/udev/rules.d/80-triggerhappy.rules
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${S}/debian/init.d ${D}${sysconfdir}/init.d/triggerhappy
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 0644 ${S}/systemd/triggerhappy.socket ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/systemd/triggerhappy.service ${D}${systemd_unitdir}/system
+ fi
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch
new file mode 100644
index 00000000..4b9a195e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch
@@ -0,0 +1,38 @@
+From 3707f467f9a26a7df3d41385023b43c3d08911d2 Mon Sep 17 00:00:00 2001
+From: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
+Date: Tue, 12 Feb 2019 17:46:52 -0800
+Subject: [PATCH][v3] CMakeLists.txt: Use SWIG_SUPPORT_FILES to find the list
+ of generated files for cmake version 3.12 or higher
+
+Use SWIG_SUPPORT_FILES to find the list of python files generated by
+CMake Swig module and install those files. This should be applicable to
+cmake version 3.12 or higher
+
+Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
+---
+ src/CMakeLists.txt | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e19cda2..b565814 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -337,8 +337,14 @@ macro(_upm_swig_python)
+ OUTPUT_NAME _pyupm_${libname}
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_PYTHON_BINARY_DIR})
+
++ if (CMAKE_VERSION VERSION_LESS "3.12")
++ set(support_files ${swig_extra_generated_files})
++ else()
++ get_property(support_files TARGET _${python_wrapper_name} PROPERTY SWIG_SUPPORT_FILES)
++ endif()
++
+ # Install .py's to python packages directory/upm
+- install (FILES ${swig_extra_generated_files}
++ install (FILES ${support_files}
+ DESTINATION ${PYTHON_PACKAGES_PATH}/upm
+ COMPONENT ${CMAKE_PROJECT_NAME}-python${PYTHON_VERSION_MAJOR})
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Replace-strncpy-with-memcpy.patch b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Replace-strncpy-with-memcpy.patch
deleted file mode 100644
index 4b17087e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Replace-strncpy-with-memcpy.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d314f26e024aaf15bf4ab22ceb98501148d0eac8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 May 2018 19:53:33 -0700
-Subject: [PATCH] Replace strncpy with memcpy
-
-gcc8 detects that strncpy is overwiritng the null terminating character
-the source strings are already initialized to 0 so memcpy would do the same
-job
-
-Fixes
-rn2903.c:153:5: error: 'strncpy' output may be truncated copying 16 bytes from a string of length 511 [-Werror=stringop-truncation]
- strncpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/ecezo/ecezo.c | 2 +-
- src/rn2903/rn2903.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/ecezo/ecezo.c b/src/ecezo/ecezo.c
-index 6a195fc1..56c6dab3 100644
---- a/src/ecezo/ecezo.c
-+++ b/src/ecezo/ecezo.c
-@@ -488,7 +488,7 @@ int ecezo_send_command(const ecezo_context dev, char *cmd, char *buffer,
- // our write buffer
- char writeBuffer[ECEZO_MAX_BUFFER_LEN];
-
-- strncpy(writeBuffer, cmd, ECEZO_MAX_BUFFER_LEN);
-+ memcpy(writeBuffer, cmd, ECEZO_MAX_BUFFER_LEN-1);
- writeBuffer[ECEZO_MAX_BUFFER_LEN - 1] = 0;
-
- int writelen = strlen(writeBuffer);
-diff --git a/src/rn2903/rn2903.c b/src/rn2903/rn2903.c
-index f30a33ae..01a011da 100644
---- a/src/rn2903/rn2903.c
-+++ b/src/rn2903/rn2903.c
-@@ -150,7 +150,7 @@ static rn2903_context _rn2903_postinit(rn2903_context dev,
- rn2903_close(dev);
- return NULL;
- }
-- strncpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64);
-+ memcpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64);
-
- return dev;
- }
---
-2.17.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Use-stdint-types.patch b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Use-stdint-types.patch
new file mode 100644
index 00000000..40856fcf
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Use-stdint-types.patch
@@ -0,0 +1,139 @@
+From 5a1e731d71d577f56a2c013e4a75a8e90188e63b Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Tue, 9 Jul 2019 05:21:59 -0700
+Subject: [PATCH] Use stdint types
+
+Fixes compilation with musl.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+---
+ src/bma250e/bma250e.cxx | 16 ++++++++--------
+ src/bmg160/bmg160.cxx | 10 +++++-----
+ src/bmi160/bosch_bmi160.h | 2 +-
+ src/bmm150/bmm150.cxx | 8 ++++----
+ 4 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/src/bma250e/bma250e.cxx b/src/bma250e/bma250e.cxx
+index a8792782..1b3ecdd8 100644
+--- a/src/bma250e/bma250e.cxx
++++ b/src/bma250e/bma250e.cxx
+@@ -195,35 +195,35 @@ BMA250E::BMA250E(std::string initStr) : mraaIo(initStr)
+ fifoConfig(mode, axes);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable0(bits);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable1(bits);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable2:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable2(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap1(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap2:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap2(bits);
+ }
+ if(tok.substr(0, 16) == "setInterruptSrc:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setInterruptSrc(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptOutputControl:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(26), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(26), nullptr, 0);
+ setInterruptOutputControl(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptLatchBehavior:") {
+diff --git a/src/bmg160/bmg160.cxx b/src/bmg160/bmg160.cxx
+index 1a0939f8..2438c399 100644
+--- a/src/bmg160/bmg160.cxx
++++ b/src/bmg160/bmg160.cxx
+@@ -173,23 +173,23 @@ BMG160::BMG160(std::string initStr) : mraaIo(initStr)
+ fifoConfig(mode, axes);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap1(bits);
+ }
+ if(tok.substr(0, 16) == "setInterruptSrc:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setInterruptSrc(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptOutputControl:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(26), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(26), nullptr, 0);
+ setInterruptOutputControl(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptLatchBehavior:") {
+diff --git a/src/bmi160/bosch_bmi160.h b/src/bmi160/bosch_bmi160.h
+index 87ca2249..cd9efe6f 100644
+--- a/src/bmi160/bosch_bmi160.h
++++ b/src/bmi160/bosch_bmi160.h
+@@ -81,7 +81,7 @@ typedef int16_t s16;/**< used for signed 16bit */
+ typedef int32_t s32;/**< used for signed 32bit */
+ typedef int64_t s64;/**< used for signed 64bit */
+
+-typedef u_int8_t u8;/**< used for unsigned 8bit */
++typedef uint8_t u8;/**< used for unsigned 8bit */
+ typedef u_int16_t u16;/**< used for unsigned 16bit */
+ typedef u_int32_t u32;/**< used for unsigned 32bit */
+ typedef u_int64_t u64;/**< used for unsigned 64bit */
+diff --git a/src/bmm150/bmm150.cxx b/src/bmm150/bmm150.cxx
+index 234ebf92..02436788 100644
+--- a/src/bmm150/bmm150.cxx
++++ b/src/bmm150/bmm150.cxx
+@@ -170,19 +170,19 @@ BMM150::BMM150(std::string initStr) : mraaIo(initStr)
+ setOpmode(opmode);
+ }
+ if(tok.substr(0, 19) == "setInterruptEnable:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(19), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(19), nullptr, 0);
+ setInterruptEnable(bits);
+ }
+ if(tok.substr(0, 19) == "setInterruptConfig:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(19), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(19), nullptr, 0);
+ setInterruptConfig(bits);
+ }
+ if(tok.substr(0, 17) == "setRepetitionsXY:") {
+- u_int8_t reps = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t reps = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setRepetitionsXY(reps);
+ }
+ if(tok.substr(0, 16) == "setRepetitionsZ:") {
+- u_int8_t reps = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t reps = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setRepetitionsZ(reps);
+ }
+ if(tok.substr(0, 14) == "setPresetMode:") {
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch
new file mode 100644
index 00000000..68b73bc2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch
@@ -0,0 +1,33 @@
+From d41e2bef1c39dcbc4896b1dd7ab168da530672b5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 30 Dec 2019 13:33:39 -0800
+Subject: [PATCH] cmake: Disable -Wno-misleading-indentation with clang-10 onwards
+
+clang also introduced this warning now
+
+Upstream-Status: Submitted [https://github.com/eclipse/upm/pull/693]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 069e4902..47c7f4c3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -99,6 +99,11 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_
+ list (APPEND C_CXX_WARNING_FLAGS -Wno-misleading-indentation)
+ endif ()
+
++# clang-10 added -Wmisleading-indentation as well, skipp it too
++if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9")
++ list (APPEND C_CXX_WARNING_FLAGS -Wno-misleading-indentation)
++endif ()
++
+ # Warnings as errors?
+ if (WERROR)
+ list (APPEND C_CXX_WARNING_FLAGS -Werror)
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-using-Wno-maybe-uninitialized.patch b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-using-Wno-maybe-uninitialized.patch
new file mode 100644
index 00000000..2f581855
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-using-Wno-maybe-uninitialized.patch
@@ -0,0 +1,37 @@
+From 169f62770f63a43b15d4d4c82336fd57c8467cfe Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 4 Apr 2020 21:43:51 -0700
+Subject: [PATCH] cmake: Disable using -Wno-maybe-uninitialized
+
+This warning causes clang builds to fail because this is not a
+recognised warning with clang
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -6,7 +6,6 @@
+ set (SWIG_CXX_DISABLE_WARNINGS -Wno-error
+ -Wno-delete-non-virtual-dtor
+ -Wno-unused-function
+- -Wno-maybe-uninitialized
+ -Wno-strict-aliasing)
+
+ # If building under android, make sure swig gets an ANDROID flag
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -115,8 +115,7 @@ endif (WERROR)
+ upm_add_compile_flags(C ${C_CXX_WARNING_FLAGS}
+ -Winit-self
+ -Wimplicit
+- -Wsign-compare
+- -Wmissing-parameter-type)
++ -Wsign-compare)
+
+ # Set CXX compiler warning flags at top-level scope and emit a warning about
+ # unsupported flags
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-include-sys-types.h-for-uint-definition.patch b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-include-sys-types.h-for-uint-definition.patch
deleted file mode 100644
index a0a47411..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-include-sys-types.h-for-uint-definition.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 48a580bd402cf6a3ee9e42013653219bfeb3caf6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 21 Jun 2018 18:39:16 -0700
-Subject: [PATCH] include sys/types.h for uint definition
-
-uint is defined in sys/types.h, therefore this
-header needs to be included, it gets exposed with
-musl where this header is not getting included indirectly
-as it is happening when building on glibc
-
-Fixes build errors on musl e.g.
-upm/src/kx122/kx122.hpp:456:31: error: 'uint' has not been declared
-| void setBufferThreshold(uint samples);
-| ^~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://github.com/intel-iot-devkit/upm/pull/656]
- src/kx122/kx122.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/kx122/kx122.h b/src/kx122/kx122.h
-index 1622ed50..56e5215e 100644
---- a/src/kx122/kx122.h
-+++ b/src/kx122/kx122.h
-@@ -31,6 +31,7 @@ extern "C"{
- #include <assert.h>
- #include <unistd.h>
- #include <math.h>
-+#include <sys/types.h>
-
- #include <mraa/i2c.h>
- #include <mraa/spi.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-initialize-local-variables-before-use.patch b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-initialize-local-variables-before-use.patch
new file mode 100644
index 00000000..f9fae164
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-initialize-local-variables-before-use.patch
@@ -0,0 +1,57 @@
+From cce8be3966b602cf7e20d559e50fcf493b9b42cc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Dec 2019 18:13:21 -0800
+Subject: [PATCH] initialize local variables before use
+
+fixes
+error: 'ctrl_reg2_data' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+
+Upstream-Status: Submitted [https://github.com/eclipse/upm/pull/693]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/kxtj3/kxtj3.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/kxtj3/kxtj3.c b/src/kxtj3/kxtj3.c
+index a6f3c4f8..050ae585 100755
+--- a/src/kxtj3/kxtj3.c
++++ b/src/kxtj3/kxtj3.c
+@@ -715,7 +715,7 @@ upm_result_t kxtj3_sensor_software_reset(const kxtj3_context dev)
+ if (kxtj3_set_bit_on(dev, KXTJ3_CTRL_REG2, KXTJ3_CTRL_REG2_SRST) != UPM_SUCCESS)
+ return UPM_ERROR_OPERATION_FAILED;
+
+- uint8_t ctrl_reg2_data;
++ uint8_t ctrl_reg2_data = 0;
+ kxtj3_read_register(dev, KXTJ3_CTRL_REG2, &ctrl_reg2_data);
+
+ uint8_t srst_counter = 0;
+@@ -824,7 +824,7 @@ upm_result_t kxtj3_enable_interrupt_pin(const kxtj3_context dev, KXTJ3_INTERRUPT
+ KXTJ3_INTERRUPT_RESPONSE_T response_type)
+ {
+ assert(dev != NULL);
+- uint8_t int_reg_value;
++ uint8_t int_reg_value = 0;
+ kxtj3_read_register(dev, KXTJ3_INT_CTRL_REG1, &int_reg_value);
+
+ if (polarity)
+@@ -865,7 +865,7 @@ upm_result_t kxtj3_set_interrupt_response(const kxtj3_context dev, KXTJ3_INTERRU
+ bool kxtj3_get_interrupt_status(const kxtj3_context dev)
+ {
+ assert(dev != NULL);
+- uint8_t status_reg_value;
++ uint8_t status_reg_value = 0;
+ kxtj3_read_register(dev, KXTJ3_STATUS_REG, &status_reg_value);
+ if (!(status_reg_value & KXTJ3_STATUS_REG_INT))
+ return false;
+@@ -955,7 +955,7 @@ kxtj3_wakeup_axes kxtj3_get_wakeup_axis_and_direction(kxtj3_context dev)
+ {
+ assert(dev != NULL);
+
+- uint8_t int_source2_value;
++ uint8_t int_source2_value = 0;
+ kxtj3_read_register(dev, KXTJ3_INT_SOURCE2, &int_source2_value);
+
+ kxtj3_wakeup_axes wakeup_axis;
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-nmea_gps-Link-with-latomic.patch b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-nmea_gps-Link-with-latomic.patch
new file mode 100644
index 00000000..c16b8dbc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-nmea_gps-Link-with-latomic.patch
@@ -0,0 +1,27 @@
+From 996d37fc0b7177ee57788399b9140032d5de2765 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 18 Nov 2019 15:50:02 -0800
+Subject: [PATCH] nmea_gps: Link with latomic
+
+clang/x86 ends up with missing symbols for atomics due to atomic<double>
+with libstdc++, it works ok with libc++
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/nmea_gps/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/nmea_gps/CMakeLists.txt b/src/nmea_gps/CMakeLists.txt
+index b3fb6591..5280bfed 100644
+--- a/src/nmea_gps/CMakeLists.txt
++++ b/src/nmea_gps/CMakeLists.txt
+@@ -6,4 +6,4 @@ upm_mixed_module_init (NAME nmea_gps
+ CPP_SRC nmea_gps.cxx
+ FTI_SRC nmea_gps_fti.c
+ CPP_WRAPS_C
+- REQUIRES mraa utilities-c ${CMAKE_THREAD_LIBS_INIT})
++ REQUIRES mraa utilities-c atomic ${CMAKE_THREAD_LIBS_INIT})
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
index babe5f48..5b3585c1 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
@@ -7,20 +7,27 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=66493d54e65bfc12c7983ff2e884f37f"
DEPENDS = "libjpeg-turbo mraa"
-SRCREV = "dc45cd78595c7c24c8a8574c63bb48b5bb99c5aa"
-PV = "1.6.0-git${SRCPV}"
-
-SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \
- file://0001-Replace-strncpy-with-memcpy.patch \
- file://0001-include-sys-types.h-for-uint-definition.patch \
+SRCREV = "5cf20df96c6b35c19d5b871ba4e319e96b4df72d"
+PV = "2.0.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/eclipse/${BPN}.git;protocol=http \
+ file://0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch \
+ file://0001-Use-stdint-types.patch \
+ file://0001-initialize-local-variables-before-use.patch \
+ file://0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch \
+ file://0001-cmake-Disable-using-Wno-maybe-uninitialized.patch \
"
+SRC_URI_append_toolchain-clang_x86 = " file://0001-nmea_gps-Link-with-latomic.patch "
+
S = "${WORKDIR}/git"
# Depends on mraa which only supports x86 and ARM for now
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
-inherit distutils3-base cmake
+inherit distutils3-base cmake pkgconfig
+
+EXTRA_OECMAKE += "-UPYTHON_EXECUTABLE -DWERROR=off"
# override this in local.conf to get needed bindings.
# BINDINGS_pn-upm="python"
@@ -36,7 +43,7 @@ BINDINGS_armv5 ??= "python"
PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
-PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.11.bb b/external/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.11.bb
deleted file mode 100644
index c41b20c4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.11.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \
-storage volume encryption keys and storing them separately from volumes, and an \
-associated command-line tool, named volume_key."
-LICENSE = "GPLv2"
-SECTION = "devel/lib"
-
-HOMEPAGE = "https://pagure.io/volume_key"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://releases.pagure.org/volume_key/volume_key-${PV}.tar.xz \
-"
-SRC_URI[md5sum] = "30df56c7743eb7c965293b3d61194232"
-SRC_URI[sha256sum] = "e6b279c25ae477b555f938db2e41818f90c8cde942b0eec92f70b6c772095f6d"
-
-SRCNAME = "volume_key"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit autotools python3native gettext
-
-DEPENDS += " \
- util-linux \
- glib-2.0 \
- cryptsetup \
- nss \
- gpgme \
- swig-native \
-"
-
-RDEPENDS_python3-${PN} += "${PN}"
-
-PACKAGES += "python3-${PN}"
-FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb b/external/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
new file mode 100644
index 00000000..e036f714
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \
+storage volume encryption keys and storing them separately from volumes, and an \
+associated command-line tool, named volume_key."
+LICENSE = "GPLv2"
+SECTION = "devel/lib"
+
+HOMEPAGE = "https://pagure.io/volume_key"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://releases.pagure.org/volume_key/volume_key-${PV}.tar.xz \
+"
+SRC_URI[md5sum] = "200591290173c3ea71528411838f9080"
+SRC_URI[sha256sum] = "6ca3748fc1dad22c450bbf6601d4e706cb11c5e662d11bb4aeb473a9cd77309b"
+
+SRCNAME = "volume_key"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit autotools python3native gettext
+
+DEPENDS += " \
+ util-linux \
+ glib-2.0 \
+ cryptsetup \
+ nss \
+ gpgme \
+ swig-native \
+"
+
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python3] = "--with-python3,--without-python3,python3,python3"
+
+EXTRA_OECONF = "--without-python"
+
+RDEPENDS_python3-${BPN} += "${PN}"
+
+PACKAGES += "python3-${BPN}"
+FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_0.24.bb b/external/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_0.24.bb
new file mode 100644
index 00000000..831d514a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_0.24.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A UNIX tool for secure deletion"
+DESCRIPTION = "Wipe is a little command for securely erasing files from \
+magnetic media. It compiles under various unix platforms, \
+including Linux 2. * , (Open, Net, Free)BSD, aix 4.1, SunOS \
+5.5.1, Solaris 2.6. wipe is released under the GPL. Pre-compiled \
+packages are available on most Linux distributions. \
+Under Debian, the package name is wipe"
+HOMEPAGE = "http://lambda-diode.com/software/wipe/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "git://github.com/berke/wipe.git;branch=master \
+ file://support-cross-compile-for-linux.patch \
+ file://makefile-add-ldflags.patch \
+"
+SRCREV = "796b62293e007546e051619bd03f5ba338ef28e5"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "linux"
+
+do_install() {
+ make install DESTDIR=${D}
+}
+
+do_configure[noexec] = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb
deleted file mode 100644
index 9a810162..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "A UNIX tool for secure deletion"
-DESCRIPTION = "Wipe is a little command for securely erasing files from \
-magnetic media. It compiles under various unix platforms, \
-including Linux 2. * , (Open, Net, Free)BSD, aix 4.1, SunOS \
-5.5.1, Solaris 2.6. wipe is released under the GPL. Pre-compiled \
-packages are available on most Linux distributions. \
-Under Debian, the package name is wipe"
-HOMEPAGE = "http://lambda-diode.com/software/wipe/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "git://github.com/berke/wipe.git;branch=master \
- file://support-cross-compile-for-linux.patch \
- file://makefile-add-ldflags.patch \
-"
-SRCREV = "d9c100c9cd0b1cbbe4359e4d6c9a035d11e7597c"
-PV = "0.23+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = "linux"
-
-do_install() {
- make install DESTDIR=${D}
-}
-
-do_configure[noexec] = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
new file mode 100644
index 00000000..06337b79
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
@@ -0,0 +1,82 @@
+SUMMARY = "Cross-Plattform GUI Library"
+DESCRIPTIOM = "wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls."
+HOMEPAGE = "https://www.wxwidgets.org/"
+BUGTRACKER = "https://trac.wxwidgets.org/"
+
+# wxWidgets licence is a modified version of LGPL explicitly allowing not
+# distributing the sources of an application using the library even in the
+# case of static linking.
+LICENSE = "wxWidgets"
+LIC_FILES_CHKSUM = "file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake', d)}
+inherit features_check lib_package
+
+# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'no_gui', '', 'x11', d)}"
+
+DEPENDS += " \
+ jpeg \
+ libpng \
+ tiff \
+"
+
+SRC_URI = "git://github.com/wxWidgets/wxWidgets.git"
+PV = "3.1.3"
+SRCREV= "8a40d23b27ed1c80b5a2ca9f7e8461df4fbc1a31"
+S = "${WORKDIR}/git"
+
+# These can be either 'builtin' or 'sys' and builtin means cloned soures are
+# build. So these cannot be PACKAGECONFIGs and let's use libs where we can (see
+# DEPENDS)
+EXTRA_OECMAKE += " \
+ -DwxUSE_LIBJPEG=sys \
+ -DwxUSE_LIBPNG=sys \
+ -DwxUSE_LIBTIFF=sys \
+ -DwxUSE_REGEX=builtin \
+"
+EXTRA_OECMAKE_append_libc-musl = " \
+ -DHAVE_LOCALE_T=OFF \
+"
+
+PACKAGECONFIG ?= "gtk"
+
+# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk' / 'qt'
+PACKAGECONFIG[no_gui] = "-DwxUSE_GUI=OFF,,,,,qt gtk"
+PACKAGECONFIG[gtk] = "-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_GUI=ON,,gtk+3,,,no_gui qt"
+PACKAGECONFIG[qt] = "-DwxBUILD_TOOLKIT=qt -DwxUSE_GUI=ON,,qtbase,,,no_gui gtk"
+python () {
+ pkgconfig = d.getVar('PACKAGECONFIG')
+ if (not 'no_gui' in pkgconfig) and (not 'gtk' in pkgconfig) and (not 'qt' in pkgconfig):
+ bb.error("PACKAGECONFIG must select a toolkit. Add one of no_gui / gtk / qt!")
+}
+
+# Notes on other PACKAGECONFIGs:
+# * 'no_gui' overrides some configs below so they are marked as conflicting
+# with 'no_gui' to avoid surprises
+# * qt+gstreamer is broken due to incorrect references on glib-2.0 -> mark
+# as conflicting
+# * wxUSE_LIBGNOMEVFS is for gtk2 (see init.cmake) which we don't support
+# -> no gvfs PACKAGECONFIG
+# * libmspack is in meta-security
+PACKAGECONFIG[gstreamer] = "-DwxUSE_MEDIACTRL=ON,-DwxUSE_MEDIACTRL=OFF,gstreamer1.0-plugins-base,,,no_gui qt"
+PACKAGECONFIG[libsecret] = "-DwxUSE_SECRETSTORE=ON,-DwxUSE_SECRETSTORE=OFF,libsecret,,,no_gui"
+PACKAGECONFIG[lzma] = "-DwxUSE_LIBLZMA=ON,-DwxUSE_LIBLZMA=OFF,xz"
+PACKAGECONFIG[mspack] = "-DwxUSE_LIBMSPACK=ON,-DwxUSE_LIBMSPACK=OFF,libmspack"
+PACKAGECONFIG[sdl_audio] = "-DwxUSE_LIBSDL=ON,-DwxUSE_LIBSDL=OFF,libsdl2"
+PACKAGECONFIG[webkit] = "-DwxUSE_WEBVIEW_WEBKIT=ON,-DwxUSE_WEBVIEW_WEBKIT=OFF,webkitgtk,,,no_gui"
+
+do_install_append() {
+ # do not ship bindir if empty
+ rmdir --ignore-fail-on-non-empty ${D}${bindir}
+}
+
+# lib names are not canonical
+FILES_SOLIBSDEV = ""
+
+FILES_${PN} += " \
+ ${libdir}/libwx_*.so \
+ ${libdir}/wx/ \
+"
+
+FILES_${PN}-dev += "${libdir}/wx/include/"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch b/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch
deleted file mode 100644
index 71a98910..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b97f62fdf3b78eb5cfcb3a1b12c6fd62f735717b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Jul 2017 09:29:33 -0700
-Subject: [PATCH] event.c: Cast pthread_t to unsigned long instead of unsigned
- int
-
-On 64bit machines it ends up in errors
-
-event.c:85:67: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
- a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/event.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/event.c b/src/event.c
-index 8f988b5..c632c33 100644
---- a/src/event.c
-+++ b/src/event.c
-@@ -82,7 +82,7 @@ zlog_event_t *zlog_event_new(int time_cache_count)
- a_event->tid = pthread_self();
-
- a_event->tid_str_len = sprintf(a_event->tid_str, "%lu", (unsigned long)a_event->tid);
-- a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid);
-+ a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%lu", (unsigned long)a_event->tid);
-
- //zlog_event_profile(a_event, ZC_DEBUG);
- return a_event;
---
-2.13.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb b/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb
new file mode 100644
index 00000000..b94664c3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Zlog is a pure C logging library"
+HOMEPAGE = "https://github.com/HardySimpson/zlog"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRCREV = "8fc78c3c65cb705953a2f3f9a813c3ef3c8b2270"
+SRC_URI = "git://github.com/HardySimpson/zlog"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "CC='${CC}' LD='${LD}' LIBRARY_PATH=${baselib}"
+
+do_install() {
+ oe_runmake install PREFIX=${D}${exec_prefix} INSTALL=install
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
deleted file mode 100644
index de751645..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-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 \
- file://0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig
-
-EXTRA_OEMAKE = "CC='${CC}' LD='${LD}' LIBRARY_PATH=${baselib}"
-
-do_install() {
- oe_runmake install PREFIX=${D}${exec_prefix} INSTALL=install
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap
new file mode 100644
index 00000000..05eae7ee
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap
@@ -0,0 +1,10 @@
+[Unit]
+Description=Enable compressed swap in memory using zram
+Requires=zram-swap.service
+After=zram-swap.service
+
+[Swap]
+What=/dev/zram0
+
+[Install]
+WantedBy=swap.target
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit
new file mode 100755
index 00000000..46248c40
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -e
+
+device=$1
+if [ "$device" = "" ]; then
+ echo "Usage: zram-swap-deinit <device>"
+ exit 1
+fi
+
+sysblockdev=/sys/block/$(basename $device)
+if [ ! -d $sysblockdev ]; then
+ echo "Block device not found in sysfs"
+ exit 1
+fi
+
+# zramctl -r is not suitable as it also removes the actual device. Recreating
+# it is non-trivial, especially if not /dev/zram0 is used...
+echo 1 > ${sysblockdev}/reset
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init
new file mode 100755
index 00000000..0643dbca
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init
@@ -0,0 +1,26 @@
+#!/bin/sh
+set -e
+
+device=$1
+if [ "$device" = "" ]; then
+ echo "Usage: zram-swap-init <device>"
+ exit 1
+fi
+
+# Allocate zram to be size of actual system memory
+# Note: zram is only allocated when used. When swapped pages compress with a
+# a 2:1 ratio zram will require 50% of system memory (while allowing to use
+# 150% memory).
+ZRAM_SIZE_PERCENT=100
+ZRAM_ALGORITHM=lz4
+
+[ -f /etc/default/zram ] && ./etc/default/zram || true
+
+memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ')
+memzram=$(($memtotal*${ZRAM_SIZE_PERCENT}/100))
+
+# Try loading zram module
+modprobe -q zram || true
+
+zramctl -a ${ZRAM_ALGORITHM} -s ${memzram}KB $device
+mkswap -L "zram-swap" $device
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service
new file mode 100644
index 00000000..a4dc9514
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Create compressed swap in memory using zram
+DefaultDependencies=no
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+TimeoutStartSec=30sec
+ExecStart=@LIBEXECDIR@/zram-swap-init /dev/zram0
+ExecStop=@LIBEXECDIR@/zram-swap-deinit /dev/zram0
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service
deleted file mode 100644
index 4a19367d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Enable zram compressed in-memory swap.
-After=multi-user.target
-
-[Service]
-RemainAfterExit=yes
-ExecStart=/usr/bin/zram-load.sh --load
-ExecStop=/usr/bin/zram-load.sh --unload
-Type=oneshot
-
-[Install]
-WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop
new file mode 100644
index 00000000..07777978
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+for i in $(grep '^/dev/zram' /proc/swaps | awk '{ print $1 }'); do
+ swapoff "$i" && zramctl --reset "$i"
+done
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb
deleted file mode 100644
index dfd75e71..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Linux zram compressed in-memory swap"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit update-rc.d systemd
-
-RDEPENDS_${PN} = "util-linux-swaponoff kmod"
-RRECOMMENDS_${PN} = "kernel-module-zram"
-
-PR = "r3"
-
-SRC_URI = " \
- file://init \
- file://zram.service \
-"
-
-do_install () {
- # Sysvinit
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/zram.service ${D}${systemd_unitdir}/system
-}
-
-FILES_${PN} = "${sysconfdir}"
-INITSCRIPT_NAME = "zram"
-INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ."
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "zram.service"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb
new file mode 100644
index 00000000..98c47af7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Linux zram compressed in-memory swap"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit update-rc.d systemd
+
+RDEPENDS_${PN} = "kmod \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','util-linux','util-linux-swaponoff',d)}"
+RRECOMMENDS_${PN} = "kernel-module-zram"
+
+PR = "r3"
+
+SRC_URI = " \
+ file://init \
+ file://zram-swap-init \
+ file://zram-swap-deinit \
+ file://zram-swap.service \
+ file://dev-zram0.swap \
+"
+
+do_install () {
+ # Install systemd related configuration file
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${libexecdir}
+ install -m 0755 ${WORKDIR}/zram-swap-init ${D}${libexecdir}
+ install -m 0755 ${WORKDIR}/zram-swap-deinit ${D}${libexecdir}
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/zram-swap.service ${D}${systemd_unitdir}/system/zram-swap.service
+ sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/zram-swap.service
+ install -m 0644 ${WORKDIR}/dev-zram0.swap ${D}${systemd_unitdir}/system/dev-zram0.swap
+ fi
+}
+
+FILES_${PN} = " \
+ ${sysconfdir} \
+ ${systemd_unitdir} \
+ ${libexecdir} \
+"
+INITSCRIPT_NAME = "zram"
+INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ."
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "dev-zram0.swap"
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch b/external/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch
new file mode 100644
index 00000000..c701554b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch
@@ -0,0 +1,27 @@
+From 93cec0c1d6d0be8dd3a9d01d3e7f2099f1728df7 Mon Sep 17 00:00:00 2001
+From: Orivej Desh <orivej@gmx.fr>
+Date: Fri, 22 May 2020 12:48:02 +0000
+Subject: [PATCH] Fix legacy build after #2103
+
+Upstream-Status: Backport
+Signed-of-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ lib/legacy/zstd_v04.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/legacy/zstd_v04.c b/lib/legacy/zstd_v04.c
+index 56bf45222498..19fda8980abf 100644
+--- a/lib/legacy/zstd_v04.c
++++ b/lib/legacy/zstd_v04.c
+@@ -74,7 +74,7 @@ extern "C" {
+ /*-*************************************
+ * Debug
+ ***************************************/
+-#include "debug.h"
++#include "../common/debug.h"
+ #ifndef assert
+ # define assert(condition) ((void)0)
+ #endif
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb b/external/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
new file mode 100644
index 00000000..cd0b471e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Zstandard - Fast real-time compression algorithm"
+DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
+real-time compression scenarios at zlib-level and better compression ratios. \
+It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
+HOMEPAGE = "http://www.zstd.net/"
+SECTION = "console/utils"
+
+LICENSE = "BSD-3-Clause & GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \
+ file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
+
+SRC_URI = "git://github.com/facebook/zstd.git;nobranch=1 \
+ file://0001-Fix-legacy-build-after-2103.patch \
+ "
+
+SRCREV = "b706286adbba780006a47ef92df0ad7a785666b6"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
+PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
+PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
+
+# See programs/README.md for how to use this
+ZSTD_LEGACY_SUPPORT ??= "4"
+
+do_compile () {
+ oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
+}
+
+do_install () {
+ oe_runmake install 'DESTDIR=${D}'
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb b/external/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb
deleted file mode 100644
index 307774b3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.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 distro_features_check gnome autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-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/external/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb b/external/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb
new file mode 100644
index 00000000..0e09c3a6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb
@@ -0,0 +1,19 @@
+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 features_check gnomebase autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "6194ac577f15567adfa3c923944c6651"
+SRC_URI[archive.sha256sum] = "4c4cfc917fd42d3879ce997b463428d6982affa0fb660cafcc0bc2d9afcedd3a"
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h b/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h
new file mode 100644
index 00000000..714cb5aa
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h
@@ -0,0 +1,5 @@
+/* This is an auto-generated header, DO NOT EDIT! */
+
+#define ICONV_ISO_INT_FORMAT "iso-%u-%u"
+#define ICONV_ISO_STR_FORMAT "iso-%u-%s"
+#define ICONV_10646 "iso-10646"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch b/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch
new file mode 100644
index 00000000..1f9bdd30
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -150,7 +150,6 @@ AC_EXEEXT
+ AC_PROG_LIBTOOL
+ dnl when using libtool 2.x create libtool early, because it's used in configure
+ m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
+-DOLT
+
+ dnl Checks for header files.
+ AC_CHECK_HEADERS(sys/mman.h)
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.6.bb b/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.6.bb
new file mode 100644
index 00000000..9d1bb7d0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.6.bb
@@ -0,0 +1,16 @@
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+DESCRIPTION = "Runtime libraries for parsing and creating MIME mail"
+SECTION = "libs"
+DEPENDS = "glib-2.0 zlib"
+
+inherit gnomebase gobject-introspection
+
+SRC_URI += "file://iconv-detect.h \
+ file://nodolt.patch"
+
+SRC_URI[archive.md5sum] = "656548dc431004d1ebf95e5d0bb4b9c8"
+SRC_URI[archive.sha256sum] = "abff194c7c4802fba2e233890d09dde8bf7170c3ad5e13000601c8d5b3c44717"
+
+export ac_cv_have_iconv_detect_h="yes"
+do_configure_append = "cp ${WORKDIR}/iconv-detect.h ${S}"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-standard_3.28.bb b/external/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-standard_3.28.bb
new file mode 100644
index 00000000..2fa754e7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-standard_3.28.bb
@@ -0,0 +1,45 @@
+SUMMARY = "GTK+2 standard themes"
+HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+# Upstream renamed this package to gnome-themes-extra at some point
+BPN = "gnome-themes-extra"
+
+inherit gnomebase gettext gtk-icon-cache upstream-version-is-even features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+
+DEPENDS += "intltool-native gtk+"
+
+SRC_URI[archive.md5sum] = "f9f2c6c521948da427f702372e16f826"
+SRC_URI[archive.sha256sum] = "7c4ba0bff001f06d8983cfc105adaac42df1d1267a2591798a780bac557a5819"
+
+EXTRA_OECONF = "--disable-gtk3-engine"
+
+do_install_append() {
+ # Only building Adwaita, remove highcontrast files
+ rm -rf ${D}${prefix}/share/themes/HighContrast \
+ ${D}${prefix}/share/icons
+
+ # The libtool archive file is unneeded with shared libs on modern Linux
+ rm -rf ${D}${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la
+}
+
+# There could be gnome-theme-highcontrast as well but that requires
+# gtk+3 and includes lots of icons (is also broken with B != S).
+PACKAGES += "gnome-theme-adwaita \
+ gnome-theme-adwaita-dark \
+ "
+
+FILES_gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \
+ ${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so"
+
+FILES_gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark"
+RDEPENDS_gnome-theme-adwaita-dark = "gnome-theme-adwaita"
+
+# gnome-themes-standard is empty and doesn't exist
+RDEPENDS_${PN}-dev = ""
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+.inc b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+.inc
new file mode 100644
index 00000000..ccbcfc8d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+.inc
@@ -0,0 +1,107 @@
+SUMMARY = "Multi-platform toolkit for creating GUIs"
+DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+
+SECTION = "libs"
+
+inherit features_check
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+
+# This picks stable releases in the 2.x series (but not 2.90 onwards,
+# which were GNOME 3 betas).
+UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
+
+X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite"
+DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native \
+ cairo gdk-pixbuf"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb x11', d)}"
+
+PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
+# without --with-gdktarget=directfb it will check for cairo-xlib which isn't available without X11 DISTRO_FEATURE
+PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb"
+PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog, --disable-man, libxslt-native xmlto-native"
+
+inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache gobject-introspection manpages
+
+PACKAGES += "libgail gtk-demo"
+
+FILES_${PN} += "${bindir}/gtk-update-icon-cache-2.0 \
+ ${bindir}/gtk-query-immodules-2.0 \
+ ${datadir}/themes ${sysconfdir} \
+ ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
+
+FILES_${PN}-dev += " \
+ ${datadir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/modules/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/printbackends/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
+ ${bindir}/gtk-builder-convert"
+
+FILES_gtk-demo = " \
+ ${datadir}/gtk-2.0/demo/* \
+ ${bindir}/gtk-demo \
+ "
+
+FILES_libgail = " \
+ ${libdir}/gtk-2.0/modules/libgail.so \
+ ${libdir}/gtk-2.0/modules/libferret.so \
+ "
+
+GTKBASE_RRECOMMENDS ?= "liberation-fonts \
+ gdk-pixbuf-loader-png \
+ gdk-pixbuf-loader-jpeg \
+ gdk-pixbuf-loader-gif \
+ gdk-pixbuf-loader-xpm \
+ shared-mime-info \
+ gnome-theme-adwaita \
+ "
+GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
+
+RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
+RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
+
+ALTERNATIVE_${PN} = "gtk-update-icon-cache"
+ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-2.0"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
+}
+
+do_install () {
+ autotools_do_install
+
+ install -d ${D}${sysconfdir}/gtk-2.0
+
+ mkdir -p ${D}${libdir}/gtk-2.0/include
+ install -m 0644 gdk/gdkconfig.h ${D}${libdir}/gtk-2.0/include/gdkconfig.h
+
+ install -m 0644 ${S}/gtk/gtkfilechooserprivate.h ${D}${includedir}/gtk-2.0/gtk/
+ install -m 0644 ${S}/gtk/gtkfilechooserutils.h ${D}${includedir}/gtk-2.0/gtk/
+ install -m 0644 ${S}/gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/
+
+ mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0
+
+ # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
+ mkdir -p ${D}${libexecdir}
+ ln ${D}${bindir}/gtk-query-immodules-2.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-2.0
+}
+
+SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess"
+
+gtk_sysroot_preprocess () {
+ if [ -e ${D}${bindir}/gtk-builder-convert ]; then
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ fi
+}
+
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch
new file mode 100644
index 00000000..83be39c3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch
@@ -0,0 +1,29 @@
+From 34ce93e1c50bfb88f92a687d4f82de55584f3f6a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 11 Apr 2018 14:20:39 +0300
+Subject: [PATCH] Do not look into $HOME when looking for gtk modules
+
+On the host it causes host contamination, on the target it's a
+potential security issue. Gtk+3 has already removed this.
+
+Upstream-Status: Inappropriate [gtk2 is in maintenance mode]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gtk/gtkmodules.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c
+index 50729b6..e09b583 100644
+--- a/gtk/gtkmodules.c
++++ b/gtk/gtkmodules.c
+@@ -65,10 +65,6 @@ get_module_path (void)
+ if (result)
+ return result;
+
+- home_dir = g_get_home_dir();
+- if (home_dir)
+- home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL);
+-
+ module_path_env = g_getenv ("GTK_PATH");
+ exe_prefix = g_getenv ("GTK_EXE_PREFIX");
+
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch
new file mode 100644
index 00000000..74e479fd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch
@@ -0,0 +1,22 @@
+There are issues building the gtk+ tutorial and faq documentation.
+Since they were removed in gtk+ upstream and are superfluous in
+embedded applications, just don't build them.
+
+Thanks to Joshua Lock for suggesting this approach.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+
+diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am
+--- gtk+-2.22.1.orig/docs/Makefile.am 2010-11-15 04:13:09.000000000 -0800
++++ gtk+-2.22.1/docs/Makefile.am 2011-02-23 19:25:16.914815097 -0800
+@@ -1,7 +1,7 @@
+ ## Process this file with automake to produce Makefile.in
+ include $(top_srcdir)/Makefile.decl
+
+-SUBDIRS = tutorial faq reference tools
++SUBDIRS = reference tools
+
+ EXTRA_DIST += \
+ defsformat.txt \
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
new file mode 100644
index 00000000..9eb7f6bf
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
@@ -0,0 +1,36 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+Updated to apply to gtk+-2.24.15
+
+Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
+Index: gtk+-2.24.31/configure.ac
+===================================================================
+--- gtk+-2.24.31.orig/configure.ac
++++ gtk+-2.24.31/configure.ac
+@@ -415,7 +415,7 @@ AC_MSG_CHECKING([Whether to write depend
+ case $enable_explicit_deps in
+ auto)
+ export SED
+- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
++ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
+ if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+@@ -772,7 +772,7 @@ else
+ dnl Now we check to see if our libtool supports shared lib deps
+ dnl (in a rather ugly way even)
+ if $dynworks; then
+- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
+ module_deplibs_check=`$module_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1579,7 +1579,7 @@ fi
+ # We are using gmodule-no-export now, but I'm leaving the stripping
+ # code in place for now, since pango and atk still require gmodule.
+ export SED
+-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ if test -n "$export_dynamic"; then
+ GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch
new file mode 100644
index 00000000..96e1f5fe
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch
@@ -0,0 +1,24 @@
+Fixes
+
+include/gtk-2.0/gtk/gtkitemfactory.h:47:1: warning: function declaration isn't a prototype [-Wstrict-prototypes]
+ typedef void (*GtkItemFactoryCallback) ();
+
+gcc5 has -Wstrict-prototypes on by default for -Werror so this becomes a build failure for consumers
+of this header e.g. matchbox-panel-2
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: gtk+-2.24.27/gtk/gtkitemfactory.h
+===================================================================
+--- gtk+-2.24.27.orig/gtk/gtkitemfactory.h
++++ gtk+-2.24.27/gtk/gtkitemfactory.h
+@@ -44,7 +44,7 @@ typedef void (*GtkPrintFunc) (gpoint
+ * (Note that if we are included from a C++ program () will mean
+ * (void) so an explicit cast will be needed.)
+ */
+-typedef void (*GtkItemFactoryCallback) ();
++typedef void (*GtkItemFactoryCallback) (void);
+ typedef void (*GtkItemFactoryCallback1) (gpointer callback_data,
+ guint callback_action,
+ GtkWidget *widget);
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff
new file mode 100644
index 00000000..340d1200
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff
@@ -0,0 +1,102 @@
+Upstream-Status: Pending
+
+Index: gtk/gtkcellrenderertoggle.c
+===================================================================
+--- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800
++++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800
+@@ -71,6 +71,8 @@
+ PROP_INDICATOR_SIZE
+ };
+
++/* This is a hard-coded default which promptly gets overridden by a size
++ calculated from the font size. */
+ #define TOGGLE_WIDTH 13
+
+ static guint toggle_cell_signals[LAST_SIGNAL] = { 0 };
+@@ -80,8 +82,9 @@
+ typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate;
+ struct _GtkCellRendererTogglePrivate
+ {
+- gint indicator_size;
+-
++ gint indicator_size; /* This is the real size */
++ gint override_size; /* This is the size set from the indicator-size property */
++ GtkWidget *cached_widget;
+ guint inconsistent : 1;
+ };
+
+@@ -104,6 +107,7 @@
+ GTK_CELL_RENDERER (celltoggle)->ypad = 2;
+
+ priv->indicator_size = TOGGLE_WIDTH;
++ priv->override_size = 0;
+ priv->inconsistent = FALSE;
+ }
+
+@@ -210,7 +214,7 @@
+ g_value_set_boolean (value, celltoggle->radio);
+ break;
+ case PROP_INDICATOR_SIZE:
+- g_value_set_int (value, priv->indicator_size);
++ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+@@ -245,7 +249,7 @@
+ celltoggle->radio = g_value_get_boolean (value);
+ break;
+ case PROP_INDICATOR_SIZE:
+- priv->indicator_size = g_value_get_int (value);
++ priv->override_size = g_value_get_int (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+@@ -273,6 +277,27 @@
+ }
+
+ static void
++on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data)
++{
++ GtkCellRendererTogglePrivate *priv = user_data;
++ PangoContext *context;
++ PangoFontMetrics *metrics;
++ int height;
++
++ context = gtk_widget_get_pango_context (widget);
++ metrics = pango_context_get_metrics (context,
++ widget->style->font_desc,
++ pango_context_get_language (context));
++
++ height = pango_font_metrics_get_ascent (metrics) +
++ pango_font_metrics_get_descent (metrics);
++
++ pango_font_metrics_unref (metrics);
++
++ priv->indicator_size = PANGO_PIXELS (height * 0.85);
++}
++
++static void
+ gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell,
+ GtkWidget *widget,
+ GdkRectangle *cell_area,
+@@ -287,6 +312,20 @@
+
+ priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell);
+
++ if (priv->override_size) {
++ priv->indicator_size = priv->override_size;
++ } else if (priv->cached_widget != widget) {
++ if (priv->cached_widget) {
++ g_object_remove_weak_pointer (widget, &priv->cached_widget);
++ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv);
++ }
++ priv->cached_widget = widget;
++ g_object_add_weak_pointer (widget, &priv->cached_widget);
++ g_signal_connect (widget, "style-set", on_widget_style_set, priv);
++
++ on_widget_style_set (widget, NULL, priv);
++ }
++
+ calc_width = (gint) cell->xpad * 2 + priv->indicator_size;
+ calc_height = (gint) cell->ypad * 2 + priv->indicator_size;
+
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch
new file mode 100644
index 00000000..d0a970ad
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch
@@ -0,0 +1,20 @@
+Upstream-Status: Pending
+
+Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c
+===================================================================
+--- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800
++++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800
+@@ -3062,10 +3062,9 @@
+ {
+ GdkScreenX11 *screen = data;
+
+- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent))
+- return GDK_FILTER_REMOVE;
+- else
+- return GDK_FILTER_CONTINUE;
++ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent);
++
++ return GDK_FILTER_CONTINUE;
+ }
+
+ static Bool
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb
new file mode 100644
index 00000000..682d31e4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb
@@ -0,0 +1,35 @@
+require gtk+.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \
+ file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \
+ file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c"
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \
+ file://xsettings.patch \
+ file://hardcoded_libtool.patch \
+ file://toggle-font.diff;striplevel=0 \
+ file://doc-fixes.patch \
+ file://strict-prototypes.patch \
+ file://0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch \
+ "
+
+SRC_URI[md5sum] = "d5742aa42275203a499b59b4c382a784"
+SRC_URI[sha256sum] = "b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e"
+
+EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
+
+LIBV = "2.10.0"
+
+PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*"
+
+python populate_packages_prepend () {
+ gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}')
+ immodules_root = os.path.join(gtk_libdir, 'immodules')
+ printmodules_root = os.path.join(gtk_libdir, 'printbackends');
+
+ d.setVar('GTKIMMODULES_PACKAGES', ' '.join(do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s')))
+ do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
+
+ if (d.getVar('DEBIAN_NAMES')):
+ d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-2.0')
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb
deleted file mode 100644
index 96b54dd2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "C++ bindings for the GTK+ toolkit V3"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "atkmm pangomm glibmm gtk+3 cairomm"
-
-BPN = "gtkmm"
-
-inherit gnomebase distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "883e9046768b3a5afc8e365988823e77"
-SRC_URI[archive.sha256sum] = "91afd98a31519536f5f397c2d79696e3d53143b80b75778521ca7b48cb280090"
-SRC_URI += "file://0001-do-not-build-demos.patch"
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
new file mode 100644
index 00000000..adc38d8c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "C++ bindings for the GTK+ toolkit V3"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "atkmm pangomm glibmm gtk+3 cairomm"
+
+BPN = "gtkmm"
+
+inherit gnomebase features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "e311db484ca9c53f1689d35f5f58a06b"
+SRC_URI[archive.sha256sum] = "6d71091bcd1863133460d4188d04102810e9123de19706fb656b7bb915b4adc3"
+SRC_URI += "file://0001-do-not-build-demos.patch"
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
index b780d09b..bb179447 100644
--- a/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
DEPENDS = "atkmm pangomm glibmm gtk+ cairomm"
-inherit gnomebase distro_features_check
+inherit gnomebase features_check
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.25.3.bb b/external/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.25.3.bb
new file mode 100644
index 00000000..57419a42
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.25.3.bb
@@ -0,0 +1,25 @@
+SUMMARY = "libpeas is a gobject-based plugins engine"
+HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d"
+
+DEPENDS = "gtk+3"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache
+
+SRC_URI[archive.md5sum] = "08bfff8f9688cf630dcb0f950617661f"
+SRC_URI[archive.sha256sum] = "1c9bbb29740c29cd6e1dd0c9964722ff08cd5e6f68f1b5c135bc391a6ce97639"
+
+PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject"
+
+PACKAGES =+ "${PN}-demo ${PN}-python3"
+FILES_${PN}-demo = " \
+ ${bindir}/peas-demo \
+ ${libdir}/peas-demo \
+"
+
+RDEPENDS_${PN}-python3 = "python3-pygobject"
+FILES_${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb b/external/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb
index 0128a7c2..a957c1d6 100644
--- a/external/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb
@@ -7,6 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f30a9716ef3762e3467a2f62bf790f0a"
SRCREV = "7db14dcf4c4305c3859a2d9fcf9f5da2db328330"
SRC_URI = "git://anongit.freedesktop.org/xdg/pyxdg"
-inherit distutils
+inherit distutils3
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc b/external/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
index 206c430d..14d19400 100644
--- a/external/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
+++ b/external/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
@@ -8,7 +8,7 @@ RDEPENDS_libvte = "vte-termcap"
GNOMEBN = "vte"
S = "${WORKDIR}/vte-${PV}"
-inherit gnome gtk-doc distro_features_check upstream-version-is-even gobject-introspection
+inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
EXTRA_OECONF = "--disable-python"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb b/external/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
deleted file mode 100644
index 9d8c90fd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-
-inherit gnomebase
-
-SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2"
-SRC_URI[md5sum] = "cc53d8474a43aafb7cdaccea56cfde44"
-SRC_URI[sha256sum] = "63f3ed23e72a857a0e6df53d9d968a325024177b01edbe314a0c98b499eb8603"
-
-FILES_${PN} += "${libdir}/babl-*/*.so"
-FILES_${PN}-dev += "${libdir}/babl-*/*.la"
-FILES_${PN}-dbg += "${libdir}/babl-*/.debug/"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc b/external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
index 96aa3111..65fd89e6 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -21,7 +21,8 @@ SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.g
file://use-PTHREAD_MUTEX_RECURSIVE.patch \
file://fix-client-gfx_state-initialisation.patch \
file://fix-tslib-version-check.patch \
- "
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ "
S = "${WORKDIR}/DirectFB-${PV}"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..2f766465
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,139 @@
+From 0b66557f2e924023b12006b58d8e86149c745aed Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 20:34:33 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ inputdrivers/linux_input/linux_input.c | 36 ++++++++++++++++++--------
+ 1 file changed, 25 insertions(+), 11 deletions(-)
+
+diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c
+index 7e9a6ad..03deebc 100644
+--- a/inputdrivers/linux_input/linux_input.c
++++ b/inputdrivers/linux_input/linux_input.c
+@@ -42,6 +42,11 @@ typedef unsigned long kernel_ulong_t;
+
+ #include <linux/input.h>
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #ifndef KEY_OK
+ /* Linux kernel 2.5.42+ defines additional keys in linux/input.h */
+ #include "input_fake.h"
+@@ -754,7 +759,8 @@ translate_event( const LinuxInputData *data,
+ DFBInputEvent *devt )
+ {
+ devt->flags = DIEF_TIMESTAMP;
+- devt->timestamp = levt->time;
++ devt->timestamp.tv_sec = levt->input_event_sec;
++ devt->timestamp.tv_usec = levt->input_event_usec;
+
+ switch (levt->type) {
+ case EV_KEY:
+@@ -2139,7 +2145,8 @@ touchpad_translate( struct touchpad_fsm_state *state,
+ int abs, rel;
+
+ devt->flags = DIEF_TIMESTAMP | (dfb_config->linux_input_touch_abs ? DIEF_AXISABS : DIEF_AXISREL);
+- devt->timestamp = levt->time;
++ devt->timestamp.tv_sec = levt->input_event_sec;
++ devt->timestamp.tv_usec = levt->input_event_usec;
+ devt->type = DIET_AXISMOTION;
+
+ switch (levt->code) {
+@@ -2204,7 +2211,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ DFBInputEvent *devt )
+ {
+ struct timeval timeout = { 0, 125000 };
+-
++ struct timeval tval;
+ /* select() timeout? */
+ if (!levt) {
+ /* Check if button release is due. */
+@@ -2223,6 +2230,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ return 0;
+ }
+
++ tval.tv_sec = levt->input_event_sec;
++ tval.tv_usec = levt->input_event_usec;
+ /* More or less ignore these events for now */
+ if ((levt->type == EV_SYN && levt->code == SYN_REPORT) ||
+ (levt->type == EV_ABS && levt->code == ABS_PRESSURE) ||
+@@ -2233,7 +2242,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+
+ /* Check if button release is due. */
+ if (state->fsm_state == TOUCHPAD_FSM_DRAG_START &&
+- timeout_passed( &state->timeout, &levt->time )) {
++ timeout_passed( &state->timeout, &tval )) {
+ devt->flags = DIEF_TIMESTAMP;
+ devt->timestamp = state->timeout; /* timeout of levt->time? */
+ devt->type = DIET_BUTTONRELEASE;
+@@ -2255,7 +2264,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ case TOUCHPAD_FSM_START:
+ if (touchpad_finger_landing( levt )) {
+ state->fsm_state = TOUCHPAD_FSM_MAIN;
+- state->timeout = levt->time;
++ state->timeout.tv_sec = levt->input_event_sec;
++ state->timeout.tv_usec = levt->input_event_usec;
+ timeout_add( &state->timeout, &timeout );
+ }
+ return 0;
+@@ -2268,15 +2278,17 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ }
+ }
+ else if (touchpad_finger_leaving( levt )) {
+- if (!timeout_passed( &state->timeout, &levt->time )) {
++ if (!timeout_passed( &state->timeout, &tval )) {
+ devt->flags = DIEF_TIMESTAMP;
+- devt->timestamp = levt->time;
++ devt->timestamp.tv_sec = levt->input_event_sec;
++ devt->timestamp.tv_usec = levt->input_event_usec;
+ devt->type = DIET_BUTTONPRESS;
+ devt->button = DIBI_FIRST;
+
+ touchpad_fsm_init( state );
+ state->fsm_state = TOUCHPAD_FSM_DRAG_START;
+- state->timeout = levt->time;
++ state->timeout.tv_sec = levt->input_event_sec;
++ state->timeout.tv_usec = levt->input_event_usec;
+ timeout_add( &state->timeout, &timeout );
+ return 1;
+ }
+@@ -2287,7 +2299,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ return 0;
+
+ case TOUCHPAD_FSM_DRAG_START:
+- if (timeout_passed( &state->timeout, &levt->time )){
++ if (timeout_passed( &state->timeout, &tval )){
+ devt->flags = DIEF_TIMESTAMP;
+ devt->timestamp = state->timeout; /* timeout of levt->time? */
+ devt->type = DIET_BUTTONRELEASE;
+@@ -2299,7 +2311,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ else {
+ if (touchpad_finger_landing( levt )) {
+ state->fsm_state = TOUCHPAD_FSM_DRAG_MAIN;
+- state->timeout = levt->time;
++ state->timeout.tv_sec = levt->input_event_sec;
++ state->timeout.tv_usec = levt->input_event_usec;
+ timeout_add( &state->timeout, &timeout );
+ }
+ }
+@@ -2314,7 +2327,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ }
+ else if (touchpad_finger_leaving( levt )) {
+ devt->flags = DIEF_TIMESTAMP;
+- devt->timestamp = levt->time;
++ devt->timestamp.tv_sec = levt->input_event_sec;
++ devt->timestamp.tv_usec = levt->input_event_usec;
+ devt->type = DIET_BUTTONRELEASE;
+ devt->button = DIBI_FIRST;
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
index 46d4dbde..6a7b1bf3 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -9,12 +9,12 @@ Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c66b39..1489ef6 100644
+index 230c87b..e699e83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -19,7 +19,7 @@ else(NOT SPHINX_EXECUTABLE-NOTFOUND)
- message(STATUS "Could NOT find sphinx-build.")
- endif(NOT SPHINX_EXECUTABLE-NOTFOUND)
+@@ -19,7 +19,7 @@ else(SPHINX_EXECUTABLE STREQUAL "SPHINX_EXECUTABLE-NOTFOUND")
+ message(STATUS "Found sphinx-build: ${SPHINX_EXECUTABLE}")
+ endif(SPHINX_EXECUTABLE STREQUAL "SPHINX_EXECUTABLE-NOTFOUND")
-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+#execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
@@ -22,5 +22,5 @@ index 7c66b39..1489ef6 100644
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write('%s.%s' % (sys.version_info.major, sys.version_info.minor))" OUTPUT_VARIABLE PYTHON_MAJOR_DOT_MINOR_VERSION)
message(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
--
-2.7.4
+2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch
deleted file mode 100644
index 75b6b8fd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 15d0afcfa4868b7b072b3434bac0064617d61f99 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Tue, 19 Dec 2017 14:53:14 +0900
-Subject: [PATCH] Run python scripts using env
-
-Otherwise the build tools hardcode the python path into them.
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- bin/dnfdragora | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/bin/dnfdragora b/bin/dnfdragora
-index b8e0550..cd80f7f 100755
---- a/bin/dnfdragora
-+++ b/bin/dnfdragora
-@@ -1,4 +1,4 @@
--#!/usr/bin/python3
-+#!/usr/bin/env python3
- # vim: set et ts=4 sw=4:
- # Copyright 2016-2017 Angelo Naselli <anaselli@linux.it>
- #
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
index 90ce1d0a..bef47118 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
@@ -3,7 +3,8 @@ From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Tue, 19 Dec 2017 11:15:29 +0900
Subject: [PATCH] To fix error when do_package
-QA Issue: nativesdk-dnfdragora: Files/directories were installed but not shipped in any package:
+QA Issue: nativesdk-dnfdragora: Files/directories were installed but not
+shipped in any package:
/etc
/etc/dnfdragora
/etc/dnfdragora/dnfdragora.yaml
@@ -14,18 +15,18 @@ Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c66b39..a5659f7 100644
+index 230c87b..1b8d800 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -52,7 +52,7 @@ endif(ENABLE_COMPS)
+@@ -68,7 +68,7 @@ endif(ENABLE_COMPS)
set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
set(CMAKE_INSTALL_DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share")
set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale")
--set(CMAKE_INSTALL_FULL_SYSCONFDIR "/etc")
-+set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/../etc")
+-set(CMAKE_INSTALL_FULL_SYSCONFDIR "/etc" CACHE PATH "sysconfig directory (default /etc)")
++set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/../etc" CACHE PATH "sysconfig directory (default /etc)")
# Configure files
configure_file(${CMAKE_SOURCE_DIR}/etc/dnfdragora.yaml.in ${CMAKE_BINARY_DIR}/etc/dnfdragora.yaml @ONLY)
--
-2.7.4
+2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
index 88bb6341..c8b105ea 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
@@ -9,17 +9,17 @@ Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
1 file changed, 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c66b39..fc32750 100644
+index 230c87b..1624998 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -65,7 +65,6 @@ endif(GETTEXT_FOUND)
+@@ -81,7 +81,6 @@ endif(GETTEXT_FOUND)
# Build and install the man-pages
- if(NOT SPHINX_EXECUTABLE-NOTFOUND)
+ if(NOT SPHINX_EXECUTABLE STREQUAL "SPHINX_EXECUTABLE-NOTFOUND")
- add_subdirectory(man)
- endif(NOT SPHINX_EXECUTABLE-NOTFOUND)
+ endif(NOT SPHINX_EXECUTABLE STREQUAL "SPHINX_EXECUTABLE-NOTFOUND")
# Installing application code
--
-2.7.4
+2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
index 9cd1efb8..00738510 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
@@ -7,15 +7,14 @@ SRC_URI = "git://github.com/manatools/dnfdragora.git \
file://0001-disable-build-manpages.patch \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
file://0001-To-fix-error-when-do_package.patch \
- file://0001-Run-python-scripts-using-env.patch \
"
-PV = "1.0.1+git${SRCPV}"
-SRCREV = "4fef4ce889b8e4fa03191d414f63bfd50796152a"
+PV = "1.1.2+git${SRCPV}"
+SRCREV = "19e123132cfd4efd860e5204261c3c228bfe80a8"
S = "${WORKDIR}/git"
-inherit cmake gettext pkgconfig python3-dir python3native distutils3-base
+inherit cmake gettext pkgconfig python3-dir python3native distutils3-base mime-xdg
DEPENDS += "dnf python3 "
#DEPENDS_class-nativesdk += "nativesdk-python3"
@@ -27,4 +26,7 @@ EXTRA_OECMAKE = " -DWITH_MAN=OFF -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR}
BBCLASSEXTEND = "nativesdk"
-FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora "
+FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora ${sysconfdir}/xdg"
+
+PNBLACKLIST[dnfdragora] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.3.bb
new file mode 100644
index 00000000..e3dff919
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "FBGrab is a framebuffer screenshot program"
+HOMEPAGE = "https://github.com/GunnarMonell/fbgrab"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
+SECTION = "console/utils"
+DEPENDS = "libpng zlib"
+SRC_URI = "git://github.com/GunnarMonell/fbgrab.git;protocol=https"
+
+SRCREV = "b179e2a42b8a5d72516b9c8d91713c9025cf6044"
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+do_configure_prepend() {
+ sed -i 's|$(DESTDIR)/usr/man/|$(DESTDIR)${mandir}/|g' ${S}/Makefile
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb
deleted file mode 100644
index e12bc094..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb
+++ /dev/null
@@ -1,16 +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
-
-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/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch b/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
new file mode 100644
index 00000000..54ff7b76
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
@@ -0,0 +1,29 @@
+From 798f2816130838f3618212291de6ab0ea814c868 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 29 Sep 2019 20:39:02 -0700
+Subject: [PATCH] include sys/select on non-glibc platforms
+
+musl needs sys/select.h for defining fd_set
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gdraw/gdraw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdraw/gdraw.c b/gdraw/gdraw.c
+index 24591b778..217c63140 100644
+--- a/gdraw/gdraw.c
++++ b/gdraw/gdraw.c
+@@ -32,7 +32,7 @@
+ #include "gkeysym.h"
+ #include "ustring.h"
+
+-#if __Mac || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__
++#if __Mac || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__ || !defined(__GLIBC__)
+ # include <sys/select.h>
+ #endif
+
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb b/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
deleted file mode 100644
index 947d36eb..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
+++ /dev/null
@@ -1,61 +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 gettext-native"
-DEPENDS_append_class-target = " libxi"
-
-inherit autotools pkgconfig pythonnative distro_features_check gettext
-
-REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
-
-SRC_URI = "git://github.com/${BPN}/${BPN}.git"
-# tag 20170731
-SRCREV = "b9149c13e8f9464fc21473f1f676b36a2130775d"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF_append_class-native = " with_x=no"
-
-do_configure_prepend() {
- # uthash sources are expected in uthash/src
- currdir=`pwd`
- cd ${S}
-
- mkdir -p uthash/src
- cp ${STAGING_INCDIR}/ut*.h uthash/src
-
- # avoid bootstrap cloning gnulib on every configure
- cat >.gitmodules <<EOF
-[submodule "gnulib"]
- path = gnulib
- url = git://git.sv.gnu.org/gnulib
-EOF
- cp -rf ${STAGING_DATADIR}/gnulib ${S}
-
- # --force to avoid errors on reconfigure e.g if recipes changed we depend on
- # | bootstrap: running: libtoolize --quiet
- # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
- # | ...
- ./bootstrap --force
-
- cd $currdir
-}
-
-PACKAGES =+ "${PN}-python"
-
-RPROVIDES_${PN}-dbg += "${PN}-python-dbg"
-
-FILES_${PN} += " \
- ${datadir}/mime \
- ${datadir}/icons \
-"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${PN}/python"
-RDEPENDS_${PN}-python = "python"
-
-# for e.g kde's oxygen-fonts
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb b/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb
new file mode 100644
index 00000000..1863f95f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb
@@ -0,0 +1,47 @@
+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=d042f3d2a8fd7208b704a499168e3c89 \
+"
+
+DEPENDS = "python3 glib-2.0 pango giflib tiff libxml2 jpeg libtool uthash gettext-native"
+DEPENDS_append_class-target = " libxi"
+
+inherit autotools pkgconfig python3native features_check gettext gtk-icon-cache mime mime-xdg
+
+REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
+
+# tag 20190801
+SRCREV = "ac635b818e38ddb8e7e2e1057330a32b4e25476e"
+SRC_URI = "git://github.com/${BPN}/${BPN}.git \
+ file://0001-include-sys-select-on-non-glibc-platforms.patch \
+"
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--without-libuninameslist --enable-python-scripting --enable-python-extension"
+EXTRA_OECONF_append_class-native = " with_x=no"
+
+LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
+BUILD_LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
+
+#do_configure_prepend() {
+# uthash sources are expected in uthash/src
+# mkdir -p ${S}/uthash/src
+# cp ${STAGING_INCDIR}/ut*.h ${S}/uthash/src
+#}
+
+PACKAGES =+ "${PN}-python"
+
+FILES_${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/metainfo \
+ ${datadir}/mime \
+"
+
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${BPN}/python"
+RDEPENDS_${PN}-python = "python3"
+
+# for e.g kde's oxygen-fonts
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb
deleted file mode 100644
index d54fafc8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
- Utility Toolkit (GLUT) library"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
-
-SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "90c3ca4dd9d51cf32276bc5344ec9754"
-SRC_URI[sha256sum] = "2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2"
-
-inherit cmake distro_features_check
-
-# depends on virtual/libx11, virtual/libgl
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-PROVIDES += "mesa-glut"
-
-DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu libxrandr"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb
new file mode 100644
index 00000000..851641c0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
+ Utility Toolkit (GLUT) library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
+
+SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "cd5c670c1086358598a6d4a9d166949d"
+SRC_URI[sha256sum] = "d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68"
+
+inherit cmake features_check
+
+# depends on virtual/libx11, virtual/libgl
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+PROVIDES += "mesa-glut"
+
+DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu libxrandr"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-Explicit-typecast-to-avoid-implicit-double-to-float-.patch b/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-Explicit-typecast-to-avoid-implicit-double-to-float-.patch
new file mode 100644
index 00000000..385bff8d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-Explicit-typecast-to-avoid-implicit-double-to-float-.patch
@@ -0,0 +1,38 @@
+From e3bce98a60d6db3b719bbf5d71f732f9b86cb566 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 9 Feb 2019 08:28:09 -0800
+Subject: [PATCH] Explicit typecast to avoid implicit double to float
+ conversion
+
+fixes compile errors e.g.
+
+../../ftgl-2.1.3~rc5/demo/simple.cpp:110:27: error: non-constant-expression cannot be narrowed from type 'double' to
+ 'float' in initializer list [-Wc++11-narrowing]
+ (t3 + 2.0) / 3, 0.3 };
+ ^~~~~~~~~~~~~~
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ demo/simple.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/demo/simple.cpp b/demo/simple.cpp
+index 532e862..aba55b4 100644
+--- a/demo/simple.cpp
++++ b/demo/simple.cpp
+@@ -105,9 +105,9 @@ static void RenderScene(void)
+ float t2 = sin(n / 50 + 1);
+ float t3 = sin(n / 30 + 2);
+
+- float ambient[4] = { (t1 + 2.0) / 3,
+- (t2 + 2.0) / 3,
+- (t3 + 2.0) / 3, 0.3 };
++ float ambient[4] = { float(t1 + 2.0) / 3,
++ float(t2 + 2.0) / 3,
++ float(t3 + 2.0) / 3, 0.3 };
+ float diffuse[4] = { 1.0, 0.9, 0.9, 1.0 };
+ float specular[4] = { 1.0, 0.7, 0.7, 1.0 };
+ float position[4] = { 100.0, 100.0, 0.0, 1.0 };
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch b/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch
new file mode 100644
index 00000000..cf03cd0f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch
@@ -0,0 +1,38 @@
+From 8bb183926078b6dd54048fb6820838fe7b6e6163 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Sun, 23 Oct 2016 22:46:43 +0200
+Subject: [PATCH] use pkg-config to find freetype2
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 53560ea..b5bb6a3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -41,8 +41,13 @@ AC_CHECK_FUNCS(strndup)
+
+ AC_PATH_X
+
+-AC_CHECK_FT2([9.0.3],[],
+- [AC_MSG_ERROR([FreeType2 is required to compile this library])])
++PKG_CHECK_MODULES(FT2, freetype2,
++ CFLAGS="$CFLAGS $FT2_CFLAGS"
++ LIBS="$LIBS $FT2_LIBS",
++ AC_MSG_ERROR([FreeType2 is required to compile this library])
++)
++AC_SUBST([FT2_CFLAGS])
++AC_SUBST([FT2_LIBS])
+
+ AC_PATH_XTRA
+
+--
+2.5.5
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0002-Makefile.am-remove-useless-and-breaking-code.patch b/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0002-Makefile.am-remove-useless-and-breaking-code.patch
new file mode 100644
index 00000000..830783e2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0002-Makefile.am-remove-useless-and-breaking-code.patch
@@ -0,0 +1,38 @@
+From daabb4110661c4358ec73293d5c0b2106f567c1f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Sun, 23 Oct 2016 23:54:14 +0200
+Subject: [PATCH] Makefile.am: remove useless and breaking code
+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 | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 89a8a7f..e582a34 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -24,15 +24,6 @@ EXTRA_DIST = \
+ m4 \
+ $(NULL)
+
+-# Print out an informative summary.
+-all-local:
+- @$(ECHO) "Done."
+- @$(ECHO)
+- @if test "x$(MAKECMDGOALS)" = "xall-am" -o "x$(.TARGETS)" = "xall-am" -o "x$(MAKECMDGOALS)" = "x" -o "x$(.TARGETS)" = "x" ; then \
+- $(ECHO) "---" ;\
+- $(ECHO) "Run 'make install' to begin installation into $(prefix)" ;\
+- fi
+- @$(ECHO)
+
+ # Upload documentation
+ DOC = docs/html docs/latex/ftgl.pdf
+--
+2.5.5
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl_2.1.3-rc5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl_2.1.3-rc5.bb
new file mode 100644
index 00000000..65f72747
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl_2.1.3-rc5.bb
@@ -0,0 +1,27 @@
+SUMMARY = "OpenGL frontend to Freetype 2"
+HOMEPAGE = "https://sourceforge.net/projects/ftgl/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=527a83e92c7bf363025380eec05df6e4"
+
+inherit autotools pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+DEPENDS += " \
+ freetype \
+ freeglut \
+"
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://0001-use-pkg-config-to-find-freetype2.patch \
+ file://0002-Makefile.am-remove-useless-and-breaking-code.patch \
+ file://0001-Explicit-typecast-to-avoid-implicit-double-to-float-.patch \
+"
+SRC_URI[md5sum] = "c7879018cde844059495b3029b0b6503"
+SRC_URI[sha256sum] = "521ff7bd62c459ff5372e269c223e2a6107a6a99a36afdc2ae634a973af70c59"
+
+S = "${WORKDIR}/ftgl-2.1.3~rc5"
+
+# undefined reference to symbol 'sin@@GLIBC_2.4'
+CFLAGS += "-lm"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch b/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
index 5a764745..50003e33 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
@@ -10,10 +10,6 @@ COMPAT_OLD_KEYSYMDEF is a check for a legacy system, which our system
most definitely is not. It is accomplished by trying to execute
a program, which does not work when cross compiling.
-The fvwm(1) man page is created from Docbook XML which is set for
-a Windows code page that is not available when compiling. Easiest is
-to just not create the man page as those are not needed on the monitor.
-
Upstream-Status: inappropriate [OE specific]
Signed-off-by: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi>
Signed-off-by: Riku Hämäläinen <riku.hamalainen@ge.com>
@@ -27,22 +23,7 @@ diff --git a/configure.ac b/configure.ac
index 48ce264..fab7b44 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1413,23 +1413,7 @@ else
- problem_gdkimlib=": Failed on gdk-imlib, see config.log"
- fi
-
--GNOME_INIT_HOOK
--
--# Unfortunately we have 2 gnome supports: WM hints and gnome libs.
--# The $with_gnomehints below refers to the first, not GNOME_INIT_HOOK.
--if test ! x"$enable_gnome_hints" = xno; then
-- with_gnomehints=yes
-- problem_gnomehints=""
--else
-- with_gnomehints=no
-- problem_gnomehints=": Explicitly disabled"
--fi
--
+@@ -1413,8 +1413,4 @@ else
# Define some compatibility macros needed for config.h.
-mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
- [defined XK_Page_Up && defined XK_Page_Down],
@@ -51,19 +32,6 @@ index 48ce264..fab7b44 100644
AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
[#ifdef COMPAT_OLD_KEYSYMDEF
# define XK_Page_Up XK_Prior
-diff --git a/doc/fvwm/Makefile.am b/doc/fvwm/Makefile.am
-index cddb102..ff00149 100755
---- a/doc/fvwm/Makefile.am
-+++ b/doc/fvwm/Makefile.am
-@@ -10,7 +10,7 @@ XSL_PROFILE = $(srcdir)/../docbook-xsl/profiling/profile.xsl
- HTML_FILES = fvwm.man.html
- XML_FILES = @DOC_SECTIONS_XML_PATH@
- EXTRA_DIST = @DOC_SECTIONS_XML@ $(man_MANS) sections
--man_MANS = fvwm.1
-+man_MANS =
-
- if FVWM_BUILD_HTMLDOC
- doc_DATA = $(HTML_FILES)
--
1.9.1
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch b/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch
deleted file mode 100644
index 756cc86e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
-Date: Tue, 29 Auf 2017 16:08:42 +0200
-Subject: [PATCH] Avoid absolute symlinks
-
-Avoid usage of absolute symlinks, which breaks yocto builds
-since pyro.
-
-Upstream-Status: Pending
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
-
-diff --git a/default-config/Makefile.am b/default-config/Makefile.am
-index 5e16d095a137..5404145a742c 100644
---- a/default-config/Makefile.am
-+++ b/default-config/Makefile.am
-@@ -17,9 +17,9 @@ EXTRA_DIST = images \
-
- install-data-hook:
- cp -r $(srcdir)/images $(inst_location)
-- ln -sf $(inst_location)/FvwmScript-DateTime $(inst_location)/..
-- ln -sf $(inst_location)/FvwmScript-ConfirmQuit $(inst_location)/..
-- ln -sf $(inst_location)/FvwmScript-ConfirmCopyConfig $(inst_location)/..
-+ ln -sf default-config/FvwmScript-DateTime $(inst_location)/..
-+ ln -sf default-config/FvwmScript-ConfirmQuit $(inst_location)/..
-+ ln -sf default-config/FvwmScript-ConfirmCopyConfig $(inst_location)/..
-
- uninstall-hook:
- rm -fr $(DESTDIR)/$(configdir)
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb b/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb
deleted file mode 100644
index cb851bfd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb
+++ /dev/null
@@ -1,114 +0,0 @@
-SUMMARY = "F Virtual Window Manager "
-HOMEPAGE = "http://www.fvwm.org/"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=363fbcfb59124689af72c914560eaf6e"
-
-DEPENDS = " \
- bison-native \
- flex-native \
- freetype-native \
- gettext-native \
- libxslt-native \
- fontconfig \
- libice \
- libpng \
- librsvg \
- libsm \
- libxau \
- libxcb \
- libxcursor \
- libxdmcp \
- libxext \
- libxfixes \
- libxft \
- libxinerama \
- libxml2 \
- libxrender \
- libxt \
- virtual/libx11 \
- xrandr \
- zlib \
-"
-
-PV = "2.6.7+git${SRCPV}"
-
-SRC_URI = " \
- git://github.com/fvwmorg/fvwm.git;protocol=https \
- file://0001-Fix-compilation-for-disabled-gnome.patch \
- file://0002-Avoid-absolute-symlinks.patch \
-"
-
-SRCREV = "597a4e296da4f21e71a17facab297e016a3a80a8"
-
-S = "${WORKDIR}/git"
-
-inherit autotools gettext update-alternatives pkgconfig pythonnative perlnative distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-ALTERNATIVE_${PN} = "x-window-manager"
-ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm"
-ALTERNATIVE_PRIORITY[x-window-manager] = "20"
-
-EXTRA_OECONF = " \
- --disable-bidi \
- --disable-fontconfigtest \
- --disable-freetypetest \
- --disable-htmldoc \
- --disable-imlibtest \
- --disable-mandoc \
- --disable-nls \
- --disable-perllib \
- --disable-rsvg \
- --disable-shape \
- --disable-sm \
- --disable-xfttest \
- --with-imlib-exec-prefix=/nonexistent \
- --with-imlib-prefix=/nonexistent \
- --without-ncurses-library \
- --without-readline-library \
- --without-rplay-library \
- --without-stroke-library \
- --without-termcap-library \
- --without-xpm-library \
- ac_cv_func_mkstemp=no \
- has_safety_mkstemp=yes \
-"
-
-# show the exact commands in the log file
-EXTRA_OEMAKE = " \
- V=1 \
-"
-
-do_install_append() {
- install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm
- # You can install the config file here
-
- install -d -m 0755 ${D}/${datadir}/fvwm
- touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults
-}
-
-# the only needed packages (note: locale packages are automatically generated
-# as well)
-PACKAGES = " \
- ${PN} \
- ${PN}-dbg \
-"
-
-# minimal set of binaries
-FILES_${PN} = " \
- ${bindir}/fvwm \
- ${bindir}/fvwm-root \
- ${datadir}/fvwm/ConfigFvwmDefaults \
-"
-
-RDEPENDS_${PN} = " \
- xuser-account \
-"
-
-# by default a lot of stuff is installed and it's not easy to control what to
-# install, so install everything, but skip the check
-INSANE_SKIP_${PN} = " \
- installed-vs-shipped \
-"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb b/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb
new file mode 100644
index 00000000..51f5a4ec
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb
@@ -0,0 +1,109 @@
+SUMMARY = "F Virtual Window Manager "
+HOMEPAGE = "http://www.fvwm.org/"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f8204787357db6ea518dcc9b6cf08388"
+
+DEPENDS = " \
+ bison-native \
+ flex-native \
+ freetype-native \
+ gettext-native \
+ libxslt-native \
+ fontconfig \
+ libice \
+ libpng \
+ librsvg \
+ libsm \
+ libxau \
+ libxcb \
+ libxcursor \
+ libxdmcp \
+ libxext \
+ libxfixes \
+ libxft \
+ libxinerama \
+ libxml2 \
+ libxrender \
+ libxt \
+ virtual/libx11 \
+ xrandr \
+ zlib \
+"
+
+SRC_URI = " \
+ git://github.com/fvwmorg/fvwm.git;protocol=https \
+ file://0001-Fix-compilation-for-disabled-gnome.patch \
+"
+
+SRCREV = "88eab6dc16da6e5dd25fe97fbb56b96ef0d58657"
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext update-alternatives pkgconfig python3native perlnative features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+ALTERNATIVE_${PN} = "x-window-manager"
+ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm"
+ALTERNATIVE_PRIORITY[x-window-manager] = "20"
+
+EXTRA_OECONF = " \
+ --disable-bidi \
+ --disable-fontconfigtest \
+ --disable-htmldoc \
+ --disable-imlibtest \
+ --disable-nls \
+ --disable-perllib \
+ --disable-rsvg \
+ --disable-shape \
+ --disable-sm \
+ --disable-xfttest \
+ --with-imlib-exec-prefix=/nonexistent \
+ --with-imlib-prefix=/nonexistent \
+ --without-ncurses-library \
+ --without-readline-library \
+ --without-rplay-library \
+ --without-stroke-library \
+ --without-termcap-library \
+ --without-xpm-library \
+ ac_cv_func_mkstemp=no \
+ has_safety_mkstemp=yes \
+"
+
+# show the exact commands in the log file
+EXTRA_OEMAKE = " \
+ V=1 \
+"
+
+do_install_append() {
+ install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm
+ # You can install the config file here
+
+ install -d -m 0755 ${D}/${datadir}/fvwm
+ touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults
+}
+
+# the only needed packages (note: locale packages are automatically generated
+# as well)
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dbg \
+"
+
+# minimal set of binaries
+FILES_${PN} = " \
+ ${bindir}/fvwm \
+ ${bindir}/fvwm-root \
+ ${datadir}/fvwm/ConfigFvwmDefaults \
+"
+
+RDEPENDS_${PN} = " \
+ xuser-account \
+"
+
+# by default a lot of stuff is installed and it's not easy to control what to
+# install, so install everything, but skip the check
+INSANE_SKIP_${PN} = " \
+ installed-vs-shipped \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch b/external/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch
deleted file mode 100644
index d145b625..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: gegl-0.2.0/configure.ac
-===================================================================
---- gegl-0.2.0.orig/configure.ac 2012-04-02 21:56:49.000000000 +0000
-+++ gegl-0.2.0/configure.ac 2014-07-17 21:34:15.312546602 +0000
-@@ -765,15 +765,7 @@
-
- have_sdl="no"
- if test "x$with_sdl" != "xno"; then
-- AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
-- if test "$SDL_CONFIG" = "no"; then
-- have_sdl="no (SDL library not found)"
-- AC_MSG_RESULT([*** Check for SDL library failed.])
-- else
-- have_sdl="yes"
-- SDL_CFLAGS=`$SDL_CONFIG --cflags`
-- SDL_LIBS=`$SDL_CONFIG --libs`
-- fi
-+ PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no (SDL library not found)"])
- fi
-
- AM_CONDITIONAL(HAVE_SDL, test "$have_sdl" = "yes")
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb b/external/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
deleted file mode 100644
index 0053c0c6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "babl librsvg glib-2.0 gtk+ pango cairo expat zlib libpng jpeg virtual/libsdl json-glib intltool-native"
-
-EXTRA_OECONF = "--disable-docs"
-
-inherit distro_features_check gnomebase vala gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper"
-PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav"
-PACKAGECONFIG[lcms] = "--with-lcms,--without-lcms,lcms"
-PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff"
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,webp"
-
-SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \
- file://pkgconfig.patch "
-SRC_URI[md5sum] = "6e5c6f229261478dc436a38c84405b2a"
-SRC_URI[sha256sum] = "d7858ef26ede136d14e3de188a9e9c0de7707061a9fb96d7d615fab4958491fb"
-
-LDFLAGS += "-lm"
-
-# There are a couple of non-symlink .so files installed into libdir, which need to go into main package
-FILES_${PN}_append = " ${libdir}/gegl-0.3/*.so ${libdir}/gegl-0.3/*.json ${libdir}/libgegl-npd-0.3.so ${libdir}/libgegl-sc-0.3.so"
-FILES_${PN}-dev_append = " ${libdir}/gegl-0.3/*.la ${libdir}/libgegl-0.3.so"
-FILES_${PN}-dev_remove = "${libdir}/lib*.so"
-
-# Fails to build with thumb-1 (qemuarm)
-# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process':
-# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
-ARM_INSTRUCTION_SET = "arm"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch b/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch
deleted file mode 100644
index fecd0121..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 72ad76841d87e857428693d812a961935284ac62 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 12 Feb 2015 15:57:47 +0100
-Subject: [PATCH] configure-ac: do not check for freetype-config
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-freetype-config is not allowed in our environment - see also binconfig-disabled
-
-Upstream-Status: inappropriate [OE specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 26812b6..abec714 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -647,13 +647,6 @@ if test "x$fontconfig_ok" = xno; then
- fi
-
-
--AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
--if test "x$FREETYPE_CONFIG" != "xno" ; then
-- AC_MSG_CHECKING([for freetype libraries])
-- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
-- AC_MSG_RESULT($FREETYPE_LIBS)
--fi
--AC_SUBST(FREETYPE_LIBS)
-
-
- ##########################################
---
-1.9.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch b/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch
deleted file mode 100644
index 7da78e20..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From e1c8f4b8323e3965271a93529eab5774c1a7083c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 29 Jun 2017 10:32:14 -0700
-Subject: [PATCH 3/3] Fix use of gegl API
-
-newer version of gegl does not define GEGL_IS_PARAM_SPEC_MULTILINE
-
-| core/libappcore.a(gimpparamspecs-duplicate.o): In function `gimp_param_spec_duplicate':
-| /usr/src/debug/gimp/2.8.22-r0/gimp-2.8.22/app/core/../../../../../../../../../workspace/sources/gimp/app/core/gimpparamspecs-duplicate.c:70: undefined reference to `GEGL_IS_PARAM_SPEC_MULTILINE'
-| collect2: error: ld returned 1 exit status
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- app/core/gimpparamspecs-duplicate.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/app/core/gimpparamspecs-duplicate.c b/app/core/gimpparamspecs-duplicate.c
-index c0b7426..2efaf23 100644
---- a/app/core/gimpparamspecs-duplicate.c
-+++ b/app/core/gimpparamspecs-duplicate.c
-@@ -67,7 +67,7 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
- spec->default_value,
- pspec->flags);
-
-- if (GEGL_IS_PARAM_SPEC_MULTILINE (pspec))
-+ if (gegl_param_spec_get_property_key(pspec, "multiline"))
- {
- g_param_spec_set_qdata (new, multiline_quark,
- GINT_TO_POINTER (TRUE));
---
-2.13.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch b/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch
deleted file mode 100644
index b71bf329..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Bump acceptable versions of babl and gegl.
-
-Patch is taken from debian:
-https://packages.debian.org/stretch/gimp
-
-Upstream-Status: Inappropriate [OE specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-diff --git a/app/sanity.c b/app/sanity.c
-index febddfb..85fea55 100644
---- a/app/sanity.c
-+++ b/app/sanity.c
-@@ -351,7 +351,7 @@ sanity_check_babl (void)
-
- #define BABL_REQUIRED_MAJOR 0
- #define BABL_REQUIRED_MINOR 1
--#define BABL_REQUIRED_MICRO 10
-+#define BABL_REQUIRED_MICRO 12
-
- babl_get_version (&babl_major_version,
- &babl_minor_version,
-@@ -388,7 +388,7 @@ sanity_check_gegl (void)
- gint gegl_micro_version;
-
- #define GEGL_REQUIRED_MAJOR 0
--#define GEGL_REQUIRED_MINOR 2
-+#define GEGL_REQUIRED_MINOR 3
- #define GEGL_REQUIRED_MICRO 0
-
- gegl_get_version (&gegl_major_version,
-diff --git a/configure.ac b/configure.ac
-index 26812b6..4252fe9 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -40,8 +40,8 @@ m4_define([gimp_stable],
- m4_define([gimp_full_name], [GNU Image Manipulation Program])
-
- # required versions of other packages
--m4_define([babl_required_version], [0.1.10])
--m4_define([gegl_required_version], [0.2.0])
-+m4_define([babl_required_version], [0.1.12])
-+m4_define([gegl_required_version], [0.3.0])
- m4_define([glib_required_version], [2.30.2])
- m4_define([atk_required_version], [2.2.0])
- m4_define([gtk_required_version], [2.24.10])
-@@ -519,7 +519,7 @@ AC_SUBST(ISO_CODES_LOCALEDIR)
- ###############################
-
- PKG_CHECK_MODULES(BABL, babl >= babl_required_version)
--PKG_CHECK_MODULES(GEGL, gegl-0.2 >= gegl_required_version)
-+PKG_CHECK_MODULES(GEGL, gegl-0.3 >= gegl_required_version)
- PKG_CHECK_MODULES(ATK, atk >= atk_required_version)
-
- AM_PATH_GLIB_2_0(glib_required_version, :,
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
deleted file mode 100644
index 943986e7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "The GIMP is the GNU Image Manipulation Program"
-HOMEPAGE = "http://www.gimp.org"
-SECTION = "x11/graphics"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = " \
- gdk-pixbuf-native \
- intltool-native \
- libxslt-native \
- gtk+ \
- babl \
- gegl \
- jpeg \
- libpng \
- libexif \
- tiff \
- lcms \
- poppler \
- jasper \
- bzip2 \
- libgudev \
- libmng \
-"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
-
-inherit distro_features_check gnome gtk-doc
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \
- file://0001-configure-ac-do-not-check-for-freetype-config.patch \
- file://bump_Babl-GEGL_versions.patch \
- file://0003-Fix-use-of-gegl-API.patch \
- "
-SRC_URI[md5sum] = "7e4fd7a53b1d3c32dff642ab1a94b44d"
-SRC_URI[sha256sum] = "9187a35cc52b110d78124d7b27b68a68ade14a794c2721314bac6134d2a5638a"
-
-EXTRA_OECONF = "--disable-python \
- --without-webkit \
- --without-wmf"
-
-do_configure_append() {
- find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
- find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
-}
-
-CFLAGS += "-fPIC"
-
-FILES_${PN}-dbg += "${libdir}/gimp/2.0/*/.debug"
-FILES_${PN} += "${datadir}/appdata"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch b/external/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
deleted file mode 100644
index d69c5af3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
+++ /dev/null
@@ -1,860 +0,0 @@
-From 99a9676a0193f6291d7202d7af72e24580abe565 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Fri, 16 Mar 2018 13:55:29 +0100
-Subject: [PATCH 1/2] Make GLM_ENABLE_EXPERIMENTAL a configurable option
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It seems that erroring out if GLM_ENABLE_EXPERIMENTAL is not set turns into
-packagers nightmare: There are packages around expecting glx headers. E.g
-libgltf [1] fails during configure checking for usable headers AND during
-compile. Paticularly fixing configure for those packages is time-consuming:
-The only way (correct me if I am wrong) is creating a patch adding
-
-AC_DEFINE([GLM_ENABLE_EXPERIMENTAL], [1], [glm needs this for gtx headers])
-
-By adding a configure option 'GLM_ENABLE_EXPERIMENTAL', the decision to use
-glm/glx is done at one (and the right) place.
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-
-[1] https://gerrit.libreoffice.org/gitweb?p=libgltf.git
-
-Uptream-Status: Submitted [2]
-
-[2] https://github.com/g-truc/glm/pull/741
----
- CMakeLists.txt | 6 ++++++
- glm/CMakeLists.txt | 2 ++
- glm/experimental.hpp.in | 1 +
- glm/ext.hpp | 1 +
- glm/gtx/associated_min_max.hpp | 1 +
- glm/gtx/bit.hpp | 1 +
- glm/gtx/closest_point.hpp | 1 +
- glm/gtx/color_space.hpp | 1 +
- glm/gtx/color_space_YCoCg.hpp | 1 +
- glm/gtx/common.hpp | 1 +
- glm/gtx/compatibility.hpp | 1 +
- glm/gtx/component_wise.hpp | 1 +
- glm/gtx/dual_quaternion.hpp | 1 +
- glm/gtx/euler_angles.hpp | 1 +
- glm/gtx/extend.hpp | 1 +
- glm/gtx/extended_min_max.hpp | 1 +
- glm/gtx/fast_exponential.hpp | 1 +
- glm/gtx/fast_square_root.hpp | 1 +
- glm/gtx/fast_trigonometry.hpp | 1 +
- glm/gtx/gradient_paint.hpp | 1 +
- glm/gtx/handed_coordinate_space.hpp | 1 +
- glm/gtx/hash.hpp | 1 +
- glm/gtx/integer.hpp | 1 +
- glm/gtx/intersect.hpp | 1 +
- glm/gtx/io.hpp | 1 +
- glm/gtx/log_base.hpp | 1 +
- glm/gtx/matrix_cross_product.hpp | 1 +
- glm/gtx/matrix_decompose.hpp | 1 +
- glm/gtx/matrix_factorisation.hpp | 1 +
- glm/gtx/matrix_interpolation.hpp | 1 +
- glm/gtx/matrix_major_storage.hpp | 1 +
- glm/gtx/matrix_operation.hpp | 1 +
- glm/gtx/matrix_query.hpp | 1 +
- glm/gtx/matrix_transform_2d.hpp | 1 +
- glm/gtx/mixed_product.hpp | 1 +
- glm/gtx/norm.hpp | 1 +
- glm/gtx/normal.hpp | 1 +
- glm/gtx/normalize_dot.hpp | 1 +
- glm/gtx/number_precision.hpp | 1 +
- glm/gtx/optimum_pow.hpp | 1 +
- glm/gtx/orthonormalize.hpp | 1 +
- glm/gtx/perpendicular.hpp | 1 +
- glm/gtx/polar_coordinates.hpp | 1 +
- glm/gtx/projection.hpp | 1 +
- glm/gtx/quaternion.hpp | 1 +
- glm/gtx/range.hpp | 1 +
- glm/gtx/raw_data.hpp | 1 +
- glm/gtx/rotate_normalized_axis.hpp | 1 +
- glm/gtx/rotate_vector.hpp | 1 +
- glm/gtx/scalar_multiplication.hpp | 1 +
- glm/gtx/scalar_relational.hpp | 1 +
- glm/gtx/spline.hpp | 1 +
- glm/gtx/std_based_type.hpp | 1 +
- glm/gtx/string_cast.hpp | 1 +
- glm/gtx/texture.hpp | 1 +
- glm/gtx/transform.hpp | 1 +
- glm/gtx/transform2.hpp | 1 +
- glm/gtx/type_aligned.hpp | 1 +
- glm/gtx/type_trait.hpp | 1 +
- glm/gtx/vec_swizzle.hpp | 1 +
- glm/gtx/vector_angle.hpp | 1 +
- glm/gtx/vector_query.hpp | 1 +
- glm/gtx/wrap.hpp | 1 +
- 63 files changed, 69 insertions(+)
- create mode 100644 glm/experimental.hpp.in
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e5159b0f..bd4dd654 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -82,6 +82,11 @@ option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
- option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
- option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF)
-
-+option(GLM_ENABLE_EXPERIMENTAL "Enable experimental GLM_GTX" OFF)
-+configure_file(glm/experimental.hpp.in experimental.hpp @ONLY)
-+include_directories(${CMAKE_BINARY_DIR}/glm)
-+include_directories(${CMAKE_BINARY_DIR})
-+
- if(GLM_TEST_FORCE_PURE)
- add_definitions(-DGLM_FORCE_PURE)
-
-@@ -167,6 +172,7 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
- set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
- if (GLM_INSTALL_ENABLE)
- install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
- endif()
-
- write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" VERSION ${GLM_VERSION} COMPATIBILITY AnyNewerVersion)
-diff --git a/glm/CMakeLists.txt b/glm/CMakeLists.txt
-index df9c9ee5..dc5db4bc 100644
---- a/glm/CMakeLists.txt
-+++ b/glm/CMakeLists.txt
-@@ -43,6 +43,8 @@ source_group("SIMD Files" FILES ${SIMD_INLINE})
- source_group("SIMD Files" FILES ${SIMD_HEADER})
-
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
-+# make out-of tree builds find experimental.hpp
-+include_directories(${CMAKE_BINARY_DIR}/glm)
-
- if(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE)
- if(GLM_STATIC_LIBRARY_ENABLE)
-diff --git a/glm/experimental.hpp.in b/glm/experimental.hpp.in
-new file mode 100644
-index 00000000..bfab5138
---- /dev/null
-+++ b/glm/experimental.hpp.in
-@@ -0,0 +1 @@
-+#cmakedefine GLM_ENABLE_EXPERIMENTAL
-diff --git a/glm/ext.hpp b/glm/ext.hpp
-index d085bfd5..a2948447 100644
---- a/glm/ext.hpp
-+++ b/glm/ext.hpp
-@@ -39,6 +39,7 @@
- # include "./gtc/type_aligned.hpp"
- #endif
-
-+#include "experimental.hpp"
- #ifdef GLM_ENABLE_EXPERIMENTAL
- #include "./gtx/associated_min_max.hpp"
- #include "./gtx/bit.hpp"
-diff --git a/glm/gtx/associated_min_max.hpp b/glm/gtx/associated_min_max.hpp
-index 0c9935f3..d00c2bc4 100644
---- a/glm/gtx/associated_min_max.hpp
-+++ b/glm/gtx/associated_min_max.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/bit.hpp b/glm/gtx/bit.hpp
-index 1447fa00..31957083 100644
---- a/glm/gtx/bit.hpp
-+++ b/glm/gtx/bit.hpp
-@@ -15,6 +15,7 @@
- // Dependencies
- #include "../gtc/bitfield.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/closest_point.hpp b/glm/gtx/closest_point.hpp
-index 6859bb96..ebd9fe5a 100644
---- a/glm/gtx/closest_point.hpp
-+++ b/glm/gtx/closest_point.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/color_space.hpp b/glm/gtx/color_space.hpp
-index d1e655c3..51416819 100644
---- a/glm/gtx/color_space.hpp
-+++ b/glm/gtx/color_space.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/color_space_YCoCg.hpp b/glm/gtx/color_space_YCoCg.hpp
-index e82cbd8b..7ae71041 100644
---- a/glm/gtx/color_space_YCoCg.hpp
-+++ b/glm/gtx/color_space_YCoCg.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/common.hpp b/glm/gtx/common.hpp
-index 8081bff7..57a68a8d 100644
---- a/glm/gtx/common.hpp
-+++ b/glm/gtx/common.hpp
-@@ -18,6 +18,7 @@
- #include "../vec4.hpp"
- #include "../gtc/vec1.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/compatibility.hpp b/glm/gtx/compatibility.hpp
-index e5b60399..9876669c 100644
---- a/glm/gtx/compatibility.hpp
-+++ b/glm/gtx/compatibility.hpp
-@@ -16,6 +16,7 @@
- #include "../glm.hpp"
- #include "../gtc/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/component_wise.hpp b/glm/gtx/component_wise.hpp
-index 39bab5d5..4fe0e4e2 100644
---- a/glm/gtx/component_wise.hpp
-+++ b/glm/gtx/component_wise.hpp
-@@ -18,6 +18,7 @@
- #include "../detail/setup.hpp"
- #include "../detail/qualifier.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/dual_quaternion.hpp b/glm/gtx/dual_quaternion.hpp
-index c4343e9d..d59fb459 100644
---- a/glm/gtx/dual_quaternion.hpp
-+++ b/glm/gtx/dual_quaternion.hpp
-@@ -20,6 +20,7 @@
- #include "../gtc/constants.hpp"
- #include "../gtc/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/euler_angles.hpp b/glm/gtx/euler_angles.hpp
-index e66e9281..ad5988c1 100644
---- a/glm/gtx/euler_angles.hpp
-+++ b/glm/gtx/euler_angles.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/extend.hpp b/glm/gtx/extend.hpp
-index eda4e470..cde6db63 100644
---- a/glm/gtx/extend.hpp
-+++ b/glm/gtx/extend.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/extended_min_max.hpp b/glm/gtx/extended_min_max.hpp
-index 3e767b0c..0bcffcc6 100644
---- a/glm/gtx/extended_min_max.hpp
-+++ b/glm/gtx/extended_min_max.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/fast_exponential.hpp b/glm/gtx/fast_exponential.hpp
-index 2d4918e7..e6d11f0a 100644
---- a/glm/gtx/fast_exponential.hpp
-+++ b/glm/gtx/fast_exponential.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/fast_square_root.hpp b/glm/gtx/fast_square_root.hpp
-index 1e1ec3cf..f758aeef 100644
---- a/glm/gtx/fast_square_root.hpp
-+++ b/glm/gtx/fast_square_root.hpp
-@@ -19,6 +19,7 @@
- #include "../exponential.hpp"
- #include "../geometric.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/fast_trigonometry.hpp b/glm/gtx/fast_trigonometry.hpp
-index 739065fb..f1332958 100644
---- a/glm/gtx/fast_trigonometry.hpp
-+++ b/glm/gtx/fast_trigonometry.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../gtc/constants.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/gradient_paint.hpp b/glm/gtx/gradient_paint.hpp
-index 2713cec0..d4703991 100644
---- a/glm/gtx/gradient_paint.hpp
-+++ b/glm/gtx/gradient_paint.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include "../gtx/optimum_pow.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/handed_coordinate_space.hpp b/glm/gtx/handed_coordinate_space.hpp
-index 1d0d4104..3a52ddcf 100644
---- a/glm/gtx/handed_coordinate_space.hpp
-+++ b/glm/gtx/handed_coordinate_space.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/hash.hpp b/glm/gtx/hash.hpp
-index fe8a3efd..92bfc9b2 100644
---- a/glm/gtx/hash.hpp
-+++ b/glm/gtx/hash.hpp
-@@ -12,6 +12,7 @@
-
- #pragma once
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/integer.hpp b/glm/gtx/integer.hpp
-index 96637a13..5d1a16c6 100644
---- a/glm/gtx/integer.hpp
-+++ b/glm/gtx/integer.hpp
-@@ -16,6 +16,7 @@
- #include "../glm.hpp"
- #include "../gtc/integer.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/intersect.hpp b/glm/gtx/intersect.hpp
-index 61e2226a..4895ba93 100644
---- a/glm/gtx/intersect.hpp
-+++ b/glm/gtx/intersect.hpp
-@@ -21,6 +21,7 @@
- #include "../gtx/closest_point.hpp"
- #include "../gtx/vector_query.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/io.hpp b/glm/gtx/io.hpp
-index 49a1ec11..ae39cd60 100644
---- a/glm/gtx/io.hpp
-+++ b/glm/gtx/io.hpp
-@@ -23,6 +23,7 @@
- #include "../glm.hpp"
- #include "../gtx/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/log_base.hpp b/glm/gtx/log_base.hpp
-index e873e356..45b8d53c 100644
---- a/glm/gtx/log_base.hpp
-+++ b/glm/gtx/log_base.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_cross_product.hpp b/glm/gtx/matrix_cross_product.hpp
-index 967743b8..52d6c173 100644
---- a/glm/gtx/matrix_cross_product.hpp
-+++ b/glm/gtx/matrix_cross_product.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_decompose.hpp b/glm/gtx/matrix_decompose.hpp
-index b7ec0e83..6793fee2 100644
---- a/glm/gtx/matrix_decompose.hpp
-+++ b/glm/gtx/matrix_decompose.hpp
-@@ -20,6 +20,7 @@
- #include "../gtc/quaternion.hpp"
- #include "../gtc/matrix_transform.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_factorisation.hpp b/glm/gtx/matrix_factorisation.hpp
-index e30a7746..79c293be 100644
---- a/glm/gtx/matrix_factorisation.hpp
-+++ b/glm/gtx/matrix_factorisation.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_interpolation.hpp b/glm/gtx/matrix_interpolation.hpp
-index 89c4596c..799983bb 100644
---- a/glm/gtx/matrix_interpolation.hpp
-+++ b/glm/gtx/matrix_interpolation.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_major_storage.hpp b/glm/gtx/matrix_major_storage.hpp
-index 7f264a59..e68467cd 100644
---- a/glm/gtx/matrix_major_storage.hpp
-+++ b/glm/gtx/matrix_major_storage.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_operation.hpp b/glm/gtx/matrix_operation.hpp
-index bce938bb..1e85bb5e 100644
---- a/glm/gtx/matrix_operation.hpp
-+++ b/glm/gtx/matrix_operation.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_query.hpp b/glm/gtx/matrix_query.hpp
-index 5df5f52f..eec1eec0 100644
---- a/glm/gtx/matrix_query.hpp
-+++ b/glm/gtx/matrix_query.hpp
-@@ -18,6 +18,7 @@
- #include "../gtx/vector_query.hpp"
- #include <limits>
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_transform_2d.hpp b/glm/gtx/matrix_transform_2d.hpp
-index 239ab9f4..3ca8d2f2 100644
---- a/glm/gtx/matrix_transform_2d.hpp
-+++ b/glm/gtx/matrix_transform_2d.hpp
-@@ -17,6 +17,7 @@
- #include "../mat3x3.hpp"
- #include "../vec2.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/mixed_product.hpp b/glm/gtx/mixed_product.hpp
-index 58562aab..5c7460d5 100644
---- a/glm/gtx/mixed_product.hpp
-+++ b/glm/gtx/mixed_product.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/norm.hpp b/glm/gtx/norm.hpp
-index 46474e07..3cf2c3ea 100644
---- a/glm/gtx/norm.hpp
-+++ b/glm/gtx/norm.hpp
-@@ -17,6 +17,7 @@
- #include "../geometric.hpp"
- #include "../gtx/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/normal.hpp b/glm/gtx/normal.hpp
-index 15cec9c2..7bb4c096 100644
---- a/glm/gtx/normal.hpp
-+++ b/glm/gtx/normal.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/normalize_dot.hpp b/glm/gtx/normalize_dot.hpp
-index 86048e70..c6604da4 100644
---- a/glm/gtx/normalize_dot.hpp
-+++ b/glm/gtx/normalize_dot.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../gtx/fast_square_root.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/number_precision.hpp b/glm/gtx/number_precision.hpp
-index 3732a56c..b48845f7 100644
---- a/glm/gtx/number_precision.hpp
-+++ b/glm/gtx/number_precision.hpp
-@@ -18,6 +18,7 @@
- #include "../glm.hpp"
- #include "../gtc/type_precision.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/optimum_pow.hpp b/glm/gtx/optimum_pow.hpp
-index eb09f1c3..94a6bbb2 100644
---- a/glm/gtx/optimum_pow.hpp
-+++ b/glm/gtx/optimum_pow.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/orthonormalize.hpp b/glm/gtx/orthonormalize.hpp
-index 2a684ee4..4ff47e53 100644
---- a/glm/gtx/orthonormalize.hpp
-+++ b/glm/gtx/orthonormalize.hpp
-@@ -18,6 +18,7 @@
- #include "../mat3x3.hpp"
- #include "../geometric.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/perpendicular.hpp b/glm/gtx/perpendicular.hpp
-index 35601ac7..17251ebe 100644
---- a/glm/gtx/perpendicular.hpp
-+++ b/glm/gtx/perpendicular.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include "../gtx/projection.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/polar_coordinates.hpp b/glm/gtx/polar_coordinates.hpp
-index b8421db4..5125215d 100644
---- a/glm/gtx/polar_coordinates.hpp
-+++ b/glm/gtx/polar_coordinates.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/projection.hpp b/glm/gtx/projection.hpp
-index 9a24abf9..4d5bf76f 100644
---- a/glm/gtx/projection.hpp
-+++ b/glm/gtx/projection.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../geometric.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/quaternion.hpp b/glm/gtx/quaternion.hpp
-index c3d99a5c..808ba0fd 100644
---- a/glm/gtx/quaternion.hpp
-+++ b/glm/gtx/quaternion.hpp
-@@ -19,6 +19,7 @@
- #include "../gtc/quaternion.hpp"
- #include "../gtx/norm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/range.hpp b/glm/gtx/range.hpp
-index e0ef46af..03c797c3 100644
---- a/glm/gtx/range.hpp
-+++ b/glm/gtx/range.hpp
-@@ -15,6 +15,7 @@
- // Dependencies
- #include "../detail/setup.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/raw_data.hpp b/glm/gtx/raw_data.hpp
-index fb34c8cb..0084fec6 100644
---- a/glm/gtx/raw_data.hpp
-+++ b/glm/gtx/raw_data.hpp
-@@ -16,6 +16,7 @@
- #include "../detail/setup.hpp"
- #include "../detail/type_int.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/rotate_normalized_axis.hpp b/glm/gtx/rotate_normalized_axis.hpp
-index eee90d6e..82612928 100644
---- a/glm/gtx/rotate_normalized_axis.hpp
-+++ b/glm/gtx/rotate_normalized_axis.hpp
-@@ -19,6 +19,7 @@
- #include "../gtc/epsilon.hpp"
- #include "../gtc/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/rotate_vector.hpp b/glm/gtx/rotate_vector.hpp
-index c8ace89e..e954b041 100644
---- a/glm/gtx/rotate_vector.hpp
-+++ b/glm/gtx/rotate_vector.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include "../gtx/transform.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp
-index b73edf67..22baa52a 100644
---- a/glm/gtx/scalar_multiplication.hpp
-+++ b/glm/gtx/scalar_multiplication.hpp
-@@ -16,6 +16,7 @@
-
- #include "../detail/setup.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/scalar_relational.hpp b/glm/gtx/scalar_relational.hpp
-index 7fc8c1cc..f21f3b2b 100644
---- a/glm/gtx/scalar_relational.hpp
-+++ b/glm/gtx/scalar_relational.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/spline.hpp b/glm/gtx/spline.hpp
-index f96d7e07..76359cfd 100644
---- a/glm/gtx/spline.hpp
-+++ b/glm/gtx/spline.hpp
-@@ -16,6 +16,7 @@
- #include "../glm.hpp"
- #include "../gtx/optimum_pow.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/std_based_type.hpp b/glm/gtx/std_based_type.hpp
-index 55a2f074..92532b9e 100644
---- a/glm/gtx/std_based_type.hpp
-+++ b/glm/gtx/std_based_type.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include <cstdlib>
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/string_cast.hpp b/glm/gtx/string_cast.hpp
-index 4b4e280f..dfcd5085 100644
---- a/glm/gtx/string_cast.hpp
-+++ b/glm/gtx/string_cast.hpp
-@@ -24,6 +24,7 @@
- #include <string>
- #include <cmath>
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/texture.hpp b/glm/gtx/texture.hpp
-index 312bf398..7af185f6 100644
---- a/glm/gtx/texture.hpp
-+++ b/glm/gtx/texture.hpp
-@@ -17,6 +17,7 @@
- #include "../gtc/integer.hpp"
- #include "../gtx/component_wise.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/transform.hpp b/glm/gtx/transform.hpp
-index d23b99ce..5a5d9619 100644
---- a/glm/gtx/transform.hpp
-+++ b/glm/gtx/transform.hpp
-@@ -19,6 +19,7 @@
- #include "../glm.hpp"
- #include "../gtc/matrix_transform.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/transform2.hpp b/glm/gtx/transform2.hpp
-index 85f5bea4..5d7c83fc 100644
---- a/glm/gtx/transform2.hpp
-+++ b/glm/gtx/transform2.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include "../gtx/transform.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/type_aligned.hpp b/glm/gtx/type_aligned.hpp
-index 6ff9f276..6ad92fad 100644
---- a/glm/gtx/type_aligned.hpp
-+++ b/glm/gtx/type_aligned.hpp
-@@ -18,6 +18,7 @@
- // Dependency:
- #include "../gtc/type_precision.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/type_trait.hpp b/glm/gtx/type_trait.hpp
-index 637bbd19..65519cab 100644
---- a/glm/gtx/type_trait.hpp
-+++ b/glm/gtx/type_trait.hpp
-@@ -12,6 +12,7 @@
-
- #pragma once
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/vec_swizzle.hpp b/glm/gtx/vec_swizzle.hpp
-index daebac38..13d523dc 100644
---- a/glm/gtx/vec_swizzle.hpp
-+++ b/glm/gtx/vec_swizzle.hpp
-@@ -14,6 +14,7 @@
-
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/vector_angle.hpp b/glm/gtx/vector_angle.hpp
-index 401a47eb..98c9d110 100644
---- a/glm/gtx/vector_angle.hpp
-+++ b/glm/gtx/vector_angle.hpp
-@@ -20,6 +20,7 @@
- #include "../gtx/quaternion.hpp"
- #include "../gtx/rotate_vector.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/vector_query.hpp b/glm/gtx/vector_query.hpp
-index 6560eaa5..5ab1ffda 100644
---- a/glm/gtx/vector_query.hpp
-+++ b/glm/gtx/vector_query.hpp
-@@ -17,6 +17,7 @@
- #include <cfloat>
- #include <limits>
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/wrap.hpp b/glm/gtx/wrap.hpp
-index 2c4b55df..5bf26a33 100644
---- a/glm/gtx/wrap.hpp
-+++ b/glm/gtx/wrap.hpp
-@@ -16,6 +16,7 @@
- #include "../glm.hpp"
- #include "../gtc/vec1.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch b/external/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
deleted file mode 100644
index 1be3318c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 7fdd36d7496238e03e43fcc32839f75588116c5d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Fri, 16 Mar 2018 15:44:48 +0100
-Subject: [PATCH 2/2] glm: install headers only
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Plausibility check in root source path
-
-$ find glm -type f ! -name '*.hpp' ! -name '*.h' ! -name '*.inl'
-glm/detail/glm.cpp
-glm/detail/dummy.cpp
-glm/experimental.hpp.in
-glm/CMakeLists.txt
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-
-Uptream-Status: Submitted [1]
-
-[1] https://github.com/g-truc/glm/pull/741
----
- CMakeLists.txt | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bd4dd654..113dd735 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -171,7 +171,12 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
-
- set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
- if (GLM_INSTALL_ENABLE)
-- install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+ install(DIRECTORY glm
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-+ FILES_MATCHING
-+ PATTERN "*.h"
-+ PATTERN "*.hpp"
-+ PATTERN "*.inl")
- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
- endif()
-
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch
new file mode 100644
index 00000000..2eb50a5a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch
@@ -0,0 +1,158 @@
+From 461861cd2e34294830b121db834c05ff39424f6f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 27 Dec 2019 18:42:51 -0800
+Subject: [PATCH] Fix Wimplicit-int-float-conversion warnings with clang 10+
+
+This is a new warning in clang which will be available in clang 10
+onwards
+
+Fixes
+error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion]
+
+Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/986]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ glm/gtx/scalar_multiplication.hpp | 2 +-
+ test/gtx/gtx_fast_trigonometry.cpp | 32 +++++++++++++++---------------
+ 2 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp
+index f391f8de..496ba193 100644
+--- a/glm/gtx/scalar_multiplication.hpp
++++ b/glm/gtx/scalar_multiplication.hpp
+@@ -54,7 +54,7 @@ namespace glm
+ template<typename T> \
+ return_type_scalar_multiplication<T, Vec> \
+ operator/(Vec lh, T const& s){ \
+- return lh *= 1.0f / s; \
++ return lh *= 1.0f / static_cast<float>(s); \
+ }
+
+ GLM_IMPLEMENT_SCAL_MULT(vec2)
+diff --git a/test/gtx/gtx_fast_trigonometry.cpp b/test/gtx/gtx_fast_trigonometry.cpp
+index f3bf17bf..f3c4e957 100644
+--- a/test/gtx/gtx_fast_trigonometry.cpp
++++ b/test/gtx/gtx_fast_trigonometry.cpp
+@@ -239,12 +239,12 @@ namespace taylorCos
+ std::vector<glm::vec4> Results;
+ Results.resize(Samples);
+
+- float Steps = (End - Begin) / Samples;
++ float Steps = (End - Begin) / float(Samples);
+
+ std::clock_t const TimeStampBegin = std::clock();
+
+ for(std::size_t i = 0; i < Samples; ++i)
+- Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * i));
++ Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * float(i)));
+
+ std::clock_t const TimeStampEnd = std::clock();
+
+@@ -280,12 +280,12 @@ namespace taylorCos
+ std::vector<glm::vec4> Results;
+ Results.resize(Samples);
+
+- float Steps = (End - Begin) / Samples;
++ float Steps = (End - Begin) / float(Samples);
+
+ std::clock_t const TimeStampBegin = std::clock();
+
+ for(std::size_t i = 0; i < Samples; ++i)
+- Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * i));
++ Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * float(i)));
+
+ std::clock_t const TimeStampEnd = std::clock();
+
+@@ -327,12 +327,12 @@ namespace taylorCos
+ std::vector<glm::vec4> Results;
+ Results.resize(Samples);
+
+- float Steps = (End - Begin) / Samples;
++ float Steps = (End - Begin) / float(Samples);
+
+ std::clock_t const TimeStampBegin = std::clock();
+
+ for(std::size_t i = 0; i < Samples; ++i)
+- Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * i));
++ Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * float(i)));
+
+ std::clock_t const TimeStampEnd = std::clock();
+
+@@ -349,12 +349,12 @@ namespace taylorCos
+ std::vector<glm::vec4> Results;
+ Results.resize(Samples);
+
+- float Steps = (End - Begin) / Samples;
++ float Steps = (End - Begin) / float(Samples);
+
+ std::clock_t const TimeStampBegin = std::clock();
+
+ for(std::size_t i = 0; i < Samples; ++i)
+- Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * i));
++ Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * float(i)));
+
+ std::clock_t const TimeStampEnd = std::clock();
+
+@@ -371,12 +371,12 @@ namespace taylorCos
+ std::vector<glm::vec4> Results;
+ Results.resize(Samples);
+
+- float Steps = (End - Begin) / Samples;
++ float Steps = (End - Begin) / float(Samples);
+
+ std::clock_t const TimeStampBegin = std::clock();
+
+ for(std::size_t i = 0; i < Samples; ++i)
+- Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * i));
++ Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * float(i)));
+
+ std::clock_t const TimeStampEnd = std::clock();
+
+@@ -466,12 +466,12 @@ namespace taylor2
+ std::vector<float> Results;
+ Results.resize(Samples);
+
+- float Steps = (End - Begin) / Samples;
++ float Steps = (End - Begin) / float(Samples);
+
+ std::clock_t const TimeStampBegin = std::clock();
+
+ for(std::size_t i = 0; i < Samples; ++i)
+- Results[i] = taylorCosA(AngleShift.x + Begin + Steps * i);
++ Results[i] = taylorCosA(AngleShift.x + Begin + Steps * float(i));
+
+ std::clock_t const TimeStampEnd = std::clock();
+
+@@ -488,12 +488,12 @@ namespace taylor2
+ std::vector<float> Results;
+ Results.resize(Samples);
+
+- float Steps = (End - Begin) / Samples;
++ float Steps = (End - Begin) / float(Samples);
+
+ std::clock_t const TimeStampBegin = std::clock();
+
+ for(std::size_t i = 0; i < Samples; ++i)
+- Results[i] = taylorCosB(AngleShift.x + Begin + Steps * i);
++ Results[i] = taylorCosB(AngleShift.x + Begin + Steps * float(i));
+
+ std::clock_t const TimeStampEnd = std::clock();
+
+@@ -510,12 +510,12 @@ namespace taylor2
+ std::vector<float> Results;
+ Results.resize(Samples);
+
+- float Steps = (End - Begin) / Samples;
++ float Steps = (End - Begin) / float(Samples);
+
+ std::clock_t const TimeStampBegin = std::clock();
+
+ for(std::size_t i = 0; i < Samples; ++i)
+- Results[i] = taylorCosC(AngleShift.x + Begin + Steps * i);
++ Results[i] = taylorCosC(AngleShift.x + Begin + Steps * float(i));
+
+ std::clock_t const TimeStampEnd = std::clock();
+
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in
new file mode 100644
index 00000000..54052e28
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in
@@ -0,0 +1,7 @@
+prefix=/usr
+includedir=${prefix}/include
+
+Name: GLM
+Description: OpenGL Mathematics
+Version: @VERSION@
+Cflags: -I${includedir}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in
new file mode 100644
index 00000000..8ab23a18
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in
@@ -0,0 +1,20 @@
+set(GLM_VERSION "@VERSION@")
+
+
+####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
+
+macro(set_and_check _var _file)
+ set(${_var} "${_file}")
+ if(NOT EXISTS "${_file}")
+ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
+ endif()
+endmacro()
+
+####################################################################################
+
+set_and_check(GLM_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include")
+
+if (NOT CMAKE_VERSION VERSION_LESS "3.0")
+ include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
+endif()
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in
new file mode 100644
index 00000000..561a0db6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in
@@ -0,0 +1,31 @@
+# This is a basic version file for the Config-mode of find_package().
+# It is used by write_basic_package_version_file() as input file for configure_file()
+# to create a version-file which can be installed along a config.cmake file.
+#
+# The created file sets PACKAGE_VERSION_EXACT if the current version string and
+# the requested version string are exactly the same and it sets
+# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
+# The variable CVF_VERSION must be set before calling configure_file().
+
+set(PACKAGE_VERSION "@VERSION@")
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
+
+# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
+if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
+ return()
+endif()
+
+# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
+if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
+ math(EXPR installedBits "8 * 8")
+ set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
+ set(PACKAGE_VERSION_UNSUITABLE FALSE)
+endif()
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake
new file mode 100644
index 00000000..905b6773
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake
@@ -0,0 +1,107 @@
+# Generated by CMake
+
+if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+ message(FATAL_ERROR "CMake >= 2.6.0 required")
+endif()
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.6)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_targetsDefined)
+set(_targetsNotDefined)
+set(_expectedTargets)
+foreach(_expectedTarget glm)
+ list(APPEND _expectedTargets ${_expectedTarget})
+ if(NOT TARGET ${_expectedTarget})
+ list(APPEND _targetsNotDefined ${_expectedTarget})
+ endif()
+ if(TARGET ${_expectedTarget})
+ list(APPEND _targetsDefined ${_expectedTarget})
+ endif()
+endforeach()
+if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
+ unset(_targetsDefined)
+ unset(_targetsNotDefined)
+ unset(_expectedTargets)
+ set(CMAKE_IMPORT_FILE_VERSION)
+ cmake_policy(POP)
+ return()
+endif()
+if(NOT "${_targetsDefined}" STREQUAL "")
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
+endif()
+unset(_targetsDefined)
+unset(_targetsNotDefined)
+unset(_expectedTargets)
+
+
+# Compute the installation prefix relative to this file.
+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+# Use original install prefix when loaded through a
+# cross-prefix symbolic link such as /lib -> /usr/lib.
+get_filename_component(_realCurr "${_IMPORT_PREFIX}" REALPATH)
+get_filename_component(_realOrig "/usr/lib/cmake/glm" REALPATH)
+if(_realCurr STREQUAL _realOrig)
+ set(_IMPORT_PREFIX "/usr/lib/cmake/glm")
+endif()
+unset(_realOrig)
+unset(_realCurr)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+if(_IMPORT_PREFIX STREQUAL "/")
+ set(_IMPORT_PREFIX "")
+endif()
+
+# Create imported target glm
+add_library(glm INTERFACE IMPORTED)
+
+set_target_properties(glm PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
+)
+
+if(CMAKE_VERSION VERSION_LESS 3.0.0)
+ message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
+endif()
+
+# Load information for each installed configuration.
+get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+file(GLOB CONFIG_FILES "${_DIR}/glmTargets-*.cmake")
+foreach(f ${CONFIG_FILES})
+ include(${f})
+endforeach()
+
+# Cleanup temporary variables.
+set(_IMPORT_PREFIX)
+
+# Loop over all imported files and verify that they actually exist
+foreach(target ${_IMPORT_CHECK_TARGETS} )
+ foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
+ if(NOT EXISTS "${file}" )
+ message(FATAL_ERROR "The imported target \"${target}\" references the file
+ \"${file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+ endforeach()
+ unset(_IMPORT_CHECK_FILES_FOR_${target})
+endforeach()
+unset(_IMPORT_CHECK_TARGETS)
+
+# This file does not depend on other imported targets which have
+# been exported from the same project but in a separate export set.
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
+cmake_policy(POP)
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
deleted file mode 100644
index 7f16708e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "OpenGL Mathematics Library"
-DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
-mathematics library for graphics software based on the OpenGL \
-Shading Language (GLSL) specifications."
-HOMEPAGE = "https://glm.g-truc.net"
-BUGTRACKER = "https://github.com/g-truc/glm/issues"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://readme.md;beginline=21;endline=22;md5=3075b5727d36f29edccf97b93e72b790"
-
-SRC_URI = " \
- git://github.com/g-truc/glm;branch=master \
- file://0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch \
- file://0002-glm-install-headers-only.patch \
-"
-SRCREV = "fcbedf5058ef8613dd02aac62ef00d55dcfeadd7"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DGLM_ENABLE_EXPERIMENTAL=ON"
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb
new file mode 100644
index 00000000..e2f4dbeb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb
@@ -0,0 +1,39 @@
+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=4a735e33f271f57404fda17e80085411"
+
+SRC_URI = " \
+ git://github.com/g-truc/glm;branch=master \
+ file://0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch \
+ file://glmConfig.cmake.in \
+ file://glmConfigVersion.cmake.in \
+ file://glm.pc.in \
+ file://glmTargets.cmake \
+"
+SRCREV = "4db8f89aace8f04c839b606e15b39fb8383ec732"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_install() {
+ install -d ${D}${includedir} ${D}${docdir}/glm ${D}${libdir}/pkgconfig ${D}${libdir}/cmake/glm
+ cp -R --no-dereference --preserve=mode,links ${S}/glm ${D}${includedir}
+ cp -R --no-dereference --preserve=mode,links ${S}/doc ${D}${docdir}/glm
+ rm ${D}${includedir}/glm/CMakeLists.txt
+ sed "s/@VERSION@/${PV}/" ${WORKDIR}/glmConfigVersion.cmake.in > ${D}${libdir}/cmake/glm/glmConfigVersion.cmake
+ sed "s/@VERSION@/${PV}/" ${WORKDIR}/glmConfig.cmake.in > ${D}${libdir}/cmake/glm/glmConfig.cmake
+ sed "s/@VERSION@/${PV}/" ${WORKDIR}/glm.pc.in > ${D}${libdir}/pkgconfig/glm.pc
+ install -Dm644 ${WORKDIR}/glmTargets.cmake ${D}${libdir}/cmake/glm/glmTargets.cmake
+
+}
+
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb b/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
deleted file mode 100644
index 75ad7f4f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "gphoto2 - a command-line frontend to libgphoto2"
-HOMEPAGE = "http://www.gphoto.com/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "libgphoto2 popt readline"
-RDEPENDS_gphoto2 = "libgphoto2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
- file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
- file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
-"
-
-SRC_URI[gphoto2.md5sum] = "6c6a21b5e879330cdd71ef92dce36399"
-SRC_URI[gphoto2.sha256sum] = "9302d02fb472d4936988382b7277ccdc4edaf7ede56c490278912ffd0627699c"
-
-inherit autotools pkgconfig gettext
-
-EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \
- --without-cdk \
-"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb b/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb
new file mode 100644
index 00000000..ef3100f6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb
@@ -0,0 +1,22 @@
+SUMMARY = "gphoto2 - a command-line frontend to libgphoto2"
+HOMEPAGE = "http://www.gphoto.com/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "libgphoto2 popt readline"
+RDEPENDS_gphoto2 = "libgphoto2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
+ file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+ file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
+"
+
+SRC_URI[gphoto2.md5sum] = "0abd5ae8315109ae66bf06ac37902678"
+SRC_URI[gphoto2.sha256sum] = "df87092100e7766c9d0a4323217c91908a9c891c0d3670ebf40b76903be458d1"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \
+ --without-cdk \
+"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi b/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi
deleted file mode 100644
index 3977064f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi
+++ /dev/null
@@ -1,9533 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
-<!-- This file was generated by libgphoto2 print-camera-list - - fdi-device -->
-<!--+
- | Created from this library:
- | libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF
- | libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking
- +-->
-<deviceinfo version="0.2">
- <device>
- <match key="info.subsystem" string="usb">
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13251">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13252">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13891">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13628">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13869">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13702">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13128">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13129">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13130">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13272">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13180">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13181">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13259">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13093">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13121">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13124">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13125">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13193">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13194">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13176">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13588">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13736">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13892">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="14117">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13833">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13427">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13663">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13911">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13226">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13796">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13853">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5845">
- <match key="usb_device.product_id" int="32774">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5845">
- <match key="usb_device.product_id" int="32773">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1725">
- <match key="usb_device.product_id" int="1027">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1725">
- <match key="usb_device.product_id" int="1028">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20555">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2250">
- <match key="usb_device.product_id" int="273">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20555">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="360">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="40974">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="36941">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="359">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="2048">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="7">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="8">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="10">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="12">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="18">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="11">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="13">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="5">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="242">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="548">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4762">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4779">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4752">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4754">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4756">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4759">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4768">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4776">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4753">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4755">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4761">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="20488">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="20489">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="16386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5416">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5417">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5433">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5432">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5305">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5448">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4618">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4893">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4620">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4865">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4867">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4881">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4897">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="12787">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4913">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4915">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="12841">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4871">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4951">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4945">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4873">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4875">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4883">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4885">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4917">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4877">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4879">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4889">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5359">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5480">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5481">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5311">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5400">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5384">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5385">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5293">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5274">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5227">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5214">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5208">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="12715">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4615">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4929">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4891">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4616">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37180">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="23055">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19680">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19681">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="20815">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="30579">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21519">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21535">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21775">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21760">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19664">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19665">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21023">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21007">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19648">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19649">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21600">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21608">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21504">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21520">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21521">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21606">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="30578">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21766">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21857">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="20992">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="20993">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21008">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21009">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21012">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21024">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21025">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21040">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21041">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19968">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19969">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19983">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19999">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19712">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19713">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19584">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19585">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19600">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19601">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19616">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19617">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="22047">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="24322">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="22543">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="22559">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21632">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21633">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="30593">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21648">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21649">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36945">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8320">
- <match key="usb_device.product_id" int="6">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8320">
- <match key="usb_device.product_id" int="5">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1189">
- <match key="usb_device.product_id" int="12291">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7493">
- <match key="usb_device.product_id" int="17821">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10823">
- <match key="usb_device.product_id" int="32528">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10823">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10823">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12359">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12738">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12733">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12774">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12787">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12904">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12480">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12365">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12791">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12390">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12479">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12405">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12474">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12558">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12468">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12543">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12572">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12542">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12623">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12530">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12622">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12566">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12676">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12569">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12660">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12598">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12660">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12565">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12740">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12619">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12639">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12659">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12691">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12737">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12443">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12443">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12484">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12470">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12532">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12370">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12389">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12400">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12401">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12529">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12394">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12424">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12423">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12453">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12667">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12912">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12419">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12476">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12823">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12927">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12522">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12615">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12752">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12825">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12523">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12524">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12420">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12441">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12563">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12527">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12560">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12614">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12613">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12751">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12699">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12778">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12545">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12546">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12697">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12858">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12824">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12821">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12859">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12880">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12914">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12883">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12698">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12911">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12356">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12384">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12420">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12441">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12560">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12420">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12441">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12560">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12613">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12751">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12861">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12953">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12751">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12613">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12430">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12865">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12969">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12837">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12774">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12691">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12358">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12363">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12484">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12438">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12412">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12410">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12448">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12438">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12430">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12417">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12416">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12457">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12429">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12418">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12415">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12416">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12438">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12457">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12549">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12430">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12367">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12385">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12686">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12739">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12862">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12900">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12366">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12386">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12689">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12734">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12842">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12874">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12873">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12913">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12898">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12377">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12406">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12786">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12472">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12785">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12897">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12471">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12867">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12537">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12559">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12536">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12629">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12617">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12666">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12735">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12783">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12482">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12481">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12582">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12571">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12624">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12621">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12620">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12663">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12662">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12404">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12541">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12540">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12602">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12601">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12635">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12567">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12600">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12637">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12469">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12442">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12838">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12863">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12473">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12475">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12732">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12936">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12937">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12360">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12851">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12687">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12767">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12888">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12373">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12398">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12399">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12421">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12467">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12581">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12634">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12443">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12361">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12444">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12353">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12854">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12357">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12369">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12891">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12917">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12528">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12355">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12389">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12400">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12401">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12570">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12375">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12364">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12390">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12374">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12405">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12474">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12396">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12397">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12616">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12407">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12468">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12466">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12465">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12538">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12818">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12443">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12623">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12470">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12676">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12740">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12788">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12484">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12480">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12599">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12529">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12543">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12530">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12572">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12542">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12569">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12622">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12661">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12738">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12660">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12619">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12694">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12565">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12774">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12737">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12691">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12685">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12638">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12690">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12768">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12817">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12852">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12890">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12918">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12772">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12736">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12790">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12844">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12840">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12869">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12868">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12895">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12856">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12892">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12919">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12955">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12368">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12380">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12778">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12823">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12859">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12408">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4169">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4162">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4173">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4172">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4474">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="49664">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1207">
- <match key="usb_device.product_id" int="34985">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="4098">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="32769">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="548">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7796">
- <match key="usb_device.product_id" int="25874">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7763">
- <match key="usb_device.product_id" int="5">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1000">
- <match key="usb_device.product_id" int="8578">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1000">
- <match key="usb_device.product_id" int="8576">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="1809">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="1873">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2321">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2369">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2049">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2161">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2193">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2145">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2177">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2337">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2305">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="1793">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="1889">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2353">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16406">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16391">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16394">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16675">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16727">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16688">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16700">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16691">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16737">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16695">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16701">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16689">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16720">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16728">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16722">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16671">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16723">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16702">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16721">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16738">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16745">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16680">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4204">
- <match key="usb_device.product_id" int="12821">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2125">
- <match key="usb_device.product_id" int="3">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3428">
- <match key="usb_device.product_id" int="4129">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1000">
- <match key="usb_device.product_id" int="8496">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32768">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16690">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16687">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16700">
- <match key="usb_device.product_id" int="45323">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16700">
- <match key="usb_device.product_id" int="45338">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16700">
- <match key="usb_device.product_id" int="45339">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16700">
- <match key="usb_device.product_id" int="17664">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7994">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1498">
- <match key="usb_device.product_id" int="4120">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4483">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1498">
- <match key="usb_device.product_id" int="4128">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2726">
- <match key="usb_device.product_id" int="24609">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36944">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36946">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4310">
- <match key="usb_device.product_id" int="8704">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1208">
- <match key="usb_device.product_id" int="1027">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1208">
- <match key="usb_device.product_id" int="1026">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10608">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10608">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6018">
- <match key="usb_device.product_id" int="16385">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1747">
- <match key="usb_device.product_id" int="8634">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3530">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3530">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="330">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="466">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="454">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="467">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="539">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="480">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="448">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="484">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="411">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="449">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="453">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="468">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="486">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="506">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="557">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="625">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="592">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="477">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="475">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="495">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="512">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="488">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="521">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="576">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="637">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="613">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="664">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="452">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="471">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="447">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="322">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="399">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="668">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="563">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="622">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="611">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="678">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="648">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="472">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="513">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="525">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="510">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="693">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="451">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1221">
- <match key="usb_device.product_id" int="4416">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1221">
- <match key="usb_device.product_id" int="4923">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2334">
- <match key="usb_device.product_id" int="9605">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1112">
- <match key="usb_device.product_id" int="28677">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1037">
- <match key="usb_device.product_id" int="34908">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1044">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1044">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="7">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="6">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20033">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20034">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="19983">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="19712">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="11522">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="29706">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="53514">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="53513">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20193">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20194">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="45066">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="28840">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20005">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20006">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="1459">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="28930">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20197">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="9842">
- <match key="usb_device.product_id" int="17">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="32796">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4866">
- <match key="usb_device.product_id" int="4118">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4866">
- <match key="usb_device.product_id" int="4119">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="32285">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="23837">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="23581">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4251">
- <match key="usb_device.product_id" int="37126">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4251">
- <match key="usb_device.product_id" int="37129">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4251">
- <match key="usb_device.product_id" int="37125">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25858">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25090">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="31746">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="32002">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25346">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="26114">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="29698">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="30722">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="29186">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="28162">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="30978">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="27906">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25346">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="16642">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="26626">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="28930">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="27394">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25602">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="30210">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="26370">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="27650">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="27138">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="16898">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="30466">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="32258">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="17154">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="16642">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="17410">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="17666">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="16642">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="24578">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="61443">
- <match key="usb_device.product_id" int="24578">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="35586">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="35842">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="29954">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="31490">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="29442">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="31234">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="32770">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="33026">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="33282">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="39682">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="33794">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="34050">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="38402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="38658">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="34562">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="34818">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="26716">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="26720">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3782">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3773">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3583">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3219">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3240">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3582">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3556">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1533">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3541">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3633">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3634">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3573">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1966">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3546">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3985">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3940">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3939">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3975">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3935">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3936">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3562">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3538">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1994">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3877">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1562">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="4020">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="4021">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1995">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="2009">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3308">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3576">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3577">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3578">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3579">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3580">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3581">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="2008">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="8210">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1547">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3533">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="61642">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="2977">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="2978">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="4226">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="13839">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="13855">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="4177">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="4178">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37203">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="49189">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6655">
- <match key="usb_device.product_id" int="771">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6655">
- <match key="usb_device.product_id" int="777">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6655">
- <match key="usb_device.product_id" int="775">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2655">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2581">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2582">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32902">
- <match key="usb_device.product_id" int="1584">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2654">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2555">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4394">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4390">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4417">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4418">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4434">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4455">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4433">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="8449">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="8453">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="8450">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4102">
- <match key="usb_device.product_id" int="12292">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4104">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4102">
- <match key="usb_device.product_id" int="16386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4102">
- <match key="usb_device.product_id" int="16387">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4423">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4371">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4384">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4375">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4373">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4372">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4376">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4377">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4435">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4404">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4162">
- <match key="usb_device.product_id" int="4419">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7784">
- <match key="usb_device.product_id" int="4098">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4374">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4402">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2848">
- <match key="usb_device.product_id" int="56814">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1924">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="13056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1498">
- <match key="usb_device.product_id" int="4102">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="0">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10545">
- <match key="usb_device.product_id" int="2561">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10545">
- <match key="usb_device.product_id" int="2565">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1265">
- <match key="usb_device.product_id" int="24837">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2126">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2856">
- <match key="usb_device.product_id" int="4108">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8759">
- <match key="usb_device.product_id" int="53512">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8759">
- <match key="usb_device.product_id" int="53513">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8759">
- <match key="usb_device.product_id" int="45320">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1559">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1547">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1406">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1418">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1420">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1421">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1417">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1450">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1434">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1442">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1463">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1466">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1447">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1455">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1454">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1475">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1449">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1478">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1436">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1333">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1382">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1382">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1396">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1393">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1412">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1401">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1400">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1400">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1414">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1404">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="288">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="289">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="273">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="304">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="274">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="306">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="352">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="305">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1317">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1280">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1296">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1328">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="368">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1365">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1398">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1360">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1392">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1394">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1397">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1405">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1407">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1399">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="768">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1344">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1384">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1385">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1381">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1383">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1486">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1536">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1439">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1473">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1453">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1413">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1024">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1426">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1427">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1422">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1423">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1425">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1440">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1452">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1451">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1464">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1437">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1438">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1415">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1459">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1460">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1408">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1416">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1027">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1461">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1429">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1487">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1485">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1472">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1224">
- <match key="usb_device.product_id" int="1826">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="25">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="9">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="7">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="24">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="34">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7994">
- <match key="usb_device.product_id" int="4102">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1154">
- <match key="usb_device.product_id" int="2425">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1154">
- <match key="usb_device.product_id" int="2064">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1154">
- <match key="usb_device.product_id" int="1393">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1154">
- <match key="usb_device.product_id" int="1434">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36945">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9077">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6808">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30519">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30507">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29848">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30140">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30142">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30018">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30077">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30440">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29706">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30851">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30133">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30554">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29900">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29847">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29862">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29944">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30488">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29724">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30450">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30698">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30463">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30641">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25073">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25081">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25215">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25198">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24859">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24719">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24882">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25406">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25145">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25149">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25116">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25125">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24986">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1086">
- <match key="usb_device.product_id" int="28736">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1086">
- <match key="usb_device.product_id" int="28849">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25372">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25189">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24592">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24581">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5073">
- <match key="usb_device.product_id" int="28674">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1133">
- <match key="usb_device.product_id" int="2304">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1133">
- <match key="usb_device.product_id" int="2384">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="13056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20555">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="33900">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3725">
- <match key="usb_device.product_id" int="80">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1032">
- <match key="usb_device.product_id" int="45066">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29827">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8709">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16642">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="34128">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="34184">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1032">
- <match key="usb_device.product_id" int="45065">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4721">
- <match key="usb_device.product_id" int="8210">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8222">
- <match key="usb_device.product_id" int="17067">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10821">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10821">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4310">
- <match key="usb_device.product_id" int="8960">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3504">
- <match key="usb_device.product_id" int="21874">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1600">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1570">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1260">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1808">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1598">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="61642">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="201">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1601">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32776">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2125">
- <match key="usb_device.product_id" int="3">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="24778">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28808">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25807">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11826">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11827">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11879">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11941">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11944">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11880">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="16854">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="16858">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17063">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17279">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17267">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="18449">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="16860">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28874">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11894">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11906">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11908">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11874">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11875">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11878">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25619">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25781">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25782">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11856">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11857">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25621">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="10853">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28835">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28840">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28841">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17169">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17158">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="16847">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28941">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28942">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17250">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="49664">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="41808">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="49696">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="50208">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="50464">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2726">
- <match key="usb_device.product_id" int="38401">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1033">
- <match key="usb_device.product_id" int="806">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1033">
- <match key="usb_device.product_id" int="1074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1033">
- <match key="usb_device.product_id" int="578">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1026">
- <match key="usb_device.product_id" int="22120">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="770">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="279">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="290">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="291">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="265">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="277">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="289">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="273">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="285">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="301">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="516">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="267">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="304">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="305">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="297">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="275">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="518">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="281">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="302">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="269">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="309">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="313">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="311">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="287">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="259">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="295">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="274">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="401">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="258">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="550">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="392">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="520">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="779">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="777">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="382">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="351">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="389">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="789">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="792">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="791">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="804">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="835">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="773">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="320">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="381">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="322">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="545">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="524">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="361">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="388">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="347">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="547">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="355">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="552">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="785">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="367">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="383">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="549">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="553">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="363">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="364">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="371">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="823">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="838">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="334">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="353">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="375">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="801">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="813">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="831">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="795">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="800">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="820">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="810">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="324">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="809">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="349">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="544">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="334">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="369">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="542">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="540">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="343">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="543">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="546">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="390">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="843">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1028">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1036">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1032">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1052">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1034">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1026">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1040">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1046">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1050">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1060">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1061">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1063">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1068">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1075">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1062">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1067">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1044">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1048">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1077">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1059">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1065">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1071">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1073">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1054">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1069">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1030">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1058">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1064">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1038">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1072">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1079">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1042">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1066">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1070">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1078">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1057">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1538">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1539">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1541">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1545">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1542">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1537">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1540">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="548">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="705">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="101">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="95">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1122">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="494">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="521">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1214">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="738">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1210">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="108">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="234">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1150">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="553">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1204">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="340">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="341">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="345">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="46">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="152">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="141">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="60">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="663">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1491">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1426">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="961">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="973">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="463">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="815">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="377">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="229">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="820">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="821">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="228">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="417">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="545">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1788">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1638">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1633">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1316">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1160">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1233">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1249">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="121">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="390">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="766">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="770">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1265">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="10">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="116">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="146">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1306">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1157">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1144">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1253">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1263">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="110">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="978">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="57">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="501">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="619">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="500">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="628">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1768">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5891">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5891">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="28841">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="46080">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="52999">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="52994">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="28928">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="28930">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7763">
- <match key="usb_device.product_id" int="6">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="303">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="303">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="278">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="275">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="303">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="278">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="278">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8921">
- <match key="usb_device.product_id" int="10085">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8921">
- <match key="usb_device.product_id" int="10100">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8921">
- <match key="usb_device.product_id" int="10099">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="8517">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="8536">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4204">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7501">
- <match key="usb_device.product_id" int="20534">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7501">
- <match key="usb_device.product_id" int="20533">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7501">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="9723">
- <match key="usb_device.product_id" int="357">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2583">
- <match key="usb_device.product_id" int="13">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2583">
- <match key="usb_device.product_id" int="247">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2726">
- <match key="usb_device.product_id" int="38658">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8316">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8377">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8504">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="357">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8311">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8334">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8196">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="2135">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="2126">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8194">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="335">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8309">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8315">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8375">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8421">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="333">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="332">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="491">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="331">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="6411">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8592">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="32257">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="385">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="356">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8226">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="370">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2276">
- <match key="usb_device.product_id" int="322">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2276">
- <match key="usb_device.product_id" int="328">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1924">
- <match key="usb_device.product_id" int="10376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1350">
- <match key="usb_device.product_id" int="8245">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1350">
- <match key="usb_device.product_id" int="3503">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10724">
- <match key="usb_device.product_id" int="4611">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10724">
- <match key="usb_device.product_id" int="4355">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1924">
- <match key="usb_device.product_id" int="21248">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="65535">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="34816">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="553">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="12694">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="26468">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="26469">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="36921">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="36901">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3530">
- <match key="usb_device.product_id" int="4">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1924">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4704">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4712">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8715">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8707">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8708">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8712">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8716">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="805">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8724">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="813">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8717">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8722">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="811">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8723">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8726">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="815">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8727">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8730">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8706">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="829">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8717">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4042">
- <match key="usb_device.product_id" int="32775">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8719">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8719">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37181">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37181">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37181">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32771">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32771">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32771">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26726">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26407">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26720">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26716">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26743">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26450">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26799">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="57868">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26649">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="1188">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20255">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26420">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26178">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="5132">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="4996">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26698">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26467">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26377">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26793">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26370">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20526">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20509">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20514">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20527">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20516">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="23055">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20531">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="1033">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20567">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20609">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20570">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20760">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20611">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20762">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20757">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20765">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20784">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20773">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20751">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20782">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20625">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20619">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20618">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20551">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20607">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20564">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20605">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20627">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20769">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20791">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20540">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29712">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29776">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29778">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29746">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29748">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29924">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29904">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29824">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29728">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29730">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29792">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29888">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29890">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29920">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29697">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29696">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29744">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29872">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1140">
- <match key="usb_device.product_id" int="560">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="35073">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="35081">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="35089">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2125">
- <match key="usb_device.product_id" int="4097">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="851">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8718">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="807">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1245">
- <match key="usb_device.product_id" int="38497">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1245">
- <match key="usb_device.product_id" int="38602">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="49189">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="40976">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4113">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4117">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4098">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4112">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3428">
- <match key="usb_device.product_id" int="4097">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4097">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6390">
- <match key="usb_device.product_id" int="258">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6390">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="13056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7132">
- <match key="usb_device.product_id" int="64191">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3530">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3783">
- <match key="usb_device.product_id" int="4104">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1870">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1990">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2391">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2279">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2382">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2231">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2387">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2381">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2388">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2274">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="4756">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="704">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="743">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1347">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1567">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1774">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1169">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2221">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1323">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1322">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1867">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="662">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="662">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="835">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="760">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1340">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20853">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41333">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45429">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="370">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20850">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16754">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="390">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20870">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16774">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="361">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20841">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16745">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="373">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16757">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="374">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16758">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="375">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20855">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16759">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41335">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45431">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="376">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20856">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16760">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20866">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16770">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="371">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20851">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16755">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41331">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45427">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1839">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1656">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="860">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="805">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="859">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1028">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="878">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="984">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1214">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1434">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1673">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1020">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1227">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="901">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1021">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1446">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="806">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1022">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="807">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="910">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="858">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="908">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1228">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1448">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="904">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1211">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="919">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="920">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1191">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="801">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1187">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1641">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1846">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1847">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1396">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1653">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20854">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41334">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45430">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="385">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20865">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16769">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1233">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1459">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1460">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="369">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="368">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20848">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16752">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="384">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20864">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16768">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20849">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16753">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="382">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20862">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16766">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41342">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45438">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="365">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="408">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20888">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="419">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20899">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16803">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="396">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20876">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16780">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="444">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20924">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="444">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="459">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20939">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16843">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="392">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20872">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16776">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="402">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20882">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16786">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="411">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20891">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16795">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="427">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20907">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16811">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="426">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20906">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16810">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="405">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20885">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16789">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="397">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="404">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20877">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20884">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16781">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16788">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="403">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20883">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16787">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="438">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="406">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="412">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20918">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20886">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20892">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16796">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="423">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16807">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20903">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="414">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20894">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16798">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="431">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20911">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16815">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20923">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16827">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="442">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20922">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16826">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="393">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20873">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16777">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="407">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20887">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="326">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20806">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="217">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="212">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="239">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="343">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20823">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16727">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="334">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="53572">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="324">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="57344">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="117">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20815">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="335">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="346">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20826">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="342">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20822">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="349">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20829">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="358">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20838">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="359">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20839">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="360">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20840">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16744">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="353">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20833">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="251">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="307">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="314">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="4296">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="243">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="261">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="198">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="179">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="245">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="118">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="218">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="274">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20845">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37181">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1105">
- <match key="usb_device.product_id" int="53512">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5073">
- <match key="usb_device.product_id" int="28695">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2726">
- <match key="usb_device.product_id" int="12305">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="12341">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="1911">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="1908">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="1916">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="12314">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="12328">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5008">
- <match key="usb_device.product_id" int="21589">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4571">
- <match key="usb_device.product_id" int="4096">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="2403">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="12">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="9">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="29">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="26">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="24">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="17">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="15">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="16">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="25">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="22">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="20">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4402">
- <match key="usb_device.product_id" int="17207">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4402">
- <match key="usb_device.product_id" int="17202">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4402">
- <match key="usb_device.product_id" int="17205">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4402">
- <match key="usb_device.product_id" int="17204">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="28928">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="13056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7784">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1026">
- <match key="usb_device.product_id" int="1553">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="33834">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2125">
- <match key="usb_device.product_id" int="3">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1750">
- <match key="usb_device.product_id" int="46">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1750">
- <match key="usb_device.product_id" int="45">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2250">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="32794">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3428">
- <match key="usb_device.product_id" int="4097">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8711">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8711">
- <match key="usb_device.product_id" int="17">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1032">
- <match key="usb_device.product_id" int="14489">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32778">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="57617">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="49190">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="57408">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1329">
- <match key="usb_device.product_id" int="8193">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32769">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7763">
- <match key="usb_device.product_id" int="7">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4968">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4680">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4672">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="36921">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="65352">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="872">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="864">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="1632">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8711">
- <match key="usb_device.product_id" int="6">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10518">
- <match key="usb_device.product_id" int="37197">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10518">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7871">
- <match key="usb_device.product_id" int="32553">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="24576">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="835">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="65486">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="580">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="581">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="774">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="775">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="899">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- </match>
- </device>
-</deviceinfo>
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi b/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi
deleted file mode 100644
index 00427e7d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi
+++ /dev/null
@@ -1,19018 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
-<!-- This file was generated by libgphoto2 print-camera-list - - fdi -->
-<!--+
- | Created from this library:
- | libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF
- | libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking
- +-->
-<deviceinfo version="0.2">
- <device>
- <match key="info.subsystem" string="usb">
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string"> JL2005B/C/D camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13251">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer E350 Liquid Gallant Duo (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13252">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer E350 Liquid Gallant Duo (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13891">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer E39</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13628">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia A1-810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13869">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia A1-840FHD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13702">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia A3-A11</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13128">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A100 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13129">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A100 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13130">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A101 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13272">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A110</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13180">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A200 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13181">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A200 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13259">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A210</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13093">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A500 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13121">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A500 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13124">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A501 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13125">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A501 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13193">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A510 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13194">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A510 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13176">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13588">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid E2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13736">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid E3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13892">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer liquid e700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="14117">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid S56</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13833">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid X1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13427">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid Z120 MT65xx Android Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13663">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid Z130 MT65xx Android Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13911">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer One 7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13226">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer S500 CloudMobile</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13796">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Z150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13853">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Z160</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5845">
- <match key="usb.product_id" int="32774">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acromag Inc. XO Learning Tablet (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5845">
- <match key="usb.product_id" int="32773">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acromag Inc. XO Learning Tablet (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">AEG Snap 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1725">
- <match key="usb.product_id" int="1027">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Agfa ePhoto CL18</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1725">
- <match key="usb.product_id" int="1028">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Agfa ePhoto CL20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20555">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek 1.3 mega PocketCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek PalmCam Trio</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek Pencam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek PenCam Trio</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2250">
- <match key="usb.product_id" int="273">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek PenCam VGA+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek Pencam without flash</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20555">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek Smart Megacam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="360">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel 6030a</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel One Touch 997D (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel One Touch 997D (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="40974">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel OneTouch 5042D (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel OneTouch 6034R</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="36941">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel/Bouygues BS472</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="359">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel/TCT 6010D/TCL S950</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Amazing Spiderman</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="2048">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Fire Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="7">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="8">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="10">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="12">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID4)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="18">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID5)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="11">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID6)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="13">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID7)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="5">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire 2G (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="242">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire HD6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="548">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">American Idol Keychain Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4762">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPad (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4779">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPad Air</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4752">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4754">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 3G (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4756">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 3GS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4759">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 4 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4768">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 4S (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4776">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4753">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4755">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch 2G (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4761">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch 3rd Gen (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="20488">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos (for Tesco) Hudl (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="20489">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos (for Tesco) Hudl (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="16386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5416">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5417">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5433">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 Turbo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5432">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 Turbo 250 HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5305">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 Titanium</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5448">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 XS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4618">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 104 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4893">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 105 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4620">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 204 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4865">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 404 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4867">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 404CAM (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4881">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 405 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4897">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 405HDD (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="12787">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 45 Neon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4913">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 5 (MTP mode 1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4915">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 5 (MTP mode 2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="12841">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 50 Diamond</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4871">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 504 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 50c</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4951">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 5H IT (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4945">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 5S IT (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4873">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 604 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4875">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 604WIFI (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4883">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 605 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4885">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 605F (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4917">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 7 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4877">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 704 mobile dvr</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4879">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 704TV (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4889">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 705 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5359">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 70b Titanium</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5480">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 70it2 (ID 1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5481">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 70it2 (ID 2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5311">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 80 Titanium</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5400">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 80G9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5384">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 8o G9 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5385">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 8o G9 Turbo (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5293">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 97 Titanium</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5274">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 97 Xenon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5227">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos Arnova 10bG3 Tablet</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5214">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos Arnova 8c G3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5208">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos Arnova Childpad</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="12715">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos C40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4615">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos Gmini XS100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4929">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos SPOD (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4891">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos TV+ (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4616">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos XS202 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus Bean Sprout</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1510</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1610</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1620</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37180">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1730</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-2200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC1512e</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus QuickClix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aries ATC-0017</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aries Digital Keychain Camera, I</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="23055">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus A450CG (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19680">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Asus Fonepad Note 6 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19681">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Asus Fonepad Note 6 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="20815">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Fonepad</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="30579">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 (FE375CXG)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21519">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 LTE ME372CL (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21535">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 LTE ME372CL (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21775">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus K00E (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21760">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus K010 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19664">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME301T MeMo Pad Smart 10 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19665">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME301T MeMo Pad Smart 10 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21023">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME302C MemoPad (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21007">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME302C MemoPad (MTP+?)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19648">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME302KL MeMo Pad FHD10 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19649">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME302KL MeMo Pad FHD10 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21600">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo K00F (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21608">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo K00F (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21504">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo ME172V (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21520">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo ME173X (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21521">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo ME173X (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21606">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo Pad 8 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="30578">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 7 (ME572CL)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21766">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 7 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21857">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 8 ME181 CX (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="20992">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="20993">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21008">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21009">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21012">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21024">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (2nd ID) (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21025">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (2nd ID) (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21040">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21041">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19968">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus SL101 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19969">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus SL101 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19983">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF101 Eeepad Transformer (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19999">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF101 Eeepad Transformer (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19712">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF201 Transformer Prime (keyboard dock)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19713">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF201 Transformer Prime (tablet only)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19584">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF300 Transformer (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19585">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF300 Transformer (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19600">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF700 Transformer (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19601">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF700 Transformer (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19616">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF701T Transformer Pad (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19617">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF701T Transformer Pad (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="22047">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TX201LA (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="24322">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Zenfone 2 ZE550ML (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="22543">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 4 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="22559">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 4 A400CG (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21632">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21633">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="30593">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 A500KL (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21648">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 6 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21649">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 6 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36945">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Barbie Camera (Digital Blue)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8320">
- <match key="usb.product_id" int="6">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Barnes&amp;Noble Nook HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8320">
- <match key="usb.product_id" int="5">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Barnes&amp;Noble Nook HD+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1189">
- <match key="usb.product_id" int="12291">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Benq DC1300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7493">
- <match key="usb.product_id" int="17821">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">BenQ F5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10823">
- <match key="usb.product_id" int="32528">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">bq Aquarius E5-4G</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10823">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">bq Krillin (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10823">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">bq Krillin (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12359">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12738">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12733">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 110 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12774">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 120 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12787">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 130</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12904">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 255HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12480">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 30 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12365">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12791">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 300 HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12390">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12479">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 40 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12405">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12474">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 430 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12558">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12468">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12543">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 55 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12572">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12542">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 65 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12623">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 70 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12530">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12622">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 75 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12566">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 750 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12676">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 80 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12569">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 800 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12660">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 85 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12598">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 850 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 860 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12660">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 90 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12565">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 900Ti (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12740">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 95 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12619">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 950 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12639">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 960 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12659">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 970 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12691">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 980 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12737">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 990 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12443">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12443">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12484">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i5 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS II (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12470">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS IIs (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12532">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS iZ (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12370">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12389">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12400">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v3 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12401">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12529">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS Wireless (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital Rebel XT (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12394">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital unknown 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12424">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Elura 50 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12423">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Elura 50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12453">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Elura 65 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12667">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1000D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12912">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 100D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12419">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 10D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12476">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 10D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12823">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1100D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12927">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1200D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12522">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark II (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12615">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark III (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12752">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark IV</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12825">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12523">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 20D (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12524">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 20D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12420">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 300D (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12441">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 300D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12563">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 30D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12527">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12560">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 400D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12614">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 40D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12613">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 450D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12751">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 500D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12699">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 50D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12778">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 550D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12545">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12546">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12697">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D Mark II</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12858">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D Mark III</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12824">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 600D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12821">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 60D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12859">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 650D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12880">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 6D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12914">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 700D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12883">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 70D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12698">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 7D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12911">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 7D MarkII</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12356">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS D30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12384">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS D60</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12420">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12441">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12560">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel XTi (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12420">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12441">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital N (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12560">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital X (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12613">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss X2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12751">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss X3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12861">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS M</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12953">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS M3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12751">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Rebel T1i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12613">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Rebel XSi (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12430">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon FV M1 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12865">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXUS 125HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12969">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXUS 165</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12837">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXUS 310IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12774">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY 220 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12691">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY 3000 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12358">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY DIGITAL</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12363">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY DIGITAL 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12484">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY Digital L2 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY DV M</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12438">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY DV M2 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12412">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MV630i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12410">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MV650i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12448">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MV750i (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12438">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX 10i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12430">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX 3i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12417">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX100i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12416">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX150i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12457">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX25i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX2i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12429">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX3i (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12418">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12415">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12416">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 20 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 200 MC</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12438">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 300 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12457">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 40 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12549">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12430">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura Xi (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12367">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12385">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12686">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1000 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12739">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12862">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1300IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12900">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1400</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12366">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12386">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12689">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2000 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12734">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12842">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12874">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2300IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12873">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2400IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12913">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12898">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12377">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12406">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12786">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3000 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12472">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A310 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12785">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12897">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3500IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12471">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12867">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A4000IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12537">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A410 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12559">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A420 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12536">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A430 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12629">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A450 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12617">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A460 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12666">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A470</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12735">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A480</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12783">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot A495</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12482">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A510 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12481">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A520 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12582">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A530 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12571">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A540 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12624">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A550 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12621">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A560 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12620">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A570 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12663">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A580</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12662">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A590 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12404">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A60 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12541">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A610 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12540">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A620 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12602">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A630 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12601">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A640 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12635">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A650IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A70 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12567">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12600">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A710 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12637">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A720 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12469">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A75 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12442">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A80 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12838">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12863">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12473">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A85 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12475">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A95 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12732">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot D10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12936">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Elph135</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12937">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Elph340HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12360">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12851">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G1 X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12687">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12767">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G11</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12888">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G15</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12373">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12398">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G3 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12399">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12421">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12467">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot G6 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12581">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G7 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12634">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G9 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12443">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot IXY Digital L (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12361">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Pro90 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12444">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S1 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12353">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12854">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12357">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S100 (2000)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12369">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S110 (2001)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12891">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S110 (PTP Mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12917">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S120</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12528">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S2 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12355">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12389">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12400">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S230 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12401">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S230 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12570">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S3 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12375">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12364">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12390">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12374">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12405">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12474">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S410 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12396">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S45 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12397">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S45 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12616">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S5 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12407">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12468">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12466">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot S60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12465">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot S70 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12538">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S80 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12818">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S95</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12443">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD10 Digital ELPH (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12623">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD1000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12470">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD110 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12676">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD1100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12740">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD1200 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12788">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD1300 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12484">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD20 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12480">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12599">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD40 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12529">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD430 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12543">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD450 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12530">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12572">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12542">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD630 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12569">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12622">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD750 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12661">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD770 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12738">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD780 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12660">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD790 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12619">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD850 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12694">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD880 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12565">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD900 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12774">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD940 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12737">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD970 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12691">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD990</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12685">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX10 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12638">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot SX100 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12690">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX110 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12768">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX120 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12817">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX130 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12852">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX150 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12890">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX160IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12918">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX170 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12772">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX20 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12736">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX200 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12790">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX210 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12844">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX220HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12840">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX230HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12869">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX240HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12868">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX260HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12895">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX280HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12856">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX40HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12892">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX500IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12919">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX510 HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12955">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX520 HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12368">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot unknown 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12380">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot unknown 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12778">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Rebel T2i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12823">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Rebel T3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12859">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Rebel T4i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12408">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon ZR70MC (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4169">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-S770</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4162">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-Z120</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4173">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-Z65</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4172">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-Z700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4474">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-ZR700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="49664">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio LV 10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1207">
- <match key="usb.product_id" int="34985">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Caterpillar Cat S50</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-ez Snap</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-Ez Snap SNAP-U</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-ez! Babe</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="4098">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-ez! Splash</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-ez! SPYZ</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="32769">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Clever CAM 360</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="548">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Cobra DC125</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Cobra Digital Camera DC150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7796">
- <match key="usb.product_id" int="25874">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Coby COBY MP705</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7763">
- <match key="usb.product_id" int="5">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Conceptronic CMTD2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord Eye-Q Duo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord Eye-Q Easy</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord EyeQ 4330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1000">
- <match key="usb.product_id" int="8578">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord EyeQMini_1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1000">
- <match key="usb.product_id" int="8576">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord EyeQMini_2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">CoolCam CP086</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 10 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="1809">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 6 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="1873">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 7 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2321">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 9 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2369">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio C2 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2049">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2161">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ DAB FW 4.x (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2193">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ DMB FW 1.x (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2145">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ FW 2.x (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2177">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ FW 3.x (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2337">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio J3 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2305">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio S9 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="1793">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio U3 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="1889">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio U5 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2353">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio X7 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16406">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative CardCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16391">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative Go Mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16394">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM750</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16675">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative Portable Media Center</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16727">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16688">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Micro (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16700">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN MicroPhoto</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16691">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN MicroPhoto (alternate version)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16737">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Mozaic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16695">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Sleek (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16701">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Sleek Photo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16689">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Touch (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16720">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN V</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16728">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN V 2GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16722">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN V Plus</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16671">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16723">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision W</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16702">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision:M</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16721">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision:M (DVP-HD0004)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16738">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN X-Fi</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16745">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN X-Fi 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16680">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Xtra (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4204">
- <match key="usb.product_id" int="12821">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Curitel Communications, Inc. Verizon Wireless Device</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2125">
- <match key="usb.product_id" int="3">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">D-Link DSC 350+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3428">
- <match key="usb.product_id" int="4129">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">D-Link DSC 350F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1000">
- <match key="usb.product_id" int="8496">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">D-MAX DM3588</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DC-N130t</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DC-N130ta</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32768">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DC31VC</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16690">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Dell Pocket DJ (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16687">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell DJ (2nd generation)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16700">
- <match key="usb.product_id" int="45323">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Streak 7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16700">
- <match key="usb.product_id" int="45338">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Venue 7 inch</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16700">
- <match key="usb.product_id" int="45339">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Venue 7 inch (2nd ID)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16700">
- <match key="usb.product_id" int="17664">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Inc DJ Itty</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Digigr8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7994">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">DigiLand DL701Q</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Digital camera, CD302N</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DIGITAL MID#0020509 (no-name camera)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1498">
- <match key="usb.product_id" int="4120">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream Enigma1.3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'elegante</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'elite</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4483">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion XS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1498">
- <match key="usb.product_id" int="4128">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion xtra</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'esprit</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream la ronde</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2726">
- <match key="usb.product_id" int="24609">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Disney MixMax</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36944">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Disney pix micro</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36946">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Disney pix micro 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4310">
- <match key="usb.product_id" int="8704">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dunlop MP3 player 1GB / EGOMAN MD223AFD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Elta Medi@ digi-cam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Emprex PCD3600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1208">
- <match key="usb.product_id" int="1027">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Epson PhotoPC 3000z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1208">
- <match key="usb.product_id" int="1026">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Epson PhotoPC 850z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10608">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fly Evo Tech 4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10608">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fly iq4415 era style 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6018">
- <match key="usb.product_id" int="16385">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fly iq449</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1747">
- <match key="usb.product_id" int="8634">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">FOMA D905i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3530">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji Axia Eyeplate</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3530">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji Axia Slimshot</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="330">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="466">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="454">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A820</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="467">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A920</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="539">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix AV-150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix E900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="480">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F100fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="448">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="484">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F200 EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="411">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="449">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F31fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="453">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F40fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="468">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F50fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="486">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F60fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="506">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F70 EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F80EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="557">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix H20EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="625">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix HS30EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="592">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix JX370</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="477">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1000fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="475">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S100fs</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="495">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="512">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="488">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2000HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="521">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2500HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="576">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2950</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="637">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2980</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="613">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S4300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="664">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S4850</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="452">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S5700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="471">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S5800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="447">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S6500fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="322">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S7000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="399">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S9500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="668">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix SL1000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="563">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix T200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="622">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X-S1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="611">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="678">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="648">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix XF1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="472">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z100fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="513">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z35</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="525">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z700EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="510">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji Fujifilm A220</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="693">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji Fujifilm X-E2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji IX-1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="451">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji S5 Pro</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">FujiFilm @xia ix-100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1221">
- <match key="usb.product_id" int="4416">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fujitsu, Ltd F903iX HIGH-SPEED</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1221">
- <match key="usb.product_id" int="4923">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fujitsu, Ltd STYLISTIC M532</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2334">
- <match key="usb.product_id" int="9605">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Garmin Monterra</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Gear to go</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Generic SoundVision Clarity2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1112">
- <match key="usb.product_id" int="28677">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Genius Smart 300, version 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1037">
- <match key="usb.product_id" int="34908">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Gensis GT-7305 </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1044">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Gigabyte RCT6773W22 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1044">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Gigabyte RCT6773W22 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Global Point 3 in 1 Digital Fun Graffiti 00044</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Global Point Clipster</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Global Point Splash Mini (underwater camera)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="7">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Ainol Novo) Fire/Flame</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="6">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Allwinner) A31 SoC</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20033">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) Nexus 7 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20034">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) Nexus 7 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="19983">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) TF101 Transformer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="19712">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) TF201 Transformer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="11522">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Barnes &amp; Noble) Nook Color</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="29706">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Lenovo) Ideapad K1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="53514">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics) P990/Optimus</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="53513">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics) P990/Optimus (Cyanogen)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20193">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20194">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="45066">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Medion) MD99000 (P9514)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="28840">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Motorola) Xoom (MZ604)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20005">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Samsung) Nexus S (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20006">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Samsung) Nexus S (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="1459">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Sony) S1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="28930">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Toshiba) Thrive 7/AT105</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20197">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Nexus 5 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="9842">
- <match key="usb.product_id" int="17">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">GoPro HERO3+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="32796">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">GrandTek ScopeCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">GTW Electronics</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4866">
- <match key="usb.product_id" int="4118">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Haier Ibiza Rhapsody 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4866">
- <match key="usb.product_id" int="4119">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Haier Ibiza Rhapsody 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Haimei Electronics HE-501A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Hawking DC120 Pocketcam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="32285">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 10 HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="23837">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 7 2800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="23581">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 7 4600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4251">
- <match key="usb.product_id" int="37126">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hisense E860 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4251">
- <match key="usb.product_id" int="37129">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hisense E860 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4251">
- <match key="usb.product_id" int="37125">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HiSense Sero 7 Pro</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25858">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 120 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25090">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 215</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="31746">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 217 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="32002">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 317 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25346">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 318 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="26114">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 320 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="29698">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 407 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="30722">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 417 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="29186">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 43x (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="28162">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 507 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="30978">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 517 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="27906">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 607 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25346">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 612 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="16642">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 618</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="26626">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 620 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="28930">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 635 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="27394">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 707 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25602">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 715 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="30210">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 717 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="26370">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 720 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="27650">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 733 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="27138">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 735 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="16898">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 812 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="30466">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 817 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="32258">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 818 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="17154">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 850 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="16642">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 912</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="17410">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 935 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="17666">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 945 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="16642">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="24578">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="61443">
- <match key="usb.product_id" int="24578">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="35586">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart E327 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="35842">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart E427 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="29954">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M22 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="31490">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M23 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="29442">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M307 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="31234">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M415 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="32770">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M425 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="33026">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M525 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="33282">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M527 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="39682">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M547 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="33794">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M725 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="34050">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M727 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="38402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M737 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="38658">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R742 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="34562">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R927 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="34818">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R967 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="26716">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC (for Hewlett-Packard) HP Touchpad (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="26720">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC (for Hewlett-Packard) HP Touchpad (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Android Device ID1 (Zopo, HD2, Bird...)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Android Device ID2 (Zopo, HD2...)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3782">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Desire 310 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3773">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Droid DNA (MTP+UMS)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3583">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Droid DNA (MTP+UMS+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3219">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC EVO 4G LTE/One V (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3240">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC EVO 4G LTE/One V (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3582">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Butterfly (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3556">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Butterfly X290d</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1533">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Desire 510 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3541">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Desire X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3633">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Droid Incredible 4G LTE (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3634">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Droid Incredible 4G LTE (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3573">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Evo 4G LTE (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1966">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (HTC6500LVW)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3546">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3985">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3940">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3939">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3975">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB+?)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3935">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB+CDC)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3936">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+CDC)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3562">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+UMS+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3538">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One 802w (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1994">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (HTC6525LVW)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3877">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1562">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="4020">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+ADB+UMS)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="4021">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+UMS)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1995">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (Verizon) (HTC6525LVW)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="2009">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One Remix (HTC6515LVW)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3308">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3576">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3577">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3578">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3579">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3580">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3581">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID4)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="2008">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC6515LVW/One Remix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="8210">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Motorola Razr D1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1547">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC One M8 Google Play Edition (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3533">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC One Mini (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="61642">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8s ID1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="2977">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8X ID1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="2978">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8X ID2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="4226">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei Ascend P8 </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="13839">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei Mediapad (mode 0)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="13855">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei Mediapad (mode 1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="4177">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei MTP device (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="4178">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei MTP device (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37203">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">iClick 5X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">iConcepts digital camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="49189">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">InFocus M810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">INNOVAGE Mini Digital, CD302N</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6655">
- <match key="usb.product_id" int="771">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Insignia NS-DV45</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6655">
- <match key="usb.product_id" int="777">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Insignia Pilot 4GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6655">
- <match key="usb.product_id" int="775">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Insignia Sport Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2655">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Chuwi vi8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2581">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Foxconn iView i700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2582">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Noblex T7A21</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32902">
- <match key="usb.product_id" int="1584">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Intel Pocket PC Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2654">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Telcast Air 3G</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2555">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Xolo 900/AZ210A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">IOMagic MagicImage 400</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ION digital camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4394">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Clix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4390">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Clix2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4417">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4418">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E100 v2/Lplayer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4434">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4455">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4433">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E50</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="8449">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver H10 20GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="8453">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver H10 5.6GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="8450">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver H10 5GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4102">
- <match key="usb.product_id" int="12292">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver H300 Series MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4104">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver iFP-880</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver N12</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4102">
- <match key="usb.product_id" int="16386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Portable Media Center 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4102">
- <match key="usb.product_id" int="16387">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Portable Media Center 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4423">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Spinn</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4371">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4384">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T10 2GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4375">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T10b</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4373">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4372">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T20 FM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4376">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T20b</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4377">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4435">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4404">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T60</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4162">
- <match key="usb.product_id" int="4419">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T7 Volcano</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7784">
- <match key="usb.product_id" int="4098">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Tolino Tab 7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4374">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver U10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4402">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver X20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2848">
- <match key="usb.product_id" int="56814">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Isabella Her Prototype</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1924">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ixla DualCam 640</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jazwares Star Wars no. 15256</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jazz JDC9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jazz JDK235</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="13056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JD-3300z3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JD-4100z3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1498">
- <match key="usb.product_id" int="4102">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JD350 entrance</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="0">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JD350 video</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JDC 350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10545">
- <match key="usb.product_id" int="2561">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Jolla Sailfish (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10545">
- <match key="usb.product_id" int="2565">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Jolla Sailfish (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1265">
- <match key="usb.product_id" int="24837">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">JVC Alneo XA-HD500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2126">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">KBGear JamCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2856">
- <match key="usb.product_id" int="4108">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kenwood Media Keg HD10GB7 Sport Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8759">
- <match key="usb.product_id" int="53512">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kobo Arc (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8759">
- <match key="usb.product_id" int="53513">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kobo Arc (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8759">
- <match key="usb.product_id" int="45320">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kobo Arc 7 HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1559">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C1530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1547">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C183</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1406">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1418">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C310</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1420">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1421">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C340</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1417">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C360</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1450">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C433</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1434">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1442">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C533</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1463">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C613</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1466">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C633</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1447">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C643</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1455">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C653</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1454">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C743</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1475">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C813</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1449">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C875</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1478">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C913</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1436">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CD33</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4210</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1333">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4230</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1382">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1382">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4310</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1396">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX6200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX6230</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1393">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX6330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1412">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX6445</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1401">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7220</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1400">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1400">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7310</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7430</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1414">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7525</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1404">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC220</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="288">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC240</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="289">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC240 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC260</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="273">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC265</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="304">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC280</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="274">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC290</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="306">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC3400</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="352">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC4800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="305">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC5000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1317">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3215</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1280">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1296">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1328">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="368">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1365">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX4330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1398">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX4530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1360">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX4900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1392">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX6340</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1394">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX6440</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1397">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX6490</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1405">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX7440</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1407">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX7590</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1399">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX7630</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="768">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak EZ200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1344">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS420</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1384">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS443</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1385">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS663</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1381">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS743</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1383">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS753</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1486">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M1063</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1536">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M531</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1439">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M753</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1473">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M863</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1453">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M883</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1413">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M893 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1024">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak MC3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1426">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak P850</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1427">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak P880</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1422">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1423">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V550</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1425">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V570</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1440">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V603</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1452">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V610</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1451">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V705</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1464">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V803</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1437">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z612</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1438">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z650</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1415">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1459">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z710</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1460">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z712 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1408">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z730</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1416">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z740</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1027">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z7590</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1461">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z812 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1429">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z8612 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1487">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z915</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1485">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z950</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1472">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak ZD710</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1224">
- <match key="usb.product_id" int="1826">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica e-mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE A2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="25">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE A200 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="9">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE X21 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="7">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z2 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="24">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z3 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="34">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z5 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7994">
- <match key="usb.product_id" int="4102">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kurio 7S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1154">
- <match key="usb.product_id" int="2425">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kyocera DuraForce</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1154">
- <match key="usb.product_id" int="2064">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kyocera KYL22</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1154">
- <match key="usb.product_id" int="1393">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kyocera Rise</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1154">
- <match key="usb.product_id" int="1434">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kyocera Torque Model E6715</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36945">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Lego Bionicle</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9077">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Leica D-LUX 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6808">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Leica M9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30519">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo A3500-F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30507">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo A5500-F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29848">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo A820</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30140">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaPad A3000 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30142">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaPad A3000 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30018">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab A2109A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30077">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab S2210a</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30440">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab S5000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29706">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo K1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30851">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo K3 Note</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30133">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo K900 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30554">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo LifeTab E733X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29900">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Lifetab S9512</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo P70-A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29847">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo P700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29862">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo P780</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29944">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo S660</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30488">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo S930</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29724">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo ThinkPad Tablet</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30450">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Toga Tablet B6000-F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30698">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Vibe Z2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30463">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Yoga Tablet 10 B8000-H</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30641">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Yoga Tablet 2 Pro</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25073">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Android phone (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25081">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Android phone (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25215">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. G3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25198">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. G3 (VS985)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24859">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. GR-500 Music Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24719">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. KC910 Renoir Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24882">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. KM900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25406">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG G Flex 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25145">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS870</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25149">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS890</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25116">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS980</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25125">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG2 Optimus</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24986">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG8575</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1086">
- <match key="usb.product_id" int="28736">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. T54</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1086">
- <match key="usb.product_id" int="28849">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. UP3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25372">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Various E and P models</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25189">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. VK810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24592">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. VX8550 V CAST Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24581">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">LG T5100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Lifetec LT 5995</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5073">
- <match key="usb.product_id" int="28674">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Logik LOG DAX MP3 and DAB Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1133">
- <match key="usb.product_id" int="2304">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Logitech Clicksmart 310</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1133">
- <match key="usb.product_id" int="2384">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Logitech Pocket Digital</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Maginon SX-410z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="13056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Maginon SX330z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Magpix B350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20555">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Maxell Max Pocket</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="33900">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Maxfield G-Flash NG 1GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Media-Tech mt-406</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3725">
- <match key="usb.product_id" int="80">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">MediaTek Inc MT5xx and MT6xx SoCs</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1032">
- <match key="usb.product_id" int="45066">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion Lifetab P9514</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29827">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion Lifetab P9516</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Medion MD 5319</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Medion MD 6000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8709">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Medion MD 6126</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16642">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Medion MD 9700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="34128">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion MD8333 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="34184">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion MD8333 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1032">
- <match key="usb.product_id" int="45065">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion MD99000 (P9514)/Olivetti Olipad 110</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4721">
- <match key="usb.product_id" int="8210">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Megafon Login+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8222">
- <match key="usb.product_id" int="17067">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Megafon MFLogin3T</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10821">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Meizu MX Phone (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10821">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Meizu MX Phone (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4310">
- <match key="usb.product_id" int="8960">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Memorex or iRiver MMP 8585/8586 or iRiver E200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3504">
- <match key="usb.product_id" int="21874">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Micro-Star International P610/Model MS-5557</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Micromaxx Digital Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1600">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Kin 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1570">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Windows MTP Simulator</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1260">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Windows Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1808">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Zune</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1598">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Zune HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="61642">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft/HTC HTC 8S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="201">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft/Intel Bandon Portable Media Center</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1601">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft/Sharp/nVidia Kin TwoM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32776">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mini Shotz ms-350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2125">
- <match key="usb.product_id" int="3">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Minton S-Cam F5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mitek CD10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mitek CD30P</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="24778">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola A1200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28808">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Atrix MB860 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25807">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Atrix XT687 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11826">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Atrix/Razr HD (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11827">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Atrix/Razr HD (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11879">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid Maxx (XT1080)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11941">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid Turbo (XT1254)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11944">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid Turbo Verizon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11880">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid Ultra</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="16854">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid X/MB525 (Defy)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="16858">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola DROID2 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17063">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola DROID2 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17279">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola DROID4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17267">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola DROID4 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="18449">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola IdeaPad K1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="16860">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Milestone / Verizon Droid</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28874">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Milestone X2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11894">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11906">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11908">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (XT1032)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11874">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1053)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11875">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1058)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11878">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1080)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25619">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola MTP Test Command Interface</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25781">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Razr D1/D3/i (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25782">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Razr D1/D3/i (MTP+?)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11856">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola RAZR M XT907 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11857">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola RAZR M XT907 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25621">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola RAZR2 V8/U9/Z6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="10853">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola V3m/V750 verizon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28835">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (Factory test)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28840">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28841">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17169">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17158">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="16847">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28941">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola XT890/907/Razr (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28942">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola XT890/907/Razr (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17250">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola XT912/XT928</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="49664">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="41808">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart 350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="49696">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="50208">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="50464">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2726">
- <match key="usb.product_id" int="38401">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">MyMusix PD-6070</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1033">
- <match key="usb.product_id" int="806">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NEC Casio C811</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1033">
- <match key="usb.product_id" int="1074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NEC Casio CA-201L</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1033">
- <match key="usb.product_id" int="578">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NEC FOMA N01A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1026">
- <match key="usb.product_id" int="22120">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nextar MA715A-8R</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Nexxtech Mini Digital Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="770">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="279">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="290">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="291">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2200v1.1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="265">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="277">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="289">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="273">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="285">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="301">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="516">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="267">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="304">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="305">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4600a (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="297">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4800 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="275">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="518">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="281">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="302">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="269">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="309">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5900 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="313">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 7600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="311">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 7900 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="287">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 8700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="259">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon CoolPix 880</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="295">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 8800 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="274">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 885 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="401">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 9400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="258">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon CoolPix 990</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="550">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix A (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="392">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix AW100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="520">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="779">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L10 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="777">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L11 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="382">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L110 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="351">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L12 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="389">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L120 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="789">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L16 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="792">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L19 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="791">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L20 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="804">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L23 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="835">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L27</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="773">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L4 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L820 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="320">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="381">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="322">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="545">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P330 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="524">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P4 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="361">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="388">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="347">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P5000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="547">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P510 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="355">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P5100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="552">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P520 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="785">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="367">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P6000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="383">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="549">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="553">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7800 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="363">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P80 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="364">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P80 v1.1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="371">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P90 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="823">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S01</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="838">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S02</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="334">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="353">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="375">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S220 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S225 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="801">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="813">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="831">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="795">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="800">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="820">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="810">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="324">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S4 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="809">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S4300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="349">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="544">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S5100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="334">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S6 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="369">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="542">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S6000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="540">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S620 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="343">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S7c (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="543">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S8000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="546">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S8200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="390">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="843">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix SQ (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1028">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D2H SLR (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1036">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D2Hs (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1032">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D2X SLR (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1052">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1034">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1026">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1040">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1046">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D2Xs (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1050">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1060">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1061">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D300s (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1063">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1068">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1075">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1062">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3s (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3x (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1067">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1044">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D40 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1048">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D40x (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1077">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D4s</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1059">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1065">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1071">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1073">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1054">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1069">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D610</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1030">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D70 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1058">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1064">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D7000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1038">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D70s (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1072">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D7100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1079">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D750</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1042">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D80 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1066">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1070">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D800E</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1078">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1057">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D90 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1538">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon J1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1539">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon J2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1541">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon J3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1545">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon J4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1542">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon S1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1537">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon V1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1540">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon V2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">nisis Quickpix Qp3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="548">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">NogaNet TDC-15</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="705">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 2710</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="101">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 3109c Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="95">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 3110c Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1122">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 3250 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="494">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 3710</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="521">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5130 XpressMusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1214">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5200 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="738">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5230</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1210">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5300 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="108">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5310 XpressMusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="234">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5320 XpressMusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1150">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5500 Sport Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="553">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1204">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5700 XpressMusic Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="340">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="341">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="345">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic v3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="46">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6120c Classic Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="152">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6210 Navigator</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="141">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6220 Classic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="60">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6500c Classic Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="663">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6600i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1491">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 808 PureView</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1426">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia C5-00</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="961">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia C7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="973">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia C7 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="463">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E52</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="815">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="377">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E63</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="229">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E66</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="820">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="821">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E7 (Ovi mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="228">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E71</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="417">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E71x</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="545">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E72</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1788">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia Lumia (RM-975)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1638">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia Lumia 301</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1633">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia Lumia WP8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1316">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1160">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nokia N73</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1233">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N73 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1249">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N75 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="121">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N78 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="390">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N79</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="766">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="770">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N8 (Ovi mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1265">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N80 Internet Edition (Media Player)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="10">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N81 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="116">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N82 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="146">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N85 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1306">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1157">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N91 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1144">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N93 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1253">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N93i Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1263">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N95 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="110">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N95 Mobile Phone 8GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="978">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N950</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="57">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N96 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="501">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N97</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="619">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N97 mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="500">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N97-1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="628">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia X6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1768">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia XL</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5891">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NormSoft, Inc. Pocket Tunes</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5891">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NormSoft, Inc. Pocket Tunes 4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="28841">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia CM9-Adam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="46080">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Shield (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="52999">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Shield (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="52994">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Tegra Note</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="28928">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Various tablets (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="28930">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Various tablets (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7763">
- <match key="usb.product_id" int="6">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">O2 Sistemas ZoltarTV</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-2100UZ</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-3000Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-3030Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-310Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-350Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-5500Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-55Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus D-540Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus D-560Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus E series (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="303">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus E-M5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="303">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus E-PL5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="278">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus FE4000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus IR-300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="275">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus mju 500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="303">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus SP-720UZ</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus X-100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus X-250</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="278">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus X920</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="278">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus X925</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8921">
- <match key="usb.product_id" int="10085">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Oppo Find 7 (ID 1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8921">
- <match key="usb.product_id" int="10100">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Oppo Find 7 (ID 2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8921">
- <match key="usb.product_id" int="10099">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Oppo X9006</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Oregon Scientific DShot II</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Oregon Scientific DShot III</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FS62</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ38</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ45</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ50</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-GF1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LS2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LS3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LX7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ15</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ18</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="8517">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Panasonic P905i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="8536">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Panasonic P906i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4204">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pantech Crux</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7501">
- <match key="usb.product_id" int="20534">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pegatron Chagall</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7501">
- <match key="usb.product_id" int="20533">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pegatron Chagall (ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7501">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pegatron Hudl 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Pencam TEVION MD 9456</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="9723">
- <match key="usb.product_id" int="357">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Pentax K3 (PTP Mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2583">
- <match key="usb.product_id" int="13">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Pentax Optio 43WR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2583">
- <match key="usb.product_id" int="247">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Pentax Optio W90</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2726">
- <match key="usb.product_id" int="38658">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Perception Digital, Ltd Gigaware GX400</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8316">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Aria</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8377">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Ariaz</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8504">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Ariaz/97</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="357">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Audio</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8311">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Muse</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8334">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA1VBE08KX/78</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8196">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA3345</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="2135">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA5145</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="2126">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA6014/SA6015/SA6024/SA6025/SA6044/SA6045</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8194">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA6125/SA6145/SA6185</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="335">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA9200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8309">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear ViBE SA1VBE04</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8315">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear ViBE SA1VBE04/08</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8375">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear VIBE SA2VBE[08|16]K/02</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8421">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Vibe/02</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="333">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips HDD085/00 or HDD082/17</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="332">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips HDD14XX,HDD1620 or HDD1630/17</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="491">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips HDD6320</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="331">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips HDD6320/00 or HDD6330/17</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="6411">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips i908</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Philips P44417B keychain camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8592">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips PI3900B2/58 </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="32257">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips PSA235</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="385">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips PSA610</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="356">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips SA1115/55</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8226">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips SA5285</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="370">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips Shoqbox</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Phoebe Smartcam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2276">
- <match key="usb.product_id" int="322">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Pioneer DVR-LX60D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2276">
- <match key="usb.product_id" int="328">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pioneer XMP3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Pixart Gemini Keychain Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Pixie Princess Jelly-Soft</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">PockCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1924">
- <match key="usb.product_id" int="10376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Polaroid DC700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1350">
- <match key="usb.product_id" int="8245">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Polaroid Freescape/MPU-433158</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1350">
- <match key="usb.product_id" int="3503">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Polaroid PDC 2300Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Praktica Slimpix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Precision Mini Digital Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Precision Mini, Model HA513A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10724">
- <match key="usb.product_id" int="4611">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Prestigio 5504 DUO </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10724">
- <match key="usb.product_id" int="4355">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Prestigio 5505 DUO </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1924">
- <match key="usb.product_id" int="21248">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Pretec dc530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="65535">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">PureDigital Ritz Disposable</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="34816">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Gigabyte) GSmart G1342</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Highscreen) Omega Prime S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="553">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Nokia) 5530 Xpressmusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="12694">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Nokia/Verizon) 6205 Balboa/Verizon Music Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="26468">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for OnePlus) One (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="26469">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for OnePlus) One (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="36921">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for PhiComm) C230w (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="36901">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Smartfren) Andromax U</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">QuickPix QP1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3530">
- <match key="usb.product_id" int="4">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Radioshack Flatfoto</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1924">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">RCA CDS1005</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4704">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Redmi 1S (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4712">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Redmi HM 1S (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Request Ultra Slim</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8715">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Capilo RX</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8707">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio 300G</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8708">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio G3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8712">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio G4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8716">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="805">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8724">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX 8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="813">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX 8 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8717">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8722">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1v</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="811">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1v (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8723">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8726">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="815">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8727">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8730">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8706">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RR30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="829">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RR750 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8717">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RZ1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4042">
- <match key="usb.product_id" int="32775">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">RIM BlackBerry Storm/9650</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8719">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Rollei dr5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8719">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Rollei dr5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37181">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar 23070 Crayola Digital Cam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37181">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar 28290 and 28292 Digital C</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37181">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar 92045 Spiderman</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar clipshot no. 1169x</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32771">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital Keychain 11199</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32771">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital no, 6637x</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32771">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital no, 67480</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital no. 56379 Spyshot</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital no. 77379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Dora the Explorer no. 88067</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Hello Kitty no. 94009</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Kidz Cam 86379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Kidz-Cam no. 88379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Micro Digital 2428x</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Nickelodeon iCarly no. 88061</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 1638x CyberPix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 75379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 81890</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 91379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 98379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Star Wars kit no. 92022</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Sticker Wizard no. 59379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26726">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Samsung EK-GC100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26407">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung F250 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26720">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26716">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26743">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models Kies mode</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26450">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung GT-B2700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26799">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung GT-B2710/Xcover 271</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="57868">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung GT-S5230</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26649">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung GT-S8500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="1188">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung I550W Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20255">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Jet S8000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26420">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Juke (SCH-U470)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26178">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung M7600 Beat/GT-S8300T/SGH-F490/S8300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="5132">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Samsung NX1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="4996">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Samsung NX1000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26698">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Samsung S5620</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26467">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung SAMSUNG Trance</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26377">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung U600 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26793">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Vibrant SGH-T959/Captivate/Media player mode</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26370">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung X830 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20526">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-820</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20509">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-920 (501d)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20514">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-920 (5022)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20527">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-925(-GS)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20516">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-925GS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="23055">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900/Verizon Intensity/Fascinate</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20531">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-J70J</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="1033">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20567">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-F2J</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20609">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-K3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20570">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-K5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20760">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-M1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20611">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-P2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20762">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-P3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20757">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20765">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20784">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20773">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-R0</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20751">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-R1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20782">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-R2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20625">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-S3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20619">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-S5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20618">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-T10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20551">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-T7J</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20607">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-T9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20564">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-U2J (YP-U2JXB/XAA)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20605">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-U3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20627">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-U4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20769">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-U5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20791">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Z3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20540">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Z5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29712">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29776">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c240/c250</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29778">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c250 v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29746">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29748">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29924">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip Zip</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29904">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29824">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Connect</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29728">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa e200/e250/e260/e270/e280</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29730">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa e260/e280 v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29792">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Express</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29888">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29890">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29920">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29697">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m200-tcc (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29696">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m230/m240</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29744">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m240/m250</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29872">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa View</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1140">
- <match key="usb.product_id" int="560">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sanyo VPC-C5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="35073">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35a</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="35081">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35b</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="35089">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35c</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2125">
- <match key="usb.product_id" int="4097">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35d</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Scott APX 30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="851">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 2G (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8718">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 5000G</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="807">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 5000G (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Shark 2-in-1 Mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Shark SDC-513</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Shark SDC-519</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1245">
- <match key="usb.product_id" int="38497">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SBM203SH</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1245">
- <match key="usb.product_id" int="38602">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SH-06E</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="49189">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SH930W</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Shift3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="40976">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SigmaTel Inc. MTPMSCN Audio Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4113">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix Blink 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4117">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix CAMeleon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4098">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix SC2100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4112">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix Snap</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3428">
- <match key="usb.product_id" int="4097">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix Stylecam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4097">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix Web2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6390">
- <match key="usb.product_id" int="258">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sirius Stiletto</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6390">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sirius Stiletto 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="13056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Skanhex SX-330z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7132">
- <match key="usb.product_id" int="64191">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Slacker Inc. Slacker Portable Media Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3530">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SMaL Ultra-Pocket</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3783">
- <match key="usb.product_id" int="4104">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">So. Show 301</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1870">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A3000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1990">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5000 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2391">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5100 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2279">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5100 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2382">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A6000 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2231">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A6000 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2387">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A77 M2 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2381">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7r (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2388">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7S (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2274">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7S (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="4756">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony DCR-SR75</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="704">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-A100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="743">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-A900 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-F707V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-F717 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-F828 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-H1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-H2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-H5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1347">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX100V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1567">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX200V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1774">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1169">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX5V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2221">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX60V (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-N2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P10 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P120 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P30 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P31 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P32 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P41 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P43 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P51 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P52 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P71 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P72 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P73 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P92 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P93 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-R1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1323">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1322">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1867">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX100M2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S40 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="662">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S730 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S75 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="662">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S780 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S85 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-T1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-T10 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-T3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-U10 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-U20 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-V1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W12 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="835">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W130 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="760">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W35 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1340">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W510 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W55 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20853">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro HD MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41333">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro HD MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45429">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="370">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20850">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16754">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="390">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20870">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16774">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="361">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20841">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16745">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="373">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD IS12S MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16757">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD IS12S MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="374">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD SO-03D MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16758">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD SO-03D MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="375">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20855">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16759">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41335">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45431">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="376">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20856">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16760">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20866">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16770">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="371">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20851">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16755">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41331">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45427">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony MVC-CD300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony MVC-CD500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1839">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony NEX-3N (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1656">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony NEX-6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="860">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A726/NWZ-A728/NWZ-A768</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="805">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A815/NWZ-A818</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="859">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A826/NWZ-A828/NWZ-A829</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1028">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A845</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="878">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B135</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="984">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B142F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1214">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B153F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1434">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B163F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1673">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B173F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1020">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E344/E345</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1227">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E354</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="901">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E436F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1021">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E445</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1446">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E464</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="806">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S516</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1022">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S545</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="807">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S615F/NWZ-S616F/NWZ-S618F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="910">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S638F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="858">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S716F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="908">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S739F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1228">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S754</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1448">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S765</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="904">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-W202</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1211">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-W252B</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="919">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-X1050B/NWZ-X1060B</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="920">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-X1051/NWZ-X1061</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony PTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1191">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A35 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="801">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A350 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1187">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A55 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1641">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A57</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1846">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A58</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1847">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A58 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1396">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A65V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1653">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A99v</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20854">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro HD MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41334">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro HD MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45430">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="385">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20865">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16769">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1233">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet P1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1459">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1460">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet S1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="369">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST15i Xperia U MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="368">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20848">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16752">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="384">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20864">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16768">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20849">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST25i Xperia U MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16753">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST25i Xperia U MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="382">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20862">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16766">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41342">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45438">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="365">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY WT19i Live Walkman MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="408">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia A MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20888">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia A MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="419">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20899">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16803">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="396">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20876">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16780">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="444">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20924">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="444">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="459">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20939">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16843">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="392">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20872">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16776">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="402">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20882">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16786">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="411">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20891">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16795">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="427">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20907">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16811">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="426">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20906">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16810">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="405">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20885">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16789">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="397">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="404">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20877">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+ADB 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20884">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+ADB 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16781">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+CDROM 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16788">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+CDROM 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="403">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20883">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16787">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="438">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="406">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="412">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20918">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20886">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20892">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16796">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+CDROM (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="423">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact D5503</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16807">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact D5503 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20903">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="414">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20894">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16798">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="431">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20911">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16815">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20923">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16827">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="442">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20922">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16826">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="393">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20873">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16777">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="407">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZR MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20887">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZR MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="326">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson c1605 Xperia Dual E MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20806">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson c1605 Xperia Dual E MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="217">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson C702</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="212">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson C902</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="239">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson C905</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="343">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20823">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16727">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="334">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson j108i (Cedar)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="53572">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson j10i (Elm)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="324">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson j10i2 (Elm)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="57344">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson K550i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="117">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson K850i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20815">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson LT15i Xperia Arc MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="335">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson LT15i Xperia arc S MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="346">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson MK16i Xperia MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20826">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson MK16i Xperia MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="342">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson MT11i Xperia Neo MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20822">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson MT11i Xperia Neo MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="349">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson R800/R88i Xperia Play MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20829">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson R800/R88i Xperia Play MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="358">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson SK17i Xperia Mini Pro MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20838">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson SK17i Xperia Mini Pro MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="359">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST15i Xperia Mini MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20839">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST15i Xperia Mini MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="360">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20840">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16744">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="353">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST18a Xperia Ray MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20833">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST18i Xperia Ray MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="251">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson T700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="307">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson U5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="314">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson U8i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="4296">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W302</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="243">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W595</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="261">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W705/W715</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="198">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W760i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="179">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W890i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="245">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W902</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="118">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W910</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="218">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W980</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="274">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W995</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20845">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson WT19i Live Walkman MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Soundstar TDC-35</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Axys</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Cleo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Luxo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Memo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Xion</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SQ chip camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">StarCam CP086</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">STM USB Dual-mode camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Stop &amp; Shop 87096</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">STV0680</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37181">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Suprema Digital Keychain Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SY-2107C</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1105">
- <match key="usb.product_id" int="53512">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TCL Alcatel one touch 986+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5073">
- <match key="usb.product_id" int="28695">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Technika MP-709</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2726">
- <match key="usb.product_id" int="12305">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Tevion MD 81488</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="12341">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson / RCA Lyra HC308A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="1911">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson / RCA Opal / Lyra MC4002</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="1908">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson EM28 Series</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="1916">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson Lyra MC5104B (M51 Series)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="12314">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson RCA H106</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="12328">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson scenium E308</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Tiger Fast Flicks</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Timlex CP075</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5008">
- <match key="usb.product_id" int="21589">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TomTom Rider 40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4571">
- <match key="usb.product_id" int="4096">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Topfield TF5000PVR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="2403">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Excite AT300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="12">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="9">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEGF-40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="29">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MET401</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="26">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEU201</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="24">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEU202</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="17">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat P10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="15">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat P20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="16">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="25">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat T</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="22">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat U</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="20">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat V30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4402">
- <match key="usb.product_id" int="17207">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M11</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4402">
- <match key="usb.product_id" int="17202">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M60</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4402">
- <match key="usb.product_id" int="17205">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M61</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4402">
- <match key="usb.product_id" int="17204">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M65</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="28928">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Thrive AT100/AT105</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="13056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Traveler SX330z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Traveler SX410z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7784">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TrekStor i.Beat Organix 2.0</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1026">
- <match key="usb.product_id" int="1553">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TrekStor i.Beat Sweez FM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="33834">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TrekStor Vibez 8/12GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2125">
- <match key="usb.product_id" int="3">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust Familycam 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1750">
- <match key="usb.product_id" int="46">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust PowerC@m 350FS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1750">
- <match key="usb.product_id" int="45">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust PowerC@m 350FT</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2250">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust Spyc@m 100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust Spyc@m 500F FLASH</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="32794">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Typhoon StyloCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">UMAX AstraPen</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3428">
- <match key="usb.product_id" int="4097">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">UMAX AstraPix 320s</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">USB PTP Class Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="8711">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Various Viewpia DR/bq Kepler</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8711">
- <match key="usb.product_id" int="17">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Various Viewpia DR/bq Kepler Debugging</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1032">
- <match key="usb.product_id" int="14489">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Verizon Ellipsis 7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ViviCam3350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ViviCam5B</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Freelance</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Mini Digital Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam 55</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32778">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam3350B</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam35</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="57617">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Vizio (for Lenovo) LIFETAB S9714</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="49190">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Vizio Unknown 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="57408">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Vizio VTAB1008</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1329">
- <match key="usb.product_id" int="8193">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Wacom Cintiq Companion Hybrid (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32769">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Wild Planet Digital Spy Camera 70137</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7763">
- <match key="usb.product_id" int="7">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Wyplay Wyplayer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4968">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi HM NOTE 1LTEW MIUI (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4680">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Hongmi (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4672">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Hongmi (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="36921">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="65352">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2s (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="872">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-3 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="864">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-3w (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="1632">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi MiPad (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8711">
- <match key="usb.product_id" int="6">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">YiFang BQ Tesla</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10518">
- <match key="usb.product_id" int="37197">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Yota Phone 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10518">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Yota Phone 2 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7871">
- <match key="usb.product_id" int="32553">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">YU Yureka Vodafone smart turbo 4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="24576">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZiiLABS Zii EGG</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ZINA Mini Digital Keychain Camer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="835">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE Grand X In</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="65486">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="580">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V55 ID 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="581">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V55 ID 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="774">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V790/Blade 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="775">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V880E</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="899">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V985</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </device>
-</deviceinfo>
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb b/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb
deleted file mode 100644
index 91c5ed21..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "libgphoto2 allows you to access digital cameras"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1"
-
-DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
-
-# The .fdi and .rules files were generated with:
-# libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list
-# They are release specific, so please regen when adding new releases
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \
- file://10-camera-libgphoto2-device.fdi \
- file://10-camera-libgphoto2.fdi \
- file://40-libgphoto2.rules \
- file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
-"
-
-SRC_URI[libgphoto2.md5sum] = "ae78e7a7936a6962c3a22b256bee1869"
-SRC_URI[libgphoto2.sha256sum] = "417464f0a313fa937e8a71cdf18a371cf01e750830195cd63ae31da0d092b555"
-
-inherit autotools pkgconfig gettext lib_package
-
-EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gd] = ",--without-gdlib,gd"
-PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
-
-do_configure_append() {
- cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
- cd ${S}/libgphoto2_port/
- autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
- cd ${S}
-}
-
-do_install_append() {
- install -d ${D}${datadir}/hal/fdi/information/20thirdparty
- install -m 0644 ${WORKDIR}/*.fdi ${D}${datadir}/hal/fdi/information/20thirdparty/
-
- install -d ${D}${sysconfdir}/udev/rules.d/
- install -m 0755 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
-}
-
-PACKAGES =+ "libgphotoport libgphoto2-camlibs"
-FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
-RRECOMMENDS_${PN} = "libgphoto2-camlibs"
-
-FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
-
-FILES_${PN} += "${nonarch_base_libdir}/udev/* ${datadir}/hal"
-FILES_${PN}-dbg += "${libdir}/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/*/*/*.la"
-FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.25.bb b/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.25.bb
new file mode 100644
index 00000000..8daf737a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.25.bb
@@ -0,0 +1,49 @@
+SUMMARY = "libgphoto2 allows you to access digital cameras"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1"
+
+DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
+
+# The .fdi and .rules files were generated with:
+# libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list
+# They are release specific, so please regen when adding new releases
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \
+ file://40-libgphoto2.rules \
+ file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+"
+
+SRC_URI[libgphoto2.md5sum] = "39999aa4bdd3bf849b5716153c659405"
+SRC_URI[libgphoto2.sha256sum] = "7c0e98f438c2b128186afe16ce7833a12fa36f87d01467e837b9d27e7a167f3a"
+
+inherit autotools pkgconfig gettext lib_package
+
+EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gd] = ",--without-gdlib,gd"
+PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
+
+do_configure_append() {
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
+ cd ${S}/libgphoto2_port/
+ autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
+ cd ${S}
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/udev/rules.d/
+ install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
+}
+
+PACKAGES =+ "libgphotoport libgphoto2-camlibs"
+FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
+RRECOMMENDS_${PN} = "libgphoto2-camlibs"
+
+FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
+
+FILES_${PN} += "${nonarch_base_libdir}/udev/*"
+FILES_${PN}-dbg += "${libdir}/*/*/.debug"
+FILES_${PN}-dev += "${libdir}/*/*/*.la"
+FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch b/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
new file mode 100644
index 00000000..21bf1bcd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
@@ -0,0 +1,33 @@
+From 564901ab78da2b2b1bed92351dc3c102dc0a8154 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Aug 2019 17:51:39 -0700
+Subject: [PATCH] Set use_tcl to be empty string if tcl is disabled
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1676,7 +1676,7 @@ AC_ARG_ENABLE(tcl,
+ [], [enable_tcl=yes])
+
+ if test "x$enable_tcl" != "xyes"; then
+- use_tcl="No (disabled)"
++ use_tcl=""
+ fi
+
+ if test "x$use_tcl" = "x"; then
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -19,7 +19,7 @@ pkginclude_HEADERS = $(top_builddir)/gra
+ man_MANS = graphviz.7
+
+ # $(subdirs) contains the list from: AC_CONFIG_SUBDIRS
+-SUBDIRS = $(subdirs) lib plugin cmd tclpkg doc contrib share graphs rtest tests
++SUBDIRS = $(subdirs) lib plugin cmd doc contrib share graphs rtest tests
+
+ .PHONY: doxygen
+ doxygen:
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch b/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch
new file mode 100644
index 00000000..eb51d03d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch
@@ -0,0 +1,31 @@
+From 5e53b643615fd53f3ff960521bbe9d95641e5f68 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 20 Jan 2019 23:58:29 +0100
+Subject: [PATCH] Use native mkdefs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ lib/gvpr/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/gvpr/Makefile.am b/lib/gvpr/Makefile.am
+index ac3c098..4914854 100644
+--- a/lib/gvpr/Makefile.am
++++ b/lib/gvpr/Makefile.am
+@@ -57,7 +57,7 @@ endif
+ mkdefs_SOURCES = mkdefs.c
+
+ gdefs.h: $(top_srcdir)/lib/gvpr/gprdata mkdefs$(EXEEXT)
+- ./mkdefs$(EXEEXT) gdefs.h < $(top_srcdir)/lib/gvpr/gprdata
++ mkdefs$(EXEEXT) gdefs.h < $(top_srcdir)/lib/gvpr/gprdata
+
+ EXTRA_DIST = $(man_MANS) $(pdf_DATA) gprdata mkdefs.c gdefs.h trie.c gvprlib.vcxproj*
+
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch b/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch
new file mode 100644
index 00000000..a9b03524
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch
@@ -0,0 +1,38 @@
+From 926d9285f3367ae1bdb9ce1dce95f7de73b3a980 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Aug 2019 12:42:19 -0700
+Subject: [PATCH] plugin/pango: Include freetype headers explicitly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Do not depend on pango automatically adding these headers
+Fixes
+| gvtextlayout_pango.c:140:10: error: unknown type name ‘FT_Face’
+| FT_Face face;
+| ^~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugin/pango/gvtextlayout_pango.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/plugin/pango/gvtextlayout_pango.c b/plugin/pango/gvtextlayout_pango.c
+index d620b29..b0da11c 100644
+--- a/plugin/pango/gvtextlayout_pango.c
++++ b/plugin/pango/gvtextlayout_pango.c
+@@ -15,6 +15,10 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++
++#include <ft2build.h>
++#include FT_FREETYPE_H
++
+ #include "gvplugin_render.h"
+ #include "agxbuf.h"
+ #include "utils.h"
+--
+2.22.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb
new file mode 100644
index 00000000..12ecb990
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb
@@ -0,0 +1,77 @@
+SUMMARY = "Graph Visualization Tools"
+HOMEPAGE = "http://www.graphviz.org"
+LICENSE = "EPL-1.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04"
+
+DEPENDS = " \
+ intltool-native \
+ bison-native \
+ groff-native \
+ libtool \
+ gdk-pixbuf \
+ librsvg \
+ cairo \
+ pango \
+ expat \
+ freetype \
+"
+DEPENDS_append_class-target = " ${BPN}-native"
+
+inherit autotools-brokensep pkgconfig gettext
+
+# The source tarball suggested at
+# https://graphviz.gitlab.io/_pages/Download/Download_source.html has no
+# version in its name. So once graphviz is updgraded, only first time users will
+# get checksum errors. Fedora people seem to expect same so they use a versioned
+# source - see https://src.fedoraproject.org/cgit/rpms/graphviz.git/tree/graphviz.spec
+
+SRC_URI = "https://gitlab.com/graphviz/graphviz/-/archive/stable_release_${PV}/graphviz-stable_release_${PV}.tar.gz \
+ file://0001-plugin-pango-Include-freetype-headers-explicitly.patch \
+"
+# Use native mkdefs
+SRC_URI_append_class-target = "\
+ file://0001-Use-native-mkdefs.patch \
+ file://0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch \
+"
+SRC_URI[md5sum] = "2acf30ca8e6cc8b001b0334db65fd072"
+SRC_URI[sha256sum] = "e6c3f8dbfde1c4523055403927bef29f97f9fc12715c1042b5dcf648a2c1c62a"
+
+S = "${WORKDIR}/${BPN}-stable_release_${PV}"
+
+EXTRA_OECONF_class-target = "\
+ --with-expatincludedir=${STAGING_INCDIR} \
+ --with-expatlibdir=${STAGING_LIBDIR} \
+ --without-included-ltdl \
+ --disable-java \
+ --disable-tcl \
+ --disable-r \
+ --disable-sharp \
+ "
+CFLAGS_append_class-target = " -D_typ_ssize_t=1 -D_long_double=1"
+do_configure_prepend() {
+ cd ${S}
+ # create version.m4 and ignore libtoolize errors
+ ./autogen.sh NOCONFIG || true
+}
+
+do_install_append_class-native() {
+ # install mkdefs for target build
+ install -m755 ${B}/lib/gvpr/mkdefs ${D}${bindir}
+}
+
+PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo"
+
+FILES_${PN}-python += "${libdir}/python*/site-packages/ ${libdir}/graphviz/python/"
+FILES_${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/"
+FILES_${PN}-demo += "${datadir}/graphviz/demo/"
+
+RDEPENDS_${PN}-perl += "perl"
+RDEPENDS_${PN}-python += "python3"
+RDEPENDS_${PN}-demo += "python3 perl"
+
+INSANE_SKIP_${PN}-perl = "dev-so"
+INSANE_SKIP_${PN}-python = "dev-so"
+
+FILES_SOLIBSDEV_append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch b/external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch
new file mode 100644
index 00000000..4a727d3c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch
@@ -0,0 +1,36 @@
+Fix build with gettext 0.20.x
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -3,7 +3,7 @@
+ ## If you don't want it to overwrite it,
+ ## Please disable it in the Anjuta project configuration
+
+-SUBDIRS = intl po src pixmaps
++SUBDIRS = po src pixmaps
+
+ gtkperfdocdir = ${prefix}/doc/gtkperf
+ gtkperfdoc_DATA = \
+--- a/configure.in
++++ b/configure.in
+@@ -31,8 +31,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GE
+
+ dnl Languages which your application supports
+ ALL_LINGUAS=""
+-AM_GNU_GETTEXT
+-AM_GNU_GETTEXT_VERSION(0.10.40)
++AM_GNU_GETTEXT([external])
+
+ dnl Set PACKAGE_LOCALE_DIR in config.h.
+ if test "x${prefix}" = "xNONE"; then
+@@ -100,7 +99,6 @@ AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "
+
+ AC_OUTPUT([
+ Makefile
+-intl/Makefile
+ po/Makefile.in
+ src/Makefile
+ pixmaps/Makefile
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
index 4094513b..b4d94ff6 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
@@ -7,6 +7,7 @@ SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \
file://Makevars \
file://0001-Include-stdlib.h-for-exit-API.patch \
file://0002-timing.c-Fix-format-security-errors.patch \
+ file://gettext.patch \
"
SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53"
@@ -16,7 +17,7 @@ DEPENDS = "gtk+"
S = "${WORKDIR}/${BPN}"
-inherit distro_features_check autotools binconfig pkgconfig gettext
+inherit features_check autotools binconfig pkgconfig gettext
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb b/external/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb
new file mode 100644
index 00000000..6c22f0e0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb
@@ -0,0 +1,23 @@
+SUMMARY = "VCD (Value Change Dump) file waveform viewer"
+DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) "
+HOMEPAGE = "http://gtkwave.sourceforge.net/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "23879689ecf7e2cdd2cd5a91c5c601da"
+SRC_URI[sha256sum] = "d20dd1a9307b908439c68122a9f81d3ff434a6bfa5439f0cb01398fec650894f"
+
+inherit pkgconfig autotools gettext texinfo mime mime-xdg
+DEPENDS += "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0"
+RDEPENDS_${PN} += "tk-lib"
+
+# depends on gtk+ which has this restriction
+inherit features_check
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+
+EXTRA_OECONF = "--with-tcl=${STAGING_BINDIR_CROSS} --with-tk=${STAGING_BINDIR_CROSS} --with-tirpc --disable-mime-update"
+
+FILES_${PN} = "${bindir} ${datadir}"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
deleted file mode 100644
index cc6a694c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Jpeg 2000 implementation"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=baa697d7510288a9cdcce9bd7edaf9bc"
-
-PR = "r1"
-
-SRC_URI = "http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-${PV}.zip"
-
-inherit autotools lib_package
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg"
-PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,freeglut"
-
-EXTRA_OECONF = "--enable-shared"
-
-SRC_URI[md5sum] = "a342b2b4495b3e1394e161eb5d85d754"
-SRC_URI[sha256sum] = "6b905a9c2aca2e275544212666eefc4eb44d95d0a57e4305457b407fe63f9494"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb b/external/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb
new file mode 100644
index 00000000..1d5a2943
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Jpeg 2000 implementation"
+HOMEPAGE = "https://github.com/mdadams/jasper"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb"
+
+SRC_URI = "git://github.com/mdadams/jasper.git;protocol=https"
+SRCREV = "9aef6d91a82a8a6aecb575cbee57f74470603cc2"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=true, -DJAS_ENABLE_LIBJPEG=false, jpeg"
+PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=true, -DJAS_ENABLE_OPENGL=false, freeglut"
+
+EXTRA_OECMAKE_append = " -DJAS_ENABLE_SHARED=true"
+
+do_install_append() {
+ chrpath -d ${D}${bindir}/jasper
+ chrpath -d ${D}${bindir}/imginfo
+ chrpath -d ${D}${bindir}/imgcmp
+ chrpath -d ${D}${libdir}/libjasper.so.*
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb b/external/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
index 91fa00cc..249e96f1 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
@@ -3,7 +3,7 @@ DEPENDS = "jpeg tiff libpng zlib"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=34aa579294e8284b7b848c8d5d361e8f"
-SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz"
+SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz"
SRC_URI[md5sum] = "4f32be9bd2e2c142ba018037ab5d746f"
SRC_URI[sha256sum] = "29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch
new file mode 100644
index 00000000..db400f70
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch
@@ -0,0 +1,12 @@
+diff -Naur xforms-1.2.3.orig/fdesign/Makefile.am xforms-1.2.3/fdesign/Makefile.am
+--- xforms-1.2.3.orig/fdesign/Makefile.am 2019-02-24 12:58:51.968645873 +0000
++++ xforms-1.2.3/fdesign/Makefile.am 2019-02-24 13:00:48.500635163 +0000
+@@ -11,7 +11,7 @@
+ fdesign.1:
+ cp -p $(srcdir)/fdesign.man fdesign.1
+
+-INCLUDES = -I./xpm $(X_CFLAGS)
++INCLUDES = -I./xpm -I$(srcdir)/xpm $(X_CFLAGS)
+
+ bin_PROGRAMS = fdesign
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch
new file mode 100644
index 00000000..c95bd18d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch
@@ -0,0 +1,12 @@
+diff -Naur xforms-1.2.3.orig/lib/Makefile.am xforms-1.2.3/lib/Makefile.am
+--- xforms-1.2.3.orig/lib/Makefile.am 2019-02-24 12:53:58.340678373 +0000
++++ xforms-1.2.3/lib/Makefile.am 2019-02-24 12:54:33.096674102 +0000
+@@ -25,7 +25,7 @@
+ man_MANS = xforms.5
+
+ xforms.5:
+- cp -p ./xforms.man xforms.5
++ cp -p $(srcdir)/xforms.man xforms.5
+
+ libforms_la_SOURCES = \
+ align.c \
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch
new file mode 100644
index 00000000..73956dee
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch
@@ -0,0 +1,12 @@
+diff -Naur xforms-1.2.3.orig/fdesign/Makefile.am xforms-1.2.3/fdesign/Makefile.am
+--- xforms-1.2.3.orig/fdesign/Makefile.am 2019-02-24 13:08:48.412603250 +0000
++++ xforms-1.2.3/fdesign/Makefile.am 2019-02-24 13:09:18.412601874 +0000
+@@ -15,7 +15,7 @@
+
+ bin_PROGRAMS = fdesign
+
+-fdesign_LDADD = $(top_srcdir)/lib/libforms.la $(X_LIBS) $(X_PRE_LIBS) $(XPM_LIB) -lX11 $(LIBS) $(X_EXTRA_LIBS)
++fdesign_LDADD = $(top_builddir)/lib/libforms.la $(X_LIBS) $(X_PRE_LIBS) $(XPM_LIB) -lX11 $(LIBS) $(X_EXTRA_LIBS)
+
+ fdesign_SOURCES = \
+ fd_attribs.c \
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb
new file mode 100644
index 00000000..999d53d4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "The XForms graphical interface widget library "
+HOMEPAGE = "http://savannah.nongnu.org/projects/xforms/"
+PR = "r0"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=ade9a053df81f5b9408d2f4f5546df86"
+
+SRC_URI = "http://download.savannah.nongnu.org/releases/xforms/xforms-${PV}.tar.gz \
+ file://fix-link-to-xforms-man.patch \
+ file://add-absolute-path-for-include-dir.patch \
+ file://fix-path-fdesign_LDADD.patch \
+ "
+
+SRC_URI[md5sum] = "235720a758a8b8d9e6e452dc67190e9b"
+SRC_URI[sha256sum] = "7989b39598c769820ad451ad91e5cb0de29946940c8240aac94ca8238c2def61"
+
+inherit autotools features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+S = "${WORKDIR}/xforms-${PV}"
+
+DEPENDS = "libxpm jpeg libx11 mesa"
+RDEPENDS_${PN} = "bash"
+
+EXTRA_OECONF = "--with-extra-inc=${S}/lib"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
new file mode 100644
index 00000000..ec8c0fd4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
@@ -0,0 +1,73 @@
+From 44e4bb4cfb81024c8f5fd2e179e8a32c42756a2f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 23 Jul 2017 16:52:43 -0700
+Subject: [PATCH] build: Pass --tag=CC explictly when using libtool
+
+Do not depend solely on libtool heuristics which fail
+in OE case when building with external compiler and
+hardening flags
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 4 ++--
+ build-scripts/makedep.sh | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ab51035..743ce30 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -72,10 +72,10 @@ depend:
+ include $(depend)
+
+ $(objects)/$(TARGET): $(OBJECTS)
+- $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
++ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
+
+ $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
+- $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS)
++ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS)
+
+
+ install: all install-bin install-hdrs install-lib install-data install-man
+diff --git a/build-scripts/makedep.sh b/build-scripts/makedep.sh
+index 3b3863b..dba28f2 100755
+--- a/build-scripts/makedep.sh
++++ b/build-scripts/makedep.sh
+@@ -51,19 +51,19 @@ do echo "Generating dependencies for $src"
+ case $ext in
+ c) cat >>${output}.new <<__EOF__
+
+- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+
+ __EOF__
+ ;;
+ cc) cat >>${output}.new <<__EOF__
+
+- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+
+ __EOF__
+ ;;
+ m) cat >>${output}.new <<__EOF__
+
+- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+
+ __EOF__
+ ;;
+@@ -75,7 +75,7 @@ __EOF__
+ ;;
+ S) cat >>${output}.new <<__EOF__
+
+- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+
+ __EOF__
+ ;;
+--
+2.13.3
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch
new file mode 100644
index 00000000..c41c2de0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch
@@ -0,0 +1,114 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182231 25200
+# Mon Jun 10 08:57:11 2019 -0700
+# Branch SDL-1.2
+# Node ID a8afedbcaea0e84921dc770195c4699bda3ccdc5
+# Parent faf9abbcfb5fe0d0ca23c4bf0394aa226ceccf02
+CVE-2019-7572: Fix a buffer overwrite in IMA_ADPCM_decode
+If data chunk was longer than expected based on a WAV format
+definition, IMA_ADPCM_decode() tried to write past the output
+buffer. This patch fixes it.
+
+Based on patch from
+<https://bugzilla.libsdl.org/show_bug.cgi?id=4496>.
+
+CVE-2019-7572
+https://bugzilla.libsdl.org/show_bug.cgi?id=4495
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560041863 25200
+# Sat Jun 08 17:57:43 2019 -0700
+# Branch SDL-1.2
+# Node ID e52413f5258600878f9a10d2f92605a729aa8976
+# Parent 4e73be7b47877ae11d2279bd916910d469d18f8e
+CVE-2019-7572: Fix a buffer overread in IMA_ADPCM_nibble
+If an IMA ADPCM block contained an initial index out of step table
+range (loaded in IMA_ADPCM_decode()), IMA_ADPCM_nibble() blindly used
+this bogus value and that lead to a buffer overread.
+
+This patch fixes it by moving clamping the index value at the
+beginning of IMA_ADPCM_nibble() function instead of the end after
+an update.
+
+CVE-2019-7572
+https://bugzilla.libsdl.org/show_bug.cgi?id=4495
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7572
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r faf9abbcfb5f -r a8afedbcaea0 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 08:54:29 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 08:57:11 2019 -0700
+@@ -346,7 +346,7 @@
+ static int IMA_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct IMA_ADPCM_decodestate *state;
+- Uint8 *freeable, *encoded, *encoded_end, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded, *decoded_end;
+ Sint32 encoded_len, samplesleft;
+ unsigned int c, channels;
+
+@@ -373,6 +373,7 @@
+ return(-1);
+ }
+ decoded = *audio_buf;
++ decoded_end = decoded + *audio_len;
+
+ /* Get ready... Go! */
+ while ( encoded_len >= IMA_ADPCM_state.wavefmt.blockalign ) {
+@@ -392,6 +393,7 @@
+ }
+
+ /* Store the initial sample we start with */
++ if (decoded + 2 > decoded_end) goto invalid_size;
+ decoded[0] = (Uint8)(state[c].sample&0xFF);
+ decoded[1] = (Uint8)(state[c].sample>>8);
+ decoded += 2;
+@@ -402,6 +404,8 @@
+ while ( samplesleft > 0 ) {
+ for ( c=0; c<channels; ++c ) {
+ if (encoded + 4 > encoded_end) goto invalid_size;
++ if (decoded + 4 * 4 * channels > decoded_end)
++ goto invalid_size;
+ Fill_IMA_ADPCM_block(decoded, encoded,
+ c, channels, &state[c]);
+ encoded += 4;
+
+diff -r 4e73be7b4787 -r e52413f52586 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 01 18:27:46 2019 +0100
++++ b/src/audio/SDL_wave.c Sat Jun 08 17:57:43 2019 -0700
+@@ -264,6 +264,14 @@
+ };
+ Sint32 delta, step;
+
++ /* Clamp index value. The inital value can be invalid. */
++ if ( state->index > 88 ) {
++ state->index = 88;
++ } else
++ if ( state->index < 0 ) {
++ state->index = 0;
++ }
++
+ /* Compute difference and new sample value */
+ step = step_table[state->index];
+ delta = step >> 3;
+@@ -275,12 +283,6 @@
+
+ /* Update index value */
+ state->index += index_table[nybble];
+- if ( state->index > 88 ) {
+- state->index = 88;
+- } else
+- if ( state->index < 0 ) {
+- state->index = 0;
+- }
+
+ /* Clamp output sample */
+ if ( state->sample > max_audioval ) {
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch
new file mode 100644
index 00000000..9fd53da2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch
@@ -0,0 +1,68 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560181859 25200
+# Mon Jun 10 08:50:59 2019 -0700
+# Branch SDL-1.2
+# Node ID a6e3d2f5183e1cc300ad993e10e9ce077e13bd9c
+# Parent 388987dff7bf8f1e214e69c2e4f1aa31e06396b5
+CVE-2019-7574: Fix a buffer overread in IMA_ADPCM_decode
+If data chunk was shorter than expected based on a WAV format
+definition, IMA_ADPCM_decode() tried to read past the data chunk
+buffer. This patch fixes it.
+
+CVE-2019-7574
+https://bugzilla.libsdl.org/show_bug.cgi?id=4496
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7574
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 388987dff7bf -r a6e3d2f5183e src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 08 18:02:09 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 08:50:59 2019 -0700
+@@ -331,7 +331,7 @@
+ static int IMA_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct IMA_ADPCM_decodestate *state;
+- Uint8 *freeable, *encoded, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded;
+ Sint32 encoded_len, samplesleft;
+ unsigned int c, channels;
+
+@@ -347,6 +347,7 @@
+ /* Allocate the proper sized output buffer */
+ encoded_len = *audio_len;
+ encoded = *audio_buf;
++ encoded_end = encoded + encoded_len;
+ freeable = *audio_buf;
+ *audio_len = (encoded_len/IMA_ADPCM_state.wavefmt.blockalign) *
+ IMA_ADPCM_state.wSamplesPerBlock*
+@@ -362,6 +363,7 @@
+ while ( encoded_len >= IMA_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
+ for ( c=0; c<channels; ++c ) {
++ if (encoded + 4 > encoded_end) goto invalid_size;
+ /* Fill the state information for this block */
+ state[c].sample = ((encoded[1]<<8)|encoded[0]);
+ encoded += 2;
+@@ -384,6 +386,7 @@
+ samplesleft = (IMA_ADPCM_state.wSamplesPerBlock-1)*channels;
+ while ( samplesleft > 0 ) {
+ for ( c=0; c<channels; ++c ) {
++ if (encoded + 4 > encoded_end) goto invalid_size;
+ Fill_IMA_ADPCM_block(decoded, encoded,
+ c, channels, &state[c]);
+ encoded += 4;
+@@ -395,6 +398,10 @@
+ }
+ SDL_free(freeable);
+ return(0);
++invalid_size:
++ SDL_SetError("Unexpected chunk length for an IMA ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
+ }
+
+ SDL_AudioSpec * SDL_LoadWAV_RW (SDL_RWops *src, int freesrc,
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch
new file mode 100644
index 00000000..a3e8416d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch
@@ -0,0 +1,81 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560183905 25200
+# Mon Jun 10 09:25:05 2019 -0700
+# Branch SDL-1.2
+# Node ID a936f9bd3e381d67d8ddee8b9243f85799ea4798
+# Parent fcbecae427951bac1684baaba2ade68221315140
+CVE-2019-7575: Fix a buffer overwrite in MS_ADPCM_decode
+If a WAV format defines shorter audio stream and decoded MS ADPCM data chunk
+is longer, decoding continued past the output audio buffer.
+
+This fix is based on a patch from
+<https://bugzilla.libsdl.org/show_bug.cgi?id=4492>.
+
+https://bugzilla.libsdl.org/show_bug.cgi?id=4493
+CVE-2019-7575
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7575
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r fcbecae42795 -r a936f9bd3e38 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 09:06:23 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 09:25:05 2019 -0700
+@@ -122,7 +122,7 @@
+ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct MS_ADPCM_decodestate *state[2];
+- Uint8 *freeable, *encoded, *encoded_end, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded, *decoded_end;
+ Sint32 encoded_len, samplesleft;
+ Sint8 nybble, stereo;
+ Sint16 *coeff[2];
+@@ -142,6 +142,7 @@
+ return(-1);
+ }
+ decoded = *audio_buf;
++ decoded_end = decoded + *audio_len;
+
+ /* Get ready... Go! */
+ stereo = (MS_ADPCM_state.wavefmt.channels == 2);
+@@ -149,7 +150,7 @@
+ state[1] = &MS_ADPCM_state.state[stereo];
+ while ( encoded_len >= MS_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
+- if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto too_short;
++ if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto invalid_size;
+ state[0]->hPredictor = *encoded++;
+ if ( stereo ) {
+ state[1]->hPredictor = *encoded++;
+@@ -179,6 +180,7 @@
+ coeff[1] = MS_ADPCM_state.aCoeff[state[1]->hPredictor];
+
+ /* Store the two initial samples we start with */
++ if (decoded + 4 + (stereo ? 4 : 0) > decoded_end) goto invalid_size;
+ decoded[0] = state[0]->iSamp2&0xFF;
+ decoded[1] = state[0]->iSamp2>>8;
+ decoded += 2;
+@@ -200,7 +202,8 @@
+ samplesleft = (MS_ADPCM_state.wSamplesPerBlock-2)*
+ MS_ADPCM_state.wavefmt.channels;
+ while ( samplesleft > 0 ) {
+- if (encoded + 1 > encoded_end) goto too_short;
++ if (encoded + 1 > encoded_end) goto invalid_size;
++ if (decoded + 4 > decoded_end) goto invalid_size;
+
+ nybble = (*encoded)>>4;
+ new_sample = MS_ADPCM_nibble(state[0],nybble,coeff[0]);
+@@ -223,8 +226,8 @@
+ }
+ SDL_free(freeable);
+ return(0);
+-too_short:
+- SDL_SetError("Too short chunk for a MS ADPCM decoder");
++invalid_size:
++ SDL_SetError("Unexpected chunk length for a MS ADPCM decoder");
+ SDL_free(freeable);
+ return(-1);
+ invalid_predictor:
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch
new file mode 100644
index 00000000..d9a50521
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch
@@ -0,0 +1,80 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182783 25200
+# Mon Jun 10 09:06:23 2019 -0700
+# Branch SDL-1.2
+# Node ID fcbecae427951bac1684baaba2ade68221315140
+# Parent a8afedbcaea0e84921dc770195c4699bda3ccdc5
+CVE-2019-7573, CVE-2019-7576: Fix buffer overreads in InitMS_ADPCM
+If MS ADPCM format chunk was too short, InitMS_ADPCM() parsing it
+could read past the end of chunk data. This patch fixes it.
+
+CVE-2019-7573
+https://bugzilla.libsdl.org/show_bug.cgi?id=4491
+CVE-2019-7576
+https://bugzilla.libsdl.org/show_bug.cgi?id=4490
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7573
+CVE: CVE-2019-7576
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r a8afedbcaea0 -r fcbecae42795 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 08:57:11 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 09:06:23 2019 -0700
+@@ -44,12 +44,13 @@
+ struct MS_ADPCM_decodestate state[2];
+ } MS_ADPCM_state;
+
+-static int InitMS_ADPCM(WaveFMT *format)
++static int InitMS_ADPCM(WaveFMT *format, int length)
+ {
+- Uint8 *rogue_feel;
++ Uint8 *rogue_feel, *rogue_feel_end;
+ int i;
+
+ /* Set the rogue pointer to the MS_ADPCM specific data */
++ if (length < sizeof(*format)) goto too_short;
+ MS_ADPCM_state.wavefmt.encoding = SDL_SwapLE16(format->encoding);
+ MS_ADPCM_state.wavefmt.channels = SDL_SwapLE16(format->channels);
+ MS_ADPCM_state.wavefmt.frequency = SDL_SwapLE32(format->frequency);
+@@ -58,9 +59,11 @@
+ MS_ADPCM_state.wavefmt.bitspersample =
+ SDL_SwapLE16(format->bitspersample);
+ rogue_feel = (Uint8 *)format+sizeof(*format);
++ rogue_feel_end = (Uint8 *)format + length;
+ if ( sizeof(*format) == 16 ) {
+ rogue_feel += sizeof(Uint16);
+ }
++ if (rogue_feel + 4 > rogue_feel_end) goto too_short;
+ MS_ADPCM_state.wSamplesPerBlock = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ MS_ADPCM_state.wNumCoef = ((rogue_feel[1]<<8)|rogue_feel[0]);
+@@ -70,12 +73,16 @@
+ return(-1);
+ }
+ for ( i=0; i<MS_ADPCM_state.wNumCoef; ++i ) {
++ if (rogue_feel + 4 > rogue_feel_end) goto too_short;
+ MS_ADPCM_state.aCoeff[i][0] = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ MS_ADPCM_state.aCoeff[i][1] = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ }
+ return(0);
++too_short:
++ SDL_SetError("Unexpected length of a chunk with a MS ADPCM format");
++ return(-1);
+ }
+
+ static Sint32 MS_ADPCM_nibble(struct MS_ADPCM_decodestate *state,
+@@ -495,7 +502,7 @@
+ break;
+ case MS_ADPCM_CODE:
+ /* Try to understand this */
+- if ( InitMS_ADPCM(format) < 0 ) {
++ if ( InitMS_ADPCM(format, lenread) < 0 ) {
+ was_error = 1;
+ goto done;
+ }
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch
new file mode 100644
index 00000000..63680b8b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch
@@ -0,0 +1,118 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182051 25200
+# Mon Jun 10 08:54:11 2019 -0700
+# Branch SDL-1.2
+# Node ID 416136310b88cbeeff8773e573e90ac1e22b3526
+# Parent a6e3d2f5183e1cc300ad993e10e9ce077e13bd9c
+CVE-2019-7577: Fix a buffer overread in MS_ADPCM_decode
+If RIFF/WAV data chunk length is shorter then expected for an audio
+format defined in preceeding RIFF/WAV format headers, a buffer
+overread can happen.
+
+This patch fixes it by checking a MS ADPCM data to be decoded are not
+past the initialized buffer.
+
+CVE-2019-7577
+Reproducer: https://bugzilla.libsdl.org/show_bug.cgi?id=4492
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182069 25200
+# Mon Jun 10 08:54:29 2019 -0700
+# Branch SDL-1.2
+# Node ID faf9abbcfb5fe0d0ca23c4bf0394aa226ceccf02
+# Parent 416136310b88cbeeff8773e573e90ac1e22b3526
+CVE-2019-7577: Fix a buffer overread in MS_ADPCM_nibble and MS_ADPCM_decode
+If a chunk of RIFF/WAV file with MS ADPCM encoding contains an invalid
+predictor (a valid predictor's value is between 0 and 6 inclusive),
+a buffer overread can happen when the predictor is used as an index
+into an array of MS ADPCM coefficients.
+
+The overead happens when indexing MS_ADPCM_state.aCoeff[] array in
+MS_ADPCM_decode() and later when dereferencing a coef pointer in
+MS_ADPCM_nibble().
+
+This patch fixes it by checking the MS ADPCM predictor values fit
+into the valid range.
+
+CVE-2019-7577
+Reproducer: https://bugzilla.libsdl.org/show_bug.cgi?id=4492
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7577
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+Refresh CVE-2019-7577.patch as it can't be applyed when using PATCHTOOL = "patch".
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/audio/SDL_wave.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/src/audio/SDL_wave.c b/src/audio/SDL_wave.c
+index b4ad6c7..0bcf7e2 100644
+--- a/src/audio/SDL_wave.c
++++ b/src/audio/SDL_wave.c
+@@ -115,7 +115,7 @@ static Sint32 MS_ADPCM_nibble(struct MS_ADPCM_decodestate *state,
+ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct MS_ADPCM_decodestate *state[2];
+- Uint8 *freeable, *encoded, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded;
+ Sint32 encoded_len, samplesleft;
+ Sint8 nybble, stereo;
+ Sint16 *coeff[2];
+@@ -124,6 +124,7 @@ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ /* Allocate the proper sized output buffer */
+ encoded_len = *audio_len;
+ encoded = *audio_buf;
++ encoded_end = encoded + encoded_len;
+ freeable = *audio_buf;
+ *audio_len = (encoded_len/MS_ADPCM_state.wavefmt.blockalign) *
+ MS_ADPCM_state.wSamplesPerBlock*
+@@ -141,10 +142,14 @@ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ state[1] = &MS_ADPCM_state.state[stereo];
+ while ( encoded_len >= MS_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
++ if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto too_short;
+ state[0]->hPredictor = *encoded++;
+ if ( stereo ) {
+ state[1]->hPredictor = *encoded++;
+ }
++ if (state[0]->hPredictor >= 7 || state[1]->hPredictor >= 7) {
++ goto invalid_predictor;
++ }
+ state[0]->iDelta = ((encoded[1]<<8)|encoded[0]);
+ encoded += sizeof(Sint16);
+ if ( stereo ) {
+@@ -188,6 +193,8 @@ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ samplesleft = (MS_ADPCM_state.wSamplesPerBlock-2)*
+ MS_ADPCM_state.wavefmt.channels;
+ while ( samplesleft > 0 ) {
++ if (encoded + 1 > encoded_end) goto too_short;
++
+ nybble = (*encoded)>>4;
+ new_sample = MS_ADPCM_nibble(state[0],nybble,coeff[0]);
+ decoded[0] = new_sample&0xFF;
+@@ -209,6 +216,14 @@ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ }
+ SDL_free(freeable);
+ return(0);
++too_short:
++ SDL_SetError("Too short chunk for a MS ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
++invalid_predictor:
++ SDL_SetError("Invalid predictor value for a MS ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
+ }
+
+ struct IMA_ADPCM_decodestate {
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch
new file mode 100644
index 00000000..70288903
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch
@@ -0,0 +1,64 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560042129 25200
+# Sat Jun 08 18:02:09 2019 -0700
+# Branch SDL-1.2
+# Node ID 388987dff7bf8f1e214e69c2e4f1aa31e06396b5
+# Parent e52413f5258600878f9a10d2f92605a729aa8976
+CVE-2019-7578: Fix a buffer overread in InitIMA_ADPCM
+If IMA ADPCM format chunk was too short, InitIMA_ADPCM() parsing it
+could read past the end of chunk data. This patch fixes it.
+
+CVE-2019-7578
+https://bugzilla.libsdl.org/show_bug.cgi?id=4494
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7578
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r e52413f52586 -r 388987dff7bf src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 08 17:57:43 2019 -0700
++++ b/src/audio/SDL_wave.c Sat Jun 08 18:02:09 2019 -0700
+@@ -222,11 +222,12 @@
+ struct IMA_ADPCM_decodestate state[2];
+ } IMA_ADPCM_state;
+
+-static int InitIMA_ADPCM(WaveFMT *format)
++static int InitIMA_ADPCM(WaveFMT *format, int length)
+ {
+- Uint8 *rogue_feel;
++ Uint8 *rogue_feel, *rogue_feel_end;
+
+ /* Set the rogue pointer to the IMA_ADPCM specific data */
++ if (length < sizeof(*format)) goto too_short;
+ IMA_ADPCM_state.wavefmt.encoding = SDL_SwapLE16(format->encoding);
+ IMA_ADPCM_state.wavefmt.channels = SDL_SwapLE16(format->channels);
+ IMA_ADPCM_state.wavefmt.frequency = SDL_SwapLE32(format->frequency);
+@@ -235,11 +236,16 @@
+ IMA_ADPCM_state.wavefmt.bitspersample =
+ SDL_SwapLE16(format->bitspersample);
+ rogue_feel = (Uint8 *)format+sizeof(*format);
++ rogue_feel_end = (Uint8 *)format + length;
+ if ( sizeof(*format) == 16 ) {
+ rogue_feel += sizeof(Uint16);
+ }
++ if (rogue_feel + 2 > rogue_feel_end) goto too_short;
+ IMA_ADPCM_state.wSamplesPerBlock = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ return(0);
++too_short:
++ SDL_SetError("Unexpected length of a chunk with an IMA ADPCM format");
++ return(-1);
+ }
+
+ static Sint32 IMA_ADPCM_nibble(struct IMA_ADPCM_decodestate *state,Uint8 nybble)
+@@ -471,7 +477,7 @@
+ break;
+ case IMA_ADPCM_CODE:
+ /* Try to understand this */
+- if ( InitIMA_ADPCM(format) < 0 ) {
++ if ( InitIMA_ADPCM(format, lenread) < 0 ) {
+ was_error = 1;
+ goto done;
+ }
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch
new file mode 100644
index 00000000..78af1b06
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch
@@ -0,0 +1,63 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560259692 25200
+# Tue Jun 11 06:28:12 2019 -0700
+# Branch SDL-1.2
+# Node ID f1f5878be5dbf63c1161a8ee52b8a86ece30e552
+# Parent a936f9bd3e381d67d8ddee8b9243f85799ea4798
+CVE-2019-7635: Reject BMP images with pixel colors out the palette
+If a 1-, 4-, or 8-bit per pixel BMP image declares less used colors
+than the palette offers an SDL_Surface with a palette of the indicated
+number of used colors is created. If some of the image's pixel
+refer to a color number higher then the maximal used colors, a subsequent
+bliting operation on the surface will look up a color past a blit map
+(that is based on the palette) memory. I.e. passing such SDL_Surface
+to e.g. an SDL_DisplayFormat() function will result in a buffer overread in
+a blit function.
+
+This patch fixes it by validing each pixel's color to be less than the
+maximal color number in the palette. A validation failure raises an
+error from a SDL_LoadBMP_RW() function.
+
+CVE-2019-7635
+https://bugzilla.libsdl.org/show_bug.cgi?id=4498
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7635
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r a936f9bd3e38 -r f1f5878be5db src/video/SDL_bmp.c
+--- a/src/video/SDL_bmp.c Mon Jun 10 09:25:05 2019 -0700
++++ b/src/video/SDL_bmp.c Tue Jun 11 06:28:12 2019 -0700
+@@ -308,6 +308,12 @@
+ }
+ *(bits+i) = (pixel>>shift);
+ pixel <<= ExpandBMP;
++ if ( bits[i] >= biClrUsed ) {
++ SDL_SetError(
++ "A BMP image contains a pixel with a color out of the palette");
++ was_error = SDL_TRUE;
++ goto done;
++ }
+ } }
+ break;
+
+@@ -318,6 +324,16 @@
+ was_error = SDL_TRUE;
+ goto done;
+ }
++ if ( 8 == biBitCount && palette && biClrUsed < (1 << biBitCount ) ) {
++ for ( i=0; i<surface->w; ++i ) {
++ if ( bits[i] >= biClrUsed ) {
++ SDL_SetError(
++ "A BMP image contains a pixel with a color out of the palette");
++ was_error = SDL_TRUE;
++ goto done;
++ }
++ }
++ }
+ #if SDL_BYTEORDER == SDL_BIG_ENDIAN
+ /* Byte-swap the pixels if needed. Note that the 24bpp
+ case has already been taken care of above. */
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch
new file mode 100644
index 00000000..c95338e6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch
@@ -0,0 +1,192 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1552788984 25200
+# Sat Mar 16 19:16:24 2019 -0700
+# Branch SDL-1.2
+# Node ID 9b0e5c555c0f5ce6d2c3c19da6cc2c7fb5048bf2
+# Parent 4646533663ae1d80c2cc6b2d6dbfb37c62491c1e
+CVE-2019-7637: Fix in integer overflow in SDL_CalculatePitch
+If a too large width is passed to SDL_SetVideoMode() the width travels
+to SDL_CalculatePitch() where the width (e.g. 65535) is multiplied by
+BytesPerPixel (e.g. 4) and the result is stored into Uint16 pitch
+variable. During this arithmetics an integer overflow can happen (e.g.
+the value is clamped as 65532). As a result SDL_Surface with a pitch
+smaller than width * BytesPerPixel is created, too small pixel buffer
+is allocated and when the SDL_Surface is processed in SDL_FillRect()
+a buffer overflow occurs.
+
+This can be reproduced with "./graywin -width 21312312313123213213213"
+command.
+
+This patch fixes is by using a very careful arithmetics in
+SDL_CalculatePitch(). If an overflow is detected, an error is reported
+back as a special 0 value. We assume that 0-width surfaces do not
+occur in the wild. Since SDL_CalculatePitch() is a private function,
+we can change the semantics.
+
+CVE-2019-7637
+https://bugzilla.libsdl.org/show_bug.cgi?id=4497
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7637
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/SDL_pixels.c
+--- a/src/video/SDL_pixels.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/SDL_pixels.c Sat Mar 16 19:16:24 2019 -0700
+@@ -286,26 +286,53 @@
+ }
+ }
+ /*
+- * Calculate the pad-aligned scanline width of a surface
++ * Calculate the pad-aligned scanline width of a surface. Return 0 in case of
++ * an error.
+ */
+ Uint16 SDL_CalculatePitch(SDL_Surface *surface)
+ {
+- Uint16 pitch;
++ unsigned int pitch = 0;
+
+ /* Surface should be 4-byte aligned for speed */
+- pitch = surface->w*surface->format->BytesPerPixel;
++ /* The code tries to prevent from an Uint16 overflow. */;
++ for (Uint8 byte = surface->format->BytesPerPixel; byte; byte--) {
++ pitch += (unsigned int)surface->w;
++ if (pitch < surface->w) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ }
+ switch (surface->format->BitsPerPixel) {
+ case 1:
+- pitch = (pitch+7)/8;
++ if (pitch % 8) {
++ pitch = pitch / 8 + 1;
++ } else {
++ pitch = pitch / 8;
++ }
+ break;
+ case 4:
+- pitch = (pitch+1)/2;
++ if (pitch % 2) {
++ pitch = pitch / 2 + 1;
++ } else {
++ pitch = pitch / 2;
++ }
+ break;
+ default:
+ break;
+ }
+- pitch = (pitch + 3) & ~3; /* 4-byte aligning */
+- return(pitch);
++ /* 4-byte aligning */
++ if (pitch & 3) {
++ if (pitch + 3 < pitch) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ pitch = (pitch + 3) & ~3;
++ }
++ if (pitch > 0xFFFF) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ return((Uint16)pitch);
+ }
+ /*
+ * Match an RGB value to a particular palette index
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/gapi/SDL_gapivideo.c
+--- a/src/video/gapi/SDL_gapivideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/gapi/SDL_gapivideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -733,6 +733,9 @@
+ video->w = gapi->w = width;
+ video->h = gapi->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Small fix for WinCE/Win32 - when activating window
+ SDL_VideoSurface is equal to zero, so activating code
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/nanox/SDL_nxvideo.c
+--- a/src/video/nanox/SDL_nxvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/nanox/SDL_nxvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -378,6 +378,10 @@
+ current -> w = width ;
+ current -> h = height ;
+ current -> pitch = SDL_CalculatePitch (current) ;
++ if (!current->pitch) {
++ current = NULL;
++ goto done;
++ }
+ NX_ResizeImage (this, current, flags) ;
+ }
+
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/ps2gs/SDL_gsvideo.c
+--- a/src/video/ps2gs/SDL_gsvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/ps2gs/SDL_gsvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -479,6 +479,9 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Memory map the DMA area for block memory transfer */
+ if ( ! mapped_mem ) {
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/ps3/SDL_ps3video.c
+--- a/src/video/ps3/SDL_ps3video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/ps3/SDL_ps3video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -339,6 +339,9 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Alloc aligned mem for current->pixels */
+ s_pixels = memalign(16, current->h * current->pitch);
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/windib/SDL_dibvideo.c
+--- a/src/video/windib/SDL_dibvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/windib/SDL_dibvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -675,6 +675,9 @@
+ video->w = width;
+ video->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Small fix for WinCE/Win32 - when activating window
+ SDL_VideoSurface is equal to zero, so activating code
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/windx5/SDL_dx5video.c
+--- a/src/video/windx5/SDL_dx5video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/windx5/SDL_dx5video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -1127,6 +1127,9 @@
+ video->w = width;
+ video->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ #ifndef NO_CHANGEDISPLAYSETTINGS
+ /* Set fullscreen mode if appropriate.
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/x11/SDL_x11video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -1225,6 +1225,10 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ current = NULL;
++ goto done;
++ }
+ if (X11_ResizeImage(this, current, flags) < 0) {
+ current = NULL;
+ goto done;
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch
new file mode 100644
index 00000000..dab9aaeb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch
@@ -0,0 +1,38 @@
+# HG changeset patch
+# User Sam Lantinga <slouken@libsdl.org>
+# Date 1550504903 28800
+# Mon Feb 18 07:48:23 2019 -0800
+# Branch SDL-1.2
+# Node ID 19d8c3b9c25143f71a34ff40ce1df91b4b3e3b78
+# Parent 8586f153eedec4c4e07066d6248ebdf67f10a229
+Fixed bug 4500 - Heap-Buffer Overflow in Map1toN pertaining to SDL_pixels.c
+
+Petr Pisar
+
+The reproducer has these data in BITMAPINFOHEADER:
+
+biSize = 40
+biBitCount = 8
+biClrUsed = 131075
+
+SDL_LoadBMP_RW() function passes biBitCount as a color depth to SDL_CreateRGBSurface(), thus 256-color pallete is allocated. But then biClrUsed colors are read from a file and stored into the palette. SDL_LoadBMP_RW should report an error if biClrUsed is greater than 2^biBitCount.
+
+CVE: CVE-2019-7638
+CVE: CVE-2019-7636
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 8586f153eede -r 19d8c3b9c251 src/video/SDL_bmp.c
+--- a/src/video/SDL_bmp.c Sun Jan 13 15:27:50 2019 +0100
++++ b/src/video/SDL_bmp.c Mon Feb 18 07:48:23 2019 -0800
+@@ -233,6 +233,10 @@
+ if ( palette ) {
+ if ( biClrUsed == 0 ) {
+ biClrUsed = 1 << biBitCount;
++ } else if ( biClrUsed > (1 << biBitCount) ) {
++ SDL_SetError("BMP file has an invalid number of colors");
++ was_error = SDL_TRUE;
++ goto done;
+ }
+ if ( biSize == 12 ) {
+ for ( i = 0; i < (int)biClrUsed; ++i ) {
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch
new file mode 100644
index 00000000..f98b9275
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch
@@ -0,0 +1,19 @@
+libX11-1.5.99.901 has changed prototype of _XData32
+
+Upstream-Status: Backport
+<http://bugzilla.libsdl.org/show_bug.cgi?id=1769>
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+
+diff -r b6b2829cd7ef src/video/x11/SDL_x11sym.h
+--- a/src/video/x11/SDL_x11sym.h Wed Feb 27 15:20:31 2013 -0800
++++ b/src/video/x11/SDL_x11sym.h Wed Mar 27 16:07:23 2013 +0100
+@@ -165,7 +165,7 @@
+ */
+ #ifdef LONG64
+ SDL_X11_MODULE(IO_32BIT)
+-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
+ SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
+ #endif
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch
new file mode 100644
index 00000000..913baa92
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch
@@ -0,0 +1,187 @@
+Rather than code which doesn't even work properly when cross compiling,
+lets just use pkg-config instead. Its a little simpler.
+
+RP 2014/6/20
+
+Upstream-Status: Pending
+
+Index: SDL-1.2.15/sdl.m4
+===================================================================
+--- SDL-1.2.15.orig/sdl.m4
++++ SDL-1.2.15/sdl.m4
+@@ -12,174 +12,8 @@ dnl Test for SDL, and define SDL_CFLAGS
+ dnl
+ AC_DEFUN([AM_PATH_SDL],
+ [dnl
+-dnl Get the cflags and libraries from the sdl-config script
+-dnl
+-AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
+- sdl_prefix="$withval", sdl_prefix="")
+-AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
+- sdl_exec_prefix="$withval", sdl_exec_prefix="")
+-AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
+- , enable_sdltest=yes)
+-
+- if test x$sdl_exec_prefix != x ; then
+- sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix"
+- if test x${SDL_CONFIG+set} != xset ; then
+- SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
+- fi
+- fi
+- if test x$sdl_prefix != x ; then
+- sdl_config_args="$sdl_config_args --prefix=$sdl_prefix"
+- if test x${SDL_CONFIG+set} != xset ; then
+- SDL_CONFIG=$sdl_prefix/bin/sdl-config
+- fi
+- fi
+-
+- as_save_PATH="$PATH"
+- if test "x$prefix" != xNONE; then
+- PATH="$prefix/bin:$prefix/usr/bin:$PATH"
+- fi
+- AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
+- PATH="$as_save_PATH"
+ min_sdl_version=ifelse([$1], ,0.11.0,$1)
+- AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
+- no_sdl=""
+- if test "$SDL_CONFIG" = "no" ; then
+- no_sdl=yes
+- else
+- SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags`
+- SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs`
+-
+- sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+- sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+- sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+- if test "x$enable_sdltest" = "xyes" ; then
+- ac_save_CFLAGS="$CFLAGS"
+- ac_save_CXXFLAGS="$CXXFLAGS"
+- ac_save_LIBS="$LIBS"
+- CFLAGS="$CFLAGS $SDL_CFLAGS"
+- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+- LIBS="$LIBS $SDL_LIBS"
+-dnl
+-dnl Now check if the installed SDL is sufficiently new. (Also sanity
+-dnl checks the results of sdl-config to some extent
+-dnl
+- rm -f conf.sdltest
+- AC_TRY_RUN([
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include "SDL.h"
+-
+-char*
+-my_strdup (char *str)
+-{
+- char *new_str;
+-
+- if (str)
+- {
+- new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
+- strcpy (new_str, str);
+- }
+- else
+- new_str = NULL;
+-
+- return new_str;
+-}
+-
+-int main (int argc, char *argv[])
+-{
+- int major, minor, micro;
+- char *tmp_version;
+-
+- /* This hangs on some systems (?)
+- system ("touch conf.sdltest");
+- */
+- { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
+-
+- /* HP/UX 9 (%@#!) writes to sscanf strings */
+- tmp_version = my_strdup("$min_sdl_version");
+- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+- printf("%s, bad version string\n", "$min_sdl_version");
+- exit(1);
+- }
+-
+- if (($sdl_major_version > major) ||
+- (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
+- (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
+- {
+- return 0;
+- }
+- else
+- {
+- printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
+- printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
+- printf("*** best to upgrade to the required version.\n");
+- printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
+- printf("*** to point to the correct copy of sdl-config, and remove the file\n");
+- printf("*** config.cache before re-running configure\n");
+- return 1;
+- }
+-}
+-
+-],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+- CFLAGS="$ac_save_CFLAGS"
+- CXXFLAGS="$ac_save_CXXFLAGS"
+- LIBS="$ac_save_LIBS"
+- fi
+- fi
+- if test "x$no_sdl" = x ; then
+- AC_MSG_RESULT(yes)
+- ifelse([$2], , :, [$2])
+- else
+- AC_MSG_RESULT(no)
+- if test "$SDL_CONFIG" = "no" ; then
+- echo "*** The sdl-config script installed by SDL could not be found"
+- echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
+- echo "*** your path, or set the SDL_CONFIG environment variable to the"
+- echo "*** full path to sdl-config."
+- else
+- if test -f conf.sdltest ; then
+- :
+- else
+- echo "*** Could not run SDL test program, checking why..."
+- CFLAGS="$CFLAGS $SDL_CFLAGS"
+- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+- LIBS="$LIBS $SDL_LIBS"
+- AC_TRY_LINK([
+-#include <stdio.h>
+-#include "SDL.h"
+-
+-int main(int argc, char *argv[])
+-{ return 0; }
+-#undef main
+-#define main K_and_R_C_main
+-], [ return 0; ],
+- [ echo "*** The test program compiled, but did not run. This usually means"
+- echo "*** that the run-time linker is not finding SDL or finding the wrong"
+- echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
+- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+- echo "*** to the installed location Also, make sure you have run ldconfig if that"
+- echo "*** is required on your system"
+- echo "***"
+- echo "*** If you have an old version installed, it is best to remove it, although"
+- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+- [ echo "*** The test program failed to compile or link. See the file config.log for the"
+- echo "*** exact error that occured. This usually means SDL was incorrectly installed"
+- echo "*** or that you have moved SDL since it was installed. In the latter case, you"
+- echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
+- CFLAGS="$ac_save_CFLAGS"
+- CXXFLAGS="$ac_save_CXXFLAGS"
+- LIBS="$ac_save_LIBS"
+- fi
+- fi
+- SDL_CFLAGS=""
+- SDL_LIBS=""
+- ifelse([$3], , :, [$3])
+- fi
++ PKG_CHECK_MODULES([SDL], [sdl >= $min_sdl_version])
+ AC_SUBST(SDL_CFLAGS)
+ AC_SUBST(SDL_LIBS)
+- rm -f conf.sdltest
+ ])
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb
deleted file mode 100644
index 6deb352e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Simple DirectMedia Layer image library v2"
-SECTION = "libs"
-
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=a855a9eb5507fc556e672080c4b428ca"
-
-DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp"
-
-SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz"
-SRC_URI[md5sum] = "c6baf6dfa80fa8a66853661a36a6034e"
-SRC_URI[sha256sum] = "3510c25da735ffcd8ce3b65073150ff4f7f9493b866e85b83738083b556d2368"
-
-S = "${WORKDIR}/SDL2_image-${PV}"
-
-inherit autotools pkgconfig
-
-# Disable the run-time loading of the libs and bring back the soname dependencies.
-EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared"
-
-do_configure_prepend() {
- # make autoreconf happy
- touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog
- # Removing these files fixes a libtool version mismatch.
- rm -f ${S}/acinclude/libtool.m4
- rm -f ${S}/acinclude/sdl2.m4
- rm -f ${S}/acinclude/pkg.m4
- rm -f ${S}/acinclude/lt~obsolete.m4
- rm -f ${S}/acinclude/ltoptions.m4
- rm -f ${S}/acinclude/ltsugar.m4
- rm -f ${S}/acinclude/ltversion.m4
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
new file mode 100644
index 00000000..0a346bd9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Simple DirectMedia Layer image library v2"
+SECTION = "libs"
+
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=822edb694b20ff16ceef85b27f61c11f"
+
+DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp"
+
+SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz"
+SRC_URI[md5sum] = "f26f3a153360a8f09ed5220ef7b07aea"
+SRC_URI[sha256sum] = "bdd5f6e026682f7d7e1be0b6051b209da2f402a2dd8bd1c4bd9c25ad263108d0"
+
+S = "${WORKDIR}/SDL2_image-${PV}"
+
+inherit autotools pkgconfig
+
+# Disable the run-time loading of the libs and bring back the soname dependencies.
+EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared"
+
+do_configure_prepend() {
+ # make autoreconf happy
+ touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog
+ # Removing these files fixes a libtool version mismatch.
+ rm -f ${S}/acinclude/libtool.m4
+ rm -f ${S}/acinclude/sdl2.m4
+ rm -f ${S}/acinclude/pkg.m4
+ rm -f ${S}/acinclude/lt~obsolete.m4
+ rm -f ${S}/acinclude/ltoptions.m4
+ rm -f ${S}/acinclude/ltsugar.m4
+ rm -f ${S}/acinclude/ltversion.m4
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb
deleted file mode 100644
index 718f3f5f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Simple DirectMedia Layer mixer library V2"
-SECTION = "libs"
-DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=95e0c3cf63f71b950911e698a54b7fc5"
-
-SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "aaa0551393993c14a13f72b339c0ed6c"
-SRC_URI[sha256sum] = "4e615e27efca4f439df9af6aa2c6de84150d17cbfd12174b54868c12f19c83bb"
-
-S = "${WORKDIR}/SDL2_mixer-${PV}"
-
-inherit autotools-brokensep pkgconfig
-
-EXTRA_AUTORECONF += "--include=acinclude"
-EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
-
-PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad"
-
-do_configure_prepend () {
- # Remove old libtool macros.
- MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
- for i in ${MACROS}; do
- rm -f acinclude/$i
- done
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
new file mode 100644
index 00000000..aa246f99
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Simple DirectMedia Layer mixer library V2"
+SECTION = "libs"
+DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=516daf7a177ad4c8874bb9efa1a69c1f"
+
+SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "a36e8410cac46b00a4d01752b32c3eb1"
+SRC_URI[sha256sum] = "b4cf5a382c061cd75081cf246c2aa2f9df8db04bdda8dcdc6b6cca55bede2419"
+
+S = "${WORKDIR}/SDL2_mixer-${PV}"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_AUTORECONF += "--include=acinclude"
+EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
+
+PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad"
+
+do_configure_prepend () {
+ # Remove old libtool macros.
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f acinclude/$i
+ done
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch
deleted file mode 100644
index 1dfbec6e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e6d2c0e130811c15b5f5cc10221fae182cb8609e Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 22 May 2014 10:59:33 +0100
-Subject: [PATCH] freetype-config was removed from oe-core in
-
-commit 5870bd272b0b077d0826fb900b251884c1c05061
-
- binconfig-disabled: Add class and use
-
----
- configure.in | 38 +++++---------------------------------
- 1 file changed, 5 insertions(+), 33 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 9b36e15..f300cae 100644
---- a/configure.in
-+++ b/configure.in
-@@ -86,39 +86,11 @@ case "$host" in
- esac
- AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
-
--dnl Check for the FreeType 2 library
--dnl
--dnl Get the cflags and libraries from the freetype-config script
--dnl
--AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is
--installed (optional)],
-- freetype_prefix="$withval", freetype_prefix="")
--AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix
--where FREETYPE is installed (optional)],
-- freetype_exec_prefix="$withval", freetype_exec_prefix="")
--
--if test x$freetype_exec_prefix != x ; then
-- freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix"
-- if test x${FREETYPE_CONFIG+set} != xset ; then
-- FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config
-- fi
--fi
--if test x$freetype_prefix != x ; then
-- freetype_args="$freetype_args --prefix=$freetype_prefix"
-- if test x${FREETYPE_CONFIG+set} != xset ; then
-- FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config
-- fi
--fi
--AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
--no_freetype=""
--if test "$FREETYPE_CONFIG" = "no" ; then
-- AC_MSG_ERROR([
--*** Unable to find FreeType2 library (http://www.freetype.org/)
--])
--else
-- CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`"
-- LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`"
--fi
-+PKG_CHECK_MODULES(FREETYPE2, freetype2,
-+ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
-+ LIBS="$LIBS $FREETYPE2_LIBS",
-+ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
-+)
-
- dnl Check for SDL
- SDL_VERSION=2.0.0
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb
deleted file mode 100644
index 4601593a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Simple DirectMedia Layer truetype font library"
-SECTION = "libs"
-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 pkgconfig distro_features_check
-
-# 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"
-
- for i in ${MACROS}; do
- rm -f ${S}/acinclude/$i
- done
-}
-ASNEEDED = ""
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb
new file mode 100644
index 00000000..7d896cf0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Simple DirectMedia Layer truetype font library"
+SECTION = "libs"
+DEPENDS = "virtual/libsdl2 freetype virtual/libgl"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=4bb27d550fdafcd8f8e4fb8cbb2775ef"
+
+SRC_URI = " \
+ http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${PV}.tar.gz \
+ file://automake_foreign.patch \
+"
+SRC_URI[md5sum] = "04fe06ff7623d7bdcb704e82f5f88391"
+SRC_URI[sha256sum] = "a9eceb1ad88c1f1545cd7bd28e7cbc0b2c14191d40238f531a15b01b1b22cd33"
+
+S = "${WORKDIR}/SDL2_ttf-${PV}"
+
+inherit autotools pkgconfig features_check
+
+# 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"
+
+ for i in ${MACROS}; do
+ rm -f ${S}/acinclude/$i
+ done
+}
+ASNEEDED = ""
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
new file mode 100644
index 00000000..7a019083
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -0,0 +1,83 @@
+SUMMARY = "Simple DirectMedia Layer"
+DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \
+library designed to provide low level access to audio, keyboard, mouse, \
+joystick, 3D hardware via OpenGL, and 2D video framebuffer."
+HOMEPAGE = "http://www.libsdl.org"
+BUGTRACKER = "http://bugzilla.libsdl.org/"
+
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4"
+
+PROVIDES = "virtual/libsdl"
+
+PR = "r3"
+
+SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
+ file://libsdl-1.2.15-xdata32.patch \
+ file://pkgconfig.patch \
+ file://0001-build-Pass-tag-CC-explictly-when-using-libtool.patch \
+ file://CVE-2019-7577.patch \
+ file://CVE-2019-7574.patch \
+ file://CVE-2019-7572.patch \
+ file://CVE-2019-7578.patch \
+ file://CVE-2019-7575.patch \
+ file://CVE-2019-7635.patch \
+ file://CVE-2019-7637.patch \
+ file://CVE-2019-7638.patch \
+ file://CVE-2019-7576.patch \
+ "
+
+UPSTREAM_CHECK_REGEX = "SDL-(?P<pver>\d+(\.\d+)+)\.tar"
+
+S = "${WORKDIR}/SDL-${PV}"
+
+SRC_URI[md5sum] = "9d96df8417572a2afb781a7c4c811a85"
+SRC_URI[sha256sum] = "d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00"
+
+BINCONFIG = "${bindir}/sdl-config"
+
+inherit autotools lib_package binconfig-disabled pkgconfig
+
+CVE_PRODUCT = "simple_directmedia_layer sdl"
+
+EXTRA_OECONF = "--disable-static --enable-cdrom --enable-threads --enable-timers \
+ --enable-file --disable-oss --disable-esd --disable-arts \
+ --disable-diskaudio --disable-nas \
+ --disable-mintaudio --disable-nasm --disable-video-dga \
+ --disable-video-fbcon --disable-video-ps2gs --disable-video-ps3 \
+ --disable-xbios --disable-gem --disable-video-dummy \
+ --enable-input-events --enable-pthreads \
+ --disable-video-svga \
+ --disable-video-picogui --disable-video-qtopia --enable-sdl-dlopen \
+ --disable-rpath"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}"
+PACKAGECONFIG_class-native = "x11"
+PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
+PACKAGECONFIG[tslib] = "--enable-input-tslib, --disable-input-tslib, tslib"
+PACKAGECONFIG[directfb] = "--enable-video-directfb, --disable-video-directfb, directfb"
+PACKAGECONFIG[opengl] = "--enable-video-opengl, --disable-video-opengl, virtual/libgl libglu"
+PACKAGECONFIG[x11] = "--enable-video-x11 --disable-x11-shared, --disable-video-x11, virtual/libx11 libxext libxrandr libxrender"
+
+# The following two options should only enabled with mingw support
+PACKAGECONFIG[stdio-redirect] = "--enable-stdio-redirect,--disable-stdio-redirect"
+PACKAGECONFIG[directx] = "--enable-directx,--disable-directx"
+
+EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
+
+do_configure_prepend() {
+ # Remove old libtool macros.
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f ${S}/acinclude/$i
+ done
+ export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
deleted file mode 100644
index 38dac06e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "library for easy implementation of a RDP/VNC server"
-HOMEPAGE = "https://libvnc.github.io"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
-
-DEPENDS += "zlib libsdl jpeg libpng gtk+ libgcrypt nettle gnutls gmp"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
-PACKAGECONFIG[systemd] = ",,systemd"
-
-RDEPENDS_${PN} += "libpng gtk+ libgcrypt"
-
-inherit distro_features_check autotools binconfig pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${PV}.tar.gz"
-SRC_URI[md5sum] = "7f06104d5c009813e95142932c4ddb06"
-SRC_URI[sha256sum] = "193d630372722a532136fd25c5326b2ca1a636cbb8bf9bb115ef869c804d2894"
-
-S = "${WORKDIR}/${BPN}-LibVNCServer-${PV}"
-
-TARGET_LDFLAGS += "-lgcrypt"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
new file mode 100644
index 00000000..dfdf8245
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
@@ -0,0 +1,53 @@
+DESCRIPTION = "library for easy implementation of a RDP/VNC server"
+HOMEPAGE = "https://libvnc.github.io"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+PACKAGECONFIG ??= " \
+ 24bpp \
+ filetransfer \
+ ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST','commercial','ffmpeg','',d)} \
+ gcrypt \
+ gnutls \
+ jpeg \
+ lzo \
+ png \
+ pthread \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '',d)} \
+ sdl \
+ websockets \
+ zlib \
+"
+
+PACKAGECONFIG[24bpp] = "-DWITH_24BPP=ON,-DWITH_24BPP=OFF,"
+PACKAGECONFIG[filetransfer] = "-DWITH_TIGHTVNC_FILETRANSFER=ON,-DWITH_TIGHTVNC_FILETRANSFER=OFF,"
+PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,ffmpeg"
+PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
+PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
+PACKAGECONFIG[ipv6] = "-DWITH_IPv6=ON,-DWITH_IPv6=OFF,"
+PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
+PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
+PACKAGECONFIG[pthread] = "-DWITH_THREADS=ON,-DWITH_THREADS=OFF,"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[sasl] = "-DWITH_SASL=ON,-DWITH_SASL=OFF,cyrus-sasl"
+PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
+PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+
+PACKAGE_BEFORE_PN = "libvncclient"
+FILES_libvncclient = "${libdir}/libvncclient.*"
+
+inherit cmake
+
+SRC_URI = "git://github.com/LibVNC/libvncserver"
+SRCREV = "1354f7f1bb6962dab209eddb9d6aac1f03408110"
+PV .= "+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DMAKE_INSTALL_LIBDIR=${libdir}"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
deleted file mode 100644
index 6d4bdc2a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 0acfb67f99fd8d6af323311fee8c08116295b148 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 18:21:19 -0700
-Subject: [PATCH 1/2] Use override consistently
-
-Make clang++ happy
-error: 'setApplicationTitle' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-over ride]
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/NCApplication.h | 46 ++++++++++++++++++++++-----------------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/src/NCApplication.h b/src/NCApplication.h
-index e24c3eb..09e4708 100644
---- a/src/NCApplication.h
-+++ b/src/NCApplication.h
-@@ -60,7 +60,7 @@ public:
- * Reimplemented from YApplication.
- **/
- virtual void setLanguage( const std::string & language,
-- const std::string & encoding = std::string() );
-+ const std::string & encoding = std::string() ) override;
-
- /**
- * Open a directory selection box and prompt the user for an existing
-@@ -77,7 +77,7 @@ public:
- * Implemented from YApplication.
- **/
- virtual std::string askForExistingDirectory( const std::string & startDir,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Open a file selection box and prompt the user for an existing file.
-@@ -97,7 +97,7 @@ public:
- **/
- virtual std::string askForExistingFile( const std::string & startWith,
- const std::string & filter,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Open a file selection box and prompt the user for a file to save data
-@@ -119,28 +119,28 @@ public:
- **/
- virtual std::string askForSaveFileName( const std::string & startWith,
- const std::string & filter,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Beep.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void beep();
-+ virtual void beep() override;
-
- /**
- * Redraw the screen.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void redrawScreen();
-+ virtual void redrawScreen() override;
-
- /**
- * Initialize the (text) console keyboard.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void initConsoleKeyboard();
-+ virtual void initConsoleKeyboard() override;
-
- /**
- * Set the (text) console font according to the current encoding etc.
-@@ -152,7 +152,7 @@ public:
- const std::string & font,
- const std::string & screen_map,
- const std::string & unicode_map,
-- const std::string & language );
-+ const std::string & language ) override;
-
- /**
- * Run a shell command (typically an interactive program using NCurses)
-@@ -165,7 +165,7 @@ public:
- *
- * Reimplemented from YApplication.
- **/
-- virtual int runInTerminal( const std::string & command );
-+ virtual int runInTerminal( const std::string & command ) override;
-
-
- /// @{
-@@ -183,33 +183,33 @@ public:
- //
- // All implemented from YApplication.
-
-- virtual int displayWidth();
-- virtual int displayHeight();
-- virtual int displayDepth();
-- virtual long displayColors();
-+ virtual int displayWidth() override;
-+ virtual int displayHeight() override;
-+ virtual int displayDepth() override;
-+ virtual long displayColors() override;
-
-- virtual int defaultWidth();
-- virtual int defaultHeight();
-+ virtual int defaultWidth() override;
-+ virtual int defaultHeight() override;
-
-- virtual bool isTextMode() { return true; }
-+ virtual bool isTextMode() override { return true; }
-
-- virtual bool hasImageSupport() { return false; }
-+ virtual bool hasImageSupport() override { return false; }
-
-- virtual bool hasIconSupport() { return false; }
-+ virtual bool hasIconSupport() override { return false; }
-
-- virtual bool hasAnimationSupport() { return false; }
-+ virtual bool hasAnimationSupport() override { return false; }
-
-- virtual bool hasFullUtf8Support();
-- virtual bool richTextSupportsTable() { return false; }
-+ virtual bool hasFullUtf8Support() override;
-+ virtual bool richTextSupportsTable() override { return false; }
-
-- virtual bool leftHandedMouse() { return false; }
-+ virtual bool leftHandedMouse() override { return false; }
-
- /**
- * Set the application title
- *
- * Reimplemented from YApplication.
- **/
-- virtual void setApplicationTitle(const std::string& title);
-+ virtual void setApplicationTitle(const std::string& title) override;
- };
-
-
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
deleted file mode 100644
index f65cbe66..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 162a0899f1dacd83007c4e82b9034f55610d8c20 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 19:01:51 -0700
-Subject: [PATCH 2/2] Define own resize in NCPad and fix param type of
- SetLabel()
-
-Explicitly override resize() to avoid conflicts from NCursesWindow
-definition since there is another resize definition as well
-
-Fixes
-src/NCPad.h:164:18: error: 'NCPad::resize' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
-
-NCTablePad.h:132:18: error: 'NCTableTag::SetLabel' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/NCPad.h | 1 +
- src/NCTablePad.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/NCPad.h b/src/NCPad.h
-index 328c4aa..d8fb324 100644
---- a/src/NCPad.h
-+++ b/src/NCPad.h
-@@ -162,6 +162,7 @@ public:
- virtual void Destwin( NCursesWindow * dwin );
-
- virtual void resize( wsze nsze );
-+ virtual int resize( int lines, int columns ) { return NCursesWindow::resize(lines, columns );}
- virtual void wRecoded();
- virtual void setDirty() { dirty = true; }
-
-diff --git a/src/NCTablePad.h b/src/NCTablePad.h
-index c450529..3756796 100644
---- a/src/NCTablePad.h
-+++ b/src/NCTablePad.h
-@@ -129,7 +129,7 @@ public:
-
- virtual ~NCTableTag() {}
-
-- virtual void SetLabel( const NCstring & ) { /*NOOP*/; }
-+ virtual void SetLabel( const NClabel & ) { /*NOOP*/; }
-
- virtual void DrawAt( NCursesWindow & w, const wrect at,
- NCTableStyle & tableStyle,
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
new file mode 100644
index 00000000..1a376a46
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Character Based User Interface for libyui"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
+ file://0003-Simplify-ncurses-finding-module.patch \
+ "
+
+SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
+
+SRCREV = "d5b64b6291b6f292871ad5c6df25c4f6896f7d50"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost libyui ncurses"
+
+BBCLASSEXTEND = "nativesdk"
+
+do_configure_prepend () {
+ cd ${S}
+ git checkout bootstrap.sh
+ sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
+ ./bootstrap.sh
+ if [ -e ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so ]; then
+ mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ fi
+ cd -
+ sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
+ sed -i -e "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
+}
+
+do_install_append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN} += "${datadir}/*"
+
+FILES_${PN}-dev += "${libdir}/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
deleted file mode 100644
index 18ea2e82..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Character Based User Interface for libyui"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
-"
-
-SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
- file://0001-Use-override-consistently.patch \
- file://0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch \
- file://0003-Simplify-ncurses-finding-module.patch \
- "
-
-SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
-
-PV = "2.48.3+git${SRCPV}"
-SRCREV = "c941b32246e8b2952fce4fd5743f8e318222ab98"
-
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig
-
-DEPENDS += "boost libyui ncurses"
-
-BBCLASSEXTEND = "nativesdk"
-
-do_configure_prepend () {
- cd ${S}
- git checkout bootstrap.sh
- sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
- ./bootstrap.sh
- mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
- cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
- cd -
- sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
- sed -i -e "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
-}
-
-do_install_append () {
- if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
- mv ${D}/usr/lib64 ${D}/usr/lib
- fi
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}/${base_prefix}
- mv ${D}/usr ${D}/${base_prefix}
-}
-
-FILES_${PN} += "${datadir}/*"
-
-FILES_${PN}-dev += "${libdir}/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
index 42690181..b03723ac 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
@@ -65,8 +65,6 @@ Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/123]
src/YWizard.h | 2 +-
47 files changed, 48 insertions(+), 48 deletions(-)
-diff --git a/src/YAlignment.h b/src/YAlignment.h
-index d716c77..7276944 100644
--- a/src/YAlignment.h
+++ b/src/YAlignment.h
@@ -28,7 +28,7 @@
@@ -78,8 +76,6 @@ index d716c77..7276944 100644
/**
* Implementation of all the alignment widgets:
-diff --git a/src/YBarGraph.h b/src/YBarGraph.h
-index 29f7f26..d7eaad2 100644
--- a/src/YBarGraph.h
+++ b/src/YBarGraph.h
@@ -29,7 +29,7 @@
@@ -91,8 +87,6 @@ index 29f7f26..d7eaad2 100644
class YBarGraphSegment;
/**
-diff --git a/src/YBusyIndicator.h b/src/YBusyIndicator.h
-index 9530fa5..75297d8 100644
--- a/src/YBusyIndicator.h
+++ b/src/YBusyIndicator.h
@@ -27,7 +27,7 @@
@@ -104,8 +98,6 @@ index 9530fa5..75297d8 100644
/**
-diff --git a/src/YButtonBox.h b/src/YButtonBox.h
-index 84f8dbb..ca51f57 100644
--- a/src/YButtonBox.h
+++ b/src/YButtonBox.h
@@ -30,7 +30,7 @@
@@ -126,8 +118,6 @@ index 84f8dbb..ca51f57 100644
protected:
/**
-diff --git a/src/YCheckBox.h b/src/YCheckBox.h
-index 793cc77..03f3faa 100644
--- a/src/YCheckBox.h
+++ b/src/YCheckBox.h
@@ -30,7 +30,7 @@
@@ -139,8 +129,6 @@ index 793cc77..03f3faa 100644
enum YCheckBoxState
{
-diff --git a/src/YCheckBoxFrame.h b/src/YCheckBoxFrame.h
-index 243f1a0..7017110 100644
--- a/src/YCheckBoxFrame.h
+++ b/src/YCheckBoxFrame.h
@@ -29,7 +29,7 @@
@@ -152,8 +140,6 @@ index 243f1a0..7017110 100644
/**
-diff --git a/src/YComboBox.h b/src/YComboBox.h
-index 416359a..ad0e550 100644
--- a/src/YComboBox.h
+++ b/src/YComboBox.h
@@ -27,7 +27,7 @@
@@ -165,8 +151,6 @@ index 416359a..ad0e550 100644
/**
-diff --git a/src/YCommandLine.h b/src/YCommandLine.h
-index 70cb4fe..f344a3b 100644
--- a/src/YCommandLine.h
+++ b/src/YCommandLine.h
@@ -28,7 +28,7 @@
@@ -178,8 +162,6 @@ index 70cb4fe..f344a3b 100644
/**
-diff --git a/src/YContextMenu.h b/src/YContextMenu.h
-index a4acb1c..1253002 100644
--- a/src/YContextMenu.h
+++ b/src/YContextMenu.h
@@ -29,7 +29,7 @@
@@ -191,8 +173,6 @@ index a4acb1c..1253002 100644
/**
-diff --git a/src/YDateField.h b/src/YDateField.h
-index e5a468d..6164fba 100644
--- a/src/YDateField.h
+++ b/src/YDateField.h
@@ -27,7 +27,7 @@
@@ -204,8 +184,6 @@ index e5a468d..6164fba 100644
/**
* Input field for entering a date.
-diff --git a/src/YDialog.h b/src/YDialog.h
-index 66c25c0..371209b 100644
--- a/src/YDialog.h
+++ b/src/YDialog.h
@@ -32,7 +32,7 @@
@@ -217,8 +195,6 @@ index 66c25c0..371209b 100644
class YEvent;
class YEventFilter;
-diff --git a/src/YDownloadProgress.h b/src/YDownloadProgress.h
-index c47ec4f..fe09a9d 100644
--- a/src/YDownloadProgress.h
+++ b/src/YDownloadProgress.h
@@ -28,7 +28,7 @@
@@ -230,8 +206,6 @@ index c47ec4f..fe09a9d 100644
/**
* DownloadProgress: A progress bar that monitors downloading a file by
-diff --git a/src/YDumbTab.h b/src/YDumbTab.h
-index aec17a3..f8fb250 100644
--- a/src/YDumbTab.h
+++ b/src/YDumbTab.h
@@ -27,7 +27,7 @@
@@ -243,8 +217,6 @@ index aec17a3..f8fb250 100644
/**
* DumbTab: A very simple tab widget that can display and switch between a
-diff --git a/src/YEmpty.h b/src/YEmpty.h
-index 9a3cb36..9b88fbc 100644
--- a/src/YEmpty.h
+++ b/src/YEmpty.h
@@ -29,7 +29,7 @@
@@ -256,8 +228,6 @@ index 9a3cb36..9b88fbc 100644
/**
* A widget with zero size, useful as a placeholder.
-diff --git a/src/YEventFilter.h b/src/YEventFilter.h
-index 3dc1803..74aa62d 100644
--- a/src/YEventFilter.h
+++ b/src/YEventFilter.h
@@ -32,7 +32,7 @@
@@ -269,8 +239,6 @@ index 3dc1803..74aa62d 100644
/**
-diff --git a/src/YFrame.h b/src/YFrame.h
-index 111e8ec..4f8c61e 100644
--- a/src/YFrame.h
+++ b/src/YFrame.h
@@ -29,7 +29,7 @@
@@ -282,8 +250,6 @@ index 111e8ec..4f8c61e 100644
/**
-diff --git a/src/YGraph.h b/src/YGraph.h
-index d90d1ae..287d800 100644
--- a/src/YGraph.h
+++ b/src/YGraph.h
@@ -37,7 +37,7 @@
@@ -295,8 +261,6 @@ index d90d1ae..287d800 100644
/**
* A graph with nodes and edges, rendered with Graphviz.
-diff --git a/src/YImage.h b/src/YImage.h
-index 17bea21..84eb674 100644
--- a/src/YImage.h
+++ b/src/YImage.h
@@ -29,7 +29,7 @@
@@ -308,8 +272,6 @@ index 17bea21..84eb674 100644
/**
* A picture, possibly animated, loaded from a file.
-diff --git a/src/YInputField.h b/src/YInputField.h
-index 70641ce..fa29b42 100644
--- a/src/YInputField.h
+++ b/src/YInputField.h
@@ -28,7 +28,7 @@
@@ -321,8 +283,6 @@ index 70641ce..fa29b42 100644
-diff --git a/src/YIntField.h b/src/YIntField.h
-index 9da0537..8ad2949 100644
--- a/src/YIntField.h
+++ b/src/YIntField.h
@@ -27,7 +27,7 @@
@@ -334,8 +294,6 @@ index 9da0537..8ad2949 100644
-diff --git a/src/YLabel.h b/src/YLabel.h
-index d2fff61..bf06d8b 100644
--- a/src/YLabel.h
+++ b/src/YLabel.h
@@ -30,7 +30,7 @@
@@ -347,8 +305,6 @@ index d2fff61..bf06d8b 100644
/**
* Implementation of the Label, Heading and OutputField widgets
-diff --git a/src/YLayoutBox.h b/src/YLayoutBox.h
-index e652a45..070eaff 100644
--- a/src/YLayoutBox.h
+++ b/src/YLayoutBox.h
@@ -29,7 +29,7 @@
@@ -360,8 +316,6 @@ index e652a45..070eaff 100644
/**
* A vertical or horizontal stacking of widgets, implementing HBox and VBox.
-diff --git a/src/YLogView.h b/src/YLogView.h
-index 53fb9ee..5b44229 100644
--- a/src/YLogView.h
+++ b/src/YLogView.h
@@ -27,7 +27,7 @@
@@ -373,8 +327,6 @@ index 53fb9ee..5b44229 100644
/**
-diff --git a/src/YMenuButton.h b/src/YMenuButton.h
-index 205e730..5df7efb 100644
--- a/src/YMenuButton.h
+++ b/src/YMenuButton.h
@@ -29,7 +29,7 @@
@@ -386,8 +338,6 @@ index 205e730..5df7efb 100644
/**
-diff --git a/src/YMultiLineEdit.h b/src/YMultiLineEdit.h
-index c52a6ae..1f792f8 100644
--- a/src/YMultiLineEdit.h
+++ b/src/YMultiLineEdit.h
@@ -27,7 +27,7 @@
@@ -399,8 +349,6 @@ index c52a6ae..1f792f8 100644
/**
* A multi-line plain-text area
-diff --git a/src/YMultiProgressMeter.h b/src/YMultiProgressMeter.h
-index 57c758d..f6bec91 100644
--- a/src/YMultiProgressMeter.h
+++ b/src/YMultiProgressMeter.h
@@ -28,7 +28,7 @@
@@ -412,8 +360,6 @@ index 57c758d..f6bec91 100644
/**
-diff --git a/src/YMultiSelectionBox.h b/src/YMultiSelectionBox.h
-index bbe5a20..f3a2947 100644
--- a/src/YMultiSelectionBox.h
+++ b/src/YMultiSelectionBox.h
@@ -27,7 +27,7 @@
@@ -425,8 +371,6 @@ index bbe5a20..f3a2947 100644
/**
-diff --git a/src/YPartitionSplitter.h b/src/YPartitionSplitter.h
-index 2839bbc..9de1174 100644
--- a/src/YPartitionSplitter.h
+++ b/src/YPartitionSplitter.h
@@ -28,7 +28,7 @@
@@ -438,8 +382,6 @@ index 2839bbc..9de1174 100644
/**
-diff --git a/src/YProgressBar.h b/src/YProgressBar.h
-index 718352f..baab662 100644
--- a/src/YProgressBar.h
+++ b/src/YProgressBar.h
@@ -27,7 +27,7 @@
@@ -451,8 +393,6 @@ index 718352f..baab662 100644
/**
-diff --git a/src/YPushButton.h b/src/YPushButton.h
-index 5b65c98..e288252 100644
--- a/src/YPushButton.h
+++ b/src/YPushButton.h
@@ -27,7 +27,7 @@
@@ -464,8 +404,6 @@ index 5b65c98..e288252 100644
-diff --git a/src/YRadioButton.h b/src/YRadioButton.h
-index 9dc62de..5a7c0dd 100644
--- a/src/YRadioButton.h
+++ b/src/YRadioButton.h
@@ -28,7 +28,7 @@
@@ -477,8 +415,6 @@ index 9dc62de..5a7c0dd 100644
/**
-diff --git a/src/YRadioButtonGroup.h b/src/YRadioButtonGroup.h
-index 063a52e..671a257 100644
--- a/src/YRadioButtonGroup.h
+++ b/src/YRadioButtonGroup.h
@@ -28,7 +28,7 @@
@@ -490,8 +426,6 @@ index 063a52e..671a257 100644
typedef std::list<YRadioButton *> YRadioButtonList;
typedef YRadioButtonList::iterator YRadioButtonListIterator;
-diff --git a/src/YRichText.h b/src/YRichText.h
-index 149bfb3..86b3f80 100644
--- a/src/YRichText.h
+++ b/src/YRichText.h
@@ -30,7 +30,7 @@
@@ -503,8 +437,6 @@ index 149bfb3..86b3f80 100644
/**
-diff --git a/src/YSelectionBox.h b/src/YSelectionBox.h
-index 7fc4fb8..9bbf9f3 100644
--- a/src/YSelectionBox.h
+++ b/src/YSelectionBox.h
@@ -27,7 +27,7 @@
@@ -516,8 +448,6 @@ index 7fc4fb8..9bbf9f3 100644
/**
-diff --git a/src/YSelectionWidget.h b/src/YSelectionWidget.h
-index abbdfb4..cf05afd 100644
--- a/src/YSelectionWidget.h
+++ b/src/YSelectionWidget.h
@@ -29,7 +29,7 @@
@@ -529,8 +459,6 @@ index abbdfb4..cf05afd 100644
/**
* Base class for various kinds of multi-value widgets.
-diff --git a/src/YSimpleInputField.h b/src/YSimpleInputField.h
-index 6d926d4..b93fe6b 100644
--- a/src/YSimpleInputField.h
+++ b/src/YSimpleInputField.h
@@ -27,7 +27,7 @@
@@ -542,8 +470,6 @@ index 6d926d4..b93fe6b 100644
/**
-diff --git a/src/YSlider.h b/src/YSlider.h
-index d29f6b8..4bcd7d3 100644
--- a/src/YSlider.h
+++ b/src/YSlider.h
@@ -27,7 +27,7 @@
@@ -555,8 +481,6 @@ index d29f6b8..4bcd7d3 100644
/**
-diff --git a/src/YSpacing.h b/src/YSpacing.h
-index e8aafd3..066cd68 100644
--- a/src/YSpacing.h
+++ b/src/YSpacing.h
@@ -28,7 +28,7 @@
@@ -568,8 +492,6 @@ index e8aafd3..066cd68 100644
/**
-diff --git a/src/YSquash.h b/src/YSquash.h
-index 4bd0fb6..3804cc4 100644
--- a/src/YSquash.h
+++ b/src/YSquash.h
@@ -29,7 +29,7 @@
@@ -581,8 +503,6 @@ index 4bd0fb6..3804cc4 100644
/**
* HSquash, VSquash HVSquash: reduce child to its preferred size.
-diff --git a/src/YTable.h b/src/YTable.h
-index 6694f10..469b8ca 100644
--- a/src/YTable.h
+++ b/src/YTable.h
@@ -30,7 +30,7 @@
@@ -594,8 +514,6 @@ index 6694f10..469b8ca 100644
-diff --git a/src/YTableHeader.h b/src/YTableHeader.h
-index 70166c2..4ae99b4 100644
--- a/src/YTableHeader.h
+++ b/src/YTableHeader.h
@@ -31,7 +31,7 @@
@@ -607,8 +525,6 @@ index 70166c2..4ae99b4 100644
/**
* Helper class for YTable for table column properties:
-diff --git a/src/YTimeField.h b/src/YTimeField.h
-index ab2f9a3..f3a7b94 100644
--- a/src/YTimeField.h
+++ b/src/YTimeField.h
@@ -27,7 +27,7 @@
@@ -620,8 +536,6 @@ index ab2f9a3..f3a7b94 100644
/**
-diff --git a/src/YTimezoneSelector.cc b/src/YTimezoneSelector.cc
-index 9259b64..e2f9b6f 100644
--- a/src/YTimezoneSelector.cc
+++ b/src/YTimezoneSelector.cc
@@ -32,7 +32,7 @@
@@ -633,8 +547,6 @@ index 9259b64..e2f9b6f 100644
};
-diff --git a/src/YTree.h b/src/YTree.h
-index 14fa279..70e1364 100644
--- a/src/YTree.h
+++ b/src/YTree.h
@@ -28,7 +28,7 @@
@@ -646,8 +558,6 @@ index 14fa279..70e1364 100644
/**
-diff --git a/src/YUILog.h b/src/YUILog.h
-index 0890bc5..4a927a7 100644
--- a/src/YUILog.h
+++ b/src/YUILog.h
@@ -64,7 +64,7 @@
@@ -659,11 +569,9 @@ index 0890bc5..4a927a7 100644
enum YUILogLevel_t
{
-diff --git a/src/YWidget.h b/src/YWidget.h
-index 5b285d0..636a41b 100644
--- a/src/YWidget.h
+++ b/src/YWidget.h
-@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget> YWidgetChildrenManager;
+@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget> YWidge
typedef YSingleChildManager<YWidget> YSingleWidgetChildManager;
typedef YChildrenRejector<YWidget> YWidgetChildrenRejector;
@@ -672,8 +580,6 @@ index 5b285d0..636a41b 100644
/**
-diff --git a/src/YWizard.h b/src/YWizard.h
-index 7671cbf..975b597 100644
--- a/src/YWizard.h
+++ b/src/YWizard.h
@@ -28,7 +28,7 @@
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
deleted file mode 100644
index dbe24170..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4eed37b1a61458fc8e5251f7cb7c6d64e8e9da8d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 17:48:09 -0700
-Subject: [PATCH] Use curly braces for MAKE variable
-
-Fixes errors with ninja
-| ninja: error: build.ninja:142: bad $-escape (literal $ must be written as $$)
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/137]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- buildtools/LibyuiCommon.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/buildtools/LibyuiCommon.cmake b/buildtools/LibyuiCommon.cmake
-index cb93307..e6fbefd 100644
---- a/buildtools/LibyuiCommon.cmake
-+++ b/buildtools/LibyuiCommon.cmake
-@@ -122,8 +122,8 @@ MACRO( SET_BUILD_FLAGS ) # setup compiler-flags depending on CMAKE_BUILD_TYPE
- ENABLE_TESTING()
- # add a wrapper "tests" target, the builtin "test" cannot be extended :-(
- ADD_CUSTOM_TARGET(tests
-- $(MAKE)
-- COMMAND $(MAKE) test
-+ ${MAKE}
-+ COMMAND ${MAKE} test
- )
- ENDIF ( ENABLE_TESTS OR ENABLE_CODE_COVERAGE)
-
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
new file mode 100644
index 00000000..7c6f4c13
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+SRC_URI = "git://github.com/libyui/libyui.git \
+ file://0001-Fix-build-with-clang.patch \
+ file://0001-Use-relative-install-paths-for-CMake.patch \
+ "
+
+SRCREV = "8459235919f592b1bc099ecf9a947cb6344b6fa5"
+SRCREV_FORMAT = "default"
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost"
+
+EXTRA_OECMAKE += "-DENABLE_WERROR=OFF"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_configure_prepend () {
+ (cd ${S} &&
+ ./bootstrap.sh &&
+ cd -)
+}
+
+do_install_append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
deleted file mode 100644
index d313fb02..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- "
-
-SRC_URI = "git://github.com/libyui/libyui.git \
- file://0001-Fix-build-with-clang.patch \
- file://0001-Use-curly-braces-for-MAKE-variable.patch \
- file://0001-Use-relative-install-paths-for-CMake.patch \
- "
-
-PV = "3.3.3+git"
-SRCREV = "50672da835ec9d52766320a44a2677e08a24c99c"
-SRCREV_FORMAT = "default"
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig
-
-DEPENDS += "boost"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_configure_prepend () {
- (cd ${S} &&
- ./bootstrap.sh &&
- cd -)
-}
-
-do_install_append () {
- if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
- mv ${D}/usr/lib64 ${D}/usr/lib
- fi
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}/${base_prefix}
- mv ${D}/usr ${D}/${base_prefix}
-}
-
-FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
index 701266bc..db4767bb 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
@@ -22,7 +22,7 @@ DEPENDS_append_libc-musl = " libexecinfo"
# combine oe-core way with angstrom DISTRO_TYPE
DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}"
-inherit autotools pkgconfig gettext systemd distro_features_check
+inherit autotools pkgconfig gettext systemd features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
index 08d7f5b5..ac2634d8 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
@@ -10,7 +10,7 @@ SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.g
SRC_URI[md5sum] = "be9109370447eae23f6f3f8527bb1a67"
SRC_URI[sha256sum] = "e468eb9121c94c9089dc6a287eeb347e900ce04a14be37da29d7696cbce772e4"
-inherit autotools distro_features_check
+inherit autotools features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-openbox-xdg-autostart-convert-to-python3.patch b/external/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-openbox-xdg-autostart-convert-to-python3.patch
new file mode 100644
index 00000000..5ebeb016
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-openbox-xdg-autostart-convert-to-python3.patch
@@ -0,0 +1,138 @@
+From b7de9cff2a9578dd92d191241c28437cd6bbb595 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Sun, 2 Feb 2020 14:39:21 +0000
+Subject: [PATCH] openbox-xdg-autostart: convert to python3
+
+Upstream-Status: Pending
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ data/autostart/openbox-xdg-autostart | 72 ++++++++++++++--------------
+ 1 file changed, 36 insertions(+), 36 deletions(-)
+
+diff --git a/data/autostart/openbox-xdg-autostart b/data/autostart/openbox-xdg-autostart
+index 04a17a1..52d763f 100755
+--- a/data/autostart/openbox-xdg-autostart
++++ b/data/autostart/openbox-xdg-autostart
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ # openbox-xdg-autostart runs things based on the XDG autostart specification
+ # Copyright (C) 2008 Dana Jansens
+@@ -28,9 +28,9 @@ try:
+ from xdg.DesktopEntry import DesktopEntry
+ from xdg.Exceptions import ParsingError
+ except ImportError:
+- print
+- print >>sys.stderr, "ERROR:", ME, "requires PyXDG to be installed"
+- print
++ print()
++ print("ERROR:", ME, "requires PyXDG to be installed", file=sys.stderr)
++ print()
+ sys.exit(1)
+
+ def main(argv=sys.argv):
+@@ -51,7 +51,7 @@ def main(argv=sys.argv):
+ try:
+ autofile = AutostartFile(path)
+ except ParsingError:
+- print "Invalid .desktop file: " + path
++ print("Invalid .desktop file: " + path)
+ else:
+ if not autofile in files:
+ files.append(autofile)
+@@ -99,9 +99,9 @@ class AutostartFile:
+
+ def _alert(self, str, info=False):
+ if info:
+- print "\t ", str
++ print("\t ", str)
+ else:
+- print "\t*", str
++ print("\t*", str)
+
+ def _showInEnvironment(self, envs, verbose=False):
+ default = not self.de.getOnlyShowIn()
+@@ -146,14 +146,14 @@ class AutostartFile:
+
+ def display(self, envs):
+ if self._shouldRun(envs):
+- print "[*] " + self.de.getName()
++ print("[*] " + self.de.getName())
+ else:
+- print "[ ] " + self.de.getName()
++ print("[ ] " + self.de.getName())
+ self._alert("File: " + self.path, info=True)
+ if self.de.getExec():
+ self._alert("Executes: " + self.de.getExec(), info=True)
+ self._shouldRun(envs, True)
+- print
++ print()
+
+ def run(self, envs):
+ here = os.getcwd()
+@@ -165,34 +165,34 @@ class AutostartFile:
+ os.chdir(here)
+
+ def show_help():
+- print "Usage:", ME, "[OPTION]... [ENVIRONMENT]..."
+- print
+- print "This tool will run xdg autostart .desktop files"
+- print
+- print "OPTIONS"
+- print " --list Show a list of the files which would be run"
+- print " Files which would be run are marked with an asterix"
+- print " symbol [*]. For files which would not be run,"
+- print " information is given for why they are excluded"
+- print " --help Show this help and exit"
+- print " --version Show version and copyright information"
+- print
+- print "ENVIRONMENT specifies a list of environments for which to run autostart"
+- print "applications. If none are specified, only applications which do not "
+- print "limit themselves to certain environments will be run."
+- print
+- print "ENVIRONMENT can be one or more of:"
+- print " GNOME Gnome Desktop"
+- print " KDE KDE Desktop"
+- print " ROX ROX Desktop"
+- print " XFCE XFCE Desktop"
+- print " Old Legacy systems"
+- print
++ print("Usage:", ME, "[OPTION]... [ENVIRONMENT]...")
++ print()
++ print("This tool will run xdg autostart .desktop files")
++ print()
++ print("OPTIONS")
++ print(" --list Show a list of the files which would be run")
++ print(" Files which would be run are marked with an asterix")
++ print(" symbol [*]. For files which would not be run,")
++ print(" information is given for why they are excluded")
++ print(" --help Show this help and exit")
++ print(" --version Show version and copyright information")
++ print()
++ print("ENVIRONMENT specifies a list of environments for which to run autostart")
++ print("applications. If none are specified, only applications which do not ")
++ print("limit themselves to certain environments will be run.")
++ print()
++ print("ENVIRONMENT can be one or more of:")
++ print(" GNOME Gnome Desktop")
++ print(" KDE KDE Desktop")
++ print(" ROX ROX Desktop")
++ print(" XFCE XFCE Desktop")
++ print(" Old Legacy systems")
++ print()
+
+ def show_version():
+- print ME, VERSION
+- print "Copyright (c) 2008 Dana Jansens"
+- print
++ print(ME, VERSION)
++ print("Copyright (c) 2008 Dana Jansens")
++ print()
+
+ if __name__ == "__main__":
+ sys.exit(main())
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
index f4d21b8f..e269a264 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
@@ -7,12 +7,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = " \
http://icculus.org/openbox/releases/openbox-${PV}.tar.gz \
file://0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch \
+ file://0001-openbox-xdg-autostart-convert-to-python3.patch \
"
SRC_URI[md5sum] = "b72794996c6a3ad94634727b95f9d204"
SRC_URI[sha256sum] = "8b4ac0760018c77c0044fab06a4f0c510ba87eae934d9983b10878483bde7ef7"
-inherit autotools gettext update-alternatives pkgconfig distro_features_check
+inherit autotools gettext update-alternatives pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
@@ -54,4 +55,4 @@ FILES_${PN}-gnome += " \
FILES_${PN}-config += "${sysconfdir}"
-RDEPENDS_${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks python pyxdg"
+RDEPENDS_${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks python3 python3-shell pyxdg"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch b/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch
deleted file mode 100644
index 5c5fe64f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From fe491c0919f5adc8d626cb98c5ec19d0b99dfe20 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 27 Sep 2018 23:45:04 +0200
-Subject: [PATCH] Ensure cmake files are installed at common location
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* Otherwise recent poppler is not able to find them
-* Include path needs adjustment with this change
-
-Upstream-Status: Inappropriate [Configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- CMakeLists.txt | 2 +-
- cmake/OpenJPEGConfig.cmake.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ff70a06f..23d2fac4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -150,7 +150,7 @@ if(NOT OPENJPEG_INSTALL_PACKAGE_DIR)
- # We could install *.cmake files in share/ however those files contains
- # hardcoded path to libraries on a multi-arch system (fedora/debian) those
- # path will be different (lib/i386-linux-gnu vs lib/x86_64-linux-gnu)
-- set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/${OPENJPEG_INSTALL_SUBDIR}")
-+ set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/cmake/${OPENJPEG_INSTALL_SUBDIR}")
- endif()
-
- if (APPLE)
-diff --git a/cmake/OpenJPEGConfig.cmake.in b/cmake/OpenJPEGConfig.cmake.in
-index b20294ca..6a2f4baf 100644
---- a/cmake/OpenJPEGConfig.cmake.in
-+++ b/cmake/OpenJPEGConfig.cmake.in
-@@ -26,7 +26,7 @@ get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
- if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
- # This is an install tree
- include(${SELF_DIR}/OpenJPEGTargets.cmake)
-- get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE)
-+ get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../../@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE)
- set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_ROOT})
-
- else()
---
-2.14.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-6851.patch b/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-6851.patch
new file mode 100644
index 00000000..9f2fc901
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-6851.patch
@@ -0,0 +1,32 @@
+From 024b8407392cb0b82b04b58ed256094ed5799e04 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Sat, 11 Jan 2020 01:51:19 +0100
+Subject: [PATCH] opj_j2k_update_image_dimensions(): reject images whose
+ coordinates are beyond INT_MAX (fixes #1228)
+
+---
+ src/lib/openjp2/j2k.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c
+index 14f6ff41..922550eb 100644
+--- a/src/lib/openjp2/j2k.c
++++ b/src/lib/openjp2/j2k.c
+@@ -9236,6 +9236,14 @@ static OPJ_BOOL opj_j2k_update_image_dim
+ l_img_comp = p_image->comps;
+ for (it_comp = 0; it_comp < p_image->numcomps; ++it_comp) {
+ OPJ_INT32 l_h, l_w;
++ if (p_image->x0 > (OPJ_UINT32)INT_MAX ||
++ p_image->y0 > (OPJ_UINT32)INT_MAX ||
++ p_image->x1 > (OPJ_UINT32)INT_MAX ||
++ p_image->y1 > (OPJ_UINT32)INT_MAX) {
++ opj_event_msg(p_manager, EVT_ERROR,
++ "Image coordinates above INT_MAX are not supported\n");
++ return OPJ_FALSE;
++ }
+
+ l_img_comp->x0 = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)p_image->x0,
+ (OPJ_INT32)l_img_comp->dx);
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-8112.patch b/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-8112.patch
new file mode 100644
index 00000000..cb250530
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2020-8112.patch
@@ -0,0 +1,46 @@
+From 05f9b91e60debda0e83977e5e63b2e66486f7074 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Thu, 30 Jan 2020 00:59:57 +0100
+Subject: [PATCH] opj_tcd_init_tile(): avoid integer overflow
+
+That could lead to later assertion failures.
+
+Fixes #1231 / CVE-2020-8112
+---
+ src/lib/openjp2/tcd.c | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/src/lib/openjp2/tcd.c b/src/lib/openjp2/tcd.c
+index deecc4df..aa419030 100644
+--- a/src/lib/openjp2/tcd.c
++++ b/src/lib/openjp2/tcd.c
+@@ -905,8 +905,24 @@ static INLINE OPJ_BOOL opj_tcd_init_tile(opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no,
+ /* p. 64, B.6, ISO/IEC FDIS15444-1 : 2000 (18 august 2000) */
+ l_tl_prc_x_start = opj_int_floordivpow2(l_res->x0, (OPJ_INT32)l_pdx) << l_pdx;
+ l_tl_prc_y_start = opj_int_floordivpow2(l_res->y0, (OPJ_INT32)l_pdy) << l_pdy;
+- l_br_prc_x_end = opj_int_ceildivpow2(l_res->x1, (OPJ_INT32)l_pdx) << l_pdx;
+- l_br_prc_y_end = opj_int_ceildivpow2(l_res->y1, (OPJ_INT32)l_pdy) << l_pdy;
++ {
++ OPJ_UINT32 tmp = ((OPJ_UINT32)opj_int_ceildivpow2(l_res->x1,
++ (OPJ_INT32)l_pdx)) << l_pdx;
++ if (tmp > (OPJ_UINT32)INT_MAX) {
++ opj_event_msg(manager, EVT_ERROR, "Integer overflow\n");
++ return OPJ_FALSE;
++ }
++ l_br_prc_x_end = (OPJ_INT32)tmp;
++ }
++ {
++ OPJ_UINT32 tmp = ((OPJ_UINT32)opj_int_ceildivpow2(l_res->y1,
++ (OPJ_INT32)l_pdy)) << l_pdy;
++ if (tmp > (OPJ_UINT32)INT_MAX) {
++ opj_event_msg(manager, EVT_ERROR, "Integer overflow\n");
++ return OPJ_FALSE;
++ }
++ l_br_prc_y_end = (OPJ_INT32)tmp;
++ }
+ /*fprintf(stderr, "\t\t\tprc_x_start=%d, prc_y_start=%d, br_prc_x_end=%d, br_prc_y_end=%d \n", l_tl_prc_x_start, l_tl_prc_y_start, l_br_prc_x_end ,l_br_prc_y_end );*/
+
+ l_res->pw = (l_res->x0 == l_res->x1) ? 0U : (OPJ_UINT32)((
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb
deleted file mode 100644
index d30ff482..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
-HOMEPAGE = "http://www.openjpeg.org"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
-
-DEPENDS = "libpng tiff lcms zlib"
-
-SRC_URI = " \
- git://github.com/uclouvain/openjpeg.git \
- file://0001-Ensure-cmake-files-are-installed-at-common-location.patch \
- file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
-"
-SRCREV = "081de4b15f54cb4482035b7bf5e3fb443e4bc84b"
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-# for multilib
-EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb
new file mode 100644
index 00000000..42011efa
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
+HOMEPAGE = "http://www.openjpeg.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
+
+DEPENDS = "libpng tiff lcms zlib"
+
+SRC_URI = " \
+ git://github.com/uclouvain/openjpeg.git \
+ file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
+ file://CVE-2020-6851.patch \
+ file://CVE-2020-8112.patch \
+"
+SRCREV = "57096325457f96d8cd07bd3af04fe81d7a2ba788"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# for multilib
+EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}"
+
+FILES_${PN} += "${libdir}/openjpeg*"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
deleted file mode 100644
index e0f72cd5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
+++ /dev/null
@@ -1,23 +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').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 distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.42.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.42.1.bb
new file mode 100644
index 00000000..57d9ff98
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.42.1.bb
@@ -0,0 +1,23 @@
+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] = "339c48dd92ebd3a9911b231708f7a819"
+SRC_URI[sha256sum] = "14bf04939930870d5cfa96860ed953ad2ce07c3fd8713add4a1bfe585589f40f"
+
+inherit features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
index f5397750..108c339b 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
@@ -4,9 +4,9 @@ HOMEPAGE = "http://fukuchi.org/works/qrencode/"
SECTION = "libs"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-PV = "4.0.0+git${SRCPV}"
+PV = "4.0.1+git${SRCPV}"
-SRCREV = "07f3c5d4bf9136711422cc7dbf28aff469da220a"
+SRCREV = "7c83deb8f562ae6013fea4c3e65278df93f98fb7"
SRC_URI = "git://github.com/fukuchi/libqrencode.git"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch b/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch
new file mode 100644
index 00000000..6ba1e426
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch
@@ -0,0 +1,31 @@
+From 49dd914109fd1ee9e1e917890bf18f85dd95ff31 Mon Sep 17 00:00:00 2001
+From: Reid Kleckner <rnk@google.com>
+Date: Sun, 29 Dec 2019 23:17:16 -0800
+Subject: [PATCH] Remove glslang::pool_allocator::setAllocator
+
+TPoolAllocator is not copy assignable, so this setter could never have
+been used. After a recent change (878a24ee2), new versions of Clang
+reject this code outright.
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/glslang/commit/0de87ee9a5bf5d094a3faa1a71fd9080e80b6be0]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
+index 0e237a6a2..b8eccb883 100644
+--- a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
++++ b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
+@@ -304,7 +304,6 @@ public:
+ size_type max_size() const { return static_cast<size_type>(-1) / sizeof(T); }
+ size_type max_size(int size) const { return static_cast<size_type>(-1) / size; }
+
+- void setAllocator(TPoolAllocator* a) { allocator = *a; }
+ TPoolAllocator& getAllocator() const { return allocator; }
+
+ protected:
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch b/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch
new file mode 100644
index 00000000..e96dedfc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch
@@ -0,0 +1,57 @@
+From 41a8c9b5ac13066770baee476ebf9828371f4dad Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Tue, 24 Sep 2019 16:07:18 +0300
+Subject: [PATCH] renderdoc: use xxd instead of cross-compiling shim binary
+
+Renderdoc's attempt to cross compile an xxd replacement by directly
+calling a host cross-compiler breaks under OE's recipe specific
+sysroots protection because this is not a native recipe, so we just
+use xxd-native instead.
+
+Upstream-Status: Inappropriate [embedded-specific]
+
+---
+ renderdoc/CMakeLists.txt | 23 +----------------------
+ 1 file changed, 1 insertion(+), 22 deletions(-)
+
+diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
+index 5cb7440a4..453a034ba 100644
+--- a/renderdoc/CMakeLists.txt
++++ b/renderdoc/CMakeLists.txt
+@@ -370,26 +370,6 @@ set(data
+ set(data_objects)
+
+ if(UNIX)
+- # If we're cross-compiling, include-bin will get built for the target and we
+- # then can't execute it. Instead, we force calling c++ (which we can safely
+- # assume is present) directly to build the binary
+-
+- if(CMAKE_CROSSCOMPILING)
+- set(HOST_NATIVE_CPP_COMPILER c++ CACHE STRING "Command to run to compile a .cpp into an executable. Default is just c++")
+-
+- add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+- COMMAND ${HOST_NATIVE_CPP_COMPILER} 3rdparty/include-bin/main.cpp -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin
+- DEPENDS 3rdparty/include-bin/main.cpp)
+- set(INCLUDE_BIN_EXE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin")
+- set(INCLUDE_BIN_DEP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin")
+- else()
+- add_executable(include-bin 3rdparty/include-bin/main.cpp)
+- set(INCLUDE_BIN_EXE $<TARGET_FILE:include-bin>)
+- set(INCLUDE_BIN_DEP include-bin)
+- endif()
+-
+ foreach(res ${data})
+ set(in ${res})
+ set(working_dir ${CMAKE_CURRENT_SOURCE_DIR})
+@@ -399,8 +379,7 @@ if(UNIX)
+ add_custom_command(OUTPUT ${out_src}
+ WORKING_DIRECTORY ${working_dir}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${out_src_dir}
+- COMMAND ${INCLUDE_BIN_EXE} ${in} ${out_src}
+- DEPENDS ${INCLUDE_BIN_DEP}
++ COMMAND xxd -i ${in} ${out_src}
+ DEPENDS ${res})
+
+ list(APPEND data_objects ${out_src})
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb b/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb
new file mode 100644
index 00000000..6ea632d0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb
@@ -0,0 +1,38 @@
+SUMMARY = "RenderDoc recipe providing renderdoccmd"
+DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger"
+HOMEPAGE = "https://github.com/baldurk/renderdoc"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=df7ea9e196efc7014c124747a0ef9772"
+
+SRCREV = "a56af589d94dc851809fd5344d0ae441da70c1f2"
+SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \
+ file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \
+ file://0001-Remove-glslang-pool_allocator-setAllocator.patch \
+"
+S = "${WORKDIR}/git"
+
+DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native"
+
+RDEPENDS_${PN} = "libxcb xcb-util-keysyms"
+
+inherit cmake python3native features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+python __anonymous () {
+ # only works on glibc systems
+ if d.getVar('TCLIBC') != "glibc":
+ raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC'))
+}
+
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
+
+EXTRA_OECMAKE += "\
+ -DENABLE_QRENDERDOC=OFF \
+ -DENABLE_PYRENDERDOC=OFF \
+ -DENABLE_RENDERDOCCMD=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+"
+
+FILES_${PN} += "${libdir}"
+FILES_${PN}-dev = "${includedir}"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch b/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch
new file mode 100644
index 00000000..78598ea1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch
@@ -0,0 +1,31 @@
+From 8d9870b66c3cfcf12ce7e8e013946e2a215bb722 Mon Sep 17 00:00:00 2001
+From: Ankit Navik <ankit.tarot@gmail.com>
+Date: Sat, 22 Dec 2018 19:16:02 +0530
+Subject: [PATCH] Add install PHONY target in Makefile
+
+---
+ Makefile | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 0564b65..0993372 100644
+--- a/Makefile
++++ b/Makefile
+@@ -35,7 +35,13 @@ $(STATIC_LIB): $(OBJECTS)
+ %.o: %.cpp
+ $(CXX) -c -o $@ $< $(CXXFLAGS) -MMD
+
++install:
++ mkdir -p $(TARGET_DIR_BIN)
++ mkdir -p $(TARGET_DIR_LIB)
++ cp $(TARGET) $(TARGET_DIR_BIN)/
++ cp $(STATIC_LIB) $(TARGET_DIR_LIB)/
++
+ clean:
+ rm -f $(TARGET) $(OBJECTS) $(CLI_OBJECTS) $(STATIC_LIB) $(DEPS)
+
+-.PHONY: clean
++.PHONY: all install clean
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch b/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
new file mode 100644
index 00000000..9b48cdcd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
@@ -0,0 +1,50 @@
+From 4fffcd275b50d08b54b0411679ead98970651bad Mon Sep 17 00:00:00 2001
+From: David Neto <dneto@google.com>
+Date: Fri, 27 Dec 2019 12:05:58 -0500
+Subject: [PATCH] Avoid pessimizing std::move (#3124)
+
+Should fix a warning
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Tools/commit/8aa423930db37e37086665efcc55944d577c06e5]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/opt/pass_fixture.h | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/test/opt/pass_fixture.h b/test/opt/pass_fixture.h
+index 53fb206f..64c089d8 100644
+--- a/test/opt/pass_fixture.h
++++ b/test/opt/pass_fixture.h
+@@ -60,8 +60,7 @@ class PassTest : public TestT {
+ // from pass Process() function.
+ std::tuple<std::vector<uint32_t>, Pass::Status> OptimizeToBinary(
+ Pass* pass, const std::string& original, bool skip_nop) {
+- context_ =
+- std::move(BuildModule(env_, consumer_, original, assemble_options_));
++ context_ = BuildModule(env_, consumer_, original, assemble_options_);
+ EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n"
+ << original << std::endl;
+ if (!context()) {
+@@ -197,8 +196,7 @@ class PassTest : public TestT {
+ // messages.
+ template <typename PassT, typename... Args>
+ void SinglePassRunAndFail(const std::string& original, Args&&... args) {
+- context_ =
+- std::move(BuildModule(env_, consumer_, original, assemble_options_));
++ context_ = BuildModule(env_, consumer_, original, assemble_options_);
+ EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n"
+ << original << std::endl;
+ std::ostringstream errs;
+@@ -235,8 +233,7 @@ class PassTest : public TestT {
+ void RunAndCheck(const std::string& original, const std::string& expected) {
+ assert(manager_->NumPasses());
+
+- context_ =
+- std::move(BuildModule(env_, nullptr, original, assemble_options_));
++ context_ = BuildModule(env_, nullptr, original, assemble_options_);
+ ASSERT_NE(nullptr, context());
+
+ context()->set_preserve_bindings(OptimizerOptions()->preserve_bindings_);
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
new file mode 100644
index 00000000..5d37da8f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
@@ -0,0 +1,35 @@
+From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Dec 2019 07:02:24 -0800
+Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files
+
+Upstream-Status: Submitted [https://github.com/google/effcee/pull/36]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 1 +
+ effcee/CMakeLists.txt | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+--- a/external/effcee/CMakeLists.txt
++++ b/external/effcee/CMakeLists.txt
+@@ -27,6 +27,7 @@ endif()
+
+ include(cmake/setup_build.cmake)
+ include(cmake/utils.cmake)
++include(GNUInstallDirs)
+
+ add_subdirectory(third_party)
+ add_subdirectory(effcee)
+--- a/external/effcee/effcee/CMakeLists.txt
++++ b/external/effcee/effcee/CMakeLists.txt
+@@ -14,8 +14,8 @@ install(
+ DESTINATION
+ include/effcee)
+ install(TARGETS effcee
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ if(EFFCEE_BUILD_TESTING)
+ add_executable(effcee-test
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb
new file mode 100644
index 00000000..b787972d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "SPIRV-Cross is a tool designed for parsing and converting SPIR-V \
+to other shader languages"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SECTION = "graphics"
+
+S = "${WORKDIR}/git"
+SRCREV = "ed16b3e69985feaf565efbecea70a1cc2fca2a58"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Cross.git \
+ file://0001-Add-install-PHONY-target-in-Makefile.patch \
+"
+
+EXTRA_OEMAKE += 'TARGET_DIR_LIB="${D}${libdir}"'
+EXTRA_OEMAKE += 'TARGET_DIR_BIN="${D}${bindir}"'
+
+do_compile () {
+ cd ${S} && oe_runmake
+}
+
+do_install () {
+ cd ${S} && oe_runmake install
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb
new file mode 100644
index 00000000..8e8388e8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb
@@ -0,0 +1,35 @@
+SUMMARY = "The SPIR-V Tools project provides an API and commands for \
+processing SPIR-V modules"
+DESCRIPTION = "The project includes an assembler, binary module parser, \
+disassembler, validator, and optimizer for SPIR-V."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SECTION = "graphics"
+
+S = "${WORKDIR}/git"
+DEST_DIR = "${S}/external"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \
+ git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \
+ git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \
+ git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \
+ git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \
+ file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch \
+ file://0001-Avoid-pessimizing-std-move-3124.patch \
+"
+SRCREV_spirv-tools = "c413b982c316b14e784f50d941814fc737b55b4a"
+SRCREV_spirv-headers = "af64a9e826bf5bb5fcd2434dd71be1e41e922563"
+SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d"
+SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb"
+SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528"
+
+inherit cmake python3native
+
+EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF"
+
+do_install_append() {
+ install -d ${D}/${includedir}/spirv
+ install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv
+}
+
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "${libdir}/*.so"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
new file mode 100644
index 00000000..7db70ec9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Stand-alone system tray"
+DESCRIPTION = "Stalonetray is a stand-alone freedesktop.org and KDE system tray"
+SECTION = "x11/graphics"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "virtual/libx11"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "ae95dbbacc2620e032acea8abab8c9ef"
+SRC_URI[sha256sum] = "36548a588b2d466913423245dda6ffb6313132cd0cec635a117d37b3dab5fd4c"
+
+inherit autotools features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch b/external/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
new file mode 100644
index 00000000..fb90432e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
@@ -0,0 +1,41 @@
+From e97bb73851f5bbd94260da553a222526485cdfb1 Mon Sep 17 00:00:00 2001
+From: Leon Anavi <leon.anavi@konsulko.com>
+Date: Fri, 15 Nov 2019 18:24:42 +0000
+Subject: [PATCH] config.mk: Fix compiler and linker
+
+Do not set explicitly compiler and linker.
+
+Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+---
+ config.mk | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/config.mk b/config.mk
+index df6e812..5deb991 100644
+--- a/config.mk
++++ b/config.mk
+@@ -15,17 +15,17 @@ GTKINC = `pkg-config --cflags gtk+-3.0 webkit2gtk-4.0`
+ GTKLIB = `pkg-config --libs gtk+-3.0 webkit2gtk-4.0`
+
+ # includes and libs
+-INCS = -I. -I/usr/include -I${X11INC} ${GTKINC}
+-LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0
++INCS = ${GTKINC}
++LIBS = -lc -lX11 ${GTKLIB} -lgthread-2.0
+
+ # flags
+ CPPFLAGS = -DVERSION=\"${VERSION}\" -DWEBEXTDIR=\"${LIBPREFIX}\" -D_DEFAULT_SOURCE
+ CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
+-LDFLAGS = -s ${LIBS}
++LDFLAGS = ${LIBS}
+
+ # Solaris
+ #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
+ #LDFLAGS = ${LIBS}
+
+ # compiler and linker
+-CC = cc
++CC ?= cc
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb
new file mode 100644
index 00000000..98973018
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Simple web browser"
+DESCRIPTION = "Simple open source web browser based on WebKit2/GTK"
+HOMEPAGE = "https://surf.suckless.org/"
+SECTION = "x11/graphics"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b57e7f7720307a02d5a6598b00fe3afa"
+
+DEPENDS = "webkitgtk gtk+3 glib-2.0"
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \
+ file://0001-config.mk-Fix-compiler-and-linker.patch \
+"
+SRCREV = "b814567e2bf8bda07cea8de1c7a062f4aa437b65"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig features_check
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ install -D -m 0755 ${S}/surf ${D}${bindir}/surf
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
new file mode 100644
index 00000000..75c2bc00
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "tesseract-ocr language files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
+
+SRCREV = "590567f20dc044f6948a8e2c61afc714c360ad0e"
+SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/tessdata
+ cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${D}${datadir}/tessdata
+}
+
+python populate_packages_prepend () {
+ tessdata_dir= d.expand('${datadir}/tessdata')
+ pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
+ pn = d.getVar('PN')
+ d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
+}
+
+PACKAGES_DYNAMIC += "^${BPN}-.*"
+ALLOW_EMPTY_${PN} = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
deleted file mode 100644
index ac36a91a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "tesseract-ocr language files"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
-
-PV = "3.04.00+git${SRCPV}"
-SRCREV = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"
-SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-do_install() {
- install -d ${D}${datadir}/tessdata
- cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${S}/*.cube.* ${S}/*.tesseract_cube.* ${D}${datadir}/tessdata
-}
-
-python populate_packages_prepend () {
- tessdata_dir= d.expand('${datadir}/tessdata')
- pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
- pn = d.getVar('PN')
- d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
-}
-
-PACKAGES_DYNAMIC += "^${BPN}-.*"
-ALLOW_EMPTY_${PN} = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb
new file mode 100644
index 00000000..f97c2b2d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb
@@ -0,0 +1,130 @@
+DESCRIPTION = "TigerVNC remote display system"
+HOMEPAGE = "http://www.tigervnc.com/"
+LICENSE = "GPLv2+"
+SECTION = "x11/utils"
+DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk"
+RDEPENDS_${PN} = "coreutils hicolor-icon-theme perl"
+
+LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
+
+S = "${WORKDIR}/git"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "x11"
+
+inherit autotools cmake
+B = "${S}"
+
+SRCREV = "4739493b635372bd40a34640a719f79fa90e4dba"
+
+SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.10-branch \
+ file://0002-do-not-build-tests-sub-directory.patch \
+ file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
+ file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
+"
+
+# Keep sync with xorg-server in oe-core
+XORG_PN ?= "xorg-server"
+XORG_PV ?= "1.20.6"
+SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
+XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
+SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b"
+SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1"
+
+# It is the directory containing the Xorg source for the
+# machine on which you are building TigerVNC.
+XSERVER_SOURCE_DIR="${S}/unix/xserver"
+
+do_patch[postfuncs] += "do_patch_xserver"
+do_patch_xserver () {
+ for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do
+ install -d ${XSERVER_SOURCE_DIR}/$subdir
+ done
+
+ for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do
+ install -d ${XSERVER_SOURCE_DIR}/$subdir
+ done
+
+ sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
+ hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \
+ hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
+ for i in ${sources}; do
+ install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
+ done
+
+ cd ${XORG_S}
+ find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
+ xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
+
+ cd ${XSERVER_SOURCE_DIR}
+ xserverpatch="${S}/unix/xserver120.patch"
+ echo "Apply $xserverpatch"
+ patch -p1 -b --suffix .vnc < $xserverpatch
+}
+
+EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
+ --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
+ --disable-static --disable-xinerama \
+ --with-xkb-output=${localstatedir}/lib/xkb \
+ --disable-glx --disable-dri --disable-dri2 \
+ --disable-config-hal \
+ --disable-config-udev \
+ --without-dtrace \
+ --disable-unit-tests \
+ --disable-devel-docs \
+ --disable-selective-werror \
+ --disable-xshmfence \
+ --disable-config-udev \
+ --disable-dri3 \
+ --disable-libunwind \
+ --without-xmlto \
+ --enable-systemd-logind=no \
+ --disable-xinerama \
+ --disable-xwayland \
+"
+
+do_configure_append () {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}
+
+ rm -rf aclocal-copy/
+ rm -f aclocal.m4
+
+ export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy"
+ mkdir -p ${ACLOCALDIR}/
+ if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then
+ cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/
+ fi
+ if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then
+ cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/
+ fi
+ ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
+ chmod +x ./configure
+ ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ cd $olddir
+}
+
+do_compile_append () {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}
+
+ oe_runmake
+
+ cd $olddir
+}
+
+do_install_append() {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}/hw/vnc
+
+ oe_runmake 'DESTDIR=${D}' install
+
+ cd $olddir
+}
+
+FILES_${PN} += " \
+ ${libdir}/xorg/modules/extensions \
+ ${datadir}/icons \
+"
+
+FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb
deleted file mode 100644
index f3dc8997..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb
+++ /dev/null
@@ -1,131 +0,0 @@
-DESCRIPTION = "TigerVNC remote display system"
-HOMEPAGE = "http://www.tigervnc.com/"
-LICENSE = "GPLv2+"
-SECTION = "x11/utils"
-DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk"
-RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme"
-
-LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
-
-S = "${WORKDIR}/git"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "x11"
-
-inherit autotools cmake
-B = "${S}"
-
-SRCREV = "6f2301d08e64a965ad36b401ec8dc2b24bc47075"
-
-SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.9-branch \
- file://0001-tigervnc-remove-includedir.patch \
- file://0002-do-not-build-tests-sub-directory.patch \
- file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
- file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
-"
-
-# Keep sync with xorg-server in oe-core
-XORG_PN ?= "xorg-server"
-XORG_PV ?= "1.19.6"
-SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
-XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
-SRC_URI[xorg.md5sum] = "3e47777ff034a331aed2322b078694a8"
-SRC_URI[xorg.sha256sum] = "a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197"
-
-# It is the directory containing the Xorg source for the
-# machine on which you are building TigerVNC.
-XSERVER_SOURCE_DIR="${S}/unix/xserver"
-
-do_patch[postfuncs] += "do_patch_xserver"
-do_patch_xserver () {
- for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do
- install -d ${XSERVER_SOURCE_DIR}/$subdir
- done
-
- for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do
- install -d ${XSERVER_SOURCE_DIR}/$subdir
- done
-
- sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
- hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \
- hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
- for i in ${sources}; do
- install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
- done
-
- cd ${XORG_S}
- find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
- xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
-
- cd ${XSERVER_SOURCE_DIR}
- xserverpatch="${S}/unix/xserver119.patch"
- echo "Apply $xserverpatch"
- patch -p1 -b --suffix .vnc < $xserverpatch
-}
-
-EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
- --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
- --disable-static --disable-xinerama \
- --with-xkb-output=${localstatedir}/lib/xkb \
- --disable-glx --disable-dri --disable-dri2 \
- --disable-config-hal \
- --disable-config-udev \
- --without-dtrace \
- --disable-unit-tests \
- --disable-devel-docs \
- --disable-selective-werror \
- --disable-xshmfence \
- --disable-config-udev \
- --disable-dri3 \
- --disable-libunwind \
- --without-xmlto \
- --enable-systemd-logind=no \
- --disable-xinerama \
- --disable-xwayland \
-"
-
-do_configure_append () {
- olddir=`pwd`
- cd ${XSERVER_SOURCE_DIR}
-
- rm -rf aclocal-copy/
- rm -f aclocal.m4
-
- export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy"
- mkdir -p ${ACLOCALDIR}/
- if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then
- cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/
- fi
- if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then
- cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/
- fi
- ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
- chmod +x ./configure
- ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
- cd $olddir
-}
-
-do_compile_append () {
- olddir=`pwd`
- cd ${XSERVER_SOURCE_DIR}
-
- oe_runmake
-
- cd $olddir
-}
-
-do_install_append() {
- olddir=`pwd`
- cd ${XSERVER_SOURCE_DIR}/hw/vnc
-
- oe_runmake 'DESTDIR=${D}' install
-
- cd $olddir
-}
-
-FILES_${PN} += " \
- ${libdir}/xorg/modules/extensions \
- ${datadir}/icons \
-"
-
-FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-error-with-input_event_sec-for-old-kernel.patch b/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-error-with-input_event_sec-for-old-kernel.patch
new file mode 100644
index 00000000..ea8a9e56
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-error-with-input_event_sec-for-old-kernel.patch
@@ -0,0 +1,30 @@
+From 050bf24c16e95f63a76e13156346a072035d45b4 Mon Sep 17 00:00:00 2001
+From: Evan Harvey <evanwork1234@gmail.com>
+Date: Thu, 19 Mar 2020 01:32:03 -0700
+Subject: [PATCH] Fix build error with input_event_sec for old kernel
+
+Upstream-Status: Backport [https://github.com/libts/tslib/commit/050bf24c16e95f63a76e13156346a072035d45b4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/ts_uinput.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tools/ts_uinput.c b/tools/ts_uinput.c
+index 1832a07..9c40bb3 100644
+--- a/tools/ts_uinput.c
++++ b/tools/ts_uinput.c
+@@ -51,6 +51,11 @@
+ #include <linux/fb.h>
+ #endif
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #define RESET "\033[0m"
+ #define RED "\033[31m"
+ #define GREEN "\033[32m"
+--
+2.26.2
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..59bd97a0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,389 @@
+From 5455055660700be18eb8800e56e2423031ed4c76 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 19:59:29 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Submitted [https://github.com/libts/tslib/pull/162]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/input-raw.c | 59 +++++++++++++++++++++++++++-------------
+ tools/ts_uinput.c | 66 ++++++++++++++++++++++++++++++---------------
+ 2 files changed, 85 insertions(+), 40 deletions(-)
+
+diff --git a/plugins/input-raw.c b/plugins/input-raw.c
+index 64f0156..f030836 100644
+--- a/plugins/input-raw.c
++++ b/plugins/input-raw.c
+@@ -40,6 +40,11 @@
+ # include <linux/input.h>
+ #endif
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #ifndef EV_SYN /* 2.4 kernel headers */
+ # define EV_SYN 0x00
+ #endif
+@@ -384,7 +389,8 @@ static int ts_input_read(struct tslib_module_info *inf,
+ samp->y = i->current_y;
+ samp->pressure = i->current_p;
+ }
+- samp->tv = ev.time;
++ samp->tv.tv_sec = ev.input_event_sec;
++ samp->tv.tv_usec = ev.input_event_usec;
+ #ifdef DEBUG
+ fprintf(stderr,
+ "RAW---------------------> %d %d %d %ld.%ld\n",
+@@ -519,7 +525,8 @@ static int ts_input_read(struct tslib_module_info *inf,
+ samp->pressure = i->current_p = ev.value;
+ break;
+ }
+- samp->tv = ev.time;
++ samp->tv.tv_sec = ev.input_event_sec;
++ samp->tv.tv_usec = ev.input_event_usec;
+ #ifdef DEBUG
+ fprintf(stderr,
+ "RAW---------------------------> %d %d %d\n",
+@@ -536,7 +543,8 @@ static int ts_input_read(struct tslib_module_info *inf,
+ samp->x = 0;
+ samp->y = 0;
+ samp->pressure = 0;
+- samp->tv = ev.time;
++ samp->tv.tv_sec = ev.input_event_sec;
++ samp->tv.tv_usec = ev.input_event_usec;
+ samp++;
+ total++;
+ }
+@@ -651,7 +659,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ switch (i->ev[it].code) {
+ case BTN_TOUCH:
+ i->buf[total][i->slot].pen_down = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ if (i->ev[it].value == 0)
+ pen_up = 1;
+@@ -751,7 +760,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ // fall through
+ case ABS_MT_POSITION_X:
+ i->buf[total][i->slot].x = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ break;
+ case ABS_Y:
+@@ -760,7 +770,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ // fall through
+ case ABS_MT_POSITION_Y:
+ i->buf[total][i->slot].y = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ break;
+ case ABS_PRESSURE:
+@@ -769,12 +780,14 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ // fall through
+ case ABS_MT_PRESSURE:
+ i->buf[total][i->slot].pressure = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ break;
+ case ABS_MT_TOOL_X:
+ i->buf[total][i->slot].tool_x = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ /* for future use
+ * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
+@@ -782,7 +795,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ break;
+ case ABS_MT_TOOL_Y:
+ i->buf[total][i->slot].tool_y = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ /* for future use
+ * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
+@@ -790,7 +804,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ break;
+ case ABS_MT_TOOL_TYPE:
+ i->buf[total][i->slot].tool_type = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ /* for future use
+ * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
+@@ -798,12 +813,14 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ break;
+ case ABS_MT_ORIENTATION:
+ i->buf[total][i->slot].orientation = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ break;
+ case ABS_MT_DISTANCE:
+ i->buf[total][i->slot].distance = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+
+ if (i->special_device == EGALAX_VERSION_210) {
+@@ -816,34 +833,40 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ break;
+ case ABS_MT_BLOB_ID:
+ i->buf[total][i->slot].blob_id = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ break;
+ case ABS_MT_TOUCH_MAJOR:
+ i->buf[total][i->slot].touch_major = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ if (i->ev[it].value == 0)
+ i->buf[total][i->slot].pressure = 0;
+ break;
+ case ABS_MT_WIDTH_MAJOR:
+ i->buf[total][i->slot].width_major = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ break;
+ case ABS_MT_TOUCH_MINOR:
+ i->buf[total][i->slot].touch_minor = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ break;
+ case ABS_MT_WIDTH_MINOR:
+ i->buf[total][i->slot].width_minor = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ break;
+ case ABS_MT_TRACKING_ID:
+ i->buf[total][i->slot].tracking_id = i->ev[it].value;
+- i->buf[total][i->slot].tv = i->ev[it].time;
++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ if (i->ev[it].value == -1)
+ i->buf[total][i->slot].pressure = 0;
+diff --git a/tools/ts_uinput.c b/tools/ts_uinput.c
+index 6ca4c3d..1832a07 100644
+--- a/tools/ts_uinput.c
++++ b/tools/ts_uinput.c
+@@ -170,14 +170,16 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
+ continue;
+
+ if (s[j][i].pen_down == 1) {
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_KEY;
+ data->ev[c].code = BTN_TOUCH;
+ data->ev[c].value = s[j][i].pen_down;
+ c++;
+ }
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_SLOT;
+ data->ev[c].value = s[j][i].slot;
+@@ -190,111 +192,129 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
+ * we should use slot 1 and so on.
+ */
+ if (i == 0) {
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_X;
+ data->ev[c].value = s[j][i].x;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_Y;
+ data->ev[c].value = s[j][i].y;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_PRESSURE;
+ data->ev[c].value = s[j][i].pressure;
+ c++;
+ }
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_POSITION_X;
+ data->ev[c].value = s[j][i].x;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_POSITION_Y;
+ data->ev[c].value = s[j][i].y;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_PRESSURE;
+ data->ev[c].value = s[j][i].pressure;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_TOUCH_MAJOR;
+ data->ev[c].value = s[j][i].touch_major;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_WIDTH_MAJOR;
+ data->ev[c].value = s[j][i].width_major;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_TOUCH_MINOR;
+ data->ev[c].value = s[j][i].touch_minor;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_WIDTH_MINOR;
+ data->ev[c].value = s[j][i].width_minor;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_TOOL_TYPE;
+ data->ev[c].value = s[j][i].tool_type;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_TOOL_X;
+ data->ev[c].value = s[j][i].tool_x;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_TOOL_Y;
+ data->ev[c].value = s[j][i].tool_y;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_ORIENTATION;
+ data->ev[c].value = s[j][i].orientation;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_DISTANCE;
+ data->ev[c].value = s[j][i].distance;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_BLOB_ID;
+ data->ev[c].value = s[j][i].blob_id;
+ c++;
+
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_ABS;
+ data->ev[c].code = ABS_MT_TRACKING_ID;
+ data->ev[c].value = s[j][i].tracking_id;
+ c++;
+
+ if (data->mt_type_a == 1) {
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_SYN;
+ data->ev[c].code = SYN_MT_REPORT;
+ data->ev[c].value = 0;
+@@ -302,7 +322,8 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
+ }
+
+ if (s[j][i].pen_down == 0) {
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_KEY;
+ data->ev[c].code = BTN_TOUCH;
+ data->ev[c].value = s[j][i].pen_down;
+@@ -312,7 +333,8 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
+ }
+
+ if (c > 0) {
+- data->ev[c].time = s[j][i].tv;
++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ data->ev[c].type = EV_SYN;
+ data->ev[c].code = SYN_REPORT;
+ data->ev[c].value = 0;
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.16.bb b/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.16.bb
deleted file mode 100644
index 8d23bd5e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.16.bb
+++ /dev/null
@@ -1,82 +0,0 @@
-SUMMARY = "An abstraction layer for touchscreen panel events"
-DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \
-events, as well as a filter stack for the manipulation of those events. \
-Tslib is generally used on embedded devices to provide a common user \
-space interface to touchscreen functionality."
-HOMEPAGE = "http://tslib.org/"
-
-AUTHOR = "Martin Kepplinger <martink@posteo.de>"
-SECTION = "base"
-LICENSE = "LGPLv2+ & GPLv2+"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=fc178bcd425090939a8b634d1d6a9594 \
- file://tests/COPYING;md5=a23a74b3f4caf9616230789d94217acb \
-"
-
-SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \
- file://ts.conf \
- file://tslib.sh \
-"
-SRC_URI[md5sum] = "254a022fc8aa89d164840fe8869c2441"
-SRC_URI[sha256sum] = "c9a54651337a701a66b074c603c313225579995a7910e519bbc7b1dcdab9a755"
-
-UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "debounce dejitter iir linear median pthres skip lowpass invert variance input touchkit waveshare"
-PACKAGECONFIG[debounce] = "--enable-debounce,--disable-debounce"
-PACKAGECONFIG[dejitter] = "--enable-dejitter,--disable-dejitter"
-PACKAGECONFIG[iir] = "--enable-iir,--disable-iir"
-PACKAGECONFIG[linear] = "--enable-linear,--disable-linear"
-PACKAGECONFIG[median] = "--enable-median,--disable-median"
-PACKAGECONFIG[pthres] = "--enable-pthres,--disable-pthres"
-PACKAGECONFIG[skip] = "--enable-skip,--disable-skip"
-PACKAGECONFIG[lowpass] = "--enable-lowpass,--disable-lowpass"
-PACKAGECONFIG[invert] = "--enable-invert,--disable-invert"
-PACKAGECONFIG[variance] = "--enable-variance,--disable-variance"
-PACKAGECONFIG[input] = "--enable-input,--disable-input"
-PACKAGECONFIG[tatung] = "--enable-tatung,--disable-tatung"
-PACKAGECONFIG[touchkit] = "--enable-touchkit,--disable-touchkit"
-PACKAGECONFIG[waveshare] = "--enable-waveshare,--disable-waveshare"
-PACKAGECONFIG[ucb1x00] = "--enable-ucb1x00,--disable-ucb1x00"
-PACKAGECONFIG[mk712] = "--enable-mk712,--disable-mk712"
-PACKAGECONFIG[h3600] = "--enable-h3600,--disable-h3600"
-PACKAGECONFIG[dmc] = "--enable-dmc,--disable-dmc"
-PACKAGECONFIG[linear-h2200] = "--enable-linear-h2200,--disable-linear-h2200"
-PACKAGECONFIG[corgi] = "--enable-corgi,--disable-corgi"
-PACKAGECONFIG[collie] = "--enable-collie,--disable-collie"
-PACKAGECONFIG[arctic2] = "--enable-arctic2,--disable-arctic2"
-PACKAGECONFIG[dmc_dus3000] = "--enable-dmc_dus3000,--disable-dmc_dus3000"
-PACKAGECONFIG[cy8mrln-palmpre] = "--enable-cy8mrln-palmpre,--disable-cy8mrln-palmpre"
-PACKAGECONFIG[galax] = "--enable-galax,--disable-galax"
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
-
-do_install_prepend() {
- install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/profile.d/
- install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
-}
-
-RPROVIDES_tslib-conf = "libts-0.0-conf"
-
-PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate tslib-uinput"
-DEBIAN_NOAUTONAME_tslib-conf = "1"
-DEBIAN_NOAUTONAME_tslib-tests = "1"
-DEBIAN_NOAUTONAME_tslib-calibrate = "1"
-DEBIAN_NOAUTONAME_tslib-uinput = "1"
-
-RDEPENDS_${PN} = "tslib-conf"
-RRECOMMENDS_${PN} = "pointercal"
-
-FILES_${PN}-dev += "${libdir}/ts/*.la"
-FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
-FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
-FILES_tslib-calibrate += "${bindir}/ts_calibrate"
-FILES_tslib-uinput += "${bindir}/ts_uinput"
-
-FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \
- ${bindir}/ts_test ${bindir}/ts_test_mt ${bindir}/ts_verify ${bindir}/ts_finddev"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb b/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb
new file mode 100644
index 00000000..76c42314
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb
@@ -0,0 +1,84 @@
+SUMMARY = "An abstraction layer for touchscreen panel events"
+DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \
+events, as well as a filter stack for the manipulation of those events. \
+Tslib is generally used on embedded devices to provide a common user \
+space interface to touchscreen functionality."
+HOMEPAGE = "http://tslib.org/"
+
+AUTHOR = "Martin Kepplinger <martink@posteo.de>"
+SECTION = "base"
+LICENSE = "LGPLv2+ & GPLv2+"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=fc178bcd425090939a8b634d1d6a9594 \
+ file://tests/COPYING;md5=a23a74b3f4caf9616230789d94217acb \
+"
+
+SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ file://0001-Fix-build-error-with-input_event_sec-for-old-kernel.patch \
+ file://ts.conf \
+ file://tslib.sh \
+"
+SRC_URI[md5sum] = "b2b20d3ed520128513f8d3135b42e142"
+SRC_URI[sha256sum] = "d2a57b823ea59e53a3b130eef05dfed1190b857854f886eec764e1ca1957cf56"
+
+UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "debounce dejitter iir linear median pthres skip lowpass invert variance input touchkit waveshare"
+PACKAGECONFIG[debounce] = "--enable-debounce,--disable-debounce"
+PACKAGECONFIG[dejitter] = "--enable-dejitter,--disable-dejitter"
+PACKAGECONFIG[iir] = "--enable-iir,--disable-iir"
+PACKAGECONFIG[linear] = "--enable-linear,--disable-linear"
+PACKAGECONFIG[median] = "--enable-median,--disable-median"
+PACKAGECONFIG[pthres] = "--enable-pthres,--disable-pthres"
+PACKAGECONFIG[skip] = "--enable-skip,--disable-skip"
+PACKAGECONFIG[lowpass] = "--enable-lowpass,--disable-lowpass"
+PACKAGECONFIG[invert] = "--enable-invert,--disable-invert"
+PACKAGECONFIG[variance] = "--enable-variance,--disable-variance"
+PACKAGECONFIG[input] = "--enable-input,--disable-input"
+PACKAGECONFIG[tatung] = "--enable-tatung,--disable-tatung"
+PACKAGECONFIG[touchkit] = "--enable-touchkit,--disable-touchkit"
+PACKAGECONFIG[waveshare] = "--enable-waveshare,--disable-waveshare"
+PACKAGECONFIG[ucb1x00] = "--enable-ucb1x00,--disable-ucb1x00"
+PACKAGECONFIG[mk712] = "--enable-mk712,--disable-mk712"
+PACKAGECONFIG[h3600] = "--enable-h3600,--disable-h3600"
+PACKAGECONFIG[dmc] = "--enable-dmc,--disable-dmc"
+PACKAGECONFIG[linear-h2200] = "--enable-linear-h2200,--disable-linear-h2200"
+PACKAGECONFIG[corgi] = "--enable-corgi,--disable-corgi"
+PACKAGECONFIG[collie] = "--enable-collie,--disable-collie"
+PACKAGECONFIG[arctic2] = "--enable-arctic2,--disable-arctic2"
+PACKAGECONFIG[dmc_dus3000] = "--enable-dmc_dus3000,--disable-dmc_dus3000"
+PACKAGECONFIG[cy8mrln-palmpre] = "--enable-cy8mrln-palmpre,--disable-cy8mrln-palmpre"
+PACKAGECONFIG[galax] = "--enable-galax,--disable-galax"
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
+
+do_install_prepend() {
+ install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/profile.d/
+ install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
+}
+
+RPROVIDES_tslib-conf = "libts-0.0-conf"
+
+PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate tslib-uinput"
+DEBIAN_NOAUTONAME_tslib-conf = "1"
+DEBIAN_NOAUTONAME_tslib-tests = "1"
+DEBIAN_NOAUTONAME_tslib-calibrate = "1"
+DEBIAN_NOAUTONAME_tslib-uinput = "1"
+
+RDEPENDS_${PN} = "tslib-conf"
+RRECOMMENDS_${PN} = "pointercal"
+
+FILES_${PN}-dev += "${libdir}/ts/*.la"
+FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
+FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
+FILES_tslib-calibrate += "${bindir}/ts_calibrate"
+FILES_tslib-uinput += "${bindir}/ts_uinput"
+
+FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \
+ ${bindir}/ts_test ${bindir}/ts_test_mt ${bindir}/ts_verify ${bindir}/ts_finddev ${bindir}/ts_conf"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
index 522f0fb7..9de02b0f 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
@@ -1,7 +1,7 @@
SUMMARY = "Unicode Mingti (printed) TrueType Font"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/CJKUnifonts"
LICENSE = "Arphic-Public-License"
-LIC_FILES_CHKSUM = "file://README;md5=62be011094b7865ddc4d1a648444d31a"
+LIC_FILES_CHKSUM = "file://license/english/ARPHICPL.TXT;md5=4555ed88e9a72fc9562af379d07c3350"
SRC_DISTRIBUTE_LICENSES += "${PN}"
RPROVIDES_${PN} = "virtual-chinese-font"
PR = "r6"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
index e62badf7..8dba7ee6 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
@@ -12,8 +12,12 @@ SRC_URI = "git://github.com/android/platform_frameworks_base.git;branch=master"
S = "${WORKDIR}/git/data/fonts"
-do_install_prepend() {
- rm ${S}/Ahem.ttf MTLc3m.ttf DroidSansArabic.ttf DroidSansThai.ttf Clockopia.ttf MTLmr3m.ttf DroidSansHebrew.ttf DroidSansFallbackLegacy.ttf # we're not packaging it
+do_install_append() {
+ for f in Ahem.ttf MTLc3m.ttf DroidSansArabic.ttf DroidSansThai.ttf \
+ Clockopia.ttf MTLmr3m.ttf DroidSansHebrew.ttf \
+ DroidSansFallbackLegacy.ttf; do
+ rm -f ${D}${datadir}/fonts/truetype/$f
+ done
}
PACKAGES = "ttf-droid-sans ttf-droid-sans-mono \
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
index 6a6258ad..e030bd19 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
@@ -2,7 +2,7 @@ require ttf.inc
SUMMARY = "Gentium fonts - TTF Version"
HOMEPAGE = "http://scripts.sil.org/gentium"
-LICENSE = "OFL"
+LICENSE = "OFL-1.0"
LICENSE_URL = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=OFL"
LIC_FILES_CHKSUM = "file://OFL;md5=33a5bf7b98a9c0ae87430760ba762295 \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
deleted file mode 100644
index 5cd9935d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Hunky fonts - TTF Version"
-HOMEPAGE = "http://sourceforge.net/projects/hunkyfonts"
-LICENSE = "LGPL"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=7fbc338309ac38fefcd64b04bb903e34"
-PR = "r7"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/hunkyfonts/hunkyfonts-${PV}.tar.bz2"
-
-S = "${WORKDIR}/hunkyfonts-${PV}/TTF/"
-
-PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
-FONT_PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
-
-FILES_ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf"
-FILES_ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf"
-
-SRC_URI[md5sum] = "36444795a356fb8a56c63b2840729bab"
-SRC_URI[sha256sum] = "e0b1849c545b6af276407d93025c73094dd74fc259b07c1d91594fdbb9a0b829"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb
new file mode 100644
index 00000000..4df0c3af
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb
@@ -0,0 +1,20 @@
+require ttf.inc
+
+SUMMARY = "Hunky fonts - TTF Version"
+HOMEPAGE = "http://sourceforge.net/projects/hunkyfonts"
+LICENSE = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://../COPYRIGHT.TXT;md5=70d34478e38b1ad9995079f9921f9ef7"
+PR = "r7"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/hunkyfonts/hunkyfonts-${PV}.tar.bz2"
+
+S = "${WORKDIR}/hunkyfonts-${PV}/TTF/"
+
+PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
+FONT_PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
+
+FILES_ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf"
+FILES_ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf"
+
+SRC_URI[md5sum] = "b933312967842e5737b5415fa22d682a"
+SRC_URI[sha256sum] = "3fc528737ccd12ec3c09c4a91447d241d3c5bceeeb4d24b7f2c29b15c9735328"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
index 20041bb7..bf32fedc 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
@@ -14,7 +14,7 @@ FILES_${PN} = "${datadir}/fonts/truetype/Inconsolata.ttf \
${datadir}/doc/ttf-inconsolata/*"
do_configure() {
- mv ${WORKDIR}/Inconsolata.otf ${S}/Inconsolata.ttf
+ cp -fr ${WORKDIR}/Inconsolata.otf ${S}/Inconsolata.ttf
}
do_install_append() {
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
index f9679d60..0af0e91d 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
@@ -15,7 +15,7 @@ S = "${WORKDIR}/git"
FONT_PACKAGES = "${PN}"
FILES_${PN} = "${datadir}"
-inherit pythonnative
+inherit python3native
do_compile() {
cd ${S}; make ttf;
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
index 9ad348d9..efcf1b61 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
@@ -2,7 +2,7 @@ require ttf.inc
SUMMARY = "MPlus font - TTF Edition"
HOMEPAGE = "http://dejavu.sourceforge.net/wiki/"
-LICENSE = "${PN}"
+LICENSE = "${BPN}"
LIC_FILES_CHKSUM = "file://LICENSE_E;md5=ac161e96eda00db9a3aec7870b5d9658 \
file://LICENSE_J;md5=a120ca8d7c8e4a475d5277c9aeb95221 \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20190815.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20190815.bb
new file mode 100644
index 00000000..e74f7a7f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20190815.bb
@@ -0,0 +1,19 @@
+require ttf.inc
+
+SUMMARY = "Google noto emoji font pack"
+HOMEPAGE = "https://github.com/googlefonts/noto-emoji"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://fonts/LICENSE;md5=55719faa0112708e946b820b24b14097"
+
+SRC_URI = "git://github.com/googlefonts/noto-emoji;protocol=https"
+SRCREV = "833a43d03246a9325e748a2d783006454d76ff66"
+
+PACKAGES = "${PN}-color ${PN}-regular"
+FONT_PACKAGES = "${PN}-color ${PN}-regular"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN}-color = "${datadir}/fonts/truetype/NotoColorEmoji.ttf"
+FILES_${PN}-regular = "${datadir}/fonts/truetype/NotoEmoji-Regular.ttf"
+
+do_compile[noexec] = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
new file mode 100644
index 00000000..521caff7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
@@ -0,0 +1,14 @@
+require ttf.inc
+
+SUMMARY = "Roboto fonts"
+HOMEPAGE = "https://fonts.google.com/specimen/Roboto"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI = "https://github.com/google/roboto/releases/download/v${PV}/roboto-android.zip"
+SRC_URI[md5sum] = "3b43a5cb33196ec25e44d5fcb40219e1"
+SRC_URI[sha256sum] = "c825453253f590cfe62557733e7173f9a421fff103b00f57d33c4ad28ae53baf"
+
+S = "${WORKDIR}"
+
+FILES_${PN} = "${datadir}/fonts/truetype/*.ttf"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
index 62f2bb28..e522810a 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
@@ -4,7 +4,7 @@ SUMMARY = "Japanese TrueType fonts from Vine Linux"
AUTHOR = "Contributor: noonov <noonov@gmail.com>"
HOMEPAGE = "http://vlgothic.dicey.org/"
-LICENSE = "mplus & BSD"
+LICENSE = "ttf-mplus & BSD"
LIC_FILES_CHKSUM = "file://LICENSE.en;md5=66ecd0fd7e4da6246fa30317c7b66755 \
file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch b/external/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
new file mode 100644
index 00000000..25771168
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
@@ -0,0 +1,238 @@
+From 2a5cf5021b56bc92c9953d2c82e8c90502d22c97 Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Date: Fri, 13 Sep 2019 10:20:53 +0200
+Subject: [PATCH] build: use autotools
+
+This removes the hand-crafted Makefile in favor of standardized autotools
+build configuration. This is done to allow for easy cross-compilation of
+this project.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+---
+ .gitignore | 17 ++++++++++++
+ Makefile | 66 ---------------------------------------------
+ Makefile.am | 10 +++++++
+ configure.ac | 36 +++++++++++++++++++++++++
+ include/Makefile.am | 9 +++++++
+ man/Makefile.am | 7 +++++
+ obj/.gitkeep | 0
+ src/Makefile.am | 13 +++++++++
+ 8 files changed, 92 insertions(+), 66 deletions(-)
+ delete mode 100644 Makefile
+ create mode 100644 Makefile.am
+ create mode 100644 configure.ac
+ create mode 100644 include/Makefile.am
+ create mode 100644 man/Makefile.am
+ delete mode 100644 obj/.gitkeep
+ create mode 100644 src/Makefile.am
+
+diff --git a/.gitignore b/.gitignore
+index af88e94..4e7355a 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -3,3 +3,20 @@ obj/*.o
+ man/*.1
+ man/*.xml
+ test/GLOB*
++*.o
++
++# autotools stuff
++.deps/
++Makefile
++Makefile.in
++aclocal.m4
++autom4te.cache/
++autostuff/
++config.h
++config.h.in
++config.h.in~
++config.log
++config.status
++configure
++m4/
++stamp-h1
+diff --git a/Makefile b/Makefile
+deleted file mode 100644
+index 6264da0..0000000
+--- a/Makefile
++++ /dev/null
+@@ -1,66 +0,0 @@
+-TARGET = unclutter
+-VERSION = 1.5
+-SDIR = src
+-IDIR = include
+-ODIR = obj
+-
+-INSTALL = install
+-PREFIX = /usr
+-
+-BINDIR = $(PREFIX)/bin
+-MANDIR = $(PREFIX)/share/man/man1
+-LICENSEDIR = $(PREFIX)/share/licenses/$(TARGET)
+-
+-CC = gcc
+-LD = $(CC)
+-PKG_CONFIG = pkg-config
+-
+-CPPFLAGS += -D'__VERSION="${VERSION}"' "-I$(IDIR)"
+-
+-CFLAGS += -std=gnu99
+-CFLAGS += -Wall -Wundef -Wshadow -Wformat-security
+-
+-LDFLAGS += $(shell $(PKG_CONFIG) --libs x11 xi xfixes)
+-# libev has no pkg-config support
+-LDFLAGS += -lev
+-
+-INCS = $(wildcard $(IDIR)/*.h)
+-SRCS = $(wildcard $(SDIR)/*.c)
+-OBJS = $(patsubst %,$(ODIR)/%,$(notdir $(SRCS:.c=.o)))
+-
+-MANS = man/unclutter-xfixes.1
+-
+-.NOTPARALLEL:
+-
+-.PHONY: all
+-all: clean $(TARGET) mans
+-
+-.PHONY: $(TARGET)
+-$(TARGET): $(OBJS)
+- $(LD) $(OBJS) $(LDFLAGS) -o "$(TARGET)"
+-
+-$(ODIR)/%.o: $(SDIR)/%.c $(INCS)
+- $(CC) $(CPPFLAGS) $(CFLAGS) -o "$@" -c "$<"
+-
+-.PHONY: install
+-install: $(TARGET) mans
+- $(INSTALL) -Dm 0755 "$(TARGET)" "$(DESTDIR)$(BINDIR)/$(TARGET)"
+- $(INSTALL) -Dm 0644 man/unclutter-xfixes.1 "$(DESTDIR)$(MANDIR)/unclutter.1"
+- $(INSTALL) -Dm 0644 -t "$(DESTDIR)$(LICENSEDIR)/" LICENSE
+-
+-.PHONY: uninstall
+-uninstall:
+- $(RM) "$(DESTDIR)$(BINDIR)/$(TARGET)"
+- $(RM) "$(DESTDIR)$(MANDIR)/unclutter.1"
+- $(RM) "$(DESTDIR)$(LICENSEDIR)/LICENSE"
+-
+-.PHONY: mans
+-mans: $(MANS)
+-
+-$(MANS): %.1: %.man
+- a2x --no-xmllint -f manpage "$<"
+-
+-.PHONY: clean
+-clean:
+- $(RM) $(TARGET) $(OBJS)
+- $(RM) man/*.1 man/*.xml
+diff --git a/Makefile.am b/Makefile.am
+new file mode 100644
+index 0000000..38ecaa1
+--- /dev/null
++++ b/Makefile.am
+@@ -0,0 +1,10 @@
++ACLOCAL_AMFLAGS = -I m4
++AUTOMAKE_OPTIONS = foreign
++SUBDIRS = include src
++
++if HAS_A2X
++SUBDIRS += man
++endif
++
++licensedir = $(datadir)/licenses/unclutter
++license_DATA = LICENSE
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..1d59197
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,36 @@
++AC_PREREQ(2.61)
++
++AC_INIT([unclutter-xfixes], 1.6)
++AC_DEFINE_UNQUOTED([VERSION], ["$PACKAGE_VERSION"])
++
++AC_CONFIG_AUX_DIR([autostuff])
++AC_CONFIG_MACRO_DIRS([m4])
++AM_INIT_AUTOMAKE([foreign subdir-objects])
++
++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
++
++AC_CONFIG_SRCDIR([src])
++AC_CONFIG_HEADER([config.h])
++
++AM_PROG_AR
++AC_PROG_CC
++AC_PROG_INSTALL
++
++# libev has no pkg-config support
++AC_CHECK_HEADERS([ev.h], [], [AC_MSG_ERROR([ev.h not found - please install libev])])
++
++PKG_CHECK_MODULES([X11], [x11 xi xfixes])
++
++AC_CHECK_PROG([has_a2x], [a2x], [true], [false])
++AM_CONDITIONAL([HAS_A2X], [test "x$has_a2x" = xtrue])
++if test "x$has_a2x" = xfalse
++then
++ AC_MSG_NOTICE([a2x not found - needed to generate man pages])
++fi
++
++AC_CONFIG_FILES([Makefile
++ include/Makefile
++ src/Makefile
++ man/Makefile])
++
++AC_OUTPUT
+diff --git a/include/Makefile.am b/include/Makefile.am
+new file mode 100644
+index 0000000..90d8bbc
+--- /dev/null
++++ b/include/Makefile.am
+@@ -0,0 +1,9 @@
++noinst_HEADERS = \
++ all.h \
++ cursor.h \
++ event.h \
++ extensions.h \
++ externals.h \
++ globals.h \
++ types.h \
++ util.h
+diff --git a/man/Makefile.am b/man/Makefile.am
+new file mode 100644
+index 0000000..7856e6a
+--- /dev/null
++++ b/man/Makefile.am
+@@ -0,0 +1,7 @@
++unclutter-xfixes.1:
++ a2x --no-xmllint -f manpage unclutter-xfixes.man
++
++dist_man1_MANS = unclutter-xfixes.1
++
++clean-local:
++ rm -f unclutter-xfixes.1
+diff --git a/obj/.gitkeep b/obj/.gitkeep
+deleted file mode 100644
+index e69de29..0000000
+diff --git a/src/Makefile.am b/src/Makefile.am
+new file mode 100644
+index 0000000..c7f0729
+--- /dev/null
++++ b/src/Makefile.am
+@@ -0,0 +1,13 @@
++AM_CFLAGS = -D'__VERSION="${VERSION}"' "-I$(top_srcdir)/include"
++AM_CFLAGS += -std=gnu99 -Wall -Wundef -Wshadow -Wformat-security
++AM_CFLAGS += $(X11_CFLAGS)
++AM_LDFLAGS = -lev $(X11_LIBS)
++
++bin_PROGRAMS = unclutter
++
++unclutter_SOURCES = \
++ cursor.c \
++ event.c \
++ extensions.c \
++ unclutter.c \
++ util.c
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb
new file mode 100644
index 00000000..7e22038f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Remove idle cursor image from screen."
+DESCRIPTION = "This is a rewrite of the popular tool unclutter, but using the x11-xfixes extension."
+AUTHOR = "Ingo Bürk"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b25d2c4cca175f44120d1b8e67cb358d"
+
+SRC_URI = "git://github.com/Airblader/unclutter-xfixes.git \
+ file://0001-build-use-autotools.patch"
+SRCREV = "10fd337bb77e4e93c3380f630a0555372778a948"
+
+inherit autotools pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS = "libev libx11 libxi libxfixes"
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ # LICENSE is installed to /usr/share/licenses but we don't want it in the package
+ rm -rf ${D}${datadir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb
new file mode 100644
index 00000000..240949f5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.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 xorgproto"
+
+SRCREV = "f57a9904c43ef5d726320c77baa91d0c38361ed4"
+SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
+
+S = "${WORKDIR}/git"
+
+inherit features_check meson
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+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/external/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
deleted file mode 100644
index b79a562c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Video Decode and Presentation API for UNIX"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
-
-DEPENDS = "virtual/libx11 libxext xorgproto"
-
-PV = "1.1.1+git${SRCPV}"
-
-SRCREV = "a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc"
-SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
-
-S = "${WORKDIR}/git"
-
-inherit distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-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/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..d44445fa
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,111 @@
+From 8ab672ccc67b64058cffac2cd19a0d3b75d5aa25 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 11:43:32 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Submitted [https://github.com/LibVNC/x11vnc/pull/117]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/uinput.c | 28 ++++++++++++++++++++++++----
+ 1 file changed, 24 insertions(+), 4 deletions(-)
+
+diff --git a/src/uinput.c b/src/uinput.c
+index 28fbad3..343b7c5 100644
+--- a/src/uinput.c
++++ b/src/uinput.c
+@@ -54,6 +54,11 @@ so, delete this exception statement from your version.
+ #include <linux/input.h>
+ #include <linux/uinput.h>
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #if !defined(EV_SYN) || !defined(SYN_REPORT)
+ #undef UINPUT_OK
+ #endif
+@@ -710,6 +715,7 @@ void parse_uinput_str(char *in) {
+ static void ptr_move(int dx, int dy) {
+ #ifdef UINPUT_OK
+ struct input_event ev;
++ struct timeval tval;
+ int d = direct_rel_fd < 0 ? fd : direct_rel_fd;
+
+ if (injectable && strchr(injectable, 'M') == NULL) {
+@@ -720,7 +726,9 @@ static void ptr_move(int dx, int dy) {
+
+ if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d);
+
+- gettimeofday(&ev.time, NULL);
++ gettimeofday(&tval, NULL);
++ ev.input_event_sec = tval.tv_sec;
++ ev.input_event_usec = tval.tv_usec;
+ ev.type = EV_REL;
+ ev.code = REL_Y;
+ ev.value = dy;
+@@ -755,6 +763,7 @@ static void apply_tslib(int *x, int *y) {
+ static void ptr_abs(int x, int y, int p) {
+ #ifdef UINPUT_OK
+ struct input_event ev;
++ struct timeval tval;
+ int x0, y0;
+ int d = direct_abs_fd < 0 ? fd : direct_abs_fd;
+
+@@ -773,7 +782,9 @@ static void ptr_abs(int x, int y, int p) {
+
+ if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d);
+
+- gettimeofday(&ev.time, NULL);
++ gettimeofday(&tval, NULL);
++ ev.input_event_sec = tval.tv_sec;
++ ev.input_event_usec = tval.tv_usec;
+ ev.type = EV_ABS;
+ ev.code = ABS_Y;
+ ev.value = y;
+@@ -950,6 +961,7 @@ if (0) {usleep(100*1000) ;}
+ static void button_click(int down, int btn) {
+ #ifdef UINPUT_OK
+ struct input_event ev;
++ struct timeval tval;
+ int d = direct_btn_fd < 0 ? fd : direct_btn_fd;
+
+ if (injectable && strchr(injectable, 'B') == NULL) {
+@@ -959,7 +971,12 @@ static void button_click(int down, int btn) {
+ if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d);
+
+ memset(&ev, 0, sizeof(ev));
+- gettimeofday(&ev.time, NULL);
++ gettimeofday(&tval, NULL);
++ gettimeofday(&tval, NULL);
++ ev.input_event_sec = tval.tv_sec;
++ ev.input_event_usec = tval.tv_usec;
++ ev.input_event_sec = tval.tv_sec;
++ ev.input_event_usec = tval.tv_usec;
+ ev.type = EV_KEY;
+ ev.value = down;
+
+@@ -1230,6 +1247,7 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) {
+ void uinput_key_command(int down, int keysym, rfbClientPtr client) {
+ #ifdef UINPUT_OK
+ struct input_event ev;
++ struct timeval tval;
+ int scancode;
+ allowed_input_t input;
+ int d = direct_key_fd < 0 ? fd : direct_key_fd;
+@@ -1253,7 +1271,9 @@ void uinput_key_command(int down, int keysym, rfbClientPtr client) {
+ if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d);
+
+ memset(&ev, 0, sizeof(ev));
+- gettimeofday(&ev.time, NULL);
++ gettimeofday(&tval, NULL);
++ ev.input_event_sec = tval.tv_sec;
++ ev.input_event_usec = tval.tv_usec;
+ ev.type = EV_KEY;
+ ev.code = (unsigned char) scancode;
+ ev.value = down;
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch
new file mode 100644
index 00000000..a15f3fe5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch
@@ -0,0 +1,37 @@
+From 686491573827b98ba031adaa5da373366079d3d8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Dagenais?= <jeff.dagenais@gmail.com>
+Date: Mon, 11 Feb 2019 11:42:59 -0500
+Subject: [PATCH] misc/Makefile.am: don't install Xdummy when configured
+ --without-x
+
+Upstream-status: submitted https://github.com/jeff-dagenais/x11vnc/pull/1
+
+Signed-off-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com>
+---
+ misc/Makefile.am | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/misc/Makefile.am b/misc/Makefile.am
+index c0b98c8..e4a22c1 100644
+--- a/misc/Makefile.am
++++ b/misc/Makefile.am
+@@ -18,7 +18,10 @@ EXTRA_DIST = \
+ uinput.pl \
+ ultravnc_repeater.pl \
+ vcinject.pl \
+- x11vnc_loop \
++ x11vnc_loop
++
++if HAVE_X11
++EXTRA_DIST += \
+ Xdummy.c \
+ Xdummy.in
+
+@@ -32,3 +35,4 @@ do_dummy_c_subst = $(SED) \
+ Xdummy: $(srcdir)/Xdummy.in $(srcdir)/Xdummy.c
+ $(do_dummy_c_subst) < $< > $@.tmp
+ mv -f $@.tmp $@
++endif
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch
deleted file mode 100644
index f2a538bf..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-libvncserver: replace LIBVNCSERVER_WORDS_BIGENDIAN with WORDS_BIGENDIAN
-
-since macro AC_C_BIGENDIAN is used in autoconf and WORDS_BIGENDIAN is
-automatically set for different arch, it is better to use WORDS_BIGENDIAN
-instead of LIBVNCSERVER_WORDS_BIGENDIAN, which cuase issue in mips.
-
-Signed-off-by: Yu Ke <ke.yu@intel.com>
-
-Upstream-Status: Pending
-
-diff --git a/libvncserver/main.c b/libvncserver/main.c
-index b6bd930..8bbb7bf 100644
---- a/libvncserver/main.c
-+++ b/libvncserver/main.c
-@@ -47,7 +47,7 @@ static MUTEX(extMutex);
-
- static int rfbEnableLogging=1;
-
--#ifdef LIBVNCSERVER_WORDS_BIGENDIAN
-+#ifdef WORDS_BIGENDIAN
- char rfbEndianTest = (1==0);
- #else
- char rfbEndianTest = (1==1);
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch
new file mode 100644
index 00000000..a571ba28
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch
@@ -0,0 +1,30 @@
+From 95a10ab64c2dbbec2c8dad91a5ffb73a0d68474b Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147@gmail.com>
+Date: Mon, 16 Mar 2020 20:04:06 +1100
+Subject: [PATCH] src/cursor: fix xfc NULL pointer dereference
+
+xfc->width and xfc->height for the XFixes cursor image returned from
+XFixesGetCursorImage(dpy) are accessed without first checking that xfc
+is not NULL. This can result in the server sometimes crashing when
+moving a Google Chrome window.
+
+Fixes: 37c946191a0f ("Broken cursor bugfix for 64 bit systems (#49)")
+Upstream-Status: Accepted
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+---
+ src/cursor.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cursor.c b/src/cursor.c
+index 39e73a6..74a08c6 100644
+--- a/src/cursor.c
++++ b/src/cursor.c
+@@ -1311,7 +1311,7 @@ static int get_exact_cursor(int init) {
+
+ /* retrieve the cursor info + pixels from server: */
+ xfc = XFixesGetCursorImage(dpy);
+- {
++ if (xfc) {
+ /* 2017-07-09, Stephan Fuhrmann: This fixes an implementation flaw for 64 bit systems.
+ * The XFixesCursorImage structure says xfc->pixels is (unsigned long*) in the structure, but
+ * the protocol spec says it's 32 bit per pixel
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
index f62e405d..060319c7 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
@@ -10,10 +10,10 @@ Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Upstream-Status: Inappropriate [configuration]
-Index: x11vnc-0.9.12/x11vnc/x11vnc.desktop
+Index: x11vnc-0.9.12/x11vnc.desktop
===================================================================
---- x11vnc-0.9.12.orig/x11vnc/x11vnc.desktop 2011-03-03 10:33:18.000000000 +0800
-+++ x11vnc-0.9.12/x11vnc/x11vnc.desktop 2011-03-03 10:35:20.000000000 +0800
+--- x11vnc-0.9.12.orig/x11vnc.desktop 2011-03-03 10:33:18.000000000 +0800
++++ x11vnc-0.9.12/x11vnc.desktop 2011-03-03 10:35:20.000000000 +0800
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=X11VNC Server
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
deleted file mode 100644
index b047bc46..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Exports your X session on-the-fly via VNC"
-HOMEPAGE = "http://www.karlrunge.com/x11vnc/"
-
-SECTION = "x11/utils"
-AUTHOR = "Karl Runge"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f \
- file://x11vnc/x11vnc.h;endline=33;md5=6f95dc6535467d7ee1563fd434fb372e"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/x11vnc/${PV}/x11vnc-${PV}.tar.gz\
- file://starting-fix.patch \
- file://endian-fix.patch \
- file://remove-redundant-RPATH.patch \
-"
-
-SRC_URI[md5sum] = "a372ec4fe8211221547b1c108cf56e4c"
-SRC_URI[sha256sum] = "f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b"
-
-DEPENDS = "openssl virtual/libx11 libxext jpeg zlib libxfixes libxrandr libxdamage libxtst libtasn1 p11-kit"
-
-inherit autotools-brokensep distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} libvncserver"
-PACKAGECONFIG[avahi] = "--with-avahi,--without-avahi,avahi"
-PACKAGECONFIG[xinerama] = "--with-xinerama,--without-xinerama,libxinerama"
-PACKAGECONFIG[libvncserver] = "--with-system-libvncserver,--without-system-libvncserver,libvncserver"
-
-do_prepare_sources () {
- # Remove old libtool macros from acinclude.m4
- sed -i -e '/^# libtool.m4/q' ${S}/acinclude.m4
-}
-do_patch[postfuncs] += "do_prepare_sources"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
new file mode 100644
index 00000000..e3a1914f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Exports your X session or FrameBuffer(fbdev) on-the-fly via VNC"
+HOMEPAGE = "http://www.karlrunge.com/x11vnc/"
+
+SECTION = "x11/utils"
+AUTHOR = "Karl Runge"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/x11vnc.h;endline=31;md5=e871a2ad004776794b616822dcab6314"
+
+SRCREV = "4ca006fed80410bd9b061a1519bd5d9366bb0bc8"
+SRC_URI = "git://github.com/LibVNC/x11vnc \
+ file://starting-fix.patch \
+ file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ file://src-cursor-fix-xfc-NULL-pointer-dereference.patch \
+ "
+S = "${WORKDIR}/git"
+
+DEPENDS = "\
+ jpeg \
+ libtasn1 \
+ libvncserver \
+ openssl \
+ p11-kit \
+ zlib \
+"
+
+inherit pkgconfig autotools features_check
+
+ANY_OF_DISTRO_FEATURES = "x11 fbdev"
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
+"
+
+PACKAGECONFIG[avahi] = "--with-avahi,--without-avahi,avahi"
+PACKAGECONFIG[xinerama] = "--with-xinerama,--without-xinerama,libxinerama"
+PACKAGECONFIG[x11] = "--with-x,--without-x, libxdamage libxext libxfixes libxrandr libxtst virtual/libx11"
+
+RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'kernel-module-uinput', '', d)}"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
deleted file mode 100644
index a21dc42a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-LICENSE = "ManishSingh"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2"
-
-DEPENDS = "libpng libxcursor"
-
-SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031"
-SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581"
-
-inherit distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb
new file mode 100644
index 00000000..936d71b1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb
@@ -0,0 +1,14 @@
+LICENSE = "ManishSingh"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2"
+
+DEPENDS = "libpng libxcursor"
+
+SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "25cc7ca1ce5dcbb61c2b471c55e686b5"
+SRC_URI[sha256sum] = "35b6f844b24f1776e9006c880a745728800764dbe3b327a128772b4610d8eb3d"
+
+inherit features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
index b68e994a..259c6405 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
+++ b/external/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 pkgconfig
+inherit features_check pkgconfig perlnative
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
deleted file mode 100644
index d2afa78f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "a simple program for managing utmp/wtmp entries"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
-SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
-SRC_URI[md5sum] = "e475167a892b589da23edf8edf8c942d"
-SRC_URI[sha256sum] = "78a76ae3f3f6a26547a34630d1b740f42344848b5fb6d7c9c7f7da255e35a6e1"
-
-CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb
new file mode 100644
index 00000000..ad6bd17a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "a simple program for managing utmp/wtmp entries"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
+SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
+SRC_URI[md5sum] = "92be564d4be7d8aa7b5024057b715210"
+SRC_URI[sha256sum] = "dfcb9e954273ace63879aec053c7880466f8755752a35aa9ced3fa5f04fd2c33"
+
+CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb
deleted file mode 100644
index 84027538..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "A program to compile XKB keyboard description"
-
-DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
-XKB keymap into one of several output formats. The most common use for \
-xkbcomp is to create a compiled keymap file (.xkm extension) which can \
-be read directly by XKB-capable X servers or utilities."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
-
-PE = "1"
-
-DEPENDS += "libxkbfile"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "2c47a1b8e268df73963c4eb2316b1a89"
-SRC_URI[sha256sum] = "a9ddb3963f263ba13f0ea105d8c45a531832140530217cc559587bb94f02d3e1"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb
new file mode 100644
index 00000000..30fbd1b8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "A program to compile XKB keyboard description"
+
+DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
+XKB keymap into one of several output formats. The most common use for \
+xkbcomp is to create a compiled keymap file (.xkm extension) which can \
+be read directly by XKB-capable X servers or utilities."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
+
+PE = "1"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "93e736c98fb75856ee8227a0c49a128d"
+SRC_URI[sha256sum] = "8ff27486442725e50b02d7049152f51d125ecad71b7ce503cfa09d5d8ceeb9f5"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb
new file mode 100644
index 00000000..45caaacf
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb
@@ -0,0 +1,16 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "tiny window manager"
+DEPENDS += " libxext libxt libxmu bison-native"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586"
+
+SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "48e83210b39a7bfb492604ba0bcfb19e"
+SRC_URI[sha256sum] = "410ecabac54e6db7afd5c20a78d89c0134f3c74b149bee71b1fec775e6e060cc"
+
+FILES_${PN} += "${datadir}/X11/twm/system.twmrc"
+ALTERNATIVE_NAME = "x-window-manager"
+ALTERNATIVE_PATH = "${bindir}/twm"
+ALTERNATIVE_LINK = "${bindir}/x-window-manager"
+ALTERNATIVE_PRIORITY = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb
deleted file mode 100644
index 41c804bb..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "tiny window manager"
-DEPENDS += " libxext libxt libxmu bison-native"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586"
-
-SRC_URI[md5sum] = "59a6f076cdacb5f6945dac809bcf4906"
-SRC_URI[sha256sum] = "c575167ac33edf3bd1592f1bedfe0559debb128ed5fb4873c1278e3be166310a"
-
-FILES_${PN} += "${datadir}/X11/twm/system.twmrc"
-ALTERNATIVE_NAME = "x-window-manager"
-ALTERNATIVE_PATH = "${bindir}/twm"
-ALTERNATIVE_LINK = "${bindir}/x-window-manager"
-ALTERNATIVE_PRIORITY = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb
deleted file mode 100644
index cf970d5d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "analog / digital clock for X"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36"
-
-DEPENDS += " libxaw libxrender libxft libxkbfile libxt"
-
-SRC_URI[md5sum] = "eaf124bbc9d13e1a12a29faaa2ed3612"
-SRC_URI[sha256sum] = "53a9169e24f3814fbfcfee3ca0b98637840a3156ed7c7e36ae03940fabae4c9a"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb
new file mode 100644
index 00000000..31c553ee
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "analog / digital clock for X"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36"
+
+DEPENDS += " libxaw libxrender libxft libxkbfile libxt"
+
+SRC_URI[md5sum] = "437522a96f424f68fc64ed34ece9b211"
+SRC_URI[sha256sum] = "cf461fb2c6f2ac42c54d8429ee2010fdb9a1442a370adfbfe8a7bfaf33c123bb"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
deleted file mode 100644
index c74b2919..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "xfontsel provides point and click selection of X11 font names"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
-DEPENDS += " libxaw"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
-
-SRC_URI[md5sum] = "a40302b88c599b63e3d3d412e02871e6"
-SRC_URI[sha256sum] = "170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb
new file mode 100644
index 00000000..e9260240
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xfontsel provides point and click selection of X11 font names"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+DEPENDS += " libxaw"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+
+SRC_URI[md5sum] = "13150ff98846bf6d9a14bee00697fa47"
+SRC_URI[sha256sum] = "25aa0b7c4262f5e99c07c2b96e00e4eb25b7e53f94fa803942af9d0e8da3001c"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb
deleted file mode 100644
index 26977bea..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "A program to compile XKB keyboard description"
-DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \
-description of an XKB keyboard description."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f"
-
-DEPENDS += "libxkbfile"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "3c25b40de530112c08bf7d229c5c6a28"
-SRC_URI[sha256sum] = "0b3faab8fefad03dfb7e866f634cf859822801de6b5fc6cf5e0a62857ed93e12"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.5.bb
new file mode 100644
index 00000000..7b6ef968
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.5.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "A program to compile XKB keyboard description"
+DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \
+description of an XKB keyboard description."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "9c34da77363dc3d0f616980da87244bf"
+SRC_URI[sha256sum] = "5b58fe834f0822f06d63d283fac404098c6d3f6acce61888b81016f1c41023fa"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb
deleted file mode 100644
index 723d4e21..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/"
-DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
-
-DEPENDS += "libxmu"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "5dcb6e6c4b28c8d7aeb45257f5a72a7d"
-SRC_URI[sha256sum] = "47e5dc7c3dbda6db2cf8c00cedac1722835c1550aa21cfdbc9ba83906694dea4"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb
new file mode 100644
index 00000000..288bcfc8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/"
+DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
+
+DEPENDS += "libxmu"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "61671fee12535347db24ec3a715032a7"
+SRC_URI[sha256sum] = "57868f958c263976727881f3078e55b86b4a109dc578d2b92f5c6d690850a382"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
deleted file mode 100644
index d5774218..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "xmag is a tool to magnify parts of the screen"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
-DEPENDS += " libxaw libxt"
-
-SRC_URI[md5sum] = "280b81cb09d1903aa868a058d90128ad"
-SRC_URI[sha256sum] = "4ace8795cf756be4ba387f30366045594ce26adda2f5ffe1f8e896825d0932c6"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb
new file mode 100644
index 00000000..ab74f5bd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xmag is a tool to magnify parts of the screen"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
+DEPENDS += " libxaw libxt"
+
+SRC_URI[md5sum] = "8aaa41374935d697ee55d7dc9de70781"
+SRC_URI[sha256sum] = "87a2bc23b251e2d8f8370d3283a4d6c8dac98a30cb5749a04336cdb55c14e161"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
deleted file mode 100644
index 9960706d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "Display a message or query in a window"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
-
-DEPENDS += "libxaw"
-
-SRC_URI[md5sum] = "2dd5ae46fa18abc9331bc26250a25005"
-SRC_URI[sha256sum] = "bcdf4b461c439bb3ade6e1e41c47d6218b912da8e9396b7ad70856db2f95ab68"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb
new file mode 100644
index 00000000..23cfb26c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "Display a message or query in a window"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
+
+DEPENDS += "libxaw"
+
+SRC_URI[md5sum] = "e50ffae17eeb3943079620cb78f5ce0b"
+SRC_URI[sha256sum] = "373dfb81e7a6f06d3d22485a12fcde6e255d58c6dee1bbaeb00c7d0caa9b2029"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.1.bb
deleted file mode 100644
index e50c082d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "X server resource database utility"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69"
-
-DEPENDS += "libxmu"
-
-SRC_URI[md5sum] = "96f9423eab4d0641c70848d665737d2e"
-SRC_URI[sha256sum] = "2d23ade7cdbb487996bf77cbb32cbe9bdb34d004748a53de7a4a97660d2217b7"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb
new file mode 100644
index 00000000..c5e0e88e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb
@@ -0,0 +1,9 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "X server resource database utility"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69"
+
+DEPENDS += "libxmu"
+
+SRC_URI[md5sum] = "34ae801ef994d192c70fcce2bdb2a1b2"
+SRC_URI[sha256sum] = "f23a65cfa1f7126040d68b6cf1e4567523edac10f8dc06f23d840d330c7c6946"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb
deleted file mode 100644
index a2a4941e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/"
-DESCRIPTION = "xrefresh - refresh all or part of an X screen"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "a896382bc53ef3e149eaf9b13bc81d42"
-SRC_URI[sha256sum] = "3213671b0a8a9d1e8d1d5d9e3fd86842c894dd9acc1be2560eda50bc1fb791d6"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb
new file mode 100644
index 00000000..99dc3b5a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/"
+DESCRIPTION = "xrefresh - refresh all or part of an X screen"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "c56fa4adbeed1ee5173f464a4c4a61a6"
+SRC_URI[sha256sum] = "287dfb9bb7e8d780d07e672e3252150850869cb550958ed5f8401f0835cd6353"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb
deleted file mode 100644
index 2c79f27c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/"
-DESCRIPTION = "xsetroot is a root window parameter setting utility for X"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de"
-
-DEPENDS += "xbitmaps libxcursor"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "7211b31ec70631829ebae9460999aa0b"
-SRC_URI[sha256sum] = "ba215daaa78c415fce11b9e58c365d03bb602eaa5ea916578d76861a468cc3d9"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb
new file mode 100644
index 00000000..30a1e089
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/"
+DESCRIPTION = "xsetroot is a root window parameter setting utility for X"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de"
+
+DEPENDS += "xbitmaps libxcursor"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "5fe769c8777a6e873ed1305e4ce2c353"
+SRC_URI[sha256sum] = "10c442ba23591fb5470cea477a0aa5f679371f4f879c8387a1d9d05637ae417c"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
deleted file mode 100644
index 99f70364..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap"
-DESCRIPTION = "The xstdcmap utility can be used to selectively define \
-standard colormap properties."
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
-
-DEPENDS += "libxmu"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "eb5473acaef15a5db9b50df29c6a7f90"
-SRC_URI[sha256sum] = "f648e2b0cf16aa29856de998e2c7204be39dc1f8daeda9464d32288e0b580fc1"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb
new file mode 100644
index 00000000..9d523bd7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb
@@ -0,0 +1,16 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap"
+DESCRIPTION = "The xstdcmap utility can be used to selectively define \
+standard colormap properties."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
+
+DEPENDS += "libxmu"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "da67142c128d18386ff145882e0afc66"
+SRC_URI[sha256sum] = "06898b3f1eaad0b205ff3c75bdefa3207868b889d4cb37b32b8267b2bbfe6f8b"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch
new file mode 100644
index 00000000..d3beea8b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch
@@ -0,0 +1,77 @@
+From 3730a38efad969fb6f8227df07eb4461a078f5a3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 13 Dec 2019 12:59:26 -0800
+Subject: [PATCH] Add configure time check for setsid
+
+Do not assume glibc == linux
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure | 1 +
+ configure.in | 1 +
+ main.c | 4 ++--
+ xtermcfg.hin | 1 +
+ 5 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 0aafefc..03e8df0 100755
+--- a/configure
++++ b/configure
+@@ -5411,6 +5411,7 @@ for ac_func in \
+ unsetenv \
+ sched_yield \
+ setpgid \
++ setsid \
+ strftime \
+ tcgetattr \
+ waitpid \
+diff --git a/configure.in b/configure.in
+index d2fee88..74d65df 100644
+--- a/configure.in
++++ b/configure.in
+@@ -99,6 +99,7 @@ AC_CHECK_FUNCS( \
+ unsetenv \
+ sched_yield \
+ setpgid \
++ setsid \
+ strftime \
+ tcgetattr \
+ waitpid \
+diff --git a/main.c b/main.c
+index 5e60589..b81d2be 100644
+--- a/main.c
++++ b/main.c
+@@ -2868,7 +2868,7 @@ main(int argc, char *argv[]ENVP_ARG)
+ }
+ }
+
+-#if defined(__osf__) || (defined(__GLIBC__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
++#if defined(__osf__) || (defined(__linux__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+ #define USE_OPENPTY 1
+ static int opened_tty = -1;
+ #endif
+@@ -4040,7 +4040,7 @@ spawnXTerm(XtermWidget xw, unsigned line_speed)
+ /*
+ * now in child process
+ */
+-#if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__)
++#if HAVE_SETSID
+ int pgrp = setsid(); /* variable may not be used... */
+ #else
+ int pgrp = getpid();
+diff --git a/xtermcfg.hin b/xtermcfg.hin
+index 1dbc3b8..4f3ff5b 100644
+--- a/xtermcfg.hin
++++ b/xtermcfg.hin
+@@ -96,6 +96,7 @@
+ #undef HAVE_PUTENV /* AC_CHECK_FUNCS(putenv) */
+ #undef HAVE_SCHED_YIELD /* AC_CHECK_FUNCS(sched_yield) */
+ #undef HAVE_SETPGID /* AC_CHECK_FUNCS(setpgid) */
++#undef HAVE_SETSID /* AC_CHECK_FUNCS(setsid) */
+ #undef HAVE_STDINT_H /* AC_PROG_CC_STDC */
+ #undef HAVE_STDLIB_H /* AC_CHECK_HEADERS(stdlib.h) */
+ #undef HAVE_STRFTIME /* AC_CHECK_FUNCS(strftime) */
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
deleted file mode 100644
index c2feb810..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "xterm is the standard terminal emulator for the X Window System"
-DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses"
-
-LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=f02ab9ebda87b770ecf711dbb3784a33"
-
-SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
-
-SRC_URI[md5sum] = "9a6db7974aa4ccbb50eabebf72618467"
-SRC_URI[sha256sum] = "7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df"
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
-
-EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
- --disable-imake \
- --disable-rpath-hack \
- --disable-setuid"
-
-B = "${S}"
-
-do_configure() {
- gnu-configize --force
- sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
- oe_runconf
-}
-
-FILES_${PN} += "/usr/lib/X11"
-
-# busybox can supply resize too
-inherit update-alternatives
-
-ALTERNATIVE_${PN} = "resize"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_353.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_353.bb
new file mode 100644
index 00000000..6de704d0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_353.bb
@@ -0,0 +1,36 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "xterm is the standard terminal emulator for the X Window System"
+DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses"
+
+LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=996b1ce0584c0747b17b57654cc81e8e"
+
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
+ file://0001-Add-configure-time-check-for-setsid.patch \
+ "
+
+SRC_URI[md5sum] = "247c30ebfa44623f3a2d100e0cae5c7f"
+SRC_URI[sha256sum] = "e521d3ee9def61f5d5c911afc74dd5c3a56ce147c7071c74023ea24cac9bb768"
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
+
+EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+ FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
+ --disable-imake \
+ --disable-rpath-hack \
+ --disable-setuid \
+ --with-app-defaults=${datadir}/X11/app-defaults \
+ "
+
+B = "${S}"
+
+do_configure() {
+ gnu-configize --force
+ sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
+ oe_runconf
+}
+
+# busybox can supply resize too
+inherit update-alternatives
+
+ALTERNATIVE_${PN} = "resize"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
deleted file mode 100644
index 694bf57a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "xwd is a tool to capture an X window or screen to file"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf"
-DEPENDS = "libxmu libxkbfile"
-
-SRC_URI[md5sum] = "6b5d48464c5f366e91efd08b62b12d94"
-SRC_URI[sha256sum] = "3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb
new file mode 100644
index 00000000..1ad48b07
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xwd is a tool to capture an X window or screen to file"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf"
+DEPENDS = "libxmu libxkbfile"
+
+SRC_URI[md5sum] = "11794a8eba6d295a192a8975287fd947"
+SRC_URI[sha256sum] = "cd6815b8b9e0b98e284d3d732fb12162159cb9dcee4f45a7d4c0bd8b308a6794"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb
deleted file mode 100644
index 8647f038..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-data-common.inc
-
-SUMMARY = "Common X11 Bitmaps"
-LICENSE = "MIT"
-DEPENDS += "libxmu"
-RDEPENDS_${PN}-dev = ""
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f"
-
-SRC_URI[md5sum] = "7444bbbd999b53bec6a60608a5301f4c"
-SRC_URI[sha256sum] = "3671b034356bbc4d32d052808cf646c940ec8b2d1913adac51b1453e41aa1e9d"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb
new file mode 100644
index 00000000..4d26db66
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb
@@ -0,0 +1,11 @@
+require xorg-data-common.inc
+
+SUMMARY = "Common X11 Bitmaps"
+LICENSE = "MIT"
+DEPENDS += "libxmu"
+RDEPENDS_${PN}-dev = ""
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f"
+
+SRC_URI[md5sum] = "cedeef095918aca86da79a2934e03daf"
+SRC_URI[sha256sum] = "b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
index cb6b5ac7..958fecc1 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
@@ -7,6 +7,6 @@ XORG_PN = "${BPN}"
SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2"
S = "${WORKDIR}/${XORG_PN}-${PV}"
-inherit distro_features_check autotools pkgconfig
+inherit features_check autotools pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb
new file mode 100644
index 00000000..85687611
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb
@@ -0,0 +1,12 @@
+require xorg-doc-common.inc
+PE = "1"
+PR = "${INC_PR}.0"
+
+DEPENDS += "util-macros"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
+
+SRC_URI[md5sum] = "ee6dc0a8a693a908857af328b2462661"
+SRC_URI[sha256sum] = "e71ce1df82dcc51eb14be6f42171dcc6bdd11ef46c0c605d6da8af12bd73b74c"
+
+FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
deleted file mode 100644
index 80f1f008..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-doc-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-DEPENDS += "util-macros"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
-
-SRC_URI[md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e"
-SRC_URI[sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8"
-
-FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
deleted file mode 100644
index 90604394..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deviceinfo version="0.2">
- <device>
- <match key="info.capabilities" contains="input.touchpad">
- <merge key="input.x11_driver" type="string">tslib</merge>
- </match>
- <match key="info.capabilities" contains="input.touchscreen">
- <merge key="input.x11_driver" type="string">tslib</merge>
- </match>
- </device>
-</deviceinfo>
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
deleted file mode 100644
index 07754731..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-xorg-server-1.7.3/hw/xfree86/common/xf86Helper.c contains this code
-causing a double free crash on chvt or exit:
-
- /* This should *really* be handled in drv->UnInit(dev) call instead, but
- * if the driver forgets about it make sure we free it or at least crash
- * with flying colors */
- if (pInp->private)
- xfree(pInp->private);
-Index: xf86-input-tslib-0.0.6/src/tslib.c
-===================================================================
---- xf86-input-tslib-0.0.6.orig/src/tslib.c
-+++ xf86-input-tslib-0.0.6/src/tslib.c
-@@ -435,6 +435,7 @@ xf86TslibUninit(InputDriverPtr drv, Inpu
- xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
- ts_close(priv->ts);
- xfree(pInfo->private);
-+ pInfo->private = NULL;
- xf86DeleteInput(pInfo, 0);
- }
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
deleted file mode 100644
index d16b4a53..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Fixes crash when a touchscreen event is received with xserver 1.12 and later:
-X: symbol lookup error: /usr/lib/xorg/modules/input/tslib_drv.so: undefined symbol: xf86XInputSetScreen
-
-Upstream-Status: Pending
-
-Taken from Gentoo:
-https://bugs.gentoo.org/show_bug.cgi?id=446432
-
-diff -ur xf86-input-tslib-0.0.6.orig/src/tslib.c xf86-input-tslib-0.0.6/src/tslib.c
---- xf86-input-tslib-0.0.6.orig/src/tslib.c 2012-12-05 01:12:16.286597071 +0100
-+++ xf86-input-tslib-0.0.6/src/tslib.c 2012-12-05 01:11:02.686598595 +0100
-@@ -75,6 +75,19 @@
- #define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
- #endif
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 13
-+static void
-+xf86XInputSetScreen(InputInfoPtr pInfo,
-+ int screen_number,
-+ int x,
-+ int y)
-+{
-+ if (miPointerGetScreen(pInfo->dev) !=
-+ screenInfo.screens[screen_number]) {
-+ miPointerSetScreen(pInfo->dev, screen_number, x, y);
-+ }
-+}
-+#endif
-
- enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch
deleted file mode 100644
index 6a6d5b92..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-Upstream-Status: Pending
-
-Taken from debian:
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627075
-
-Index: xf86-input-tslib-trunk/src/tslib.c
-===================================================================
---- xf86-input-tslib-trunk/src/tslib.c (revision 48)
-+++ xf86-input-tslib-trunk/src/tslib.c (working copy)
-@@ -69,6 +69,13 @@
- #define DEFAULT_HEIGHT 240
- #define DEFAULT_WIDTH 320
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
-+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL)
-+#else
-+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
-+#endif
-+
-+
- enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
-
- enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 };
-@@ -106,7 +113,7 @@
- }
-
- static Bool
--ConvertProc( LocalDevicePtr local,
-+ConvertProc( InputInfoPtr local,
- int first,
- int num,
- int v0,
-@@ -135,7 +142,7 @@
- return t;
- }
-
--static void ReadInput (LocalDevicePtr local)
-+static void ReadInput (InputInfoPtr local)
- {
- struct ts_priv *priv = (struct ts_priv *) (local->private);
- struct ts_sample samp;
-@@ -382,7 +389,11 @@
- axiswidth - 1, /* max val */
- axiswidth, /* resolution */
- 0, /* min_res */
-- axiswidth); /* max_res */
-+ axiswidth /* max_res */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+ ,Absolute
-+#endif
-+ );
-
- InitValuatorAxisStruct(device, 1,
- #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-@@ -392,7 +403,11 @@
- axisheight - 1, /* max val */
- axisheight, /* resolution */
- 0, /* min_res */
-- axisheight); /* max_res */
-+ axisheight /* max_res */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+ ,Absolute
-+#endif
-+ );
-
- if (InitProximityClassDeviceStruct (device) == FALSE) {
- ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n");
-@@ -434,7 +449,7 @@
- ErrorF("%s\n", __FUNCTION__);
- xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
- ts_close(priv->ts);
-- xfree(pInfo->private);
-+ free(pInfo->private);
- pInfo->private = NULL;
- xf86DeleteInput(pInfo, 0);
- }
-@@ -444,47 +459,57 @@
- *
- * called when the module subsection is found in XF86Config
- */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+static int
-+xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
-+#else
- static InputInfoPtr
- xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags)
-+#endif
- {
- struct ts_priv *priv;
- char *s;
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- InputInfoPtr pInfo;
-+#endif
-
-- priv = xcalloc (1, sizeof (struct ts_priv));
-+ priv = calloc (1, sizeof (struct ts_priv));
- if (!priv)
-- return NULL;
-+ return BadValue;
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- if (!(pInfo = xf86AllocateInput(drv, 0))) {
-- xfree(priv);
-- return NULL;
-+ free(priv);
-+ return BadValue;
- }
-
- /* Initialise the InputInfoRec. */
- pInfo->name = dev->identifier;
-- pInfo->type_name = XI_TOUCHSCREEN;
- pInfo->flags =
- XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE |
- XI86_SEND_DRAG_EVENTS;
-- pInfo->device_control = xf86TslibControlProc;
-- pInfo->read_input = ReadInput;
- #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
- pInfo->motion_history_proc = xf86GetMotionEvents;
- pInfo->history_size = 0;
- #endif
-- pInfo->control_proc = NULL;
-+ pInfo->conf_idev = dev;
- pInfo->close_proc = NULL;
-- pInfo->switch_mode = NULL;
- pInfo->conversion_proc = ConvertProc;
- pInfo->reverse_conversion_proc = NULL;
-- pInfo->dev = NULL;
- pInfo->private_flags = 0;
- pInfo->always_core_feedback = 0;
-- pInfo->conf_idev = dev;
-+#endif
-+
-+ pInfo->type_name = XI_TOUCHSCREEN;
-+ pInfo->control_proc = NULL;
-+ pInfo->read_input = ReadInput;
-+ pInfo->device_control = xf86TslibControlProc;
-+ pInfo->switch_mode = NULL;
- pInfo->private = priv;
-+ pInfo->dev = NULL;
-
- /* Collect the options, and process the common options. */
-- xf86CollectInputOptions(pInfo, NULL, NULL);
-+ COLLECT_INPUT_OPTIONS(pInfo, NULL);
- xf86ProcessCommonOptions(pInfo, pInfo->options);
-
- priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
-@@ -510,23 +535,31 @@
- priv->rotate = TSLIB_ROTATE_NONE;
- }
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- s = xf86CheckStrOption(dev->commonOptions, "path", NULL);
-+#else
-+ s = xf86CheckStrOption(pInfo->options, "path", NULL);
-+#endif
- if (!s)
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- s = xf86CheckStrOption(dev->commonOptions, "Device", NULL);
-+#else
-+ s = xf86CheckStrOption(pInfo->options, "Device", NULL);
-+#endif
-
- priv->ts = ts_open(s, 1);
-- xfree(s);
-+ free(s);
-
- if (!priv->ts) {
- ErrorF("ts_open failed (device=%s)\n",s);
- xf86DeleteInput(pInfo, 0);
-- return NULL;
-+ return BadValue;
- }
-
- if (ts_config(priv->ts)) {
- ErrorF("ts_config failed\n");
- xf86DeleteInput(pInfo, 0);
-- return NULL;
-+ return BadValue;
- }
-
- pInfo->fd = ts_fd(priv->ts);
-@@ -536,11 +569,13 @@
- priv->state = BUTTON_EMULATION_OFF;
- }
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- /* Mark the device configured */
- pInfo->flags |= XI86_CONFIGURED;
-+#endif
-
- /* Return the configured device */
-- return (pInfo);
-+ return Success;
- }
-
- _X_EXPORT InputDriverRec TSLIB = {
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
deleted file mode 100644
index a1f6ba8f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From Grazvydas Ignotas
-
-At least xserver 1.7.4 crashes on XGetPointerControl request because of xf86-input-tslib:
-
-Program received signal SIGSEGV, Segmentation fault.
-#0 0x000355e0 in ProcGetPointerControl (client=0x4a2e58) at devices.c:2122
-#1 0x00062fa8 in Dispatch () at dispatch.c:439
-#2 0x00022444 in main (argc=4, argv=0xbeebedc4, envp=0xbeebedd8) at main.c:285
-
-This happens because ptrfeed field is not set in device structure from tslib.
-To fix this, call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT to get necessary setup done (as done in other input drivers).
-
----
-diff -ur xf86-input-tslib-0.0.6/src/tslib.c xf86-input-tslib-0.0.6_/src/tslib.c
---- xf86-input-tslib-0.0.6/src/tslib.c 2010-02-09 12:23:22.000000000 +0200
-+++ xf86-input-tslib-0.0.6_/src/tslib.c 2010-02-09 12:37:33.000000000 +0200
-@@ -103,8 +103,6 @@
- static void
- PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl)
- {
-- ErrorF("%s\n", __FUNCTION__);
-- return;
- }
-
- static Bool
-@@ -406,6 +404,8 @@
- xf86MotionHistoryAllocate(pInfo);
- #endif
-
-+ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc))
-+ return !Success;
- break;
-
- case DEVICE_ON:
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
deleted file mode 100644
index 6a3689a2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-input.inc
-SUMMARY = "X.Org X server -- tslib input driver"
-DEPENDS += "tslib"
-RRECOMMENDS_${PN} += "tslib-calibrate"
-RSUGGESTS_${PN} += "hal"
-
-# derived from xf86-input-void, that's why I kept MIT-X, but it's not clear, see COPYING
-LIC_FILES_CHKSUM = "file://src/tslib.c;endline=28;md5=bd62eaef222dcf5cd59e490a12bd795e \
- file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-
-PR = "${INC_PR}.1"
-
-SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2 \
- file://double-free-crash.patch \
- file://10-x11-input-tslib.fdi \
- file://xserver-174-XGetPointerControl.patch \
- file://99-xf86-input-tslib.rules \
- file://xf86-input-tslib-port-ABI-12-r48.patch \
- file://xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch \
-"
-
-SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f"
-SRC_URI[sha256sum] = "5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105"
-
-do_configure_prepend() {
- rm -rf ${S}/m4/ || true
-}
-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}${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 ${nonarch_base_libdir}/udev"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb
new file mode 100644
index 00000000..1f63047c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb
@@ -0,0 +1,20 @@
+require recipes-graphics/xorg-driver/xorg-driver-input.inc
+SUMMARY = "X.Org X server -- tslib input driver"
+DEPENDS += "tslib"
+RRECOMMENDS_${PN} += "tslib-calibrate"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=f1524518264f7776a9707c19c8affbbf"
+
+SRC_URI = "https://github.com/merge/xf86-input-tslib/releases/download/${PV}/xf86-input-tslib-${PV}.tar.xz \
+ file://99-xf86-input-tslib.rules \
+"
+
+SRC_URI[md5sum] = "c5ffb03bccccfa1c4ba11079fef0036e"
+SRC_URI[sha256sum] = "1439a9efa50eb481e6a0ab5319ab0765d457732e7da64e3c15f3c0cd13b44297"
+
+do_install_append() {
+ 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} += "${nonarch_base_libdir}/udev"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb
deleted file mode 100644
index 969c1a0a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb
+++ /dev/null
@@ -1,25 +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 \
- virtual/libgl xorgproto libpciaccess"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-SRC_URI[md5sum] = "40e7c0a5a69aba3d84e0958f58705ea7"
-SRC_URI[sha256sum] = "72ea3b8127d4550b64f797457f5a7851a541fa4ee2cc3f345b6c1886b81714a0"
-
-EXTRA_OECONF += "--disable-glamor"
-
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-RRECOMMENDS_${PN} += "linux-firmware-radeon"
-
-FILES_${PN} += "${datadir}/X11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
new file mode 100644
index 00000000..4042150b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
@@ -0,0 +1,23 @@
+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 \
+ virtual/libgl xorgproto libpciaccess"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+SRC_URI[md5sum] = "47eccf71823206ade9629cba69de7ef6"
+SRC_URI[sha256sum] = "5cb6015d8664546ad1311bc9c363d7bc41ebf60e7046ceb44dd38e5b707961b0"
+
+EXTRA_OECONF += "--disable-glamor"
+
+RDEPENDS_${PN} += "xserver-xorg-module-exa"
+RRECOMMENDS_${PN} += "linux-firmware-radeon"
+
+FILES_${PN} += "${datadir}/X11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
deleted file mode 100644
index 182e18fd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-SUMMARY = "X.Org X server -- Matrox MGA display driver"
-
-DESCRIPTION = "mga is an Xorg driver for Matrox video cards"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc"
-
-SRC_URI += "file://checkfile.patch"
-
-DEPENDS += "virtual/libx11 libpciaccess"
-
-COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
-
-SRC_URI[md5sum] = "3ee2549247e01de3e7bce52c27483118"
-SRC_URI[sha256sum] = "b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422"
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
-PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xorgproto,xserver-xorg-extension-dri"
-
-RDEPENDS_${PN} = "xserver-xorg-module-exa"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb
new file mode 100644
index 00000000..c113d51d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb
@@ -0,0 +1,21 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+SUMMARY = "X.Org X server -- Matrox MGA display driver"
+
+DESCRIPTION = "mga is an Xorg driver for Matrox video cards"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc"
+
+SRC_URI += "file://checkfile.patch"
+
+DEPENDS += "virtual/libx11 libpciaccess"
+
+COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
+
+SRC_URI[md5sum] = "b8fc99b4adea8bfe80156b13df4b6c9c"
+SRC_URI[sha256sum] = "268946e1a13e9d80e4f724a0740df9e6e8c8bad37697fcbf456924e9fdbb5d79"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
+PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xorgproto,xserver-xorg-extension-dri"
+
+RDEPENDS_${PN} = "xserver-xorg-module-exa"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
deleted file mode 100644
index 2b1b87c4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-
-SUMMARY = "X.Org X server -- nouveau video driver"
-
-DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
-
-DEPENDS += "virtual/libx11 libxvmc drm xorgproto \
- virtual/libgl libpciaccess"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3"
-SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb
new file mode 100644
index 00000000..5c9061a0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
+
+SUMMARY = "X.Org X server -- nouveau video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm xorgproto \
+ virtual/libgl libpciaccess"
+RDEPENDS_${PN} += "xserver-xorg-module-exa"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+SRC_URI[md5sum] = "ecd9be89d853301167e3d564c49f7a8e"
+SRC_URI[sha256sum] = "304060806415579cdb5c1f71f1c54d11cacb431b5552b170decbc883ed43bf06"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
index 29229bb5..d7dd1093 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
@@ -10,7 +10,7 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
index 898850bb..5c00b4b6 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
@@ -10,7 +10,7 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
index 4976e527..f9bdaf36 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
@@ -10,7 +10,7 @@ DEPENDS += "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
index 6e0b33ca..872ef4d0 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
@@ -10,7 +10,7 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
index e8cfb615..a4ae91a3 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
@@ -10,7 +10,7 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
index d425ce51..ee8cb360 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8b32ccac3ad25e75e68478deb7780265"
DEPENDS = "util-macros-native font-util-native bdftopcf-native"
RDEPENDS_${PN} = "encodings font-util"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
index e4cd90a7..355fb528 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
index 45e3f7b5..06778b3e 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
@@ -1,7 +1,7 @@
SUMMARY = "Xorg 100 DPI font set"
-LICENSE = "Custom"
+LICENSE = "MIT"
-inherit packagegroup distro_features_check
+inherit packagegroup features_check
# rdepends on font recipes with this restriction
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.3.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.3.bb
new file mode 100644
index 00000000..f935edd6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.3.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-lib/xcb-util.inc
+
+SUMMARY = "XCB port of libXcursor"
+
+DEPENDS += "xcb-util xcb-util-renderutil xcb-util-image"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ce469b61c70ff8d7cce0547476891974"
+
+SRC_URI[md5sum] = "6ac3b17cba51aaaa36ba035a53527214"
+SRC_URI[sha256sum] = "05a10a0706a1a789a078be297b5fb663f66a71fb7f7f1b99658264c35926394f"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
index 3a88f12e..b8c1881d 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
@@ -1,6 +1,6 @@
SUMMARY = "X screen saver and locker"
-LICENSE = "BSD"
+LICENSE = "BSD-0-Clause"
LIC_FILES_CHKSUM = "file://driver/xscreensaver.h;endline=10;md5=e141ab5822fb2d43694e1e47b59fc0df"
SRC_URI = "https://www.jwz.org/${BPN}/${BP}.tar.gz"
@@ -15,9 +15,9 @@ SRC_URI += " \
DEPENDS = "intltool-native libx11 libxext libxt libxft glib-2.0-native bc-native"
# These are only needed as part of the stopgap screensaver implementation:
-RDEPENDS_${PN} += "xserver-nodm-init liberation-fonts"
+RDEPENDS_${PN} += "liberation-fonts"
-inherit systemd perlnative pkgconfig gettext autotools-brokensep distro_features_check
+inherit systemd perlnative pkgconfig gettext autotools-brokensep features_check
EXTRA_OECONF += "--with-x-app-defaults=${datadir}/X11/app-defaults"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/external/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
index a5ed21d4..2c09a485 100644
--- a/external/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
PR = "r9"
# we are using a gpe-style Makefile
-inherit distro_features_check gpe
+inherit features_check gpe
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb b/external/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
new file mode 100644
index 00000000..3760a37d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Yet Another Dialog"
+DESCRIPTION = "Program allowing you to display GTK+ dialog boxes from command line or shell scripts."
+AUTHOR = "Victor Ananjevsky"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "git://github.com/v1cont/yad.git"
+SRCREV = "a5b1a7a3867bc7dffbbc539f586f301687b6ec02"
+
+inherit autotools gsettings features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS = "gtk+3 glib-2.0-native intltool-native"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${datadir}/icons/"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb b/external/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb
new file mode 100644
index 00000000..2eb19206
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Proxy for UDP/TCP debug connections"
+DESCRIPTION = "The agent-proxy will forward tcp or udp connections as well as allow for script multiplexing of terminal sessions."
+HOMEPAGE = "http://kgdb.wiki.kernel.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SECTION = "devel"
+
+EXTRA_OEMAKE = "'CC=${CC}'"
+
+SRCREV = "468fe4c31e6c62c9bbb328b06ba71eaf7be0b76a"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git;protocol=git \
+ file://0001-Makefile-Add-LDFLAGS-variable.patch \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 agent-proxy ${D}${bindir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb b/external/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb
deleted file mode 100644
index 8e370f96..00000000
--- a/external/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Proxy for UDP/TCP debug connections"
-DESCRIPTION = "The agent-proxy will forward tcp or udp connections as well as allow for script multiplexing of terminal sessions."
-HOMEPAGE = "http://kgdb.wiki.kernel.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
-
-SECTION = "devel"
-
-EXTRA_OEMAKE = "'CC=${CC}'"
-
-SRCREV = "e6c9d3d996bd55e7ab14dbd74deb7841e0c3a4f1"
-PV = "1.96+git${SRCPV}"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git;protocol=git \
- file://0001-Makefile-Add-LDFLAGS-variable.patch \
-"
-
-BBCLASSEXTEND = "native nativesdk"
-
-S = "${WORKDIR}/git"
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 agent-proxy ${D}${bindir}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb b/external/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
index dd7eaa2a..6683eccf 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
@@ -2,7 +2,6 @@ SUMMARY = "Inspect and manipulate eBPF programs and maps"
DESCRIPTION = "bpftool is a kernel tool for inspection and simple manipulation \
of eBPF programs and maps."
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
DEPENDS = "binutils elfutils"
PROVIDES = "virtual/bpftool"
@@ -10,7 +9,9 @@ inherit bash-completion kernelsrc kernel-arch
do_populate_lic[depends] += "virtual/kernel:do_patch"
-EXTRA_OEMAKE = "-C ${S}/tools/bpf/bpftool O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
+EXTRA_OEMAKE = "V=1 -C ${S}/tools/bpf/bpftool O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
+
+SECURITY_CFLAGS = ""
do_configure[depends] += "virtual/kernel:do_shared_workdir"
@@ -27,7 +28,8 @@ do_install() {
PACKAGE_ARCH = "${MACHINE_ARCH}"
python do_package_prepend() {
- d.setVar('PKGV', d.getVar("KERNEL_VERSION", True).split("-")[0])
+ d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
}
B = "${WORKDIR}/${BPN}-${PV}"
+PNBLACKLIST[bpftool] = "Needs forward porting to kernel 5.2+"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb b/external/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
index dd465036..cf70eb2c 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
@@ -5,7 +5,7 @@ LICENSE = "GPLv2"
DEPENDS = "pciutils gettext-native"
PROVIDES = "virtual/cpupower"
-inherit kernelsrc kernel-arch
+inherit kernelsrc kernel-arch bash-completion
do_populate_lic[depends] += "virtual/kernel:do_patch"
@@ -29,7 +29,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
RDEPENDS_${PN} = "bash"
python do_package_prepend() {
- d.setVar('PKGV', d.getVar("KERNEL_VERSION", True).split("-")[0])
+ d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
}
B = "${WORKDIR}/${BPN}-${PV}"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.4.bb b/external/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.4.bb
deleted file mode 100644
index c72b1a32..00000000
--- a/external/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.4.bb
+++ /dev/null
@@ -1,120 +0,0 @@
-SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
-DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
-investigate either live systems, kernel core dumps created from the\
-netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
-offered by Mission Critical Linux, or the LKCD kernel patch."
-
-HOMEPAGE = "http://people.redhat.com/anderson"
-SECTION = "devel"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "zlib readline coreutils-native"
-
-SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
- http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \
- file://7001force_define_architecture.patch \
- file://7003cross_ranlib.patch \
- file://0001-cross_add_configure_option.patch \
- file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
- file://sim-common-sim-arange-fix-extern-inline-handling.patch \
- file://donnot-extract-gdb-during-do-compile.patch \
- file://gdb_build_jobs_and_not_write_crash_target.patch \
- file://remove-unrecognized-gcc-option-m32-for-mips.patch \
- file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
- file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
- "
-SRC_URI[md5sum] = "4f66eb0e9a82ff83de06ac2b37501f5c"
-SRC_URI[sha256sum] = "85ca2e93f1ee628ef2499ab9c78623f8b04500bdf7378c09de19283f6a7a698f"
-
-SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
-SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
-
-UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
-
-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"
-
-# http://errors.yoctoproject.org/Errors/Details/186964/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.8.bb b/external/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.8.bb
new file mode 100644
index 00000000..834c92cc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.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 coreutils-native ncurses-native"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/crash-utility/${BPN}.git \
+ ${GNU_MIRROR}/gdb/gdb-7.6.tar.gz;name=gdb;subdir=git \
+ file://7001force_define_architecture.patch \
+ file://7003cross_ranlib.patch \
+ file://0001-cross_add_configure_option.patch \
+ file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
+ file://sim-common-sim-arange-fix-extern-inline-handling.patch \
+ file://donnot-extract-gdb-during-do-compile.patch \
+ file://gdb_build_jobs_and_not_write_crash_target.patch \
+ file://remove-unrecognized-gcc-option-m32-for-mips.patch \
+ file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
+ file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
+ "
+SRCREV = "24f4801f8c8871a2e3e660fe9fa8fdd86bb29876"
+
+SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
+SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
+
+UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
+
+inherit gettext
+
+BBCLASSEXTEND = "native cross"
+TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
+
+# crash 7.1.3 and before don't support mips64/riscv64
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+COMPATIBLE_HOST_mipsarchn64 = "null"
+COMPATIBLE_HOST_mipsarchn32 = "null"
+
+
+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} --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}'"
+
+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
+ 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
+ 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"
+
+# http://errors.yoctoproject.org/Errors/Details/186964/
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch
new file mode 100644
index 00000000..eadfb7ea
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch
@@ -0,0 +1,53 @@
+From 24aed93efb30a8f557aedc2f03b6ccec758ccbf4 Mon Sep 17 00:00:00 2001
+From: Chrostoper Ertl <chertl@microsoft.com>
+Date: Thu, 28 Nov 2019 16:44:18 +0000
+Subject: [PATCH 1/5] fru: Fix buffer overflow in ipmi_spd_print_fru
+
+Partial fix for CVE-2020-5208, see
+https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
+
+The `ipmi_spd_print_fru` function has a similar issue as the one fixed
+by the previous commit in `read_fru_area_section`. An initial request is
+made to get the `fru.size`, which is used as the size for the allocation
+of `spd_data`. Inside a loop, further requests are performed to get the
+copy sizes which are not checked before being used as the size for a
+copy into the buffer.
+
+Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/840fb1cbb4fb365cb9797300e3374d4faefcdb10]
+CVE: CVE-2020-5208
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ lib/dimm_spd.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/lib/dimm_spd.c b/lib/dimm_spd.c
+index 91ae117..4c9c21d 100644
+--- a/lib/dimm_spd.c
++++ b/lib/dimm_spd.c
+@@ -1014,7 +1014,7 @@ ipmi_spd_print_fru(struct ipmi_intf * intf, uint8_t id)
+ struct ipmi_rq req;
+ struct fru_info fru;
+ uint8_t *spd_data, msg_data[4];
+- int len, offset;
++ uint32_t len, offset;
+
+ msg_data[0] = id;
+
+@@ -1091,6 +1091,13 @@ ipmi_spd_print_fru(struct ipmi_intf * intf, uint8_t id)
+ }
+
+ len = rsp->data[0];
++ if(rsp->data_len < 1
++ || len > rsp->data_len - 1
++ || len > fru.size - offset)
++ {
++ printf(" Not enough buffer size");
++ return -1;
++ }
+ memcpy(&spd_data[offset], rsp->data + 1, len);
+ offset += len;
+ } while (offset < fru.size);
+--
+1.9.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-vulnerabilities.patch b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-vulnerabilities.patch
new file mode 100644
index 00000000..b65e3ef1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-vulnerabilities.patch
@@ -0,0 +1,133 @@
+From e824c23316ae50beb7f7488f2055ac65e8b341f2 Mon Sep 17 00:00:00 2001
+From: Chrostoper Ertl <chertl@microsoft.com>
+Date: Thu, 28 Nov 2019 16:33:59 +0000
+Subject: [PATCH] fru: Fix buffer overflow vulnerabilities
+
+Partial fix for CVE-2020-5208, see
+https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
+
+The `read_fru_area_section` function only performs size validation of
+requested read size, and falsely assumes that the IPMI message will not
+respond with more than the requested amount of data; it uses the
+unvalidated response size to copy into `frubuf`. If the response is
+larger than the request, this can result in overflowing the buffer.
+
+The same issue affects the `read_fru_area` function.
+
+Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/e824c23316ae50beb7f7488f2055ac65e8b341f2]
+CVE: CVE-2020-5208
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ lib/ipmi_fru.c | 33 +++++++++++++++++++++++++++++++--
+ 1 file changed, 31 insertions(+), 2 deletions(-)
+
+diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c
+index c2a139d..2e323ff 100644
+--- a/lib/ipmi_fru.c
++++ b/lib/ipmi_fru.c
+@@ -663,7 +663,10 @@ int
+ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
+ uint32_t offset, uint32_t length, uint8_t *frubuf)
+ {
+- uint32_t off = offset, tmp, finish;
++ uint32_t off = offset;
++ uint32_t tmp;
++ uint32_t finish;
++ uint32_t size_left_in_buffer;
+ struct ipmi_rs * rsp;
+ struct ipmi_rq req;
+ uint8_t msg_data[4];
+@@ -676,10 +679,12 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
+
+ finish = offset + length;
+ if (finish > fru->size) {
++ memset(frubuf + fru->size, 0, length - fru->size);
+ finish = fru->size;
+ lprintf(LOG_NOTICE, "Read FRU Area length %d too large, "
+ "Adjusting to %d",
+ offset + length, finish - offset);
++ length = finish - offset;
+ }
+
+ memset(&req, 0, sizeof(req));
+@@ -715,6 +720,7 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
+ }
+ }
+
++ size_left_in_buffer = length;
+ do {
+ tmp = fru->access ? off >> 1 : off;
+ msg_data[0] = id;
+@@ -756,9 +762,18 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
+ }
+
+ tmp = fru->access ? rsp->data[0] << 1 : rsp->data[0];
++ if(rsp->data_len < 1
++ || tmp > rsp->data_len - 1
++ || tmp > size_left_in_buffer)
++ {
++ printf(" Not enough buffer size");
++ return -1;
++ }
++
+ memcpy(frubuf, rsp->data + 1, tmp);
+ off += tmp;
+ frubuf += tmp;
++ size_left_in_buffer -= tmp;
+ /* sometimes the size returned in the Info command
+ * is too large. return 0 so higher level function
+ * still attempts to parse what was returned */
+@@ -791,7 +806,9 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
+ uint32_t offset, uint32_t length, uint8_t *frubuf)
+ {
+ static uint32_t fru_data_rqst_size = 20;
+- uint32_t off = offset, tmp, finish;
++ uint32_t off = offset;
++ uint32_t tmp, finish;
++ uint32_t size_left_in_buffer;
+ struct ipmi_rs * rsp;
+ struct ipmi_rq req;
+ uint8_t msg_data[4];
+@@ -804,10 +821,12 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
+
+ finish = offset + length;
+ if (finish > fru->size) {
++ memset(frubuf + fru->size, 0, length - fru->size);
+ finish = fru->size;
+ lprintf(LOG_NOTICE, "Read FRU Area length %d too large, "
+ "Adjusting to %d",
+ offset + length, finish - offset);
++ length = finish - offset;
+ }
+
+ memset(&req, 0, sizeof(req));
+@@ -822,6 +841,8 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
+ if (fru->access && fru_data_rqst_size > 16)
+ #endif
+ fru_data_rqst_size = 16;
++
++ size_left_in_buffer = length;
+ do {
+ tmp = fru->access ? off >> 1 : off;
+ msg_data[0] = id;
+@@ -853,8 +874,16 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
+ }
+
+ tmp = fru->access ? rsp->data[0] << 1 : rsp->data[0];
++ if(rsp->data_len < 1
++ || tmp > rsp->data_len - 1
++ || tmp > size_left_in_buffer)
++ {
++ printf(" Not enough buffer size");
++ return -1;
++ }
+ memcpy((frubuf + off)-offset, rsp->data + 1, tmp);
+ off += tmp;
++ size_left_in_buffer -= tmp;
+
+ /* sometimes the size returned in the Info command
+ * is too large. return 0 so higher level function
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch
new file mode 100644
index 00000000..b8742b1a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch
@@ -0,0 +1,53 @@
+From 81144cfba131b4ddbfcf9c530274b23bfc7e0ea8 Mon Sep 17 00:00:00 2001
+From: Chrostoper Ertl <chertl@microsoft.com>
+Date: Thu, 28 Nov 2019 16:51:49 +0000
+Subject: [PATCH 2/5] session: Fix buffer overflow in ipmi_get_session_info
+
+Partial fix for CVE-2020-5208, see
+https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
+
+The `ipmi_get_session_info` function does not properly check the
+response `data_len`, which is used as a copy size, allowing stack buffer
+overflow.
+
+Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/41d7026946fafbd4d1ec0bcaca3ea30a6e8eed22]
+CVE: CVE-2020-5208
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ lib/ipmi_session.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/lib/ipmi_session.c b/lib/ipmi_session.c
+index 4855bc4..71bef4c 100644
+--- a/lib/ipmi_session.c
++++ b/lib/ipmi_session.c
+@@ -319,8 +319,10 @@ ipmi_get_session_info(struct ipmi_intf * intf,
+ }
+ else
+ {
+- memcpy(&session_info, rsp->data, rsp->data_len);
+- print_session_info(&session_info, rsp->data_len);
++ memcpy(&session_info, rsp->data,
++ __min(rsp->data_len, sizeof(session_info)));
++ print_session_info(&session_info,
++ __min(rsp->data_len, sizeof(session_info)));
+ }
+ break;
+
+@@ -351,8 +353,10 @@ ipmi_get_session_info(struct ipmi_intf * intf,
+ break;
+ }
+
+- memcpy(&session_info, rsp->data, rsp->data_len);
+- print_session_info(&session_info, rsp->data_len);
++ memcpy(&session_info, rsp->data,
++ __min(rsp->data_len, sizeof(session_info)));
++ print_session_info(&session_info,
++ __min(rsp->data_len, sizeof(session_info)));
+
+ } while (i <= session_info.session_slot_count);
+ break;
+--
+1.9.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0003-channel-Fix-buffer-overflow.patch b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0003-channel-Fix-buffer-overflow.patch
new file mode 100644
index 00000000..deebd356
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0003-channel-Fix-buffer-overflow.patch
@@ -0,0 +1,69 @@
+From 5057761e30e3a7682edab60f98f631616392ddc6 Mon Sep 17 00:00:00 2001
+From: Chrostoper Ertl <chertl@microsoft.com>
+Date: Thu, 28 Nov 2019 16:56:38 +0000
+Subject: [PATCH 3/3] channel: Fix buffer overflow
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Partial fix for CVE-2020-5208, see
+https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
+
+The `ipmi_get_channel_cipher_suites` function does not properly check
+the final response’s `data_len`, which can lead to stack buffer overflow
+on the final copy.
+
+Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/9452be87181a6e83cfcc768b3ed8321763db50e4]
+CVE: CVE-2020-5208
+
+[Make some changes to apply it]
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ include/ipmitool/ipmi_channel.h | 2 ++
+ lib/ipmi_channel.c | 10 ++++++++--
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/include/ipmitool/ipmi_channel.h b/include/ipmitool/ipmi_channel.h
+index b138c26..d7cce5e 100644
+--- a/include/ipmitool/ipmi_channel.h
++++ b/include/ipmitool/ipmi_channel.h
+@@ -77,6 +77,8 @@ struct channel_access_t {
+ uint8_t user_level_auth;
+ };
+
++#define MAX_CIPHER_SUITE_DATA_LEN 0x10
++
+ /*
+ * The Get Authentication Capabilities response structure
+ * From table 22-15 of the IPMI v2.0 spec
+diff --git a/lib/ipmi_channel.c b/lib/ipmi_channel.c
+index fab2e54..76ecdcd 100644
+--- a/lib/ipmi_channel.c
++++ b/lib/ipmi_channel.c
+@@ -378,7 +378,10 @@ ipmi_get_channel_cipher_suites(struct ipmi_intf *intf, const char *payload_type,
+ lprintf(LOG_ERR, "Unable to Get Channel Cipher Suites");
+ return -1;
+ }
+- if (rsp->ccode > 0) {
++ if (rsp->ccode
++ || rsp->data_len < 1
++ || rsp->data_len > sizeof(uint8_t) + MAX_CIPHER_SUITE_DATA_LEN)
++ {
+ lprintf(LOG_ERR, "Get Channel Cipher Suites failed: %s",
+ val2str(rsp->ccode, completion_code_vals));
+ return -1;
+@@ -413,7 +416,10 @@ ipmi_get_channel_cipher_suites(struct ipmi_intf *intf, const char *payload_type,
+ lprintf(LOG_ERR, "Unable to Get Channel Cipher Suites");
+ return -1;
+ }
+- if (rsp->ccode > 0) {
++ if (rsp->ccode
++ || rsp->data_len < 1
++ || rsp->data_len > sizeof(uint8_t) + MAX_CIPHER_SUITE_DATA_LEN)
++ {
+ lprintf(LOG_ERR, "Get Channel Cipher Suites failed: %s",
+ val2str(rsp->ccode, completion_code_vals));
+ return -1;
+--
+2.18.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch
new file mode 100644
index 00000000..b5ce9e92
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch
@@ -0,0 +1,94 @@
+From e6aa6076f65e71544bd6450d20d943d7baaccb9f Mon Sep 17 00:00:00 2001
+From: Chrostoper Ertl <chertl@microsoft.com>
+Date: Thu, 28 Nov 2019 17:06:39 +0000
+Subject: [PATCH 4/5] lanp: Fix buffer overflows in get_lan_param_select
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Partial fix for CVE-2020-5208, see
+https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
+
+The `get_lan_param_select` function is missing a validation check on the
+response’s `data_len`, which it then returns to caller functions, where
+stack buffer overflow can occur.
+
+Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/d45572d71e70840e0d4c50bf48218492b79c1a10]
+CVE: CVE-2020-5208
+
+[Make some changes to apply it]
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ lib/ipmi_lanp.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/lib/ipmi_lanp.c b/lib/ipmi_lanp.c
+index 060e753..dee21ee 100644
+--- a/lib/ipmi_lanp.c
++++ b/lib/ipmi_lanp.c
+@@ -1917,7 +1917,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
+ if (p == NULL) {
+ return (-1);
+ }
+- memcpy(data, p->data, p->data_len);
++ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
+ /* set new ipaddr */
+ memcpy(data+3, temp, 4);
+ printf("Setting LAN Alert %d IP Address to %d.%d.%d.%d\n", alert,
+@@ -1932,7 +1932,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
+ if (p == NULL) {
+ return (-1);
+ }
+- memcpy(data, p->data, p->data_len);
++ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
+ /* set new macaddr */
+ memcpy(data+7, temp, 6);
+ printf("Setting LAN Alert %d MAC Address to "
+@@ -1947,7 +1947,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
+ if (p == NULL) {
+ return (-1);
+ }
+- memcpy(data, p->data, p->data_len);
++ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
+
+ if (strncasecmp(argv[1], "def", 3) == 0 ||
+ strncasecmp(argv[1], "default", 7) == 0) {
+@@ -1973,7 +1973,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
+ if (p == NULL) {
+ return (-1);
+ }
+- memcpy(data, p->data, p->data_len);
++ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
+
+ if (strncasecmp(argv[1], "on", 2) == 0 ||
+ strncasecmp(argv[1], "yes", 3) == 0) {
+@@ -1998,7 +1998,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
+ if (p == NULL) {
+ return (-1);
+ }
+- memcpy(data, p->data, p->data_len);
++ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
+
+ if (strncasecmp(argv[1], "pet", 3) == 0) {
+ printf("Setting LAN Alert %d destination to PET Trap\n", alert);
+@@ -2026,7 +2026,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
+ if (p == NULL) {
+ return (-1);
+ }
+- memcpy(data, p->data, p->data_len);
++ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
+
+ if (str2uchar(argv[1], &data[2]) != 0) {
+ lprintf(LOG_ERR, "Invalid time: %s", argv[1]);
+@@ -2042,7 +2042,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
+ if (p == NULL) {
+ return (-1);
+ }
+- memcpy(data, p->data, p->data_len);
++ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
+
+ if (str2uchar(argv[1], &data[3]) != 0) {
+ lprintf(LOG_ERR, "Invalid retry: %s", argv[1]);
+--
+1.9.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0005-fru-sdr-Fix-id_string-buffer-overflows.patch b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0005-fru-sdr-Fix-id_string-buffer-overflows.patch
new file mode 100644
index 00000000..cf8b9254
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0005-fru-sdr-Fix-id_string-buffer-overflows.patch
@@ -0,0 +1,142 @@
+From 26e64ca78ae844c5ceedde89531e2924d7d4594c Mon Sep 17 00:00:00 2001
+From: Chrostoper Ertl <chertl@microsoft.com>
+Date: Thu, 28 Nov 2019 17:13:45 +0000
+Subject: [PATCH 5/5] fru, sdr: Fix id_string buffer overflows
+
+Final part of the fixes for CVE-2020-5208, see
+https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
+
+9 variants of stack buffer overflow when parsing `id_string` field of
+SDR records returned from `CMD_GET_SDR` command.
+
+SDR record structs have an `id_code` field, and an `id_string` `char`
+array.
+
+The length of `id_string` is calculated as `(id_code & 0x1f) + 1`,
+which can be larger than expected 16 characters (if `id_code = 0xff`,
+then length will be `(0xff & 0x1f) + 1 = 32`).
+
+In numerous places, this can cause stack buffer overflow when copying
+into fixed buffer of size `17` bytes from this calculated length.
+
+Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/7ccea283dd62a05a320c1921e3d8d71a87772637]
+CVE: CVE-2020-5208
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ lib/ipmi_fru.c | 2 +-
+ lib/ipmi_sdr.c | 40 ++++++++++++++++++++++++----------------
+ 2 files changed, 25 insertions(+), 17 deletions(-)
+
+diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c
+index b71ea23..1decea2 100644
+--- a/lib/ipmi_fru.c
++++ b/lib/ipmi_fru.c
+@@ -3038,7 +3038,7 @@ ipmi_fru_print(struct ipmi_intf * intf, struct sdr_record_fru_locator * fru)
+ return 0;
+
+ memset(desc, 0, sizeof(desc));
+- memcpy(desc, fru->id_string, fru->id_code & 0x01f);
++ memcpy(desc, fru->id_string, __min(fru->id_code & 0x01f, sizeof(desc)));
+ desc[fru->id_code & 0x01f] = 0;
+ printf("FRU Device Description : %s (ID %d)\n", desc, fru->device_id);
+
+diff --git a/lib/ipmi_sdr.c b/lib/ipmi_sdr.c
+index fa7b082..175a86f 100644
+--- a/lib/ipmi_sdr.c
++++ b/lib/ipmi_sdr.c
+@@ -2113,7 +2113,7 @@ ipmi_sdr_print_sensor_eventonly(struct ipmi_intf *intf,
+ return -1;
+
+ memset(desc, 0, sizeof (desc));
+- snprintf(desc, (sensor->id_code & 0x1f) + 1, "%s", sensor->id_string);
++ snprintf(desc, sizeof(desc), "%.*s", (sensor->id_code & 0x1f) + 1, sensor->id_string);
+
+ if (verbose) {
+ printf("Sensor ID : %s (0x%x)\n",
+@@ -2164,7 +2164,7 @@ ipmi_sdr_print_sensor_mc_locator(struct ipmi_intf *intf,
+ return -1;
+
+ memset(desc, 0, sizeof (desc));
+- snprintf(desc, (mc->id_code & 0x1f) + 1, "%s", mc->id_string);
++ snprintf(desc, sizeof(desc), "%.*s", (mc->id_code & 0x1f) + 1, mc->id_string);
+
+ if (verbose == 0) {
+ if (csv_output)
+@@ -2257,7 +2257,7 @@ ipmi_sdr_print_sensor_generic_locator(struct ipmi_intf *intf,
+ char desc[17];
+
+ memset(desc, 0, sizeof (desc));
+- snprintf(desc, (dev->id_code & 0x1f) + 1, "%s", dev->id_string);
++ snprintf(desc, sizeof(desc), "%.*s", (dev->id_code & 0x1f) + 1, dev->id_string);
+
+ if (!verbose) {
+ if (csv_output)
+@@ -2314,7 +2314,7 @@ ipmi_sdr_print_sensor_fru_locator(struct ipmi_intf *intf,
+ char desc[17];
+
+ memset(desc, 0, sizeof (desc));
+- snprintf(desc, (fru->id_code & 0x1f) + 1, "%s", fru->id_string);
++ snprintf(desc, sizeof(desc), "%.*s", (fru->id_code & 0x1f) + 1, fru->id_string);
+
+ if (!verbose) {
+ if (csv_output)
+@@ -2518,35 +2518,43 @@ ipmi_sdr_print_name_from_rawentry(struct ipmi_intf *intf,uint16_t id,
+
+ int rc =0;
+ char desc[17];
++ const char *id_string;
++ uint8_t id_code;
+ memset(desc, ' ', sizeof (desc));
+
+ switch ( type) {
+ case SDR_RECORD_TYPE_FULL_SENSOR:
+ record.full = (struct sdr_record_full_sensor *) raw;
+- snprintf(desc, (record.full->id_code & 0x1f) +1, "%s",
+- (const char *)record.full->id_string);
++ id_code = record.full->id_code;
++ id_string = record.full->id_string;
+ break;
++
+ case SDR_RECORD_TYPE_COMPACT_SENSOR:
+ record.compact = (struct sdr_record_compact_sensor *) raw ;
+- snprintf(desc, (record.compact->id_code & 0x1f) +1, "%s",
+- (const char *)record.compact->id_string);
++ id_code = record.compact->id_code;
++ id_string = record.compact->id_string;
+ break;
++
+ case SDR_RECORD_TYPE_EVENTONLY_SENSOR:
+ record.eventonly = (struct sdr_record_eventonly_sensor *) raw ;
+- snprintf(desc, (record.eventonly->id_code & 0x1f) +1, "%s",
+- (const char *)record.eventonly->id_string);
+- break;
++ id_code = record.eventonly->id_code;
++ id_string = record.eventonly->id_string;
++ break;
++
+ case SDR_RECORD_TYPE_MC_DEVICE_LOCATOR:
+ record.mcloc = (struct sdr_record_mc_locator *) raw ;
+- snprintf(desc, (record.mcloc->id_code & 0x1f) +1, "%s",
+- (const char *)record.mcloc->id_string);
++ id_code = record.mcloc->id_code;
++ id_string = record.mcloc->id_string;
+ break;
++
+ default:
+ rc = -1;
+- break;
+- }
++ }
++ if (!rc) {
++ snprintf(desc, sizeof(desc), "%.*s", (id_code & 0x1f) + 1, id_string);
++ }
+
+- lprintf(LOG_INFO, "ID: 0x%04x , NAME: %-16s", id, desc);
++ lprintf(LOG_INFO, "ID: 0x%04x , NAME: %-16s", id, desc);
+ return rc;
+ }
+
+--
+1.9.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
index b7f1aa91..3de9a92a 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
@@ -24,6 +24,12 @@ DEPENDS = "openssl readline ncurses"
SRC_URI = "${SOURCEFORGE_MIRROR}/ipmitool/ipmitool-${PV}.tar.bz2 \
file://0001-Migrate-to-openssl-1.1.patch \
+ file://0001-fru-Fix-buffer-overflow-vulnerabilities.patch \
+ file://0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch \
+ file://0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch \
+ file://0003-channel-Fix-buffer-overflow.patch \
+ file://0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch \
+ file://0005-fru-sdr-Fix-id_string-buffer-overflows.patch \
"
SRC_URI[md5sum] = "bab7ea104c7b85529c3ef65c54427aa3"
SRC_URI[sha256sum] = "0c1ba3b1555edefb7c32ae8cd6a3e04322056bc087918f07189eeedfc8b81e01"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-Prevent-access-times-from-changing-resulting-gzip-md.patch b/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-Prevent-access-times-from-changing-resulting-gzip-md.patch
new file mode 100644
index 00000000..78c05ef3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-Prevent-access-times-from-changing-resulting-gzip-md.patch
@@ -0,0 +1,25 @@
+From da668e5bf1a721797361ab866d09913ee8e157c4 Mon Sep 17 00:00:00 2001
+From: Jeremy Puhlman <jpuhlman@mvista.com>
+Date: Sat, 22 Feb 2020 04:37:04 +0000
+Subject: [PATCH] Prevent access times from changing resulting gzip md5sum
+
+Upstream-Status: Pending
+https://github.com/ipmitool/ipmitool/pull/186
+---
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index b792762..2c52ce6 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -59,5 +59,5 @@ install:
+ ${INSTALL_DATA_SH} iuser.8 ${manto}
+ ${INSTALL_DATA_SH} iseltime.8 ${manto}
+ ${INSTALL_DATA_SH} bmclanpet.mib ${datato}
+- cd ${manto}; gzip -f *.8
++ cd ${manto}; gzip -nf *.8
+
+--
+2.13.3
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb b/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb
deleted file mode 100644
index 338cafd5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\
-It can get/set sensor thresholds, automate SEL management, do SOL console, etc."
-
-DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \
-support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\
-locally, or remotely via IPMI LAN, even when the OS or main CPU is not\
-functional.\n \
-The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \
-(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \
-Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \
-can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \
-is detected."
-
-HOMEPAGE = "http://ipmiutil.sourceforge.net"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=626a5970304daa1fcb87f757fb42b795"
-
-DEPENDS += "openssl"
-
-PARALLEL_MAKE = ""
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \
- file://fix_systemd_path.patch \
- "
-SRC_URI[md5sum] = "5feaf6a827205792e057bb4ff5c4e842"
-SRC_URI[sha256sum] = "b2d7f72535131c7832ba4be13dc33c81513fc3ee43fe797b4b52014600ecee5e"
-
-inherit autotools-brokensep pkgconfig systemd
-
-PACKAGECONFIG ?= "lanplus gpl"
-PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no"
-PACKAGECONFIG[sha256] = "--enable-sha256, --enable-sha256=no, openssl-native, openssl"
-PACKAGECONFIG[lanplus] = "--enable-lanplus, --enable-lanplus=no, openssl-native, openssl"
-PACKAGECONFIG[landesk] = "--enable-landesk, --enable-landesk=no"
-PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no"
-
-#build with some GPL code
-PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no"
-#no GPL or LanPlus libs
-PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no"
-
-CFLAGS += "-I${STAGING_INCDIR}"
-LDFLAGS += "-L${STAGING_LIBDIR}"
-
-COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb b/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb
new file mode 100644
index 00000000..d0f3688a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb
@@ -0,0 +1,47 @@
+SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\
+It can get/set sensor thresholds, automate SEL management, do SOL console, etc."
+
+DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \
+support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\
+locally, or remotely via IPMI LAN, even when the OS or main CPU is not\
+functional.\n \
+The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \
+(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \
+Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \
+can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \
+is detected."
+
+HOMEPAGE = "http://ipmiutil.sourceforge.net"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=626a5970304daa1fcb87f757fb42b795"
+
+DEPENDS += "openssl"
+
+PARALLEL_MAKE = ""
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \
+ file://fix_systemd_path.patch \
+ file://0001-Prevent-access-times-from-changing-resulting-gzip-md.patch \
+ "
+SRC_URI[md5sum] = "292d6df25cad678bb27e5c8cdc6748f9"
+SRC_URI[sha256sum] = "58ccdbd5755d7dd72478756715af09e9c73330dfad2b91dbf03d2ac504b301a3"
+
+inherit autotools-brokensep pkgconfig systemd
+
+PACKAGECONFIG ?= "lanplus gpl"
+PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no"
+PACKAGECONFIG[sha256] = "--enable-sha256, --enable-sha256=no, openssl-native, openssl"
+PACKAGECONFIG[lanplus] = "--enable-lanplus, --enable-lanplus=no, openssl-native, openssl"
+PACKAGECONFIG[landesk] = "--enable-landesk, --enable-landesk=no"
+PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no"
+
+#build with some GPL code
+PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no"
+#no GPL or LanPlus libs
+PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no"
+
+CFLAGS += "-I${STAGING_INCDIR}"
+LDFLAGS += "-L${STAGING_LIBDIR}"
+
+COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/external/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
index 181e97ca..3687c267 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
@@ -18,11 +18,16 @@ SRC_URI += "file://run-ptest \
# we will append other kernel selftest in the future
# bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d
# if you have older kernel than that you need to remove it from PACKAGECONFIG
-PACKAGECONFIG ??= "bpf vm"
+PACKAGECONFIG ??= "bpf firmware vm"
PACKAGECONFIG_remove_x86 = "bpf"
PACKAGECONFIG_remove_arm = "bpf"
+# host ptrace.h is used to compile BPF target but mips ptrace.h is needed
+# progs/loop1.c:21:9: error: incomplete definition of type 'struct user_pt_regs'
+# m = PT_REGS_RC(ctx);
+PACKAGECONFIG_remove_qemumips = "bpf"
PACKAGECONFIG[bpf] = ",,elfutils libcap libcap-ng rsync-native,"
+PACKAGECONFIG[firmware] = ",,libcap, bash"
PACKAGECONFIG[vm] = ",,libcap,libgcc bash"
do_patch[depends] += "virtual/kernel:do_shared_workdir"
@@ -32,13 +37,15 @@ inherit linux-kernel-base kernel-arch ptest
S = "${WORKDIR}/${BP}"
TEST_LIST = "\
- ${@bb.utils.filter('PACKAGECONFIG', 'bpf vm', d)} \
+ ${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware vm', d)} \
+ rtc \
"
EXTRA_OEMAKE = '\
CROSS_COMPILE=${TARGET_PREFIX} \
ARCH=${ARCH} \
CC="${CC}" \
+ CLANG="clang -fno-stack-protector -target ${TARGET_ARCH} ${TOOLCHAIN_OPTIONS}" \
AR="${AR}" \
LD="${LD}" \
DESTDIR="${D}" \
@@ -52,20 +59,14 @@ KERNEL_SELFTEST_SRC ?= "Makefile \
LICENSES \
"
-python __anonymous () {
- import re
-
- var = d.getVar('TARGET_CC_ARCH')
- pattern = '_FORTIFY_SOURCE=[^0]'
-
- if re.search(pattern, var):
- d.appendVar('TARGET_CC_ARCH', " -O")
-}
-
do_compile() {
- bbwarn "clang >= 6.0 with bpf support is needed with kernel 4.18+ so \
-either install it and add it to HOSTTOOLS, or add \
-clang-native from meta-clang to dependency"
+ if [ ${@bb.utils.contains('PACKAGECONFIG', 'bpf', 'True', 'False', d)} = 'True' ]; then
+ if [ ${@bb.utils.contains('DEPENDS', 'clang-native', 'True', 'False', d)} = 'False' ]; then
+ bbwarn "clang >= 6.0 with bpf support is needed with kernel 4.18+ so
+either install it and add it to HOSTTOOLS, or add clang-native from meta-clang to dependency"
+ fi
+ fi
+
for i in ${TEST_LIST}
do
oe_runmake -C ${S}/tools/testing/selftests/${i}
@@ -121,3 +122,11 @@ FILES_${PN} += "/usr/kernel-selftest"
RDEPENDS_${PN} += "python3"
# tools/testing/selftests/vm/Makefile doesn't respect LDFLAGS and tools/testing/selftests/Makefile explicitly overrides to empty
INSANE_SKIP_${PN} += "ldflags"
+
+SECURITY_CFLAGS = ""
+COMPATIBLE_HOST_libc-musl = 'null'
+
+# It has native clang/llvm dependency, poky distro is reluctant to include them as deps
+# this helps with world builds on AB
+EXCLUDE_FROM_WORLD = "1"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc b/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc
index cd819f31..1f70f720 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc
@@ -15,7 +15,9 @@ EXTRA_OEMAKE = " \
LIBDIR=${D}${libdir} \
MANDIR=${D}${mandir}/man1 \
SYSTEMDDIR=${D}${systemd_system_unitdir} \
+ UPSTARTDIR=${D}${sysconfdir}/init \
DESTDIR=${D} \
+ ARCH=${TARGET_ARCH} \
BUILDMOD=no \
CC='${CC}' \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch b/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch
index ab3b1276..348d82ac 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch
@@ -1,6 +1,6 @@
-From 70de3fecbc551907c4fd504cfff385c73be8db75 Mon Sep 17 00:00:00 2001
-From: Ruslan Bilovol <rbilovol@cisco.com>
-Date: Tue, 19 Dec 2017 15:59:04 +0200
+From 21909e3f9096fa8e4825df8c65114ee92ab3d532 Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Wed, 7 Aug 2019 02:57:35 +0900
Subject: [PATCH] kpatch-build: add cross-compilation support
This patch introduces new option for kpatch-build
@@ -17,44 +17,45 @@ possible to pass multy-component strings like
Upstream-Status: Pending
Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
-
---
kpatch-build/kpatch-build | 13 +++++++++++--
kpatch-build/kpatch-gcc | 4 ++--
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build
-index a76913f..4a011aa 100755
+index 9ef3809..463dab1 100755
--- a/kpatch-build/kpatch-build
+++ b/kpatch-build/kpatch-build
-@@ -197,7 +197,7 @@ gcc_version_check() {
+@@ -198,7 +198,7 @@ gcc_version_check() {
# gcc --version varies between distributions therefore extract version
# by compiling a test file and compare it to vmlinux's version.
echo 'void main(void) {}' > "$c"
- out="$(gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)"
+ out="$(${KPATCH_CROSS_COMPILE}gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)"
gccver="$(gcc_version_from_file "$o")"
- kgccver="$(gcc_version_from_file "$VMLINUX")"
- rm -f "$c" "$o"
-@@ -392,12 +392,14 @@ usage() {
- echo " -d, --debug Enable 'xtrace' and keep scratch files" >&2
- echo " in <CACHEDIR>/tmp" >&2
+ if [[ -n "$OOT_MODULE" ]]; then
+ kgccver="$(gcc_version_from_file "$OOT_MODULE")"
+@@ -411,6 +411,8 @@ usage() {
echo " (can be specified multiple times)" >&2
+ echo " -e, --oot-module Enable patching out-of-tree module," >&2
+ echo " specify current version of module" >&2
+ echo " --cross-compile Specify the prefix used for all executables" >&2
+ echo " used during compilation" >&2
echo " --skip-cleanup Skip post-build cleanup" >&2
- echo " --skip-gcc-check Skip gcc version matching check" >&2
+ echo " --skip-gcc-check Skip gcc version matching check" >&2
+ echo " (not recommended)" >&2
+@@ -416,7 +418,7 @@ usage() {
echo " (not recommended)" >&2
}
--options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
-+options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
+-options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
++options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
eval set -- "$options"
-@@ -455,6 +457,10 @@ while [[ $# -gt 0 ]]; do
- echo "DEBUG mode enabled"
- fi
+@@ -479,6 +481,10 @@ while [[ $# -gt 0 ]]; do
+ OOT_MODULE="$(readlink -f "$2")"
+ shift
;;
+ --cross-compile)
+ KPATCH_CROSS_COMPILE="$2"
@@ -63,17 +64,17 @@ index a76913f..4a011aa 100755
--skip-cleanup)
echo "Skipping cleanup"
SKIPCLEANUP=1
-@@ -710,6 +716,8 @@ if [[ $DEBUG -ge 4 ]]; then
+@@ -757,6 +763,8 @@ if [[ $DEBUG -ge 4 ]]; then
export KPATCH_GCC_DEBUG=1
fi
+export KPATCH_CROSS_COMPILE
+
- echo "Building original kernel"
- ./scripts/setlocalversion --save-scmversion || die
+ echo "Building original source"
+ [[ -n "$OOT_MODULE" ]] || ./scripts/setlocalversion --save-scmversion || die
unset KPATCH_GCC_TEMPDIR
-@@ -874,6 +882,7 @@ cd "$TEMPDIR/patch" || die
- KPATCH_BUILD="$SRCDIR" KPATCH_NAME="$MODNAME" \
+@@ -940,6 +948,7 @@ fi
+ KPATCH_BUILD="$KPATCH_BUILD" KPATCH_NAME="$MODNAME" \
KBUILD_EXTRA_SYMBOLS="$KBUILD_EXTRA_SYMBOLS" \
KPATCH_LDFLAGS="$KPATCH_LDFLAGS" \
+CROSS_COMPILE="$KPATCH_CROSS_COMPILE" \
@@ -81,7 +82,7 @@ index a76913f..4a011aa 100755
if ! "$KPATCH_MODULE"; then
diff --git a/kpatch-build/kpatch-gcc b/kpatch-build/kpatch-gcc
-index 2d56da1..59a4255 100755
+index 9663290..56e6c8f 100755
--- a/kpatch-build/kpatch-gcc
+++ b/kpatch-build/kpatch-gcc
@@ -8,7 +8,7 @@ TOOLCHAINCMD="$1"
@@ -93,9 +94,12 @@ index 2d56da1..59a4255 100755
fi
declare -a args=("$@")
-@@ -82,4 +82,4 @@ elif [[ "$TOOLCHAINCMD" = "ld" ]] ; then
+@@ -84,4 +84,4 @@ elif [[ "$TOOLCHAINCMD" = "ld" ]] ; then
done
fi
-exec "$TOOLCHAINCMD" "${args[@]}"
+exec ${KPATCH_CROSS_COMPILE}${TOOLCHAINCMD} "${args[@]}"
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch b/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch
index 13cdc6bf..0cc36841 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch
@@ -1,6 +1,6 @@
-From 15838a86d5ea94fa05976ea32fd847b18261b403 Mon Sep 17 00:00:00 2001
-From: Ruslan Bilovol <rbilovol@cisco.com>
-Date: Tue, 2 Jan 2018 14:50:03 +0200
+From 4143fa0092fe4cafee10b24a97d3ad0b41ab7a30 Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Wed, 7 Aug 2019 03:24:39 +0900
Subject: [PATCH] kpatch-build: allow overriding of distro name
It is sometimes useful to have ability to override
@@ -14,17 +14,16 @@ implements all needed functionality
Upstream-Status: Pending
Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
-
---
kpatch-build/kpatch-build | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build
-index 4a011aa..eb6cd64 100755
+index 39933fc..c0258a2 100755
--- a/kpatch-build/kpatch-build
+++ b/kpatch-build/kpatch-build
-@@ -394,12 +394,13 @@ usage() {
- echo " (can be specified multiple times)" >&2
+@@ -413,12 +413,13 @@ usage() {
+ echo " specify current version of module" >&2
echo " --cross-compile Specify the prefix used for all executables" >&2
echo " used during compilation" >&2
+ echo " --distro Override distro name" >&2
@@ -33,12 +32,12 @@ index 4a011aa..eb6cd64 100755
echo " (not recommended)" >&2
}
--options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
-+options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,distro:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
+-options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
++options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,cross-compile:,distro:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
eval set -- "$options"
-@@ -461,6 +462,10 @@ while [[ $# -gt 0 ]]; do
+@@ -485,6 +486,10 @@ while [[ $# -gt 0 ]]; do
KPATCH_CROSS_COMPILE="$2"
shift
;;
@@ -49,12 +48,15 @@ index 4a011aa..eb6cd64 100755
--skip-cleanup)
echo "Skipping cleanup"
SKIPCLEANUP=1
-@@ -539,7 +544,7 @@ fi
+@@ -613,7 +613,7 @@ fi
# Don't check external file.
- # shellcheck disable=SC1091
- source /etc/os-release
+ # shellcheck disable=SC1090
+ [[ -f "$RELEASE_FILE" ]] && source "$RELEASE_FILE"
-DISTRO="$ID"
+DISTRO="${DISTRO:-${ID}}"
if [[ "$DISTRO" = fedora ]] || [[ "$DISTRO" = rhel ]] || [[ "$DISTRO" = ol ]] || [[ "$DISTRO" = centos ]]; then
[[ -z "$VMLINUX" ]] && VMLINUX="/usr/lib/debug/lib/modules/$ARCHVERSION/vmlinux"
[[ -e "$VMLINUX" ]] || die "kernel-debuginfo-$ARCHVERSION not installed"
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb b/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb
index 024cca65..ba3983e6 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb
@@ -2,9 +2,9 @@ require kpatch.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "7f550f01bd308cf058ae782327d29c8916cc5602"
+SRCREV = "0c3c21930895f6582a5c9d9d797f7e11ff41ffb2"
-PV = "0.6.1+git${SRCPV}"
+PV = "0.9.1"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4/0001-Include-poll.h-instead-of-sys-poll.h.patch b/external/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4/0001-Include-poll.h-instead-of-sys-poll.h.patch
new file mode 100644
index 00000000..fe13df2b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4/0001-Include-poll.h-instead-of-sys-poll.h.patch
@@ -0,0 +1,86 @@
+From f62b629c1e1e968f90aafbc0cf9116b49eea9d8e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 15 Dec 2019 16:24:37 -0800
+Subject: [PATCH] Include poll.h instead of sys/poll.h
+
+Fixes
+error: redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror,-W#warnings]
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ perf_examples/branch_smpl.c | 2 +-
+ perf_examples/syst_smpl.c | 2 +-
+ perf_examples/task_attach_timeout.c | 2 +-
+ perf_examples/task_smpl.c | 2 +-
+ perf_examples/x86/bts_smpl.c | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/perf_examples/branch_smpl.c b/perf_examples/branch_smpl.c
+index 87cd303..4d16b04 100644
+--- a/perf_examples/branch_smpl.c
++++ b/perf_examples/branch_smpl.c
+@@ -32,7 +32,7 @@
+ #include <getopt.h>
+ #include <setjmp.h>
+ #include <sys/wait.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/mman.h>
+ #include <locale.h>
+ #include <sys/ioctl.h>
+diff --git a/perf_examples/syst_smpl.c b/perf_examples/syst_smpl.c
+index 04580fd..d059c08 100755
+--- a/perf_examples/syst_smpl.c
++++ b/perf_examples/syst_smpl.c
+@@ -33,7 +33,7 @@
+ #include <setjmp.h>
+ #include <sys/ptrace.h>
+ #include <sys/wait.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+ #include <fcntl.h>
+diff --git a/perf_examples/task_attach_timeout.c b/perf_examples/task_attach_timeout.c
+index 7fc5524..a0367c8 100644
+--- a/perf_examples/task_attach_timeout.c
++++ b/perf_examples/task_attach_timeout.c
+@@ -36,7 +36,7 @@
+ #include <stdarg.h>
+ #include <sys/wait.h>
+ #include <err.h>
+-#include <sys/poll.h>
++#include <poll.h>
+
+ #include "perf_util.h"
+
+diff --git a/perf_examples/task_smpl.c b/perf_examples/task_smpl.c
+index dcb7481..95c432c 100644
+--- a/perf_examples/task_smpl.c
++++ b/perf_examples/task_smpl.c
+@@ -37,7 +37,7 @@
+ #include <getopt.h>
+ #include <setjmp.h>
+ #include <sys/wait.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/mman.h>
+ #include <locale.h>
+ #include <sys/ioctl.h>
+diff --git a/perf_examples/x86/bts_smpl.c b/perf_examples/x86/bts_smpl.c
+index 6498776..d66d5e6 100644
+--- a/perf_examples/x86/bts_smpl.c
++++ b/perf_examples/x86/bts_smpl.c
+@@ -41,7 +41,7 @@
+ #include <sys/time.h>
+ #include <sys/ptrace.h>
+ #include <sys/wait.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/mman.h>
+ #include <sys/resource.h>
+ #include <err.h>
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb b/external/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb
new file mode 100644
index 00000000..ff56d480
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Monitoring tools exploiting the performance monitoring events"
+DESCRIPTION = "This package provides a library, called libpfm4 which is used to develop \
+monitoring tools exploiting the performance monitoring events such as those \
+provided by the Performance Monitoring Unit (PMU) of modern processors."
+HOMEPAGE = "http://perfmon2.sourceforge.net/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=144822&atid=759953&source=navbar"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0de488f3bd4424e308e2e399cb99c788"
+
+SECTION = "devel"
+
+COMPATIBLE_HOST = "powerpc64"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/perfmon2/${BPN}/libpfm-${PV}.tar.gz \
+ file://0001-Include-poll.h-instead-of-sys-poll.h.patch \
+ "
+SRC_URI[md5sum] = "d8f66cb9bfa7e1434434e0de6409db5b"
+SRC_URI[sha256sum] = "c61c575378b5c17ccfc5806761e4038828610de76e2e34fac9f7fa73ba844b49"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/perfmon2/files/libpfm4/"
+
+EXTRA_OEMAKE = "DESTDIR=\"${D}\" PREFIX=\"${prefix}\" LIBDIR=\"${libdir}\" LDCONFIG=\"true\""
+EXTRA_OEMAKE_append_powerpc = " ARCH=\"powerpc\""
+EXTRA_OEMAKE_append_powerpc64 = " ARCH=\"powerpc\" BITMODE=\"64\""
+EXTRA_OEMAKE_append_powerpc64le = " ARCH=\"powerpc\" BITMODE=\"64\""
+
+S = "${WORKDIR}/libpfm-${PV}"
+
+do_install () {
+ oe_runmake install
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch b/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
index a4780652..ff093a72 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
@@ -1,4 +1,4 @@
-From 8eeb1b15608ce1a9a1f0d5417938fd6da4504406 Mon Sep 17 00:00:00 2001
+From af97e2ad643334b4c7c3d66f971ce9ebb2b596af Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Thu, 21 Jul 2016 18:06:21 +0800
Subject: [PATCH] makedumpfile: replace hardcode CFLAGS
@@ -13,30 +13,28 @@ Subject: [PATCH] makedumpfile: replace hardcode CFLAGS
Upstream-Status: Inappropriate[oe specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
-
---
- Makefile | 46 +++++++++++++++++++++++-----------------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
+ Makefile | 45 +++++++++++++++++++++++----------------------
+ 1 file changed, 23 insertions(+), 22 deletions(-)
diff --git a/Makefile b/Makefile
-index 612b9d0..f6d6265 100644
+index 1fdb628..5dce589 100644
--- a/Makefile
+++ b/Makefile
-@@ -8,13 +8,6 @@ ifeq ($(strip $CC),)
+@@ -8,12 +8,6 @@ ifeq ($(strip $CC),)
CC = gcc
endif
--CFLAGS = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
-- -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
-- -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(DATE)"'
--CFLAGS_ARCH = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
-- -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+-CFLAGS_BASE := $(CFLAGS) -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
+- -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+-CFLAGS := $(CFLAGS_BASE) -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(DATE)"'
+-CFLAGS_ARCH := $(CFLAGS_BASE)
-# LDFLAGS = -L/usr/local/lib -I/usr/local/include
-
HOST_ARCH := $(shell uname -m)
# Use TARGET as the target architecture if specified.
# Defaults to uname -m
-@@ -22,29 +15,36 @@ ifeq ($(strip($TARGET)),)
+@@ -21,29 +15,36 @@ ifeq ($(strip($TARGET)),)
TARGET := $(HOST_ARCH)
endif
@@ -72,20 +70,20 @@ index 612b9d0..f6d6265 100644
endif
+CFLAGS_ARCH += $(CFLAGS) \
-+ -D_FILE_OFFSET_BITS=64 \
-+ -D_LARGEFILE_SOURCE \
-+ -D_LARGEFILE64_SOURCE
++ -D_FILE_OFFSET_BITS=64 \
++ -D_LARGEFILE_SOURCE \
++ -D_LARGEFILE64_SOURCE
+
+CFLAGS_COMMON = $(CFLAGS_ARCH) \
-+ -DVERSION='"$(VERSION)"' \
-+ -DRELEASE_DATE='"$(DATE)"'
++ -DVERSION='"$(VERSION)"' \
++ -DRELEASE_DATE='"$(DATE)"'
+
SRC_BASE = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h sadump_info.h
SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c tools.c
OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART))
-@@ -53,17 +53,17 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
+@@ -52,17 +53,17 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
- LIBS = -ldw -lbz2 -lebl -ldl -lelf -lz
+ LIBS = -ldw -lbz2 -ldl -lelf -lz
ifneq ($(LINKTYPE), dynamic)
-LIBS := -static $(LIBS)
+LIBS := $(LIBS)
@@ -104,7 +102,7 @@ index 612b9d0..f6d6265 100644
endif
LIBS := -lpthread $(LIBS)
-@@ -71,14 +71,14 @@ LIBS := -lpthread $(LIBS)
+@@ -87,14 +88,14 @@ LIBS := $(LIBS) $(call try-run,\
all: makedumpfile
$(OBJ_PART): $(SRC_PART)
@@ -121,7 +119,7 @@ index 612b9d0..f6d6265 100644
echo .TH MAKEDUMPFILE 8 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.8
grep -v "^.TH MAKEDUMPFILE 8" $(VPATH)makedumpfile.8 >> temp.8
mv temp.8 makedumpfile.8
-@@ -89,7 +89,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
+@@ -105,7 +106,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz
eppic_makedumpfile.so: extension_eppic.c
@@ -130,3 +128,6 @@ index 612b9d0..f6d6265 100644
clean:
rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8.gz makedumpfile.conf.5.gz
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch b/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
index 766f4fc7..1707df3e 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
@@ -1,4 +1,4 @@
-From ba123fa6b2aa0ac62d1b78f327339635ae87201a Mon Sep 17 00:00:00 2001
+From 9045b72bdb703bf58a6586d77461eea8f59f50f7 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
@@ -21,15 +21,18 @@ Upstream-Status: Pending
Signed-off-by: Alexandru Moise <alexandru.moise@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+[hqBai: adjusted patch for context, no logical change]
+Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
- arch/ppc64.c | 28 ++--------------------------
- 1 file changed, 2 insertions(+), 26 deletions(-)
+ arch/ppc64.c | 38 ++------------------------------------
+ 1 file changed, 2 insertions(+), 36 deletions(-)
diff --git a/arch/ppc64.c b/arch/ppc64.c
-index 8b6f7d5..458f06b 100644
+index 9d8f252..6f4860f 100644
--- a/arch/ppc64.c
+++ b/arch/ppc64.c
-@@ -462,38 +462,14 @@ ppc64_vtop_level4(unsigned long vaddr)
+@@ -462,48 +462,14 @@ ppc64_vtop_level4(unsigned long vaddr)
return paddr;
}
@@ -52,6 +55,16 @@ index 8b6f7d5..458f06b 100644
- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
- return TRUE;
-
+- info->max_physmem_bits = _MAX_PHYSMEM_BITS_4_19;
+- 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_4_20;
+- if ((array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT_EXTREME()))
+- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
+- return TRUE;
+-
- return FALSE;
-}
-
@@ -70,3 +83,6 @@ index 8b6f7d5..458f06b 100644
info->page_offset = __PAGE_OFFSET;
if (SYMBOL(_stext) == NOT_FOUND_SYMBOL) {
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb b/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb
deleted file mode 100644
index 33194b85..00000000
--- a/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "VMcore extraction tool"
-DESCRIPTION = "\
- This program is used to extract a subset of the memory available either \
- via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \
- images without extra uneeded information (zero pages, userspace programs, \
- etc). \
-"
-HOMEPAGE = "http://makedumpfile.sourceforge.net"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-LICENSE = "GPLv2.0"
-
-DEPENDS = "bzip2 zlib elfutils"
-RDEPENDS_${PN}-tools = "perl ${PN}"
-
-# arm and aarch64 would compile but has never been tested upstream. mips would not compile.
-#
-COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux"
-
-PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/*.pl"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/makedumpfile/${BPN}-${PV}.tar.gz \
- file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
- file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \
-"
-SRC_URI[md5sum] = "7dfbca19f487604c271e2892ba07f4bd"
-SRC_URI[sha256sum] = "7e06f72d5f291fcab9e92975f405a76e37d4f7fc8fa4172f199636398ae812b1"
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/makedumpfile/files/makedumpfile/"
-UPSTREAM_CHECK_REGEX = "makedumpfile/(?P<pver>\d+(\.\d+)+)/"
-
-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/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.7.bb b/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.7.bb
new file mode 100644
index 00000000..8d1676a4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.7.bb
@@ -0,0 +1,57 @@
+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 and aarch64 would compile but has never been tested upstream. mips would not compile.
+#
+COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux"
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*.pl"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/makedumpfile/${BPN}-${PV}.tar.gz \
+ file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
+ file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \
+"
+SRC_URI[md5sum] = "808ef840ca49ca6bfde77c097cf429f5"
+SRC_URI[sha256sum] = "e702fbdf62b4cd829a76e46f3e24eb3fc7501918b85ebdcd8baef4f53d6ee2c8"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/makedumpfile/files/makedumpfile/"
+UPSTREAM_CHECK_REGEX = "makedumpfile/(?P<pver>\d+(\.\d+)+)/"
+
+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/external/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb b/external/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
deleted file mode 100644
index bae5cf4f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-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=aa846ae365f71b69e9fa0d21a56391ec \
- 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 = "1c0d5960b0bb4bac7566e6afe8bc9705399cc76b"
-
-PR .= "+git${SRCPV}"
-
-SRC_URI = "git://git.linuxfoundation.org/diamon/minicoredumper.git;protocol=http \
- file://minicoredumper.service \
- file://minicoredumper.init \
- file://0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch \
- "
-
-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
-
- # correct path of minicoredumper
- sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${sysconfdir}/init.d/minicoredumper
- sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${systemd_system_unitdir}/minicoredumper.service
-}
-
-# http://errors.yoctoproject.org/Errors/Details/186966/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb b/external/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
new file mode 100644
index 00000000..051656b5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
@@ -0,0 +1,46 @@
+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=71827c617ec7b45a0dd23658347cc1e9 \
+ 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 = "16a0d44f1725eaa93096eaa0e086f42ef4c2712c"
+
+PR .= "+git${SRCPV}"
+
+SRC_URI = "git://git.linuxfoundation.org/diamon/minicoredumper.git;protocol=http \
+ 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
+
+ # correct path of minicoredumper
+ sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${sysconfdir}/init.d/minicoredumper
+ sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${systemd_system_unitdir}/minicoredumper.service
+}
+
+# http://errors.yoctoproject.org/Errors/Details/186966/
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc b/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
index 349e2bf5..0e1e2ed8 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
@@ -12,7 +12,6 @@ SECTION = "devel"
DEPENDS = "popt binutils"
RDEPENDS_${PN} = "binutils-symlinks"
-RRECOMMENDS_${PN} = "kernel-vmlinux"
FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
@@ -25,6 +24,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
file://run-ptest \
file://root-home-dir.patch \
file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \
+ file://0001-replace-sym_iterator-0-with-sym_iterator.patch \
+ file://0001-Use-new-bfd-APIs-from-2.34.patch \
"
UPSTREAM_CHECK_REGEX = "oprofile-(?P<pver>\d+(\.\d+)+)/"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch b/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch
new file mode 100644
index 00000000..faf56d11
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch
@@ -0,0 +1,79 @@
+From 34745fb066a266ae6bbb15d08466d4d2cb6a2110 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Feb 2020 08:11:04 -0800
+Subject: [PATCH] Use new bfd APIs from 2.34+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libutil++/bfd_support.cpp | 10 +++++-----
+ opjitconv/create_bfd.c | 6 +++---
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/libutil++/bfd_support.cpp b/libutil++/bfd_support.cpp
+index fa904839..e53a1530 100644
+--- a/libutil++/bfd_support.cpp
++++ b/libutil++/bfd_support.cpp
+@@ -137,7 +137,7 @@ static bool get_build_id(bfd * ibfd, unsigned char * build_id)
+ }
+ }
+
+- bfd_size_type buildid_sect_size = bfd_section_size(ibfd, sect);
++ bfd_size_type buildid_sect_size = bfd_section_size(sect);
+ char * contents = (char *) xmalloc(buildid_sect_size);
+ errno = 0;
+ if (!bfd_get_section_contents(ibfd, sect,
+@@ -188,7 +188,7 @@ bool get_debug_link_info(bfd * ibfd, string & filename, unsigned long & crc32)
+ if (sect == NULL)
+ return false;
+
+- bfd_size_type debuglink_size = bfd_section_size(ibfd, sect);
++ bfd_size_type debuglink_size = bfd_section_size(sect);
+ char * contents = (char *) xmalloc(debuglink_size);
+ cverb << vbfd
+ << ".gnu_debuglink section has size " << debuglink_size << endl;
+@@ -346,7 +346,7 @@ void fixup_linenr(bfd * abfd, asection * section, asymbol ** syms,
+ // first restrict the search on a sensible range of vma, 16 is
+ // an intuitive value based on epilog code look
+ size_t max_search = 16;
+- size_t section_size = bfd_section_size(abfd, section);
++ size_t section_size = bfd_section_size(section);
+ if (pc + max_search > section_size)
+ max_search = section_size - pc;
+
+@@ -819,10 +819,10 @@ find_nearest_line(bfd_info const & b, op_bfd_symbol const & sym,
+ else
+ pc = (sym.value() + offset) - sym.filepos();
+
+- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
++ if ((bfd_section_flags(section) & SEC_ALLOC) == 0)
+ goto fail;
+
+- if (pc >= bfd_section_size(abfd, section))
++ if (pc >= bfd_section_size(section))
+ goto fail;
+
+ ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename,
+diff --git a/opjitconv/create_bfd.c b/opjitconv/create_bfd.c
+index 48db143b..5c0e9152 100644
+--- a/opjitconv/create_bfd.c
++++ b/opjitconv/create_bfd.c
+@@ -86,12 +86,12 @@ asection * create_section(bfd * abfd, char const * section_name,
+ bfd_perror("bfd_make_section");
+ goto error;
+ }
+- bfd_set_section_vma(abfd, section, vma);
+- if (bfd_set_section_size(abfd, section, size) == FALSE) {
++ bfd_set_section_vma(section, vma);
++ if (bfd_set_section_size(section, size) == FALSE) {
+ bfd_perror("bfd_set_section_size");
+ goto error;
+ }
+- if (bfd_set_section_flags(abfd, section, flags) == FALSE) {
++ if (bfd_set_section_flags(section, flags) == FALSE) {
+ bfd_perror("bfd_set_section_flags");
+ goto error;
+ }
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch b/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch
new file mode 100644
index 00000000..5fd23f80
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch
@@ -0,0 +1,131 @@
+From b7c1a2e2b0f4657fe291324ca409224f3321c9ff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Feb 2019 11:58:34 -0800
+Subject: [PATCH] replace (sym_iterator)0 with sym_iterator()
+
+clang/libc++ find this error
+
+libpp/xml_utils.cpp:409:43: error: calling a private constructor of class 'std::__1::__wrap_iter<const sym
+bol_entry *const *>'
+| { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;}
+| ^
+|
+
+default constructed iterator isn't supposed to be used for anything
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libpp/xml_utils.cpp | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/libpp/xml_utils.cpp b/libpp/xml_utils.cpp
+index 3de41e5..f45d3ae 100644
+--- a/libpp/xml_utils.cpp
++++ b/libpp/xml_utils.cpp
+@@ -73,7 +73,7 @@ void dump_symbol(string const & prefix, sym_iterator it, bool want_nl = true)
+
+ void dump_symbols(string const & prefix, sym_iterator b, sym_iterator e)
+ {
+- if (b == (sym_iterator)0)
++ if (b == sym_iterator())
+ return;
+
+ for (sym_iterator it = b; it != e; ++it)
+@@ -167,7 +167,7 @@ string xml_utils::get_profile_header(string cpu_name, double const speed)
+ }
+
+ str << init_attr(CPU_NAME, cpu_type) << endl;
+- if (processor.size() > 0)
++ if (processor.size() > 0)
+ str << init_attr(PROCESSOR, string(processor)) << endl;
+ if (nr_cpus > 1) str << init_attr(SEPARATED_CPUS, nr_cpus) << endl;
+ str << init_attr(MHZ, speed) << endl;
+@@ -320,11 +320,11 @@ void xml_utils::build_subclasses(ostream & out)
+ (*sc_ptr)[new_index].subclass_name = subclass_name;
+ out << open_element(CLASS, true);
+ out << init_attr(NAME, subclass_name);
+- if (nr_cpus > 1)
++ if (nr_cpus > 1)
+ out << init_attr(CPU_NUM, pclass.ptemplate.cpu);
+- if (nr_events > 1)
++ if (nr_events > 1)
+ out << init_attr(EVENT_NUM, event);
+- if (has_nonzero_masks)
++ if (has_nonzero_masks)
+ out << init_attr(EVENT_MASK, pclass.ptemplate.unitmask);
+ out << close_element();
+ }
+@@ -406,7 +406,7 @@ xml_utils::output_summary_data(ostream & out, count_array_t const & summary, siz
+ class module_info {
+ public:
+ module_info()
+- { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;}
++ { lo = hi = 0; name = ""; begin = end = sym_iterator();}
+ void dump();
+ void build_module(string const & n, sym_iterator it,
+ size_t l, size_t h);
+@@ -540,21 +540,21 @@ void module_info::add_to_summary(count_array_t const & counts)
+
+ void module_info::set_begin(sym_iterator b)
+ {
+- if (begin == (sym_iterator)0)
++ if (begin == sym_iterator())
+ begin = b;
+ }
+
+
+ void module_info::set_end(sym_iterator e)
+ {
+- if (end == (sym_iterator)0)
++ if (end == sym_iterator())
+ end = e;
+ }
+
+
+ bool module_info::is_closed(string const & n)
+ {
+- return (name == n) && end != (sym_iterator)0;
++ return (name == n) && end != sym_iterator();
+ }
+
+
+@@ -585,7 +585,7 @@ void module_info::output_summary(ostream & out)
+
+ void module_info::output_symbols(ostream & out, bool is_module)
+ {
+- if (begin == (sym_iterator)0)
++ if (begin == sym_iterator())
+ return;
+
+ for (sym_iterator it = begin; it != end; ++it)
+@@ -606,7 +606,7 @@ void binary_info::close_binary(sym_iterator it)
+ void binary_info::dump()
+ {
+ cverb << vxml << "app_name=" << name << endl;
+- if (begin != (sym_iterator)0)
++ if (begin != sym_iterator())
+ dump_symbols(" ", begin, end);
+
+ for (size_t i = 0; i < nr_modules; ++i)
+@@ -648,7 +648,7 @@ add_module_symbol(string const & module, string const & app,
+ // mark end of enclosing binary symbols if there have been any
+ // NOTE: it is possible for the binary's symbols to follow its
+ // module symbols
+- if (begin != (sym_iterator)0 && end == (sym_iterator)0)
++ if (begin != sym_iterator() && end == sym_iterator())
+ set_end(it);
+
+ // build the new module
+@@ -718,7 +718,7 @@ summarize_processes(extra_images const & extra_found_images)
+ {
+ // add modules to the appropriate threads in the process hierarchy
+ for (sym_iterator it = symbols_begin ; it != symbols_end; ++it) {
+- string binary = get_image_name((*it)->app_name,
++ string binary = get_image_name((*it)->app_name,
+ image_name_storage::int_filename, extra_found_images);
+ string module = get_image_name((*it)->image_name,
+ image_name_storage::int_filename, extra_found_images);
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb b/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
index 1dc535ed..8242a835 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
@@ -1,7 +1,10 @@
require oprofile.inc
-DEPENDS += "virtual/kernel"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
DEPENDS_append_powerpc64 = " libpfm4"
+DEPENDS_append_powerpc64le = " libpfm4"
SRC_URI[md5sum] = "bd998df5521ebedae31e71cd3fb6200b"
SRC_URI[sha256sum] = "95ded8bde1ec39922f0af015981a67aec63e025a501e4dc04cd65d38f73647e6"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch b/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch
new file mode 100644
index 00000000..56981d96
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch
@@ -0,0 +1,89 @@
+From 50cea8fd3c07ab27da6edce865a49339f16f3b57 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Tue, 18 Jun 2019 17:10:15 +0800
+Subject: [PATCH] Makefile: fix multilib build failure
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ Makefile | 50 +++++++++++++++++++++++++++-----------------------
+ 1 file changed, 27 insertions(+), 23 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8455415..4aa0786 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,30 +1,34 @@
+ # SPDX-License-Identifier: GPL-2.0
+ PREFIX ?= /usr
+ DESTDIR ?=
++BASELIB ?=
+
+ all:
+ @echo "Nothing to build"
+
++clean:
++ @echo "Nothing to clean"
++
+ install : uninstall
+- install -d $(DESTDIR)$(PREFIX)/lib/pm-graph
+- install sleepgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph
+- install bootgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph
+- install -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/cgskip.txt $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/freeze-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/freeze.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/freeze-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/standby-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/standby.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/standby-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/suspend-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/suspend.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/suspend-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/suspend-x2-proc.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
++ install -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph
++ install sleepgraph.py $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph
++ install bootgraph.py $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph
++ install -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/cgskip.txt $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/freeze-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/freeze.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/freeze-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/standby-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/standby.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/standby-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/suspend-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/suspend.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/suspend-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/suspend-x2-proc.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
+
+ install -d $(DESTDIR)$(PREFIX)/bin
+- ln -s ../lib/pm-graph/bootgraph.py $(DESTDIR)$(PREFIX)/bin/bootgraph
+- ln -s ../lib/pm-graph/sleepgraph.py $(DESTDIR)$(PREFIX)/bin/sleepgraph
++ ln -s ../$(BASELIB)/pm-graph/bootgraph.py $(DESTDIR)$(PREFIX)/bin/bootgraph
++ ln -s ../$(BASELIB)/pm-graph/sleepgraph.py $(DESTDIR)$(PREFIX)/bin/sleepgraph
+
+ install -d $(DESTDIR)$(PREFIX)/share/man/man8
+ install bootgraph.8 $(DESTDIR)$(PREFIX)/share/man/man8
+@@ -37,11 +41,11 @@ uninstall :
+ rm -f $(DESTDIR)$(PREFIX)/bin/bootgraph
+ rm -f $(DESTDIR)$(PREFIX)/bin/sleepgraph
+
+- rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/config/*
+- if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config ] ; then \
+- rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph/config; \
++ rm -f $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config/*
++ if [ -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ] ; then \
++ rmdir $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config; \
+ fi;
+- rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/*
+- if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph ] ; then \
+- rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph; \
++ rm -f $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/*
++ if [ -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph ] ; then \
++ rmdir $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph; \
+ fi;
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-use-python3.patch b/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-use-python3.patch
new file mode 100644
index 00000000..25c87093
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-use-python3.patch
@@ -0,0 +1,39 @@
+From 22ce65d997f99606a3bb9d2a660ead42eecc234a Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 11 Sep 2019 11:31:07 +0800
+Subject: [PATCH] sleepgraph.py: use python3
+
+Already compatible with Python 3.
+Same goes for bootgraph.py
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ bootgraph.py | 2 +-
+ sleepgraph.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/bootgraph.py b/bootgraph.py
+index d3b99a1..efb5714 100755
+--- a/bootgraph.py
++++ b/bootgraph.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ # SPDX-License-Identifier: GPL-2.0-only
+ #
+ # Tool for analyzing boot timing
+diff --git a/sleepgraph.py b/sleepgraph.py
+index 1794c79..cfed8e0 100755
+--- a/sleepgraph.py
++++ b/sleepgraph.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ # SPDX-License-Identifier: GPL-2.0-only
+ #
+ # Tool for analyzing suspend/resume timing
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb b/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb
new file mode 100644
index 00000000..a1378866
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Timing analysis tools for suspend/resume/boot"
+DESCRIPTION = "This tool suite is designed to assist kernel and OS developers \
+in optimizing their linux stack's suspend/resume & boot time."
+HOMEPAGE = "https://01.org/pm-graph"
+LICENSE = "GPL-2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
+
+SRCREV = "cf59527dc24fdd2f314ae4dcaeb3d68a117988f6"
+SRC_URI = "git://github.com/intel/pm-graph.git \
+ file://0001-Makefile-fix-multilib-build-failure.patch \
+ file://0001-sleepgraph.py-use-python3.patch \
+"
+S = "${WORKDIR}/git"
+
+# Apart from the listed RDEPENDS, analyze-suspend depends on some features
+# provided by the kernel. These options are:
+# - CONFIG_PM_DEBUG=y
+# - CONFIG_PM_SLEEP_DEBUG=y
+# - CONFIG_FTRACE=y
+# - CONFIG_FUNCTION_TRACER=y
+# - CONFIG_FUNCTION_GRAPH_TRACER=y
+
+COMPATIBLE_HOST='(i.86|x86_64).*'
+EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} BASELIB=${baselib}"
+
+do_install() {
+ oe_runmake install
+ install -Dm 0755 ${S}/analyze_suspend.py ${D}${bindir}/analyze_suspend.py
+}
+
+RDEPENDS_${PN} += "python3-core python3-threading python3-datetime python3-compression"
+RPROVIDES_${PN} = "analyze-suspend"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/spidev-test/spidev-test.bb b/external/meta-openembedded/meta-oe/recipes-kernel/spidev-test/spidev-test.bb
new file mode 100644
index 00000000..66263029
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/spidev-test/spidev-test.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Test SPI devices"
+DESCRIPTION = "SPI testing utility using the spidev driver"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+PROVIDES = "virtual/spidev-test"
+
+inherit bash-completion kernelsrc kernel-arch
+
+do_populate_lic[depends] += "virtual/kernel:do_patch"
+
+EXTRA_OEMAKE = "-C ${S}/tools/spi O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
+
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+python do_package_prepend() {
+ d.setVar('PKGV', d.getVar("KERNEL_VERSION", True).split("-")[0])
+}
+
+B = "${WORKDIR}/${BPN}-${PV}"
diff --git a/external/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/external/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
index dc3e78fe..48c72140 100644
--- a/external/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
+++ b/external/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
@@ -20,7 +20,8 @@ SRC_URI += "\
file://COPYING \
"
-DEPENDS = "virtual/kernel"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+DEPENDS = "libcap"
# This looks in S, so we better make sure there's
# something in the directory.
@@ -29,23 +30,40 @@ do_populate_lic[depends] = "${PN}:do_configure"
EXTRA_OEMAKE = '\
- CC="${CC}" \
- 'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
+ CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
'
# If we build under STAGING_KERNEL_DIR, source will not be put
# into the dbg rpm. STAGING_KERNEL_DIR will exist by the time
# do_configure() is invoked so we can safely copy from it.
#
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
do_configure_prepend() {
mkdir -p ${S}
cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
+ if [ -f "${STAGING_KERNEL_DIR}/include/vdso/bits.h" ]; then
+ cp -r ${STAGING_KERNEL_DIR}/include/vdso/bits.h ${S}
+ cp -r ${STAGING_KERNEL_DIR}/include/vdso/const.h ${S}
+ else
+ cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
+ cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
+ fi
cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
cp -r ${WORKDIR}/COPYING ${S}
}
+
do_compile() {
+ sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
+ 'TMPCHECK='grep "<vdso/const.h>" bits.h'' || true
+ if [ -n $TMPCHECK ]; then
+ sed -i 's#<vdso/const.h>#"const.h"#' bits.h
+ sed -i 's#<uapi/linux/const.h>#<linux/const.h>#' const.h
+ else
+ sed -i 's#<linux/const.h>#"const.h"#' bits.h
+ sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
+ fi
sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch
deleted file mode 100644
index 5299945e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Index: alsa-oss-1.0.28/alsa/stdioemu.c
-===================================================================
---- alsa-oss-1.0.28.orig/alsa/stdioemu.c
-+++ alsa-oss-1.0.28/alsa/stdioemu.c
-@@ -37,7 +37,9 @@
- #endif
-
- #include <stdio.h>
-+#ifdef HAVE_LIBIO_H
- #include <libio.h>
-+#endif
-
- struct fd_cookie {
- int fd;
-@@ -99,7 +101,11 @@ static FILE *fake_fopen(const char *path
-
- if (open_mode && fdc->fd > 0) {
- result = fopencookie (fdc,"w", fns);
-+#ifdef HAVE_FILENO
- result->_fileno = fdc->fd; /* ugly patchy slimy kludgy hack */
-+#else
-+ result->__filedes = fdc->fd;
-+#endif
- }
- return result;
- }
-Index: alsa-oss-1.0.28/configure.ac
-===================================================================
---- alsa-oss-1.0.28.orig/configure.ac
-+++ alsa-oss-1.0.28/configure.ac
-@@ -35,6 +35,12 @@ if test "$with_aoss" = "yes"; then
- LIBS="$OLD_LIBS"
- fi
-
-+AC_CHECK_HEADERS_ONCE([libio.h])
-+
-+AC_CHECK_MEMBER([struct _IO_FILE._fileno],
-+ [AC_DEFINE([HAVE_FILENO], [1],[Define if _fileno exists.])],
-+ [],[])
-+
- AC_OUTPUT(Makefile alsa/Makefile alsa/aoss alsa/aoss.old \
- oss-redir/Makefile test/Makefile \
- alsa/testaoss test/testaoss)
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.6.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.6.bb
deleted file mode 100644
index 6c2176f7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.6.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
-# The following is the difference between the old and the new license text.
-# Please update the LICENSE value if needed, and summarize the changes in
-# the commit message via 'License-Update:' tag.
-# (example: 'License-Update: copyright years updated.')
-#
-# The changes:
-#
-# --- COPYING
-# +++ COPYING
-# @@ -2,7 +2,8 @@
-# Version 2, June 1991
-#
-# Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-# - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-# + 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.
-#
-#
-#
-
-SUMMARY = "Alsa OSS Compatibility Package"
-SECTION = "libs/multimedia"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ed055b4eff93da784176a01582e6ec1a"
-DEPENDS = "alsa-lib"
-
-SRC_URI = "ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-${PV}.tar.bz2 \
- file://libio.patch \
-"
-SRC_URI[md5sum] = "fc845cafc4444193510ab1865c7350b8"
-SRC_URI[sha256sum] = "c3d3f743e61f05ff95c5cba3b06bc9c91ff86c37495f1d19dab844e6b90845ea"
-
-inherit autotools
-
-LEAD_SONAME = "libaoss.so.0"
-
-do_configure_prepend () {
- touch NEWS README AUTHORS ChangeLog
- sed -i "s/libaoss.so/${LEAD_SONAME}/" ${S}/alsa/aoss.in
-}
-
-# http://errors.yoctoproject.org/Errors/Details/186961/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb
new file mode 100644
index 00000000..6b955dcf
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Alsa OSS Compatibility Package"
+SECTION = "libs/multimedia"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ed055b4eff93da784176a01582e6ec1a"
+DEPENDS = "alsa-lib"
+
+SRC_URI = "https://www.alsa-project.org/files/pub/oss-lib/alsa-oss-${PV}.tar.bz2 \
+"
+SRC_URI[md5sum] = "9ec4bb783fdce19032aace086d65d874"
+SRC_URI[sha256sum] = "64adcef5927e848d2e024e64c4bf85b6f395964d9974ec61905ae4cb8d35d68e"
+
+inherit autotools
+
+LEAD_SONAME = "libaoss.so.0"
+
+do_configure_prepend () {
+ touch NEWS README AUTHORS ChangeLog
+ sed -i "s/libaoss.so/${LEAD_SONAME}/" ${S}/alsa/aoss.in
+}
+
+# http://errors.yoctoproject.org/Errors/Details/186961/
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
deleted file mode 100644
index 130f3c22..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 945df2da87a412758ceab4ac5711abbb269a47c1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jun 2017 23:09:51 -0700
-Subject: [PATCH] audio_alsa09.c: alsa drain fix
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- audio_alsa09.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/audio_alsa09.c b/audio_alsa09.c
-index 534e3db..d9450e6 100644
---- a/audio_alsa09.c
-+++ b/audio_alsa09.c
-@@ -506,7 +506,7 @@ void esd_audio_flush(void)
- }
-
- if (alsa_playback_handle != NULL)
-- snd_pcm_drain( alsa_playback_handle );
-+ snd_pcm_drop( alsa_playback_handle );
-
- if (alsadbg)
- print_state();
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
deleted file mode 100644
index 10a6ba03..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e218d5a0a545ebb9623d62da5cfca478f9c90fce Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jun 2017 23:11:31 -0700
-Subject: [PATCH] Undefine open64 and fopen64
-
-Since the signatures do not match with libc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- esddsp.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/esddsp.c b/esddsp.c
-index d3c6ea9..17b5949 100644
---- a/esddsp.c
-+++ b/esddsp.c
-@@ -290,6 +290,7 @@ open (const char *pathname, int flags, ...)
- return open_wrapper(func, pathname, flags, mode);
- }
-
-+#undef open64
- int
- open64 (const char *pathname, int flags, ...)
- {
-@@ -374,6 +375,7 @@ fopen (const char *path, const char *mode)
- return fopen_wrapper(func, path, mode);
- }
-
-+#undef fopen64
- FILE *
- fopen64 (const char *path, const char *mode)
- {
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
deleted file mode 100644
index 83365b4e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 89c62db54716d514e639f9e1bfd3c1f7d82641dd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jun 2017 23:12:36 -0700
-Subject: [PATCH] Use -I=<path> in configure
-
-This helps to use proper sysroot in
-cross build environment
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5645dce..d374cda 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -208,7 +208,7 @@ if test "x$enable_local_sound" = "xyes"; then
- AC_CHECK_HEADERS(CoreAudio/CoreAudio.h)
- # mme_api.h directly includes other files from the mme subdir
- xCPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="$CPPFLAGS -I/usr/include/mme"
-+ CPPFLAGS="$CPPFLAGS -I=/usr/include/mme"
- AC_CHECK_HEADERS(mme/mme_api.h)
- CPPFLAGS="$xCPPFLAGS"
- AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
-@@ -269,7 +269,7 @@ if test "x$enable_local_sound" = "xyes"; then
- osf*)
- found_sound=yes
- AC_DEFINE(DRIVER_OSF, 1, [Defined if OSF backend is enabled])
-- CPPFLAGS="$CPPFLAGS -I/usr/include/mme"
-+ CPPFLAGS="$CPPFLAGS -I=/usr/include/mme"
- SOUND_LIBS=-lmme
- esac
- fi
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch
deleted file mode 100644
index 8a546e6d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From bfcaa9bdc70440db96f10afc0c2a792870f75acb Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 3 Jun 2011 19:39:02 +0200
-
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 08c4c94..ede9d26 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,5 +1,5 @@
-
--SUBDIRS = docs
-+SUBDIRS =
-
- ACLOCAL_AMFLAGS = -I m4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb
deleted file mode 100644
index 0ddf94f2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Enlightened Sound Daemon"
-SECTION = "gpe/base"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-DEPENDS = "audiofile"
-
-inherit gnome
-
-SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/${P}.tar.bz2;name=archive \
- file://no-docs.patch \
- file://0001-audio_alsa09.c-alsa-drain-fix.patch \
- file://0002-Undefine-open64-and-fopen64.patch \
- file://0003-Use-I-path-in-configure.patch \
- "
-SRC_URI[archive.md5sum] = "8d9aad3d94d15e0d59ba9dc0ea990c6c"
-SRC_URI[archive.sha256sum] = "5eb5dd29a64b3462a29a5b20652aba7aa926742cef43577bf0796b787ca34911"
-
-EXTRA_OECONF += " \
- --disable-arts \
- --disable-artstest \
-"
-EXTRA_OECONF_remove = "--disable-schemas-install"
-
-CFLAGS += "-lm"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[libwrap] = "--with-libwrap,--without-libwrap,tcp-wrappers,"
-PACKAGECONFIG[alsa] = "--enable-alsa --disable-oss,--disable-alsa,alsa-lib,"
-
-PACKAGECONFIG ??= "libwrap alsa \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGES =+ "esddsp esd esd-utils"
-
-FILES_esddsp = "${bindir}/esddsp ${libdir}/libesddsp.so.*"
-FILES_esd = "${bindir}/esd"
-FILES_esd-utils = "${bindir}/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb
deleted file mode 100644
index 9e5a3817..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "An open source MPEG-4 and MPEG-2 AAC decoding library"
-HOMEPAGE = "http://www.audiocoding.com/faad2.html"
-SECTION = "libs"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=381c8cbe277a7bc1ee2ae6083a04c958"
-
-LICENSE_FLAGS = "commercial"
-
-PR = "r1"
-
-inherit autotools
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-${PV}/${BP}.tar.bz2;name=faad2 \
-"
-
-SRC_URI[faad2.md5sum] = "4c332fa23febc0e4648064685a3d4332"
-SRC_URI[faad2.sha256sum] = "14561b5d6bc457e825bfd3921ae50a6648f377a9396eaf16d4b057b39a3f63b5"
-
-PACKAGES =+ "libfaad libfaad-dev libmp4ff libmp4ff-dev"
-
-FILES_${PN} = "${bindir}/faad"
-
-FILES_libfaad = "${libdir}/libfaad.so.*"
-FILES_libfaad-dev = "${libdir}/libfaad.so ${libdir}/libfaad.la ${includedir}/faad.h"
-FILES_libfaad-staticdev = "${libdir}/libfaad.a"
-
-FILES_libmp4ff = "${libdir}/libmp4ff.so.*"
-FILES_libmp4ff-dev = "${libdir}/libmp4ff.so ${libdir}/libmp4ff.la ${includedir}/mp4ff.h"
-FILES_libmp4ff-staticdev = "${libdir}/libmp4ff.a"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb
new file mode 100644
index 00000000..8b3aafc3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb
@@ -0,0 +1,14 @@
+SUMMARY = "An open source MPEG-4 and MPEG-2 AAC decoding library"
+HOMEPAGE = "http://www.audiocoding.com/faad2.html"
+SECTION = "libs"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=381c8cbe277a7bc1ee2ae6083a04c958"
+
+LICENSE_FLAGS = "commercial"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-2.8.0/${BP}.tar.gz"
+SRC_URI[md5sum] = "28f6116efdbe9378269f8a6221767d1f"
+SRC_URI[sha256sum] = "985c3fadb9789d2815e50f4ff714511c79c2710ac27a4aaaf5c0c2662141426d"
+
+inherit autotools lib_package
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
index fc80cc0a..21fa0bda 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
@@ -7,12 +7,47 @@ DEPENDS = "zlib"
PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/id3lib/id3lib-${PV}.tar.gz;name=archive \
- http://ftp.de.debian.org/debian/pool/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-7.2.diff.gz;name=patch \
+ ${DEBIAN_MIRROR}/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-16.2.debian.tar.xz;name=patch;subdir=${BP} \
file://acdefine.patch \
"
SRC_URI[archive.md5sum] = "19f27ddd2dda4b2d26a559a4f0f402a7"
SRC_URI[archive.sha256sum] = "2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079"
-SRC_URI[patch.md5sum] = "805c0320a2efb21c40ce06fa13cd7c4b"
-SRC_URI[patch.sha256sum] = "9f03b59ccc8826a5be55a3dcde2f889067d58bdc72bf846416a198c9b933704c"
+SRC_URI[patch.md5sum] = "997c764d3be11c9a51779d93facf1118"
+SRC_URI[patch.sha256sum] = "ac2ee23ec89ba2af51d2c6dd5b1b6bf9f8a9f813de251bc182941439a4053176"
inherit autotools
+
+# Unlike other Debian packages, id3lib*.diff.gz contains another series of
+# patches maintained by quilt. So manually apply them before applying other local
+# patches. Also remove all temp files before leaving, because do_patch() will pop
+# up all previously applied patches in the start
+do_patch[depends] += "quilt-native:do_populate_sysroot"
+id3lib_do_patch() {
+ cd ${S}
+ # it's important that we only pop the existing patches when they've
+ # been applied, otherwise quilt will climb the directory tree
+ # and reverse out some completely different set of patches
+ if [ -d ${S}/patches ]; then
+ # whilst this is the default directory, doing it like this
+ # defeats the directory climbing that quilt will otherwise
+ # do; note the directory must exist to defeat this, hence
+ # the test inside which we operate
+ QUILT_PATCHES=${S}/patches quilt pop -a
+ fi
+ if [ -d ${S}/.pc-${BPN} ]; then
+ rm -rf ${S}/.pc
+ mv ${S}/.pc-${BPN} ${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-${BPN}
+}
+
+do_unpack[cleandirs] += "${S}"
+
+# We invoke base do_patch at end, to incorporate any local patch
+python do_patch() {
+ bb.build.exec_func('id3lib_do_patch', d)
+ bb.build.exec_func('patch_do_patch', d)
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch
deleted file mode 100644
index d17d311b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 488dc9b00239976caac6bd9ed76b38d9d1659dd9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 4 Oct 2016 23:44:49 +0200
-Subject: [PATCH] wscript: add pthread library dependency to fix linking
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Stolen from [1]
-
-[1] http://pkgs.fedoraproject.org/cgit/rpms/a2jmidid.git/tree/a2jmidid-linking.patch
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- wscript | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/wscript b/wscript
-index 664625b..66a532a 100644
---- a/wscript
-+++ b/wscript
-@@ -67,6 +67,7 @@ def configure(conf):
- conf.env['DBUS_ENABLED'] = False
-
- conf.env['LIB_DL'] = ['dl']
-+ conf.env['LIB_PTHREAD'] = ['pthread']
-
- #conf.check_header('expat.h', mandatory=True)
- #conf.env['LIB_EXPAT'] = ['expat']
-@@ -152,7 +153,7 @@ def build(bld):
-
- prog.includes = '.' # make waf dependency tracking work
- prog.target = 'a2jmidid'
-- prog.uselib = 'ALSA JACK DL'
-+ prog.uselib = 'ALSA JACK DL PTHREAD'
- if bld.env()['DBUS_ENABLED']:
- prog.uselib += " DBUS-1"
- prog = bld.create_obj('cc', 'program')
---
-2.5.5
-
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch
deleted file mode 100644
index b344f542..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/riscv_ucontext.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/riscv_ucontext.patch
new file mode 100644
index 00000000..af6612e8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/riscv_ucontext.patch
@@ -0,0 +1,24 @@
+Add riscv specific checks to choose correct gregs and context structure definitions
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/sigsegv.c
++++ b/sigsegv.c
+@@ -91,7 +91,7 @@ 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__) && !defined(__aarch64__)
++#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__) && !defined(__riscv)
+ for(i = 0; i < NGREG; i++)
+ a2j_error("reg[%02d] = 0x" REGFORMAT, i,
+ #if defined(__powerpc__) && !defined(__powerpc64__)
+@@ -104,7 +104,7 @@ static void signal_segv(int signum, sigi
+ ucontext->uc_mcontext.gregs[i]
+ #endif
+ );
+-#endif /* alpha, ia64, kFreeBSD, arm, hppa, aarch64 */
++#endif /* alpha, ia64, kFreeBSD, arm, hppa, aarch64 riscv */
+
+ #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64)
+ # if defined(SIGSEGV_STACK_IA64)
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
deleted file mode 100644
index 7dcaaf68..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "a2jmidid is daemon for exposing ALSA sequencer applications as JACK MIDI"
-SECTION = "libs/multimedia"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = " \
- file://gpl2.txt;md5=751419260aa954499f7abaabaa882bbe \
-"
-
-DEPENDS = "alsa-lib jack dbus"
-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 pkgconfig
-
-LDFLAGS_append_libc-musl = " -lexecinfo"
-
-export LINKFLAGS="${LDFLAGS}"
-
-do_configure() {
- sed -i 's|/usr/bin/.*python$|/usr/bin/env python2|' ${S}/a2j_control ${S}/waf ${S}/wscript
- (cd ${B} && ${S}/waf configure --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF})
-}
-
-FILES_${PN} += "${datadir}/dbus-1/services"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_9.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_9.bb
new file mode 100644
index 00000000..5fffe77c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_9.bb
@@ -0,0 +1,28 @@
+SUMMARY = "a2jmidid is daemon for exposing ALSA sequencer applications as JACK MIDI"
+SECTION = "libs/multimedia"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=751419260aa954499f7abaabaa882bbe \
+"
+
+DEPENDS = "alsa-lib jack dbus"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+SRCREV = "de37569c926c5886768f892c019e3f0468615038"
+SRC_URI = " \
+ git://github.com/linuxaudio/a2jmidid;protocol=https \
+ file://riscv_ucontext.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON = "-Db_lto=false"
+
+LDFLAGS_append_libc-musl = " -lexecinfo"
+
+export LINKFLAGS="${LDFLAGS}"
+
+FILES_${PN} += "${datadir}/dbus-1/services"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-Python-3.7-fixes-2126.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-Python-3.7-fixes-2126.patch
deleted file mode 100644
index e6021cd7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-Python-3.7-fixes-2126.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 72564b04151b61fa8d954bbb43afc58108ee50ec Mon Sep 17 00:00:00 2001
-From: Thomas Nagy <tnagy@waf.io>
-Date: Mon, 12 Mar 2018 20:42:55 +0100
-Subject: [PATCH] Python 3.7 fixes #2126
-
-Upstream-Status: Backport
-[https://gitlab.com/ita1024/waf/commit/facdc0b173d933073832c768ec1917c553cb369c]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- waflib/Node.py | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/waflib/Node.py b/waflib/Node.py
-index fb3cd273..405a6fec 100644
---- a/waflib/Node.py
-+++ b/waflib/Node.py
-@@ -537,8 +537,6 @@ class Node(object):
- if maxdepth:
- for k in node.ant_iter(accept=accept, maxdepth=maxdepth - 1, pats=npats, dir=dir, src=src, remove=remove):
- yield k
-- raise StopIteration
--
- def ant_glob(self, *k, **kw):
- """
- This method is used for finding files across folders. It behaves like ant patterns:
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-example-clients-Use-c-compiler-for-jack_simdtests.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-example-clients-Use-c-compiler-for-jack_simdtests.patch
new file mode 100644
index 00000000..dda21a32
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-example-clients-Use-c-compiler-for-jack_simdtests.patch
@@ -0,0 +1,33 @@
+From 76b8a389268275cc13f3b4e61394d40b24ec56f1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 15 Jan 2020 20:21:58 -0800
+Subject: [PATCH] example-clients: Use c++ compiler for jack_simdtests
+
+It uses c++ sources and runtime therefore its best to use c++ compiler
+to build it so it can find the correct runtime, cross compiling with
+clang fails
+
+x86_64-yoe-linux-ld: example-clients/simdtests.cpp.28.o: undefined reference to symbol '__cxa_call_unexpected@@CXXABI_1.3'
+
+Upstream-Status: Submitted [https://github.com/jackaudio/jack2/pull/536]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ example-clients/wscript | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/example-clients/wscript b/example-clients/wscript
+index a8857aa7..df9435aa 100644
+--- a/example-clients/wscript
++++ b/example-clients/wscript
+@@ -69,6 +69,8 @@ def build(bld):
+
+ if bld.env['IS_MACOSX']:
+ prog = bld(features='c cprogram', framework = ['Foundation'])
++ elif example_program == 'jack_simdtests':
++ prog = bld(features='cxx cxxprogram')
+ else:
+ prog = bld(features='c cprogram')
+ prog.includes = os_incdir + ['../common/jack', '../common']
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.14.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.14.bb
new file mode 100644
index 00000000..e954341f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.14.bb
@@ -0,0 +1,53 @@
+DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \
+server for multi-processor machines. It is a new implementation of the \
+JACK server core features that aims in removing some limitations of \
+the JACK1 design. The activation system has been changed for a data \
+flow model and lock-free programming techniques for graph access have \
+been used to have a more dynamic and robust system."
+SECTION = "libs/multimedia"
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \
+ file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \
+"
+
+DEPENDS = "libsamplerate0 libsndfile1 readline"
+
+SRC_URI = "git://github.com/jackaudio/jack2.git \
+ file://0001-example-clients-Use-c-compiler-for-jack_simdtests.patch \
+ "
+SRCREV = "b54a09bf7ef760d81fdb8544ad10e45575394624"
+
+S = "${WORKDIR}/git"
+
+inherit waf pkgconfig
+
+PACKAGECONFIG ??= "alsa"
+PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib"
+# --dbus only stops building jackd -> add --classic
+PACKAGECONFIG[dbus] = "--dbus --classic,,dbus"
+PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus"
+
+# portaudio is for windows builds only
+EXTRA_OECONF = "--portaudio=no"
+
+do_install_append() {
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then
+ rm -f ${D}${bindir}/jack_control
+ fi
+}
+
+PACKAGES =+ "libjack jack-server jack-utils"
+
+RDEPENDS_jack-dev_remove = "${PN} (= ${EXTENDPKGV})"
+
+FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
+FILES_jack-server = " \
+ ${datadir}/dbus-1/services \
+ ${bindir}/jackdbus \
+ ${bindir}/jackd \
+"
+FILES_jack-utils = "${bindir}/*"
+
+FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
deleted file mode 100644
index 52559cb3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \
-server for multi-processor machines. It is a new implementation of the \
-JACK server core features that aims in removing some limitations of \
-the JACK1 design. The activation system has been changed for a data \
-flow model and lock-free programming techniques for graph access have \
-been used to have a more dynamic and robust system."
-SECTION = "libs/multimedia"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
- file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \
- file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \
-"
-
-DEPENDS = "libsamplerate0 libsndfile1 readline"
-
-SRC_URI = "git://github.com/jackaudio/jack2.git \
- file://0001-Python-3.7-fixes-2126.patch \
- "
-SRCREV = "c1647819eed6d11f94b21981d9c869629299f357"
-PV = "1.9.12"
-S = "${WORKDIR}/git"
-
-inherit waf pkgconfig
-
-PACKAGECONFIG ??= "alsa"
-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}/*"
-FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/* "
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.4.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.4.0.bb
deleted file mode 100644
index 91fe6933..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.4.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Library for reading, mastering and writing optical discs"
-HOMEPAGE = "http://libburnia-project.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-
-SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "82ff94bb04e78eac9b12c7546f005d6f"
-SRC_URI[sha256sum] = "6c975abae4ae1f80e47fc5d1e235f85157f73e954c84627a5ef85d8b1b95ae94"
-
-inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb
new file mode 100644
index 00000000..73e8e3f5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Library for reading, mastering and writing optical discs"
+HOMEPAGE = "http://libburnia-project.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
+
+SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "096f4acfba00f1210a84fb7650f7693d"
+SRC_URI[sha256sum] = "7b32db1719d7f6516cce82a9d00dfddfb3581725db732ea87d41ea8ef0ce5227"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.0.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.0.0.bb
deleted file mode 100644
index 6bf64d66..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.0.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
-HOMEPAGE = "http://www.gnu.org/software/libcdio/"
-SECTION = "libs"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "0cb25905113b930e4539d2f4eb6574b0"
-SRC_URI[sha256sum] = "1b481b5da009bea31db875805665974e2fc568e2b2afa516f4036733657cf958"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "cdda-player"
-PACKAGECONFIG[cdda-player] = "--with-cdda-player,--without-cdda-player,ncurses"
-PACKAGECONFIG[cddb] = "--enable-cddb,--disable-cddb,libcddb"
-PACKAGECONFIG[vcd-info] = "--enable-vcd-info,--disable-vcd-info,vcdimager"
-
-PACKAGES += "${PN}-utils"
-
-FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
-FILES_${PN}-utils = "${bindir}/*"
-
-python libcdio_split_packages() {
- libdir = d.expand('${libdir}')
- do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
-}
-
-PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
new file mode 100644
index 00000000..e282e89b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
+HOMEPAGE = "http://www.gnu.org/software/libcdio/"
+SECTION = "libs"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2"
+
+SRC_URI[md5sum] = "aa7629e8f73662a762f64c444b901055"
+SRC_URI[sha256sum] = "8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "cdda-player"
+PACKAGECONFIG[cdda-player] = "--with-cdda-player,--without-cdda-player,ncurses"
+PACKAGECONFIG[cddb] = "--enable-cddb,--disable-cddb,libcddb"
+PACKAGECONFIG[vcd-info] = "--enable-vcd-info,--disable-vcd-info,vcdimager"
+
+PACKAGES += "${PN}-utils"
+
+FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
+FILES_${PN}-utils = "${bindir}/*"
+
+python libcdio_split_packages() {
+ libdir = d.expand('${libdir}')
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
+}
+
+PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_5.0.3.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_5.0.3.bb
deleted file mode 100644
index 05067259..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_5.0.3.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "DVD access multimeda library"
-SECTION = "libs/multimedia"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
-SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2"
-
-SRC_URI[md5sum] = "b7b7d2a782087ed2a913263087083715"
-SRC_URI[sha256sum] = "321cdf2dbdc83c96572bc583cd27d8c660ddb540ff16672ecb28607d018ed82b"
-
-inherit autotools lib_package binconfig pkgconfig
-
-CONFIGUREOPTS_remove = "--disable-silent-rules"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb
new file mode 100644
index 00000000..65f5b6ad
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb
@@ -0,0 +1,12 @@
+SUMMARY = "DVD access multimeda library"
+SECTION = "libs/multimedia"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
+
+SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2"
+SRC_URI[md5sum] = "09c7423568fb679279fd2a2bc6b10b6e"
+SRC_URI[sha256sum] = "3e357309a17c5be3731385b9eabda6b7e3fa010f46022a06f104553bf8e21796"
+
+inherit autotools lib_package binconfig pkgconfig
+
+CONFIGUREOPTS_remove = "--disable-silent-rules"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
index 5bfce4d9..70723f2d 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
@@ -7,37 +7,77 @@ Subject: [PATCH 4/4] Remove clang unsupported compiler flags
configure.ac | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index 4fcd48b..40302db 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -140,20 +140,20 @@ then
- case "$optimize" in
- -O|"-O "*)
- optimize="-O"
+@@ -124,70 +124,7 @@ done
+
+ if test "$GCC" = yes
+ then
+- if test -z "$arch"
+- then
+- case "$host" in
+- i386-*) ;;
+- i?86-*) arch="-march=i486" ;;
+- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
+- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
+- powerpc-*) ;;
+- mips*-agenda-*) arch="-mcpu=vr4100" ;;
+- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
+- esac
+- fi
+-
+- case "$optimize" in
+- -O|"-O "*)
+- optimize="-O"
- optimize="$optimize -fforce-addr"
-+ : #optimize="$optimize -fforce-addr"
- : #x optimize="$optimize -finline-functions"
- : #- optimize="$optimize -fstrength-reduce"
+- : #x optimize="$optimize -finline-functions"
+- : #- optimize="$optimize -fstrength-reduce"
- optimize="$optimize -fthread-jumps"
- optimize="$optimize -fcse-follow-jumps"
- optimize="$optimize -fcse-skip-blocks"
-+ : #optimize="$optimize -fthread-jumps"
-+ : #optimize="$optimize -fcse-follow-jumps"
-+ : #optimize="$optimize -fcse-skip-blocks"
- : #x optimize="$optimize -frerun-cse-after-loop"
- : #x optimize="$optimize -frerun-loop-opt"
- : #x optimize="$optimize -fgcse"
- optimize="$optimize -fexpensive-optimizations"
+- : #x optimize="$optimize -frerun-cse-after-loop"
+- : #x optimize="$optimize -frerun-loop-opt"
+- : #x optimize="$optimize -fgcse"
+- optimize="$optimize -fexpensive-optimizations"
- optimize="$optimize -fregmove"
-+ : #optimize="$optimize -fregmove"
- : #* optimize="$optimize -fdelayed-branch"
- : #x optimize="$optimize -fschedule-insns"
+- : #* optimize="$optimize -fdelayed-branch"
+- : #x optimize="$optimize -fschedule-insns"
- optimize="$optimize -fschedule-insns2"
-+ : #optimize="$optimize -fschedule-insns2"
- : #? optimize="$optimize -ffunction-sections"
- : #? optimize="$optimize -fcaller-saves"
- : #> optimize="$optimize -funroll-loops"
---
-2.1.0
-
+- : #? optimize="$optimize -ffunction-sections"
+- : #? optimize="$optimize -fcaller-saves"
+- : #> optimize="$optimize -funroll-loops"
+- : #> optimize="$optimize -funroll-all-loops"
+- : #x optimize="$optimize -fmove-all-movables"
+- : #x optimize="$optimize -freduce-all-givs"
+- : #? optimize="$optimize -fstrict-aliasing"
+- : #* optimize="$optimize -fstructure-noalias"
+-
+- case "$host" in
+- arm*-*)
+- optimize="$optimize -fstrength-reduce"
+- ;;
+- mips*-*)
+- optimize="$optimize -fstrength-reduce"
+- optimize="$optimize -finline-functions"
+- ;;
+- i?86-*)
+- optimize="$optimize -fstrength-reduce"
+- ;;
+- powerpc-apple-*)
+- # this triggers an internal compiler error with gcc2
+- : #optimize="$optimize -fstrength-reduce"
+-
+- # this is really only beneficial with gcc3
+- : #optimize="$optimize -finline-functions"
+- ;;
+- *)
+- # this sometimes provokes bugs in gcc 2.95.2
+- : #optimize="$optimize -fstrength-reduce"
+- ;;
+- esac
+- ;;
+- esac
++ optimize="-O2"
+ fi
+
+ case "$host" in
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
index 01c7aa3c..5bc91f35 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
@@ -11,15 +11,13 @@ Upstream-Status: Pending
2010/07/29
Nitin A Kamble <nitin.a.kamble@intel.com>
-Index: libmad-0.15.1b/fixed.h
-===================================================================
---- libmad-0.15.1b.orig/fixed.h
-+++ libmad-0.15.1b/fixed.h
+--- a/fixed.h
++++ b/fixed.h
@@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
/* --- MIPS ---------------------------------------------------------------- */
-+# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
++# elif defined(FPM_MIPS) && (defined(__clang__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
+# define MAD_F_MLX(hi, lo, x, y) \
+ do { \
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb
deleted file mode 100644
index 1070246c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Library for reading mod-like audio files"
-HOMEPAGE = "http://modplug-xmms.sf.net"
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz"
-SRC_URI[md5sum] = "5f30241db109d647781b784e62ddfaa1"
-SRC_URI[sha256sum] = "77462d12ee99476c8645cb5511363e3906b88b33a6b54362b4dbc0f39aa2daad"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-option-checking"
-
-# NOTE: autotools_stage_all does nothing here, we need to do it manually
-do_install_append() {
- install -d ${D}${includedir}/libmodplug
- install -m 0644 ${S}/src/modplug.h ${D}${includedir}/libmodplug
- install -m 0644 ${S}/src/modplug.h ${D}${includedir}/
-}
-
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb
new file mode 100644
index 00000000..398daae0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Library for reading mod-like audio files"
+HOMEPAGE = "http://modplug-xmms.sf.net"
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz"
+SRC_URI[md5sum] = "5ba16981e6515975e9a68a58d5ba69d1"
+SRC_URI[sha256sum] = "457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-option-checking"
+
+# NOTE: autotools_stage_all does nothing here, we need to do it manually
+do_install_append() {
+ install -d ${D}${includedir}/libmodplug
+ install -m 0644 ${S}/src/modplug.h ${D}${includedir}/libmodplug
+ install -m 0644 ${S}/src/modplug.h ${D}${includedir}/
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
deleted file mode 100644
index dd6789dc..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
+++ /dev/null
@@ -1,54 +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] = "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"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
new file mode 100644
index 00000000..29ef2fa4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
@@ -0,0 +1,55 @@
+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-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
+
+SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
+SRC_URI[md5sum] = "d7c07db796d21c9cf1861e0c2b0c0617"
+SRC_URI[sha256sum] = "65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d"
+
+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 \
+"
+
+# ne10 is available only for armv7a, armv7ve and aarch64
+DEPENDS_append_aarch64 = " ne10"
+DEPENDS_append_armv7a = " ne10"
+DEPENDS_append_armv7ve = " ne10"
+
+python () {
+ if d.getVar('TARGET_FPU') in [ 'soft' ]:
+ d.appendVar('PACKAGECONFIG', ' fixed-point')
+}
+
+# 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_armv5 = "arm"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc b/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
index 14ea6644..e08d11b0 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
@@ -8,10 +8,10 @@ LICENSE = "LGPLv3"
SECTION = "devel"
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 \
+SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \
file://config.linux-cross"
# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
-MIRRORS += "http://www.live555.com/liveMedia/public/ http://distcache.FreeBSD.org/ports-distfiles/ \n"
+MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n"
S = "${WORKDIR}/live"
TARGET_CC_ARCH += "${LDFLAGS}"
@@ -49,8 +49,8 @@ do_install() {
install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/
}
-PACKAGES =+ " live555-openrtsp live555-playsip live555-mediaserver"
-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"
+PACKAGES =+ "live555-openrtsp live555-playsip live555-mediaserver live555-examples"
FILES_live555-openrtsp = "${bindir}/openRTSP"
FILES_live555-playsip = "${bindir}/playSIP"
FILES_live555-mediaserver = "${bindir}/live555MediaServer"
+FILES_live555-examples = "${bindir}/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb
deleted file mode 100644
index 27fc4298..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb
new file mode 100644
index 00000000..1da61c0c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb
@@ -0,0 +1,11 @@
+require live555.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+# SRC_URI[md5sum] = "a84ca3946d899f5592c7d31012ed2fe3"
+# SRC_URI[sha256sum] = "0bd0c26d980425d9a419d835193e292a08a968f175da1902da4b495f126d5abd"
+
+SRC_URI[md5sum] = "a593f915664793b3ba41299b17b8bedc"
+SRC_URI[sha256sum] = "a3dcd157865186cf883c3a80b4bb09637e91fff96b234b2c780a7f7dcc7a35dc"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb
new file mode 100644
index 00000000..76e10f86
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm."
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "alsa-lib texinfo"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
+"
+SRC_URI[md5sum] = "f69d7dd06d307e888f466fc27f4f680b"
+SRC_URI[sha256sum] = "ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19"
+
+inherit autotools binconfig lib_package
+
+EXTRA_OECONF = "\
+ --disable-af \
+ --enable-alsa \
+ --disable-esd \
+ --enable-oss \
+ --disable-sam9407 \
+ --disable-ultra \
+ --disable-esdtest \
+ --enable-threads \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
deleted file mode 100644
index d53dff6a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm."
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "alsa-lib texinfo"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
-"
-SRC_URI[md5sum] = "9dd9bed30c6f7607a55480234606071b"
-SRC_URI[sha256sum] = "3f363e03f7b1db75b9b6602841bbd440ed275a548e53545f980df8155de4d330"
-
-inherit autotools binconfig lib_package
-
-EXTRA_OECONF = "\
- --disable-af \
- --enable-alsa \
- --disable-esd \
- --enable-oss \
- --disable-sam9407 \
- --disable-ultra \
- --disable-esdtest \
- --enable-threads \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
-PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
deleted file mode 100644
index 6586e352..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
+++ /dev/null
@@ -1,78 +0,0 @@
-SUMMARY = "Open Source multimedia player"
-DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
-SECTION = "multimedia"
-HOMEPAGE = "http://www.mpv.io/"
-DEPENDS = "zlib ffmpeg jpeg virtual/libx11 xsp libxv \
- libxscrnsaver libv4l libxinerama \
-"
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=91f1cb870c1cc2d31351a4d2595441cb"
-
-# While this item does not require it, it depends on ffmpeg which does
-LICENSE_FLAGS = "commercial"
-
-SRC_URI = " \
- https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz;name=mpv \
- http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;downloadfilename=waf;subdir=${BPN}-${PV} \
-"
-SRC_URI[mpv.md5sum] = "038d0b660de07ff645ad6a741704ecab"
-SRC_URI[mpv.sha256sum] = "daf3ef358d5f260f2269f7caabce27f446c291457ec330077152127133b71b46"
-SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
-SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
-
-inherit waf pkgconfig pythonnative distro_features_check
-
-LUA ?= "lua"
-LUA_mips64 = ""
-LUA_aarch64 = ""
-# Note: both lua and libass are required to get on-screen-display (controls)
-PACKAGECONFIG ??= " \
- ${LUA} \
- libass \
- ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
-"
-
-PACKAGECONFIG_remove_aarch64 = "lua"
-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} \
-"
-
-adjust_waf_perms() {
- chmod +x ${S}/waf
-}
-
-do_patch[postfuncs] += "adjust_waf_perms"
-
-FILES_${PN} += "${datadir}/icons"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
new file mode 100644
index 00000000..f7b0f30f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
@@ -0,0 +1,117 @@
+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 libv4l"
+
+DEPENDS += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' virtual/libx11 xsp libxv libxscrnsaver libxinerama', '', d)} \
+"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=91f1cb870c1cc2d31351a4d2595441cb"
+
+# While this item does not require it, it depends on ffmpeg which does
+LICENSE_FLAGS = "commercial"
+
+SRCREV_mpv = "70b991749df389bcc0a4e145b5687233a03b4ed7"
+SRC_URI = " \
+ git://github.com/mpv-player/mpv;name=mpv \
+"
+
+S = "${WORKDIR}/git"
+
+inherit waf pkgconfig features_check mime-xdg
+
+LUA ?= "lua"
+LUA_mips64 = ""
+LUA_aarch64 = ""
+LUA_powerpc64 = ""
+LUA_powerpc64le = ""
+LUA_riscv64 = ""
+LUA_riscv32 = ""
+LUA_powerpc = ""
+
+# Note: both lua and libass are required to get on-screen-display (controls)
+PACKAGECONFIG ??= " \
+ ${LUA} \
+ libass \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+"
+
+PACKAGECONFIG_remove_aarch64 = "lua"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11"
+PACKAGECONFIG[xv] = "--enable-xv,--disable-xv,libxv"
+PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
+PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,"
+PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
+PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm"
+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 wayland-native libxkbcommon"
+
+python __anonymous() {
+ packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
+ extras = []
+ if "x11" in packageconfig and "opengl" in packageconfig:
+ extras.append(" --enable-gl-x11")
+ if "x11" in packageconfig and "egl" in packageconfig:
+ extras.append(" --enable-egl-x11")
+ if "egl" in packageconfig and "drm" in packageconfig:
+ extras.append(" --enable-egl-drm")
+ if "vaapi" in packageconfig and "x11" in packageconfig:
+ extras.append(" --enable-vaapi-x11")
+ if "vaapi" in packageconfig and "drm" in packageconfig:
+ extras.append(" --enable-vaapi-drm")
+ if "vaapi" in packageconfig and "x11" in packageconfig and "egl" in packageconfig:
+ extras.append(" --enable-vaapi-x-egl")
+ if "vdpau" in packageconfig and "opengl" in packageconfig and "x11" in packageconfig:
+ extras.append(" --enable-vdpau-gl-x11")
+ if "wayland" in packageconfig and "opengl" in packageconfig:
+ extras.append(" --enable-gl-wayland")
+ if "wayland" in packageconfig and "vaapi" in packageconfig:
+ extras.append(" --enable-vaapi-wayland")
+ if extras:
+ d.appendVar("EXTRA_OECONF", "".join(extras))
+}
+
+SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
+
+EXTRA_OECONF = " \
+ --prefix=${prefix} \
+ --target=${SIMPLE_TARGET_SYS} \
+ --confdir=${sysconfdir} \
+ --datadir=${datadir} \
+ --disable-manpage-build \
+ --disable-libsmbclient \
+ --disable-libbluray \
+ --disable-dvdnav \
+ --disable-cdda \
+ --disable-uchardet \
+ --disable-rubberband \
+ --disable-lcms2 \
+ --disable-vapoursynth \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+
+do_patch[postfuncs] += "get_waf"
+
+get_waf() {
+ cd ${S}
+ ./bootstrap.py
+ sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/waf
+ cd -
+}
+
+FILES_${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/zsh \
+ ${datadir}/bash-completion \
+ "
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
index ff631114..a84f2bf0 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
@@ -1,7 +1,7 @@
SUMMARY = "Opus Audio Tools"
HOMEPAGE = "http://www.opus-codec.org/"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=843a066da9f1facfcc6ea6f616ffecb1"
SRC_URI = "http://downloads.xiph.org/releases/opus/opus-tools-${PV}.tar.gz"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire-0.2_git.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire-0.2_git.bb
new file mode 100644
index 00000000..bcb3015f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire-0.2_git.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Multimedia processing server for Linux"
+AUTHOR = "Wim Taymans <wtaymans@redhat.com>"
+HOMEPAGE = "https://pipewire.org"
+SECTION = "multimedia"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=d8153c6e65986f862a0550ca74a3ed73 \
+ file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+"
+DEPENDS = "alsa-lib dbus udev"
+SRCREV = "14c11c0fe4d366bad4cfecdee97b6652ff9ed63d"
+PV = "0.2.7"
+
+SRC_URI = "git://github.com/PipeWire/pipewire"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd manpages
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ gstreamer \
+"
+
+PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
+
+PACKAGES =+ "\
+ ${PN}-spa-plugins \
+ ${PN}-alsa \
+ ${PN}-config \
+ gstreamer1.0-${PN} \
+ lib${PN} \
+ lib${PN}-modules \
+"
+
+RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
+
+FILES_${PN} = "\
+ ${sysconfdir}/pipewire/pipewire.conf \
+ ${bindir}/pipewire* \
+ ${systemd_user_unitdir}/* \
+"
+FILES_lib${PN} = "\
+ ${libdir}/libpipewire-*.so.* \
+"
+FILES_lib${PN}-modules = "\
+ ${libdir}/pipewire-*/* \
+"
+FILES_${PN}-spa-plugins = "\
+ ${bindir}/spa-* \
+ ${libdir}/spa/* \
+"
+FILES_${PN}-alsa = "\
+ ${libdir}/alsa-lib/* \
+ ${datadir}/alsa/alsa.conf.d/50-pipewire.conf \
+"
+FILES_gstreamer1.0-${PN} = "\
+ ${libdir}/gstreamer-1.0/* \
+"
+
+CONFFILES_${PN} = "\
+ ${sysconfdir}/pipewire/pipewire.conf \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire_git.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire_git.bb
new file mode 100644
index 00000000..1a415c13
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire_git.bb
@@ -0,0 +1,76 @@
+SUMMARY = "Multimedia processing server for Linux"
+AUTHOR = "Wim Taymans <wtaymans@redhat.com>"
+HOMEPAGE = "https://pipewire.org"
+SECTION = "multimedia"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=e2c0b7d86d04e716a3c4c9ab34260e69 \
+ file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \
+"
+DEPENDS = "alsa-lib dbus udev"
+SRCREV = "74a1632f0720886d5b3b6c23ee8fcd6c03ca7aac"
+PV = "0.3.1"
+
+SRC_URI = "git://github.com/PipeWire/pipewire"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd manpages
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio systemd vulkan', d)} \
+ jack gstreamer \
+"
+
+PACKAGECONFIG[bluez] = "-Dbluez5=true,-Dbluez5=false,bluez5 sbc"
+PACKAGECONFIG[jack] = "-Djack=true,-Djack=false,jack"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
+PACKAGECONFIG[pulseaudio] = "-Dpipewire-pulseaudio=true,-Dpipewire-pulseaudio=false,pulseaudio"
+PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
+PACKAGECONFIG[vulkan] = "-Dvulkan=true,-Dvulkan=false,vulkan-loader"
+
+LDFLAGS_append_mipsarch = " -latomic"
+LDFLAGS_append_x86 = " -latomic"
+
+PACKAGES =+ "\
+ ${PN}-spa-plugins \
+ ${PN}-alsa \
+ ${PN}-config \
+ gstreamer1.0-${PN} \
+ lib${PN} \
+ lib${PN}-modules \
+ lib${PN}-jack \
+"
+
+RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
+
+FILES_${PN} = "\
+ ${sysconfdir}/pipewire/pipewire.conf \
+ ${bindir}/pw-* \
+ ${bindir}/pipewire* \
+ ${systemd_user_unitdir}/* \
+"
+FILES_lib${PN} = "\
+ ${libdir}/libpipewire-*.so.* \
+ ${libdir}/libjack-*.so.* \
+ ${libdir}/libpulse-*.so.* \
+"
+FILES_lib${PN}-modules = "\
+ ${libdir}/pipewire-*/* \
+"
+FILES_${PN}-spa-plugins = "\
+ ${bindir}/spa-* \
+ ${libdir}/spa-*/* \
+"
+FILES_${PN}-alsa = "\
+ ${libdir}/alsa-lib/* \
+"
+FILES_gstreamer1.0-${PN} = "\
+ ${libdir}/gstreamer-1.0/* \
+"
+
+CONFFILES_${PN} = "\
+ ${sysconfdir}/pipewire/pipewire.conf \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch
deleted file mode 100644
index b59569f2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
deleted file mode 100644
index 97ec37d4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
+++ /dev/null
@@ -1,624 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
deleted file mode 100644
index 959068dd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server."
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "intltool-native gtkmm libcanberra pulseaudio"
-
-inherit gnome distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-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/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
new file mode 100644
index 00000000..51d7e2a2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server."
+HOMEPAGE = "https://freedesktop.org/software/pulseaudio/pavucontrol/"
+SECTION = "x11/multimedia"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+# glib-2.0-native is required for glib-gettextize, which is used by the
+# AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
+# glib-2.0-native dependency may go away at some point (something to keep in
+# mind when doing version upgrades).
+DEPENDS = "intltool-native glib-2.0-native gtkmm3 libcanberra pulseaudio"
+
+inherit autotools features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \
+ "
+SRC_URI[md5sum] = "9dcc2c76292e7e5e075d51b8dcb20202"
+SRC_URI[sha256sum] = "8fc45bac9722aefa6f022999cbb76242d143c31b314e2dbb38f034f4069d14e2"
+
+EXTRA_OECONF = "--disable-lynx "
+
+RDEPENDS_${PN} += "pulseaudio-server"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
index 098b08d4..e4fb4ff0 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
@@ -9,7 +9,7 @@ DEPENDS = "glib-2.0 intltool-native"
inherit autotools gettext
-DEPENDS += "glib-2.0-native intltool-native"
+DEPENDS += "glib-2.0-native"
SRC_URI = "http://people.freedesktop.org/~mccann/dist/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "d7387912cfd275282d1ec94483cb2f62"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
deleted file mode 100644
index 5b84af2c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From f7a4b79b3323534460a63b3e6c58ebaf06adf207 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 14 Jul 2017 13:20:05 -0700
-Subject: [PATCH] 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)
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch
new file mode 100644
index 00000000..57948add
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch
@@ -0,0 +1,45 @@
+From 137ce23ae677b11e5483ef810751edae7bf96bb9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 18:40:06 -0800
+Subject: [PATCH] Define error_t and include sys/types.h
+
+Fix 'unknown type name' for error_t and u_int32_t.
+u_int32_t is defined in sys/type.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/ir-ctl/keymap.h | 4 ++++
+ utils/keytable/keymap.h | 5 +++++
+ 2 files changed, 9 insertions(+)
+
+diff --git a/utils/ir-ctl/keymap.h b/utils/ir-ctl/keymap.h
+index f2b2963..1f8a3f8 100644
+--- a/utils/ir-ctl/keymap.h
++++ b/utils/ir-ctl/keymap.h
+@@ -2,6 +2,10 @@
+ #ifndef __KEYMAP_H
+ #define __KEYMAP_H
+
++#include <sys/types.h>
++#ifndef error_t
++typedef int error_t;
++#endif
+ struct keymap {
+ struct keymap *next;
+ char *name;
+diff --git a/utils/keytable/keymap.h b/utils/keytable/keymap.h
+index f2b2963..345d55d 100644
+--- a/utils/keytable/keymap.h
++++ b/utils/keytable/keymap.h
+@@ -2,6 +2,11 @@
+ #ifndef __KEYMAP_H
+ #define __KEYMAP_H
+
++#include <sys/types.h>
++#ifndef error_t
++typedef int error_t;
++#endif
++
+ struct keymap {
+ struct keymap *next;
+ char *name;
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..a8926762
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,41 @@
+From b213da2d5fcc93cd24fc880c71c717d8e2ce2968 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 18:43:21 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/keytable/keytable.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
+index 6cb0217..59ff1ee 100644
+--- a/utils/keytable/keytable.c
++++ b/utils/keytable/keytable.c
+@@ -53,6 +53,11 @@
+
+ # define N_(string) string
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ struct input_keymap_entry_v2 {
+ #define KEYMAP_BY_INDEX (1 << 0)
+ u_int8_t flags;
+@@ -1533,7 +1538,7 @@ static void test_event(struct rc_device *rc_dev, int fd)
+
+ for (i = 0; i < rd / sizeof(struct input_event); i++) {
+ printf(_("%ld.%06ld: event type %s(0x%02x)"),
+- ev[i].time.tv_sec, ev[i].time.tv_usec,
++ ev[i].input_event_sec, ev[i].input_event_usec,
+ get_event_name(events_type, ev[i].type), ev[i].type);
+
+ switch (ev[i].type) {
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch
new file mode 100644
index 00000000..ac704c72
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch
@@ -0,0 +1,48 @@
+From 4a10eab0e31d69948161241b1801c41201a5d081 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 18:50:34 -0800
+Subject: [PATCH] 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.
+
+Simply avoid getsubopt, since we cannot rely on it.
+
+Imported from Alpine Linux
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
+index 651917e..cea57b7 100644
+--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
++++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
+@@ -782,15 +782,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, "Missing suboption value\n");
+- return true;
++ while (*p && *p != ',')
++ p++;
++
++ if (*p)
++ *p++ = '\0';
++
++ *subs = p;
++ return false;
+ }
+
+ void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.16.0.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.16.0.bb
deleted file mode 100644
index bcead00b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.16.0.bb
+++ /dev/null
@@ -1,54 +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)}"
-DEPENDS_append_libc-musl = " argp-standalone"
-DEPENDS_append_class-target = " udev"
-LDFLAGS_append = " -pthread"
-
-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 \
- 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] = "21a6ec3605a1c3114c8ccb70a963c871"
-SRC_URI[sha256sum] = "f1b425584284bac378b76331c0671dc890bd7af49c03e8a6cc0c70e57eea0bad"
-
-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-dev"
-
-RPROVIDES_${PN}-dbg += "libv4l-dbg"
-
-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-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/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.1.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.1.bb
new file mode 100644
index 00000000..193335de
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.1.bb
@@ -0,0 +1,56 @@
+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"
+DEPENDS_append_class-target = " udev"
+LDFLAGS_append = " -pthread"
+
+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 \
+ file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \
+ file://0005-Define-error_t-and-include-sys-types.h.patch \
+ file://0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ file://0007-Do-not-use-getsubopt.patch \
+ "
+SRC_URI[md5sum] = "ff2dd75970683be9a301ed949b3372b3"
+SRC_URI[sha256sum] = "25fc42253722401f8742f04dc50a444dfa9b75378e7d09b55035bcbb44c5f342"
+
+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-dev"
+
+RPROVIDES_${PN}-dbg += "libv4l-dbg"
+
+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-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/external/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
index cc5b8448..021496bd 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://license.txt;md5=f596650807588c61fcab60bec8242df8"
SRC_URI = "http://wavpack.com/wavpack-${PV}.tar.bz2"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb
deleted file mode 100644
index e17cda1a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "VPX multi-format codec"
-DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
-HOMEPAGE = "http://www.webmproject.org/code/"
-BUGTRACKER = "http://code.google.com/p/webm/issues/list"
-SECTION = "libs/multimedia"
-LICENSE = "BSD"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
-
-SRC_URI += "http://storage.googleapis.com/downloads.webmproject.org/releases/webm/${BP}.tar.bz2 \
- file://libvpx-configure-support-blank-prefix.patch \
- "
-SRC_URI[md5sum] = "a19518c8111fa93bdabdd85259162611"
-SRC_URI[sha256sum] = "1c2c0c2a97fba9474943be34ee39337dee756780fc12870ba1dc68372586a819"
-
-# ffmpeg links with this and fails
-# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
-ARM_INSTRUCTION_SET = "arm"
-
-CFLAGS += "-fPIC"
-
-export CC
-export LD = "${CC}"
-
-VPXTARGET_armv5te = "armv5te-linux-gcc"
-VPXTARGET_armv6 = "armv6-linux-gcc"
-VPXTARGET_armv7a = "armv7-linux-gcc"
-VPXTARGET ?= "generic-gnu"
-
-CONFIGUREOPTS = " \
- --target=${VPXTARGET} \
- --enable-vp9 \
- --enable-libs \
- --disable-install-docs \
- --disable-static \
- --enable-shared \
- --prefix=${prefix} \
- --libdir=${libdir} \
- --size-limit=16384x16384 \
-"
-
-do_configure() {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
- chown -R root:root ${D}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb
new file mode 100644
index 00000000..4a98ec17
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb
@@ -0,0 +1,50 @@
+SUMMARY = "VPX multi-format codec"
+DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
+HOMEPAGE = "http://www.webmproject.org/code/"
+BUGTRACKER = "http://code.google.com/p/webm/issues/list"
+SECTION = "libs/multimedia"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
+
+SRCREV = "7ec7a33a081aeeb53fed1a8d87e4cbd189152527"
+SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https \
+ file://libvpx-configure-support-blank-prefix.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# ffmpeg links with this and fails
+# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
+ARM_INSTRUCTION_SET = "arm"
+
+CFLAGS += "-fPIC"
+
+export CC
+export LD = "${CC}"
+
+VPXTARGET_armv5te = "armv5te-linux-gcc"
+VPXTARGET_armv6 = "armv6-linux-gcc"
+VPXTARGET_armv7a = "armv7-linux-gcc"
+VPXTARGET ?= "generic-gnu"
+
+CONFIGUREOPTS = " \
+ --target=${VPXTARGET} \
+ --enable-vp9 \
+ --enable-libs \
+ --disable-install-docs \
+ --disable-static \
+ --enable-shared \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+ --size-limit=16384x16384 \
+"
+
+do_configure() {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ chown -R root:root ${D}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
index 526659e4..b6aafdee 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
@@ -9,7 +9,7 @@ SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${BPN}/${BPN}_${
file://auxdir.patch;striplevel=0"
S = "${WORKDIR}/xpext-1.0"
-inherit autotools pkgconfig distro_features_check
+inherit autotools pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb b/external/meta-openembedded/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb
index c7a068df..c611da48 100644
--- a/external/meta-openembedded/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb
+++ b/external/meta-openembedded/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb
@@ -7,7 +7,7 @@ SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${BPN}_${PV}
file://xsp-fix-pc.patch"
S = "${WORKDIR}/Xsp"
-inherit autotools pkgconfig distro_features_check
+inherit autotools pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb b/external/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
deleted file mode 100644
index b31d8eb4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "The Geolocation Service"
-DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \
-The primary goal of the Geoclue project is to make creating location-aware applications \
-as simple as possible, while the secondary goal is to ensure that no application \
-can access location information without explicit permission from user."
-LICENSE = "GPLv2.0+"
-SECTION = "console/network"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8114b83a0435d8136b47bd70111ce5cd"
-
-DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-SRC_URI = " \
- http://www.freedesktop.org/software/geoclue/releases/2.4/geoclue-${PV}.tar.xz \
-"
-
-SRC_URI[md5sum] = "d2a5b05f4bad032673fe23afbce27926"
-SRC_URI[sha256sum] = "9c43fb9d0c12067ea64400500abb0640194947d4c2c55e38545afe5d9c5c315c"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-# Without this line, package is delcared a library and named libgeoclue*
-AUTO_LIBNAME_PKGS = ""
-
-PACKAGECONFIG ??= "3g modem-gps cdma nmea lib"
-PACKAGECONFIG[3g] = "--enable-3g-source,--disable-3g-source,modemmanager"
-PACKAGECONFIG[modem-gps] = "--enable-modem-gps-source,--disable-modem-gps-source,modemmanager"
-PACKAGECONFIG[cdma] = "--enable-cdma-source,--disable-cdma-source,modemmanager"
-PACKAGECONFIG[nmea] = "--enable-nmea-source,--disable-nmea-source,avahi"
-PACKAGECONFIG[lib] = "--enable-libgeoclue,--disable-libgeoclue,gobject-introspection"
-
-EXTRA_OECONF += " \
- --with-dbus-service-user=root \
- --with-dbus-sys-dir=${sysconfdir}/dbus-1/system.d \
- --enable-demo-agent=no \
-"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/system-services \
- ${libdir} \
- ${systemd_unitdir} \
- ${prefix}/libexec \
-"
-
-FILES_${PN}-dev += " \
- ${datadir}/dbus-1/interfaces \
- ${datadir}/gir-1.0 \
-"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb b/external/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb
new file mode 100644
index 00000000..b46445a2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb
@@ -0,0 +1,54 @@
+SUMMARY = "The Geolocation Service"
+DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \
+The primary goal of the Geoclue project is to make creating location-aware applications \
+as simple as possible, while the secondary goal is to ensure that no application \
+can access location information without explicit permission from user."
+LICENSE = "GPLv2.0+"
+SECTION = "console/network"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bdfdd4986a0853eb84eeba85f9d0c4d6"
+
+DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native"
+
+inherit meson pkgconfig gtk-doc gobject-introspection vala
+
+SRC_URI = " \
+ https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/${PV}/geoclue-${PV}.tar \
+"
+
+SRC_URI[md5sum] = "6228301ed62b587ebaa0438b97ce66e4"
+SRC_URI[sha256sum] = "3caa5e10190a34c17a9b3a9d1d8a19797ed197f07f36f6e35ce533a379efe155"
+
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# Without this line, package is declared a library and named libgeoclue*
+AUTO_LIBNAME_PKGS = ""
+
+PACKAGECONFIG ??= "3g modem-gps cdma nmea lib"
+PACKAGECONFIG[3g] = "-D3g-source=true,-D3g-source=false,modemmanager"
+PACKAGECONFIG[modem-gps] = "-Dmodem-gps-source=true,-Dmodem-gps-source=false,modemmanager"
+PACKAGECONFIG[cdma] = "-Dcdma-source=true,-Dcdma-source=false,modemmanager"
+PACKAGECONFIG[nmea] = "-Dnmea-source=true,-Dnmea-source=false,avahi"
+PACKAGECONFIG[lib] = "-Dlibgeoclue=true,-Dlibgeoclue=false,gobject-introspection"
+
+GTKDOC_MESON_OPTION = "gtk-doc"
+
+EXTRA_OEMESON += " \
+ -Ddbus-sys-dir=${sysconfdir}/dbus-1/system.d \
+ -Ddemo-agent=false \
+"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services \
+ ${libdir} \
+ ${systemd_unitdir} \
+ ${prefix}/libexec \
+"
+
+FILES_${PN}-dev += " \
+ ${datadir}/dbus-1/interfaces \
+ ${datadir}/gir-1.0 \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/geos/files/fix-gcc6-isnan.patch b/external/meta-openembedded/meta-oe/recipes-navigation/geos/files/fix-gcc6-isnan.patch
deleted file mode 100644
index 5c5fbd1d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/geos/files/fix-gcc6-isnan.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- geos-3.4.2/configure.in.orig 2016-06-08 17:46:43.002250304 +0000
-+++ geos-3.4.2/configure.in 2016-06-08 17:57:36.342241606 +0000
-@@ -197,7 +197,7 @@
- AC_LANG_PUSH([C++])
- AC_CACHE_CHECK([for isnan], ac_cv_isnan,
- [AC_TRY_LINK([#include <cmath>],
-- [double x; int y; y = isnan(x);],
-+ [double x; int y; y = std::isnan(x);],
- ac_cv_isnan=yes,
- ac_cv_isnan=no
- )])
---- geos-3.4.2/include/geos/platform.h.in.orig 2016-06-08 14:06:53.910234182 -0400
-+++ geos-3.4.2/include/geos/platform.h.in 2016-06-08 14:07:19.298233844 -0400
-@@ -84,7 +84,7 @@
- #endif
-
- #if defined(HAVE_ISNAN)
--# define ISNAN(x) (isnan(x))
-+# define ISNAN(x) (std::isnan(x))
- #else
- # if defined(_MSC_VER)
- # define ISNAN(x) _isnan(x)
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc b/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc
index 2e308b48..48721058 100644
--- a/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://trac.osgeo.org/geos/"
SECTION = "libs"
LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "http://download.osgeo.org/geos/geos-${PV}.tar.bz2"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.2.bb b/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.2.bb
deleted file mode 100644
index 7193f8fb..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.2.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require geos.inc
-
-SRC_URI += "file://geos-config-Add-includedir-variable.patch \
- file://fix-gcc6-isnan.patch"
-
-SRC_URI[md5sum] = "fc5df2d926eb7e67f988a43a92683bae"
-SRC_URI[sha256sum] = "15e8bfdf7e29087a957b56ac543ea9a80321481cef4d4f63a7b268953ad26c53"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.3.bb b/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.3.bb
new file mode 100644
index 00000000..538456cc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.3.bb
@@ -0,0 +1,7 @@
+require geos.inc
+
+SRC_URI += "file://geos-config-Add-includedir-variable.patch \
+"
+
+SRC_URI[md5sum] = "77f2c2cca1e9f49bc1bece9037ac7a7a"
+SRC_URI[sha256sum] = "cfbf68079117c1c2b76411636444ff41d73c31093c4cab9dcc9a8c1bbe7e3897"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch
deleted file mode 100644
index e91e4e9f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f221fa959c80b43c65426500a6836a1b5cf6fe0c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 17 Aug 2016 02:16:12 +0000
-Subject: [PATCH] include sys/ttydefaults.h
-
-This is needed for CTRL definition, as exposed by musl on glibc
-this include file gets pulled indirectly.
-
-/usr/src/debug/gpsd/3.14-r0/gpsd-3.14/gpsmon.c:605: undefined reference to `CTRL'
-clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)
-scons: *** [gpsmon] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Foreward port to gpsd 3.16
-Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
----
- gpsmon.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gpsmon.c b/gpsmon.c
-index 89c43ee2..5cc0dabd 100644
---- a/gpsmon.c
-+++ b/gpsmon.c
-@@ -24,6 +24,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/select.h>
-+#include <sys/ttydefaults.h>
- #include <fcntl.h>
- #include <unistd.h>
-
---
-2.12.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
deleted file mode 100644
index ba3d205d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 29 Apr 2012 00:05:59 +0200
-Subject: [PATCH 4/4] SConstruct: disable html and man docs building because
- xmlto-native from OE is broken
-
-It will try to load dtd and fail:
-| xmlto man gpsctl.xml; mv `basename gpsctl.1` gpsctl.1
-| xmlto: /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate (status 3)
-| xmlto: Fix document syntax or use --skip-validation option
-| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-| /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml:8: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-| ^
-| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| Document /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate
-| mv: cannot stat `gpsctl.1': No such file or directory
-| scons: *** [gpsctl.1] Error 1
-| scons: building terminated because of errors.
-
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
----
- SConstruct | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 3318bb48..a5bb756d 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -889,11 +889,11 @@ else:
-
- manbuilder = htmlbuilder = None
- if env['manbuild']:
-- if config.CheckXsltproc():
-+ if False and config.CheckXsltproc():
- build = "xsltproc --nonet %s $SOURCE >$TARGET"
- htmlbuilder = build % docbook_html_uri
- manbuilder = build % docbook_man_uri
-- elif WhereIs("xmlto"):
-+ elif False and WhereIs("xmlto"):
- xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` " \
- "`dirname $TARGET`"
- htmlbuilder = xmlto % "html-nochunks"
---
-1.8.5.5
-
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
index 1fa27c21..23ae5e50 100644
--- a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
@@ -1,4 +1,4 @@
-From 1e2cea8945bc2183fbe1a012dcd633a352125952 Mon Sep 17 00:00:00 2001
+From 5464d9e1bfd1a1c54338ec7c4148cad1b222ef93 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 24 Apr 2012 18:45:14 +0200
Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
@@ -34,15 +34,16 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
+
---
- SConstruct | 9 +++++++++
- 1 file changed, 9 insertions(+)
+ SConstruct | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/SConstruct b/SConstruct
-index 3318bb48..e1c4f963 100644
+index b8f3fb1..883e06d 100644
--- a/SConstruct
+++ b/SConstruct
-@@ -934,7 +934,7 @@ else:
+@@ -980,7 +980,7 @@ else:
# Set up configuration for target Python
@@ -51,7 +52,7 @@ index 3318bb48..e1c4f963 100644
PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS',
'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS']
-@@ -1364,7 +1364,7 @@ else:
+@@ -1506,7 +1506,7 @@ else:
LINK=ldshared,
SHLIBPREFIX="",
SHLIBSUFFIX=python_config['SO'],
@@ -60,22 +61,19 @@ index 3318bb48..e1c4f963 100644
CPPFLAGS=python_config['OPT'],
CFLAGS=python_config['BASECFLAGS'],
CXXFLAGS=python_config['BASECFLAGS'])
-@@ -1662,12 +1662,15 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip']
- if not env['python']:
- python_install = []
- else:
-+ python_libdir = python_libdir.replace(env['sysroot'], '')
- python_module_dir = python_libdir + os.sep + 'gps'
+@@ -1808,12 +1808,14 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip'] and
+ env.AddPostAction(binaryinstall, '$STRIP $TARGET')
+
+ if env['python']:
+- python_module_dir = str(python_libdir) + os.sep + 'gps'
++ python_module_dir = python_libdir.replace(env['sysroot'], '') + os.sep + 'gps'
python_extensions_install = python_env.Install(DESTDIR + python_module_dir,
python_built_extensions)
- if ((not env['debug'] and not env['profiling']
- and not env['nostrip'] and not sys.platform.startswith('darwin'))):
+ if ((not env['debug'] and not env['profiling'] and
+ not env['nostrip'] and not sys.platform.startswith('darwin'))):
python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
+ env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
+ % (python_libdir, ))
python_modules_install = python_env.Install(DESTDIR + python_module_dir,
python_modules)
---
-2.1.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gps_shm_close-Free-privdata.patch b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gps_shm_close-Free-privdata.patch
new file mode 100644
index 00000000..9b380158
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gps_shm_close-Free-privdata.patch
@@ -0,0 +1,37 @@
+From 2a4b3bcde0d73a3a4a6644d5f944ac9d16023ba9 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@stusta.de>
+Date: Mon, 21 Oct 2019 13:53:25 +0300
+Subject: gps_shm_close: Free privdata
+
+Previously every open/close cycle leaked privdata.
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Signed-off-by: Gary E. Miller <gem@rellim.com>
+
+Upstream-Status: Backport
+---
+ libgps_shm.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libgps_shm.c b/libgps_shm.c
+index d93972bba..12bb3760b 100644
+--- a/libgps_shm.c
++++ b/libgps_shm.c
+@@ -163,8 +163,12 @@ int gps_shm_read(struct gps_data_t *gpsdata)
+
+ void gps_shm_close(struct gps_data_t *gpsdata)
+ {
+- if (PRIVATE(gpsdata) && PRIVATE(gpsdata)->shmseg != NULL)
+- (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg);
++ if (PRIVATE(gpsdata)) {
++ if (PRIVATE(gpsdata)->shmseg != NULL)
++ (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg);
++ free(PRIVATE(gpsdata));
++ gpsdata->privdata = NULL;
++ }
+ }
+
+ int gps_shm_mainloop(struct gps_data_t *gpsdata, int timeout,
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
deleted file mode 100644
index e823e42a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
+++ /dev/null
@@ -1,137 +0,0 @@
-SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
-SECTION = "console/network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
-DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
-PROVIDES = "virtual/gpsd"
-
-EXTRANATIVEPATH += "chrpath-native"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
- file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
- file://0001-include-sys-ttydefaults.h.patch \
-"
-SRC_URI[md5sum] = "e0cfadcf4a65dfbdd2afb11c58f4e4a1"
-SRC_URI[sha256sum] = "68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a"
-
-inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives
-
-INITSCRIPT_PACKAGES = "gpsd-conf"
-INITSCRIPT_NAME = "gpsd"
-INITSCRIPT_PARAMS = "defaults 35"
-
-SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
-PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}"
-PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
-EXTRA_OESCONS = " \
- sysroot=${STAGING_DIR_TARGET} \
- libQgpsmm='false' \
- debug='true' \
- strip='false' \
- chrpath='yes' \
- systemd='${SYSTEMD_OESCONS}' \
- libdir='${libdir}' \
- ${PACKAGECONFIG_CONFARGS} \
-"
-# this cannot be used, because then chrpath is not found and only static lib is built
-# target=${HOST_SYS}
-
-do_compile_prepend() {
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
- export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
- export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
- export LINKFLAGS="${LDFLAGS}"
-}
-
-do_install() {
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
- export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
- export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
- export LINKFLAGS="${LDFLAGS}"
-
- export DESTDIR="${D}"
- # prefix is used for RPATH and DESTDIR/prefix for instalation
- ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
- bbfatal "scons install execution failed."
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd
- install -d ${D}/${sysconfdir}/default
- install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default
-
- #support for udev
- install -d ${D}/${sysconfdir}/udev/rules.d
- install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/
- install -d ${D}${base_libdir}/udev/
- install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
-
- #support for python
- install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
- install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
-
- #support for systemd
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
- install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
- install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
-}
-
-PACKAGES =+ "libgps libgpsd python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
-
-RPROVIDES_${PN}-dbg += "python-pygps-dbg"
-
-FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
- ${libdir}/libQgpsmm.prl"
-
-RDEPENDS_${PN} = "gpsd-gpsctl"
-RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
-
-SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
-FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
-RDEPENDS_gpsd-udev += "udev gpsd-conf"
-
-SUMMARY_libgpsd = "C service library used for communicating with gpsd"
-FILES_libgpsd = "${libdir}/libgpsd.so.*"
-
-SUMMARY_libgps = "C service library used for communicating with gpsd"
-FILES_libgps = "${libdir}/libgps.so.*"
-
-SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
-FILES_gpsd-conf = "${sysconfdir}"
-CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
-
-SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
-FILES_gpsd-gpsctl = "${bindir}/gpsctl"
-
-SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
-FILES_gps-utils = "${bindir}/*"
-RDEPENDS_gps-utils = "python-pygps"
-
-SUMMARY_python-pygps = "Python bindings to gpsd"
-FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-pygps = " \
- python-core \
- python-io \
- python-threading \
- python-terminal \
- python-curses \
- gpsd \
- python-json"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service"
-
-
-ALTERNATIVE_${PN} = "gpsd-defaults"
-ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
-ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb
new file mode 100644
index 00000000..f74ebda5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb
@@ -0,0 +1,137 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53"
+DEPENDS = "dbus ncurses python3 pps-tools"
+PROVIDES = "virtual/gpsd"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
+ file://0001-gps_shm_close-Free-privdata.patch \
+"
+SRC_URI[md5sum] = "b3bf88706794eb8e5f2c2543bf7ba87b"
+SRC_URI[sha256sum] = "27dd24d45b2ac69baab7933da2bf6ae5fb0be90130f67e753c110a3477155f39"
+
+inherit scons update-rc.d python3-dir python3native systemd update-alternatives
+
+INITSCRIPT_PACKAGES = "gpsd-conf"
+INITSCRIPT_NAME = "gpsd"
+INITSCRIPT_PARAMS = "defaults 35"
+
+SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb"
+PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5"
+PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
+PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1"
+EXTRA_OESCONS = " \
+ sysroot=${STAGING_DIR_TARGET} \
+ libQgpsmm='false' \
+ debug='false' \
+ nostrip='true' \
+ systemd='${SYSTEMD_OESCONS}' \
+ libdir='${libdir}' \
+ manbuild='false' \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+# this cannot be used, because then chrpath is not found and only static lib is built
+# target=${HOST_SYS}
+
+do_compile_prepend() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+
+ export DESTDIR="${D}"
+ # prefix is used for RPATH and DESTDIR/prefix for instalation
+ ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} install ${EXTRA_OESCONS} || \
+ bbfatal "scons install execution failed."
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd
+ install -d ${D}/${sysconfdir}/default
+ install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default
+
+ #support for udev
+ install -d ${D}/${sysconfdir}/udev/rules.d
+ install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
+
+ #support for python
+ install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+ install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+
+ #support for systemd
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
+ sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}.service
+ install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
+ sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}ctl@.service
+ install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
+}
+
+PACKAGES =+ "libgps libgpsd python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
+
+RPROVIDES_${PN}-dbg += "python-pygps-dbg"
+
+FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
+ ${libdir}/libQgpsmm.prl"
+
+RDEPENDS_${PN} = "gpsd-gpsctl"
+RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
+
+SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
+FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
+RDEPENDS_gpsd-udev += "udev gpsd-conf"
+
+SUMMARY_libgpsd = "C service library used for communicating with gpsd"
+FILES_libgpsd = "${libdir}/libgpsd.so.*"
+
+SUMMARY_libgps = "C service library used for communicating with gpsd"
+FILES_libgps = "${libdir}/libgps.so.*"
+
+SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
+FILES_gpsd-conf = "${sysconfdir}"
+CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
+
+SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
+FILES_gpsd-gpsctl = "${bindir}/gpsctl"
+
+SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
+# Python files are required for gps/fake, required for gpsfake.
+FILES_gps-utils = "${bindir}/* ${libdir}/gps/*.py ${libdir}/gps/*.so"
+RDEPENDS_gps-utils = "python3-pygps"
+
+SUMMARY_python3-pygps = "Python bindings to gpsd"
+FILES_python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
+RDEPENDS_python3-pygps = " \
+ python3-core \
+ python3-io \
+ python3-threading \
+ python3-terminal \
+ gpsd \
+ python3-json"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service"
+
+
+ALTERNATIVE_${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch b/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch
index 28bd7dad..28bd7dad 100644
--- a/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb b/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb
deleted file mode 100644
index d66dc875..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Library extending the SQLite core to support fully fledged Spatial SQL capabilities"
-HOMEPAGE = "https://www.gaia-gis.it/fossil/libspatialite/"
-SECTION = "libs"
-DEPENDS = "proj geos sqlite3 libxml2 zlib"
-
-LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e"
-
-SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-freexl=no"
-
-# package plugins for SQLite3
-PACKAGES += "${PN}-plugin"
-INSANE_SKIP_${PN}-plugin = "dev-so"
-FILES_${PN}-plugin += "${libdir}/mod_*"
-
-SRC_URI[md5sum] = "83305ed694a77152120d1f74c5151779"
-SRC_URI[sha256sum] = "9f138a6854740c7827fdee53845eb1485fce3e805a7aa9fc9151f8046ebd312d"
-
-SRC_URI += "file://geos-config.patch"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb b/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb
new file mode 100644
index 00000000..b33f5a31
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Library extending the SQLite core to support fully fledged Spatial SQL capabilities"
+HOMEPAGE = "https://www.gaia-gis.it/fossil/libspatialite/"
+SECTION = "libs"
+DEPENDS = "proj geos sqlite3 libxml2 zlib"
+
+LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e"
+
+SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz \
+ file://geos-config.patch"
+SRC_URI[md5sum] = "6b380b332c00da6f76f432b10a1a338c"
+SRC_URI[sha256sum] = "88900030a4762904a7880273f292e5e8ca6b15b7c6c3fb88ffa9e67ee8a5a499"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-freexl=no"
+CFLAGS += "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H"
+
+# package plugins for SQLite3
+PACKAGES += "${PN}-plugin"
+INSANE_SKIP_${PN}-plugin = "dev-so"
+FILES_${PN}-plugin += "${libdir}/mod_*"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/external/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
index 010f65fb..589fc5f7 100644
--- a/external/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
@@ -5,7 +5,7 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://orrery.c;endline=25;md5=d792bdf2b591972da175aecc38d88cfe"
DEPENDS = "gtk+"
-inherit distro_features_check autotools-brokensep pkgconfig
+inherit features_check autotools-brokensep pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb b/external/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb
deleted file mode 100644
index f45f8948..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "PROJ.4 - Cartographic Projections library"
-HOMEPAGE = "http://trac.osgeo.org/proj/"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608"
-
-SRC_URI = "http://download.osgeo.org/proj/proj-${PV}.tar.gz"
-SRC_URI[md5sum] = "d598336ca834742735137c5674b214a1"
-SRC_URI[sha256sum] = "6984542fea333488de5c82eea58d699e4aff4b359200a9971537cd7e047185f7"
-
-inherit autotools pkgconfig lib_package
-
-FILES_${PN} += "${datadir}/proj"
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/proj/proj_7.0.1.bb b/external/meta-openembedded/meta-oe/recipes-navigation/proj/proj_7.0.1.bb
new file mode 100644
index 00000000..2cfaa712
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/proj/proj_7.0.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "PROJ.4 - Cartographic Projections library"
+HOMEPAGE = "http://trac.osgeo.org/proj/"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608"
+
+SRC_URI = "http://download.osgeo.org/${BPN}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "5ba7536b579a6c9e0ad822dbdd455985"
+SRC_URI[sha256sum] = "a7026d39c9c80d51565cfc4b33d22631c11e491004e19020b3ff5a0791e1779f"
+
+DEPENDS = "sqlite3 sqlite3-native tiff"
+
+inherit autotools pkgconfig lib_package
+
+PACKAGECONFIG ?= "curl"
+
+PACKAGECONFIG[curl] = ",--without-curl,curl"
+
+FILES_${PN} += "${datadir}/proj"
diff --git a/external/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters.inc b/external/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters.inc
new file mode 100644
index 00000000..589bb90e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters.inc
@@ -0,0 +1,81 @@
+DESCRIPTION = "CUPS backends, filters, and other software"
+HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters"
+
+LICENSE = "GPLv2 & LGPLv2 & MIT & GPLv2+ & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=516215fd57564996d70327db19b368ff"
+
+SECTION = "console/utils"
+
+DEPENDS = "cups glib-2.0 glib-2.0-native dbus dbus-glib lcms ghostscript poppler qpdf libpng"
+DEPENDS_class-native = "poppler-native glib-2.0-native dbus-native pkgconfig-native gettext-native libpng-native"
+
+SRC_URI = "http://openprinting.org/download/cups-filters/cups-filters-${PV}.tar.gz"
+
+inherit autotools-brokensep gettext pkgconfig
+
+EXTRA_OECONF += " --enable-ghostscript --disable-ldap \
+ --with-pdftops=hybrid --enable-imagefilters \
+ --enable-ghostscript --with-gs-path=${bindir}/gs \
+ --with-pdftops-path=${bindir}/gs \
+ --with-fontdir=${datadir}/fonts --with-rcdir=no \
+ --with-cups-rundir=${localstatedir}/run/cups \
+ --localstatedir=${localstatedir}/var \
+ --with-rcdir=no \
+ --without-php"
+
+EXTRA_OECONF_class-native += " --with-pdftops=pdftops \
+ --disable-avahi --disable-ghostscript \
+ --disable-ldap \
+ --with-png --without-jpeg --without-tiff"
+
+BBCLASSEXTEND = "native"
+
+PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg"
+PACKAGECONFIG[png] = "--with-png,--without-png,libpng"
+PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)}"
+
+PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
+
+DIRFILES = "1"
+
+PACKAGES =+ "\
+ ${PN}-gst \
+ ${PN}-data \
+ "
+
+FILES_${PN}-gst = "\
+ ${libexecdir}/cups/filter/gsto* \
+ "
+
+FILES_${PN}-data = "\
+ ${datadir}/cups/data \
+ "
+
+FILES_${PN}-dbg += "\
+ ${libexecdir}/cups/backend/.debug \
+ ${libexecdir}/cups/driver/.debug \
+ ${libexecdir}/cups/filter/.debug \
+ "
+
+FILES_${PN} += "\
+ ${libexecdir}/cups \
+ ${datadir}/ppd/ \
+ ${datadir}/cups/charsets \
+ ${datadir}/cups/drv \
+ ${datadir}/cups/mime \
+ ${datadir}/cups/ppdc \
+ ${datadir}/cups/banners \
+"
+
+do_install_append() {
+ # remove braille dir
+ rm -rf ${D}${datadir}/cups/braille
+
+ # remove sysroot path contamination from pkgconfig file
+ sed -i -e 's:${STAGING_DIR_TARGET}::' ${D}/${libdir}/pkgconfig/libcupsfilters.pc
+}
+
+RDEPENDS_${PN} += "bash"
diff --git a/external/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.27.2.bb b/external/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.27.2.bb
new file mode 100644
index 00000000..35c4a929
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.27.2.bb
@@ -0,0 +1,4 @@
+include cups-filters.inc
+
+SRC_URI[md5sum] = "90ebcae31f2eabd802236408646b1dd9"
+SRC_URI[sha256sum] = "174a2a5c919bf88c63ced692a2170add6c2cd70ff06c49bcea32e9cf56960492"
diff --git a/external/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.0.1.bb b/external/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.0.1.bb
new file mode 100644
index 00000000..60050809
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.0.1.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "PDF transformation/inspection software"
+HOMEPAGE = "http://qpdf.sourceforge.net"
+LICENSE = "Artistic-2.0"
+SECTION = "libs"
+DEPENDS = "libpcre zlib libjpeg-turbo"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/qpdf/qpdf-${PV}.tar.gz"
+
+LIC_FILES_CHKSUM = "file://Artistic-2.0;md5=7806296b9fae874361e6fb10072b7ee3"
+SRC_URI[md5sum] = "eb7fb7c6cd5d3036bf4f7a5e3f44d995"
+SRC_URI[sha256sum] = "5d2277c738188b7f4e3f01a6db7f2937ed6df54671f1fba834cd3d7ff865827b"
+
+inherit autotools-brokensep gettext
+
+# disable random file detection for cross-compile
+EXTRA_OECONF = "--without-random \
+ --disable-static \
+ --disable-check-autofiles \
+ "
+
+EXTRA_OEMAKE_class-target = "LIBTOOL=${HOST_SYS}-libtool"
+
+LDFLAGS_append_mipsarch = " -latomic"
+
+S="${WORKDIR}/${BPN}-${PV}"
+
+# avoid Makefile returning error on 'make clean' before configure was run
+CLEANBROKEN = "1"
+
+DEBIAN_NOAUTONAME_libqpdf = "1"
+
+PACKAGES =+ "libqpdf"
+FILES_libqpdf = "${libdir}/libqpdf.so.*"
+
+RDEPENDS_${PN} = "libqpdf"
diff --git a/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/fix_library_install_path.patch b/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/fix_library_install_path.patch
new file mode 100644
index 00000000..938fe2eb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/fix_library_install_path.patch
@@ -0,0 +1,28 @@
+From b0355cc205543ffd33752874295139d57c4fbc3e Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Tue, 26 Sep 2017 07:59:51 +0000
+Subject: [PATCH] Subject: [PATCH] keyutils: use relative path for link
+
+The absolute path of the symlink will be invalid
+when populated in sysroot, so use relative path instead.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+{rebased for 1.6]
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: keyutils-1.6/Makefile
+===================================================================
+--- keyutils-1.6.orig/Makefile
++++ keyutils-1.6/Makefile
+@@ -184,7 +184,7 @@ ifeq ($(NO_SOLIB),0)
+ $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
+ $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
+ mkdir -p $(DESTDIR)$(USRLIBDIR)
+- $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
++ $(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
+ sed \
+ -e 's,@VERSION\@,$(VERSION),g' \
+ -e 's,@prefix\@,$(PREFIX),g' \
diff --git a/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch b/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch
new file mode 100644
index 00000000..acd91c01
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch
@@ -0,0 +1,42 @@
+fix keyutils test error report
+
+Upstream-Status: Pending
+
+"Permission denied" may be the reason of EKEYEXPIRED and EKEYREVOKED.
+"Required key not available" may be the reason of EKEYREVOKED.
+EXPIRED and REVOKED are 2 status of kernel security keys features.
+But the userspace keyutils lib will output the error message, which may
+have several reasons.
+
+Signed-off-by: Han Chao <chan@windriver.com>
+
+diff --git a/tests/toolbox.inc.sh b/tests/toolbox.inc.sh
+index bbca00a..739e9d0 100644
+--- a/tests/toolbox.inc.sh
++++ b/tests/toolbox.inc.sh
+@@ -227,11 +227,12 @@ function expect_error ()
+ ;;
+ EKEYEXPIRED)
+ my_err="Key has expired"
+- alt_err="Unknown error 127"
++ alt_err="Permission denied"
+ ;;
+ EKEYREVOKED)
+ my_err="Key has been revoked"
+- alt_err="Unknown error 128"
++ alt_err="Permission denied"
++ alt2_err="Required key not available"
+ ;;
+ EKEYREJECTED)
+ my_err="Key has been rejected"
+@@ -249,6 +250,9 @@ function expect_error ()
+ elif [ "x$alt_err" != "x" ] && expr "$my_errmsg" : ".*: $alt_err" >&/dev/null
+ then
+ :
++ elif [ "x$alt2_err" != "x" ] && expr "$my_errmsg" : ".*: $alt2_err" >&/dev/null
++ then
++ :
+ elif [ "x$old_err" != "x" ] && expr "$my_errmsg" : ".*: $old_err" >&/dev/null
+ then
+ :
+
diff --git a/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch b/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch
new file mode 100644
index 00000000..a4ffd50c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch
@@ -0,0 +1,41 @@
+From 49b6321368e4bd3cd233d045cd09004ddd7968b2 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Mon, 15 May 2017 14:52:00 +0800
+Subject: [PATCH] keyutils: fix output format
+
+keyutils ptest output format is incorrect, according to yocto
+Development Manual
+(http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#testing-packages-with-ptest)
+5.10.6. Testing Packages With ptestThe test generates output in the format used by Automake:
+<result>: <testname>
+where the result can be PASS, FAIL, or SKIP, and the testname can be any
+identifying string.
+So we should change the test result format to match yocto ptest rules.
+
+Upstream-Status: Inappropriate [OE ptest specific]
+
+Signed-off-by: Li Wang <li.wang@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ tests/runtest.sh | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tests/runtest.sh b/tests/runtest.sh
+index b6eaa7c..84263fb 100644
+--- a/tests/runtest.sh
++++ b/tests/runtest.sh
+@@ -21,6 +21,11 @@ for i in ${TESTS}; do
+ echo "### RUNNING TEST $i"
+ if [[ $AUTOMATED != 0 ]] ; then
+ bash ./runtest.sh
++ if [ $? != 0 ]; then
++ echo "FAIL: $i"
++ else
++ echo "PASS: $i"
++ fi
+ else
+ bash ./runtest.sh || exit 1
+ fi
+--
+2.11.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/run-ptest b/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/run-ptest
new file mode 100755
index 00000000..305707f6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/keyutils/files/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+export AUTOMATED=1
+make -C tests run
diff --git a/external/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.1.bb b/external/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.1.bb
new file mode 100644
index 00000000..0a8c2e48
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.1.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Linux Key Management Utilities"
+DESCRIPTION = "\
+ Utilities to control the kernel key management facility and to provide \
+ a mechanism by which the kernel call back to userspace to get a key \
+ instantiated. \
+ "
+HOMEPAGE = "http://people.redhat.com/dhowells/keyutils"
+SECTION = "base"
+
+LICENSE = "LGPLv2.1+ & GPLv2.0+"
+
+LIC_FILES_CHKSUM = "file://LICENCE.GPL;md5=5f6e72824f5da505c1f4a7197f004b45 \
+ file://LICENCE.LGPL;md5=7d1cacaa3ea752b72ea5e525df54a21f"
+
+inherit siteinfo autotools-brokensep ptest
+
+SRC_URI = "http://people.redhat.com/dhowells/keyutils/${BP}.tar.bz2 \
+ file://keyutils-test-fix-output-format.patch \
+ file://keyutils-fix-error-report-by-adding-default-message.patch \
+ file://run-ptest \
+ file://fix_library_install_path.patch \
+ "
+
+SRC_URI[md5sum] = "919af7f33576816b423d537f8a8692e8"
+SRC_URI[sha256sum] = "c8b15722ae51d95b9ad76cc6d49a4c2cc19b0c60f72f61fb9bf43eea7cbd64ce"
+
+EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \
+ NO_ARLIB=1 \
+ BINDIR=${base_bindir} \
+ SBINDIR=${base_sbindir} \
+ LIBDIR=${libdir} \
+ USRLIBDIR=${libdir} \
+ INCLUDEDIR=${includedir} \
+ BUILDFOR=${SITEINFO_BITS}-bit \
+ NO_GLIBC_KEYERR=1 \
+ "
+
+do_install () {
+ install -d ${D}/${libdir}/pkgconfig
+ oe_runmake DESTDIR=${D} install
+}
+
+do_install_append_class-nativesdk() {
+ install -d ${D}${datadir}
+ src_dir="${D}${target_datadir}"
+ mv $src_dir/* ${D}${datadir}
+ par_dir=`dirname $src_dir`
+ rmdir $src_dir $par_dir
+
+ install -d ${D}${sysconfdir}
+ mv ${D}/etc/* ${D}${sysconfdir}/
+ rmdir ${D}/etc
+}
+
+do_install_ptest () {
+ cp -r ${S}/tests ${D}${PTEST_PATH}/
+ sed -i -e 's/OSDIST=Unknown/OSDIST=${DISTRO}/' ${D}${PTEST_PATH}/tests/prepare.inc.sh
+}
+
+
+RDEPENDS_${PN}-ptest += "lsb-release"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
+RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch b/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch
new file mode 100644
index 00000000..f93af2d7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch
@@ -0,0 +1,73 @@
+From a068952a20880fc864e8cb8b49f8a6b143a5ac30 Mon Sep 17 00:00:00 2001
+From: Peiran Hong <peiran.hong@windriver.com>
+Date: Fri, 20 Sep 2019 15:02:45 -0400
+Subject: [PATCH] Include time.h header to pass clang compilation
+
+---
+ nmap_error.cc | 11 +----------
+ nping/EchoServer.cc | 1 +
+ osscan2.cc | 1 +
+ service_scan.cc | 1 +
+ 4 files changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/nmap_error.cc b/nmap_error.cc
+index 588b13c33..254107ff5 100644
+--- a/nmap_error.cc
++++ b/nmap_error.cc
+@@ -135,16 +135,7 @@
+ #include "xml.h"
+
+ #include <errno.h>
+-#if TIME_WITH_SYS_TIME
+-# include <sys/time.h>
+-# include <time.h>
+-#else
+-# if HAVE_SYS_TIME_H
+-# include <sys/time.h>
+-# else
+-# include <time.h>
+-# endif
+-#endif
++#include <time.h>
+
+ extern NmapOps o;
+
+diff --git a/nping/EchoServer.cc b/nping/EchoServer.cc
+index ccdcf9c2d..c403aeda5 100644
+--- a/nping/EchoServer.cc
++++ b/nping/EchoServer.cc
+@@ -137,6 +137,7 @@
+ #include "NpingOps.h"
+ #include "ProbeMode.h"
+ #include <signal.h>
++#include <time.h>
+
+ extern NpingOps o;
+ extern EchoServer es;
+diff --git a/osscan2.cc b/osscan2.cc
+index aa31feb12..89673e108 100644
+--- a/osscan2.cc
++++ b/osscan2.cc
+@@ -147,6 +147,7 @@
+
+ #include <list>
+ #include <math.h>
++#include <time.h>
+
+ extern NmapOps o;
+ #ifdef WIN32
+diff --git a/service_scan.cc b/service_scan.cc
+index 57a92ed28..ef277bb1f 100644
+--- a/service_scan.cc
++++ b/service_scan.cc
+@@ -145,6 +145,7 @@
+ #include "nmap_tty.h"
+
+ #include <errno.h>
++#include <time.h>
+
+ #if HAVE_OPENSSL
+ /* OpenSSL 1.0.0 needs _WINSOCKAPI_ to be defined, otherwise it loads
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Make-ndiff-support-python3.patch b/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Make-ndiff-support-python3.patch
new file mode 100644
index 00000000..2ca18b0e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Make-ndiff-support-python3.patch
@@ -0,0 +1,1720 @@
+From bbbf474b2ebdbdac4d557e3351210f3fe2175c33 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 14 Feb 2020 10:09:55 +0000
+Subject: [PATCH] Make ndiff support python3
+
+Backport a patch from debian to make ndiff support
+python3.
+
+Refer to https://sources.debian.org/data/main/n/nmap/7.80+dfsg1-2/debian/patches/0004-Python3-port-of-ndiff.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ Makefile.in | 12 +-
+ ndiff/ndiff.py | 495 +++++++++++++++++-----------------
+ ndiff/ndifftest.py | 94 +++----
+ ndiff/scripts/ndiff | 14 +-
+ ndiff/setup.py | 34 +--
+ ndiff/test-scans/anonymize.py | 18 +-
+ 6 files changed, 333 insertions(+), 334 deletions(-)
+ mode change 100644 => 100755 ndiff/setup.py
+
+diff --git a/Makefile.in b/Makefile.in
+index eee8863..32f86ba 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -35,6 +35,7 @@ ZENMAPDIR = @ZENMAPDIR@
+ NDIFFDIR = @NDIFFDIR@
+ NPINGDIR = @NPINGDIR@
+ PYTHON = @PYTHON@
++PYTHON3 = /usr/bin/env python3
+ DEFS = @DEFS@ -DNMAP_PLATFORM=\"$(NMAP_PLATFORM)\" -DNMAPDATADIR=\"$(nmapdatadir)\"
+ # With GCC, add extra security checks to source code.
+ # http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
+@@ -260,7 +261,7 @@ clean-zenmap:
+ rm -f $(ZENMAPDIR)/zenmapCore/Name.pyc
+
+ clean-ndiff:
+- -cd $(NDIFFDIR) && $(PYTHON) setup.py clean --all
++ -cd $(NDIFFDIR) && $(PYTHON3) setup.py clean --all
+
+ clean-nping:
+ -cd $(NPINGDIR) && $(MAKE) clean
+@@ -368,6 +369,7 @@ tests/check_dns: $(OBJS)
+ # this as the location of the interpreter whenever we're not doing a
+ # local installation.
+ DEFAULT_PYTHON_PATH = /usr/bin/env python
++DEFAULT_PYTHON3_PATH = /usr/bin/env python3
+
+ build-zenmap: $(ZENMAPDIR)/setup.py $(ZENMAPDIR)/zenmapCore/Version.py
+ # When DESTDIR is defined, assume we're building an executable
+@@ -388,13 +390,13 @@ install-zenmap: $(ZENMAPDIR)/setup.py
+ ln -sf zenmap $(DESTDIR)$(bindir)/xnmap
+
+ build-ndiff:
+- cd $(NDIFFDIR) && $(PYTHON) setup.py build $(if $(DESTDIR),--executable "$(DEFAULT_PYTHON_PATH)")
++ cd $(NDIFFDIR) && $(PYTHON3) setup.py build $(if $(DESTDIR),--executable "$(DEFAULT_PYTHON3_PATH)")
+
+ build-nping: $(NPINGDIR)/Makefile build-nbase build-nsock build-netutil $(NPINGDIR)/nping.h @DNET_BUILD@ @PCAP_BUILD@
+ @cd $(NPINGDIR) && $(MAKE)
+
+ install-ndiff:
+- cd $(NDIFFDIR) && $(PYTHON) setup.py install --prefix "$(prefix)" --install-lib="${PYTHON_SITEPACKAGES_DIR}" $(if $(DESTDIR),--root "$(DESTDIR)")
++ cd $(NDIFFDIR) && $(PYTHON3) setup.py install --prefix "$(prefix)" --install-lib="${PYTHON_SITEPACKAGES_DIR}" $(if $(DESTDIR),--root "$(DESTDIR)")
+
+ NSE_FILES = scripts/script.db scripts/*.nse
+ NSE_LIB_LUA_FILES = nselib/*.lua nselib/*.luadoc
+@@ -443,7 +445,7 @@ uninstall-zenmap:
+ rm -f $(DESTDIR)$(bindir)/xnmap
+
+ uninstall-ndiff:
+- cd $(NDIFFDIR) && $(PYTHON) setup.py uninstall
++ cd $(NDIFFDIR) && $(PYTHON3) setup.py uninstall
+
+ uninstall-ncat:
+ @cd $(NCATDIR) && $(MAKE) uninstall
+@@ -458,7 +460,7 @@ check-ncat:
+ @cd $(NCATDIR) && $(MAKE) check
+
+ check-ndiff:
+- @cd $(NDIFFDIR) && $(PYTHON) ndifftest.py
++ @cd $(NDIFFDIR) && $(PYTHON3) ndifftest.py
+
+ check-nsock:
+ @cd $(NSOCKDIR)/src && $(MAKE) check
+diff --git a/ndiff/ndiff.py b/ndiff/ndiff.py
+index 043273f..abbd1c5 100755
+--- a/ndiff/ndiff.py
++++ b/ndiff/ndiff.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ # Ndiff
+ #
+@@ -26,11 +26,11 @@ xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
+ import xml.sax
+ import xml.sax.saxutils
+ import xml.dom.minidom
+-from StringIO import StringIO
++from io import StringIO
+
+ verbose = False
+
+-NDIFF_XML_VERSION = u"1"
++NDIFF_XML_VERSION = "1"
+
+
+ class OverrideEntityResolver(xml.sax.handler.EntityResolver):
+@@ -78,35 +78,35 @@ class Scan(object):
+ def write_nmaprun_open(self, writer):
+ attrs = {}
+ if self.scanner is not None:
+- attrs[u"scanner"] = self.scanner
++ attrs["scanner"] = self.scanner
+ if self.args is not None:
+- attrs[u"args"] = self.args
++ attrs["args"] = self.args
+ if self.start_date is not None:
+- attrs[u"start"] = "%d" % time.mktime(self.start_date.timetuple())
+- attrs[u"startstr"] = self.start_date.strftime(
++ attrs["start"] = "%d" % time.mktime(self.start_date.timetuple())
++ attrs["startstr"] = self.start_date.strftime(
+ "%a %b %d %H:%M:%S %Y")
+ if self.version is not None:
+- attrs[u"version"] = self.version
+- writer.startElement(u"nmaprun", attrs)
++ attrs["version"] = self.version
++ writer.startElement("nmaprun", attrs)
+
+ def write_nmaprun_close(self, writer):
+- writer.endElement(u"nmaprun")
++ writer.endElement("nmaprun")
+
+ def nmaprun_to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+- elem = document.createElement(u"nmaprun")
++ elem = document.createElement("nmaprun")
+ if self.scanner is not None:
+- elem.setAttribute(u"scanner", self.scanner)
++ elem.setAttribute("scanner", self.scanner)
+ if self.args is not None:
+- elem.setAttribute(u"args", self.args)
++ elem.setAttribute("args", self.args)
+ if self.start_date is not None:
+ elem.setAttribute(
+- u"start", "%d" % time.mktime(self.start_date.timetuple()))
++ "start", "%d" % time.mktime(self.start_date.timetuple()))
+ elem.setAttribute(
+- u"startstr",
++ "startstr",
+ self.start_date.strftime("%a %b %d %H:%M:%S %Y"))
+ if self.version is not None:
+- elem.setAttribute(u"version", self.version)
++ elem.setAttribute("version", self.version)
+ frag.appendChild(elem)
+ return frag
+
+@@ -136,17 +136,17 @@ class Host(object):
+
+ def format_name(self):
+ """Return a human-readable identifier for this host."""
+- address_s = u", ".join(a.s for a in sorted(self.addresses))
+- hostname_s = u", ".join(sorted(self.hostnames))
++ address_s = ", ".join(a.s for a in sorted(self.addresses))
++ hostname_s = ", ".join(sorted(self.hostnames))
+ if len(hostname_s) > 0:
+ if len(address_s) > 0:
+- return u"%s (%s)" % (hostname_s, address_s)
++ return "%s (%s)" % (hostname_s, address_s)
+ else:
+ return hostname_s
+ elif len(address_s) > 0:
+ return address_s
+ else:
+- return u"<no name>"
++ return "<no name>"
+
+ def add_port(self, port):
+ self.ports[port.spec] = port
+@@ -163,46 +163,46 @@ class Host(object):
+ return state is None or state in self.extraports
+
+ def extraports_string(self):
+- list = [(count, state) for (state, count) in self.extraports.items()]
++ locallist = [(count, state) for (state, count) in list(self.extraports.items())]
+ # Reverse-sort by count.
+- list.sort(reverse=True)
+- return u", ".join(
+- [u"%d %s ports" % (count, state) for (count, state) in list])
++ locallist.sort(reverse=True)
++ return ", ".join(
++ ["%d %s ports" % (count, state) for (count, state) in locallist])
+
+ def state_to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+ if self.state is not None:
+- elem = document.createElement(u"status")
+- elem.setAttribute(u"state", self.state)
++ elem = document.createElement("status")
++ elem.setAttribute("state", self.state)
+ frag.appendChild(elem)
+ return frag
+
+ def hostname_to_dom_fragment(self, document, hostname):
+ frag = document.createDocumentFragment()
+- elem = document.createElement(u"hostname")
+- elem.setAttribute(u"name", hostname)
++ elem = document.createElement("hostname")
++ elem.setAttribute("name", hostname)
+ frag.appendChild(elem)
+ return frag
+
+ def extraports_to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+- for state, count in self.extraports.items():
+- elem = document.createElement(u"extraports")
+- elem.setAttribute(u"state", state)
+- elem.setAttribute(u"count", unicode(count))
++ for state, count in list(self.extraports.items()):
++ elem = document.createElement("extraports")
++ elem.setAttribute("state", state)
++ elem.setAttribute("count", str(count))
+ frag.appendChild(elem)
+ return frag
+
+ def os_to_dom_fragment(self, document, os):
+ frag = document.createDocumentFragment()
+- elem = document.createElement(u"osmatch")
+- elem.setAttribute(u"name", os)
++ elem = document.createElement("osmatch")
++ elem.setAttribute("name", os)
+ frag.appendChild(elem)
+ return frag
+
+ def to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+- elem = document.createElement(u"host")
++ elem = document.createElement("host")
+
+ if self.state is not None:
+ elem.appendChild(self.state_to_dom_fragment(document))
+@@ -211,13 +211,13 @@ class Host(object):
+ elem.appendChild(addr.to_dom_fragment(document))
+
+ if len(self.hostnames) > 0:
+- hostnames_elem = document.createElement(u"hostnames")
++ hostnames_elem = document.createElement("hostnames")
+ for hostname in self.hostnames:
+ hostnames_elem.appendChild(
+ self.hostname_to_dom_fragment(document, hostname))
+ elem.appendChild(hostnames_elem)
+
+- ports_elem = document.createElement(u"ports")
++ ports_elem = document.createElement("ports")
+ ports_elem.appendChild(self.extraports_to_dom_fragment(document))
+ for port in sorted(self.ports.values()):
+ if not self.is_extraports(port.state):
+@@ -226,13 +226,13 @@ class Host(object):
+ elem.appendChild(ports_elem)
+
+ if len(self.os) > 0:
+- os_elem = document.createElement(u"os")
++ os_elem = document.createElement("os")
+ for os in self.os:
+ os_elem.appendChild(self.os_to_dom_fragment(document, os))
+ elem.appendChild(os_elem)
+
+ if len(self.script_results) > 0:
+- hostscript_elem = document.createElement(u"hostscript")
++ hostscript_elem = document.createElement("hostscript")
+ for sr in self.script_results:
+ hostscript_elem.appendChild(sr.to_dom_fragment(document))
+ elem.appendChild(hostscript_elem)
+@@ -246,7 +246,7 @@ class Address(object):
+ self.s = s
+
+ def __eq__(self, other):
+- return self.__cmp__(other) == 0
++ return self.sort_key() == other.sort_key()
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+@@ -254,8 +254,8 @@ class Address(object):
+ def __hash__(self):
+ return hash(self.sort_key())
+
+- def __cmp__(self, other):
+- return cmp(self.sort_key(), other.sort_key())
++ def __lt__(self, other):
++ return self.sort_key() < other.sort_key()
+
+ def __str__(self):
+ return str(self.s)
+@@ -264,21 +264,21 @@ class Address(object):
+ return self.s
+
+ def new(type, s):
+- if type == u"ipv4":
++ if type == "ipv4":
+ return IPv4Address(s)
+- elif type == u"ipv6":
++ elif type == "ipv6":
+ return IPv6Address(s)
+- elif type == u"mac":
++ elif type == "mac":
+ return MACAddress(s)
+ else:
+- raise ValueError(u"Unknown address type %s." % type)
++ raise ValueError("Unknown address type %s." % type)
+ new = staticmethod(new)
+
+ def to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+- elem = document.createElement(u"address")
+- elem.setAttribute(u"addr", self.s)
+- elem.setAttribute(u"addrtype", self.type)
++ elem = document.createElement("address")
++ elem.setAttribute("addr", self.s)
++ elem.setAttribute("addrtype", self.type)
+ frag.appendChild(elem)
+ return frag
+
+@@ -287,21 +287,21 @@ class Address(object):
+
+
+ class IPv4Address(Address):
+- type = property(lambda self: u"ipv4")
++ type = property(lambda self: "ipv4")
+
+ def sort_key(self):
+ return (0, self.s)
+
+
+ class IPv6Address(Address):
+- type = property(lambda self: u"ipv6")
++ type = property(lambda self: "ipv6")
+
+ def sort_key(self):
+ return (1, self.s)
+
+
+ class MACAddress(Address):
+- type = property(lambda self: u"mac")
++ type = property(lambda self: "mac")
+
+ def sort_key(self):
+ return (2, self.s)
+@@ -320,28 +320,25 @@ class Port(object):
+
+ def state_string(self):
+ if self.state is None:
+- return u"unknown"
++ return "unknown"
+ else:
+- return unicode(self.state)
++ return str(self.state)
+
+ def spec_string(self):
+- return u"%d/%s" % self.spec
++ return "%d/%s" % self.spec
+
+- def __cmp__(self, other):
+- d = cmp(self.spec, other.spec)
+- if d != 0:
+- return d
+- return cmp((self.spec, self.service, self.script_results),
+- (other.spec, other.service, other.script_results))
++ def __lt__(self, other):
++ return (self.spec, self.service, self.script_results) < (
++ other.spec, other.service, other.script_results)
+
+ def to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+- elem = document.createElement(u"port")
+- elem.setAttribute(u"portid", unicode(self.spec[0]))
+- elem.setAttribute(u"protocol", self.spec[1])
++ elem = document.createElement("port")
++ elem.setAttribute("portid", str(self.spec[0]))
++ elem.setAttribute("protocol", self.spec[1])
+ if self.state is not None:
+- state_elem = document.createElement(u"state")
+- state_elem.setAttribute(u"state", self.state)
++ state_elem = document.createElement("state")
++ state_elem.setAttribute("state", self.state)
+ elem.appendChild(state_elem)
+ elem.appendChild(self.service.to_dom_fragment(document))
+ for sr in self.script_results:
+@@ -385,7 +382,7 @@ class Service(object):
+ if len(parts) == 0:
+ return None
+ else:
+- return u"/".join(parts)
++ return "/".join(parts)
+
+ def version_string(self):
+ """Get a string like in the VERSION column of Nmap output."""
+@@ -395,17 +392,17 @@ class Service(object):
+ if self.version is not None:
+ parts.append(self.version)
+ if self.extrainfo is not None:
+- parts.append(u"(%s)" % self.extrainfo)
++ parts.append("(%s)" % self.extrainfo)
+
+ if len(parts) == 0:
+ return None
+ else:
+- return u" ".join(parts)
++ return " ".join(parts)
+
+ def to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+- elem = document.createElement(u"service")
+- for attr in (u"name", u"product", u"version", u"extrainfo", u"tunnel"):
++ elem = document.createElement("service")
++ for attr in ("name", "product", "version", "extrainfo", "tunnel"):
+ v = getattr(self, attr)
+ if v is None:
+ continue
+@@ -435,53 +432,53 @@ class ScriptResult(object):
+ result = []
+ lines = self.output.splitlines()
+ if len(lines) > 0:
+- lines[0] = self.id + u": " + lines[0]
++ lines[0] = self.id + ": " + lines[0]
+ for line in lines[:-1]:
+- result.append(u"| " + line)
++ result.append("| " + line)
+ if len(lines) > 0:
+- result.append(u"|_ " + lines[-1])
++ result.append("|_ " + lines[-1])
+ return result
+
+ def to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+- elem = document.createElement(u"script")
+- elem.setAttribute(u"id", self.id)
+- elem.setAttribute(u"output", self.output)
++ elem = document.createElement("script")
++ elem.setAttribute("id", self.id)
++ elem.setAttribute("output", self.output)
+ frag.appendChild(elem)
+ return frag
+
+
+ def format_banner(scan):
+ """Format a startup banner more or less like Nmap does."""
+- scanner = u"Nmap"
+- if scan.scanner is not None and scan.scanner != u"nmap":
++ scanner = "Nmap"
++ if scan.scanner is not None and scan.scanner != "nmap":
+ scanner = scan.scanner
+ parts = [scanner]
+ if scan.version is not None:
+ parts.append(scan.version)
+- parts.append(u"scan")
++ parts.append("scan")
+ if scan.start_date is not None:
+- parts.append(u"initiated %s" % scan.start_date.strftime(
++ parts.append("initiated %s" % scan.start_date.strftime(
+ "%a %b %d %H:%M:%S %Y"))
+ if scan.args is not None:
+- parts.append(u"as: %s" % scan.args)
+- return u" ".join(parts)
++ parts.append("as: %s" % scan.args)
++ return " ".join(parts)
+
+
+ def print_script_result_diffs_text(title, script_results_a, script_results_b,
+ script_result_diffs, f=sys.stdout):
+- table = Table(u"*")
++ table = Table("*")
+ for sr_diff in script_result_diffs:
+ sr_diff.append_to_port_table(table)
+ if len(table) > 0:
+- print >> f
++ print(file=f)
+ if len(script_results_b) == 0:
+- print >> f, u"-%s:" % title
++ print("-%s:" % title, file=f)
+ elif len(script_results_a) == 0:
+- print >> f, u"+%s:" % title
++ print("+%s:" % title, file=f)
+ else:
+- print >> f, u" %s:" % title
+- print >> f, table
++ print(" %s:" % title, file=f)
++ print(table, file=f)
+
+
+ def script_result_diffs_to_dom_fragment(elem, script_results_a,
+@@ -489,13 +486,13 @@ def script_result_diffs_to_dom_fragment(elem, script_results_a,
+ if len(script_results_a) == 0 and len(script_results_b) == 0:
+ return document.createDocumentFragment()
+ elif len(script_results_b) == 0:
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ for sr in script_results_a:
+ elem.appendChild(sr.to_dom_fragment(document))
+ a_elem.appendChild(elem)
+ return a_elem
+ elif len(script_results_a) == 0:
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ for sr in script_results_b:
+ elem.appendChild(sr.to_dom_fragment(document))
+ b_elem.appendChild(elem)
+@@ -581,10 +578,10 @@ class ScanDiffText(ScanDiff):
+ banner_a = format_banner(self.scan_a)
+ banner_b = format_banner(self.scan_b)
+ if banner_a != banner_b:
+- print >> self.f, u"-%s" % banner_a
+- print >> self.f, u"+%s" % banner_b
++ print("-%s" % banner_a, file=self.f)
++ print("+%s" % banner_b, file=self.f)
+ elif verbose:
+- print >> self.f, u" %s" % banner_a
++ print(" %s" % banner_a, file=self.f)
+
+ def output_pre_scripts(self, pre_script_result_diffs):
+ print_script_result_diffs_text("Pre-scan script results",
+@@ -597,7 +594,7 @@ class ScanDiffText(ScanDiff):
+ post_script_result_diffs, self.f)
+
+ def output_host_diff(self, h_diff):
+- print >> self.f
++ print(file=self.f)
+ h_diff.print_text(self.f)
+
+ def output_ending(self):
+@@ -622,8 +619,8 @@ class ScanDiffXML(ScanDiff):
+
+ def output_beginning(self):
+ self.writer.startDocument()
+- self.writer.startElement(u"nmapdiff", {u"version": NDIFF_XML_VERSION})
+- self.writer.startElement(u"scandiff", {})
++ self.writer.startElement("nmapdiff", {"version": NDIFF_XML_VERSION})
++ self.writer.startElement("scandiff", {})
+
+ if self.nmaprun_differs():
+ self.writer.frag_a(
+@@ -636,7 +633,7 @@ class ScanDiffXML(ScanDiff):
+
+ def output_pre_scripts(self, pre_script_result_diffs):
+ if len(pre_script_result_diffs) > 0 or verbose:
+- prescript_elem = self.document.createElement(u"prescript")
++ prescript_elem = self.document.createElement("prescript")
+ frag = script_result_diffs_to_dom_fragment(
+ prescript_elem, self.scan_a.pre_script_results,
+ self.scan_b.pre_script_results, pre_script_result_diffs,
+@@ -646,7 +643,7 @@ class ScanDiffXML(ScanDiff):
+
+ def output_post_scripts(self, post_script_result_diffs):
+ if len(post_script_result_diffs) > 0 or verbose:
+- postscript_elem = self.document.createElement(u"postscript")
++ postscript_elem = self.document.createElement("postscript")
+ frag = script_result_diffs_to_dom_fragment(
+ postscript_elem, self.scan_a.post_script_results,
+ self.scan_b.post_script_results, post_script_result_diffs,
+@@ -660,8 +657,8 @@ class ScanDiffXML(ScanDiff):
+ frag.unlink()
+
+ def output_ending(self):
+- self.writer.endElement(u"scandiff")
+- self.writer.endElement(u"nmapdiff")
++ self.writer.endElement("scandiff")
++ self.writer.endElement("nmapdiff")
+ self.writer.endDocument()
+
+
+@@ -719,9 +716,9 @@ class HostDiff(object):
+ self.cost += os_cost
+
+ extraports_a = tuple((count, state)
+- for (state, count) in self.host_a.extraports.items())
++ for (state, count) in list(self.host_a.extraports.items()))
+ extraports_b = tuple((count, state)
+- for (state, count) in self.host_b.extraports.items())
++ for (state, count) in list(self.host_b.extraports.items()))
+ if extraports_a != extraports_b:
+ self.extraports_changed = True
+ self.cost += 1
+@@ -747,69 +744,69 @@ class HostDiff(object):
+ # Names and addresses.
+ if self.id_changed:
+ if host_a.state is not None:
+- print >> f, u"-%s:" % host_a.format_name()
++ print("-%s:" % host_a.format_name(), file=f)
+ if self.host_b.state is not None:
+- print >> f, u"+%s:" % host_b.format_name()
++ print("+%s:" % host_b.format_name(), file=f)
+ else:
+- print >> f, u" %s:" % host_a.format_name()
++ print(" %s:" % host_a.format_name(), file=f)
+
+ # State.
+ if self.state_changed:
+ if host_a.state is not None:
+- print >> f, u"-Host is %s." % host_a.state
++ print("-Host is %s." % host_a.state, file=f)
+ if host_b.state is not None:
+- print >> f, u"+Host is %s." % host_b.state
++ print("+Host is %s." % host_b.state, file=f)
+ elif verbose:
+- print >> f, u" Host is %s." % host_b.state
++ print(" Host is %s." % host_b.state, file=f)
+
+ # Extraports.
+ if self.extraports_changed:
+ if len(host_a.extraports) > 0:
+- print >> f, u"-Not shown: %s" % host_a.extraports_string()
++ print("-Not shown: %s" % host_a.extraports_string(), file=f)
+ if len(host_b.extraports) > 0:
+- print >> f, u"+Not shown: %s" % host_b.extraports_string()
++ print("+Not shown: %s" % host_b.extraports_string(), file=f)
+ elif verbose:
+ if len(host_a.extraports) > 0:
+- print >> f, u" Not shown: %s" % host_a.extraports_string()
++ print(" Not shown: %s" % host_a.extraports_string(), file=f)
+
+ # Port table.
+- port_table = Table(u"** * * *")
++ port_table = Table("** * * *")
+ if host_a.state is None:
+- mark = u"+"
++ mark = "+"
+ elif host_b.state is None:
+- mark = u"-"
++ mark = "-"
+ else:
+- mark = u" "
+- port_table.append((mark, u"PORT", u"STATE", u"SERVICE", u"VERSION"))
++ mark = " "
++ port_table.append((mark, "PORT", "STATE", "SERVICE", "VERSION"))
+
+ for port in self.ports:
+ port_diff = self.port_diffs[port]
+ port_diff.append_to_port_table(port_table, host_a, host_b)
+
+ if len(port_table) > 1:
+- print >> f, port_table
++ print(port_table, file=f)
+
+ # OS changes.
+ if self.os_changed or verbose:
+ if len(host_a.os) > 0:
+ if len(host_b.os) > 0:
+- print >> f, u" OS details:"
++ print(" OS details:", file=f)
+ else:
+- print >> f, u"-OS details:"
++ print("-OS details:", file=f)
+ elif len(host_b.os) > 0:
+- print >> f, u"+OS details:"
++ print("+OS details:", file=f)
+ # os_diffs is a list of 5-tuples returned by
+ # difflib.SequenceMatcher.
+ for op, i1, i2, j1, j2 in self.os_diffs:
+ if op == "replace" or op == "delete":
+ for i in range(i1, i2):
+- print >> f, "- %s" % host_a.os[i]
++ print("- %s" % host_a.os[i], file=f)
+ if op == "replace" or op == "insert":
+ for i in range(j1, j2):
+- print >> f, "+ %s" % host_b.os[i]
++ print("+ %s" % host_b.os[i], file=f)
+ if op == "equal":
+ for i in range(i1, i2):
+- print >> f, " %s" % host_a.os[i]
++ print(" %s" % host_a.os[i], file=f)
+
+ print_script_result_diffs_text("Host script results",
+ host_a.script_results, host_b.script_results,
+@@ -820,32 +817,32 @@ class HostDiff(object):
+ host_b = self.host_b
+
+ frag = document.createDocumentFragment()
+- hostdiff_elem = document.createElement(u"hostdiff")
++ hostdiff_elem = document.createElement("hostdiff")
+ frag.appendChild(hostdiff_elem)
+
+ if host_a.state is None or host_b.state is None:
+ # The host is missing in one scan. Output the whole thing.
+ if host_a.state is not None:
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ a_elem.appendChild(host_a.to_dom_fragment(document))
+ hostdiff_elem.appendChild(a_elem)
+ elif host_b.state is not None:
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ b_elem.appendChild(host_b.to_dom_fragment(document))
+ hostdiff_elem.appendChild(b_elem)
+ return frag
+
+- host_elem = document.createElement(u"host")
++ host_elem = document.createElement("host")
+
+ # State.
+ if host_a.state == host_b.state:
+ if verbose:
+ host_elem.appendChild(host_a.state_to_dom_fragment(document))
+ else:
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ a_elem.appendChild(host_a.state_to_dom_fragment(document))
+ host_elem.appendChild(a_elem)
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ b_elem.appendChild(host_b.state_to_dom_fragment(document))
+ host_elem.appendChild(b_elem)
+
+@@ -854,31 +851,31 @@ class HostDiff(object):
+ addrset_b = set(host_b.addresses)
+ for addr in sorted(addrset_a.intersection(addrset_b)):
+ host_elem.appendChild(addr.to_dom_fragment(document))
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ for addr in sorted(addrset_a - addrset_b):
+ a_elem.appendChild(addr.to_dom_fragment(document))
+ if a_elem.hasChildNodes():
+ host_elem.appendChild(a_elem)
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ for addr in sorted(addrset_b - addrset_a):
+ b_elem.appendChild(addr.to_dom_fragment(document))
+ if b_elem.hasChildNodes():
+ host_elem.appendChild(b_elem)
+
+ # Host names.
+- hostnames_elem = document.createElement(u"hostnames")
++ hostnames_elem = document.createElement("hostnames")
+ hostnameset_a = set(host_a.hostnames)
+ hostnameset_b = set(host_b.hostnames)
+ for hostname in sorted(hostnameset_a.intersection(hostnameset_b)):
+ hostnames_elem.appendChild(
+ host_a.hostname_to_dom_fragment(document, hostname))
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ for hostname in sorted(hostnameset_a - hostnameset_b):
+ a_elem.appendChild(
+ host_a.hostname_to_dom_fragment(document, hostname))
+ if a_elem.hasChildNodes():
+ hostnames_elem.appendChild(a_elem)
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ for hostname in sorted(hostnameset_b - hostnameset_a):
+ b_elem.appendChild(
+ host_b.hostname_to_dom_fragment(document, hostname))
+@@ -887,15 +884,15 @@ class HostDiff(object):
+ if hostnames_elem.hasChildNodes():
+ host_elem.appendChild(hostnames_elem)
+
+- ports_elem = document.createElement(u"ports")
++ ports_elem = document.createElement("ports")
+ # Extraports.
+ if host_a.extraports == host_b.extraports:
+ ports_elem.appendChild(host_a.extraports_to_dom_fragment(document))
+ else:
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ a_elem.appendChild(host_a.extraports_to_dom_fragment(document))
+ ports_elem.appendChild(a_elem)
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ b_elem.appendChild(host_b.extraports_to_dom_fragment(document))
+ ports_elem.appendChild(b_elem)
+ # Port list.
+@@ -911,18 +908,18 @@ class HostDiff(object):
+
+ # OS changes.
+ if self.os_changed or verbose:
+- os_elem = document.createElement(u"os")
++ os_elem = document.createElement("os")
+ # os_diffs is a list of 5-tuples returned by
+ # difflib.SequenceMatcher.
+ for op, i1, i2, j1, j2 in self.os_diffs:
+ if op == "replace" or op == "delete":
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ for i in range(i1, i2):
+ a_elem.appendChild(host_a.os_to_dom_fragment(
+ document, host_a.os[i]))
+ os_elem.appendChild(a_elem)
+ if op == "replace" or op == "insert":
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ for i in range(j1, j2):
+ b_elem.appendChild(host_b.os_to_dom_fragment(
+ document, host_b.os[i]))
+@@ -936,7 +933,7 @@ class HostDiff(object):
+
+ # Host script changes.
+ if len(self.script_result_diffs) > 0 or verbose:
+- hostscript_elem = document.createElement(u"hostscript")
++ hostscript_elem = document.createElement("hostscript")
+ host_elem.appendChild(script_result_diffs_to_dom_fragment(
+ hostscript_elem, host_a.script_results,
+ host_b.script_results, self.script_result_diffs,
+@@ -989,38 +986,38 @@ class PortDiff(object):
+ self.port_b.service.version_string()]
+ if a_columns == b_columns:
+ if verbose or self.script_result_diffs > 0:
+- table.append([u" "] + a_columns)
++ table.append([" "] + a_columns)
+ else:
+ if not host_a.is_extraports(self.port_a.state):
+- table.append([u"-"] + a_columns)
++ table.append(["-"] + a_columns)
+ if not host_b.is_extraports(self.port_b.state):
+- table.append([u"+"] + b_columns)
++ table.append(["+"] + b_columns)
+
+ for sr_diff in self.script_result_diffs:
+ sr_diff.append_to_port_table(table)
+
+ def to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+- portdiff_elem = document.createElement(u"portdiff")
++ portdiff_elem = document.createElement("portdiff")
+ frag.appendChild(portdiff_elem)
+ if (self.port_a.spec == self.port_b.spec and
+ self.port_a.state == self.port_b.state):
+- port_elem = document.createElement(u"port")
+- port_elem.setAttribute(u"portid", unicode(self.port_a.spec[0]))
+- port_elem.setAttribute(u"protocol", self.port_a.spec[1])
++ port_elem = document.createElement("port")
++ port_elem.setAttribute("portid", str(self.port_a.spec[0]))
++ port_elem.setAttribute("protocol", self.port_a.spec[1])
+ if self.port_a.state is not None:
+- state_elem = document.createElement(u"state")
+- state_elem.setAttribute(u"state", self.port_a.state)
++ state_elem = document.createElement("state")
++ state_elem.setAttribute("state", self.port_a.state)
+ port_elem.appendChild(state_elem)
+ if self.port_a.service == self.port_b.service:
+ port_elem.appendChild(
+ self.port_a.service.to_dom_fragment(document))
+ else:
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ a_elem.appendChild(
+ self.port_a.service.to_dom_fragment(document))
+ port_elem.appendChild(a_elem)
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ b_elem.appendChild(
+ self.port_b.service.to_dom_fragment(document))
+ port_elem.appendChild(b_elem)
+@@ -1028,10 +1025,10 @@ class PortDiff(object):
+ port_elem.appendChild(sr_diff.to_dom_fragment(document))
+ portdiff_elem.appendChild(port_elem)
+ else:
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ a_elem.appendChild(self.port_a.to_dom_fragment(document))
+ portdiff_elem.appendChild(a_elem)
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ b_elem.appendChild(self.port_b.to_dom_fragment(document))
+ portdiff_elem.appendChild(b_elem)
+
+@@ -1086,13 +1083,13 @@ class ScriptResultDiff(object):
+ for op, i1, i2, j1, j2 in diffs.get_opcodes():
+ if op == "replace" or op == "delete":
+ for k in range(i1, i2):
+- table.append_raw(u"-" + a_lines[k])
++ table.append_raw("-" + a_lines[k])
+ if op == "replace" or op == "insert":
+ for k in range(j1, j2):
+- table.append_raw(u"+" + b_lines[k])
++ table.append_raw("+" + b_lines[k])
+ if op == "equal":
+ for k in range(i1, i2):
+- table.append_raw(u" " + a_lines[k])
++ table.append_raw(" " + a_lines[k])
+
+ def to_dom_fragment(self, document):
+ frag = document.createDocumentFragment()
+@@ -1102,11 +1099,11 @@ class ScriptResultDiff(object):
+ frag.appendChild(self.sr_a.to_dom_fragment(document))
+ else:
+ if self.sr_a is not None:
+- a_elem = document.createElement(u"a")
++ a_elem = document.createElement("a")
+ a_elem.appendChild(self.sr_a.to_dom_fragment(document))
+ frag.appendChild(a_elem)
+ if self.sr_b is not None:
+- b_elem = document.createElement(u"b")
++ b_elem = document.createElement("b")
+ b_elem.appendChild(self.sr_b.to_dom_fragment(document))
+ frag.appendChild(b_elem)
+ return frag
+@@ -1120,7 +1117,7 @@ class Table(object):
+ copied to the output."""
+ self.widths = []
+ self.rows = []
+- self.prefix = u""
++ self.prefix = ""
+ self.padding = []
+ j = 0
+ while j < len(template) and template[j] != "*":
+@@ -1145,7 +1142,7 @@ class Table(object):
+
+ for i in range(len(row)):
+ if row[i] is None:
+- s = u""
++ s = ""
+ else:
+ s = str(row[i])
+ if i == len(self.widths):
+@@ -1167,7 +1164,7 @@ class Table(object):
+ for row in self.rows:
+ parts = [self.prefix]
+ i = 0
+- if isinstance(row, basestring):
++ if isinstance(row, str):
+ # A raw string.
+ lines.append(row)
+ else:
+@@ -1176,13 +1173,13 @@ class Table(object):
+ if i < len(self.padding):
+ parts.append(self.padding[i])
+ i += 1
+- lines.append(u"".join(parts).rstrip())
+- return u"\n".join(lines)
++ lines.append("".join(parts).rstrip())
++ return "\n".join(lines)
+
+
+ def warn(str):
+ """Print a warning to stderr."""
+- print >> sys.stderr, str
++ print(str, file=sys.stderr)
+
+
+ class NmapContentHandler(xml.sax.handler.ContentHandler):
+@@ -1200,22 +1197,22 @@ class NmapContentHandler(xml.sax.handler.ContentHandler):
+ self.current_port = None
+
+ self._start_elem_handlers = {
+- u"nmaprun": self._start_nmaprun,
+- u"host": self._start_host,
+- u"status": self._start_status,
+- u"address": self._start_address,
+- u"hostname": self._start_hostname,
+- u"extraports": self._start_extraports,
+- u"port": self._start_port,
+- u"state": self._start_state,
+- u"service": self._start_service,
+- u"script": self._start_script,
+- u"osmatch": self._start_osmatch,
+- u"finished": self._start_finished,
++ "nmaprun": self._start_nmaprun,
++ "host": self._start_host,
++ "status": self._start_status,
++ "address": self._start_address,
++ "hostname": self._start_hostname,
++ "extraports": self._start_extraports,
++ "port": self._start_port,
++ "state": self._start_state,
++ "service": self._start_service,
++ "script": self._start_script,
++ "osmatch": self._start_osmatch,
++ "finished": self._start_finished,
+ }
+ self._end_elem_handlers = {
+- u'host': self._end_host,
+- u'port': self._end_port,
++ 'host': self._end_host,
++ 'port': self._end_port,
+ }
+
+ def parent_element(self):
+@@ -1245,68 +1242,68 @@ class NmapContentHandler(xml.sax.handler.ContentHandler):
+ def _start_nmaprun(self, name, attrs):
+ assert self.parent_element() is None
+ if "start" in attrs:
+- start_timestamp = int(attrs.get(u"start"))
++ start_timestamp = int(attrs.get("start"))
+ self.scan.start_date = datetime.datetime.fromtimestamp(
+ start_timestamp)
+- self.scan.scanner = attrs.get(u"scanner")
+- self.scan.args = attrs.get(u"args")
+- self.scan.version = attrs.get(u"version")
++ self.scan.scanner = attrs.get("scanner")
++ self.scan.args = attrs.get("args")
++ self.scan.version = attrs.get("version")
+
+ def _start_host(self, name, attrs):
+- assert self.parent_element() == u"nmaprun"
++ assert self.parent_element() == "nmaprun"
+ self.current_host = Host()
+ self.scan.hosts.append(self.current_host)
+
+ def _start_status(self, name, attrs):
+- assert self.parent_element() == u"host"
++ assert self.parent_element() == "host"
+ assert self.current_host is not None
+- state = attrs.get(u"state")
++ state = attrs.get("state")
+ if state is None:
+ warn(u'%s element of host %s is missing the "state" attribute; '
+- 'assuming \unknown\.' % (
++ r'assuming \unknown\.' % (
+ name, self.current_host.format_name()))
+ return
+ self.current_host.state = state
+
+ def _start_address(self, name, attrs):
+- assert self.parent_element() == u"host"
++ assert self.parent_element() == "host"
+ assert self.current_host is not None
+- addr = attrs.get(u"addr")
++ addr = attrs.get("addr")
+ if addr is None:
+- warn(u'%s element of host %s is missing the "addr" '
++ warn('%s element of host %s is missing the "addr" '
+ 'attribute; skipping.' % (
+ name, self.current_host.format_name()))
+ return
+- addrtype = attrs.get(u"addrtype", u"ipv4")
++ addrtype = attrs.get("addrtype", "ipv4")
+ self.current_host.add_address(Address.new(addrtype, addr))
+
+ def _start_hostname(self, name, attrs):
+- assert self.parent_element() == u"hostnames"
++ assert self.parent_element() == "hostnames"
+ assert self.current_host is not None
+- hostname = attrs.get(u"name")
++ hostname = attrs.get("name")
+ if hostname is None:
+- warn(u'%s element of host %s is missing the "name" '
++ warn('%s element of host %s is missing the "name" '
+ 'attribute; skipping.' % (
+ name, self.current_host.format_name()))
+ return
+ self.current_host.add_hostname(hostname)
+
+ def _start_extraports(self, name, attrs):
+- assert self.parent_element() == u"ports"
++ assert self.parent_element() == "ports"
+ assert self.current_host is not None
+- state = attrs.get(u"state")
++ state = attrs.get("state")
+ if state is None:
+- warn(u'%s element of host %s is missing the "state" '
++ warn('%s element of host %s is missing the "state" '
+ 'attribute; assuming "unknown".' % (
+ name, self.current_host.format_name()))
+ state = None
+ if state in self.current_host.extraports:
+- warn(u'Duplicate extraports state "%s" in host %s.' % (
++ warn('Duplicate extraports state "%s" in host %s.' % (
+ state, self.current_host.format_name()))
+
+- count = attrs.get(u"count")
++ count = attrs.get("count")
+ if count is None:
+- warn(u'%s element of host %s is missing the "count" '
++ warn('%s element of host %s is missing the "count" '
+ 'attribute; assuming 0.' % (
+ name, self.current_host.format_name()))
+ count = 0
+@@ -1314,99 +1311,99 @@ class NmapContentHandler(xml.sax.handler.ContentHandler):
+ try:
+ count = int(count)
+ except ValueError:
+- warn(u"Can't convert extraports count \"%s\" "
++ warn("Can't convert extraports count \"%s\" "
+ "to an integer in host %s; assuming 0." % (
+- attrs[u"count"], self.current_host.format_name()))
++ attrs["count"], self.current_host.format_name()))
+ count = 0
+ self.current_host.extraports[state] = count
+
+ def _start_port(self, name, attrs):
+- assert self.parent_element() == u"ports"
++ assert self.parent_element() == "ports"
+ assert self.current_host is not None
+- portid_str = attrs.get(u"portid")
++ portid_str = attrs.get("portid")
+ if portid_str is None:
+- warn(u'%s element of host %s missing the "portid" '
++ warn('%s element of host %s missing the "portid" '
+ 'attribute; skipping.' % (
+ name, self.current_host.format_name()))
+ return
+ try:
+ portid = int(portid_str)
+ except ValueError:
+- warn(u"Can't convert portid \"%s\" to an integer "
++ warn("Can't convert portid \"%s\" to an integer "
+ "in host %s; skipping port." % (
+ portid_str, self.current_host.format_name()))
+ return
+- protocol = attrs.get(u"protocol")
++ protocol = attrs.get("protocol")
+ if protocol is None:
+- warn(u'%s element of host %s missing the "protocol" '
++ warn('%s element of host %s missing the "protocol" '
+ 'attribute; skipping.' % (
+ name, self.current_host.format_name()))
+ return
+ self.current_port = Port((portid, protocol))
+
+ def _start_state(self, name, attrs):
+- assert self.parent_element() == u"port"
++ assert self.parent_element() == "port"
+ assert self.current_host is not None
+ if self.current_port is None:
+ return
+ if "state" not in attrs:
+- warn(u'%s element of port %s is missing the "state" '
++ warn('%s element of port %s is missing the "state" '
+ 'attribute; assuming "unknown".' % (
+ name, self.current_port.spec_string()))
+ return
+- self.current_port.state = attrs[u"state"]
++ self.current_port.state = attrs["state"]
+ self.current_host.add_port(self.current_port)
+
+ def _start_service(self, name, attrs):
+- assert self.parent_element() == u"port"
++ assert self.parent_element() == "port"
+ assert self.current_host is not None
+ if self.current_port is None:
+ return
+- self.current_port.service.name = attrs.get(u"name")
+- self.current_port.service.product = attrs.get(u"product")
+- self.current_port.service.version = attrs.get(u"version")
+- self.current_port.service.extrainfo = attrs.get(u"extrainfo")
+- self.current_port.service.tunnel = attrs.get(u"tunnel")
++ self.current_port.service.name = attrs.get("name")
++ self.current_port.service.product = attrs.get("product")
++ self.current_port.service.version = attrs.get("version")
++ self.current_port.service.extrainfo = attrs.get("extrainfo")
++ self.current_port.service.tunnel = attrs.get("tunnel")
+
+ def _start_script(self, name, attrs):
+ result = ScriptResult()
+- result.id = attrs.get(u"id")
++ result.id = attrs.get("id")
+ if result.id is None:
+- warn(u'%s element missing the "id" attribute; skipping.' % name)
++ warn('%s element missing the "id" attribute; skipping.' % name)
+ return
+
+- result.output = attrs.get(u"output")
++ result.output = attrs.get("output")
+ if result.output is None:
+- warn(u'%s element missing the "output" attribute; skipping.'
++ warn('%s element missing the "output" attribute; skipping.'
+ % name)
+ return
+- if self.parent_element() == u"prescript":
++ if self.parent_element() == "prescript":
+ self.scan.pre_script_results.append(result)
+- elif self.parent_element() == u"postscript":
++ elif self.parent_element() == "postscript":
+ self.scan.post_script_results.append(result)
+- elif self.parent_element() == u"hostscript":
++ elif self.parent_element() == "hostscript":
+ self.current_host.script_results.append(result)
+- elif self.parent_element() == u"port":
++ elif self.parent_element() == "port":
+ self.current_port.script_results.append(result)
+ else:
+- warn(u"%s element not inside prescript, postscript, hostscript, "
++ warn("%s element not inside prescript, postscript, hostscript, "
+ "or port element; ignoring." % name)
+ return
+
+ def _start_osmatch(self, name, attrs):
+- assert self.parent_element() == u"os"
++ assert self.parent_element() == "os"
+ assert self.current_host is not None
+ if "name" not in attrs:
+- warn(u'%s element of host %s is missing the "name" '
++ warn('%s element of host %s is missing the "name" '
+ 'attribute; skipping.' % (
+ name, self.current_host.format_name()))
+ return
+- self.current_host.os.append(attrs[u"name"])
++ self.current_host.os.append(attrs["name"])
+
+ def _start_finished(self, name, attrs):
+- assert self.parent_element() == u"runstats"
++ assert self.parent_element() == "runstats"
+ if "time" in attrs:
+- end_timestamp = int(attrs.get(u"time"))
++ end_timestamp = int(attrs.get("time"))
+ self.scan.end_date = datetime.datetime.fromtimestamp(end_timestamp)
+
+ def _end_host(self, name):
+@@ -1425,23 +1422,23 @@ class XMLWriter (xml.sax.saxutils.XMLGenerator):
+
+ def frag(self, frag):
+ for node in frag.childNodes:
+- node.writexml(self.f, newl=u"\n")
++ node.writexml(self.f, newl="\n")
+
+ def frag_a(self, frag):
+- self.startElement(u"a", {})
++ self.startElement("a", {})
+ for node in frag.childNodes:
+- node.writexml(self.f, newl=u"\n")
+- self.endElement(u"a")
++ node.writexml(self.f, newl="\n")
++ self.endElement("a")
+
+ def frag_b(self, frag):
+- self.startElement(u"b", {})
++ self.startElement("b", {})
+ for node in frag.childNodes:
+- node.writexml(self.f, newl=u"\n")
+- self.endElement(u"b")
++ node.writexml(self.f, newl="\n")
++ self.endElement("b")
+
+
+ def usage():
+- print u"""\
++ print("""\
+ Usage: %s [option] FILE1 FILE2
+ Compare two Nmap XML files and display a list of their differences.
+ Differences include host state changes, port state changes, and changes to
+@@ -1451,7 +1448,7 @@ service and OS detection.
+ -v, --verbose also show hosts and ports that haven't changed.
+ --text display output in text format (default)
+ --xml display output in XML format\
+-""" % sys.argv[0]
++""" % sys.argv[0])
+
+ EXIT_EQUAL = 0
+ EXIT_DIFFERENT = 1
+@@ -1459,8 +1456,8 @@ EXIT_ERROR = 2
+
+
+ def usage_error(msg):
+- print >> sys.stderr, u"%s: %s" % (sys.argv[0], msg)
+- print >> sys.stderr, u"Try '%s -h' for help." % sys.argv[0]
++ print("%s: %s" % (sys.argv[0], msg), file=sys.stderr)
++ print("Try '%s -h' for help." % sys.argv[0], file=sys.stderr)
+ sys.exit(EXIT_ERROR)
+
+
+@@ -1471,7 +1468,7 @@ def main():
+ try:
+ opts, input_filenames = getopt.gnu_getopt(
+ sys.argv[1:], "hv", ["help", "text", "verbose", "xml"])
+- except getopt.GetoptError, e:
++ except getopt.GetoptError as e:
+ usage_error(e.msg)
+ for o, a in opts:
+ if o == "-h" or o == "--help":
+@@ -1481,15 +1478,15 @@ def main():
+ verbose = True
+ elif o == "--text":
+ if output_format is not None and output_format != "text":
+- usage_error(u"contradictory output format options.")
++ usage_error("contradictory output format options.")
+ output_format = "text"
+ elif o == "--xml":
+ if output_format is not None and output_format != "xml":
+- usage_error(u"contradictory output format options.")
++ usage_error("contradictory output format options.")
+ output_format = "xml"
+
+ if len(input_filenames) != 2:
+- usage_error(u"need exactly two input filenames.")
++ usage_error("need exactly two input filenames.")
+
+ if output_format is None:
+ output_format = "text"
+@@ -1502,8 +1499,8 @@ def main():
+ scan_a.load_from_file(filename_a)
+ scan_b = Scan()
+ scan_b.load_from_file(filename_b)
+- except IOError, e:
+- print >> sys.stderr, u"Can't open file: %s" % str(e)
++ except IOError as e:
++ print("Can't open file: %s" % str(e), file=sys.stderr)
+ sys.exit(EXIT_ERROR)
+
+ if output_format == "text":
+diff --git a/ndiff/ndifftest.py b/ndiff/ndifftest.py
+index 2fa4ae0..27fc525 100755
+--- a/ndiff/ndifftest.py
++++ b/ndiff/ndifftest.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ # Unit tests for Ndiff.
+
+@@ -22,7 +22,7 @@ for x in dir(ndiff):
+ sys.dont_write_bytecode = dont_write_bytecode
+ del dont_write_bytecode
+
+-import StringIO
++import io
+
+
+ class scan_test(unittest.TestCase):
+@@ -52,7 +52,7 @@ class scan_test(unittest.TestCase):
+ scan.load_from_file("test-scans/single.xml")
+ host = scan.hosts[0]
+ self.assertEqual(len(host.ports), 5)
+- self.assertEqual(host.extraports.items(), [("filtered", 95)])
++ self.assertEqual(list(host.extraports.items()), [("filtered", 95)])
+
+ def test_extraports_multi(self):
+ """Test that the correct number of known ports is returned when there
+@@ -68,9 +68,9 @@ class scan_test(unittest.TestCase):
+ """Test that nmaprun information is recorded."""
+ scan = Scan()
+ scan.load_from_file("test-scans/empty.xml")
+- self.assertEqual(scan.scanner, u"nmap")
+- self.assertEqual(scan.version, u"4.90RC2")
+- self.assertEqual(scan.args, u"nmap -oX empty.xml -p 1-100")
++ self.assertEqual(scan.scanner, "nmap")
++ self.assertEqual(scan.version, "4.90RC2")
++ self.assertEqual(scan.args, "nmap -oX empty.xml -p 1-100")
+
+ def test_addresses(self):
+ """Test that addresses are recorded."""
+@@ -84,7 +84,7 @@ class scan_test(unittest.TestCase):
+ scan = Scan()
+ scan.load_from_file("test-scans/simple.xml")
+ host = scan.hosts[0]
+- self.assertEqual(host.hostnames, [u"scanme.nmap.org"])
++ self.assertEqual(host.hostnames, ["scanme.nmap.org"])
+
+ def test_os(self):
+ """Test that OS information is recorded."""
+@@ -99,7 +99,7 @@ class scan_test(unittest.TestCase):
+ scan.load_from_file("test-scans/complex.xml")
+ host = scan.hosts[0]
+ self.assertTrue(len(host.script_results) > 0)
+- self.assertTrue(len(host.ports[(22, u"tcp")].script_results) > 0)
++ self.assertTrue(len(host.ports[(22, "tcp")].script_results) > 0)
+
+ # This test is commented out because Nmap XML doesn't store any information
+ # about down hosts, not even the fact that they are down. Recovering the list
+@@ -128,16 +128,16 @@ class host_test(unittest.TestCase):
+
+ def test_format_name(self):
+ h = Host()
+- self.assertTrue(isinstance(h.format_name(), basestring))
+- h.add_address(IPv4Address(u"127.0.0.1"))
+- self.assertTrue(u"127.0.0.1" in h.format_name())
++ self.assertTrue(isinstance(h.format_name(), str))
++ h.add_address(IPv4Address("127.0.0.1"))
++ self.assertTrue("127.0.0.1" in h.format_name())
+ h.add_address(IPv6Address("::1"))
+- self.assertTrue(u"127.0.0.1" in h.format_name())
+- self.assertTrue(u"::1" in h.format_name())
+- h.add_hostname(u"localhost")
+- self.assertTrue(u"127.0.0.1" in h.format_name())
+- self.assertTrue(u"::1" in h.format_name())
+- self.assertTrue(u"localhost" in h.format_name())
++ self.assertTrue("127.0.0.1" in h.format_name())
++ self.assertTrue("::1" in h.format_name())
++ h.add_hostname("localhost")
++ self.assertTrue("127.0.0.1" in h.format_name())
++ self.assertTrue("::1" in h.format_name())
++ self.assertTrue("localhost" in h.format_name())
+
+ def test_empty_get_port(self):
+ h = Host()
+@@ -197,8 +197,8 @@ class host_test(unittest.TestCase):
+ h = s.hosts[0]
+ self.assertEqual(len(h.ports), 5)
+ self.assertEqual(len(h.extraports), 1)
+- self.assertEqual(h.extraports.keys()[0], u"filtered")
+- self.assertEqual(h.extraports.values()[0], 95)
++ self.assertEqual(list(h.extraports.keys())[0], "filtered")
++ self.assertEqual(list(h.extraports.values())[0], 95)
+ self.assertEqual(h.state, "up")
+
+
+@@ -241,13 +241,13 @@ class port_test(unittest.TestCase):
+ """Test the Port class."""
+ def test_spec_string(self):
+ p = Port((10, "tcp"))
+- self.assertEqual(p.spec_string(), u"10/tcp")
++ self.assertEqual(p.spec_string(), "10/tcp")
+ p = Port((100, "ip"))
+- self.assertEqual(p.spec_string(), u"100/ip")
++ self.assertEqual(p.spec_string(), "100/ip")
+
+ def test_state_string(self):
+ p = Port((10, "tcp"))
+- self.assertEqual(p.state_string(), u"unknown")
++ self.assertEqual(p.state_string(), "unknown")
+
+
+ class service_test(unittest.TestCase):
+@@ -255,47 +255,47 @@ class service_test(unittest.TestCase):
+ def test_compare(self):
+ """Test that services with the same contents compare equal."""
+ a = Service()
+- a.name = u"ftp"
+- a.product = u"FooBar FTP"
+- a.version = u"1.1.1"
+- a.tunnel = u"ssl"
++ a.name = "ftp"
++ a.product = "FooBar FTP"
++ a.version = "1.1.1"
++ a.tunnel = "ssl"
+ self.assertEqual(a, a)
+ b = Service()
+- b.name = u"ftp"
+- b.product = u"FooBar FTP"
+- b.version = u"1.1.1"
+- b.tunnel = u"ssl"
++ b.name = "ftp"
++ b.product = "FooBar FTP"
++ b.version = "1.1.1"
++ b.tunnel = "ssl"
+ self.assertEqual(a, b)
+- b.name = u"http"
++ b.name = "http"
+ self.assertNotEqual(a, b)
+ c = Service()
+ self.assertNotEqual(a, c)
+
+ def test_tunnel(self):
+ serv = Service()
+- serv.name = u"http"
+- serv.tunnel = u"ssl"
+- self.assertEqual(serv.name_string(), u"ssl/http")
++ serv.name = "http"
++ serv.tunnel = "ssl"
++ self.assertEqual(serv.name_string(), "ssl/http")
+
+ def test_version_string(self):
+ serv = Service()
+- serv.product = u"FooBar"
++ serv.product = "FooBar"
+ self.assertTrue(len(serv.version_string()) > 0)
+ serv = Service()
+- serv.version = u"1.2.3"
++ serv.version = "1.2.3"
+ self.assertTrue(len(serv.version_string()) > 0)
+ serv = Service()
+- serv.extrainfo = u"misconfigured"
++ serv.extrainfo = "misconfigured"
+ self.assertTrue(len(serv.version_string()) > 0)
+ serv = Service()
+- serv.product = u"FooBar"
+- serv.version = u"1.2.3"
++ serv.product = "FooBar"
++ serv.version = "1.2.3"
+ # Must match Nmap output.
+ self.assertEqual(serv.version_string(),
+- u"%s %s" % (serv.product, serv.version))
+- serv.extrainfo = u"misconfigured"
++ "%s %s" % (serv.product, serv.version))
++ serv.extrainfo = "misconfigured"
+ self.assertEqual(serv.version_string(),
+- u"%s %s (%s)" % (serv.product, serv.version, serv.extrainfo))
++ "%s %s (%s)" % (serv.product, serv.version, serv.extrainfo))
+
+
+ class ScanDiffSub(ScanDiff):
+@@ -703,7 +703,7 @@ class scan_diff_xml_test(unittest.TestCase):
+ a.load_from_file("test-scans/empty.xml")
+ b = Scan()
+ b.load_from_file("test-scans/simple.xml")
+- f = StringIO.StringIO()
++ f = io.StringIO()
+ self.scan_diff = ScanDiffXML(a, b, f)
+ self.scan_diff.output()
+ self.xml = f.getvalue()
+@@ -712,8 +712,8 @@ class scan_diff_xml_test(unittest.TestCase):
+ def test_well_formed(self):
+ try:
+ document = xml.dom.minidom.parseString(self.xml)
+- except Exception, e:
+- self.fail(u"Parsing XML diff output caused the exception: %s"
++ except Exception as e:
++ self.fail("Parsing XML diff output caused the exception: %s"
+ % str(e))
+
+
+@@ -739,8 +739,8 @@ def host_apply_diff(host, diff):
+ host.os = diff.host_b.os[:]
+
+ if diff.extraports_changed:
+- for state in host.extraports.keys():
+- for port in host.ports.values():
++ for state in list(host.extraports.keys()):
++ for port in list(host.ports.values()):
+ if port.state == state:
+ del host.ports[port.spec]
+ host.extraports = diff.host_b.extraports.copy()
+diff --git a/ndiff/scripts/ndiff b/ndiff/scripts/ndiff
+index 8517c07..4671e73 100755
+--- a/ndiff/scripts/ndiff
++++ b/ndiff/scripts/ndiff
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ # Ndiff
+ #
+@@ -67,15 +67,15 @@ if INSTALL_LIB is not None and is_secure_dir(INSTALL_LIB):
+
+ try:
+ import ndiff
+-except ImportError, e:
+- print >> sys.stderr, """\
++except ImportError as e:
++ print("""\
+ Could not import the ndiff module: %s.
+-I checked in these directories:""" % repr(e.message)
++I checked in these directories:""" % repr(e), file=sys.stderr)
+ for dir in sys.path:
+- print >> sys.stderr, " %s" % dir
+- print >> sys.stderr, """\
++ print(" %s" % dir, file=sys.stderr)
++ print("""\
+ If you installed Ndiff in another directory, you may have to add the
+-modules directory to the PYTHONPATH environment variable."""
++modules directory to the PYTHONPATH environment variable.""", file=sys.stderr)
+ sys.exit(1)
+
+ import ndiff
+diff --git a/ndiff/setup.py b/ndiff/setup.py
+old mode 100644
+new mode 100755
+index b5e254c..c49bcf3
+--- a/ndiff/setup.py
++++ b/ndiff/setup.py
+@@ -94,7 +94,7 @@ class checked_install(distutils.command.install.install):
+ self.saved_prefix = sys.prefix
+ try:
+ distutils.command.install.install.finalize_options(self)
+- except distutils.errors.DistutilsPlatformError, e:
++ except distutils.errors.DistutilsPlatformError as e:
+ raise distutils.errors.DistutilsPlatformError(str(e) + """
+ Installing your distribution's python-dev package may solve this problem.""")
+
+@@ -155,13 +155,13 @@ Installing your distribution's python-dev package may solve this problem.""")
+ #!/usr/bin/env python
+ import errno, os, os.path, sys
+
+-print 'Uninstall %(name)s'
++print('Uninstall %(name)s')
+
+ answer = raw_input('Are you sure that you want to uninstall '
+ '%(name)s (yes/no) ')
+
+ if answer != 'yes' and answer != 'y':
+- print 'Not uninstalling.'
++ print('Not uninstalling.')
+ sys.exit(0)
+
+ """ % {'name': APP_NAME}
+@@ -177,8 +177,8 @@ if answer != 'yes' and answer != 'y':
+ # This should never happen (everything gets installed
+ # inside the root), but if it does, be safe and don't
+ # delete anything.
+- uninstaller += ("print '%s was not installed inside "
+- "the root %s; skipping.'\n" % (output, self.root))
++ uninstaller += ("print('%s was not installed inside "
++ "the root %s; skipping.')\n" % (output, self.root))
+ continue
+ output = path_strip_prefix(output, self.root)
+ assert os.path.isabs(output)
+@@ -202,24 +202,24 @@ for path in INSTALLED_FILES:
+ dirs.append(path)
+ # Delete the files.
+ for file in files:
+- print "Removing '%s'." % file
++ print("Removing '%s'." % file)
+ try:
+ os.remove(file)
+- except OSError, e:
+- print >> sys.stderr, ' Error: %s.' % str(e)
++ except OSError as e:
++ print(' Error: %s.' % str(e), file=sys.stderr)
+ # Delete the directories. First reverse-sort the normalized paths by
+ # length so that child directories are deleted before their parents.
+ dirs = [os.path.normpath(dir) for dir in dirs]
+ dirs.sort(key = len, reverse = True)
+ for dir in dirs:
+ try:
+- print "Removing the directory '%s'." % dir
++ print("Removing the directory '%s'." % dir)
+ os.rmdir(dir)
+- except OSError, e:
++ except OSError as e:
+ if e.errno == errno.ENOTEMPTY:
+- print "Directory '%s' not empty; not removing." % dir
++ print("Directory '%s' not empty; not removing." % dir)
+ else:
+- print >> sys.stderr, str(e)
++ print(str(e), file=sys.stderr)
+ """
+
+ uninstaller_file = open(uninstaller_filename, 'w')
+@@ -227,7 +227,7 @@ for dir in dirs:
+ uninstaller_file.close()
+
+ # Set exec bit for uninstaller
+- mode = ((os.stat(uninstaller_filename)[ST_MODE]) | 0555) & 07777
++ mode = ((os.stat(uninstaller_filename)[ST_MODE]) | 0o555) & 0o7777
+ os.chmod(uninstaller_filename, mode)
+
+ def write_installed_files(self):
+@@ -242,7 +242,7 @@ for dir in dirs:
+ try:
+ for output in self.get_installed_files():
+ assert "\n" not in output
+- print >> f, output
++ print(output, file=f)
+ finally:
+ f.close()
+
+@@ -266,7 +266,7 @@ class my_uninstall(distutils.cmd.Command):
+ # Read the list of installed files.
+ try:
+ f = open(INSTALLED_FILES_NAME, "r")
+- except IOError, e:
++ except IOError as e:
+ if e.errno == errno.ENOENT:
+ log.error("Couldn't open the installation record '%s'. "
+ "Have you installed yet?" % INSTALLED_FILES_NAME)
+@@ -289,7 +289,7 @@ class my_uninstall(distutils.cmd.Command):
+ try:
+ if not self.dry_run:
+ os.remove(file)
+- except OSError, e:
++ except OSError as e:
+ log.error(str(e))
+ # Delete the directories. First reverse-sort the normalized paths by
+ # length so that child directories are deleted before their parents.
+@@ -300,7 +300,7 @@ class my_uninstall(distutils.cmd.Command):
+ log.info("Removing the directory '%s'." % dir)
+ if not self.dry_run:
+ os.rmdir(dir)
+- except OSError, e:
++ except OSError as e:
+ if e.errno == errno.ENOTEMPTY:
+ log.info("Directory '%s' not empty; not removing." % dir)
+ else:
+diff --git a/ndiff/test-scans/anonymize.py b/ndiff/test-scans/anonymize.py
+index 9ba612a..fd251fe 100755
+--- a/ndiff/test-scans/anonymize.py
++++ b/ndiff/test-scans/anonymize.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ # Anonymize an Nmap XML file, replacing host name and IP addresses with random
+ # anonymous ones. Anonymized names will be consistent between runs of the
+@@ -20,20 +20,20 @@ r = random.Random()
+
+
+ def hash(s):
+- digest = hashlib.sha512(s).hexdigest()
++ digest = hashlib.sha512(s.encode()).hexdigest()
+ return int(digest, 16)
+
+
+ def anonymize_mac_address(addr):
+ r.seed(hash(addr))
+ nums = (0, 0, 0) + tuple(r.randrange(256) for i in range(3))
+- return u":".join(u"%02X" % x for x in nums)
++ return ":".join("%02X" % x for x in nums)
+
+
+ def anonymize_ipv4_address(addr):
+ r.seed(hash(addr))
+ nums = (10,) + tuple(r.randrange(256) for i in range(3))
+- return u".".join(unicode(x) for x in nums)
++ return ".".join(str(x) for x in nums)
+
+
+ def anonymize_ipv6_address(addr):
+@@ -41,7 +41,7 @@ def anonymize_ipv6_address(addr):
+ # RFC 4193.
+ nums = (0xFD00 + r.randrange(256),)
+ nums = nums + tuple(r.randrange(65536) for i in range(7))
+- return u":".join("%04X" % x for x in nums)
++ return ":".join("%04X" % x for x in nums)
+
+ # Maps to memoize address and host name conversions.
+ hostname_map = {}
+@@ -54,11 +54,11 @@ def anonymize_hostname(name):
+ LETTERS = "acbdefghijklmnopqrstuvwxyz"
+ r.seed(hash(name))
+ length = r.randrange(5, 10)
+- prefix = u"".join(r.sample(LETTERS, length))
++ prefix = "".join(r.sample(LETTERS, length))
+ num = r.randrange(1000)
+- hostname_map[name] = u"%s-%d.example.com" % (prefix, num)
++ hostname_map[name] = "%s-%d.example.com" % (prefix, num)
+ if VERBOSE:
+- print >> sys.stderr, "Replace %s with %s" % (name, hostname_map[name])
++ print("Replace %s with %s" % (name, hostname_map[name]), file=sys.stderr)
+ return hostname_map[name]
+
+ mac_re = re.compile(r'\b([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}\b')
+@@ -78,7 +78,7 @@ def anonymize_address(addr):
+ else:
+ assert False
+ if VERBOSE:
+- print >> sys.stderr, "Replace %s with %s" % (addr, address_map[addr])
++ print("Replace %s with %s" % (addr, address_map[addr]), file=sys.stderr)
+ return address_map[addr]
+
+
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-configure.ac-make-ndiff-depend-on-python3.patch b/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-configure.ac-make-ndiff-depend-on-python3.patch
new file mode 100644
index 00000000..c43ff9f4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-configure.ac-make-ndiff-depend-on-python3.patch
@@ -0,0 +1,48 @@
+From 562893e665a6c9e1b60c8b3242bab6fe78318b3b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 14 Feb 2020 08:19:54 +0000
+Subject: [PATCH] configure.ac: make ndiff depend on python3
+
+Python 2 ceased being maintained on the 1st January 2020.
+We've already removed all users of it from oe-core, so
+let ndiff depend on python3.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ .../nmap/7.80-r0/nmap-7.80/configure.ac | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9d2fff8..5ffdd55 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -237,16 +237,21 @@ if test $HAVE_PYTHON && test "x${PYTHON_VERSION%%.*}" = "x2"; then
+ HAVE_PYTHON2=true
+ fi
+
++HAVE_PYTHON3=false
++if test $HAVE_PYTHON && test "x${PYTHON_VERSION%%.*}" = "x3"; then
++ HAVE_PYTHON3=true
++fi
++
+ NDIFFDIR=ndiff
+
+ # Do they want Ndiff?
+ AC_ARG_WITH(ndiff, AC_HELP_STRING([--without-ndiff], [Skip installation of the Ndiff utility]), [], [with_ndiff=check])
+-if $HAVE_PYTHON2 ; then : ;
++if $HAVE_PYTHON3 ; then : ;
+ else
+ if test "$with_ndiff" = "check" ; then
+- AC_MSG_WARN([Not building Ndiff because Python 2.x with x>=4 was not found])
++ AC_MSG_WARN([Not building Ndiff because Python3 was not found])
+ elif test "$with_ndiff" = "yes"; then
+- AC_MSG_FAILURE([--with-ndiff requires Python 2.x with x>=4])
++ AC_MSG_FAILURE([--with-ndiff requires Python3])
+ fi
+ with_ndiff=no
+ fi
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch b/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch
deleted file mode 100644
index 561c8c82..00000000
--- a/external/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From c774f2b129fd5acd5647d92c57a2079ae638a62b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 20 Jan 2019 23:07:39 -0800
-Subject: [PATCH] include time.h for time structure definition
-
-Exposed by musl/clang
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- nmap_error.cc | 1 +
- nping/EchoServer.cc | 1 +
- osscan.cc | 1 +
- osscan2.cc | 1 +
- service_scan.cc | 1 +
- 5 files changed, 5 insertions(+)
-
-diff --git a/nmap_error.cc b/nmap_error.cc
-index 19beafb..ea14e08 100644
---- a/nmap_error.cc
-+++ b/nmap_error.cc
-@@ -135,6 +135,7 @@
- #include "xml.h"
-
- #include <errno.h>
-+#include <time.h>
-
- extern NmapOps o;
-
-diff --git a/nping/EchoServer.cc b/nping/EchoServer.cc
-index 70f39b0..40cd4d6 100644
---- a/nping/EchoServer.cc
-+++ b/nping/EchoServer.cc
-@@ -137,6 +137,7 @@
- #include "NpingOps.h"
- #include "ProbeMode.h"
- #include <signal.h>
-+#include <time.h>
-
- extern NpingOps o;
- extern EchoServer es;
-diff --git a/osscan.cc b/osscan.cc
-index f851f60..6ae0c83 100644
---- a/osscan.cc
-+++ b/osscan.cc
-@@ -149,6 +149,7 @@
- # include <time.h>
- # endif
- #endif
-+#include <time.h>
-
- #include <algorithm>
- #include <list>
-diff --git a/osscan2.cc b/osscan2.cc
-index e341947..887fbd2 100644
---- a/osscan2.cc
-+++ b/osscan2.cc
-@@ -147,6 +147,7 @@
-
- #include <list>
- #include <math.h>
-+#include <time.h>
-
- extern NmapOps o;
- #ifdef WIN32
-diff --git a/service_scan.cc b/service_scan.cc
-index 9780ae3..e07b940 100644
---- a/service_scan.cc
-+++ b/service_scan.cc
-@@ -145,6 +145,7 @@
- #include "nmap_tty.h"
-
- #include <errno.h>
-+#include <time.h>
-
- #if HAVE_OPENSSL
- /* OpenSSL 1.0.0 needs _WINSOCKAPI_ to be defined, otherwise it loads
diff --git a/external/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb b/external/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb
deleted file mode 100644
index e8780382..00000000
--- a/external/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "network auditing tool"
-DESCRIPTION = "Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing.\nGui support via appending to IMAGE_FEATURES x11-base in local.conf"
-SECTION = "security"
-LICENSE = "GPL-2.0"
-
-LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=1489288f46af415fadc4e8b6345ab9f4"
-
-SRC_URI = "http://nmap.org/dist/${BP}.tar.bz2 \
- file://nmap-redefine-the-python-library-dir.patch \
- file://nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch \
- file://0001-include-time.h-for-time-structure-definition.patch \
- file://0002-Fix-building-with-libc.patch \
- "
-
-SRC_URI[md5sum] = "84eb6fbe788e0d4918c2b1e39421bf79"
-SRC_URI[sha256sum] = "847b068955f792f4cc247593aca6dc3dc4aae12976169873247488de147a6e18"
-
-inherit autotools-brokensep pkgconfig pythonnative
-
-PACKAGECONFIG ?= "ncat nping ndiff pcap"
-
-PACKAGECONFIG[pcap] = "--with-pcap=linux, --without-pcap, libpcap, libpcap"
-PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpcre"
-PACKAGECONFIG[ssl] = "--with-openssl=${STAGING_LIBDIR}/.., --without-openssl, openssl, openssl"
-PACKAGECONFIG[ssh2] = "--with-openssh2=${STAGING_LIBDIR}/.., --without-openssh2, libssh2, libssh2"
-PACKAGECONFIG[libz] = "--with-libz=${STAGING_LIBDIR}/.., --without-libz, zlib, zlib"
-
-#disable/enable packages
-PACKAGECONFIG[nping] = ",--without-nping,"
-PACKAGECONFIG[ncat] = ",--without-ncat,"
-PACKAGECONFIG[ndiff] = ",--without-ndiff,python"
-PACKAGECONFIG[update] = ",--without-nmap-update,"
-
-EXTRA_OECONF = "--with-libdnet=included --with-liblinear=included --without-subversion --with-liblua=included"
-
-# zenmap needs python-pygtk which has been removed
-# it also only works with python2
-# disable for now until py3 is supported
-EXTRA_OECONF += "--without-zenmap"
-
-export PYTHON_SITEPACKAGES_DIR
-
-do_configure() {
- autoconf
- oe_runconf
-}
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat"
-
-RDEPENDS_${PN} = "python"
diff --git a/external/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb b/external/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb
new file mode 100644
index 00000000..c76d2324
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb
@@ -0,0 +1,60 @@
+SUMMARY = "network auditing tool"
+DESCRIPTION = "Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing.\nGui support via appending to IMAGE_FEATURES x11-base in local.conf"
+SECTION = "security"
+LICENSE = "GPL-2.0"
+
+LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=66938a7e5b4c118eda78271de14874c2"
+
+SRC_URI = "http://nmap.org/dist/${BP}.tar.bz2 \
+ file://nmap-redefine-the-python-library-dir.patch \
+ file://nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch \
+ file://0001-Include-time.h-header-to-pass-clang-compilation.patch \
+ file://0002-Fix-building-with-libc.patch \
+ file://0001-Make-ndiff-support-python3.patch \
+ file://0001-configure.ac-make-ndiff-depend-on-python3.patch \
+ "
+
+SRC_URI[md5sum] = "d37b75b06d1d40f27b76d60db420a1f5"
+SRC_URI[sha256sum] = "fcfa5a0e42099e12e4bf7a68ebe6fde05553383a682e816a7ec9256ab4773faa"
+
+inherit autotools-brokensep pkgconfig python3native
+
+PACKAGECONFIG ?= "ncat nping ndiff pcap"
+
+PACKAGECONFIG[pcap] = "--with-pcap=linux, --without-pcap, libpcap, libpcap"
+PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpcre"
+PACKAGECONFIG[ssl] = "--with-openssl=${STAGING_LIBDIR}/.., --without-openssl, openssl, openssl"
+PACKAGECONFIG[ssh2] = "--with-openssh2=${STAGING_LIBDIR}/.., --without-openssh2, libssh2, libssh2"
+PACKAGECONFIG[libz] = "--with-libz=${STAGING_LIBDIR}/.., --without-libz, zlib, zlib"
+
+#disable/enable packages
+PACKAGECONFIG[nping] = ",--without-nping,"
+PACKAGECONFIG[ncat] = ",--without-ncat,"
+PACKAGECONFIG[ndiff] = "--with-ndiff=yes,--without-ndiff,python3"
+PACKAGECONFIG[update] = ",--without-nmap-update,"
+
+EXTRA_OECONF = "--with-libdnet=included --with-liblinear=included --without-subversion --with-liblua=included"
+
+# zenmap needs python-pygtk which has been removed
+# it also only works with python2
+# disable for now until py3 is supported
+EXTRA_OECONF += "--without-zenmap"
+
+export PYTHON_SITEPACKAGES_DIR
+
+do_configure() {
+ autoconf
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
+
+do_install_append() {
+ if [ -f "${D}${bindir}/ndiff" ]; then
+ sed -i 's@^#!.*$@#!/usr/bin/env python3@g' ${D}${bindir}/ndiff
+ fi
+}
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat"
+
+RDEPENDS_${PN} += "python3-core"
diff --git a/external/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb b/external/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
index 8fc0b359..dd302506 100644
--- a/external/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
@@ -21,10 +21,10 @@ SECTION = "System Environment/Base"
DEPENDS += "libpam"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
-LICENSE = "BSD"
+LICENSE = "BSD-1-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1b4af6f3d4ee079a38107366e93b334d"
SRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \
@@ -35,7 +35,7 @@ SRC_URI[sha256sum] = "d1fedeaf759e8a0f32d28b5811ef11b5a5365154849190f4b7fab670a7
# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam
# this package's pam_passwdqc.so needs pam
-CFLAGS_append += "-Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM"
+CFLAGS_append = " -Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM"
# -e is no longer default setting in bitbake.conf
EXTRA_OEMAKE = "-e"
diff --git a/external/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_git.bb b/external/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_git.bb
new file mode 100644
index 00000000..3236cb9a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "PKCS#11 HSM/Token Emulator"
+HOMEPAGE = "https://www.opendnssec.org/softhsm/"
+LICENSE = "BSD-2-Clause & ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ef3f77a3507c3d91e75b9f2bdaee4210"
+DEPENDS = "openssl"
+PV = "2.5.0"
+
+SRC_URI = "git://github.com/opendnssec/SoftHSMv2.git;branch=master"
+SRCREV = "369df0383d101bc8952692c2a368ac8bc887d1b4"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+# EdDSA requires OpenSSL >= 1.1.1
+EXTRA_OECONF = "--enable-eddsa --disable-gost"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.10.2.bb b/external/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.10.2.bb
new file mode 100644
index 00000000..18566284
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.10.2.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Small and fast POSIX-compliant shell"
+HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/"
+SECTION = "System Environment/Shells"
+
+LICENSE = "BSD & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
+
+inherit autotools update-alternatives
+
+SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz \
+ file://0001-Fix-printf-format-errors-with-clang.patch \
+ "
+SRC_URI[md5sum] = "8f485f126c05d0ab800e85abfe1987aa"
+SRC_URI[sha256sum] = "3c663919dc5c66ec991da14c7cf7e0be8ad00f3db73986a987c118862b5f6071"
+
+EXTRA_OECONF += "--bindir=${base_bindir}"
+
+ALTERNATIVE_${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash"
+ALTERNATIVE_PRIORITY = "10"
+
+pkg_postinst_${PN} () {
+ grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells
+}
+
+pkg_postrm_${PN} () {
+ printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb b/external/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb
deleted file mode 100644
index 6dee66f6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Small and fast POSIX-compliant shell"
-HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/"
-SECTION = "System Environment/Shells"
-
-LICENSE = "BSD & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
-
-inherit autotools update-alternatives
-
-SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz \
- file://0001-Fix-printf-format-errors-with-clang.patch \
- "
-SRC_URI[md5sum] = "6472702a8d9760d166ef8333dcb527a6"
-SRC_URI[sha256sum] = "5ecd5bea72a93ed10eb15a1be9951dd51b52e5da1d4a7ae020efd9826b49e659"
-
-EXTRA_OECONF += "--bindir=${base_bindir}"
-
-ALTERNATIVE_${PN} = "sh"
-ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash"
-ALTERNATIVE_PRIORITY = "10"
-
-pkg_postinst_${PN} () {
- grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells
-}
-
-pkg_postrm_${PN} () {
- printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_58.bb b/external/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_58.bb
new file mode 100644
index 00000000..a9940f88
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_58.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "The MirBSD Korn Shell - an enhanced version of the public domain ksh"
+HOMEPAGE = "http://www.mirbsd.org/mksh.htm"
+SECTION = "base/shell"
+
+LICENSE = "${@bb.utils.contains("TCLIBC", "glibc", "MirOS & ISC", "MirOS", d)}"
+LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=0651e575e39d1a3e884562e25d491fc7 \
+ file://strlcpy.c;beginline=1;endline=17;md5=d953f28f0c43ee29e238ec9bc15df2a0 \
+ "
+
+SRC_URI = "http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R58.tgz"
+
+SRC_URI[md5sum] = "6922a3e2228de2f0e78ff25398ccf8df"
+SRC_URI[sha256sum] = "608beb7b71870b23309ba1da8ca828da0e4540f2b9bd981eb39e04f8b7fc678c"
+
+inherit update-alternatives
+
+S = "${WORKDIR}/${BPN}"
+
+ALTERNATIVE_${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
+ALTERNATIVE_PRIORITY = "100"
+
+do_compile() {
+ sh ${S}/Build.sh -r
+}
+
+do_install() {
+ install -d ${D}${base_bindir}
+ install -m 0755 ${S}/mksh ${D}${base_bindir}/mksh
+
+ install -d ${D}${sysconfdir}/skel
+ install -m 0644 ${S}/dot.mkshrc ${D}${sysconfdir}/skel/.mkshrc
+}
+
+RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh', '', d)}"
diff --git a/external/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb b/external/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb
deleted file mode 100644
index c171963c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb
+++ /dev/null
@@ -1,44 +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-3-Clause"
-LIC_FILES_CHKSUM = "file://Copyright;md5=575cf2715c3bf894e1f79aec1d4eaaf5"
-SECTION = "base"
-DEPENDS = "ncurses virtual/crypt 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/external/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.02.bb b/external/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.02.bb
new file mode 100644
index 00000000..b30c3434
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.02.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 virtual/crypt gettext-native"
+SRC_URI = " \
+ https://astron.com/pub/${BPN}/${BP}.tar.gz \
+ file://0001-Enable-system-malloc-on-all-linux.patch \
+ file://0002-Add-debian-csh-scripts.patch \
+"
+SRC_URI[md5sum] = "f34909eab33733aecc05d27adc82277b"
+SRC_URI[sha256sum] = "ed287158ca1b00ba477e8ea57bac53609838ebcfd05fcb05ca95021b7ebe885b"
+
+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/external/meta-openembedded/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb b/external/meta-openembedded/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb
new file mode 100644
index 00000000..4ea6c8a2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Ace is a code editor written in JavaScript."
+SUMMARY = "Ace is a code editor written in JavaScript. This repository has only generated files"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=794d11c5219c59c9efa2487c2b4066b2"
+
+SRC_URI = "git://github.com/ajaxorg/ace-builds.git;protocol=https"
+
+PV = "02.07.17+git${SRCPV}"
+SRCREV = "812e2c56aed246931a667f16c28b096e34597016"
+
+FILES_${PN} = "${datadir}/ace-builds"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "rsync-native"
+
+do_install () {
+ install -d ${D}/${datadir}/ace-builds/src-noconflict
+ rsync -r --exclude=".*" ${S}/src-noconflict/* ${D}/${datadir}/ace-builds/src-noconflict
+}
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.1.bb b/external/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.1.bb
deleted file mode 100644
index 28cd9c0e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \
- I/O programming that provides developers with a consistent asynchronous \
- model using a modern C++ approach."
-AUTHOR = "Christopher M. Kohlhoff (chris at kohlhoff dot com)"
-HOMEPAGE = "http://think-async.com/Asio"
-SECTION = "libs"
-LICENSE = "BSL-1.0"
-
-DEPENDS = "boost openssl"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
-
-inherit autotools
-
-ALLOW_EMPTY_${PN} = "1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3e73f311a3af69e6df275e8c3b1c09b5"
-
-SRC_URI[md5sum] = "037854d113024f57c9753d6326b339bc"
-SRC_URI[sha256sum] = "a9091b4de847539fa5b2259bf76a5355339c7eaaa5e33d7d4ae74d614c21965a"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.2.bb b/external/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.2.bb
new file mode 100644
index 00000000..35f875fd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.2.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \
+ I/O programming that provides developers with a consistent asynchronous \
+ model using a modern C++ approach."
+AUTHOR = "Christopher M. Kohlhoff (chris at kohlhoff dot com)"
+HOMEPAGE = "http://think-async.com/Asio"
+SECTION = "libs"
+LICENSE = "BSL-1.0"
+
+DEPENDS = "openssl"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
+
+inherit autotools
+
+ALLOW_EMPTY_${PN} = "1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3e73f311a3af69e6df275e8c3b1c09b5"
+
+SRC_URI[md5sum] = "312e53385e2daad10f08d57f91ad3431"
+SRC_URI[sha256sum] = "4e27dcb37456ba707570334b91f4798721111ed67b69915685eac141895779aa"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
+
+PACKAGECONFIG ??= "boost"
+
+PACKAGECONFIG[boost] = "--with-boost,--without-boost,boost"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-add-sys-sysmacros.h-for-major-minor-macros.patch b/external/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-add-sys-sysmacros.h-for-major-minor-macros.patch
deleted file mode 100644
index 56460619..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-add-sys-sysmacros.h-for-major-minor-macros.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 13f3771655f859d5e0332dd65b9c43f572f6359d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 16:02:06 -0700
-Subject: [PATCH] add sys/sysmacros.h for major/minor macros
-
-photosyst.c:1465:19: error: called object 'major' is not a function or function pointer
- dmp->major = major(statbuf.st_rdev);
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- photosyst.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/photosyst.c b/photosyst.c
-index 38828ec..caed352 100644
---- a/photosyst.c
-+++ b/photosyst.c
-@@ -152,6 +152,7 @@
- static const char rcsid[] = "$Id: photosyst.c,v 1.38 2010/11/19 07:40:40 gerlof Exp $";
-
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-atop.daily-atop.init-atop-pm.sh-Avoid-using-bash.patch b/external/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-atop.daily-atop.init-atop-pm.sh-Avoid-using-bash.patch
new file mode 100644
index 00000000..facb257b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-atop.daily-atop.init-atop-pm.sh-Avoid-using-bash.patch
@@ -0,0 +1,67 @@
+From ffc8ba8d324243a923abe48e9758adecb03d24a4 Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <pkj@axis.com>
+Date: Tue, 12 Feb 2019 21:25:23 +0100
+Subject: [PATCH] atop.daily, atop.init, atop-pm.sh: Avoid using bash
+
+Avoid using bash and bashisms when not necesary. On some systems,
+e.g., embedded products, bash may not be available by default.
+
+Upstream-Status: Submitted [https://github.com/Atoptool/atop/pull/50]
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+---
+ atop-pm.sh | 2 +-
+ atop.daily | 4 ++--
+ atop.init | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/atop-pm.sh b/atop-pm.sh
+index 7f41a86..3ff4ab5 100755
+--- a/atop-pm.sh
++++ b/atop-pm.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+
+ case "$1" in
+ pre) /usr/bin/systemctl stop atop
+diff --git a/atop.daily b/atop.daily
+index 57a9507..fe5a11b 100755
+--- a/atop.daily
++++ b/atop.daily
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+
+ LOGOPTS="-R" # default options
+ LOGINTERVAL=600 # default interval in seconds
+@@ -38,7 +38,7 @@ then
+
+ while ps -p `cat "$PIDFILE"` > /dev/null
+ do
+- let CNT+=1
++ CNT=$((CNT + 1))
+
+ if [ $CNT -gt 5 ]
+ then
+diff --git a/atop.init b/atop.init
+index e6e11dc..03c3f02 100755
+--- a/atop.init
++++ b/atop.init
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # atop Startup script for the Atop process logging in background
+ #
+@@ -47,7 +47,7 @@ case "$1" in
+
+ while ps -p `cat $PIDFILE` > /dev/null
+ do
+- let CNT+=1
++ CNT=$((CNT + 1))
+
+ if [ $CNT -gt 5 ]
+ then
+--
+2.12.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch b/external/meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch
index ee741999..8488b380 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch
@@ -1,15 +1,22 @@
-Update permissions of executable files that remove setuid bit and make everyone
-could read.
+From d9498d10d0e8241749835dbc9fa229465d4fdfd7 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 6 Feb 2019 13:58:04 +0000
+Subject: [PATCH] Fix permissions
-Upstream-Status: Inappropriate [embedded specific]
+Update permissions of executable files that remove setuid bit and make
+everyone could read.
+Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
+ Makefile | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
diff --git a/Makefile b/Makefile
-index a65b9b6..21d9828 100644
+index 3bf5929..1221ee4 100644
--- a/Makefile
+++ b/Makefile
-@@ -66,7 +66,7 @@ systemdinstall: genericinstall
+@@ -72,7 +72,7 @@ systemdinstall: genericinstall
chmod 0644 $(DESTDIR)$(SYSDPATH)/atopacct.service
cp atop.cronsystemd $(DESTDIR)$(CRNPATH)/atop
cp atop-pm.sh $(DESTDIR)$(PMPATHD)
@@ -18,7 +25,7 @@ index a65b9b6..21d9828 100644
#
# only when making on target system:
#
-@@ -91,11 +91,11 @@ sysvinstall: genericinstall
+@@ -97,11 +97,11 @@ sysvinstall: genericinstall
#
if [ -d $(DESTDIR)$(PMPATH1) ]; \
then cp 45atoppm $(DESTDIR)$(PMPATH1); \
@@ -32,7 +39,7 @@ index a65b9b6..21d9828 100644
fi
#
#
-@@ -139,7 +139,7 @@ genericinstall: atop atopacctd
+@@ -145,7 +145,7 @@ genericinstall: atop atopacctd atopconvert
#
cp atop $(DESTDIR)$(BINPATH)/atop
chown root $(DESTDIR)$(BINPATH)/atop
@@ -41,12 +48,12 @@ index a65b9b6..21d9828 100644
ln -sf atop $(DESTDIR)$(BINPATH)/atopsar
cp atopacctd $(DESTDIR)$(SBINPATH)/atopacctd
chown root $(DESTDIR)$(SBINPATH)/atopacctd
-@@ -147,7 +147,7 @@ genericinstall: atop atopacctd
- cp atop $(DESTDIR)$(BINPATH)/atop-$(VERS)
- ln -sf atop-$(VERS) $(DESTDIR)$(BINPATH)/atopsar-$(VERS)
+@@ -159,7 +159,7 @@ genericinstall: atop atopacctd atopconvert
+ chown root $(DESTDIR)$(BINPATH)/atopconvert
+ chmod 0711 $(DESTDIR)$(BINPATH)/atopconvert
cp atop.daily $(DESTDIR)$(SCRPATH)
- chmod 0711 $(DESTDIR)$(SCRPATH)/atop.daily
+ chmod 0755 $(DESTDIR)$(SCRPATH)/atop.daily
cp man/atop.1 $(DESTDIR)$(MAN1PATH)
cp man/atopsar.1 $(DESTDIR)$(MAN1PATH)
- cp man/atoprc.5 $(DESTDIR)$(MAN5PATH)
+ cp man/atopconvert.1 $(DESTDIR)$(MAN1PATH)
diff --git a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/remove-bashisms.patch b/external/meta-openembedded/meta-oe/recipes-support/atop/atop/remove-bashisms.patch
deleted file mode 100644
index f1fcbfed..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/remove-bashisms.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/atop-pm.sh b/atop-pm.sh
-index 7f41a86..3ff4ab5 100755
---- a/atop-pm.sh
-+++ b/atop-pm.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- case "$1" in
- pre) /usr/bin/systemctl stop atop
-diff --git a/atop.daily b/atop.daily
-index 24d33bd..f29bd94 100755
---- a/atop.daily
-+++ b/atop.daily
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- CURDAY=`date +%Y%m%d`
- LOGPATH=/var/log/atop
-@@ -16,7 +16,7 @@ then
-
- while ps -p `cat $PIDFILE` > /dev/null
- do
-- let CNT+=1
-+ CNT=$((CNT+1))
-
- if [ $CNT -gt 5 ]
- then
diff --git a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch b/external/meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch
index 5994d3e0..1145a249 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch
@@ -1,11 +1,18 @@
+From bdd068873ed0979027c21773939bdb18046a8756 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 6 Feb 2019 13:58:04 +0000
+Subject: [PATCH] sysvinit: Implement status
+
Implement the sub-command status.
Upstream-Status: Pending
-
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
+ atop.init | 3 +++
+ 1 file changed, 3 insertions(+)
+
diff --git a/atop.init b/atop.init
-index 108bdc5..9f89fad 100755
+index e6e11dc..e7b226d 100755
--- a/atop.init
+++ b/atop.init
@@ -18,6 +18,8 @@
diff --git a/external/meta-openembedded/meta-oe/recipes-support/atop/atop_2.3.0.bb b/external/meta-openembedded/meta-oe/recipes-support/atop/atop_2.3.0.bb
deleted file mode 100644
index 302813c2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/atop/atop_2.3.0.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Monitor for system resources and process activity"
-DESCRIPTION = "Atop is an ASCII full-screen performance monitor for Linux that \
-is capable of reporting the activity of all processes (even if processes have \
-finished during the interval), daily logging of system and process activity for \
-long-term analysis, highlighting overloaded system resources by using colors, \
-etc. At regular intervals, it shows system-level activity related to the CPU, \
-memory, swap, disks (including LVM) and network layers, and for every process \
-(and thread) it shows e.g. the CPU utilization, memory growth, disk \
-utilization, priority, username, state, and exit code."
-HOMEPAGE = "http://www.atoptool.nl"
-SECTION = "console/utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-DEPENDS = "ncurses zlib"
-
-SRC_URI = "http://www.atoptool.nl/download/${BP}.tar.gz \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://volatiles.atop.conf', 'file://volatiles.99_atop', d)} \
- file://remove-bashisms.patch \
- file://fix-permissions.patch \
- file://sysvinit-implement-status.patch \
- file://0001-add-sys-sysmacros.h-for-major-minor-macros.patch \
- "
-SRC_URI[md5sum] = "48e1dbef8c7d826e68829a8d5fc920fc"
-SRC_URI[sha256sum] = "73e4725de0bafac8c63b032e8479e2305e3962afbe977ec1abd45f9e104eb264"
-
-do_compile() {
- oe_runmake all
-}
-
-do_install() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- make DESTDIR=${D} VERS=${PV} SYSDPATH=${systemd_system_unitdir} \
- PMPATHD=${systemd_unitdir}/system-sleep systemdinstall
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m 644 ${WORKDIR}/volatiles.atop.conf ${D}${sysconfdir}/tmpfiles.d/atop.conf
- rm -f ${D}${systemd_system_unitdir}/atopacct.service
- else
- make DESTDIR=${D} VERS=${PV} sysvinstall
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 644 ${WORKDIR}/volatiles.99_atop ${D}${sysconfdir}/default/volatiles/99_atop
- rm -f ${D}${sysconfdir}/init.d/atopacct
- fi
-
- # remove atopacct related files
- rm -rf ${D}${sbindir} ${D}${mandir}/man8
-}
-
-inherit systemd
-
-SYSTEMD_SERVICE_${PN} = "atop.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-FILES_${PN} += "${systemd_unitdir}/system-sleep"
-
-RDEPENDS_${PN} = "procps"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb b/external/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb
new file mode 100644
index 00000000..5bde9651
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Monitor for system resources and process activity"
+DESCRIPTION = "Atop is an ASCII full-screen performance monitor for Linux that \
+is capable of reporting the activity of all processes (even if processes have \
+finished during the interval), daily logging of system and process activity for \
+long-term analysis, highlighting overloaded system resources by using colors, \
+etc. At regular intervals, it shows system-level activity related to the CPU, \
+memory, swap, disks (including LVM) and network layers, and for every process \
+(and thread) it shows e.g. the CPU utilization, memory growth, disk \
+utilization, priority, username, state, and exit code."
+HOMEPAGE = "http://www.atoptool.nl"
+SECTION = "console/utils"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+
+DEPENDS = "ncurses zlib"
+
+SRC_URI = "http://www.atoptool.nl/download/${BP}.tar.gz \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://volatiles.atop.conf', 'file://volatiles.99_atop', d)} \
+ file://fix-permissions.patch \
+ file://sysvinit-implement-status.patch \
+ file://0001-atop.daily-atop.init-atop-pm.sh-Avoid-using-bash.patch \
+ "
+SRC_URI[md5sum] = "1077da884ed94f2bc3c81ac3ab970436"
+SRC_URI[sha256sum] = "be1c010a77086b7d98376fce96514afcd73c3f20a8d1fe01520899ff69a73d69"
+
+do_compile() {
+ oe_runmake all
+}
+
+do_install() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ make DESTDIR=${D} VERS=${PV} SYSDPATH=${systemd_system_unitdir} \
+ PMPATHD=${systemd_unitdir}/system-sleep systemdinstall
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 644 ${WORKDIR}/volatiles.atop.conf ${D}${sysconfdir}/tmpfiles.d/atop.conf
+ rm -f ${D}${systemd_system_unitdir}/atopacct.service
+ else
+ make DESTDIR=${D} VERS=${PV} sysvinstall
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 644 ${WORKDIR}/volatiles.99_atop ${D}${sysconfdir}/default/volatiles/99_atop
+ rm -f ${D}${sysconfdir}/init.d/atopacct
+ fi
+
+ # remove atopacct related files
+ rm -rf ${D}${sbindir} ${D}${mandir}/man8
+}
+
+inherit systemd
+
+SYSTEMD_SERVICE_${PN} = "atop.service atopgpu.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+FILES_${PN} += "${systemd_unitdir}/system-sleep"
+
+RDEPENDS_${PN} = "procps"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc b/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc
index c939d4b8..1bbd181c 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc
+++ b/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc
@@ -6,9 +6,7 @@ LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbb461211a33b134d42ed5ee802b37ff"
SRC_URI = "http://download.augeas.net/${BP}.tar.gz \
- file://add-missing-argz-conditional.patch \
file://sepbuildfix.patch \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
"
DEPENDS = "readline libxml2"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch b/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index 0ba7c76a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 32b15332e2130a54b25f4fbf6f58b407b851dd8f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- gnulib/lib/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gnulib/lib/Makefile.am b/gnulib/lib/Makefile.am
-index 963b22d..75788d2 100644
---- a/gnulib/lib/Makefile.am
-+++ b/gnulib/lib/Makefile.am
-@@ -463,7 +463,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
diff --git a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch b/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch
deleted file mode 100644
index 368bb417..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 9a6e6374da7d7056db0950f0f7d6b8b905009775 Mon Sep 17 00:00:00 2001
-From: Constantin Musca <constantinx.musca@intel.com>
-Date: Fri, 15 Jul 2016 10:04:48 +0300
-Subject: [PATCH] Add missing GL_GENERATE_ARGZ_H conditional
-
-- GL_GENERATE_ARGZ_H is used in gnulib/lib/Makefile.am
-
-Upstream-Status: Pending
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
----
- configure.ac | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 72b6984..fb9653e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -55,6 +55,8 @@ AC_ARG_WITH([failmalloc],
-
- AM_CONDITIONAL([WITH_FAILMALLOC], [test x$with_failmalloc != xno])
-
-+AM_CONDITIONAL([GL_GENERATE_ARGZ_H], [test -n "$ARGZ_H"])
-+
- dnl --enable-debug=(yes|no)
- AC_ARG_ENABLE([debug],
- [AC_HELP_STRING([--enable-debug=no/yes],
diff --git a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.10.1.bb b/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.10.1.bb
deleted file mode 100644
index 26e191bd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.10.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require augeas.inc
-
-SRC_URI[md5sum] = "6c0b2ea6eec45e8bc374b283aedf27ce"
-SRC_URI[sha256sum] = "52db256afab261d31cc147eaa1a71795a5fec59e888dfd0b65a84c7aacd6364d"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.12.0.bb b/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.12.0.bb
new file mode 100644
index 00000000..d32c4691
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.12.0.bb
@@ -0,0 +1,4 @@
+require augeas.inc
+
+SRC_URI[md5sum] = "74f1c7b8550f4e728486091f6b907175"
+SRC_URI[sha256sum] = "321942c9cc32185e2e9cb72d0a70eea106635b50269075aca6714e3ec282cb87"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch b/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch
deleted file mode 100644
index 01235d8e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch b/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch
new file mode 100644
index 00000000..6496b92d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch
@@ -0,0 +1,70 @@
+From f24f863f3a8ca86f44123a58613f62c3b511da1e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 18:23:41 -0800
+Subject: [PATCH] cmake: Use GNUInstallDirs instead of hard-coded paths
+
+This ensures that it can be built on platforms where libdir is not
+/usr/lib e.g. ppc64
+
+Upstream-Status: Submitted [https://github.com/apache/avro/pull/749]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lang/c/CMakeLists.txt | 2 +-
+ lang/c/src/CMakeLists.txt | 16 +++++++++-------
+ 2 files changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/lang/c/CMakeLists.txt b/lang/c/CMakeLists.txt
+index 11cbf018e..6c8d7aaf3 100644
+--- a/lang/c/CMakeLists.txt
++++ b/lang/c/CMakeLists.txt
+@@ -16,7 +16,7 @@
+ # specific language governing permissions and limitations
+ # under the License.
+ #
+-cmake_minimum_required(VERSION 2.4)
++cmake_minimum_required(VERSION 3.1)
+ project(AvroC)
+ enable_testing()
+
+diff --git a/lang/c/src/CMakeLists.txt b/lang/c/src/CMakeLists.txt
+index 6f5659750..c1761c8de 100644
+--- a/lang/c/src/CMakeLists.txt
++++ b/lang/c/src/CMakeLists.txt
+@@ -106,17 +106,19 @@ install(DIRECTORY
+ DESTINATION include
+ FILES_MATCHING PATTERN "*.h")
+
++include(GNUInstallDirs)
++
+ if (WIN32)
+ install(TARGETS avro-static
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ else(WIN32)
+ install(TARGETS avro-static avro-shared
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ endif(WIN32)
+
+@@ -126,7 +128,7 @@ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(VERSION ${AVRO_VERSION})
+ configure_file(avro-c.pc.in avro-c.pc)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/avro-c.pc
+- DESTINATION lib/pkgconfig)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+ add_executable(avrocat avrocat.c)
+ target_link_libraries(avrocat avro-static)
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb b/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb
deleted file mode 100644
index 276fe2b5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.9.2.bb b/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.9.2.bb
new file mode 100644
index 00000000..0642179f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.9.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Apache Avro data serialization system."
+HOMEPAGE = "http://apr.apache.org/"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6d502b41f76179fc84e536236f359cae"
+
+DEPENDS = "jansson zlib xz"
+
+BRANCH = "branch-1.9"
+SRCREV = "bf20128ca6138a830b2ea13e0490f3df6b035639"
+SRC_URI = "git://github.com/apache/avro;branch=${BRANCH} \
+ file://0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch;patchdir=../../ \
+ "
+
+S = "${WORKDIR}/git/lang/c"
+
+inherit cmake
diff --git a/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch b/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch
deleted file mode 100644
index 8ef774f0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-configure.ac: add check for NO_GETCONTEXT definition
-
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
-[yann.morin.1998@free.fr: add a comment, change variable name, use
- AS_IF, remove debug traces, use AC_CHECK_FUNCS (as suggested by
- Thomas)]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
----
-Upstream-Status: Pending
- configure.ac | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- bdwgc-7.2f.orig/configure.ac 2014-06-01 19:00:47.000000000 +0200
-+++ bdwgc-7.2f/configure.ac 2014-12-23 14:13:11.585716713 +0100
-@@ -365,6 +365,12 @@
- AC_MSG_RESULT($ac_cv_fno_strict_aliasing)
- fi
-
-+# Check for getcontext (uClibc can be configured without it, for example)
-+AC_CHECK_FUNCS([getcontext])
-+AS_IF([test "$ac_cv_func_getcontext" = "no"],
-+ [CFLAGS="$CFLAGS -DNO_GETCONTEXT"
-+ CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT"])
-+
- case "$host" in
- # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64
- # and unnecessary everywhere.
diff --git a/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch b/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch
deleted file mode 100644
index 4a184966..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Add missing header to avoid:
-
-| 1472659610.016355: ../git/pthread_stop_world.c: In function 'GC_brief_async_signal_safe_sleep':
-| 1472659610.0540252: ../git/pthread_stop_world.c:397:22: error: storage size of 'tv' isn't known
-| 1472659610.0540252: struct timeval tv;
-| 1472659610.0540252: ^~
-| 1472659610.054099: ../git/pthread_stop_world.c:397:22: warning: unused variable 'tv' [-Wunused-variable]
-| 1472659610.054099: struct timeval tv;
-| 1472659610.054099: ^~
-| 1472659610.054099: Makefile:1530: recipe for target 'pthread_stop_world.lo' failed
-
-in musl builds.
-
-Upstream-Status: Pending
-
-Index: git/pthread_stop_world.c
-===================================================================
---- git.orig/pthread_stop_world.c
-+++ git/pthread_stop_world.c
-@@ -45,6 +45,7 @@
- #include <semaphore.h>
- #include <errno.h>
- #include <unistd.h>
-+#include <sys/time.h>
- #include "atomic_ops.h"
-
- /* It's safe to call original pthread_sigmask() here. */
diff --git a/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb b/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb
deleted file mode 100644
index dcb68f02..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "A garbage collector for C and C++"
-
-DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\
- used as a garbage collecting replacement for C malloc or C++ new. It allows\
- you to allocate memory basically as you normally would, without explicitly\
- deallocating memory that is no longer useful. The collector automatically\
- recycles memory when it determines that it can no longer be otherwise\
- accessed.\
- The collector is also used by a number of programming language\
- implementations that either use C as intermediate code, want to facilitate\
- easier interoperation with C libraries, or just prefer the simple collector\
- interface.\
- Alternatively, the garbage collector may be used as a leak detector for C\
- or C++ programs, though that is not its primary goal.\
- Empirically, this collector works with most unmodified C programs, simply\
- by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\
- calls, and removing free calls."
-
-HOMEPAGE = "http://www.hboehm.info/gc/"
-SECTION = "devel"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README.QUICK;md5=4f81f24ec69726c312487c2ac740e9e3"
-
-SRCREV = "8ac1d84a40eb7a431fec1b8097e3f24b48fb23fa"
-SRC_URI = "git://github.com/ivmai/bdwgc.git \
- file://0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch \
- file://musl_header_fix.patch \
- "
-
-FILES_${PN}-doc = "${datadir}"
-
-S = "${WORKDIR}/git"
-
-ARM_INSTRUCTION_SET = "arm"
-
-inherit autotools pkgconfig
-
-# by default use external libatomic-ops
-PACKAGECONFIG ??= "libatomic-ops"
-PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomic-ops"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb b/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb
new file mode 100644
index 00000000..407de213
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A garbage collector for C and C++"
+
+DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\
+ used as a garbage collecting replacement for C malloc or C++ new. It allows\
+ you to allocate memory basically as you normally would, without explicitly\
+ deallocating memory that is no longer useful. The collector automatically\
+ recycles memory when it determines that it can no longer be otherwise\
+ accessed.\
+ The collector is also used by a number of programming language\
+ implementations that either use C as intermediate code, want to facilitate\
+ easier interoperation with C libraries, or just prefer the simple collector\
+ interface.\
+ Alternatively, the garbage collector may be used as a leak detector for C\
+ or C++ programs, though that is not its primary goal.\
+ Empirically, this collector works with most unmodified C programs, simply\
+ by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\
+ calls, and removing free calls."
+
+HOMEPAGE = "http://www.hboehm.info/gc/"
+SECTION = "devel"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.QUICK;md5=81b447d779e278628c843aef92f088fa"
+
+DEPENDS = "libatomic-ops"
+
+SRCREV = "d3dede3ce4462cd82a15f161af797ca51654546a"
+SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-8_0"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--enable-cpluscplus"
+
+CFLAGS_append_libc-musl = " -D_GNU_SOURCE -DNO_GETCONTEXT -DSEARCH_FOR_DATA_START -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
+
+FILES_${PN}-doc = "${datadir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch b/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch
new file mode 100644
index 00000000..8f15f842
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch
@@ -0,0 +1,27 @@
+From f2f1e134bf5d9d0789942848e03006af8d926cf8 Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@cn.fujitsu.com>
+Date: Tue, 17 Mar 2020 12:53:35 +0800
+Subject: [PATCH] fix configure error : mv libcares.pc.cmakein to
+ libcares.pc.cmake
+
+Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3a5878d..c2e5740 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -563,7 +563,7 @@ IF (CARES_STATIC)
+ ENDIF()
+
+ # Write ares_config.h configuration file. This is used only for the build.
+-CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
++CONFIGURE_FILE (libcares.pc.cmake ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
+
+
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch b/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
new file mode 100644
index 00000000..0eb7e4bb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
@@ -0,0 +1,84 @@
+From 12414304245cce6ef0e8b9547949be5109845353 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 24 Jul 2018 13:33:33 +0800
+Subject: [PATCH] cmake: Install libcares.pc
+
+Prepare and install libcares.pc file during cmake build, so libraries
+using pkg-config to find libcares will not fail.
+
+Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
+
+update to 1.14.0, fix patch warning
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ CMakeLists.txt | 28 +++++++++++++++++++++++-----
+ 1 file changed, 23 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fd123e1..3a5878d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -214,22 +214,25 @@ ADD_DEFINITIONS(${SYSFLAGS})
+
+
+ # Tell C-Ares about libraries to depend on
++# Also pass these libraries to pkg-config file
++SET(CARES_PRIVATE_LIBS_LIST)
+ IF (HAVE_LIBRESOLV)
+- LIST (APPEND CARES_DEPENDENT_LIBS resolv)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lresolv")
+ ENDIF ()
+ IF (HAVE_LIBNSL)
+- LIST (APPEND CARES_DEPENDENT_LIBS nsl)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lnsl")
+ ENDIF ()
+ IF (HAVE_LIBSOCKET)
+- LIST (APPEND CARES_DEPENDENT_LIBS socket)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lsocket")
+ ENDIF ()
+ IF (HAVE_LIBRT)
+- LIST (APPEND CARES_DEPENDENT_LIBS rt)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lrt")
+ ENDIF ()
+ IF (WIN32)
+- LIST (APPEND CARES_DEPENDENT_LIBS ws2_32 Advapi32)
++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lws2_32")
+ ENDIF ()
+
++string (REPLACE ";" " " CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS_LIST}")
+
+ # When checking for symbols, we need to make sure we set the proper
+ # headers, libraries, and definitions for the detection to work properly
+@@ -554,6 +557,15 @@ CONFIGURE_FILE (ares_build.h.cmake ${PROJECT_BINARY_DIR}/ares_build.h)
+ # Write ares_config.h configuration file. This is used only for the build.
+ CONFIGURE_FILE (ares_config.h.cmake ${PROJECT_BINARY_DIR}/ares_config.h)
+
++# Pass required CFLAGS to pkg-config in case of static library
++IF (CARES_STATIC)
++ SET (CPPFLAG_CARES_STATICLIB "-DCARES_STATICLIB")
++ENDIF()
++
++# Write ares_config.h configuration file. This is used only for the build.
++CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
++
++
+
+ # TRANSFORM_MAKEFILE_INC
+ #
+@@ -728,6 +740,12 @@ IF (CARES_INSTALL)
+ INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" COMPONENT Devel DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+ ENDIF ()
+
++# pkg-config file
++IF (CARES_INSTALL)
++ SET (PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
++ INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION ${PKGCONFIG_INSTALL_DIR})
++ENDIF ()
++
+ # Legacy chain-building variables (provided for compatibility with old code).
+ # Don't use these, external code should be updated to refer to the aliases directly (e.g., Cares::cares).
+ SET (CARES_FOUND 1 CACHE INTERNAL "CARES LIBRARY FOUND")
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.0.bb b/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.0.bb
new file mode 100644
index 00000000..e235b9b9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.0.bb
@@ -0,0 +1,27 @@
+# Copyright (c) 2012-2014 LG Electronics, Inc.
+SUMMARY = "c-ares is a C library that resolves names asynchronously."
+HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb997454c8d62aa6a47f07a8cd48b006"
+
+PV = "1.16.0+gitr${SRCPV}"
+
+SRC_URI = "\
+ git://github.com/c-ares/c-ares.git \
+ file://cmake-install-libcares.pc.patch \
+ file://0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch \
+"
+SRCREV = "077a587dccbe2f0d8a1987fbd3525333705c2249"
+
+UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+PACKAGES =+ "${PN}-utils"
+
+FILES_${PN}-utils = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb b/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
index da1a2a36..22b9d0bb 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
@@ -12,6 +12,9 @@ inherit autotools pkgconfig
SRC_URI = "https://launchpad.net/${BPN}/trunk/v${PV}/+download/${BPN}-${PV}.tar.gz \
file://pessimizing-move.patch"
+
+UPSTREAM_CHECK_URI = "https://launchpad.net/frame/trunk"
+
SRC_URI[md5sum] = "02baa941091c5d198cd1623b3ad36e68"
SRC_URI[sha256sum] = "cfb9ab52cdccd926f1822a457264d0014c7eb9f4600a72626063dd073b26256f"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb b/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
index 30d41a16..b9858d27 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
@@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = " \
file://COPYING.GPL;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
"
-inherit autotools pkgconfig python3native lib_package distro_features_check
+inherit autotools pkgconfig python3native lib_package features_check
REQUIRED_DISTRO_FEATURES = "x11"
@@ -23,6 +23,9 @@ SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.x
file://fix-indentation-for-gcc6.patch \
file://0001-libgeis-Compare-the-first-character-of-string-to-nul.patch \
"
+
+UPSTREAM_CHECK_URI = "https://launchpad.net/geis/trunk"
+
SRC_URI[md5sum] = "2ff9d76a3ea5794516bb02c9d1924faf"
SRC_URI[sha256sum] = "8a60f5683852094038904e690d23cc5a90a980fc52da67f0f28890baa25c70eb"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb b/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
index 22fd0f48..e1d37772 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
@@ -13,6 +13,9 @@ 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"
+
+UPSTREAM_CHECK_URI = "https://launchpad.net/grail/trunk"
+
SRC_URI[md5sum] = "0df1b3ec6167920f310e2effe6e2ad44"
SRC_URI[sha256sum] = "5eed1f650f042481daa3a2de5e7d43261fe343b2a1b1e240f3b7fc26572c9df3"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch b/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch
new file mode 100644
index 00000000..586ff18c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch
@@ -0,0 +1,22 @@
+Subject: [PATCH] Add build rule for README.
+
+fix do_configure error:
+Makefile.am: required file `./README' not found
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 49574a3..a5a7c2a 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -26,3 +26,4 @@ libtool: $(LIBTOOL_DEPS)
+ ChangeLog:
+ git log --stat --decorate=short > $@
+
++README: README.md
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.24.bb b/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.24.bb
deleted file mode 100644
index 92f43d86..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.24.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Generic USB CCID smart card reader driver"
-HOMEPAGE = "https://ccid.apdu.fr/"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-DEPENDS = "virtual/libusb0 pcsc-lite"
-RDEPENDS_${PN} = "pcsc-lite"
-
-SRC_URI = "https://ccid.apdu.fr/files/ccid-${PV}.tar.bz2 \
- file://no-dep-on-libfl.patch \
-"
-
-SRC_URI[md5sum] = "915a03cda85b60fefbe3654cbdc68ca9"
-SRC_URI[sha256sum] = "62cb73c6c009c9799c526f05a05e25f00f0ad86d50f82a714dedcfbf4a7e4176"
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${libdir}/pcsc/"
-FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.31.bb b/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.31.bb
new file mode 100644
index 00000000..de07bfd2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.31.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Generic USB CCID smart card reader driver"
+HOMEPAGE = "https://ccid.apdu.fr/"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "virtual/libusb0 pcsc-lite"
+RDEPENDS_${PN} = "pcsc-lite"
+
+SRC_URI = "https://ccid.apdu.fr/files/ccid-${PV}.tar.bz2 \
+ file://no-dep-on-libfl.patch \
+ file://0001-Add-build-rule-for-README.patch \
+"
+
+SRC_URI[md5sum] = "e4690f3362f95adb2332fd47a2b08212"
+SRC_URI[sha256sum] = "6b48d7b6e4390e038d25630f8664fe81618ab00f232d6efbe0e3cc6df28ce8f7"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${libdir}/pcsc/"
+FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb b/external/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb
new file mode 100644
index 00000000..ac463038
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
+AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
+HOMEPAGE = "http://ceres-solver.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=35e00f0c4c96a0820a03e0b31e6416be"
+
+DEPENDS = "libeigen glog"
+
+SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
+SRCREV = "facb199f3eda902360f9e1d5271372b7e54febe1"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# We don't want path to eigen3 in ceres-solver RSS to be
+# used by components which use CeresConfig.cmake from their
+# own RSS
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(Eigen3_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/share/eigen3/cmake)
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: list(APPEND EIGEN_INCLUDE_DIR_HINTS ceres-solver/1.14-r0/recipe-sysroot/usr/include/eigen3)
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog)
+SSTATE_SCAN_FILES += "*.cmake"
+
+PACKAGECONFIG ??= ""
+
+# suitesparse* recipes will be in meta-ros layer
+PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr"
+PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse"
+PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack"
+
+# Only a static library and headers are created
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb b/external/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb
deleted file mode 100644
index a62e5ef2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
-AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
-HOMEPAGE = "http://ceres-solver.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=35e00f0c4c96a0820a03e0b31e6416be"
-
-DEPENDS = "libeigen glog"
-
-SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
-SRCREV = "facb199f3eda902360f9e1d5271372b7e54febe1"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-# Only a static library and headers are created
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb b/external/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb
new file mode 100644
index 00000000..dd129cbe
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "C++11 command line parser"
+DESCRIPTION = "A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface."
+HOMEPAGE = "https://github.com/CLIUtils/CLI11"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b73927b18d5c6cd8d2ed28a6ad539733"
+SRCREV = "13becaddb657eacd090537719a669d66d393b8b2"
+PV .= "+git${SRCPV}"
+
+SRC_URI += "gitsm://github.com/CLIUtils/CLI11 \
+ file://0001-Add-CLANG_TIDY-check.patch \
+ file://0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+inherit ptest
+
+EXTRA_OECMAKE += "-DCLANG_TIDY=OFF"
+DEPENDS += "boost"
+
+# cli11 is a header only C++ library, so the main package will be empty.
+RDEPENDS_${PN}-dev = ""
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch b/external/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch
new file mode 100644
index 00000000..02b3c9bd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch
@@ -0,0 +1,25 @@
+From 902b251fd8d6408ee6623e7a92692948cf90187d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Feb 2019 13:22:21 -0800
+Subject: [PATCH] Add CLANG_TIDY check
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7073a0b..2dd2c02 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -60,7 +60,7 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
+ endif()
+ endif()
+
+- if(CMAKE_VERSION VERSION_GREATER 3.6)
++ if(CMAKE_VERSION VERSION_GREATER 3.6 AND CLANG_TIDY)
+ # Add clang-tidy if available
+ option(CLANG_TIDY_FIX "Perform fixes for Clang-Tidy" OFF)
+ find_program(
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch b/external/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch
new file mode 100644
index 00000000..4541cd92
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch
@@ -0,0 +1,39 @@
+From 8c51221f748bca1483fe1141e584867d2ff34a07 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 16:26:39 -0800
+Subject: [PATCH] Use GNUInstallDirs instead of hard-coded path
+
+Upstream-Status: Submitted [https://github.com/CLIUtils/CLI11/pull/373]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7073a0b..5236fd2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -120,17 +120,18 @@ endif()
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/CLI11ConfigVersion.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/CLI11ConfigVersion.cmake" @ONLY)
+
++include(GNUInstallDirs)
+ # These installs only make sense for a local project
+ if(CUR_PROJ)
+ # Make version available in the install
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CLI11ConfigVersion.cmake"
+- DESTINATION lib/cmake/CLI11)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CLI11)
+
+ # Install the export target as a file
+ install(EXPORT CLI11Targets
+ FILE CLI11Config.cmake
+ NAMESPACE CLI11::
+- DESTINATION lib/cmake/CLI11)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CLI11)
+
+ # Use find_package on the installed package
+ export(TARGETS CLI11
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cmark/cmark_git.bb b/external/meta-openembedded/meta-oe/recipes-support/cmark/cmark_git.bb
new file mode 100644
index 00000000..f74a39b5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/cmark/cmark_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "CommonMark parsing and rendering library and program in C"
+HOMEPAGE = "https://github.com/commonmark/cmark"
+LICENSE = "BSD-2-Clause & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=81f9cae6293cc0345a9144b78152ab62"
+
+SRC_URI = "git://github.com/commonmark/cmark.git"
+SRCREV = "8daa6b1495124f0b67e6034130e12d7be83e38bd"
+S = "${WORKDIR}/git"
+
+PV = "0.29.0"
+
+inherit cmake lib_package
+
+EXTRA_OECMAKE += " \
+ -DCMARK_TESTS=OFF \
+ -DCMARK_STATIC=OFF \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native.bb b/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native.bb
new file mode 100644
index 00000000..845041cc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native.bb
@@ -0,0 +1,64 @@
+require ${BPN}.inc
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-native:"
+
+inherit meson native
+
+DEPENDS += " \
+ meson-native \
+ glib-2.0-native \
+ lcms-native \
+"
+
+SRC_URI += " \
+ file://0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch \
+ file://Makefile;subdir=${BPN}-${PV} \
+"
+
+do_configure() {
+ # we expect meson to fail - but before it extracts project's version in log file
+ meson ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" ${MESON_CROSS_FILE} ${EXTRA_OEMESON} > /dev/null 2>&1 || true
+
+ # extract and split version
+ version=`grep 'Project version:' ${B}/meson-logs/meson-log.txt | sed 's|Project version: ||'`
+ major=`echo $version | cut -d. -f1`
+ minor=`echo $version | cut -d. -f2`
+ micro=`echo $version | cut -d. -f3`
+ echo "Project version: $major.$minor.$micro"
+
+ # extract project name
+ proj_name=`grep 'Project name:' ${B}/meson-logs/meson-log.txt | sed 's|Project name: ||'`
+
+ # create cd-version.h
+ mkdir -p ${B}/colord
+ sed ${S}/lib/colord/cd-version.h.in \
+ -e 's:@CD_MAJOR_VERSION_PRIVATE@:1:g' \
+ -e 's:@CD_MINOR_VERSION_PRIVATE@:4:g' \
+ -e 's:@CD_MICRO_VERSION_PRIVATE@:4:g' \
+ > ${B}/colord/cd-version.h
+
+ # create config.h based on target build and add what's necessary only
+ localedir=`echo ${datadir}/locale | sed 's:${prefix}/::g'`
+ echo "#define LOCALEDIR \"$localedir\"" >> ${B}/config.h
+ echo "#define GETTEXT_PACKAGE \"colord\"" >> ${B}/config.h
+ echo "#define PACKAGE_NAME \"$proj_name\"" >> ${B}/config.h
+ echo "#define PACKAGE_VERSION \"$version\"" >> ${B}/config.h
+}
+
+do_compile() {
+ oe_runmake -C${S} DESTDIR=${B}
+}
+
+do_install() {
+ version=`grep 'Project version:' ${B}/meson-logs/meson-log.txt | sed 's|Project version: ||'`
+ major=`echo $version | cut -d. -f1`
+
+ install -d ${D}${libdir}
+ install -m 755 ${B}/libcolord.so ${D}${libdir}/libcolord.so.$version
+ ln -s libcolord.so.$version "${D}/${libdir}/libcolord.so"
+ ln -s libcolord.so.$version "${D}/${libdir}/libcolord.so.$major"
+
+ install -d ${D}${bindir}
+ install -m 755 ${B}/cd_create_profile ${D}${bindir}/
+ install -m 755 ${B}/cd_idt8 ${D}${bindir}/
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch b/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch
new file mode 100644
index 00000000..278b90e0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch
@@ -0,0 +1,166 @@
+From cbb8f5c05fce1d56ae2e5fa9f57fc49c47bed5ab Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 12 May 2019 21:58:02 +0200
+Subject: [PATCH] Move the function cd_icc_create_from_edid to avoid udev
+ dependeny
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We do not have udev-native so it is a dependeny we cannot satisfy
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ lib/colord/cd-edid.c | 63 ++++++++++++++++++++++++++++++++++++++++++++
+ lib/colord/cd-icc.c | 62 -------------------------------------------
+ 2 files changed, 63 insertions(+), 62 deletions(-)
+
+diff --git a/lib/colord/cd-edid.c b/lib/colord/cd-edid.c
+index a5e2328..dec509a 100644
+--- a/lib/colord/cd-edid.c
++++ b/lib/colord/cd-edid.c
+@@ -687,3 +687,66 @@ cd_edid_new (void)
+ edid = g_object_new (CD_TYPE_EDID, NULL);
+ return CD_EDID (edid);
+ }
++
++/**
++ * cd_icc_create_from_edid_data:
++ * @icc: A valid #CdIcc
++ * @edid: EDID data
++ * @error: A #GError, or %NULL
++ *
++ * Creates an ICC profile from EDID data.
++ *
++ * Return value: %TRUE for success
++ *
++ * Since: 1.1.2
++ **/
++gboolean
++cd_icc_create_from_edid_data (CdIcc *icc, CdEdid *edid, GError **error)
++{
++ CdIccPrivate *priv = GET_PRIVATE (icc);
++ const gchar *data;
++
++ /* not loaded */
++ if (priv->lcms_profile != NULL) {
++ g_set_error_literal (error,
++ CD_ICC_ERROR,
++ CD_ICC_ERROR_FAILED_TO_CREATE,
++ "already loaded or generated");
++ return FALSE;
++ }
++
++ /* create from parsed object */
++ if (!cd_icc_create_from_edid (icc,
++ cd_edid_get_gamma (edid),
++ cd_edid_get_red (edid),
++ cd_edid_get_green (edid),
++ cd_edid_get_blue (edid),
++ cd_edid_get_white (edid),
++ error)) {
++ return FALSE;
++ }
++
++ /* set copyright */
++ cd_icc_set_copyright (icc, NULL,
++ /* deliberately not translated */
++ "This profile is free of known copyright restrictions.");
++
++ /* set 'ICC meta Tag for Monitor Profiles' data */
++ data = cd_edid_get_checksum (edid);
++ if (data != NULL)
++ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MD5, data);
++ data = cd_edid_get_monitor_name (edid);
++ if (data != NULL)
++ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MODEL, data);
++ data = cd_edid_get_serial_number (edid);
++ if (data != NULL)
++ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_SERIAL, data);
++ data = cd_edid_get_pnp_id (edid);
++ if (data != NULL)
++ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MNFT, data);
++ data = cd_edid_get_vendor_name (edid);
++ if (data != NULL)
++ cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_VENDOR, data);
++ return TRUE;
++}
++
+diff --git a/lib/colord/cd-icc.c b/lib/colord/cd-icc.c
+index f231814..2c8fe77 100644
+--- a/lib/colord/cd-icc.c
++++ b/lib/colord/cd-icc.c
+@@ -3094,68 +3094,6 @@ out:
+ return ret;
+ }
+
+-/**
+- * cd_icc_create_from_edid_data:
+- * @icc: A valid #CdIcc
+- * @edid: EDID data
+- * @error: A #GError, or %NULL
+- *
+- * Creates an ICC profile from EDID data.
+- *
+- * Return value: %TRUE for success
+- *
+- * Since: 1.1.2
+- **/
+-gboolean
+-cd_icc_create_from_edid_data (CdIcc *icc, CdEdid *edid, GError **error)
+-{
+- CdIccPrivate *priv = GET_PRIVATE (icc);
+- const gchar *data;
+-
+- /* not loaded */
+- if (priv->lcms_profile != NULL) {
+- g_set_error_literal (error,
+- CD_ICC_ERROR,
+- CD_ICC_ERROR_FAILED_TO_CREATE,
+- "already loaded or generated");
+- return FALSE;
+- }
+-
+- /* create from parsed object */
+- if (!cd_icc_create_from_edid (icc,
+- cd_edid_get_gamma (edid),
+- cd_edid_get_red (edid),
+- cd_edid_get_green (edid),
+- cd_edid_get_blue (edid),
+- cd_edid_get_white (edid),
+- error)) {
+- return FALSE;
+- }
+-
+- /* set copyright */
+- cd_icc_set_copyright (icc, NULL,
+- /* deliberately not translated */
+- "This profile is free of known copyright restrictions.");
+-
+- /* set 'ICC meta Tag for Monitor Profiles' data */
+- data = cd_edid_get_checksum (edid);
+- if (data != NULL)
+- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MD5, data);
+- data = cd_edid_get_monitor_name (edid);
+- if (data != NULL)
+- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MODEL, data);
+- data = cd_edid_get_serial_number (edid);
+- if (data != NULL)
+- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_SERIAL, data);
+- data = cd_edid_get_pnp_id (edid);
+- if (data != NULL)
+- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MNFT, data);
+- data = cd_edid_get_vendor_name (edid);
+- if (data != NULL)
+- cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_VENDOR, data);
+- return TRUE;
+-}
+-
+ /**
+ * cd_icc_create_from_edid:
+ * @icc: A valid #CdIcc
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native/Makefile b/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native/Makefile
new file mode 100644
index 00000000..1e29e4f6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/colord/colord-native/Makefile
@@ -0,0 +1,48 @@
+# For native build cd_idt8, cd_create_profile and a tiny version of libcolord.so
+# only. By reducing the library to what's necessary, we avoid dependencies on
+# naitve udev and libgudev
+
+CFLAGS+=$(shell pkg-config-native --cflags gio-2.0)
+CFLAGS+=$(shell pkg-config-native --cflags lcms2)
+CFLAGS+=-std=c99 -I./lib -I./lib/colord -I$(DESTDIR) -DCD_COMPILATION
+
+LDFLAGS+=$(shell pkg-config-native --libs gio-2.0)
+LDFLAGS+=$(shell pkg-config-native --libs lcms2)
+LDFLAGS+=-lm
+
+all: cd_idt8 cd_create_profile
+
+LIBSOURCES = \
+ lib/colord/cd-it8.c \
+ lib/colord/cd-color.c \
+ lib/colord/cd-spectrum.c \
+ lib/colord/cd-math.c \
+ lib/colord/cd-interp-akima.c \
+ lib/colord/cd-context-lcms.c \
+ lib/colord/cd-interp.c \
+ lib/colord/cd-interp-linear.c \
+ lib/colord/cd-it8-utils.c \
+ lib/colord/cd-enum.c \
+ lib/colord/cd-icc.c \
+ lib/colord/cd-icc-utils.c \
+ lib/colord/cd-dom.c
+
+libcolord.so: $(LIBSOURCES)
+ $(CC) $(CFLAGS) -L$(DESTDIR) -fPIC -shared -Wl,-soname,$@ $^ -o $(DESTDIR)/$@ $(LDFLAGS)
+
+cd_idt8.o: client/cd-it8.c
+ $(CC) $(CFLAGS) -c $^ -o $(DESTDIR)/$@
+
+cd_idt8: libcolord.so cd_idt8.o
+ $(CC) $(DESTDIR)/cd_idt8.o -o $(DESTDIR)/$@ -L$(DESTDIR) -lcolord $(LDFLAGS)
+
+cd_create_profile.o: client/cd-create-profile.c
+ $(CC) $(CFLAGS) -c $^ -o $(DESTDIR)/$@
+
+cd_create_profile: libcolord.so cd_create_profile.o
+ $(CC) $(DESTDIR)/cd_create_profile.o -o $(DESTDIR)/$@ -L$(DESTDIR) -lcolord $(LDFLAGS)
+
+.PHONY: clean
+
+clean:
+ rm -f $(DESTDIR)/libcolord.so $(DESTDIR)/*.o $(DESTDIR)/cd_idt8 $(DESTDIR)/cd_create_profile
diff --git a/external/meta-openembedded/meta-oe/recipes-support/colord/colord.bb b/external/meta-openembedded/meta-oe/recipes-support/colord/colord.bb
new file mode 100644
index 00000000..df86708e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/colord/colord.bb
@@ -0,0 +1,45 @@
+require ${BPN}.inc
+
+inherit meson gobject-introspection gsettings gettext bash-completion systemd features_check useradd
+
+# polkit and gobject-introspection are mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "polkit gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+DEPENDS += " \
+ ${BPN}-native \
+ glib-2.0 \
+ lcms \
+ sqlite3 \
+ libgusb \
+ libgudev \
+ polkit \
+"
+
+SRC_URI += " \
+ file://0001-Run-native-cd_idt8-cd_create_profile.patch \
+"
+
+EXTRA_OEMESON = " \
+ -Dman=false \
+ -Ddocs=false \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
+
+SYSTEMD_SERVICE_${PN} = "colord.service"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/polkit-1 \
+ ${datadir}/glib-2.0 \
+ ${datadir}/color \
+ ${systemd_user_unitdir} \
+ ${libdir}/tmpfiles.d \
+ ${libdir}/colord-plugins \
+ ${libdir}/colord-sensors \
+"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --user-group -d /var/lib/colord -s /bin/false colord"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/colord/colord.inc b/external/meta-openembedded/meta-oe/recipes-support/colord/colord.inc
new file mode 100644
index 00000000..7497fed5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/colord/colord.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Making color management just work"
+HOMEPAGE = "https://www.freedesktop.org/software/colord/"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://meson.build;beginline=3;endline=3;md5=f42198707d793be58b274d34fd5238c3 \
+"
+
+PV = "1.4.4"
+SRC_URI = "https://www.freedesktop.org/software/colord/releases/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "32c2709a6002d9ee750483aaed6379c8"
+SRC_URI[sha256sum] = "9a0fe80160bf88efddb582a9fc0169f56065276dc3882c47dddb9eecd048c0a5"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/colord/colord/0001-Run-native-cd_idt8-cd_create_profile.patch b/external/meta-openembedded/meta-oe/recipes-support/colord/colord/0001-Run-native-cd_idt8-cd_create_profile.patch
new file mode 100644
index 00000000..4b52aa33
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/colord/colord/0001-Run-native-cd_idt8-cd_create_profile.patch
@@ -0,0 +1,59 @@
+From 5aad8831c0fb71940d6c4f982b0b30ffb6ae33b3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 12 May 2019 22:47:05 +0200
+Subject: [PATCH] Run native cd_idt8/cd_create_profile
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ data/cmf/meson.build | 2 +-
+ data/illuminant/meson.build | 2 +-
+ data/profiles/meson.build | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/data/cmf/meson.build b/data/cmf/meson.build
+index a693cd7..1ae3613 100644
+--- a/data/cmf/meson.build
++++ b/data/cmf/meson.build
+@@ -2,7 +2,7 @@ foreach arg: [ 'CIE1964-10deg-XYZ', 'CIE1931-2deg-XYZ' ]
+ custom_target(arg,
+ input: arg + '.csv',
+ output: arg + '.cmf',
+- command: [ cd_idt8, 'create-cmf', '@OUTPUT@', '@INPUT@', '1.0' ],
++ command: [ 'cd_idt8', 'create-cmf', '@OUTPUT@', '@INPUT@', '1.0' ],
+ install: true,
+ install_dir: join_paths(datadir, 'colord', 'cmf')
+ )
+diff --git a/data/illuminant/meson.build b/data/illuminant/meson.build
+index f8dfa07..ad7dced 100644
+--- a/data/illuminant/meson.build
++++ b/data/illuminant/meson.build
+@@ -24,7 +24,7 @@ foreach arg: generated_spectra
+ custom_target(arg,
+ input: arg + '.csv',
+ output: arg + '.sp',
+- command: [ cd_idt8, 'create-sp', '@OUTPUT@', '@INPUT@', '100.0' ],
++ command: [ 'cd_idt8', 'create-sp', '@OUTPUT@', '@INPUT@', '100.0' ],
+ install: true,
+ install_dir: join_paths(datadir, 'colord', 'illuminant')
+ )
+diff --git a/data/profiles/meson.build b/data/profiles/meson.build
+index 591b97d..2cef011 100644
+--- a/data/profiles/meson.build
++++ b/data/profiles/meson.build
+@@ -59,7 +59,7 @@ foreach arg: icc_profiles
+ generated_icc = custom_target(arg + '.icc',
+ input: xml_i18n,
+ output: arg + '.icc',
+- command: [ cd_create_profile, '--output=@OUTPUT@', '@INPUT@' ],
++ command: [ 'cd_create_profile', '--output=@OUTPUT@', '@INPUT@' ],
+ install: true,
+ install_dir: join_paths(datadir, 'color', 'icc', 'colord'),
+ )
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch
deleted file mode 100644
index 3ae46a11..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Origin: upstream
-Bug: https://github.com/Microsoft/cpprestsdk/issues/950
-Last-Update: 2018-11-04
-
-Index: cpprest/Release/src/utilities/asyncrt_utils.cpp
-===================================================================
---- cpprest.orig/Release/src/utilities/asyncrt_utils.cpp
-+++ cpprest/Release/src/utilities/asyncrt_utils.cpp
-@@ -356,7 +356,7 @@
- inline size_t count_utf8_to_utf16(const std::string& s)
- {
- const size_t sSize = s.size();
-- auto sData = reinterpret_cast<const UtilCharInternal_t* const>(s.data());
-+ auto const sData = reinterpret_cast<const UtilCharInternal_t*>(s.data());
- size_t result{ sSize };
-
- for (size_t index = 0; index < sSize;)
-@@ -441,7 +441,7 @@
- {
- // Save repeated heap allocations, use the length of resulting sequence.
- const size_t srcSize = s.size();
-- auto srcData = reinterpret_cast<const UtilCharInternal_t* const>(s.data());
-+ auto const srcData = reinterpret_cast<const UtilCharInternal_t*>(s.data());
- utf16string dest(count_utf8_to_utf16(s), L'\0');
- utf16string::value_type* const destData = &dest[0];
- size_t destIndex = 0;
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
index 75f74ec6..3ff7f0dd 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
@@ -3,23 +3,23 @@ Author: Gianfranco Costamagna <locutusofborg@debian.org>
Last-Update: 2017-10-28
Forwarded: https://github.com/Microsoft/cpprestsdk/issues/576
---- casablanca-2.10.0.orig/Release/tests/functional/streams/istream_tests.cpp
-+++ casablanca-2.10.0/Release/tests/functional/streams/istream_tests.cpp
-@@ -1302,7 +1302,7 @@ void compare_float(float expected, float
- {
- compare_floating(expected, actual, FLT_EPSILON);
- }
--
-+/*
- TEST(extract_floating_point)
- {
- std::string test_string;
-@@ -1349,7 +1349,7 @@ TEST(extract_floating_point)
- VERIFY_ARE_EQUAL(1 / expected, 1 / actual);
- } while (!std_istream.eof());
- }
--
-+*/
- TEST(extract_floating_point_with_exceptions)
- {
- std::vector<std::pair<std::string, std::string>> tests;
+Index: cpprest/Release/tests/functional/streams/istream_tests.cpp
+===================================================================
+--- cpprest.orig/Release/tests/functional/streams/istream_tests.cpp
++++ cpprest/Release/tests/functional/streams/istream_tests.cpp
+@@ -1297,6 +1297,7 @@
+ void compare_double(double expected, double actual) { compare_floating(expected, actual, DBL_EPSILON); }
+ void compare_float(float expected, float actual) { compare_floating(expected, actual, FLT_EPSILON); }
+
++ /*
+ TEST(extract_floating_point)
+ {
+ std::string test_string;
+@@ -1343,6 +1344,7 @@
+ if (expected == 0) VERIFY_ARE_EQUAL(1 / expected, 1 / actual);
+ } while (!std_istream.eof());
+ }
++ */
+
+ TEST(extract_floating_point_with_exceptions)
+ {
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
index 2dff0d97..5f1f8a9f 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
@@ -6,10 +6,10 @@ Forwarded: not-needed
Reviewed-By: Gianfranco Costamagna <locutusofborg@debian.org>
Last-Update: 2015-11-25
-Index: casablanca/Release/tests/functional/http/client/CMakeLists.txt
+Index: cpprest/Release/tests/functional/http/client/CMakeLists.txt
===================================================================
---- casablanca.orig/Release/tests/functional/http/client/CMakeLists.txt
-+++ casablanca/Release/tests/functional/http/client/CMakeLists.txt
+--- cpprest.orig/Release/tests/functional/http/client/CMakeLists.txt
++++ cpprest/Release/tests/functional/http/client/CMakeLists.txt
@@ -12,7 +12,6 @@
multiple_requests.cpp
oauth1_tests.cpp
@@ -18,125 +18,110 @@ Index: casablanca/Release/tests/functional/http/client/CMakeLists.txt
pipeline_stage_tests.cpp
progress_handler_tests.cpp
proxy_tests.cpp
-Index: casablanca/Release/tests/functional/http/client/authentication_tests.cpp
+Index: cpprest/Release/tests/functional/http/client/authentication_tests.cpp
===================================================================
---- casablanca.orig/Release/tests/functional/http/client/authentication_tests.cpp
-+++ casablanca/Release/tests/functional/http/client/authentication_tests.cpp
-@@ -663,15 +663,19 @@
- VERIFY_ARE_EQUAL(return_code, response.status_code());
- }
+--- cpprest.orig/Release/tests/functional/http/client/authentication_tests.cpp
++++ cpprest/Release/tests/functional/http/client/authentication_tests.cpp
+@@ -675,9 +675,9 @@
+ VERIFY_ARE_EQUAL(return_code, response.status_code());
+ }
-+/*
- TEST(auth_no_data)
- {
- auth_test_impl(false);
- }
-+*/
+- TEST(auth_no_data) { auth_test_impl(false); }
++ //TEST(auth_no_data) { auth_test_impl(false); }
-+/*
- TEST(unsuccessful_auth_with_basic_cred)
- {
- auth_test_impl(true);
- }
-+*/
+- TEST(unsuccessful_auth_with_basic_cred) { auth_test_impl(true); }
++ //TEST(unsuccessful_auth_with_basic_cred) { auth_test_impl(true); }
+
+ TEST_FIXTURE(uri_address, set_user_options_asio_http)
+ {
+@@ -695,6 +695,7 @@
+ VERIFY_ARE_EQUAL(200, response.status_code());
+ }
+
++ /*
+ TEST_FIXTURE(uri_address, set_user_options_asio_https)
+ {
+ handle_timeout([] {
+@@ -714,6 +715,7 @@
+ VERIFY_IS_FALSE(v.empty());
+ });
+ }
++ */
- TEST_FIXTURE(uri_address, set_user_options_asio_http)
- {
-@@ -692,7 +696,7 @@
- auto response = client.request(methods::GET).get();
- VERIFY_ARE_EQUAL(200, response.status_code());
- }
--
-+/*
- TEST_FIXTURE(uri_address, set_user_options_asio_https)
- {
- handle_timeout([]
-@@ -714,7 +718,7 @@
- VERIFY_IS_FALSE(v.empty());
- });
- }
--
-+*/
#endif
- } // SUITE(authentication_tests)
-Index: casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp
+Index: cpprest/Release/tests/functional/websockets/client/authentication_tests.cpp
===================================================================
---- casablanca.orig/Release/tests/functional/websockets/client/authentication_tests.cpp
-+++ casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp
-@@ -86,7 +86,7 @@
- }
- return false;
- }
--
-+/*
- TEST(ssl_test)
- {
- websocket_client client;
-@@ -122,7 +122,7 @@
- throw;
+--- cpprest.orig/Release/tests/functional/websockets/client/authentication_tests.cpp
++++ cpprest/Release/tests/functional/websockets/client/authentication_tests.cpp
+@@ -93,6 +93,7 @@ SUITE(authentication_tests)
+ return false;
}
- }
--
-+*/
- // These tests are specific to our websocketpp based implementation.
- #if !defined(__cplusplus_winrt)
-@@ -153,14 +153,15 @@
- throw;
++ /*
+ TEST(ssl_test)
+ {
+ websocket_client client;
+@@ -127,6 +128,7 @@ SUITE(authentication_tests)
+ throw;
+ }
}
- }
--
-+/*
- // Test specifically for server SignalR team hit interesting cases with.
- TEST(sni_with_older_server_test)
- {
- websocket_client client;
- sni_test_impl(client);
- }
--
-+*/
-+/*
- // WinRT doesn't expose option for disabling.
- // No stable server is available to reliably test this.
- // The configuration below relies on a timeout in the success case.
-@@ -188,7 +189,8 @@
- throw;
++ */
+
+ void handshake_error_test_impl(const ::utility::string_t& host)
+ {
+@@ -148,11 +150,11 @@ SUITE(authentication_tests)
+ }
}
- }
--
-+*/
-+/*
- // Winrt doesn't allow explicitly setting server host for SNI.
- TEST(sni_explicit_hostname)
- {
-@@ -199,7 +201,7 @@
- websocket_client client(config);
- sni_test_impl(client);
- }
--
-+*/
- void handshake_error_test_impl(const ::utility::string_t &host)
- {
- websocket_client client;
-Index: casablanca/Release/tests/functional/http/client/connections_and_errors.cpp
+
+- TEST(self_signed_cert) { handshake_error_test_impl(U("wss://self-signed.badssl.com/")); }
++ //TEST(self_signed_cert) { handshake_error_test_impl(U("wss://self-signed.badssl.com/")); }
+
+- TEST(hostname_mismatch) { handshake_error_test_impl(U("wss://wrong.host.badssl.com/")); }
++ //TEST(hostname_mismatch) { handshake_error_test_impl(U("wss://wrong.host.badssl.com/")); }
+
+- TEST(cert_expired) { handshake_error_test_impl(U("wss://expired.badssl.com/")); }
++ //TEST(cert_expired) { handshake_error_test_impl(U("wss://expired.badssl.com/")); }
+
+ } // SUITE(authentication_tests)
+
+Index: cpprest/Release/tests/functional/http/client/connections_and_errors.cpp
===================================================================
---- casablanca.orig/Release/tests/functional/http/client/connections_and_errors.cpp
-+++ casablanca/Release/tests/functional/http/client/connections_and_errors.cpp
-@@ -415,6 +415,7 @@
- }
+--- cpprest.orig/Release/tests/functional/http/client/connections_and_errors.cpp
++++ cpprest/Release/tests/functional/http/client/connections_and_errors.cpp
+@@ -408,6 +408,7 @@
+ }
#endif
-+/*
- // Try to connect to a server on a closed port and cancel the operation.
- TEST_FIXTURE(uri_address, cancel_bad_port)
- {
-@@ -446,7 +447,7 @@
++ /*
+ // Try to connect to a server on a closed port and cancel the operation.
+ TEST_FIXTURE(uri_address, cancel_bad_port)
+ {
+@@ -439,6 +440,7 @@
+
+ VERIFY_THROWS_HTTP_ERROR_CODE(t.get(), std::errc::operation_canceled);
+ }
++ */
- VERIFY_THROWS_HTTP_ERROR_CODE(t.get(), std::errc::operation_canceled);
- }
--
-+*/
} // SUITE(connections_and_errors)
- }}}}
+--- cpprest-2.10.16.orig/Release/tests/functional/http/client/redirect_tests.cpp
++++ cpprest-2.10.16/Release/tests/functional/http/client/redirect_tests.cpp
+@@ -159,7 +159,7 @@ SUITE(redirect_tests)
+ VERIFY_NO_THROWS(reply.get());
+ }
+ }
+-
++/*
+ TEST(does_not_follow_https_to_http_by_default)
+ {
+ handle_timeout([] {
+@@ -182,7 +182,7 @@ SUITE(redirect_tests)
+ );
+ });
+ }
+-
++*/
+ TEST_FIXTURE(uri_address, follows_permanent_redirect)
+ {
+ #if USING_WINHTTP
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch
deleted file mode 100644
index 93c3e8a2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Description: Some tests takes too long on slow architectures and timeouts
- We can safely disable them.
- e.g.
- Release/tests/functional/http/client/connections_and_errors.cpp:142: error: Failure in request_timeout_microsecond: Test case timed out and is hung. Aborting all remaining test cases. Expected under 180000ms. FAILED
-
-Index: casablanca/Release/tests/functional/http/client/connections_and_errors.cpp
-===================================================================
---- casablanca.orig/Release/tests/functional/http/client/connections_and_errors.cpp
-+++ casablanca/Release/tests/functional/http/client/connections_and_errors.cpp
-@@ -127,7 +127,7 @@
- // Try sending another request.
- VERIFY_THROWS(client.request(methods::GET).wait(), web::http::http_exception);
- }
--
-+/*
- TEST_FIXTURE(uri_address, request_timeout)
- {
- test_http_server::scoped_server scoped(m_uri);
-@@ -146,7 +146,8 @@
- #endif
- t.get();
- }
--
-+*/
-+/*
- TEST_FIXTURE(uri_address, request_timeout_microsecond)
- {
- pplx::task<test_request*> t;
-@@ -168,7 +169,7 @@
- try { t.get(); }
- catch (...) {}
- }
--
-+*/
- TEST_FIXTURE(uri_address, invalid_method)
- {
- web::http::uri uri(U("http://www.bing.com/"));
-Index: casablanca/Release/tests/functional/http/listener/requests_tests.cpp
-===================================================================
---- casablanca.orig/Release/tests/functional/http/listener/requests_tests.cpp
-+++ casablanca/Release/tests/functional/http/listener/requests_tests.cpp
-@@ -173,7 +173,7 @@
-
- listener.close().wait();
- }
--
-+/*
- TEST_FIXTURE(uri_address, response_order)
- {
- http_listener listener(m_uri);
-@@ -217,7 +217,7 @@
-
- listener.close().wait();
- }
--
-+*/
- TEST_FIXTURE(uri_address, uri_encoding, "Ignore", "Codeplex 201")
- {
- http_listener listener(m_uri);
-Index: casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp
-===================================================================
---- casablanca.orig/Release/tests/functional/websockets/client/authentication_tests.cpp
-+++ casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp
-@@ -221,7 +221,7 @@
- VERIFY_ARE_EQUAL("TLS handshake failed", e.error_code().message());
- }
- }
--
-+/*
- TEST(self_signed_cert)
- {
- handshake_error_test_impl(U("wss://self-signed.badssl.com/"));
-@@ -236,7 +236,7 @@
- {
- handshake_error_test_impl(U("wss://expired.badssl.com/"));
- }
--
-+*/
- #endif
-
- } // SUITE(authentication_tests)
-Index: casablanca/Release/tests/functional/websockets/client/client_construction.cpp
-===================================================================
---- casablanca.orig/Release/tests/functional/websockets/client/client_construction.cpp
-+++ casablanca/Release/tests/functional/websockets/client/client_construction.cpp
-@@ -81,7 +81,7 @@
- VERIFY_ARE_EQUAL(config2.credentials().username(), cred.username());
- }
-
--
-+/*
- // Verify that we can get the baseuri from websocket_client connect.
- TEST_FIXTURE(uri_address, uri_test)
- {
-@@ -101,7 +101,7 @@
- VERIFY_ARE_EQUAL(client2.uri(), m_uri);
- client2.close().wait();
- }
--
-+*/
- TEST_FIXTURE(uri_address, move_operations)
- {
- std::string body("hello");
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch
deleted file mode 100644
index e6f64772..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Description: Find system brotli
-Author: Gianfranco Costamagna <locutusofborg@debian.org>
-Forwarded: https://github.com/Microsoft/cpprestsdk/pull/952
-Last-Update: 2018-11-05
-
---- cpprest-2.10.7.orig/Release/cmake/cpprest_find_brotli.cmake
-+++ cpprest-2.10.7/Release/cmake/cpprest_find_brotli.cmake
-@@ -3,8 +3,17 @@ function(cpprest_find_brotli)
- return()
- endif()
-
-- find_package(unofficial-brotli REQUIRED)
-
-- add_library(cpprestsdk_brotli_internal INTERFACE)
-- target_link_libraries(cpprestsdk_brotli_internal INTERFACE unofficial::brotli::brotlienc unofficial::brotli::brotlidec unofficial::brotli::brotlicommon)
-+ find_package(PkgConfig)
-+ pkg_check_modules(BROTLIENC libbrotlienc)
-+ pkg_check_modules(BROTLIDEC libbrotlidec)
-+ if(BROTLIDEC_FOUND AND BROTLIENC_FOUND)
-+ target_link_libraries(cpprest PRIVATE ${BROTLIDEC_LDFLAGS} ${BROTLIENC_LDFLAGS})
-+ else(BROTLIDEC_FOUND AND BROTLIENC_FOUND)
-+ find_package(unofficial-brotli REQUIRED)
-+ add_library(cpprestsdk_brotli_internal INTERFACE)
-+ target_link_libraries(cpprestsdk_brotli_internal INTERFACE unofficial::brotli::brotlienc unofficial::brotli::brotlidec unofficial::brotli::brotlicommon)
-+ target_link_libraries(cpprest PRIVATE cpprestsdk_brotli_internal)
-+ endif(BROTLIDEC_FOUND AND BROTLIENC_FOUND)
-+
- endfunction()
---- cpprest-2.10.7.orig/Release/src/CMakeLists.txt
-+++ cpprest-2.10.7/Release/src/CMakeLists.txt
-@@ -84,7 +84,6 @@ else()
- target_compile_definitions(cpprest PRIVATE -DCPPREST_EXCLUDE_BROTLI=1)
- else()
- cpprest_find_brotli()
-- target_link_libraries(cpprest PRIVATE cpprestsdk_brotli_internal)
- endif()
- endif()
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.16.bb b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.16.bb
new file mode 100644
index 00000000..5d7dbd8b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.16.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design."
+SECTION = "libs/network"
+HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/license.txt;md5=a2e15b954769218ff912468eecd6a02f"
+DEPENDS = "openssl websocketpp zlib boost brotli"
+
+EXTRA_OECMAKE = "-DCPPREST_EXPORT_DIR=cmake/cpprestsdk -DCPPREST_EXCLUDE_BROTLI=OFF -DWERROR=OFF"
+
+SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \
+ file://disable-float-tests.patch \
+ file://disable-outside-tests.patch "
+
+# tag 2.10.16
+SRCREV= "18212a2a7967e12d740bfb957e500892b3463c88"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.7.bb b/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.7.bb
deleted file mode 100644
index 5cc6385d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.7.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design."
-SECTION = "libs/network"
-HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/license.txt;md5=a2e15b954769218ff912468eecd6a02f"
-DEPENDS = "openssl websocketpp zlib boost brotli"
-
-EXTRA_OECMAKE = "-DCPPREST_EXPORT_DIR=cmake -DCPPREST_EXCLUDE_BROTLI=OFF"
-
-SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \
- file://disable-outside-tests.patch \
- file://disable-test-timeouts.patch \
- file://disable-float-tests.patch \
- file://950-fix.patch \
- file://system-brotli.patch \
- "
-
-# tag 2.10.7
-SRCREV= "c4cef129e880a3f9c23a480e8c983793963173bb"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
diff --git a/external/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb b/external/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb
index 4790883a..c7663278 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb
@@ -1,14 +1,14 @@
SUMMARY = "A tool to run a command as a daemon"
HOMEPAGE = "http://software.clapper.org/daemonize/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3cf9084faa88bc8554a9139d8d7dd35f"
-PV = "1.7.7+git${SRCPV}"
+PV = "1.7.8"
inherit autotools
-SRCREV = "6b10308b13c13e7b911e75e27bf7e65c30d58799"
+SRCREV = "18869a797dab12bf1c917ba3b4782fef484c407c"
SRC_URI = "git://github.com/bmc/daemonize.git \
- file://fix-ldflags-for-gnuhash.patch"
+"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/daemonize/files/fix-ldflags-for-gnuhash.patch b/external/meta-openembedded/meta-oe/recipes-support/daemonize/files/fix-ldflags-for-gnuhash.patch
deleted file mode 100644
index 4fa2ee1b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/daemonize/files/fix-ldflags-for-gnuhash.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Add the LDFLAGS to the final link to avoid errors with missing GNU_HASH
-
-Upstream-Status: Submitted [https://github.com/bmc/daemonize/pull/22]
-
-Signed-off-by: Derek Straka <derek@asterius.io>
-
-diff --git a/Makefile.in b/Makefile.in
-index 8a4d078..40d3dee 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -24,10 +24,10 @@ LDFLAGS = @LDFLAGS@
- all: daemonize
-
- daemonize: daemonize.o getopt.o $(MISSING_OBJECTS)
-- $(CC) $(CFLAGS) -o $@ $^
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
-
- testdaemon: testdaemon.o
-- $(CC) $(CFLAGS) -o $@ $^
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
-
- psman: daemonize.ps
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch b/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch
deleted file mode 100644
index 8d9577d5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a43a3327ccd4b06a3bcf0c87d518a97c6b39ac02 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Sat, 6 Aug 2016 02:09:53 +0900
-Subject: [PATCH] daemontools: Fix a warning
-
-To fix the warning as following:
-
-WARNING: daemontools-native-0.76-r0 do_populate_sysroot: File '/build-poky/tmp/sysroots/x86_64-linux/usr/bin/chkshsgr' from daemontools-native was already stripped, this will prevent future debugging!
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- src/conf-ld | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/conf-ld b/src/conf-ld
-index 59a0de7..1d0518a 100644
---- a/src/conf-ld
-+++ b/src/conf-ld
-@@ -1,3 +1,3 @@
--gcc -s
-+gcc
-
- This will be used to link .o files into an executable.
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch b/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
index f164c2d1..9c07d758 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
@@ -30,7 +30,7 @@ diff -Nurp daemontools-0.76.orig/src/Makefile daemontools-0.76/src/Makefile
hasshsgr.h: chkshsgr choose compile hasshsgr.h1 hasshsgr.h2 load \
tryshsgr.c warn-shsgr
- ./chkshsgr || ( cat warn-shsgr; exit 1 )
-+ chkshsgr || ( cat warn-shsgr; exit 1 )
++ echo "Warning: We can not run test on cross target. - ignoring ./chkshsgr || ( cat warn-shsgr; exit 1 )"
./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h
haswaitp.h: choose compile haswaitp.h1 haswaitp.h2 load trywaitp.c
@@ -39,7 +39,7 @@ diff -Nurp daemontools-0.76.orig/src/Makefile daemontools-0.76/src/Makefile
readproctitle rts.tests setlock setuidgid softlimit supervise svc \
svok svscan svscanboot svstat tai64n tai64nlocal
- env - /bin/sh rts.tests 2>&1 | cat -v > rts
-+ echo "Warning: We can not run test on cross target."
++ echo "Warning: We can not run test on cross target. - ignoring env - /bin/sh rts.tests 2>&1 | cat -v > rts"
scan_ulong.o: compile scan.h scan_ulong.c
./compile scan_ulong.c
diff --git a/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
index 84e9bca0..f0c5f7d7 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
@@ -12,25 +12,20 @@ data."
SECTION = "System/Servers"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/PD;md5=b3597d12946881e13cb3b548d1173851"
+LIC_FILES_CHKSUM = "file://src/prot.c;beginline=1;endline=1;md5=96964cadf07e8f8c1e2ffb3b507dd647"
LICENSE = "PD"
SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \
- file://0001-error.h-include-errno.h-instead-of-extern-int.diff \
- file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff "
-
-SRC_URI_append_class-target = "file://cross-compile.patch \
- file://0001-daemontools-Fix-QA-Issue.patch "
-
-SRC_URI_append_class-native = "file://0001-daemontools-native-Fix-a-warning.patch "
+ file://0001-error.h-include-errno.h-instead-of-extern-int.diff \
+ file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff \
+ file://cross-compile.patch \
+ file://0001-daemontools-Fix-QA-Issue.patch \
+"
SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc"
SRC_URI[sha256sum] = "a55535012b2be7a52dcd9eccabb9a198b13be50d0384143bd3b32b8710df4c1f"
-S = "${WORKDIR}/admin/${BPN}-${PV}"
-
-DEPENDS += "daemontools-native"
-DEPENDS_class-native = ""
+S = "${WORKDIR}/admin/${BP}"
do_compile() {
./package/compile
@@ -40,12 +35,10 @@ do_install() {
install -d ${D}/${bindir}
}
-do_install_append_class-native() {
- install -m 755 ${S}/compile/chkshsgr ${D}/${bindir}
-}
-
do_install_append_class-target() {
install -m755 ${S}/command/* ${D}/${bindir}
}
-BBCLASSEXTEND = "native"
+inherit update-alternatives
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "svc svok"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb b/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
index aeca23bf..feb16fa7 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
@@ -4,12 +4,22 @@ inherit native deploy
DEPENDS = "libusb1-native"
-SRC_URI += "file://0001-Revert-Makefile.am-Drop-static-dfu-util.patch"
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[static] = "CFLAGS='${CFLAGS} -pthread -static',,"
-do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
do_deploy() {
- install -m 0755 src/dfu-util_static ${DEPLOYDIR}/dfu-util-${PV}
+ install -m 0755 src/dfu-util ${DEPLOYDIR}/dfu-util-${PV}
rm -f ${DEPLOYDIR}/dfu-util
ln -sf ./dfu-util-${PV} ${DEPLOYDIR}/dfu-util
}
+
addtask deploy before do_package after do_install
+
+do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
+# cleandirs should possibly be in deploy.bbclass but we need it
+do_deploy[cleandirs] = "${DEPLOYDIR}"
+# clear stamp-extra-info since MACHINE_ARCH is normally put there by
+# deploy.bbclass
+do_deploy[stamp-extra-info] = ""
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch b/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch
deleted file mode 100644
index 1c6ad080..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From c2aab3b9ae1febcb6b4c6561a59df1930a57b394 Mon Sep 17 00:00:00 2001
-From: Martin JaMa Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 11 Aug 2011 11:19:52 +0200
-Subject: [PATCH] Revert "Makefile.am: Drop static dfu-util"
-
-This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071.
-
-Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 2 +-
- src/Makefile.am | 22 +++++++++++++++++++++-
- 2 files changed, 22 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f5a43b8..6a3757e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -21,7 +21,7 @@ AS_IF([test x$native_libusb = xno], [
- AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***]))
- ])
-
--LIBS="$LIBS $USB_LIBS"
-+LIBS="$LIBS $USB_LIBS -lpthread"
- CFLAGS="$CFLAGS $USB_CFLAGS"
-
- # Checks for header files.
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 70179c4..e8736ee 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,6 +1,6 @@
- AM_CFLAGS = -Wall -Wextra
-
--bin_PROGRAMS = dfu-util dfu-suffix dfu-prefix
-+bin_PROGRAMS = dfu-util dfu-util_static dfu-suffix dfu-prefix
- dfu_util_SOURCES = main.c \
- portable.h \
- dfu_load.c \
-@@ -19,6 +19,26 @@ dfu_util_SOURCES = main.c \
- quirks.c \
- quirks.h
-
-+dfu_util_static_SOURCES = main.c \
-+ portable.h \
-+ dfu_load.c \
-+ dfu_load.h \
-+ dfu_util.c \
-+ dfu_util.h \
-+ dfuse.c \
-+ dfuse.h \
-+ dfuse_mem.c \
-+ dfuse_mem.h \
-+ dfu.c \
-+ dfu.h \
-+ usb_dfu.h \
-+ dfu_file.c \
-+ dfu_file.h \
-+ quirks.c \
-+ quirks.h
-+
-+dfu_util_static_LDFLAGS = -static
-+
- dfu_suffix_SOURCES = suffix.c \
- dfu_file.h \
- dfu_file.c
---
-2.7.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb b/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
index 76e1552c..8a2ac693 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
@@ -1,15 +1,13 @@
DESCRIPTION = "USB Device Firmware Upgrade utility"
+AUTHOR = "Harald Welte <laforge@openmoko.org>"
HOMEPAGE = "http://dfu-util.sourceforge.net"
SECTION = "devel"
-AUTHOR = "Harald Welte <laforge@openmoko.org>"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "http://dfu-util.gnumonks.org/releases/${BP}.tar.gz"
-
-inherit autotools pkgconfig
-
DEPENDS = "libusb1"
+SRC_URI = "http://dfu-util.sourceforge.net/releases/${BP}.tar.gz"
SRC_URI[md5sum] = "233bb1e08ef4b405062445d84e28fde6"
SRC_URI[sha256sum] = "36428c6a6cb3088cad5a3592933385253da5f29f2effa61518ee5991ea38f833"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb b/external/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb
new file mode 100644
index 00000000..cfbb2caa
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb
@@ -0,0 +1,24 @@
+SUMMARY = "dhex is a hex editor that includes a diff mode"
+SECTION = "console/utils"
+
+DEPENDS = "ncurses"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://README.txt;beginline=229;endline=241;md5=6f252a421b65bcecf624382ba3c899da"
+
+SRC_URI = "http://www.dettus.net/dhex/dhex_0.69.tar.gz"
+SRC_URI[md5sum] = "64d557437fe110c19f23ed3e9bbcdd54"
+SRC_URI[sha256sum] = "52730bcd1cf16bd4dae0de42531be9a4057535ec61ca38c0804eb8246ea6c41b"
+
+S = "${WORKDIR}/dhex_${PV}"
+
+EXTRA_OEMAKE += "'CC=${CC}' 'LDFLAGS=${LDFLAGS}' 'CPPFLAGS=${CPPFLAGS}'"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -m 0755 -d ${D}${bindir}
+ install -m 0755 ${S}/dhex ${D}${bindir}/
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb b/external/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb
new file mode 100644
index 00000000..9fcc278d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "read temperature sensors in a 1-Wire net"
+SECTION = "util"
+DEPENDS = "libusb1"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
+
+SRC_URI = "git://github.com/bcl/digitemp"
+
+SRCREV = "a162e63aad35358aab325388f3d5e88121606419"
+
+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/external/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb b/external/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb
deleted file mode 100644
index 460aa143..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat/0001-change-dstat-to-python3.patch b/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat/0001-change-dstat-to-python3.patch
new file mode 100644
index 00000000..06a8498f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat/0001-change-dstat-to-python3.patch
@@ -0,0 +1,89 @@
+From ce0528cb48666843fed2ad10ece5ecb0ac0b8cf8 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Fri, 15 May 2020 12:38:49 +0900
+Subject: [PATCH] change dstat to python3.
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ dstat | 2 +-
+ examples/curstest | 2 +-
+ examples/devtest.py | 2 +-
+ examples/mmpipe.py | 2 +-
+ examples/mstat.py | 2 +-
+ examples/read.py | 2 +-
+ examples/tdbtest | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/dstat b/dstat
+index 9359965..f250f06 100755
+--- a/dstat
++++ b/dstat
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ ### This program is free software; you can redistribute it and/or
+ ### modify it under the terms of the GNU General Public License
+diff --git a/examples/curstest b/examples/curstest
+index afc4e70..d720cca 100755
+--- a/examples/curstest
++++ b/examples/curstest
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ import curses, sys
+
+ #c = curses.wrapper(s)
+diff --git a/examples/devtest.py b/examples/devtest.py
+index 0e9e969..e53babd 100755
+--- a/examples/devtest.py
++++ b/examples/devtest.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+
+ import sys
+ sys.path.insert(0, '/usr/share/dstat/')
+diff --git a/examples/mmpipe.py b/examples/mmpipe.py
+index 5c93567..f91515f 100755
+--- a/examples/mmpipe.py
++++ b/examples/mmpipe.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ import select, sys, os
+
+ def readpipe(file, tmout = 0.001):
+diff --git a/examples/mstat.py b/examples/mstat.py
+index abf4d07..ac157e4 100755
+--- a/examples/mstat.py
++++ b/examples/mstat.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+
+ ### Example2: simple sub-second monitor (ministat)
+
+diff --git a/examples/read.py b/examples/read.py
+index 556b7ae..a925109 100755
+--- a/examples/read.py
++++ b/examples/read.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+
+ ### Example 1: Direct accessing stats
+ ### This is a quick example showing how you can access dstat data
+diff --git a/examples/tdbtest b/examples/tdbtest
+index 528a8ea..ae7fef9 100755
+--- a/examples/tdbtest
++++ b/examples/tdbtest
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ import sys, tdb
+
+ db = tdb.tdb('/var/cache/samba/connections.tdb')
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb b/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
deleted file mode 100644
index 18af738f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "versatile resource statics tool"
-DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \
-Dstat overcomes some of their limitations and adds some extra features, more counters \
-and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \
-benchmarks or troubleshooting."
-HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS += "asciidoc-native xmlto-native"
-
-SRC_URI = "git://github.com/dagwieers/dstat.git"
-
-SRCREV = "ebace6d4177f8748f35cec87f7a49946046b0a20"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-}
-
-RDEPENDS_${PN} += "python-core python-misc python-resource python-shell python-unixadmin"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb b/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
new file mode 100644
index 00000000..74af54ca
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
@@ -0,0 +1,24 @@
+SUMMARY = "versatile resource statics tool"
+DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \
+Dstat overcomes some of their limitations and adds some extra features, more counters \
+and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \
+benchmarks or troubleshooting."
+HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "asciidoc-native xmlto-native"
+
+SRC_URI = "git://github.com/dagwieers/dstat.git \
+ file://0001-change-dstat-to-python3.patch \
+ "
+
+SRCREV = "6f5db0aed26bf8cf2700d4ffe90a9bd3436ac728"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+RDEPENDS_${PN} += "python3-core python3-misc python3-resource python3-shell python3-unixadmin"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/epeg/epeg_git.bb b/external/meta-openembedded/meta-oe/recipes-support/epeg/epeg_git.bb
index 6b23bbf7..8ca57401 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/epeg/epeg_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/epeg/epeg_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e7732a9290ea1e4b034fdc15cf49968d \
DEPENDS = "jpeg libexif"
SRC_URI = "git://github.com/mattes/epeg.git"
-SRCREV = "337f55346425fbf2d283e794b702318ef2a74bcb"
+SRCREV = "9a175cd67eaa61fe45413d8da82da72936567047"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb b/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb
deleted file mode 100644
index a4e5d14d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require espeak.inc
-
-inherit native
-
-PACKAGES = "${PN}"
-FILES_${PN} = "${layout_datadir}"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-TARGET_ARCH = "${MACHINE_ARCH}"
-
-do_compile() {
- # Fixing byte order of phoneme data files
- cd "${S}/platforms/big_endian"
- sed -i '/^ *CC *=/d' Makefile
- sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c
- oe_runmake
- ./espeak-phoneme-data "${S}/espeak-data" "." "${S}/espeak-data/phondata-manifest"
- cp -f phondata phonindex phontab "${S}/espeak-data"
-}
-
-do_install() {
- install -d ${D}${layout_datadir}/espeak-data
- install -m 0644 ${S}/espeak-data/phon* ${D}${layout_datadir}/espeak-data
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc b/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc
deleted file mode 100644
index f45455c7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "eSpeak is a compact open source software speech synthesizer"
-SECTION = "base"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c"
-
-SRC_URI = "http://downloads.sourceforge.net/espeak/espeak-1.48.04-source.zip \
- file://0001-Fix-build-of-shared-library-on-architectures-needing.patch \
- file://espeak-1.48-gcc-6-fix.patch \
-"
-SRC_URI[md5sum] = "cadd7482eaafe9239546bdc09fa244c3"
-SRC_URI[sha256sum] = "bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b207f0659"
-
-S = "${WORKDIR}/espeak-${PV}-source"
-
-DEPENDS = "portaudio-v19"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb b/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
index 57e30f07..78f8f85c 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
@@ -1,8 +1,20 @@
-require espeak.inc
-inherit siteinfo
+DESCRIPTION = "eSpeak is a compact open source software speech synthesizer"
+SECTION = "base"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c"
+
+SRC_URI = "http://downloads.sourceforge.net/espeak/espeak-1.48.04-source.zip \
+ file://0001-Fix-build-of-shared-library-on-architectures-needing.patch \
+ file://0002-tr_languages-cast-string_ordinal-init-values.patch \
+"
+SRC_URI[md5sum] = "cadd7482eaafe9239546bdc09fa244c3"
+SRC_URI[sha256sum] = "bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b207f0659"
+
+S = "${WORKDIR}/espeak-${PV}-source"
+
+DEPENDS = "portaudio-v19 qemu-helper-native"
+inherit siteinfo qemu
-EXTRA_PHONEMES = '${@bb.utils.contains("SITEINFO_ENDIANNESS", "be", "espeak-data (= ${PV})", "", d)}'
-RDEPENDS_${PN} = "portaudio-v19 ${EXTRA_PHONEMES}"
CXXFLAGS += "-DUSE_PORTAUDIO"
TARGET_CC_ARCH += "${LDFLAGS}"
@@ -11,12 +23,30 @@ FILES_${PN} += "${datadir}/espeak-data"
do_configure() {
# "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19, use V19
- cp "${S}/src/portaudio19.h" "${S}/src/portaudio.h"
+ install -m 0644 "${S}/src/portaudio19.h" "${S}/src/portaudio.h"
}
do_compile() {
cd src
oe_runmake
+
+ cd "${S}/platforms/big_endian"
+ qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${S}/platforms/big_endian', '${STAGING_DIR_TARGET}${base_libdir}'])}"
+ cat >qemuwrapper <<EOF
+#!/bin/sh
+$qemu_binary "\$@"
+EOF
+ chmod +x qemuwrapper
+ sed -i '/^ *CC *=/d' Makefile
+ # Fixing byte order of phoneme data files
+ if [ "${SITEINFO_ENDIANNESS}" = "be" ]; then
+ sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c
+ else
+ sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER LITTLE_ENDIAN\n\1/' espeak-phoneme-data.c
+ fi
+ oe_runmake
+ ./qemuwrapper ./espeak-phoneme-data "${S}/espeak-data" "." "${S}/espeak-data/phondata-manifest"
+ cp -f phondata phonindex phontab "${S}/espeak-data"
}
do_install() {
@@ -31,10 +61,7 @@ do_install() {
ln -sf espeak/espeak.h ${D}${includedir}/
oe_libinstall -so -C src libespeak ${D}${libdir}
- if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
- # the big-endian phon* files are provided by the package espeak-data
- rm -f ${S}/espeak-data/phon*
- fi
-
cp -R --no-dereference --preserve=mode,links ${S}/espeak-data/* ${D}${datadir}/espeak-data
}
+
+RDEPENDS_${PN} = "portaudio-v19"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/espeak/files/0002-tr_languages-cast-string_ordinal-init-values.patch b/external/meta-openembedded/meta-oe/recipes-support/espeak/files/0002-tr_languages-cast-string_ordinal-init-values.patch
new file mode 100644
index 00000000..cef360ea
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/espeak/files/0002-tr_languages-cast-string_ordinal-init-values.patch
@@ -0,0 +1,34 @@
+From 451330d09a6a3500b40bc4f5896ba790ab46cd6c Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Sun, 15 Jan 2017 19:37:31 +0100
+Subject: [PATCH 2/2] tr_languages: cast string_ordinal init values
+
+On some architecture, "char" is signed (x86_64, nios2...) so the
+compiler try to convert int 0xc2 and 0xba to a signed char.
+This is an error since gcc6 (Wnarrowing).
+
+Fixes:
+http://autobuild.buildroot.net/results/bae/baef9888b1979d18171668a675985e3f3b45fda6
+
+Upstream-Status: Pending [imported from BR]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ src/tr_languages.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp
+index 5c80286..dbc6e36 100644
+--- a/src/tr_languages.cpp
++++ b/src/tr_languages.cpp
+@@ -200,7 +200,7 @@ static const unsigned short chars_ignore_zwnj_hyphen[] = {
+ 0x200d, 1, // zero width joiner
+ 0, 0 };
+
+-const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8
++const char string_ordinal[] = {(char)0xc2,(char)0xba,0}; // masculine ordinal character, UTF-8
+
+
+ static Translator* NewTranslator(void)
+--
+2.9.3
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/espeak/files/espeak-1.48-gcc-6-fix.patch b/external/meta-openembedded/meta-oe/recipes-support/espeak/files/espeak-1.48-gcc-6-fix.patch
deleted file mode 100644
index 6e59c789..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/espeak/files/espeak-1.48-gcc-6-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp
---- a/src/tr_languages.cpp
-+++ b/src/tr_languages.cpp
-@@ -198,7 +198,7 @@ static const unsigned short chars_ignore_zwnj_hyphen[] = {
- 0x200d, 1, // zero width joiner
- 0, 0 };
-
--const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8
-+const char string_ordinal[] = {'\xc2','\xba',0}; // masculine ordinal character, UTF-8
-
-
- static Translator* NewTranslator(void)
diff --git a/external/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.1.bb b/external/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.1.bb
new file mode 100644
index 00000000..97116ee2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Exif, Iptc and XMP metadata manipulation library and tools"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
+
+DEPENDS = "zlib expat"
+
+SRC_URI = "https://exiv2.org/releases/${BPN}-${PV}-Source.tar.gz"
+SRC_URI[md5sum] = "56d064517ae5903dd963b84514a121c1"
+SRC_URI[sha256sum] = "f125286980fd1bcb28e188c02a93946951c61e10784720be2301b661a65b3081"
+
+S = "${WORKDIR}/${BPN}-${PV}-Source"
+
+inherit cmake gettext
diff --git a/external/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb b/external/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb
deleted file mode 100644
index 775257f9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb
+++ /dev/null
@@ -1,38 +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"
-SRC_URI[md5sum] = "c9b9b74b8ae1b3890e4bd93f1b70e8ff"
-SRC_URI[sha256sum] = "be120ba95d4490436f0da077ffa8f767bf727b82decf2bf499e39becc027809c"
-
-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 gnutls"
-
-PACKAGECONFIG ??= "gstreamer1.0"
-PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
-PACKAGECONFIG[gstreamer0.10] = "--with-gstreamer-0.10,--without-gstreamer-0.10,gstreamer gst-plugins-base"
-PACKAGECONFIG[gstreamer1.0] = "--with-gstreamer,--without-gstreamer,gstreamer1.0 gstreamer1.0-plugins-base"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-FILES_${PN} += "${libdir}/gstreamer-0.10/*.so ${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-1.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a ${libdir}/gstreamer-1.0/*.a"
-FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug ${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/external/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb b/external/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb
new file mode 100644
index 00000000..7bd6478d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb
@@ -0,0 +1,40 @@
+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/"
+
+LICENSE = "LGPLv2.1 & MPLv1.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \
+ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
+"
+
+SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
+SRC_URI[md5sum] = "5ad936c43d3c6d33117b2c64982f2fd9"
+SRC_URI[sha256sum] = "06b678066f94dde595a4291588ed27acd085ee73775b8c4e8399e28c01eeefdf"
+
+DEPENDS = "glib-2.0 gnutls"
+
+PACKAGECONFIG ??= "gstreamer1.0"
+PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
+PACKAGECONFIG[gstreamer1.0] = "--with-gstreamer,--without-gstreamer,gstreamer1.0 gstreamer1.0-plugins-base"
+
+inherit autotools pkgconfig gtk-doc gobject-introspection
+
+EXTRA_OECONF += "--without-gstreamer-0.10"
+
+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/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb b/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
index ec9e04be..09344cf7 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
@@ -2,10 +2,13 @@ require ${BPN}.inc
DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
-inherit distro_features_check binconfig lib_package gtk-icon-cache mime
+inherit features_check binconfig lib_package gtk-icon-cache mime mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI += "file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch"
+SRC_URI += " \
+ file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch \
+ file://0004-Fix-build-error-when-enable-package-config-examples.patch \
+"
EXTRA_OECMAKE = " \
-DOPTION_BUILD_SHARED_LIBS=ON \
@@ -17,7 +20,7 @@ EXTRA_OECMAKE = " \
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
-PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,"
+PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,fltk-native"
PACKAGECONFIG[cairo] = "-DOPTION_CAIRO=ON,-DOPTION_CAIRO=OFF,cairo"
PACKAGECONFIG[opengl] = "-DOPTION_USE_GL=ON,-DOPTION_USE_GL=OFF,virtual/libgl"
PACKAGECONFIG[xinerama] = "-DOPTION_USE_XINERAMA=ON,-DOPTION_USE_XINERAMA=OFF,libxinerama"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc b/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc
index d3416c8b..97a1fbfc 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc
+++ b/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc
@@ -5,16 +5,15 @@ LICENSE = "LGPLv2 & FLTK"
LIC_FILES_CHKSUM = "file://COPYING;md5=f6b26344a24a941a01a5b0826e80b5ca"
SRC_URI = " \
- http://fltk.org/pub/fltk/1.3.4/${BP}-source.tar.gz \
+ http://fltk.org/pub/fltk/${PV}/${BP}-source.tar.bz2 \
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-2"
-SRC_URI[md5sum] = "b8e291343357e49dd81a22408744e400"
-SRC_URI[sha256sum] = "25d349c18c99508737d48f225a2eb26a43338f9247551cab72a317fa42cda910"
+PV = "1.3.5"
+SRC_URI[md5sum] = "0de2b45a1896be2b4a8cafae89b84248"
+SRC_URI[sha256sum] = "2933c72400f9e7c0f4c3a81a1ce98bc9582b2a3edc44b8597ccd26e240e32c3c"
inherit cmake pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch b/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch
new file mode 100644
index 00000000..974c02fe
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch
@@ -0,0 +1,182 @@
+Fix build error when enable package config examples.
+
+Upstream-Status: Backport [https://github.com/fltk/fltk/commit/16774dd]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+
+From 16774ddc4e000c89e560fde0ced8be9814ef041e Mon Sep 17 00:00:00 2001
+From: Albrecht Schlosser <albrechts.fltk@online.de>
+Date: Wed, 8 Feb 2017 02:06:52 +0000
+Subject: [PATCH] Rename test/help demo program to test/help_dialog.
+
+This change avoids a name conflict with CMake's auto-generated target 'help'
+for "Unix Makefiles", "Ninja", and supposedly other generators as well.
+
+
+git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
+---
+ CMake/macros.cmake | 5 -----
+ documentation/src/examples.dox | 8 +++----
+ test/CMakeLists.txt | 27 +++++++++++++++++++----
+ test/demo.menu | 2 +-
+ test/{help.cxx => help_dialog.cxx} | 6 ++---
+ test/{help-test.html => help_dialog.html} | 0
+ 6 files changed, 31 insertions(+), 17 deletions(-)
+ rename test/{help.cxx => help_dialog.cxx} (88%)
+ rename test/{help-test.html => help_dialog.html} (100%)
+
+diff --git a/CMake/macros.cmake b/CMake/macros.cmake
+index 5b0d0fa..7134fcb 100644
+--- a/CMake/macros.cmake
++++ b/CMake/macros.cmake
+@@ -90,11 +90,6 @@ function(CREATE_EXAMPLE NAME SOURCES LIBRARIES)
+
+ set (tname ${NAME}) # target name
+
+- # rename reserved target name "help" (CMake 2.8.12 and later)
+- if (${tname} MATCHES "^help$")
+- set (tname "test_help")
+- endif (${tname} MATCHES "^help$")
+-
+ foreach(src ${SOURCES})
+ if ("${src}" MATCHES "\\.fl$")
+ list(APPEND flsrcs ${src})
+diff --git a/documentation/src/examples.dox b/documentation/src/examples.dox
+index 5105b7b..7961b02 100644
+--- a/documentation/src/examples.dox
++++ b/documentation/src/examples.dox
+@@ -60,7 +60,7 @@ you build FLTK, unlike those in the 'test' directory shown below.
+ </tr>
+ <tr>
+ <td> \ref examples_hello </td>
+-<td> \ref examples_help </td>
++<td> \ref examples_help_dialog </td>
+ <td> \ref examples_iconize </td>
+ <td> \ref examples_image </td>
+ <td> \ref examples_inactive </td>
+@@ -326,13 +326,13 @@ easily under FLTK.
+ tiny demo shows how little is needed to get a functioning application
+ running with FLTK. Quite impressive, I'd say.
+
+-\subsection examples_help help
++\subsection examples_help_dialog help_dialog
+
+ \par
+-\c help displays the built-in FLTK help browser. The
++\c help_dialog displays the built-in FLTK help browser. The
+ Fl_Help_Dialog understands a subset of html and renders
+ various image formats. This widget makes it easy to provide help
+-pages to the user without depending on the operating system's
++pages to the user without depending on the operating system's
+ html browser.
+
+ \subsection examples_iconize iconize
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 22ec9ab..4caffa5 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -1,3 +1,22 @@
++#
++# "$Id$"
++#
++# CMakeLists.txt used to build test and demo apps by the CMake build system
++#
++# Copyright 2004-2017 by Bill Spitzak and others.
++#
++# This library is free software. Distribution and use rights are outlined in
++# the file "COPYING" which should have been included with this file. If this
++# file is missing or damaged, see the license at:
++#
++# http://www.fltk.org/COPYING.php
++#
++# Please report all bugs and problems on the following page:
++#
++# http://www.fltk.org/str.php
++#
++#######################################################################
++
+ set(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin/examples)
+
+ #######################################################################
+@@ -64,7 +83,7 @@ CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images")
+ CREATE_EXAMPLE(fonts fonts.cxx fltk)
+ CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms")
+ CREATE_EXAMPLE(hello hello.cxx fltk)
+-CREATE_EXAMPLE(help help.cxx "fltk;fltk_images")
++CREATE_EXAMPLE(help_dialog help_dialog.cxx "fltk;fltk_images")
+ CREATE_EXAMPLE(icon icon.cxx fltk)
+ CREATE_EXAMPLE(iconize iconize.cxx fltk)
+ CREATE_EXAMPLE(image image.cxx fltk)
+@@ -134,7 +153,7 @@ endif(FLTK_HAVE_CAIRO)
+ # Note: this is incomplete as of 11 Feb 2015
+ # Todo: currently all files are copied, but some of them need configuration:
+ # - demo.menu: fluid can't be started (wrong path)
+-# - demo.menu: help (help-test.html) can't find its images (not copied)
++# - demo.menu: help_dialog (help_dialog.html) can't find its images (not copied)
+ # - maybe more ...
+
+ # prepare for a "better" test file installation path
+@@ -149,11 +168,11 @@ configure_file(demo.menu ${TESTFILE_PATH}/demo.menu COPYONLY)
+
+ # use target directory only to avoid redundancy
+ configure_file(rgb.txt ${TESTFILE_PATH} COPYONLY)
+-configure_file(help-test.html ${TESTFILE_PATH} COPYONLY)
++configure_file(help_dialog.html ${TESTFILE_PATH} COPYONLY)
+ configure_file(browser.cxx ${TESTFILE_PATH} COPYONLY)
+ configure_file(editor.cxx ${TESTFILE_PATH} COPYONLY)
+ if(APPLE AND NOT OPTION_APPLE_X11)
+ configure_file(browser.cxx "${TESTFILE_PATH}/browser.app/Contents/Resources/browser.cxx" COPYONLY)
+ configure_file(rgb.txt ${TESTFILE_PATH}/colbrowser.app/Contents/Resources/rgb.txt COPYONLY)
+- configure_file(help-test.html ${TESTFILE_PATH}/help.app/Contents/Resources/help-test.html COPYONLY)
++ configure_file(help_dialog.html ${TESTFILE_PATH}/help_dialog.app/Contents/Resources/help_dialog.html COPYONLY)
+ endif(APPLE AND NOT OPTION_APPLE_X11)
+diff --git a/test/demo.menu b/test/demo.menu
+index 337a71c..97e522a 100644
+--- a/test/demo.menu
++++ b/test/demo.menu
+@@ -77,7 +77,7 @@
+ @o:Font Tests...:@of
+ @of:Fonts:fonts
+ @of:UTF-8:utf8
+- @o:HelpDialog:help
++ @o:HelpDialog:help_dialog
+ @o:Input Choice:input_choice
+ @o:Preferences:preferences
+ @o:Threading:threads
+diff --git a/test/help.cxx b/test/help_dialog.cxx
+similarity index 88%
+rename from test/help.cxx
+rename to test/help_dialog.cxx
+index f5c51d6..7866641 100644
+--- a/test/help.cxx
++++ b/test/help_dialog.cxx
+@@ -3,7 +3,7 @@
+ //
+ // Fl_Help_Dialog test program.
+ //
+-// Copyright 1999-2010 by Easy Software Products.
++// Copyright 2011-2017 by Bill Spitzak and others.
+ //
+ // This library is free software. Distribution and use rights are outlined in
+ // the file "COPYING" which should have been included with this file. If this
+@@ -46,13 +46,13 @@ main(int argc, // I - Number of command-line arguments
+ strcpy(buf, argv[0]);
+ char *slash = strrchr(buf, '/');
+ if (slash)
+- strcpy(slash, "/../Resources/help-test.html");
++ strcpy(slash, "/../Resources/help_dialog.html");
+ help->load(buf);
+
+ #else
+
+ if (argc <= 1)
+- help->load("help-test.html");
++ help->load("help_dialog.html");
+ else
+ help->load(argv[1]);
+
+diff --git a/test/help-test.html b/test/help_dialog.html
+similarity index 100%
+rename from test/help-test.html
+rename to test/help_dialog.html
diff --git a/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch b/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch
deleted file mode 100644
index 2a9915be..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-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)
-
-- if test "x$FTCONFIG" != x; then
-- 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_HEADER(X11/Xft/Xft.h,
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.2.0.bb b/external/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.2.0.bb
new file mode 100644
index 00000000..05dc94a9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.2.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "open-source formatting library for C++"
+DESCRIPTION = "{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams."
+HOMEPAGE = "https://fmt.dev"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=af88d758f75f3c5c48a967501f24384b"
+
+SRC_URI += "git://github.com/fmtlib/fmt"
+SRCREV = "9bdd1596cef1b57b9556f8bef32dc4a32322ef3e"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+inherit ptest
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch b/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch
deleted file mode 100644
index a567cba9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 368989526c32cdf9d680a397fede3cb773fa2609 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Fri, 28 Jul 2017 16:31:41 -0400
-Subject: [PATCH] Fix gstreamer-1.0 detection
-
-Upstream State: Backport
-
----
- cmake/FindGStreamer_1_0.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/FindGStreamer_1_0.cmake b/cmake/FindGStreamer_1_0.cmake
-index 3aa8fc6..6fbc0ec 100644
---- a/cmake/FindGStreamer_1_0.cmake
-+++ b/cmake/FindGStreamer_1_0.cmake
-@@ -59,7 +59,7 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library)
-
- string(REGEX MATCH "(.*)>=(.*)" _dummy "${_pkgconfig_name}")
- if ("${CMAKE_MATCH_2}" STREQUAL "")
-- pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GStreamer_FIND_VERSION}")
-+ pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GSTREAMER_1_0_MINIMUM_VERSION}")
- else ()
- pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name})
- endif ()
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch b/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
index 0d7dcc28..0f6f575d 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
@@ -12,13 +12,13 @@ Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
winpr/tools/makecert-cli/CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/winpr/tools/makecert-cli/CMakeLists.txt b/winpr/tools/makecert-cli/CMakeLists.txt
-index 74afa09..8d00ef1 100644
---- a/winpr/tools/makecert-cli/CMakeLists.txt
-+++ b/winpr/tools/makecert-cli/CMakeLists.txt
+Index: git/winpr/tools/makecert-cli/CMakeLists.txt
+===================================================================
+--- git.orig/winpr/tools/makecert-cli/CMakeLists.txt
++++ git/winpr/tools/makecert-cli/CMakeLists.txt
@@ -44,6 +44,9 @@ set(${MODULE_PREFIX}_LIBS winpr-tools)
- target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
+ target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} winpr)
+set_target_properties(${MODULE_NAME} PROPERTIES
+ BUILD_WITH_INSTALL_RPATH 1)
@@ -26,6 +26,3 @@ index 74afa09..8d00ef1 100644
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools")
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools EXPORT WinPRTargets)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb b/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
index 88aec9c4..7cafbb79 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
@@ -10,13 +10,14 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
inherit pkgconfig cmake gitpkgv
+PE = "1"
PV = "2.0.0+gitr${SRCPV}"
PKGV = "${GITPKGVTAG}"
-SRCREV = "1648deb435ad52206f7aa2afe4b4dff71d9329bc"
+# 2.0.0 release
+SRCREV = "5ab2bed8749747b8e4b2ed431fd102bc726be684"
SRC_URI = "git://github.com/FreeRDP/FreeRDP.git \
file://winpr-makecert-Build-with-install-RPATH.patch \
- file://0001-Fix-gstreamer-1.0-detection.patch \
"
S = "${WORKDIR}/git"
@@ -39,7 +40,7 @@ PACKAGECONFIG ??= " \
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}"
-PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland"
+PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native"
PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb b/external/meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb
new file mode 100644
index 00000000..556a25aa
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Improved drop-in replacement for std::function"
+DESCRIPTION = "Provides improved implementations of std::function."
+HOMEPAGE = "https://naios.github.io/function2"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+SRCREV = "d2acdb6c3c7612a6133cd03464ef941161258f4e"
+PV .= "+git${SRCPV}"
+
+SRC_URI += "gitsm://github.com/Naios/function2"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+inherit ptest
+
+# Installs some data to incorrect top-level /usr directory
+do_install_append() {
+ mkdir -p ${D}/${datadir}/function2
+ mv ${D}/${prefix}/Readme.md ${D}/${datadir}/function2/
+ mv ${D}/${prefix}/LICENSE.txt ${D}/${datadir}/function2/
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-annotate.c-gdft.c-Replace-strncpy-with-memccpy-to-fi.patch b/external/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-annotate.c-gdft.c-Replace-strncpy-with-memccpy-to-fi.patch
deleted file mode 100644
index c377b370..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-annotate.c-gdft.c-Replace-strncpy-with-memccpy-to-fi.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 85c7694a5cf34597909bdd1ca6931b0f99904c2e Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 19 Jun 2018 00:40:49 -0700
-Subject: [PATCH] annotate.c/gdft.c: Replace strncpy with memccpy to fix
- -Wstringop-truncation.
-
-Fixed for gcc8:
-git/src/gdft.c:1699:2: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
-
-Upstream-Status: Submitted [https://github.com/libgd/libgd/pull/442]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- src/annotate.c | 2 +-
- src/gdft.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/annotate.c b/src/annotate.c
-index 00aaf49..17df813 100644
---- a/src/annotate.c
-+++ b/src/annotate.c
-@@ -104,7 +104,7 @@ int main(int argc, char *argv[])
- fprintf(stderr, "Font maximum length is 1024, %d given\n", font_len);
- goto badLine;
- }
-- strncpy(font, st, font_len);
-+ memcpy(font, st, font_len);
- }
- } else if(!strcmp(st, "align")) {
- char *st = strtok(0, " \t\r\n");
-diff --git a/src/gdft.c b/src/gdft.c
-index 9fa8295..81dbe41 100644
---- a/src/gdft.c
-+++ b/src/gdft.c
-@@ -1696,7 +1696,7 @@ static char * font_path(char **fontpath, char *name_list)
- gdFree(path);
- return "could not alloc full list of fonts";
- }
-- strncpy(fontlist, name_list, name_list_len);
-+ memcpy(fontlist, name_list, name_list_len);
- fontlist[name_list_len] = 0;
-
- /*
---
-2.10.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2018-1000222.patch b/external/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2018-1000222.patch
deleted file mode 100644
index 25924d1a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2018-1000222.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 4b1e18a00ce7c4b7e6919c3b3109a034393b805a Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 14 Jul 2018 13:54:08 -0400
-Subject: [PATCH] bmp: check return value in gdImageBmpPtr
-
-Closes #447.
-
-(cherry picked from commit ac16bdf2d41724b5a65255d4c28fb0ec46bc42f5)
-
-Upstream-Status: Backport [https://github.com/libgd/libgd/commit/4b1e18a00ce7c4b7e6919c3b3109a034393b805a]
-CVE: CVE-2018-1000222
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- src/gd_bmp.c | 17 ++++++++++++++---
- 1 file changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/src/gd_bmp.c b/src/gd_bmp.c
-index ccafdcd..d625da1 100644
---- a/src/gd_bmp.c
-+++ b/src/gd_bmp.c
-@@ -48,6 +48,8 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
- static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp_hdr_t *header);
- static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info);
-
-+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression);
-+
- #define BMP_DEBUG(s)
-
- static int gdBMPPutWord(gdIOCtx *out, int w)
-@@ -88,8 +90,10 @@ BGD_DECLARE(void *) gdImageBmpPtr(gdImagePtr im, int *size, int compression)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageBmpCtx(im, out, compression);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageBmpCtx(im, out, compression))
-+ rv = gdDPExtractData(out, size);
-+ else
-+ rv = NULL;
- out->gd_free(out);
- return rv;
- }
-@@ -142,6 +146,11 @@ BGD_DECLARE(void) gdImageBmp(gdImagePtr im, FILE *outFile, int compression)
- compression - whether to apply RLE or not.
- */
- BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
-+{
-+ _gdImageBmpCtx(im, out, compression);
-+}
-+
-+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- {
- int bitmap_size = 0, info_size, total_size, padding;
- int i, row, xpos, pixel;
-@@ -149,6 +158,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- unsigned char *uncompressed_row = NULL, *uncompressed_row_start = NULL;
- FILE *tmpfile_for_compression = NULL;
- gdIOCtxPtr out_original = NULL;
-+ int ret = 1;
-
- /* No compression if its true colour or we don't support seek */
- if (im->trueColor) {
-@@ -326,6 +336,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- out_original = NULL;
- }
-
-+ ret = 0;
- cleanup:
- if (tmpfile_for_compression) {
- #ifdef _WIN32
-@@ -339,7 +350,7 @@ cleanup:
- if (out_original) {
- out_original->gd_free(out_original);
- }
-- return;
-+ return ret;
- }
-
- static int compress_row(unsigned char *row, int length)
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb b/external/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb
deleted file mode 100644
index 548d2c57..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images"
-DESCRIPTION = "The gd graphics library allows your code to quickly draw images \
-complete with lines, arcs, text, multiple colors, cut and paste from other \
-images, and flood fills, and to write out the result as a PNG or JPEG file. \
-This is particularly useful in Web applications, where PNG and JPEG are two \
-of the formats accepted for inline images by most browsers. Note that gd is not \
-a paint program."
-HOMEPAGE = "http://libgd.bitbucket.org/"
-
-SECTION = "libs"
-LICENSE = "GD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=07384b3aa2e0d39afca0d6c40286f545"
-
-DEPENDS = "freetype libpng jpeg zlib tiff"
-
-SRC_URI = "git://github.com/libgd/libgd.git;branch=GD-2.2 \
- file://0001-annotate.c-gdft.c-Replace-strncpy-with-memccpy-to-fi.patch \
- file://CVE-2018-1000222.patch \
- "
-
-SRCREV = "8255231b68889597d04d451a72438ab92a405aba"
-
-S = "${WORKDIR}/git"
-
-inherit autotools binconfig gettext pkgconfig
-
-EXTRA_OECONF += " --disable-rpath \
- --with-jpeg=${STAGING_LIBDIR}/.. \
- --with-freetype=yes \
- --without-fontconfig \
- --without-webp \
- --without-xpm \
- --without-x \
- "
-
-EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"'
-
-do_install_append() {
- # cleanup buildpaths from gdlib.pc
- sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc
-}
-
-PACKAGES += "${PN}-tools"
-
-FILES_${PN} = "${libdir}/lib*${SOLIBS}"
-FILES_${PN}-tools = "${bindir}/*"
-
-PROVIDES += "${PN}-tools"
-RPROVIDES_${PN}-tools = "${PN}-tools"
-RDEPENDS_${PN}-tools = "perl perl-module-strict"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.0.bb b/external/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.0.bb
new file mode 100644
index 00000000..eec8a05a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images"
+DESCRIPTION = "The gd graphics library allows your code to quickly draw images \
+complete with lines, arcs, text, multiple colors, cut and paste from other \
+images, and flood fills, and to write out the result as a PNG or JPEG file. \
+This is particularly useful in Web applications, where PNG and JPEG are two \
+of the formats accepted for inline images by most browsers. Note that gd is not \
+a paint program."
+HOMEPAGE = "http://libgd.github.io/"
+
+SECTION = "libs"
+LICENSE = "GD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8e5bc8627b9494741c905d65238c66b7"
+
+DEPENDS = "freetype libpng jpeg zlib tiff"
+
+SRC_URI = "git://github.com/libgd/libgd.git;branch=master \
+ "
+
+SRCREV = "b079fa06223c3ab862c8f0eea58a968727971988"
+
+S = "${WORKDIR}/git"
+
+inherit autotools binconfig gettext pkgconfig
+
+EXTRA_OECONF += " --disable-rpath \
+ --with-jpeg=${STAGING_LIBDIR}/.. \
+ --with-freetype=yes \
+ --without-fontconfig \
+ --without-webp \
+ --without-xpm \
+ --without-x \
+ "
+
+EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"'
+
+DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"
+
+do_install_append() {
+ # cleanup buildpaths from gdlib.pc
+ sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc
+}
+
+PACKAGES += "${PN}-tools"
+
+FILES_${PN} = "${libdir}/lib*${SOLIBS}"
+FILES_${PN}-tools = "${bindir}/*"
+
+PROVIDES += "${PN}-tools"
+RPROVIDES_${PN}-tools = "${PN}-tools"
+RDEPENDS_${PN}-tools = "perl perl-module-strict"
+
+CVE_PRODUCT = "libgd"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb b/external/meta-openembedded/meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb
new file mode 100644
index 00000000..118e3c50
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb
@@ -0,0 +1,16 @@
+SUMMARY = "skeleton main.c generator"
+DESCRIPTION = "Gengetopt is a tool to write command line option parsing code for C programs."
+SECTION = "utils"
+HOMEPAGE = "https://www.gnu.org/software/gengetopt/gengetopt.html"
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ff95bfe019feaf92f524b73dd79e76eb"
+
+SRC_URI = "${GNU_MIRROR}/gengetopt/${BPN}-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "ea165d618640dbdecb42ae4491337965"
+SRC_URI[sha256sum] = "b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac"
+
+inherit autotools texinfo
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb b/external/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
deleted file mode 100644
index 29a1125c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
+++ /dev/null
@@ -1,20 +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 = "git://github.com/gflags/gflags.git"
-SRCREV = "f8a0efe03aa69b3336d8e228b37d4ccb17324b88"
-
-S = "${WORKDIR}/git"
-
-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"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.2.bb b/external/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.2.bb
new file mode 100644
index 00000000..6eea0c00
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.2.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used"
+HOMEPAGE = "https://github.com/gflags/gflags"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df"
+
+SRC_URI = "git://github.com/gflags/gflags.git"
+SRCREV = "e171aa2d15ed9eb17054558e0b3a6a413bb01067"
+
+S = "${WORKDIR}/git"
+
+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"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb b/external/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb
index 3de01ef5..9a833283 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb
@@ -6,10 +6,8 @@ HOMEPAGE = "https://github.com/google/glog"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b"
-DEPENDS = "libunwind"
-
SRC_URI = " \
- git://github.com/google/glog.git;branch=v035 \
+ git://github.com/google/glog.git;nobranch=1 \
file://0001-Rework-CMake-glog-VERSION-management.patch \
file://0002-Find-Libunwind-during-configure.patch \
file://0003-installation-path-fix.patch \
@@ -21,6 +19,9 @@ S = "${WORKDIR}/git"
inherit cmake
-RDEPENDS_${PN} += "libunwind"
+PACKAGECONFIG ?= "shared unwind"
+PACKAGECONFIG_remove_riscv64 = "unwind"
+PACKAGECONFIG_remove_riscv32 = "unwind"
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
+PACKAGECONFIG[unwind] = "-DWITH_UNWIND=ON,-DWITH_UNWIND=OFF,libunwind,libunwind"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib/CVE-2018-17942.patch b/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib/CVE-2018-17942.patch
deleted file mode 100644
index 77e82b16..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib/CVE-2018-17942.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From e91600a7aae3bafbefbe13abf771e61badd16286 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 16 Oct 2018 14:26:11 +0800
-Subject: [PATCH] vasnprintf: Fix heap memory overrun bug.
-
-Reported by Ben Pfaff <blp@cs.stanford.edu> in
-<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
-
-* lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
-memory.
-* tests/test-vasnprintf.c (test_function): Add another test.
-
-Upstream-Status: Backport [http://git.savannah.gnu.org/gitweb/?p=gnulib.git;
-a=commitdiff;h=278b4175c9d7dd47c1a3071554aac02add3b3c35]
-
-CVE: CVE-2018-17942
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- ChangeLog | 8 ++++++++
- lib/vasnprintf.c | 4 +++-
- tests/test-vasnprintf.c | 19 ++++++++++++++++++-
- 3 files changed, 29 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 9864353..5ff76a3 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,11 @@
-+2018-09-23 Bruno Haible <bruno@clisp.org>
-+ vasnprintf: Fix heap memory overrun bug.
-+ Reported by Ben Pfaff <blp@cs.stanford.edu> in
-+ <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
-+ * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
-+ memory.
-+ * tests/test-vasnprintf.c (test_function): Add another test.
-+
- 2017-08-21 Paul Eggert <eggert@cs.ucla.edu>
-
- vc-list-files: port to Solaris 10
-diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
-index 2e4eb19..45de49f 100644
---- a/lib/vasnprintf.c
-+++ b/lib/vasnprintf.c
-@@ -860,7 +860,9 @@ convert_to_decimal (mpn_t a, size_t extra_zeroes)
- size_t a_len = a.nlimbs;
- /* 0.03345 is slightly larger than log(2)/(9*log(10)). */
- size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1);
-- char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes));
-+ /* We need extra_zeroes bytes for zeroes, followed by c_len bytes for the
-+ digits of a, followed by 1 byte for the terminating NUL. */
-+ char *c_ptr = (char *) malloc (xsum (xsum (extra_zeroes, c_len), 1));
- if (c_ptr != NULL)
- {
- char *d_ptr = c_ptr;
-diff --git a/tests/test-vasnprintf.c b/tests/test-vasnprintf.c
-index 2dd869f..ff68d5c 100644
---- a/tests/test-vasnprintf.c
-+++ b/tests/test-vasnprintf.c
-@@ -53,7 +53,24 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
- ASSERT (result != NULL);
- ASSERT (strcmp (result, "12345") == 0);
- ASSERT (length == 5);
-- if (size < 6)
-+ if (size < 5 + 1)
-+ ASSERT (result != buf);
-+ ASSERT (memcmp (buf + size, &"DEADBEEF"[size], 8 - size) == 0);
-+ if (result != buf)
-+ free (result);
-+ }
-+ /* Note: This test assumes IEEE 754 representation of 'double' floats. */
-+ for (size = 0; size <= 8; size++)
-+ {
-+ size_t length;
-+ char *result;
-+ memcpy (buf, "DEADBEEF", 8);
-+ length = size;
-+ result = my_asnprintf (buf, &length, "%2.0f", 1.6314159265358979e+125);
-+ ASSERT (result != NULL);
-+ ASSERT (strcmp (result, "163141592653589790215729350939528493057529598899734151772468186268423257777068536614838678161083520756952076273094236944990208") == 0);
-+ ASSERT (length == 126);
-+ if (size < 126 + 1)
- ASSERT (result != buf);
- ASSERT (memcmp (buf + size, &"DEADBEEF"[size], 8 - size) == 0);
- if (result != buf)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb b/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb
deleted file mode 100644
index e0488105..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "The GNU portability library"
-DESCRIPTION = "A collection of software subroutines which are designed to \
-be usable on many operating systems. The goal of the project \
-is to make it easy for free software authors to make their \
-software run on many operating systems. Since source is designed \
-to be copied from gnulib, it is not a library per-se, as much \
-as a collection of portable idioms to be used in other projects."
-
-HOMEPAGE = "http://www.gnu.org/software/gnulib/"
-SECTION = "devel"
-LICENSE = "LGPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=56a22a6e5bcce45e2c8ac184f81412b5"
-SRCREV = "b23000de1e47c7d580e0e220966dd1ee42a5e5bc"
-
-SRC_URI = "git://git.sv.gnu.org/gnulib;protocol=git \
- file://CVE-2018-17942.patch \
-"
-
-S = "${WORKDIR}/git"
-
-do_install () {
- cd ${S}
- git checkout master
- git clone ${S} ${D}/${datadir}/gnulib
- cd ${D}/${datadir}/gnulib
- git am ${WORKDIR}/CVE-2018-17942.patch
-}
-
-do_patch[noexec] = "1"
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-do_package[noexec] = "1"
-do_packagedata[noexec] = "1"
-deltask package_write_ipk
-deltask package_write_deb
-deltask package_write_rpm
-deltask do_deploy_archives
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb b/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb
new file mode 100644
index 00000000..146747ee
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb
@@ -0,0 +1,40 @@
+SUMMARY = "The GNU portability library"
+DESCRIPTION = "A collection of software subroutines which are designed to \
+be usable on many operating systems. The goal of the project \
+is to make it easy for free software authors to make their \
+software run on many operating systems. Since source is designed \
+to be copied from gnulib, it is not a library per-se, as much \
+as a collection of portable idioms to be used in other projects."
+
+HOMEPAGE = "http://www.gnu.org/software/gnulib/"
+SECTION = "devel"
+LICENSE = "LGPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=56a22a6e5bcce45e2c8ac184f81412b5"
+SRCREV = "0d6e3307bbdb8df4d56043d5f373eeeffe4cbef3"
+
+SRC_URI = "git://git.sv.gnu.org/gnulib.git \
+"
+
+S = "${WORKDIR}/git"
+
+inherit utils
+
+do_install () {
+ cd ${S}
+ check_git_config
+ git checkout master
+ git clone ${S} ${D}/${datadir}/gnulib
+}
+
+do_patch[noexec] = "1"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_package[noexec] = "1"
+do_packagedata[noexec] = "1"
+deltask package_write_ipk
+deltask package_write_deb
+deltask package_write_rpm
+deltask do_deploy_archives
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
index 49d5c216..cb4ead31 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
@@ -6,26 +6,12 @@ Subject: [PATCH] fix build with musl libc
Patch from https://github.com/gperftools/gperftools/pull/765/
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---
- configure.ac | 1 +
- src/malloc_hook_mmap_linux.h | 8 ++++++--
- 2 files changed, 7 insertions(+), 2 deletions(-)
+ src/malloc_hook_mmap_linux.h | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
-diff --git a/configure.ac b/configure.ac
-index 497103e..f9efc3e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -188,6 +188,7 @@ AC_HEADER_STDC
- AC_CHECK_TYPES([__int64]) # defined in some windows platforms
- AC_CHECK_TYPES([struct mallinfo],,, [#include <malloc.h>])
- AC_CHECK_TYPES([Elf32_Versym],,, [#include <elf.h>]) # for vdso_support.h
-+AC_CHECK_FUNCS(__sbrk) # for intercepting glibc memory allocator
- AC_CHECK_FUNCS(sbrk) # for tcmalloc to get memory
- AC_CHECK_FUNCS(geteuid) # for turning off services when run as root
- AC_CHECK_FUNCS(fork) # for the pthread_atfork setup
diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h
-index 2f6116f..0605855 100755
+index e2efb05..66b3110 100644
--- a/src/malloc_hook_mmap_linux.h
+++ b/src/malloc_hook_mmap_linux.h
@@ -46,6 +46,10 @@
@@ -39,7 +25,7 @@ index 2f6116f..0605855 100755
// The x86-32 case and the x86-64 case differ:
// 32b has a mmap2() syscall, 64b does not.
// 64b and 32b have different calling conventions for mmap().
-@@ -168,7 +172,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
+@@ -175,7 +179,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
return result;
}
@@ -48,12 +34,6 @@ index 2f6116f..0605855 100755
extern "C" void* mmap(void *start, size_t length, int prot, int flags,
int fd, off_t offset) __THROW {
-@@ -206,7 +210,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size,
- return result;
- }
-
--#ifndef __UCLIBC__
-+#if HAVE___SBRK
- // libc's version:
- extern "C" void* __sbrk(intptr_t increment);
-
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb b/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb
new file mode 100644
index 00000000..b7b78393
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
+HOMEPAGE = "https://github.com/gperftools/gperftools"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
+
+SRCREV = "db7aa547abb5abdd558587a15502584cbc825438"
+SRC_URI = "git://github.com/gperftools/gperftools \
+ file://0001-Support-Atomic-ops-on-clang.patch \
+ file://0001-fix-build-with-musl-libc.patch \
+ file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
+ file://disable_libunwind_aarch64.patch \
+ file://sgidef.patch \
+ "
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+
+# On mips, we have the following error.
+# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
+# Segmentation fault (core dumped)
+COMPATIBLE_HOST_mipsarch = "null"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
+# Disable thumb1
+# {standard input}: Assembler messages:
+# {standard input}:434: Error: lo register required -- `ldr pc,[sp]'
+# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm"
+
+PACKAGECONFIG ?= "libunwind static"
+PACKAGECONFIG_remove_arm_libc-musl = "libunwind"
+PACKAGECONFIG_remove_riscv64 = "libunwind"
+PACKAGECONFIG_remove_riscv32 = "libunwind"
+
+PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
+PACKAGECONFIG[static] = "--enable-static,--disable-static,"
+
+PACKAGE_BEFORE_PN += "libtcmalloc-minimal"
+FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}"
+
+# pprof tool requires Getopt::long and POSIX perl5 modules.
+# Also runs `objdump` on each cpuprofile data file
+RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix"
+
+RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb b/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
deleted file mode 100644
index e9fcc4cc..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
-HOMEPAGE = "https://github.com/gperftools/gperftools"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
-DEPENDS += "libunwind"
-
-SRCREV = "9608fa3bcf8020d35f59fbf70cd3cbe4b015b972"
-SRC_URI = "git://github.com/gperftools/gperftools \
- file://0001-Support-Atomic-ops-on-clang.patch \
- file://0001-fix-build-with-musl-libc.patch \
- file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
- file://disable_libunwind_aarch64.patch \
- file://sgidef.patch \
- "
-
-inherit autotools
-
-S = "${WORKDIR}/git"
-
-# On mips, we have the following error.
-# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
-# Segmentation fault (core dumped)
-COMPATIBLE_HOST_mipsarch_libc-glibc = "null"
-# Disable thumb1
-# {standard input}: Assembler messages:
-# {standard input}:434: Error: lo register required -- `ldr pc,[sp]'
-# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in b/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in
index ee6c040f..5a6cadeb 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in
+++ b/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in
@@ -4,6 +4,7 @@ Description=Virtual console mouse server
[Service]
Type=forking
ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2
+PIDFile=/run/gpm.pid
[Install]
WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/no-docs.patch b/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/no-docs.patch
deleted file mode 100644
index 3faef84e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/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
-+SUBDIRS = src
-
-
- ### simple, but effective rules
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/processcreds.patch b/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/processcreds.patch
deleted file mode 100644
index d647eca0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm/processcreds.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: gpm-1.99.7/src/daemon/processconn.c
-===================================================================
---- gpm-1.99.7.orig/src/daemon/processconn.c 2010-09-29 17:36:18.571782951 +0400
-+++ gpm-1.99.7/src/daemon/processconn.c 2010-09-29 17:42:44.659991758 +0400
-@@ -20,6 +20,7 @@
- *
- ********/
-
-+#define _GNU_SOURCE
- #include <sys/socket.h> /* accept */
- #include <stdlib.h> /* malloc */
- #include <unistd.h> /* close */
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb b/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
index dcc9d68e..3800d147 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
@@ -1,6 +1,8 @@
+SUMMARY = "Console mouse driver"
DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \
for the console and xterm, with sample clients included \
(emacs, etc)."
+HOMEPAGE = "https://www.nico.schottelius.org/software/gpm"
SECTION = "console/utils"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
@@ -13,15 +15,13 @@ DEPENDS = "ncurses bison-native"
SRC_URI = "git://github.com/telmich/gpm;protocol=git \
file://init \
- file://no-docs.patch \
- file://processcreds.patch \
file://gpm.service.in \
file://0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch \
"
S = "${WORKDIR}/git"
-inherit autotools-brokensep update-rc.d systemd
+inherit autotools-brokensep update-rc.d systemd texinfo
INITSCRIPT_NAME = "gpm"
INITSCRIPT_PARAMS = "defaults"
@@ -31,17 +31,10 @@ do_configure_prepend() {
}
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
+ install -d ${D}${systemd_system_unitdir}
+ sed 's:@bindir@:${sbindir}:' < ${WORKDIR}/gpm.service.in >${D}${systemd_system_unitdir}/gpm.service
+ install -D -m 0755 ${WORKDIR}/init ${D}${INIT_D_DIR}/gpm
ln -s libgpm.so.2 ${D}${libdir}/libgpm.so
}
SYSTEMD_SERVICE_${PN} = "gpm.service"
-
-FILES_${PN} += "${datadir}/emacs"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb b/external/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb
new file mode 100644
index 00000000..7ed46f82
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Administration program for the grsecurity RBAC syste"
+DESCRIPTION = "\
+gradm is the userspace RBAC parsing and authentication program for \
+grsecurity grsecurity aims to be a complete security system. gradm \
+performs several tasks for the RBAC system including authenticated \
+via a password to the kernel and parsing rules to be passed to the \
+kernel"
+HOMEPAGE = "http://grsecurity.net/index.php"
+SECTION = "admin"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b"
+DEPENDS = "flex-native bison-native ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+SRC_URI = "http://grsecurity.net/stable/${BP}.tar.gz \
+ file://0001-Makefile-remove-strip.patch \
+ file://0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch \
+ "
+SRC_URI[md5sum] = "5099c715433981d5a3eed8ded7c5bbc0"
+SRC_URI[sha256sum] = "d3a0b6383ff97a2054941d71133c737efae66afdd8eef59346c031ae15c75ff3"
+
+S = "${WORKDIR}/gradm"
+
+inherit autotools-brokensep
+
+do_compile() {
+ oe_runmake 'CC=${CC}' \
+ 'LIBS=' \
+ 'OPT_FLAGS=${CFLAGS}' \
+ 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
+ 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
+ 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)}
+}
+
+do_install() {
+ oe_runmake 'CC=${CC}' \
+ 'DESTDIR=${D}' \
+ 'LIBS=' \
+ 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
+ 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
+ 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
+ install
+
+ # The device nodes are generated by postinstall or udev
+ rm -rf ${D}/dev
+}
+
+pkg_postinst_ontarget_${PN}() {
+ /bin/mknod -m 0622 /dev/grsec c 1 13
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1.bb b/external/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1.bb
deleted file mode 100644
index a7d0607f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Administration program for the grsecurity RBAC syste"
-DESCRIPTION = "\
-gradm is the userspace RBAC parsing and authentication program for \
-grsecurity grsecurity aims to be a complete security system. gradm \
-performs several tasks for the RBAC system including authenticated \
-via a password to the kernel and parsing rules to be passed to the \
-kernel"
-HOMEPAGE = "http://grsecurity.net/index.php"
-SECTION = "admin"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b"
-DEPENDS = "flex-native bison-native ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-SRC_URI = "http://grsecurity.net/stable/${BP}-201507191652.tar.gz \
- file://0001-Makefile-remove-strip.patch \
- file://0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch \
- "
-SRC_URI[md5sum] = "ecec72d3a9b6d84c00eda97957b707b6"
-SRC_URI[sha256sum] = "2f14c357bf0459e502a4e108b76c3f6240aa484762d07bb1687796b9b9297a50"
-
-S = "${WORKDIR}/gradm"
-
-inherit autotools-brokensep
-
-do_compile() {
- oe_runmake 'CC=${CC}' \
- 'OPT_FLAGS=${CFLAGS}' \
- 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
- 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
- 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)}
-}
-
-do_install() {
- oe_runmake 'CC=${CC}' \
- 'DESTDIR=${D}' \
- 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
- 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
- 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
- install
-
- # The device nodes are generated by postinstall or udev
- rm -rf ${D}/dev
-}
-
-pkg_postinst_ontarget_${PN}() {
- /bin/mknod -m 0622 /dev/grsec c 1 13
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb b/external/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb
deleted file mode 100644
index 620e7804..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-include gsl.inc
-
-SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b"
-SRC_URI[sha256sum] = "85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.6.bb b/external/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.6.bb
new file mode 100644
index 00000000..367a0832
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.6.bb
@@ -0,0 +1,5 @@
+include gsl.inc
+
+SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz"
+SRC_URI[md5sum] = "bda73a3dd5ff2f30b5956764399db6e7"
+SRC_URI[sha256sum] = "b782339fc7a38fe17689cb39966c4d821236c28018b6593ddb6fd59ee40786a8"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-Fix-out-of-tree-builds.patch b/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-Fix-out-of-tree-builds.patch
deleted file mode 100644
index 5ceb4bf0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-Fix-out-of-tree-builds.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From 8a10b6bd556426616e93f15639f369defbeca33f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 14 Aug 2017 11:58:58 -0700
-Subject: [PATCH] Fix out of tree builds
-
-When build dir is not same as sourcedir then the build failed due
-to use of $(srcdir) variable which assumes source = build therefore
-replace that with top_srcdir
-
-Additionally move the conditional addition of sources to Makefile.am
-instead of adding it in configure.ac, since then we can use top_srcdir
-variable to access those sources too otherwise its not possible to
-specify the right dir for these sources
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted[https://sourceforge.net/p/gsoap2/patches/171/]
-
- configure.ac | 5 +++--
- gsoap/Makefile.am | 14 +++++++-------
- gsoap/samples/autotest/Makefile.am | 8 ++++----
- gsoap/samples/databinding/Makefile.am | 8 ++++----
- gsoap/wsdl/Makefile.am | 15 +++++++++------
- 5 files changed, 27 insertions(+), 23 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0631c18..c36e696 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -265,7 +265,7 @@ if test "x$with_openssl" = "xyes"; then
- WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP"
- # an ugly hack to get httpda and smdevp plugins to conditionally
- # compile with wsdl2h when OPENSSL is available
-- WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} ../plugin/httpda.c ../plugin/smdevp.c ../plugin/threads.c -lssl -lcrypto -lz"
-+ WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lssl -lcrypto -lz"
- SAMPLE_INCLUDES=
- SAMPLE_SSL_LIBS="-lssl -lcrypto -lz"
- WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
-@@ -289,12 +289,13 @@ else
- SAMPLE_INCLUDES=
- WSDL2H_SOAP_CPP_LIB="libgsoap++.a"
- fi
-+AM_CONDITIONAL(WITH_OPENSSL, test "x$with_openssl" = "xyes" -a "x$with_gnutls" != "xyes")
-+AC_SUBST(WITH_OPENSSL)
- AC_SUBST(WSDL2H_EXTRA_FLAGS)
- AC_SUBST(WSDL2H_EXTRA_LIBS)
- AC_SUBST(SAMPLE_INCLUDES)
- AC_SUBST(SAMPLE_SSL_LIBS)
- AC_SUBST(WSDL2H_SOAP_CPP_LIB)
--
- # enable the compile of the samples
- AC_ARG_ENABLE(samples,
- [ --enable-samples enable compile for the gsoap samples],
-diff --git a/gsoap/Makefile.am b/gsoap/Makefile.am
-index 7273b82..9c0c89f 100644
---- a/gsoap/Makefile.am
-+++ b/gsoap/Makefile.am
-@@ -13,26 +13,26 @@ AM_CXXFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
- AM_CFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
-
- # Install all soapcpp2 and wsdl2h files into ${prefix}/share/gsoap
--nobase_pkgdata_DATA = $(srcdir)/import/* $(srcdir)/plugin/* $(srcdir)/WS/* $(srcdir)/custom/* $(srcdir)/extras/*
-+nobase_pkgdata_DATA = $(top_srcdir)/gsoap/import/* $(top_srcdir)/gsoap/plugin/* $(top_srcdir)/gsoap/WS/* $(top_srcdir)/gsoap/custom/* $(top_srcdir)/gsoap/extras/*
-
- ## we cannot build stdsoap2.o from 2 different sources (stdsoap2.cpp and stdsoap2.c), so we need an intermediate target:
- stdsoap2_ck.c: stdsoap2.cpp
-- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck.c
-+ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ck.c
-
- stdsoap2_cpp.cpp: stdsoap2.cpp
-- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_cpp.cpp
-+ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_cpp.cpp
-
- stdsoap2_ck_cpp.cpp: stdsoap2.cpp
-- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck_cpp.cpp
-+ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ck_cpp.cpp
-
- stdsoap2_ssl.c: stdsoap2.cpp
-- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl.c
-+ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ssl.c
-
- stdsoap2_ssl_cpp.cpp: stdsoap2.cpp
-- $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
-+ $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
- ## do the same fo dom.cpp since we want to link it into the cpp libs and dom.c into the c libs
- dom_cpp.cpp: dom.cpp
-- $(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp
-+ $(LN_S) -f $(top_srcdir)/gsoap/dom.cpp dom_cpp.cpp
-
- lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
-
-diff --git a/gsoap/samples/autotest/Makefile.am b/gsoap/samples/autotest/Makefile.am
-index 36adf51..61e514c 100644
---- a/gsoap/samples/autotest/Makefile.am
-+++ b/gsoap/samples/autotest/Makefile.am
-@@ -6,13 +6,13 @@
- AUTOMAKE_OPTIONS = subdir-objects foreign 1.4
-
- CPPFLAGS=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
--AM_LDFLAGS=$(CPPFLAGS) -I$(srcdir) -L$(srcdir)
-+AM_LDFLAGS=$(CPPFLAGS) -I$(top_srcdir)/gsoap/samples/autotest -L$(top_srcdir)/gsoap/samples/autotest
- SOAP=$(top_srcdir)/gsoap/src/soapcpp2$(EXEEXT)
- WSDL=$(top_srcdir)/gsoap/wsdl/wsdl2h$(EXEEXT)
--WSDL_FLAGS=-d -P -t $(srcdir)/typemap.dat
-+WSDL_FLAGS=-d -P -t $(top_srcdir)/gsoap/samples/autotest/typemap.dat
- SOAP_FLAGS=-SL -T -I$(top_srcdir)/gsoap/import -I$(top_srcdir)/gsoap/custom
--WSDLINPUT=$(srcdir)/examples.wsdl
--SOAPHEADER=$(srcdir)/examples.h
-+WSDLINPUT=$(top_srcdir)/gsoap/samples/autotest/examples.wsdl
-+SOAPHEADER=$(top_srcdir)/gsoap/samples/autotest/examples.h
- SOAP_CPP_SRC=soapC.cpp soapServer.cpp
- SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
-
-diff --git a/gsoap/samples/databinding/Makefile.am b/gsoap/samples/databinding/Makefile.am
-index 892d4fd..86ad482 100644
---- a/gsoap/samples/databinding/Makefile.am
-+++ b/gsoap/samples/databinding/Makefile.am
-@@ -6,13 +6,13 @@
- AUTOMAKE_OPTIONS = subdir-objects foreign 1.4
-
- CPPFLAGS=$(SAMPLE_INCLUDES) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
--AM_LDFLAGS=$(AM_CPPFLAGS) -I$(srcdir) -L$(srcdir)
-+AM_LDFLAGS=$(AM_CPPFLAGS) -I$(top_srcdir)/gsoap/samples/databinding -L$(top_srcdir)/gsoap/samples/databinding
- SOAP=$(top_srcdir)/gsoap/src/soapcpp2$(EXEEXT)
- WSDL=$(top_srcdir)/gsoap/wsdl/wsdl2h$(EXEEXT)
--WSDL_FLAGS=-g -t $(srcdir)/addresstypemap.dat
-+WSDL_FLAGS=-g -t $(top_srcdir)/gsoap/samples/databinding/addresstypemap.dat
- SOAP_FLAGS=-0 -CS -p address -I$(top_srcdir)/gsoap/import
--WSDLINPUT=$(srcdir)/address.xsd
--SOAPHEADER=$(srcdir)/address.h
-+WSDLINPUT=$(top_srcdir)/gsoap/samples/databinding/address.xsd
-+SOAPHEADER=$(top_srcdir)/gsoap/samples/databinding/address.h
- SOAP_CPP_SRC=addressC.cpp
- SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
-
-diff --git a/gsoap/wsdl/Makefile.am b/gsoap/wsdl/Makefile.am
-index b8da5db..9f2aefa 100644
---- a/gsoap/wsdl/Makefile.am
-+++ b/gsoap/wsdl/Makefile.am
-@@ -6,14 +6,14 @@
- AUTOMAKE_OPTIONS = foreign 1.4
-
- # INCLUDES=-I$(top_srcdir)/gsoap
--# AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir)
--AM_LDFLAGS=-L$(srcdir) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
-+# AM_LDFLAGS=$(INCLUDES) -I$(top_srcdir)/gsoap/wsdl -L$(top_srcdir)/gsoap/wsdl
-+AM_LDFLAGS=-L$(top_srcdir)/gsoap/wsdl -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
- AM_CPPFLAGS=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
- SOAP=$(top_builddir)/gsoap/src/soapcpp2$(EXEEXT)
- SOAP_CPP_LIB=$(top_builddir)/gsoap/$(WSDL2H_SOAP_CPP_LIB)
- SOAP_CPP_SRC=wsdlC.cpp
--SOAPHEADER=$(srcdir)/wsdl.h
--SOAP_FLAGS=-SC -pwsdl -I$(srcdir) -I$(top_srcdir)/gsoap/import
-+SOAPHEADER=$(top_srcdir)/gsoap/wsdl/wsdl.h
-+SOAP_FLAGS=-SC -pwsdl -I$(top_srcdir)/gsoap/wsdl -I$(top_srcdir)/gsoap/import
- BUILT_SOURCES=$(SOAP_CPP_SRC)
- # WSDL2H_EXTRA_FLAGS=-DWITH_OPENSSL -DWITH_GZIP # defined in configure.in
- # WSDL2H_EXTRA_LIBS=-lssl -lcrypto -lz # defined in configure.in
-@@ -24,11 +24,14 @@ $(SOAP_CPP_SRC) : $(SOAPHEADER)
- #LIBS=
-
- bin_PROGRAMS=wsdl2h
--
-+if WITH_OPENSSL
-+wsdl2h_LDADD=$(SOAP_CPP_LIB) $(top_srcdir)/gsoap/plugin/httpda.c $(top_srcdir)/gsoap/plugin/smdevp.c $(top_srcdir)/gsoap/plugin/threads.c $(WSDL2H_EXTRA_LIBS)
-+else
-+wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
-+endif
- wsdl2h_CFLAGS=$(C_DEBUG_FLAGS) $(SOAPCPP2_NO_C_LOCALE) $(WSDL2H_EXTRA_FLAGS)
- wsdl2h_CXXFLAGS=$(C_DEBUG_FLAGS) $(SOAPCPP2_NO_C_LOCALE) $(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH)
- wsdl2h_CPPFLAGS=$(AM_CPPFLAGS) $(SOAPCPP2_NONAMESPACES) -D$(platform)
- wsdl2h_SOURCES=wsdl2h.cpp wsdl.cpp wadl.cpp schema.cpp types.cpp service.cpp soap.cpp mime.cpp wsp.cpp bpel.cpp $(SOAP_CPP_SRC)
--wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
-
- CLEANFILES= *~ *C.cpp *H.h *Stub.h *.nsmap
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-stdgsoap2-Fix-build-with-musl.patch b/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-stdgsoap2-Fix-build-with-musl.patch
deleted file mode 100644
index 571cbe54..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap/0001-stdgsoap2-Fix-build-with-musl.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From db260fbc7af4c73c997c485a0c69c61594a0e59c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Aug 2017 19:48:50 -0700
-Subject: [PATCH] stdgsoap2: Fix build with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gsoap/stdsoap2.c | 2 +-
- gsoap/stdsoap2.cpp | 4 ++--
- gsoap/stdsoap2.h | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gsoap/stdsoap2.c b/gsoap/stdsoap2.c
-index 58e9df4..62389e1 100644
---- a/gsoap/stdsoap2.c
-+++ b/gsoap/stdsoap2.c
-@@ -4462,7 +4462,7 @@ tcp_gethost(struct soap *soap, const char *addr, struct in_addr *inaddr)
- return soap->error = SOAP_EOM;
- return SOAP_OK;
- }
--#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
-+#if defined(LINUX) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
- if (gethostbyname_r(addr, &hostent, soap->buf, sizeof(soap->buf), &host, &soap->errnum) < 0)
- host = NULL;
- #elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
-diff --git a/gsoap/stdsoap2.cpp b/gsoap/stdsoap2.cpp
-index 58e9df4..b637161 100644
---- a/gsoap/stdsoap2.cpp
-+++ b/gsoap/stdsoap2.cpp
-@@ -4462,7 +4462,7 @@ tcp_gethost(struct soap *soap, const char *addr, struct in_addr *inaddr)
- return soap->error = SOAP_EOM;
- return SOAP_OK;
- }
--#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
-+#if defined(LINUX) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
- if (gethostbyname_r(addr, &hostent, soap->buf, sizeof(soap->buf), &host, &soap->errnum) < 0)
- host = NULL;
- #elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
-@@ -19658,7 +19658,7 @@ soap_strerror(struct soap *soap)
- {
- #ifndef WIN32
- # ifdef HAVE_STRERROR_R
--# if defined(_GNU_SOURCE) && !defined(__ANDROID__)
-+# if defined(_GNU_SOURCE) && !defined(__ANDROID__) && defined(__GLIBC__)
- return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
- # else
- strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
-diff --git a/gsoap/stdsoap2.h b/gsoap/stdsoap2.h
-index 07a3952..c6ace4c 100644
---- a/gsoap/stdsoap2.h
-+++ b/gsoap/stdsoap2.h
-@@ -947,7 +947,7 @@ extern "C" {
- # endif
- #elif defined(SOCKLEN_T)
- # define SOAP_SOCKLEN_T SOCKLEN_T
--#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE)
-+#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE) || defined (LINUX)
- # define SOAP_SOCKLEN_T socklen_t
- #elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS)
- # define SOAP_SOCKLEN_T int
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.103.bb b/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.103.bb
new file mode 100644
index 00000000..8543c6f4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.103.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \
+for the development of SOAP Web Services and clients."
+SECTION = "devel"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \
+ file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip \
+ "
+SRC_URI[md5sum] = "3207ece9fc8ceb787091de93838f5952"
+SRC_URI[sha256sum] = "afe2ba08d2fa56adc3c774b6741587203a72140a255346e9947b8d2ee6c7d4b6"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
+
+S = "${WORKDIR}/${BPN}-2.8"
+
+PARALLEL_MAKE = ""
+
+EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
+
+DEPENDS = "openssl zlib flex bison bison-native"
+DEPENDS_append_class-target = " gsoap-native"
+
+do_install_append() {
+ install -d ${D}${libdir}
+ for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck
+ do
+ oe_libinstall -C gsoap $lib ${D}${libdir}
+ done
+}
+
+do_install_class-native() {
+ oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install
+}
+
+FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2"
+FILES_${PN} += "${datadir}"
+FILES_${PN}-staticdev = "${libdir}"
+FILES_${PN}-dev = "${includedir}"
+RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.51.bb b/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.51.bb
deleted file mode 100644
index 36530d2d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.51.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \
-for the development of SOAP Web Services and clients."
-SECTION = "devel"
-LICENSE = "GPL-2.0-with-OpenSSL-exception"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \
- file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip \
- file://0001-Fix-out-of-tree-builds.patch \
- file://0001-stdgsoap2-Fix-build-with-musl.patch \
- "
-SRC_URI[md5sum] = "212951d6e1435bb51fa4320f458809ea"
-SRC_URI[sha256sum] = "3e7bb24a9e492f5cb86daca34054c9787152f1d7b70add36b789d03816d5ffa1"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
-
-S = "${WORKDIR}/${BPN}-2.8"
-
-PARALLEL_MAKE = ""
-
-EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
-
-DEPENDS = "openssl zlib flex bison bison-native"
-DEPENDS_append_class-target = " gsoap-native"
-
-do_install_append() {
- install -d ${D}${libdir}
- for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck
- do
- oe_libinstall -C gsoap $lib ${D}${libdir}
- done
-}
-
-do_install_class-native() {
- oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install
-}
-
-FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2"
-FILES_${PN} += "${datadir}"
-FILES_${PN}-staticdev = "${libdir}"
-FILES_${PN}-dev = "${includedir}"
-RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-configure.ac-Rename-to-configure.ac-and-use-external.patch b/external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-configure.ac-Rename-to-configure.ac-and-use-external.patch
new file mode 100644
index 00000000..d2de0bbe
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-configure.ac-Rename-to-configure.ac-and-use-external.patch
@@ -0,0 +1,703 @@
+From d7e6fe2ac69333c2d943a4b8eb139373d1fb2ce2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 31 Dec 2019 18:08:09 -0800
+Subject: [PATCH] configure.ac: Rename to configure.ac and use external gettext
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 81 insertions(+)
+ create mode 100644 configure.ac
+
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,81 @@
++dnl Process this file with autoconf to produce a configure script.
++
++# Initialization
++AC_INIT
++AC_CONFIG_SRCDIR([Makefile.am])
++AC_CONFIG_HEADERS([config.h])
++
++# Determine the host and build type. The target is always a PIC.
++AC_CANONICAL_HOST
++
++AM_INIT_AUTOMAKE(hddtemp, 0.3-beta15)
++
++dnl Checks for programs.
++AC_PROG_CC
++AC_PROG_INSTALL
++
++# append the host alias to the tools for cross compiling
++AC_HEADER_STDC
++AC_CHECK_HEADERS(fcntl.h)
++AC_CHECK_HEADERS(iconv.h)
++AC_CHECK_HEADERS(netinet/in.h)
++AC_CHECK_TYPE(in_addr_t, ,[AC_DEFINE_UNQUOTED([in_addr_t], [uint32_t], [Define to 'uint32_t' if <netinet/in.h> does not define.])], [#include <netinet/in.h>])
++
++# Checks for typedefs, structures, and compiler characteristics.
++AC_C_CONST
++AC_STRUCT_TM
++
++dnl internationalization macros
++AM_GNU_GETTEXT([external])
++
++AC_CHECK_FUNCS([bindtextdomain textdomain iconv])
++
++dnl reasonable guesses for where stuff is installed
++dnl if we don't do that now, the config.h will use ${prefix}
++dnl for DEFAULT_DATABASE_PATH.
++if test "x$prefix" = "xNONE"; then
++ prefix="/usr/local"
++fi
++if test "x$exec_prefix" = "xNONE"; then
++ exec_prefix=$prefix
++fi
++
++AC_MSG_CHECKING([Location of hddtemp.db])
++DEFAULT_DATABASE_PATH=
++#db_path=\"`eval echo ${datadir}`/misc/hddtemp.db\"
++db_path=\"/usr/share/misc/hddtemp.db\"
++AC_ARG_WITH(db_path,
++ [ --with-db-path=PATH \
++ Default location of hddtemp.db file [/usr/share/misc/hddtemp.db]],
++ [ if test -d "$withval"; then
++ AC_MSG_FAILURE([new file name for db-path])
++ fi
++ DEFAULT_DATABASE_PATH="\"$withval\""
++ ],
++ [ DEFAULT_DATABASE_PATH="$db_path" ])
++AC_MSG_RESULT($DEFAULT_DATABASE_PATH)
++AC_DEFINE_UNQUOTED([DEFAULT_DATABASE_PATH], [$DEFAULT_DATABASE_PATH], [Default location of drive info database])
++
++#CFLAGS="$CFLAGS -Wall -fomit-frame-pointer -Wcast-align"
++CFLAGS="$CFLAGS -Wall -W -Wcast-align"
++
++# Substitute configuration variables
++AC_CONFIG_FILES([Makefile \
++po/Makefile.in \
++m4/Makefile \
++src/Makefile \
++doc/Makefile \
++])
++AC_OUTPUT
++
++AC_MSG_RESULT([
++
++hddtemp-$VERSION is now configured for $canonical_host_type
++
++ Build: $build
++ Host: $host
++ Source directory: $srcdir
++ Installation prefix: $prefix
++ C compiler: $CC $CFLAGS
++
++])
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -12,7 +12,7 @@ EXTRA_DIST = config.rpath autogen.sh \
+ README \
+ TODO
+
+-SUBDIRS = intl po m4 src doc
++SUBDIRS = po m4 src doc
+
+ CLEANFILES = *~
+
+--- a/configure.in
++++ /dev/null
+@@ -1,83 +0,0 @@
+-dnl Process this file with autoconf to produce a configure script.
+-
+-# Initialization
+-AC_INIT
+-AC_CONFIG_SRCDIR([Makefile.am])
+-AC_CONFIG_HEADERS([config.h])
+-
+-# Determine the host and build type. The target is always a PIC.
+-AC_CANONICAL_HOST
+-
+-AM_INIT_AUTOMAKE(hddtemp, 0.3-beta15)
+-
+-dnl Checks for programs.
+-AC_PROG_CC
+-AC_PROG_INSTALL
+-
+-# append the host alias to the tools for cross compiling
+-AC_HEADER_STDC
+-AC_CHECK_HEADERS(fcntl.h)
+-AC_CHECK_HEADERS(iconv.h)
+-AC_CHECK_HEADERS(netinet/in.h)
+-AC_CHECK_TYPE(in_addr_t, ,[AC_DEFINE_UNQUOTED([in_addr_t], [uint32_t], [Define to 'uint32_t' if <netinet/in.h> does not define.])], [#include <netinet/in.h>])
+-
+-# Checks for typedefs, structures, and compiler characteristics.
+-AC_C_CONST
+-AC_STRUCT_TM
+-
+-dnl internationalization macros
+-AM_GNU_GETTEXT_VERSION
+-AM_GNU_GETTEXT
+-#AM_GNU_GETTEXT([external])
+-
+-AC_CHECK_FUNCS([bindtextdomain textdomain iconv])
+-
+-dnl reasonable guesses for where stuff is installed
+-dnl if we don't do that now, the config.h will use ${prefix}
+-dnl for DEFAULT_DATABASE_PATH.
+-if test "x$prefix" = "xNONE"; then
+- prefix="/usr/local"
+-fi
+-if test "x$exec_prefix" = "xNONE"; then
+- exec_prefix=$prefix
+-fi
+-
+-AC_MSG_CHECKING([Location of hddtemp.db])
+-DEFAULT_DATABASE_PATH=
+-#db_path=\"`eval echo ${datadir}`/misc/hddtemp.db\"
+-db_path=\"/usr/share/misc/hddtemp.db\"
+-AC_ARG_WITH(db_path,
+- [ --with-db-path=PATH \
+- Default location of hddtemp.db file [/usr/share/misc/hddtemp.db]],
+- [ if test -d "$withval"; then
+- AC_MSG_FAILURE([new file name for db-path])
+- fi
+- DEFAULT_DATABASE_PATH="\"$withval\""
+- ],
+- [ DEFAULT_DATABASE_PATH="$db_path" ])
+-AC_MSG_RESULT($DEFAULT_DATABASE_PATH)
+-AC_DEFINE_UNQUOTED([DEFAULT_DATABASE_PATH], [$DEFAULT_DATABASE_PATH], [Default location of drive info database])
+-
+-#CFLAGS="$CFLAGS -Wall -fomit-frame-pointer -Wcast-align"
+-CFLAGS="$CFLAGS -Wall -W -Wcast-align"
+-
+-# Substitute configuration variables
+-AC_CONFIG_FILES([Makefile intl/Makefile \
+-po/Makefile.in \
+-m4/Makefile \
+-src/Makefile \
+-doc/Makefile \
+-])
+-AC_OUTPUT
+-
+-AC_MSG_RESULT([
+-
+-hddtemp-$VERSION is now configured for $canonical_host_type
+-
+- Build: $build
+- Host: $host
+- Source directory: $srcdir
+- Installation prefix: $prefix
+- C compiler: $CC $CFLAGS
+-
+-])
+--- a/intl/ChangeLog
++++ /dev/null
+@@ -1,4 +0,0 @@
+-2005-02-24 GNU <bug-gnu-gettext@gnu.org>
+-
+- * Version 0.14.2 released.
+-
+--- a/intl/Makefile.in
++++ /dev/null
+@@ -1,500 +0,0 @@
+-# Makefile for directory with message catalog handling library of GNU gettext
+-# Copyright (C) 1995-1998, 2000-2005 Free Software Foundation, Inc.
+-#
+-# This program is free software; you can redistribute it and/or modify it
+-# under the terms of the GNU Library General Public License as published
+-# by the Free Software Foundation; either version 2, 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
+-# Library General Public License for more details.
+-#
+-# You should have received a copy of the GNU Library General Public
+-# License along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+-# USA.
+-
+-PACKAGE = @PACKAGE@
+-VERSION = @VERSION@
+-
+-SHELL = /bin/sh
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+-top_builddir = ..
+-VPATH = $(srcdir)
+-
+-prefix = @prefix@
+-exec_prefix = @exec_prefix@
+-transform = @program_transform_name@
+-libdir = @libdir@
+-includedir = @includedir@
+-datadir = @datadir@
+-localedir = $(datadir)/locale
+-gettextsrcdir = $(datadir)/gettext/intl
+-aliaspath = $(localedir)
+-subdir = intl
+-
+-INSTALL = @INSTALL@
+-INSTALL_DATA = @INSTALL_DATA@
+-MKINSTALLDIRS = @MKINSTALLDIRS@
+-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
+-
+-l = @INTL_LIBTOOL_SUFFIX_PREFIX@
+-
+-AR = ar
+-CC = @CC@
+-LIBTOOL = @LIBTOOL@
+-RANLIB = @RANLIB@
+-YACC = @INTLBISON@ -y -d
+-YFLAGS = --name-prefix=__gettext
+-
+-DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
+--DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
+--DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
+--Dset_relocation_prefix=libintl_set_relocation_prefix \
+--Drelocate=libintl_relocate \
+--DDEPENDS_ON_LIBICONV=1 @DEFS@
+-CPPFLAGS = @CPPFLAGS@
+-CFLAGS = @CFLAGS@
+-LDFLAGS = @LDFLAGS@
+-LIBS = @LIBS@
+-
+-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+-
+-HEADERS = \
+- gmo.h \
+- gettextP.h \
+- hash-string.h \
+- loadinfo.h \
+- plural-exp.h \
+- eval-plural.h \
+- localcharset.h \
+- relocatable.h \
+- xsize.h \
+- printf-args.h printf-args.c \
+- printf-parse.h wprintf-parse.h printf-parse.c \
+- vasnprintf.h vasnwprintf.h vasnprintf.c \
+- os2compat.h \
+- libgnuintl.h.in
+-SOURCES = \
+- bindtextdom.c \
+- dcgettext.c \
+- dgettext.c \
+- gettext.c \
+- finddomain.c \
+- loadmsgcat.c \
+- localealias.c \
+- textdomain.c \
+- l10nflist.c \
+- explodename.c \
+- dcigettext.c \
+- dcngettext.c \
+- dngettext.c \
+- ngettext.c \
+- plural.y \
+- plural-exp.c \
+- localcharset.c \
+- relocatable.c \
+- langprefs.c \
+- localename.c \
+- log.c \
+- printf.c \
+- osdep.c \
+- os2compat.c \
+- intl-compat.c
+-OBJECTS = \
+- bindtextdom.$lo \
+- dcgettext.$lo \
+- dgettext.$lo \
+- gettext.$lo \
+- finddomain.$lo \
+- loadmsgcat.$lo \
+- localealias.$lo \
+- textdomain.$lo \
+- l10nflist.$lo \
+- explodename.$lo \
+- dcigettext.$lo \
+- dcngettext.$lo \
+- dngettext.$lo \
+- ngettext.$lo \
+- plural.$lo \
+- plural-exp.$lo \
+- localcharset.$lo \
+- relocatable.$lo \
+- langprefs.$lo \
+- localename.$lo \
+- log.$lo \
+- printf.$lo \
+- osdep.$lo \
+- intl-compat.$lo
+-DISTFILES.common = Makefile.in \
+-config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
+-DISTFILES.generated = plural.c
+-DISTFILES.normal = VERSION
+-DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
+-libgnuintl.h_vms Makefile.vms \
+-libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32 Makefile.msvc
+-DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \
+-COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h
+-
+-all: all-@USE_INCLUDED_LIBINTL@
+-all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
+-all-no: all-no-@BUILD_INCLUDED_LIBINTL@
+-all-no-yes: libgnuintl.$la
+-all-no-no:
+-
+-libintl.a libgnuintl.a: $(OBJECTS)
+- rm -f $@
+- $(AR) cru $@ $(OBJECTS)
+- $(RANLIB) $@
+-
+-libintl.la libgnuintl.la: $(OBJECTS)
+- $(LIBTOOL) --mode=link \
+- $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
+- $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) -lc \
+- -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
+- -rpath $(libdir) \
+- -no-undefined
+-
+-# Libtool's library version information for libintl.
+-# Before making a gettext release, the gettext maintainer must change this
+-# according to the libtool documentation, section "Library interface versions".
+-# Maintainers of other packages that include the intl directory must *not*
+-# change these values.
+-LTV_CURRENT=7
+-LTV_REVISION=1
+-LTV_AGE=4
+-
+-.SUFFIXES:
+-.SUFFIXES: .c .y .o .lo .sin .sed
+-
+-.c.o:
+- $(COMPILE) $<
+-
+-.y.c:
+- $(YACC) $(YFLAGS) --output $@ $<
+- rm -f $*.h
+-
+-bindtextdom.lo: $(srcdir)/bindtextdom.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c
+-dcgettext.lo: $(srcdir)/dcgettext.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c
+-dgettext.lo: $(srcdir)/dgettext.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c
+-gettext.lo: $(srcdir)/gettext.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
+-finddomain.lo: $(srcdir)/finddomain.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
+-loadmsgcat.lo: $(srcdir)/loadmsgcat.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
+-localealias.lo: $(srcdir)/localealias.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c
+-textdomain.lo: $(srcdir)/textdomain.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c
+-l10nflist.lo: $(srcdir)/l10nflist.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c
+-explodename.lo: $(srcdir)/explodename.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c
+-dcigettext.lo: $(srcdir)/dcigettext.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c
+-dcngettext.lo: $(srcdir)/dcngettext.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c
+-dngettext.lo: $(srcdir)/dngettext.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c
+-ngettext.lo: $(srcdir)/ngettext.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c
+-plural.lo: $(srcdir)/plural.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c
+-plural-exp.lo: $(srcdir)/plural-exp.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
+-localcharset.lo: $(srcdir)/localcharset.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
+-relocatable.lo: $(srcdir)/relocatable.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
+-langprefs.lo: $(srcdir)/langprefs.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c
+-localename.lo: $(srcdir)/localename.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
+-log.lo: $(srcdir)/log.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
+-printf.lo: $(srcdir)/printf.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c
+-osdep.lo: $(srcdir)/osdep.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
+-intl-compat.lo: $(srcdir)/intl-compat.c
+- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c
+-
+-ref-add.sed: $(srcdir)/ref-add.sin
+- sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed
+- mv t-ref-add.sed ref-add.sed
+-ref-del.sed: $(srcdir)/ref-del.sin
+- sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed
+- mv t-ref-del.sed ref-del.sed
+-
+-INCLUDES = -I. -I$(srcdir) -I..
+-
+-libgnuintl.h: $(srcdir)/libgnuintl.h.in
+- sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
+- -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
+- -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
+- -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
+- < $(srcdir)/libgnuintl.h.in > libgnuintl.h
+-
+-libintl.h: libgnuintl.h
+- cp libgnuintl.h libintl.h
+-
+-charset.alias: $(srcdir)/config.charset
+- $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
+- mv t-$@ $@
+-
+-check: all
+-
+-# We must not install the libintl.h/libintl.a files if we are on a
+-# system which has the GNU gettext() function in its C library or in a
+-# separate library.
+-# If you want to use the one which comes with this version of the
+-# package, you have to use `configure --with-included-gettext'.
+-install: install-exec install-data
+-install-exec: all
+- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
+- && test '@USE_INCLUDED_LIBINTL@' = yes; then \
+- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
+- $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
+- $(LIBTOOL) --mode=install \
+- $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
+- if test "@RELOCATABLE@" = yes; then \
+- dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \
+- if test -n "$$dependencies"; then \
+- rm -f $(DESTDIR)$(libdir)/libintl.la; \
+- fi; \
+- fi; \
+- else \
+- : ; \
+- fi
+- if test "$(PACKAGE)" = "gettext-tools" \
+- && test '@USE_INCLUDED_LIBINTL@' = no \
+- && test @GLIBC2@ != no; then \
+- $(mkinstalldirs) $(DESTDIR)$(libdir); \
+- $(LIBTOOL) --mode=install \
+- $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \
+- rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
+- $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \
+- $(LIBTOOL) --mode=uninstall \
+- rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \
+- else \
+- : ; \
+- fi
+- if test '@USE_INCLUDED_LIBINTL@' = yes; then \
+- test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
+- temp=$(DESTDIR)$(libdir)/t-charset.alias; \
+- dest=$(DESTDIR)$(libdir)/charset.alias; \
+- if test -f $(DESTDIR)$(libdir)/charset.alias; then \
+- orig=$(DESTDIR)$(libdir)/charset.alias; \
+- sed -f ref-add.sed $$orig > $$temp; \
+- $(INSTALL_DATA) $$temp $$dest; \
+- rm -f $$temp; \
+- else \
+- if test @GLIBC21@ = no; then \
+- orig=charset.alias; \
+- sed -f ref-add.sed $$orig > $$temp; \
+- $(INSTALL_DATA) $$temp $$dest; \
+- rm -f $$temp; \
+- fi; \
+- fi; \
+- $(mkinstalldirs) $(DESTDIR)$(localedir); \
+- test -f $(DESTDIR)$(localedir)/locale.alias \
+- && orig=$(DESTDIR)$(localedir)/locale.alias \
+- || orig=$(srcdir)/locale.alias; \
+- temp=$(DESTDIR)$(localedir)/t-locale.alias; \
+- dest=$(DESTDIR)$(localedir)/locale.alias; \
+- sed -f ref-add.sed $$orig > $$temp; \
+- $(INSTALL_DATA) $$temp $$dest; \
+- rm -f $$temp; \
+- else \
+- : ; \
+- fi
+-install-data: all
+- if test "$(PACKAGE)" = "gettext-tools"; then \
+- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+- $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
+- $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
+- dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
+- for file in $$dists; do \
+- $(INSTALL_DATA) $(srcdir)/$$file \
+- $(DESTDIR)$(gettextsrcdir)/$$file; \
+- done; \
+- chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \
+- dists="$(DISTFILES.generated)"; \
+- for file in $$dists; do \
+- if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
+- $(INSTALL_DATA) $$dir/$$file \
+- $(DESTDIR)$(gettextsrcdir)/$$file; \
+- done; \
+- dists="$(DISTFILES.obsolete)"; \
+- for file in $$dists; do \
+- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+- done; \
+- else \
+- : ; \
+- fi
+-
+-install-strip: install
+-
+-installdirs:
+- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
+- && test '@USE_INCLUDED_LIBINTL@' = yes; then \
+- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
+- else \
+- : ; \
+- fi
+- if test "$(PACKAGE)" = "gettext-tools" \
+- && test '@USE_INCLUDED_LIBINTL@' = no \
+- && test @GLIBC2@ != no; then \
+- $(mkinstalldirs) $(DESTDIR)$(libdir); \
+- else \
+- : ; \
+- fi
+- if test '@USE_INCLUDED_LIBINTL@' = yes; then \
+- test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
+- $(mkinstalldirs) $(DESTDIR)$(localedir); \
+- else \
+- : ; \
+- fi
+- if test "$(PACKAGE)" = "gettext-tools"; then \
+- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+- else \
+- : ; \
+- fi
+-
+-# Define this as empty until I found a useful application.
+-installcheck:
+-
+-uninstall:
+- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
+- && test '@USE_INCLUDED_LIBINTL@' = yes; then \
+- rm -f $(DESTDIR)$(includedir)/libintl.h; \
+- $(LIBTOOL) --mode=uninstall \
+- rm -f $(DESTDIR)$(libdir)/libintl.$la; \
+- else \
+- : ; \
+- fi
+- if test "$(PACKAGE)" = "gettext-tools" \
+- && test '@USE_INCLUDED_LIBINTL@' = no \
+- && test @GLIBC2@ != no; then \
+- rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
+- else \
+- : ; \
+- fi
+- if test '@USE_INCLUDED_LIBINTL@' = yes; then \
+- if test -f $(DESTDIR)$(libdir)/charset.alias; then \
+- temp=$(DESTDIR)$(libdir)/t-charset.alias; \
+- dest=$(DESTDIR)$(libdir)/charset.alias; \
+- sed -f ref-del.sed $$dest > $$temp; \
+- if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
+- rm -f $$dest; \
+- else \
+- $(INSTALL_DATA) $$temp $$dest; \
+- fi; \
+- rm -f $$temp; \
+- fi; \
+- if test -f $(DESTDIR)$(localedir)/locale.alias; then \
+- temp=$(DESTDIR)$(localedir)/t-locale.alias; \
+- dest=$(DESTDIR)$(localedir)/locale.alias; \
+- sed -f ref-del.sed $$dest > $$temp; \
+- if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
+- rm -f $$dest; \
+- else \
+- $(INSTALL_DATA) $$temp $$dest; \
+- fi; \
+- rm -f $$temp; \
+- fi; \
+- else \
+- : ; \
+- fi
+- if test "$(PACKAGE)" = "gettext-tools"; then \
+- for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \
+- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+- done; \
+- else \
+- : ; \
+- fi
+-
+-info dvi ps pdf html:
+-
+-$(OBJECTS): ../config.h libgnuintl.h
+-bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
+-dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
+-explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
+-dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h
+-dcigettext.$lo: $(srcdir)/eval-plural.h
+-localcharset.$lo: $(srcdir)/localcharset.h
+-localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
+-printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c
+-
+-tags: TAGS
+-
+-TAGS: $(HEADERS) $(SOURCES)
+- here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
+-
+-ctags: CTAGS
+-
+-CTAGS: $(HEADERS) $(SOURCES)
+- here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES)
+-
+-id: ID
+-
+-ID: $(HEADERS) $(SOURCES)
+- here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
+-
+-
+-mostlyclean:
+- rm -f *.a *.la *.o *.obj *.lo core core.*
+- rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed
+- rm -f -r .libs _libs
+-
+-clean: mostlyclean
+-
+-distclean: clean
+- rm -f Makefile ID TAGS
+- if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \
+- rm -f ChangeLog.inst $(DISTFILES.normal); \
+- else \
+- : ; \
+- fi
+-
+-maintainer-clean: distclean
+- @echo "This command is intended for maintainers to use;"
+- @echo "it deletes files that may require special tools to rebuild."
+-
+-
+-# GNU gettext needs not contain the file `VERSION' but contains some
+-# other files which should not be distributed in other packages.
+-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+-dist distdir: Makefile
+- if test "$(PACKAGE)" = "gettext-tools"; then \
+- : ; \
+- else \
+- if test "$(PACKAGE)" = "gettext-runtime"; then \
+- additional="$(DISTFILES.gettext)"; \
+- else \
+- additional="$(DISTFILES.normal)"; \
+- fi; \
+- $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
+- for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
+- if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
+- cp -p $$dir/$$file $(distdir); \
+- done; \
+- fi
+-
+-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+- cd $(top_builddir) && $(SHELL) ./config.status
+-# This would be more efficient, but doesn't work any more with autoconf-2.57,
+-# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
+-# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+-
+-# Tell versions [3.59,3.63) of GNU make not to export all variables.
+-# Otherwise a system limit (for SysV at least) may be exceeded.
+-.NOEXPORT:
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb b/external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
index 4a871bf4..d5da2b68 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
@@ -9,6 +9,7 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/hddtemp/hddtemp-0.3-beta15.tar.bz2 \
file://hddtemp_0.3-beta15-52.diff \
file://hddtemp-0.3-beta15-autodetect-717479.patch \
file://0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch \
+ file://0001-configure.ac-Rename-to-configure.ac-and-use-external.patch \
file://hddtemp.db \
file://init \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch
new file mode 100644
index 00000000..bdc1fa5f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch
@@ -0,0 +1,68 @@
+From 1b4fadf550587b46e405d7ccb777dcb00aa791a2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 29 Jan 2019 15:39:15 +0800
+Subject: [PATCH 1/2] cross compiling support
+
+Do not generate config files at build time, use pre-generated
+files to instead.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ CMakeLists.txt | 6 ++++++
+ src/CMakeLists.txt | 23 -----------------------
+ 2 files changed, 6 insertions(+), 23 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -770,4 +770,10 @@ endif ()
+ #-----------------------------------------------------------------------------
+ configure_file (${HDF_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY)
+
++#-----------------------------------------------------------------------------
++# Copy the pre-generated files in place
++#-----------------------------------------------------------------------------
++configure_file(H5Tinit.c H5Tinit.c COPYONLY)
++configure_file(H5lib_settings.c H5lib_settings.c COPYONLY)
++
+ include (CMakeInstallation.cmake)
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -613,36 +613,9 @@ set (H5_PRIVATE_HEADERS
+ #-----------------------------------------------------------------------------
+ add_executable (H5detect ${HDF5_SRC_DIR}/H5detect.c)
+ TARGET_C_PROPERTIES (H5detect STATIC " " " ")
+-if (MSVC OR MINGW)
+- target_link_libraries (H5detect "ws2_32.lib")
+-endif ()
+-if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
+- set_property(TARGET H5detect PROPERTY LINK_FLAGS "-O0")
+-endif ()
+-
+-add_custom_command (
+- OUTPUT ${HDF5_BINARY_DIR}/H5Tinit.c
+- COMMAND $<TARGET_FILE:H5detect>
+- ARGS > ${HDF5_BINARY_DIR}/H5Tinit.c
+- DEPENDS H5detect
+-)
+
+ add_executable (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
+ TARGET_C_PROPERTIES (H5make_libsettings STATIC " " " ")
+-if (MSVC OR MINGW)
+- target_link_libraries (H5make_libsettings "ws2_32.lib")
+-endif ()
+-if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
+- set_property(TARGET H5make_libsettings PROPERTY LINK_FLAGS "-O0")
+-endif ()
+-
+-add_custom_command (
+- OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
+- COMMAND $<TARGET_FILE:H5make_libsettings>
+- ARGS > ${HDF5_BINARY_DIR}/H5lib_settings.c
+- DEPENDS H5make_libsettings
+- WORKING_DIRECTORY ${HDF5_BINARY_DIR}
+-)
+
+ if (GENERATE_ERROR_HEADERS)
+ find_package (Perl)
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch
new file mode 100644
index 00000000..6f893787
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch
@@ -0,0 +1,50 @@
+From f76141864edf7100c1c29bec159ea629077a7fa0 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 29 Jan 2019 11:13:42 +0800
+Subject: [PATCH 2/2] Remove suffix `-shared' from shared library name
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ CMakeLists.txt | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9af14d5..05100e3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -153,18 +153,18 @@ set (HDF5_F90_TEST_LIB_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-static")
+ set (HDF5_F90_C_TEST_LIB_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-static")
+ set (HDF5_HL_F90_LIB_TARGET "${HDF5_HL_F90_LIB_CORENAME}-static")
+ set (HDF5_HL_F90_C_LIB_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-static")
+-set (HDF5_LIBSH_TARGET "${HDF5_LIB_CORENAME}-shared")
+-set (HDF5_TEST_LIBSH_TARGET "${HDF5_TEST_LIB_CORENAME}-shared")
+-set (HDF5_CPP_LIBSH_TARGET "${HDF5_CPP_LIB_CORENAME}-shared")
+-set (HDF5_HL_LIBSH_TARGET "${HDF5_HL_LIB_CORENAME}-shared")
+-set (HDF5_HL_CPP_LIBSH_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-shared")
+-set (HDF5_TOOLS_LIBSH_TARGET "${HDF5_TOOLS_LIB_CORENAME}-shared")
+-set (HDF5_F90_LIBSH_TARGET "${HDF5_F90_LIB_CORENAME}-shared")
+-set (HDF5_F90_C_LIBSH_TARGET "${HDF5_F90_C_LIB_CORENAME}-shared")
+-set (HDF5_F90_TEST_LIBSH_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-shared")
+-set (HDF5_F90_C_TEST_LIBSH_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-shared")
+-set (HDF5_HL_F90_LIBSH_TARGET "${HDF5_HL_F90_LIB_CORENAME}-shared")
+-set (HDF5_HL_F90_C_LIBSH_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-shared")
++set (HDF5_LIBSH_TARGET "${HDF5_LIB_CORENAME}")
++set (HDF5_TEST_LIBSH_TARGET "${HDF5_TEST_LIB_CORENAME}")
++set (HDF5_CPP_LIBSH_TARGET "${HDF5_CPP_LIB_CORENAME}")
++set (HDF5_HL_LIBSH_TARGET "${HDF5_HL_LIB_CORENAME}")
++set (HDF5_HL_CPP_LIBSH_TARGET "${HDF5_HL_CPP_LIB_CORENAME}")
++set (HDF5_TOOLS_LIBSH_TARGET "${HDF5_TOOLS_LIB_CORENAME}")
++set (HDF5_F90_LIBSH_TARGET "${HDF5_F90_LIB_CORENAME}")
++set (HDF5_F90_C_LIBSH_TARGET "${HDF5_F90_C_LIB_CORENAME}")
++set (HDF5_F90_TEST_LIBSH_TARGET "${HDF5_F90_TEST_LIB_CORENAME}")
++set (HDF5_F90_C_TEST_LIBSH_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}")
++set (HDF5_HL_F90_LIBSH_TARGET "${HDF5_HL_F90_LIB_CORENAME}")
++set (HDF5_HL_F90_C_LIBSH_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}")
+
+ #-----------------------------------------------------------------------------
+ # Define some CMake variables for use later in the project
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c
new file mode 100755
index 00000000..8057a7ad
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c
@@ -0,0 +1,975 @@
+/* Generated automatically by H5detect -- do not edit */
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Created: Mar 5, 2019
+ * root <root@qemuarm>
+ *
+ * Purpose: This machine-generated source code contains
+ * information about the various integer and
+ * floating point numeric formats found on this
+ * architecture. The parameters below should be
+ * checked carefully and errors reported to the
+ * HDF5 maintainer.
+ *
+ * Each of the numeric formats listed below are
+ * printed from most significant bit to least
+ * significant bit even though the actual bytes
+ * might be stored in a different order in
+ * memory. The integers above each binary byte
+ * indicate the relative order of the bytes in
+ * memory; little-endian machines have
+ * decreasing numbers while big-endian machines
+ * have increasing numbers.
+ *
+ * The fields of the numbers are printed as
+ * letters with `S' for the mantissa sign bit,
+ * `M' for the mantissa magnitude, and `E' for
+ * the exponent. The exponent has an associated
+ * bias which can be subtracted to find the
+ * true exponent. The radix point is assumed
+ * to be before the first `M' bit. Any bit
+ * of a floating-point value not falling into one
+ * of these categories is printed as a question
+ * mark. Bits of integer types are printed as
+ * `I' for 2's complement and `U' for magnitude.
+ *
+ * If the most significant bit of the normalized
+ * mantissa (always a `1' except for `0.0') is
+ * not stored then an `implicit=yes' appears
+ * under the field description. In thie case,
+ * the radix point is still assumed to be
+ * before the first `M' but after the implicit
+ * bit.
+ *
+ * Modifications:
+ *
+ * DO NOT MAKE MODIFICATIONS TO THIS FILE!
+ * It was generated by code in `H5detect.c'.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+/****************/
+/* Module Setup */
+/****************/
+
+#define H5T_PACKAGE /*suppress error about including H5Tpkg.h*/
+
+
+/***********/
+/* Headers */
+/***********/
+#include "H5private.h" /* Generic Functions */
+#include "H5Eprivate.h" /* Error handling */
+#include "H5FLprivate.h" /* Free Lists */
+#include "H5Iprivate.h" /* IDs */
+#include "H5Tpkg.h" /* Datatypes */
+
+
+/****************/
+/* Local Macros */
+/****************/
+
+
+/******************/
+/* Local Typedefs */
+/******************/
+
+
+/********************/
+/* Package Typedefs */
+/********************/
+
+
+/********************/
+/* Local Prototypes */
+/********************/
+
+
+/********************/
+/* Public Variables */
+/********************/
+
+
+/*****************************/
+/* Library Private Variables */
+/*****************************/
+
+
+/*********************/
+/* Package Variables */
+/*********************/
+
+
+
+/*******************/
+/* Local Variables */
+/*******************/
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5TN_init_interface
+ *
+ * Purpose: Initialize pre-defined native datatypes from code generated
+ * during the library configuration by H5detect.
+ *
+ * Return: Success: non-negative
+ * Failure: negative
+ *
+ * Programmer: Robb Matzke
+ * Wednesday, December 16, 1998
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5TN_init_interface(void)
+{
+ H5T_t *dt = NULL;
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI(FAIL)
+
+ /*
+ * 0
+ * IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_SCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_SCHAR_ALIGN_g = 1;
+ H5T_NATIVE_SCHAR_COMP_ALIGN_g = 1;
+
+ /*
+ * 0
+ * UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UCHAR_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_SHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_SHORT_ALIGN_g = 1;
+ H5T_NATIVE_SHORT_COMP_ALIGN_g = 2;
+
+ /*
+ * 1 0
+ * UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_USHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_USHORT_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_ALIGN_g = 1;
+ H5T_NATIVE_INT_COMP_ALIGN_g = 4;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_LONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_LONG_ALIGN_g = 1;
+ H5T_NATIVE_LONG_COMP_ALIGN_g = 4;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_ULONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_ULONG_ALIGN_g = 1;
+
+ /*
+ * 0
+ * IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_LEAST8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_LEAST8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_FAST8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_FAST8_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT16_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT16_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_LEAST16_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_LEAST16_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_FAST16_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_FAST16_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT32_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT32_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_LEAST32_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_LEAST32_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_FAST32_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_FAST32_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_LEAST64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_LEAST64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_FAST64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_FAST64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_LLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_LLONG_ALIGN_g = 1;
+ H5T_NATIVE_LLONG_COMP_ALIGN_g = 8;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_ULLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_ULLONG_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
+ * Implicit bit? yes
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_FLOAT;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.f.sign = 31;
+ dt->shared->u.atomic.u.f.epos = 23;
+ dt->shared->u.atomic.u.f.esize = 8;
+ dt->shared->u.atomic.u.f.ebias = 0x0000007f;
+ dt->shared->u.atomic.u.f.mpos = 0;
+ dt->shared->u.atomic.u.f.msize = 23;
+ dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
+ dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
+ if((H5T_NATIVE_FLOAT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_FLOAT_ALIGN_g = 1;
+ H5T_NATIVE_FLOAT_COMP_ALIGN_g = 4;
+
+ /*
+ * 7 6 5 4
+ * SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM
+ * 3 2 1 0
+ * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
+ * Implicit bit? yes
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_FLOAT;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.f.sign = 63;
+ dt->shared->u.atomic.u.f.epos = 52;
+ dt->shared->u.atomic.u.f.esize = 11;
+ dt->shared->u.atomic.u.f.ebias = 0x000003ff;
+ dt->shared->u.atomic.u.f.mpos = 0;
+ dt->shared->u.atomic.u.f.msize = 52;
+ dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
+ dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
+ if((H5T_NATIVE_DOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_DOUBLE_ALIGN_g = 1;
+ H5T_NATIVE_DOUBLE_COMP_ALIGN_g = 8;
+
+ /*
+ * 7 6 5 4
+ * SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM
+ * 3 2 1 0
+ * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
+ * Implicit bit? yes
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_FLOAT;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.f.sign = 63;
+ dt->shared->u.atomic.u.f.epos = 52;
+ dt->shared->u.atomic.u.f.esize = 11;
+ dt->shared->u.atomic.u.f.ebias = 0x000003ff;
+ dt->shared->u.atomic.u.f.mpos = 0;
+ dt->shared->u.atomic.u.f.msize = 52;
+ dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
+ dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
+ if((H5T_NATIVE_LDOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_LDOUBLE_ALIGN_g = 1;
+ H5T_NATIVE_LDOUBLE_COMP_ALIGN_g = 8;
+
+ /* Set the native order for this machine */
+ H5T_native_order_g = H5T_ORDER_LE;
+
+ /* Structure alignment for pointers, hvl_t, hobj_ref_t, hdset_reg_ref_t */
+ H5T_POINTER_COMP_ALIGN_g = 4;
+ H5T_HVL_COMP_ALIGN_g = 4;
+ H5T_HOBJREF_COMP_ALIGN_g = 8;
+ H5T_HDSETREGREF_COMP_ALIGN_g = 1;
+
+done:
+ if(ret_value < 0) {
+ if(dt != NULL) {
+ dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
+ dt = H5FL_FREE(H5T_t, dt);
+ } /* end if */
+ } /* end if */
+
+ FUNC_LEAVE_NOAPI(ret_value);
+} /* end H5TN_init_interface() */
+
+/****************************************/
+/* ALIGNMENT and signal-handling status */
+/****************************************/
+/* Signal() support: yes */
+/* setjmp() support: yes */
+/* longjmp() support: yes */
+/* sigsetjmp() support: yes */
+/* siglongjmp() support: yes */
+/* sigprocmask() support: yes */
+
+/******************************/
+/* signal handlers statistics */
+/******************************/
+/* signal_handlers tested: 15 times */
+/* sigbus_handler called: 5 times */
+/* sigsegv_handler called: 5 times */
+/* sigill_handler called: 5 times */
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c
new file mode 100644
index 00000000..85f79a6a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c
@@ -0,0 +1,991 @@
+/* Generated automatically by H5detect -- do not edit */
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Created: Jan 29, 2019
+ * root <root@qemux86-64>
+ *
+ * Purpose: This machine-generated source code contains
+ * information about the various integer and
+ * floating point numeric formats found on this
+ * architecture. The parameters below should be
+ * checked carefully and errors reported to the
+ * HDF5 maintainer.
+ *
+ * Each of the numeric formats listed below are
+ * printed from most significant bit to least
+ * significant bit even though the actual bytes
+ * might be stored in a different order in
+ * memory. The integers above each binary byte
+ * indicate the relative order of the bytes in
+ * memory; little-endian machines have
+ * decreasing numbers while big-endian machines
+ * have increasing numbers.
+ *
+ * The fields of the numbers are printed as
+ * letters with `S' for the mantissa sign bit,
+ * `M' for the mantissa magnitude, and `E' for
+ * the exponent. The exponent has an associated
+ * bias which can be subtracted to find the
+ * true exponent. The radix point is assumed
+ * to be before the first `M' bit. Any bit
+ * of a floating-point value not falling into one
+ * of these categories is printed as a question
+ * mark. Bits of integer types are printed as
+ * `I' for 2's complement and `U' for magnitude.
+ *
+ * If the most significant bit of the normalized
+ * mantissa (always a `1' except for `0.0') is
+ * not stored then an `implicit=yes' appears
+ * under the field description. In thie case,
+ * the radix point is still assumed to be
+ * before the first `M' but after the implicit
+ * bit.
+ *
+ * Modifications:
+ *
+ * DO NOT MAKE MODIFICATIONS TO THIS FILE!
+ * It was generated by code in `H5detect.c'.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+/****************/
+/* Module Setup */
+/****************/
+
+#define H5T_PACKAGE /*suppress error about including H5Tpkg.h*/
+
+
+/***********/
+/* Headers */
+/***********/
+#include "H5private.h" /* Generic Functions */
+#include "H5Eprivate.h" /* Error handling */
+#include "H5FLprivate.h" /* Free Lists */
+#include "H5Iprivate.h" /* IDs */
+#include "H5Tpkg.h" /* Datatypes */
+
+
+/****************/
+/* Local Macros */
+/****************/
+
+
+/******************/
+/* Local Typedefs */
+/******************/
+
+
+/********************/
+/* Package Typedefs */
+/********************/
+
+
+/********************/
+/* Local Prototypes */
+/********************/
+
+
+/********************/
+/* Public Variables */
+/********************/
+
+
+/*****************************/
+/* Library Private Variables */
+/*****************************/
+
+
+/*********************/
+/* Package Variables */
+/*********************/
+
+
+
+/*******************/
+/* Local Variables */
+/*******************/
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5TN_init_interface
+ *
+ * Purpose: Initialize pre-defined native datatypes from code generated
+ * during the library configuration by H5detect.
+ *
+ * Return: Success: non-negative
+ * Failure: negative
+ *
+ * Programmer: Robb Matzke
+ * Wednesday, December 16, 1998
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5TN_init_interface(void)
+{
+ H5T_t *dt = NULL;
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI(FAIL)
+
+ /*
+ * 0
+ * IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_SCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_SCHAR_ALIGN_g = 1;
+ H5T_NATIVE_SCHAR_COMP_ALIGN_g = 1;
+
+ /*
+ * 0
+ * UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UCHAR_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_SHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_SHORT_ALIGN_g = 1;
+ H5T_NATIVE_SHORT_COMP_ALIGN_g = 2;
+
+ /*
+ * 1 0
+ * UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_USHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_USHORT_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_ALIGN_g = 1;
+ H5T_NATIVE_INT_COMP_ALIGN_g = 4;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_LONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_LONG_ALIGN_g = 1;
+ H5T_NATIVE_LONG_COMP_ALIGN_g = 8;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_ULONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_ULONG_ALIGN_g = 1;
+
+ /*
+ * 0
+ * IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_LEAST8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_LEAST8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_FAST8_ALIGN_g = 1;
+
+ /*
+ * 0
+ * UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 1;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 8;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_FAST8_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT16_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT16_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_LEAST16_ALIGN_g = 1;
+
+ /*
+ * 1 0
+ * UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 2;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 16;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_LEAST16_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_FAST16_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_FAST16_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT32_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT32_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_LEAST32_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_LEAST32_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_FAST32_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_FAST32_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_LEAST64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_LEAST64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_INT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_INT_FAST64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_UINT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_UINT_FAST64_ALIGN_g = 1;
+
+ /*
+ * 7 6 5 4
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * 3 2 1 0
+ * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
+ if((H5T_NATIVE_LLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_LLONG_ALIGN_g = 1;
+ H5T_NATIVE_LLONG_COMP_ALIGN_g = 8;
+
+ /*
+ * 7 6 5 4
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * 3 2 1 0
+ * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_INTEGER;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
+ if((H5T_NATIVE_ULLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_ULLONG_ALIGN_g = 1;
+
+ /*
+ * 3 2 1 0
+ * SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
+ * Implicit bit? yes
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_FLOAT;
+ dt->shared->size = 4;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 32;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.f.sign = 31;
+ dt->shared->u.atomic.u.f.epos = 23;
+ dt->shared->u.atomic.u.f.esize = 8;
+ dt->shared->u.atomic.u.f.ebias = 0x0000007f;
+ dt->shared->u.atomic.u.f.mpos = 0;
+ dt->shared->u.atomic.u.f.msize = 23;
+ dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
+ dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
+ if((H5T_NATIVE_FLOAT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_FLOAT_ALIGN_g = 1;
+ H5T_NATIVE_FLOAT_COMP_ALIGN_g = 4;
+
+ /*
+ * 7 6 5 4
+ * SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM
+ * 3 2 1 0
+ * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
+ * Implicit bit? yes
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_FLOAT;
+ dt->shared->size = 8;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 64;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.f.sign = 63;
+ dt->shared->u.atomic.u.f.epos = 52;
+ dt->shared->u.atomic.u.f.esize = 11;
+ dt->shared->u.atomic.u.f.ebias = 0x000003ff;
+ dt->shared->u.atomic.u.f.mpos = 0;
+ dt->shared->u.atomic.u.f.msize = 52;
+ dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
+ dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
+ if((H5T_NATIVE_DOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_DOUBLE_ALIGN_g = 1;
+ H5T_NATIVE_DOUBLE_COMP_ALIGN_g = 8;
+
+ /*
+ * 15 14 13 12
+ * ???????? ???????? ???????? ????????
+ * 11 10 9 8
+ * ???????? ???????? SEEEEEEE EEEEEEEE
+ * 7 6 5 4
+ * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
+ * 3 2 1 0
+ * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
+ * Implicit bit? no
+ * Alignment: none
+ */
+ if(NULL == (dt = H5T__alloc()))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
+ dt->shared->state = H5T_STATE_IMMUTABLE;
+ dt->shared->type = H5T_FLOAT;
+ dt->shared->size = 16;
+ dt->shared->u.atomic.order = H5T_ORDER_LE;
+ dt->shared->u.atomic.offset = 0;
+ dt->shared->u.atomic.prec = 80;
+ dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
+ dt->shared->u.atomic.u.f.sign = 79;
+ dt->shared->u.atomic.u.f.epos = 64;
+ dt->shared->u.atomic.u.f.esize = 15;
+ dt->shared->u.atomic.u.f.ebias = 0x00003fff;
+ dt->shared->u.atomic.u.f.mpos = 0;
+ dt->shared->u.atomic.u.f.msize = 64;
+ dt->shared->u.atomic.u.f.norm = H5T_NORM_NONE;
+ dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
+ if((H5T_NATIVE_LDOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
+ H5T_NATIVE_LDOUBLE_ALIGN_g = 1;
+ H5T_NATIVE_LDOUBLE_COMP_ALIGN_g = 16;
+
+ /* Set the native order for this machine */
+ H5T_native_order_g = H5T_ORDER_LE;
+
+ /* Structure alignment for pointers, hvl_t, hobj_ref_t, hdset_reg_ref_t */
+ H5T_POINTER_COMP_ALIGN_g = 8;
+ H5T_HVL_COMP_ALIGN_g = 8;
+ H5T_HOBJREF_COMP_ALIGN_g = 8;
+ H5T_HDSETREGREF_COMP_ALIGN_g = 1;
+
+done:
+ if(ret_value < 0) {
+ if(dt != NULL) {
+ dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
+ dt = H5FL_FREE(H5T_t, dt);
+ } /* end if */
+ } /* end if */
+
+ FUNC_LEAVE_NOAPI(ret_value);
+} /* end H5TN_init_interface() */
+
+/****************************************/
+/* ALIGNMENT and signal-handling status */
+/****************************************/
+/* Signal() support: yes */
+/* setjmp() support: yes */
+/* longjmp() support: yes */
+/* sigsetjmp() support: yes */
+/* siglongjmp() support: yes */
+/* sigprocmask() support: yes */
+
+/******************************/
+/* signal handlers statistics */
+/******************************/
+/* signal_handlers tested: 15 times */
+/* sigbus_handler called: 5 times */
+/* sigsegv_handler called: 5 times */
+/* sigill_handler called: 5 times */
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5lib_settings.c b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5lib_settings.c
new file mode 100644
index 00000000..c243aee1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5lib_settings.c
@@ -0,0 +1,98 @@
+/* Generated automatically by H5make_libsettings -- do not edit */
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Created: Jan 29, 2019
+ * root <root@qemux86-64>
+ *
+ * Purpose: This machine-generated source code contains
+ * information about the library build configuration
+ *
+ * Modifications:
+ *
+ * DO NOT MAKE MODIFICATIONS TO THIS FILE!
+ * It was generated by code in `H5make_libsettings.c'.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+char H5libhdf5_settings[]=
+ " SUMMARY OF THE HDF5 CONFIGURATION\n"
+ " =================================\n"
+ "\n"
+ "General Information:\n"
+ "-------------------\n"
+ " HDF5 Version: 1.8.19\n"
+ " Configured on: 2019-01-29\n"
+ " Configured by: Ninja\n"
+ " Configure mode: CMAKE 3.12.2\n"
+ " Host system: Linux-4.4.0-31-generic\n"
+ " Uname information: Linux\n"
+ " Byte sex: little-endian\n"
+ " Libraries: \n"
+ " Installation point: /usr\n"
+ "\n"
+ "Compiling Options:\n"
+ "------------------\n"
+ " Compilation Mode: \n"
+ " H5_CFLAGS: \n"
+ " AM_CFLAGS: \n"
+ " CPPFLAGS: \n"
+ " H5_CPPFLAGS: \n"
+ " AM_CPPFLAGS: \n"
+ " Shared C Library: YES\n"
+ " Static C Library: YES\n"
+ " Statically Linked Executables: OFF\n"
+ " LDFLAGS: -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed\n"
+ " AM_LDFLAGS: \n"
+ " Extra libraries: m;dl\n"
+ " Debugged Packages: \n"
+ " API Tracing: OFF\n"
+ "\n"
+ "Languages:\n"
+ "----------\n"
+ " Fortran: OFF\n"
+ " Fortran Compiler: \n"
+ " Fortran 2003 Compiler: \n"
+ " Fortran Flags: \n"
+ " H5 Fortran Flags: \n"
+ " AM Fortran Flags: \n"
+ " Shared Fortran Library: YES\n"
+ " Static Fortran Library: YES\n"
+ "\n"
+ " H5 C++ Flags: \n"
+ " AM C++ Flags: \n"
+ " Shared C++ Library: YES\n"
+ " Static C++ Library: YES\n"
+ "\n"
+ "Features:\n"
+ "---------\n"
+ " Parallel HDF5: OFF\n"
+ " High Level library: ON\n"
+ " Threadsafety: OFF\n"
+ " Default API Mapping: v18\n"
+ " With Deprecated Public Symbols: ON\n"
+ " I/O filters (external): \n"
+ " MPE: \n"
+ " Direct VFD: \n"
+ " dmalloc: \n"
+ "Clear file buffers before write: ON\n"
+ " Using memory checker: OFF\n"
+ " Function Stack Tracing: OFF\n"
+ " Strict File Format Checks: OFF\n"
+ " Optimization Instrumentation: \n"
+;
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb b/external/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb
new file mode 100644
index 00000000..9af2b671
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb
@@ -0,0 +1,57 @@
+SUMMARY = "Unique technology suite that makes possible the management of \
+extremely large and complex data collections"
+HOMEPAGE = "https://www.hdfgroup.org/"
+SECTION = "libs"
+
+LICENSE = "HDF5"
+LIC_FILES_CHKSUM = "file://COPYING;md5=57e5351b17591e659eedae107265c606"
+
+inherit cmake siteinfo
+
+SRC_URI = " \
+ https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${PV}/src/${BPN}-${PV}.tar.bz2 \
+ file://H5lib_settings.c \
+ file://H5Tinit-64.c \
+ file://H5Tinit-32.c \
+ file://0001-cross-compiling-support.patch \
+ file://0002-Remove-suffix-shared-from-shared-library-name.patch \
+"
+SRC_URI[md5sum] = "2d2408f2a9dfb5c7b79998002e9a90e9"
+SRC_URI[sha256sum] = "e5b1b1dee44a64b795a91c3321ab7196d9e0871fe50d42969761794e3899f40d"
+
+FILES_${PN} += "${libdir}/libhdf5.settings ${datadir}/*"
+
+EXTRA_OECMAKE = " \
+ -DTEST_LFS_WORKS_RUN=0 \
+ -DTEST_LFS_WORKS_RUN__TRYRUN_OUTPUT=0 \
+ -DH5_PRINTF_LL_TEST_RUN=1 \
+ -DH5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT='8' \
+ -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN=0 \
+ -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT= \
+ -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN=0 \
+ -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT= \
+ -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN=0 \
+ -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT= \
+ -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN=0 \
+ -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT= \
+ -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN=0 \
+ -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT= \
+ -DCMAKE_INSTALL_PREFIX='${prefix}' \
+ -DHDF5_INSTALL_LIB_DIR='${baselib}' \
+"
+
+do_unpack[postfuncs] += "gen_hd5file"
+gen_hd5file() {
+ install -m 544 ${WORKDIR}/H5lib_settings.c ${S}
+ install -m 544 ${WORKDIR}/H5Tinit-${SITEINFO_BITS}.c ${S}/H5Tinit.c
+}
+
+do_install_append() {
+ # Used for generating config files on target
+ install -m 755 ${B}/bin/H5detect ${D}${bindir}
+ install -m 755 ${B}/bin/H5make_libsettings ${D}${bindir}
+}
+
+BBCLASSEXTEND = "native"
+
+SRC_DISTRIBUTE_LICENSES += "HDF5"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Ask-for-python3-specifically.patch b/external/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Ask-for-python3-specifically.patch
new file mode 100644
index 00000000..6153bded
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Ask-for-python3-specifically.patch
@@ -0,0 +1,26 @@
+From 08aca4816cc798fce58b6235c26585a0063fa8af Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 26 Nov 2019 10:43:49 -0800
+Subject: [PATCH] Ask for python3 specifically
+
+python2 is on its way out
+
+Upstream-Status: Submitted [https://github.com/hishamhm/htop/pull/968]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/MakeHeader.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/MakeHeader.py b/scripts/MakeHeader.py
+index 7c48fdd..7a7586d 100755
+--- a/scripts/MakeHeader.py
++++ b/scripts/MakeHeader.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ import os, sys, string, io
+ try:
+ from StringIO import StringIO
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb b/external/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb
index 01c856d1..64eb0c57 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb
@@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c312653532e8e669f30e5ec8bdc23be3"
DEPENDS = "ncurses"
SRC_URI = "http://hisham.hm/htop/releases/${PV}/${BP}.tar.gz \
- file://0001-Use-pkg-config.patch"
+ file://0001-Use-pkg-config.patch \
+ file://0001-Ask-for-python3-specifically.patch \
+ "
SRC_URI[md5sum] = "0d816b6beed31edc75babcfbf863ffa8"
SRC_URI[sha256sum] = "d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb b/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb
new file mode 100644
index 00000000..3da67d1e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb
@@ -0,0 +1,151 @@
+SUMMARY = "Hunspell dictionaries used by Maliit"
+
+#Provided by Titus Wormer (wooorm) https://github.com/wooorm/dictionaries
+
+LICENSE = "MIT"
+LICENSE_dictionaries/bg = "LGPL 2.1"
+LICENSE_dictionaries/br = "GPL 3.0"
+LICENSE_dictionaries/ca-valencia = "GPL 2.0 & LGPL-2.1"
+LICENSE_dictionaries/ca = "GPL 2.0 & LGPL-2.1"
+LICENSE_dictionaries/cs = "GPL-2.0"
+LICENSE_dictionaries/da = "GPL-2.0"
+LICENSE_dictionaries/de-AT = "GPL-3.0"
+LICENSE_dictionaries/de-CH = "GPL-3.0"
+LICENSE_dictionaries/de = "GPL-3.0"
+LICENSE_dictionaries/el-polyton = "GPL-2.0"
+LICENSE_dictionaries/el = "GPL-2.0"
+LICENSE_dictionaries/en-AU = "LGPL-2.0"
+LICENSE_dictionaries/en-CA = "MIT & BSD"
+LICENSE_dictionaries/en-GB = "LGPL-2.0"
+LICENSE_dictionaries/en-US = "MIT & BSD"
+LICENSE_dictionaries/en-ZA = "LGPL 2.1"
+LICENSE_dictionaries/eo = "GPL-2.0"
+LICENSE_dictionaries/es = "GPL-3.0"
+LICENSE_dictionaries/et = "LGPL-2.1"
+LICENSE_dictionaries/eu = "GPL-2.0"
+LICENSE_dictionaries/fo = "GPL-2.0"
+LICENSE_dictionaries/fr = "MPL-2.0"
+LICENSE_dictionaries/fur = "GPL-2.0"
+LICENSE_dictionaries/fy = "GPL-3.0"
+LICENSE_dictionaries/ga = "GPL-2.0"
+LICENSE_dictionaries/gd = "GPL-3.0"
+LICENSE_dictionaries/gl = "GPL-3.0"
+LICENSE_dictionaries/he = "AGPL-3.0"
+LICENSE_dictionaries/hr = "GPL-3.0"
+LICENSE_dictionaries/hu = "GPL-2.0"
+LICENSE_dictionaries/hy-arevela = "GPL-2.0"
+LICENSE_dictionaries/hy-arevmda = "GPL-2.0"
+LICENSE_dictionaries/ia = "GPL-3.0"
+LICENSE_dictionaries/ie = "Apache-2.0"
+LICENSE_dictionaries/is = "CC BY-SA 3.0 & CC BY 4.0"
+LICENSE_dictionaries/it = "GPL-3.0"
+LICENSE_dictionaries/ko = "MPL-1.1 & GPL-2.0 & LGPL-2.1"
+LICENSE_dictionaries/la = "GPL-3.0"
+LICENSE_dictionaries/lb = "EUPL-1.1"
+LICENSE_dictionaries/lt = "Other"
+LICENSE_dictionaries/ltg = "LGPL-2.1"
+LICENSE_dictionaries/lv = "LGPL-2.1"
+LICENSE_dictionaries/mk = "GPL-3.0"
+LICENSE_dictionaries/mn = "GPL-2.0"
+LICENSE_dictionaries/nb = "GPL-2.0"
+LICENSE_dictionaries/nds = "GPL-2.0"
+LICENSE_dictionaries/ne = "LGPL-2.1"
+LICENSE_dictionaries/nl = "BSD"
+LICENSE_dictionaries/nn = "GPL-2.0"
+LICENSE_dictionaries/pl = "GPL-3.0"
+LICENSE_dictionaries/pt-BR = "LGPL 2.1"
+LICENSE_dictionaries/pt = "GPL-2.0"
+LICENSE_dictionaries/ro = "GPL-2.0"
+LICENSE_dictionaries/ru = "BSD"
+LICENSE_dictionaries/rw = "GPL-3.0"
+LICENSE_dictionaries/sk = "GPL-2.0"
+LICENSE_dictionaries/sl = "GPL-2.0"
+LICENSE_dictionaries/sr-Latn = "LGPL 3.0"
+LICENSE_dictionaries/sr = "LGPL 3.0"
+LICENSE_dictionaries/sv = "LGPL 3.0"
+LICENSE_dictionaries/tr = "MIT"
+LICENSE_dictionaries/uk = "GPL 2.0"
+LICENSE_dictionaries/vi = "GPL 3.0"
+LIC_FILES_CHKSUM = " \
+ file://dictionaries/bg/license;md5=ab14e2ded1a43b84be9aba2be64b9814 \
+ file://dictionaries/br/license;md5=2e046c64edc0a4e47fb3ea614e6c82c4 \
+ file://dictionaries/ca-valencia/license;md5=da087cefab7bc3b7687203198a0042ec \
+ file://dictionaries/ca/license;md5=da087cefab7bc3b7687203198a0042ec \
+ file://dictionaries/cs/license;md5=e0496d626a53ad31addea1869c1bed53 \
+ file://dictionaries/da/license;md5=b7678b3e997999043be3503dc717d96d \
+ file://dictionaries/de-AT/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \
+ file://dictionaries/de-CH/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \
+ file://dictionaries/de/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \
+ file://dictionaries/el-polyton/license;md5=d952bcbf1c67129920f03536197c7281 \
+ file://dictionaries/el/license;md5=90b757dd77b1ebbf473eef31037a59e8 \
+ file://dictionaries/en-AU/license;md5=dae002c846eab5e1132ba2e00692dc68 \
+ file://dictionaries/en-CA/license;md5=6c205de0cbcae4b42cf992bb355a5346 \
+ file://dictionaries/en-GB/license;md5=dd6d2bbd7b7f4519448f2b995fd99cd4 \
+ file://dictionaries/en-US/license;md5=244a909f295640bfafeb8d9e522d454b \
+ file://dictionaries/en-ZA/license;md5=56e4b4ca965de3bba6db42494cc34576 \
+ file://dictionaries/eo/license;md5=eb723b61539feef013de476e68b5c50a \
+ file://dictionaries/es/license;md5=b41cabf4e6f2a7d951684246518bea4f \
+ file://dictionaries/et/readme.md;md5=59d851f12cc280f893b245938abc1905 \
+ file://dictionaries/fo/license;md5=fa9ce505d07423c9f8e6c1073f4806c2 \
+ file://dictionaries/fr/license;md5=2346c7bffe6ab4d51730ab3116817c72 \
+ file://dictionaries/fur/license;md5=28ac8c6e75d6c44b60016a8c850036e3 \
+ file://dictionaries/fy/license;md5=c05115c38ca2a4aa95cb9c9b00ed78df \
+ file://dictionaries/ga/license;md5=ee7d601b5d3be3856a169afa71eb3376 \
+ file://dictionaries/gd/license;md5=b5f39c26d691733095323a59d0f02216 \
+ file://dictionaries/gl/license;md5=d32239bcb673463ab874e80d47fae504 \
+ file://dictionaries/he/license;md5=e627dcdf6878e7eca4454e39d1489271 \
+ file://dictionaries/hr/license;md5=4b03c9b6e41a6ef12b4e31d2fb224d46 \
+ file://dictionaries/hu/license;md5=c9755266de74fdbe69636bdb3076b603 \
+ file://dictionaries/hy-arevela/license;md5=c690b6bc807de0a6dcd62db030843ee4 \
+ file://dictionaries/hy-arevmda/license;md5=c690b6bc807de0a6dcd62db030843ee4 \
+ file://dictionaries/ia/license;md5=25c37bbb54f9ab5da9b4bcdda2e2f68e \
+ file://dictionaries/ie/license;md5=fa818a259cbed7ce8bc2a22d35a464fc \
+ file://dictionaries/is/license;md5=db5e38a312b91d717561514767c95999 \
+ file://dictionaries/it/license;md5=31d06285633a89f4d0267895ef8b7107 \
+ file://dictionaries/ko/license;md5=5ff35d5b0523cccb3049edff77c73a10 \
+ file://dictionaries/la/license;md5=9bc08ae2930eb806cee44bbae905b7ba \
+ file://dictionaries/lb/license;md5=5d6417331778645577c40c3329a3d559 \
+ file://dictionaries/lt/license;md5=3d1264d7017271c6731fefaba912a15f \
+ file://dictionaries/ltg/license;md5=72c786f9d43bb07c101766457fcf6435 \
+ file://dictionaries/lv/license;md5=957d42bd58feff079daa6ede1d215585 \
+ file://dictionaries/mk/license;md5=c05a3747d4c871f3c6378909668ec72d \
+ file://dictionaries/mn/license;md5=93a1be573a1bd039cb4e17c21ed800a7 \
+ file://dictionaries/nb/license;md5=6b50c67a5ee9ba5af1b4ab6c009b66f2 \
+ file://dictionaries/nds/license;md5=08c69ee106e67a1085d45dc723ae5396 \
+ file://dictionaries/ne/license;md5=620e39f1aec72b0bdbc922128dd08267 \
+ file://dictionaries/nl/license;md5=f9181fe437dd701ce6ae690f6e09b119 \
+ file://dictionaries/nn/license;md5=9d372c99817cb42bdd1f6c0acb7f4d11 \
+ file://dictionaries/pl/license;md5=5d0961c4eee8448d5f3738b1ff04ebe8 \
+ file://dictionaries/pt-BR/license;md5=08a7e74543d3e612e7613f2959bedab0 \
+ file://dictionaries/pt/license;md5=53d8ed71b4053ef0ccfcf6b3f89880a8 \
+ file://dictionaries/ro/license;md5=db18b1d6cfc0d4ca32371cb76900de2c \
+ file://dictionaries/ru/license;md5=a3d4108679bd3b76ec1a86520b5362cf \
+ file://dictionaries/rw/license;md5=784d7dc7357bd924e8d5642892bf1b6b \
+ file://dictionaries/sk/license;md5=7fb3956bf960db433deedec7746d33c5 \
+ file://dictionaries/sl/license;md5=4965d53062ea2045837facf483475ac7 \
+ file://dictionaries/sr-Latn/license;md5=0139a4b8ce316882cceae8924030950d \
+ file://dictionaries/sr/license;md5=0139a4b8ce316882cceae8924030950d \
+ file://dictionaries/sv/license;md5=fe5c586fe56d04fbdc44df187129ac29 \
+ file://dictionaries/tr/readme.md;md5=27c07bbfa543cfdd163f2dad491703bd \
+ file://dictionaries/uk/license;md5=7702f203b58979ebbc31bfaeb44f219c \
+ file://dictionaries/vi/license;md5=8d9ecb4e7577ce760029786aba7ecec5 \
+"
+
+RDEPENDS_${PN} = "hunspell"
+
+PV = "0.0.0+git${SRCPV}"
+SRCREV = "820a65e539e34a3a8c2a855d2450b84745c624ee"
+SRC_URI = "git://github.com/wooorm/dictionaries.git"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ for LANGUAGE in `ls -d1 ${S}/dictionaries/*` ; do
+ LANGUAGE_DIR=`basename $LANGUAGE`
+ install -D -m0644 $LANGUAGE/index.dic ${D}${datadir}/hunspell/$LANGUAGE_DIR.dic
+ install -D -m0644 $LANGUAGE/index.aff ${D}${datadir}/hunspell/$LANGUAGE_DIR.aff
+ install -D -m0644 $LANGUAGE/LICENSE ${D}${datadir}/hunspell/LICENSE-$LANGUAGE_DIR 2>/dev/null || echo "No LICENSE for language $LANGUAGE"
+ done
+}
+
+FILES_${PN} = "${datadir}/hunspell"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb b/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb
deleted file mode 100644
index 5feea898..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A spell checker and morphological analyzer library"
-HOMEPAGE = "http://hunspell.github.io/"
-LICENSE = "GPLv3 | LGPLv3"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
-"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "1a54504cb470aafa6530bb372a10dc04"
-SRC_URI[sha256sum] = "3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4"
-
-inherit autotools pkgconfig gettext
-
-RDEPENDS_${PN} = "perl"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb b/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
new file mode 100644
index 00000000..c2fb4fa0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "A spell checker and morphological analyzer library"
+HOMEPAGE = "http://hunspell.github.io/"
+LICENSE = "GPLv2 | LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=75859989545e37968a99b631ef42722e \
+ file://COPYING.LESSER;md5=c96ca6c1de8adc025adfada81d06fba5 \
+"
+
+SRCREV = "4ddd8ed5ca6484b930b111aec50c2750a6119a0f"
+SRC_URI = "git://github.com/${BPN}/${BPN}.git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gettext
+
+RDEPENDS_${PN} = "perl"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/external/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
index 8e8dbf5c..5f3e3f68 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
@@ -5,8 +5,8 @@ SECTION = "System/Base"
LICENSE = "GPL-2.0+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
-PV = "0.316+git${SRCPV}"
-SRCREV = "803819aef862ded2ce0737cd3cf642c633b68c35"
+PV = "0.333"
+SRCREV = "2de52be0d00015fa6cde70bb845fa9b86cf6f420"
SRC_URI = "git://github.com/vcrhonek/${BPN}.git"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.5.bb b/external/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.5.bb
index 0903e90d..986984d1 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.5.bb
@@ -13,7 +13,7 @@ SRC_URI = "git://github.com/meduketto/iksemel.git;protocol=https \
S = "${WORKDIR}/git"
-inherit autotools pkgconfig lib_package
+inherit autotools pkgconfig lib_package texinfo
# TLS support requires either openssl or gnutls (if both are enabled openssl will be used).
PACKAGECONFIG ?= "gnutls"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb b/external/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb
deleted file mode 100644
index 46cc78ed..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-SUMMARY = "ImageMagick is an image convertion tools"
-SECTION = "console/utils"
-LICENSE = "ImageMagick"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dad5a98f173fd3fa6958a1a58c6131c1"
-# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
-DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype"
-
-BASE_PV := "${PV}"
-PV .= "_7"
-SRC_URI = "git://github.com/ImageMagick/ImageMagick.git "
-SRCREV = "e12602b39b5e778240d286b6f9bbbc0fe3fb26c5"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig update-alternatives
-
-# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
-# if someone needs xml support then fix it first
-EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --disable-openmp --without-xml --disable-opencl"
-
-CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz"
-PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
-PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
-PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg"
-PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
-PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg"
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
-PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
-PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
-
-FILES_${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \
- ${datadir}/ImageMagick-7"
-
-FILES_${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a"
-
-FILES_${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*"
-
-BBCLASSEXTEND = "native"
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "animate compare composite conjure convert display \
- identify import mogrify montage stream"
-
-ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7"
-ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7"
-ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7"
-ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7"
-ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7"
-ALTERNATIVE_TARGET[display] = "${bindir}/display.im7"
-ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7"
-ALTERNATIVE_TARGET[import] = "${bindir}/import.im7"
-ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7"
-ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7"
-ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7"
-
-ALTERNATIVE_${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \
- convert.1 display.1 identify.1 import.1 mogrify.1 montage.1 stream.1"
-
-ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1"
-ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1"
-ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
-ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1"
-ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
-ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1"
-ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
-ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1"
-ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
-ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1"
-ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
-ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1"
-ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
-ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1"
-ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
-ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1"
-ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
-ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1"
-ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
-ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1"
-ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
-ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb b/external/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb
new file mode 100644
index 00000000..3f7d06e2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb
@@ -0,0 +1,87 @@
+SUMMARY = "ImageMagick is an image conversion toolkit"
+SECTION = "console/utils"
+HOMEPAGE = "https://www.imagemagick.org/"
+DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \
+editing raster and vector image files. It can read and write over 200 image file formats."
+LICENSE = "ImageMagick"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=41b4fa9af60c88e61484b02c0561181a"
+# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
+DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
+
+BASE_PV := "${PV}"
+PV .= "_13"
+SRC_URI = "git://github.com/ImageMagick/ImageMagick.git "
+SRCREV = "15b935d64f613b5a0fc9d3fead5c6ec1b0e3908f"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig update-alternatives
+
+# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
+# if someone needs xml support then fix it first
+EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --disable-openmp --without-xml --disable-opencl"
+
+CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz"
+PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
+PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
+PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg"
+PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
+PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg"
+PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
+PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
+PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
+
+FILES_${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \
+ ${datadir}/ImageMagick-7"
+
+FILES_${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a"
+
+FILES_${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*"
+
+BBCLASSEXTEND = "native"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "animate compare composite conjure convert display \
+ identify import mogrify montage stream"
+
+ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7"
+ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7"
+ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7"
+ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7"
+ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7"
+ALTERNATIVE_TARGET[display] = "${bindir}/display.im7"
+ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7"
+ALTERNATIVE_TARGET[import] = "${bindir}/import.im7"
+ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7"
+ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7"
+ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7"
+
+ALTERNATIVE_${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \
+ convert.1 display.1 identify.1 import.1 mogrify.1 montage.1 stream.1"
+
+ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1"
+ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1"
+ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
+ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1"
+ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
+ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1"
+ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
+ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1"
+ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
+ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1"
+ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
+ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1"
+ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
+ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1"
+ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
+ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1"
+ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
+ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1"
+ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
+ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1"
+ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
+ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb b/external/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb
index 5030c78a..227e2a7b 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb
@@ -2,14 +2,17 @@ SUMMARY = "C and C++ INI Library"
HOMEPAGE = "http://code.google.com/p/inih/"
PV = "0.0+gitr${SRCPV}"
PKGV = "${GITPKGVTAG}"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dae28cbf28207425e0d0b3eb835f4bde"
PR = "r3"
# The github repository provides a cmake and pkg-config integration
-SRCREV = "25078f7156eb8647b3b35dd25f9ae6f8c4ee0589"
-SRC_URI = "git://github.com/OSSystems/inih.git"
+SRCREV = "c858aff8c31fa63ef4d1e0176c10e5928cde9a23"
+SRC_URI = "git://github.com/OSSystems/inih.git \
+ "
+
+UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch b/external/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch
new file mode 100644
index 00000000..b666f00f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch
@@ -0,0 +1,63 @@
+Origin: Debian packaging
+From: Klee Dienes <klee@mit.edu>
+Date: Thu, 13 Feb 2014 07:03:26 -0500
+Subject: Add CMake support.
+
+---
+ CMakeLists.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 44 insertions(+)
+ create mode 100644 CMakeLists.txt
+
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,50 @@
++cmake_minimum_required (VERSION 2.8.8)
++
++project (iniparser)
++include (GNUInstallDirs)
++
++include_directories (src)
++
++set(INIPARSER_SRCS src/dictionary.c src/iniparser.c)
++set(INIPARSER_HDRS src/dictionary.h src/iniparser.h)
++
++add_library(iniparser-shared SHARED ${INIPARSER_SRCS} ${INIPARSER_HDRS})
++add_library(iniparser-static STATIC ${INIPARSER_SRCS} ${INIPARSER_HDRS})
++
++set_target_properties(iniparser-shared PROPERTIES SOVERSION 1)
++set_target_properties(iniparser-shared PROPERTIES OUTPUT_NAME iniparser)
++set_target_properties(iniparser-static PROPERTIES OUTPUT_NAME iniparser)
++
++install (TARGETS iniparser-shared
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
++install (TARGETS iniparser-static
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
++find_package(Doxygen)
++if (NOT DOXYGEN_FOUND)
++message(FATAL_ERROR "Doxygen is needed to build the documentation. Please install it correctly")
++endif()
++
++file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/iniparser.dox
++ "@INCLUDE = ${CMAKE_CURRENT_SOURCE_DIR}/doc/iniparser.dox\n"
++ "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}\n"
++ )
++
++add_custom_target (doc ALL
++ COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/iniparser.dox
++ SOURCES doc/iniparser.dox)
++
++enable_testing()
++
++add_test(NAME testsuite
++ COMMAND make
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test)
++
++install (FILES ${INIPARSER_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/iniparser)
++
++install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR})
diff --git a/external/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser_4.1.bb b/external/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser_4.1.bb
new file mode 100644
index 00000000..f4b553a5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser_4.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "The iniParser library is a simple C library offering INI file parsing services (both reading and writing)."
+SECTION = "libs"
+HOMEPAGE = "https://github.com/ndevilla/iniparser"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e02baf71c76e0650e667d7da133379ac"
+
+DEPENDS = "doxygen-native"
+
+SRC_URI = "git://github.com/ndevilla/iniparser.git;protocol=https \
+ file://Add-CMake-support.patch"
+
+# tag 4.1
+SRCREV= "0a38e85c9cde1e099ca3bf70083bd00f89c3e5b6"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-Makefile.am-add-build-rule-for-README.patch b/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-Makefile.am-add-build-rule-for-README.patch
new file mode 100644
index 00000000..2c7cd997
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-Makefile.am-add-build-rule-for-README.patch
@@ -0,0 +1,46 @@
+From 22bff509e2a0e5640994bc92ded62c383d99bc37 Mon Sep 17 00:00:00 2001
+From: Pierre-Jean Texier <pjtexier@koncepto.io>
+Date: Mon, 24 Feb 2020 21:44:45 +0100
+Subject: [PATCH] Makefile.am: add build rule for README
+
+Fixes:
+
+| configure.ac:17: installing 'config/config.sub'
+| configure.ac:16: installing 'config/install-sh'
+| configure.ac:16: installing 'config/missing'
+| Makefile.am: error: required file './README' not found
+| libinotifytools/src/Makefile.am: installing 'config/depcomp'
+
+Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/111]
+
+Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
+---
+ Makefile.am | 2 ++
+ autogen.sh | 1 -
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 56e4531..d08c8fe 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,6 +2,8 @@ ACLOCAL_AMFLAGS = -I m4
+
+ SUBDIRS = libinotifytools src man
+
++README: README.md
++
+ dist-hook:
+ # Automake official documentation states that dist-hook should assume files
+ # are not writable.
+diff --git a/autogen.sh b/autogen.sh
+index 48eb21d..31572c2 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -1,4 +1,3 @@
+ #!/bin/sh
+
+-cp README.md README
+ autoreconf --install "$@" || exit 1
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotify-nosys-fix-system-call-number.patch b/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotify-nosys-fix-system-call-number.patch
deleted file mode 100644
index 89b890dd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotify-nosys-fix-system-call-number.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-inotify-tools: fix __NR_inotify_add_watch system call number on _MIPS_SIM_ABI64
-
-The correct value should be the same as defined in
-linux/arch/mips/include/uapi/asm/unistd.h
-
-Upstream-Status: Summitted [https://github.com/rvoicilas/inotify-tools/pull/71]
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- libinotifytools/src/inotifytools/inotify-nosys.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libinotifytools/src/inotifytools/inotify-nosys.h b/libinotifytools/src/inotifytools/inotify-nosys.h
-index db76b2c..5f7b11b 100644
---- a/libinotifytools/src/inotifytools/inotify-nosys.h
-+++ b/libinotifytools/src/inotifytools/inotify-nosys.h
-@@ -100,8 +100,8 @@ struct inotify_event {
- # endif
- # if _MIPS_SIM == _MIPS_SIM_ABI64
- # define __NR_inotify_init (__NR_Linux + 243)
--# define __NR_inotify_add_watch (__NR_Linux + 243)
--# define __NR_inotify_rm_watch (__NR_Linux + 243)
-+# define __NR_inotify_add_watch (__NR_Linux + 244)
-+# define __NR_inotify_rm_watch (__NR_Linux + 245)
- # endif
- # if _MIPS_SIM == _MIPS_SIM_NABI32
- # define __NR_inotify_init (__NR_Linux + 247)
---
-1.7.10.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotifywait-fix-compile-error-with-GCC-6.patch b/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotifywait-fix-compile-error-with-GCC-6.patch
deleted file mode 100644
index ba042a24..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotifywait-fix-compile-error-with-GCC-6.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 7affb288d6c0726e7b1ebc317a878927b6ef0d02 Mon Sep 17 00:00:00 2001
-From: Andrea Galbusera <gizero@gmail.com>
-Date: Tue, 13 Sep 2016 08:10:29 +0200
-Subject: [PATCH] inotifywait: fix compile error with GCC 6
-
-Fails to compile with misleading-indentation error
-
-| src/inotifywait.c: In function 'output_event_csv':
-| src/inotifywait.c:126:5: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
-| if (filename != NULL)
-| ^~
-| src/inotifywait.c:129:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
-| printf("%s,", csv_escape( inotifytools_event_to_str( event->mask ) ) );
-| ^~~~~~
-| cc1: all warnings being treated as errors
-
-Fix indentation to resolve.
-
-Upstream-Status: Submitted [https://github.com/rvoicilas/inotify-tools/pull/66]
-
-Signed-off-by: Andrea Galbusera <gizero@gmail.com>
----
- src/inotifywait.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/inotifywait.c b/src/inotifywait.c
-index c5ce5e3..404a85b 100644
---- a/src/inotifywait.c
-+++ b/src/inotifywait.c
-@@ -122,9 +122,9 @@ void validate_format( char * fmt ) {
-
-
- void output_event_csv( struct inotify_event * event ) {
-- char *filename = csv_escape(inotifytools_filename_from_wd(event->wd));
-- if (filename != NULL)
-- printf("%s,", filename);
-+ char *filename = csv_escape(inotifytools_filename_from_wd(event->wd));
-+ if (filename != NULL)
-+ printf("%s,", filename);
-
- printf("%s,", csv_escape( inotifytools_event_to_str( event->mask ) ) );
- if ( event->len > 0 )
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb b/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb
index efc753d5..f42abeb2 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb
@@ -5,13 +5,12 @@ SECTION = "console/devel"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6"
-SRCREV = "1df9af4d6cd0f4af4b1b19254bcf056aed4ae395"
-PV = "3.14+git${SRCPV}"
+SRCREV = "cfa93aa19f81d85b63cd64da30c7499890d4c07d"
+PV = "3.20.2.2"
SRC_URI = "git://github.com/rvoicilas/${BPN} \
- file://inotifywait-fix-compile-error-with-GCC-6.patch \
- file://inotify-nosys-fix-system-call-number.patch \
- "
+ file://0001-Makefile.am-add-build-rule-for-README.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch b/external/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch
deleted file mode 100644
index 00f48e8a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 27e4639254f2b2eb7d04790bd8cf16ecfcbac1c2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 Oct 2016 01:07:16 +0000
-Subject: [PATCH] adjust signature of main()
-
-clang complains about the types of main() function
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/main.c b/main.c
-index 81ba543..ee7506c 100644
---- a/main.c
-+++ b/main.c
-@@ -159,7 +159,7 @@ extern int breakflg;
-
- unsigned char **mainenv;
-
--int main(int argc, unsigned char **argv, unsigned char **envv)
-+int main(int argc, char **argv, char **envv)
- {
- CAP *cap;
- unsigned char *s;
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb b/external/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb
deleted file mode 100644
index 1ad355b5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SECTION = "console/utils"
-SUMMARY = "Console text editor with good functionality, good choice for vi-haters"
-HOMEPAGE = "http://joe-editor.sourceforge.net/"
-LICENSE = "GPLv1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=da10ed7cf8038981c580e11c1d3e8fb6"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz \
- file://0001-adjust-signature-of-main.patch \
- "
-
-PACKAGECONFIG ??= "curses"
-PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,ncurses-terminfo"
-
-inherit autotools
-
-SRC_URI[md5sum] = "2a6ef018870fca9b7df85401994fb0e0"
-SRC_URI[sha256sum] = "252390e4bc687957f09f334095904c8cc53b39c7b663ed47861ae1d11aef5946"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/joe/joe_4.6.bb b/external/meta-openembedded/meta-oe/recipes-support/joe/joe_4.6.bb
new file mode 100644
index 00000000..674736a6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/joe/joe_4.6.bb
@@ -0,0 +1,15 @@
+SECTION = "console/utils"
+SUMMARY = "Console text editor with good functionality, good choice for vi-haters"
+HOMEPAGE = "http://joe-editor.sourceforge.net/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz"
+
+PACKAGECONFIG ??= "curses"
+PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,ncurses-terminfo"
+
+inherit autotools-brokensep mime-xdg
+
+SRC_URI[md5sum] = "9017484e6116830d846678b625ea5c43"
+SRC_URI[sha256sum] = "495a0a61f26404070fe8a719d80406dc7f337623788e445b92a9f6de512ab9de"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.7.bb b/external/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.7.bb
deleted file mode 100644
index 12ccb205..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.7.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6c786c3b7a4afbd3c990f1b81261d516"
-SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
-SRC_URI[md5sum] = "06c1626f625424a811fb4b5eb070839d"
-SRC_URI[sha256sum] = "4524234ae7de185e6b6da5d31d6875085b2198bc63b1211f7dde6e2d197d6a53"
-
-DEPENDS = "tiff"
-
-BBCLASSEXTEND = "native"
-
-S = "${WORKDIR}/lcms2-${PV}"
-
-inherit autotools
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb b/external/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb
new file mode 100644
index 00000000..be72d765
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6c786c3b7a4afbd3c990f1b81261d516"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
+SRC_URI[md5sum] = "8de1b7724f578d2995c8fdfa35c3ad0e"
+SRC_URI[sha256sum] = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20"
+
+DEPENDS = "tiff"
+
+BBCLASSEXTEND = "native"
+
+S = "${WORKDIR}/lcms2-${PV}"
+
+inherit autotools
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch b/external/meta-openembedded/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch
new file mode 100644
index 00000000..9ac0770f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch
@@ -0,0 +1,898 @@
+From ec3e1f411c332cbc2f2bc7ab7e2175ebf918b37a Mon Sep 17 00:00:00 2001
+From: Peter Oberparleiter <oberpar@linux.ibm.com>
+Date: Fri, 24 May 2019 16:56:52 +0200
+Subject: [PATCH 1/2] geninfo: Add intermediate text format support
+
+This change adds support for parsing the output of gcov's intermediate
+text file format as implemented by GCC versions 5 to 8. The use of the
+gcov intermediate format should increase processing speed. It also
+provides branch coverage data when using the --initial command line
+option.
+
+Users can control whether geninfo uses the intermediate format via the
+geninfo_intermediate configuration file option. Valid values are:
+
+ 0: Use normal text format
+ 1: Use intermediate format
+ auto: Use intermediate format if available. This is the default.
+
+Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
+---
+ bin/geninfo | 567 ++++++++++++++++++++++++++++++++++++++++++++-------
+ lcovrc | 3 +
+ man/lcovrc.5 | 24 +++
+ 3 files changed, 521 insertions(+), 73 deletions(-)
+
+Upstream-Status: Backport
+Download URL: https://github.com/linux-test-project/lcov/commit/ebfeb3e179e450c69c3532f98cd5ea1fbf6ccba7
+
+diff --git a/bin/geninfo b/bin/geninfo
+index f41eaec..0276666 100755
+--- a/bin/geninfo
++++ b/bin/geninfo
+@@ -54,6 +54,8 @@ use warnings;
+ use File::Basename;
+ use File::Spec::Functions qw /abs2rel catdir file_name_is_absolute splitdir
+ splitpath catpath/;
++use File::Temp qw(tempfile tempdir);
++use File::Copy qw(copy);
+ use Getopt::Long;
+ use Digest::MD5 qw(md5_base64);
+ use Cwd qw/abs_path/;
+@@ -163,13 +165,13 @@ sub solve_relative_path($$);
+ sub read_gcov_header($);
+ sub read_gcov_file($);
+ sub info(@);
++sub process_intermediate($$$);
+ sub map_llvm_version($);
+ sub version_to_str($);
+ sub get_gcov_version();
+ sub system_no_output($@);
+ sub read_config($);
+ sub apply_config($);
+-sub get_exclusion_data($);
+ sub apply_exclusion_data($$);
+ sub process_graphfile($$);
+ sub filter_fn_name($);
+@@ -264,6 +266,8 @@ our $gcno_split_crc;
+ our $func_coverage = 1;
+ our $br_coverage = 0;
+ our $rc_auto_base = 1;
++our $rc_intermediate = "auto";
++our $intermediate;
+ our $excl_line = "LCOV_EXCL_LINE";
+ our $excl_br_line = "LCOV_EXCL_BR_LINE";
+
+@@ -331,6 +335,7 @@ if ($config || %opt_rc)
+ "geninfo_compat" => \$opt_compat,
+ "geninfo_adjust_src_path" => \$rc_adjust_src_path,
+ "geninfo_auto_base" => \$rc_auto_base,
++ "geninfo_intermediate" => \$rc_intermediate,
+ "lcov_function_coverage" => \$func_coverage,
+ "lcov_branch_coverage" => \$br_coverage,
+ "lcov_excl_line" => \$excl_line,
+@@ -460,15 +465,38 @@ if (system_no_output(3, $gcov_tool, "--help") == -1)
+ }
+
+ ($gcov_version, $gcov_version_string) = get_gcov_version();
++$gcov_caps = get_gcov_capabilities();
++
++# Determine intermediate mode
++if ($rc_intermediate eq "0") {
++ $intermediate = 0;
++} elsif ($rc_intermediate eq "1") {
++ $intermediate = 1;
++} elsif (lc($rc_intermediate) eq "auto") {
++ # Use intermediate format if supported by gcov
++ $intermediate = $gcov_caps->{'intermediate-format'} ? 1 : 0;
++} else {
++ die("ERROR: invalid value for geninfo_intermediate: ".
++ "'$rc_intermediate'\n");
++}
++
++if ($intermediate) {
++ info("Using intermediate gcov format\n");
++ if ($opt_derive_func_data) {
++ warn("WARNING: --derive-func-data is not compatible with ".
++ "intermediate format - ignoring\n");
++ $opt_derive_func_data = 0;
++ }
++}
+
+ # Determine gcov options
+-$gcov_caps = get_gcov_capabilities();
+ push(@gcov_options, "-b") if ($gcov_caps->{'branch-probabilities'} &&
+ ($br_coverage || $func_coverage));
+ push(@gcov_options, "-c") if ($gcov_caps->{'branch-counts'} &&
+ $br_coverage);
+ push(@gcov_options, "-a") if ($gcov_caps->{'all-blocks'} &&
+- $opt_gcov_all_blocks && $br_coverage);
++ $opt_gcov_all_blocks && $br_coverage &&
++ !$intermediate);
+ if ($gcov_caps->{'hash-filenames'})
+ {
+ push(@gcov_options, "-x");
+@@ -599,7 +627,7 @@ foreach my $entry (@data_directory) {
+ gen_info($entry);
+ }
+
+-if ($initial && $br_coverage) {
++if ($initial && $br_coverage && !$intermediate) {
+ warn("Note: --initial does not generate branch coverage ".
+ "data\n");
+ }
+@@ -768,6 +796,7 @@ sub gen_info($)
+ my $prefix;
+ my $type;
+ my $ext;
++ my $tempdir;
+
+ if ($initial) {
+ $type = "graph";
+@@ -798,16 +827,22 @@ sub gen_info($)
+ $prefix = "";
+ }
+
++ $tempdir = tempdir(CLEANUP => 1);
++
+ # Process all files in list
+ foreach $file (@file_list) {
+ # Process file
+- if ($initial) {
++ if ($intermediate) {
++ process_intermediate($file, $prefix, $tempdir);
++ } elsif ($initial) {
+ process_graphfile($file, $prefix);
+ } else {
+ process_dafile($file, $prefix);
+ }
+ }
+
++ unlink($tempdir);
++
+ # Report whether files were excluded.
+ if (%excluded_files) {
+ info("Excluded data for %d files due to include/exclude options\n",
+@@ -1058,10 +1093,12 @@ sub process_dafile($$)
+
+ # Try to find base directory automatically if requested by user
+ if ($rc_auto_base) {
+- $base_dir = find_base_from_graph($base_dir, $instr, $graph);
++ $base_dir = find_base_from_source($base_dir,
++ [ keys(%{$instr}), keys(%{$graph}) ]);
+ }
+
+- ($instr, $graph) = adjust_graph_filenames($base_dir, $instr, $graph);
++ adjust_source_filenames($instr, $base_dir);
++ adjust_source_filenames($graph, $base_dir);
+
+ # Set $object_dir to real location of object files. This may differ
+ # from $da_dir if the graph file is just a link to the "real" object
+@@ -2017,6 +2054,299 @@ sub read_gcov_file($)
+ }
+
+
++#
++# read_intermediate_text(gcov_filename, data)
++#
++# Read gcov intermediate text format in GCOV_FILENAME and add the resulting
++# data to DATA in the following format:
++#
++# data: source_filename -> file_data
++# file_data: concatenated lines of intermediate text data
++#
++
++sub read_intermediate_text($$)
++{
++ my ($gcov_filename, $data) = @_;
++ my $fd;
++ my $filename;
++
++ open($fd, "<", $gcov_filename) or
++ die("ERROR: Could not read $gcov_filename: $!\n");
++ while (my $line = <$fd>) {
++ if ($line =~ /^file:(.*)$/) {
++ $filename = $1;
++ chomp($filename);
++ } elsif (defined($filename)) {
++ $data->{$filename} .= $line;
++ }
++ }
++ close($fd);
++}
++
++
++#
++# intermediate_text_to_info(fd, data, srcdata)
++#
++# Write DATA in info format to file descriptor FD.
++#
++# data: filename -> file_data:
++# file_data: concatenated lines of intermediate text data
++#
++# srcdata: filename -> [ excl, brexcl, checksums ]
++# excl: lineno -> 1 for all lines for which to exclude all data
++# brexcl: lineno -> 1 for all lines for which to exclude branch data
++# checksums: lineno -> source code checksum
++#
++# Note: To simplify processing, gcov data is not combined here, that is counts
++# that appear multiple times for the same lines/branches are not added.
++# This is done by lcov/genhtml when reading the data files.
++#
++
++sub intermediate_text_to_info($$$)
++{
++ my ($fd, $data, $srcdata) = @_;
++ my $branch_num = 0;
++ my $c;
++
++ return if (!%{$data});
++
++ print($fd "TN:$test_name\n");
++ for my $filename (keys(%{$data})) {
++ my ($excl, $brexcl, $checksums);
++
++ if (defined($srcdata->{$filename})) {
++ ($excl, $brexcl, $checksums) = @{$srcdata->{$filename}};
++ }
++
++ print($fd "SF:$filename\n");
++ for my $line (split(/\n/, $data->{$filename})) {
++ if ($line =~ /^lcount:(\d+),(\d+),?/) {
++ # lcount:<line>,<count>
++ # lcount:<line>,<count>,<has_unexecuted_blocks>
++ if ($checksum && exists($checksums->{$1})) {
++ $c = ",".$checksums->{$1};
++ } else {
++ $c = "";
++ }
++ print($fd "DA:$1,$2$c\n") if (!$excl->{$1});
++
++ # Intermediate text format does not provide
++ # branch numbers, and the same branch may appear
++ # multiple times on the same line (e.g. in
++ # template instances). Synthesize a branch
++ # number based on the assumptions:
++ # a) the order of branches is fixed across
++ # instances
++ # b) an instance starts with an lcount line
++ $branch_num = 0;
++ } elsif ($line =~ /^function:(\d+),(\d+),([^,]+)$/) {
++ next if (!$func_coverage || $excl->{$1});
++
++ # function:<line>,<count>,<name>
++ print($fd "FN:$1,$3\n");
++ print($fd "FNDA:$2,$3\n");
++ } elsif ($line =~ /^function:(\d+),\d+,(\d+),([^,]+)$/) {
++ next if (!$func_coverage || $excl->{$1});
++
++ # function:<start_line>,<end_line>,<count>,
++ # <name>
++ print($fd "FN:$1,$3\n");
++ print($fd "FNDA:$2,$3\n");
++ } elsif ($line =~ /^branch:(\d+),(taken|nottaken|notexec)/) {
++ next if (!$br_coverage || $excl->{$1} ||
++ $brexcl->{$1});
++
++ # branch:<line>,taken|nottaken|notexec
++ if ($2 eq "taken") {
++ $c = 1;
++ } elsif ($2 eq "nottaken") {
++ $c = 0;
++ } else {
++ $c = "-";
++ }
++ print($fd "BRDA:$1,0,$branch_num,$c\n");
++ $branch_num++;
++ }
++ }
++ print($fd "end_of_record\n");
++ }
++}
++
++
++sub get_output_fd($$)
++{
++ my ($outfile, $file) = @_;
++ my $fd;
++
++ if (!defined($outfile)) {
++ open($fd, ">", "$file.info") or
++ die("ERROR: Cannot create file $file.info: $!\n");
++ } elsif ($outfile eq "-") {
++ open($fd, ">&STDOUT") or
++ die("ERROR: Cannot duplicate stdout: $!\n");
++ } else {
++ open($fd, ">>", $outfile) or
++ die("ERROR: Cannot write to file $outfile: $!\n");
++ }
++
++ return $fd;
++}
++
++
++#
++# print_gcov_warnings(stderr_file, is_graph, map)
++#
++# Print GCOV warnings in file STDERR_FILE to STDERR. If IS_GRAPH is non-zero,
++# suppress warnings about missing as these are expected. Replace keys found
++# in MAP with their values.
++#
++
++sub print_gcov_warnings($$$)
++{
++ my ($stderr_file, $is_graph, $map) = @_;
++ my $fd;
++
++ if (!open($fd, "<", $stderr_file)) {
++ warn("WARNING: Could not open GCOV stderr file ".
++ "$stderr_file: $!\n");
++ return;
++ }
++ while (my $line = <$fd>) {
++ next if ($is_graph && $line =~ /cannot open data file/);
++
++ for my $key (keys(%{$map})) {
++ $line =~ s/\Q$key\E/$map->{$key}/g;
++ }
++
++ print(STDERR $line);
++ }
++ close($fd);
++}
++
++
++#
++# process_intermediate(file, dir, tempdir)
++#
++# Create output for a single file (either a data file or a graph file) using
++# gcov's intermediate option.
++#
++
++sub process_intermediate($$$)
++{
++ my ($file, $dir, $tempdir) = @_;
++ my ($fdir, $fbase, $fext);
++ my $data_file;
++ my $errmsg;
++ my %data;
++ my $fd;
++ my $base;
++ my $srcdata;
++ my $is_graph = 0;
++ my ($out, $err, $rc);
++
++ info("Processing %s\n", abs2rel($file, $dir));
++
++ $file = solve_relative_path($cwd, $file);
++ ($fdir, $fbase, $fext) = split_filename($file);
++
++ $is_graph = 1 if (".$fext" eq $graph_file_extension);
++
++ if ($is_graph) {
++ # Process graph file - copy to temp directory to prevent
++ # accidental processing of associated data file
++ $data_file = "$tempdir/$fbase$graph_file_extension";
++ if (!copy($file, $data_file)) {
++ $errmsg = "ERROR: Could not copy file $file";
++ goto err;
++ }
++ } else {
++ # Process data file in place
++ $data_file = $file;
++ }
++
++ # Change directory
++ if (!chdir($tempdir)) {
++ $errmsg = "Could not change to directory $tempdir: $!";
++ goto err;
++ }
++
++ # Run gcov on data file
++ ($out, $err, $rc) = system_no_output(1 + 2 + 4, $gcov_tool,
++ $data_file, @gcov_options, "-i");
++ defined($out) && unlink($out);
++ if (defined($err)) {
++ print_gcov_warnings($err, $is_graph, {
++ $data_file => $file,
++ });
++ unlink($err);
++ }
++ if ($rc) {
++ $errmsg = "GCOV failed for $file";
++ goto err;
++ }
++
++ if ($is_graph) {
++ # Remove graph file copy
++ unlink($data_file);
++ }
++
++ # Parse resulting file(s)
++ for my $gcov_filename (glob("*.gcov")) {
++ read_intermediate_text($gcov_filename, \%data);
++ unlink($gcov_filename);
++ }
++
++ if (!%data) {
++ warn("WARNING: GCOV did not produce any data for $file\n");
++ return;
++ }
++
++ # Determine base directory
++ if (defined($base_directory)) {
++ $base = $base_directory;
++ } else {
++ $base = $fdir;
++
++ if (is_compat($COMPAT_MODE_LIBTOOL)) {
++ # Avoid files from .libs dirs
++ $base =~ s/\.libs$//;
++ }
++
++ # Try to find base directory automatically if requested by user
++ if ($rc_auto_base) {
++ $base = find_base_from_source($base, [ keys(%data) ]);
++ }
++ }
++
++ # Apply base file name to relative source files
++ adjust_source_filenames(\%data, $base);
++
++ # Remove excluded source files
++ filter_source_files(\%data);
++
++ # Get data on exclusion markers and checksums if requested
++ if (!$no_markers || $checksum) {
++ $srcdata = get_all_source_data(keys(%data));
++ }
++
++ # Generate output
++ $fd = get_output_fd($output_filename, $file);
++ intermediate_text_to_info($fd, \%data, $srcdata);
++ close($fd);
++
++ chdir($cwd);
++
++ return;
++
++err:
++ if ($ignore[$ERROR_GCOV]) {
++ warn("WARNING: $errmsg!\n");
++ } else {
++ die("ERROR: $errmsg!\n")
++ }
++}
++
++
+ # Map LLVM versions to the version of GCC gcov which they emulate.
+
+ sub map_llvm_version($)
+@@ -2151,8 +2481,12 @@ sub int_handler()
+ #
+ # MODE & 1: suppress STDOUT
+ # MODE & 2: suppress STDERR
++# MODE & 4: redirect to temporary files instead of suppressing
+ #
+-# Return 0 on success, non-zero otherwise.
++# Return (stdout, stderr, rc):
++# stdout: path to tempfile containing stdout or undef
++# stderr: path to tempfile containing stderr or undef
++# 0 on success, non-zero otherwise
+ #
+
+ sub system_no_output($@)
+@@ -2161,14 +2495,31 @@ sub system_no_output($@)
+ my $result;
+ local *OLD_STDERR;
+ local *OLD_STDOUT;
++ my $stdout_file;
++ my $stderr_file;
++ my $fd;
+
+ # Save old stdout and stderr handles
+ ($mode & 1) && open(OLD_STDOUT, ">>&", "STDOUT");
+ ($mode & 2) && open(OLD_STDERR, ">>&", "STDERR");
+
+- # Redirect to /dev/null
+- ($mode & 1) && open(STDOUT, ">", "/dev/null");
+- ($mode & 2) && open(STDERR, ">", "/dev/null");
++ if ($mode & 4) {
++ # Redirect to temporary files
++ if ($mode & 1) {
++ ($fd, $stdout_file) = tempfile(UNLINK => 1);
++ open(STDOUT, ">", $stdout_file) || warn("$!\n");
++ close($fd);
++ }
++ if ($mode & 2) {
++ ($fd, $stderr_file) = tempfile(UNLINK => 1);
++ open(STDERR, ">", $stderr_file) || warn("$!\n");
++ close($fd);
++ }
++ } else {
++ # Redirect to /dev/null
++ ($mode & 1) && open(STDOUT, ">", "/dev/null");
++ ($mode & 2) && open(STDERR, ">", "/dev/null");
++ }
+
+ debug("system(".join(' ', @_).")\n");
+ system(@_);
+@@ -2181,8 +2532,18 @@ sub system_no_output($@)
+ # Restore old handles
+ ($mode & 1) && open(STDOUT, ">>&", "OLD_STDOUT");
+ ($mode & 2) && open(STDERR, ">>&", "OLD_STDERR");
++
++ # Remove empty output files
++ if (defined($stdout_file) && -z $stdout_file) {
++ unlink($stdout_file);
++ $stdout_file = undef;
++ }
++ if (defined($stderr_file) && -z $stderr_file) {
++ unlink($stderr_file);
++ $stderr_file = undef;
++ }
+
+- return $result;
++ return ($stdout_file, $stderr_file, $result);
+ }
+
+
+@@ -2260,23 +2621,28 @@ sub apply_config($)
+
+
+ #
+-# get_exclusion_data(filename)
++# get_source_data(filename)
+ #
+-# Scan specified source code file for exclusion markers and return
+-# linenumber -> 1
+-# for all lines which should be excluded.
++# Scan specified source code file for exclusion markers and checksums. Return
++# ( excl, brexcl, checksums ) where
++# excl: lineno -> 1 for all lines for which to exclude all data
++# brexcl: lineno -> 1 for all lines for which to exclude branch data
++# checksums: lineno -> source code checksum
+ #
+
+-sub get_exclusion_data($)
++sub get_source_data($)
+ {
+ my ($filename) = @_;
+ my %list;
+ my $flag = 0;
++ my %brdata;
++ my $brflag = 0;
++ my %checksums;
+ local *HANDLE;
+
+ if (!open(HANDLE, "<", $filename)) {
+ warn("WARNING: could not open $filename\n");
+- return undef;
++ return;
+ }
+ while (<HANDLE>) {
+ if (/$EXCL_STOP/) {
+@@ -2287,14 +2653,62 @@ sub get_exclusion_data($)
+ if (/$excl_line/ || $flag) {
+ $list{$.} = 1;
+ }
++ if (/$EXCL_BR_STOP/) {
++ $brflag = 0;
++ } elsif (/$EXCL_BR_START/) {
++ $brflag = 1;
++ }
++ if (/$excl_br_line/ || $brflag) {
++ $brdata{$.} = 1;
++ }
++ if ($checksum) {
++ chomp();
++ $checksums{$.} = md5_base64($_);
++ }
+ }
+ close(HANDLE);
+
+- if ($flag) {
++ if ($flag || $brflag) {
+ warn("WARNING: unterminated exclusion section in $filename\n");
+ }
+
+- return \%list;
++ return (\%list, \%brdata, \%checksums);
++}
++
++
++#
++# get_all_source_data(filenames)
++#
++# Scan specified source code files for exclusion markers and return
++# filename -> [ excl, brexcl, checksums ]
++# excl: lineno -> 1 for all lines for which to exclude all data
++# brexcl: lineno -> 1 for all lines for which to exclude branch data
++# checksums: lineno -> source code checksum
++#
++
++sub get_all_source_data(@)
++{
++ my @filenames = @_;
++ my %data;
++ my $failed = 0;
++
++ for my $filename (@filenames) {
++ my @d;
++ next if (exists($data{$filename}));
++
++ @d = get_source_data($filename);
++ if (@d) {
++ $data{$filename} = [ @d ];
++ } else {
++ $failed = 1;
++ }
++ }
++
++ if ($failed) {
++ warn("WARNING: some exclusion markers may be ignored\n");
++ }
++
++ return \%data;
+ }
+
+
+@@ -2318,35 +2732,17 @@ sub apply_exclusion_data($$)
+ {
+ my ($instr, $graph) = @_;
+ my $filename;
+- my %excl_data;
+- my $excl_read_failed = 0;
++ my $excl_data;
+
+- # Collect exclusion marker data
+- foreach $filename (sort_uniq_lex(keys(%{$graph}), keys(%{$instr}))) {
+- my $excl = get_exclusion_data($filename);
+-
+- # Skip and note if file could not be read
+- if (!defined($excl)) {
+- $excl_read_failed = 1;
+- next;
+- }
+-
+- # Add to collection if there are markers
+- $excl_data{$filename} = $excl if (keys(%{$excl}) > 0);
+- }
+-
+- # Warn if not all source files could be read
+- if ($excl_read_failed) {
+- warn("WARNING: some exclusion markers may be ignored\n");
+- }
++ ($excl_data) = get_all_source_data(keys(%{$graph}), keys(%{$instr}));
+
+ # Skip if no markers were found
+- return ($instr, $graph) if (keys(%excl_data) == 0);
++ return ($instr, $graph) if (!%$excl_data);
+
+ # Apply exclusion marker data to graph
+- foreach $filename (keys(%excl_data)) {
++ foreach $filename (keys(%$excl_data)) {
+ my $function_data = $graph->{$filename};
+- my $excl = $excl_data{$filename};
++ my $excl = $excl_data->{$filename}->[0];
+ my $function;
+
+ next if (!defined($function_data));
+@@ -2384,9 +2780,9 @@ sub apply_exclusion_data($$)
+ }
+
+ # Apply exclusion marker data to instr
+- foreach $filename (keys(%excl_data)) {
++ foreach $filename (keys(%$excl_data)) {
+ my $line_data = $instr->{$filename};
+- my $excl = $excl_data{$filename};
++ my $excl = $excl_data->{$filename}->[0];
+ my $line;
+ my @new_data;
+
+@@ -2468,10 +2864,12 @@ sub process_graphfile($$)
+
+ # Try to find base directory automatically if requested by user
+ if ($rc_auto_base) {
+- $base_dir = find_base_from_graph($base_dir, $instr, $graph);
++ $base_dir = find_base_from_source($base_dir,
++ [ keys(%{$instr}), keys(%{$graph}) ]);
+ }
+
+- ($instr, $graph) = adjust_graph_filenames($base_dir, $instr, $graph);
++ adjust_source_filenames($instr, $base_dir);
++ adjust_source_filenames($graph, $base_dir);
+
+ if (!$no_markers) {
+ # Apply exclusion marker data to graph file data
+@@ -2767,11 +3165,11 @@ sub parent_dir($)
+ }
+
+ #
+-# find_base_from_graph(base_dir, instr, graph)
++# find_base_from_source(base_dir, source_files)
+ #
+-# Try to determine the base directory of the graph file specified by INSTR
+-# and GRAPH. The base directory is the base for all relative filenames in
+-# the graph file. It is defined by the current working directory at time
++# Try to determine the base directory of the object file built from
++# SOURCE_FILES. The base directory is the base for all relative filenames in
++# the gcov data. It is defined by the current working directory at time
+ # of compiling the source file.
+ #
+ # This function implements a heuristic which relies on the following
+@@ -2781,16 +3179,16 @@ sub parent_dir($)
+ # - files by the same name are not present in multiple parent directories
+ #
+
+-sub find_base_from_graph($$$)
++sub find_base_from_source($$)
+ {
+- my ($base_dir, $instr, $graph) = @_;
++ my ($base_dir, $source_files) = @_;
+ my $old_base;
+ my $best_miss;
+ my $best_base;
+ my %rel_files;
+
+ # Determine list of relative paths
+- foreach my $filename (keys(%{$instr}), keys(%{$graph})) {
++ foreach my $filename (@$source_files) {
+ next if (file_name_is_absolute($filename));
+
+ $rel_files{$filename} = 1;
+@@ -2829,17 +3227,17 @@ sub find_base_from_graph($$$)
+ }
+
+ #
+-# adjust_graph_filenames(base_dir, instr, graph)
++# adjust_source_filenames(hash, base_dir)
+ #
+-# Make relative paths in INSTR and GRAPH absolute and apply
+-# geninfo_adjust_src_path setting to graph file data.
++# Transform all keys of HASH to absolute form and apply requested
++# transformations.
+ #
+
+-sub adjust_graph_filenames($$$)
++sub adjust_source_filenames($$$)
+ {
+- my ($base_dir, $instr, $graph) = @_;
++ my ($hash, $base_dir) = @_;
+
+- foreach my $filename (keys(%{$instr})) {
++ foreach my $filename (keys(%{$hash})) {
+ my $old_filename = $filename;
+
+ # Convert to absolute canonical form
+@@ -2851,28 +3249,50 @@ sub adjust_graph_filenames($$$)
+ }
+
+ if ($filename ne $old_filename) {
+- $instr->{$filename} = delete($instr->{$old_filename});
++ $hash->{$filename} = delete($hash->{$old_filename});
+ }
+ }
++}
+
+- foreach my $filename (keys(%{$graph})) {
+- my $old_filename = $filename;
+
+- # Make absolute
+- # Convert to absolute canonical form
+- $filename = solve_relative_path($base_dir, $filename);
++#
++# filter_source_files(hash)
++#
++# Remove unwanted source file data from HASH.
++#
+
+- # Apply adjustment
+- if (defined($adjust_src_pattern)) {
+- $filename =~ s/$adjust_src_pattern/$adjust_src_replace/g;
++sub filter_source_files($)
++{
++ my ($hash) = @_;
++
++ foreach my $filename (keys(%{$hash})) {
++ # Skip external files if requested
++ goto del if (!$opt_external && is_external($filename));
++
++ # Apply include patterns
++ if (@include_patterns) {
++ my $keep;
++
++ foreach my $pattern (@include_patterns) {
++ if ($filename =~ (/^$pattern$/)) {
++ $keep = 1;
++ last;
++ }
++ }
++ goto del if (!$keep);
+ }
+
+- if ($filename ne $old_filename) {
+- $graph->{$filename} = delete($graph->{$old_filename});
++ # Apply exclude patterns
++ foreach my $pattern (@exclude_patterns) {
++ goto del if ($filename =~ (/^$pattern$/));
+ }
+- }
++ next;
+
+- return ($instr, $graph);
++del:
++ # Remove file data
++ delete($hash->{$filename});
++ $excluded_files{$filename} = 1;
++ }
+ }
+
+ #
+@@ -3784,6 +4204,7 @@ sub get_gcov_capabilities()
+ 'c' => 'branch-counts',
+ 'f' => 'function-summaries',
+ 'h' => 'help',
++ 'i' => 'intermediate-format',
+ 'l' => 'long-file-names',
+ 'n' => 'no-output',
+ 'o' => 'object-directory',
+diff --git a/lcovrc b/lcovrc
+index 40f364f..bd4bc3b 100644
+--- a/lcovrc
++++ b/lcovrc
+@@ -134,6 +134,9 @@ genhtml_desc_html=0
+ # when collecting coverage data.
+ geninfo_auto_base = 1
+
++# Use gcov intermediate format? Valid values are 0, 1, auto
++geninfo_intermediate = auto
++
+ # Directory containing gcov kernel files
+ # lcov_gcov_dir = /proc/gcov
+
+diff --git a/man/lcovrc.5 b/man/lcovrc.5
+index f20d273..bf0ce7a 100644
+--- a/man/lcovrc.5
++++ b/man/lcovrc.5
+@@ -223,6 +223,11 @@ geninfo_compat_libtool = 0
+ geninfo_auto_base = 1
+ .br
+
++# Use gcov intermediate format? Valid values are 0, 1, auto
++.br
++geninfo_intermediate = auto
++.br
++
+ # Directory containing gcov kernel files
+ .br
+ lcov_gcov_dir = /proc/gcov
+@@ -789,6 +794,25 @@ located, and in addition, is different between files of the same project.
+ Default is 1.
+ .PP
+
++.BR geninfo_intermediate " ="
++.IR 0 | 1 | auto
++.IP
++Specify whether to use gcov intermediate format
++.br
++
++Use this option to control whether geninfo should use the gcov intermediate
++format while collecting coverage data. The use of the gcov intermediate format
++should increase processing speed. It also provides branch coverage data when
++using the \-\-initial command line option.
++.br
++
++Valid values are 0 for off, 1 for on, and "auto" to let geninfo automatically
++use immediate format when supported by gcov.
++.br
++
++Default is "auto".
++.PP
++
+ .BR lcov_gcov_dir " ="
+ .I path_to_kernel_coverage_data
+ .IP
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch b/external/meta-openembedded/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch
new file mode 100644
index 00000000..7b180635
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch
@@ -0,0 +1,247 @@
+From e13b2b6f8443da660cafa0679c3b16240843ce9f Mon Sep 17 00:00:00 2001
+From: Peter Oberparleiter <oberpar@linux.ibm.com>
+Date: Fri, 24 May 2019 17:16:56 +0200
+Subject: [PATCH 2/2] geninfo: Add intermediate JSON format support
+
+This change adds support for parsing the output of gcov's intermediate
+JSON file format as implemented by GCC version 9.
+
+Note: The way that the intermediate file format support is implemented
+in geninfo removes the need to parse .gcno files directly. Since geninfo
+does not include support for parsing GCC 9 .gcno files, using the
+intermediate format is the only option for geninfo to collect coverage
+data generated by GCC version 9.
+
+Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
+---
+ bin/geninfo | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 160 insertions(+), 2 deletions(-)
+
+Upstream-Status: Backport
+Download URL: https://github.com/linux-test-project/lcov/commit/75fbae1cfc5027f818a0bb865bf6f96fab3202da
+
+diff --git a/bin/geninfo b/bin/geninfo
+index 0276666..cceb782 100755
+--- a/bin/geninfo
++++ b/bin/geninfo
+@@ -59,6 +59,9 @@ use File::Copy qw(copy);
+ use Getopt::Long;
+ use Digest::MD5 qw(md5_base64);
+ use Cwd qw/abs_path/;
++use PerlIO::gzip;
++use JSON qw(decode_json);
++
+ if( $^O eq "msys" )
+ {
+ require File::Spec::Win32;
+@@ -474,7 +477,8 @@ if ($rc_intermediate eq "0") {
+ $intermediate = 1;
+ } elsif (lc($rc_intermediate) eq "auto") {
+ # Use intermediate format if supported by gcov
+- $intermediate = $gcov_caps->{'intermediate-format'} ? 1 : 0;
++ $intermediate = ($gcov_caps->{'intermediate-format'} ||
++ $gcov_caps->{'json-format'}) ? 1 : 0;
+ } else {
+ die("ERROR: invalid value for geninfo_intermediate: ".
+ "'$rc_intermediate'\n");
+@@ -2084,6 +2088,48 @@ sub read_intermediate_text($$)
+ }
+
+
++#
++# read_intermediate_json(gcov_filename, data, basedir_ref)
++#
++# Read gcov intermediate JSON format in GCOV_FILENAME and add the resulting
++# data to DATA in the following format:
++#
++# data: source_filename -> file_data
++# file_data: GCOV JSON data for file
++#
++# Also store the value for current_working_directory to BASEDIR_REF.
++#
++
++sub read_intermediate_json($$$)
++{
++ my ($gcov_filename, $data, $basedir_ref) = @_;
++ my $fd;
++ my $text;
++ my $json;
++
++ open($fd, "<:gzip", $gcov_filename) or
++ die("ERROR: Could not read $gcov_filename: $!\n");
++ local $/;
++ $text = <$fd>;
++ close($fd);
++
++ $json = decode_json($text);
++ if (!defined($json) || !exists($json->{"files"}) ||
++ ref($json->{"files"} ne "ARRAY")) {
++ die("ERROR: Unrecognized JSON output format in ".
++ "$gcov_filename\n");
++ }
++
++ $$basedir_ref = $json->{"current_working_directory"};
++
++ for my $file (@{$json->{"files"}}) {
++ my $filename = $file->{"file"};
++
++ $data->{$filename} = $file;
++ }
++}
++
++
+ #
+ # intermediate_text_to_info(fd, data, srcdata)
+ #
+@@ -2173,6 +2219,104 @@ sub intermediate_text_to_info($$$)
+ }
+
+
++#
++# intermediate_json_to_info(fd, data, srcdata)
++#
++# Write DATA in info format to file descriptor FD.
++#
++# data: filename -> file_data:
++# file_data: GCOV JSON data for file
++#
++# srcdata: filename -> [ excl, brexcl, checksums ]
++# excl: lineno -> 1 for all lines for which to exclude all data
++# brexcl: lineno -> 1 for all lines for which to exclude branch data
++# checksums: lineno -> source code checksum
++#
++# Note: To simplify processing, gcov data is not combined here, that is counts
++# that appear multiple times for the same lines/branches are not added.
++# This is done by lcov/genhtml when reading the data files.
++#
++
++sub intermediate_json_to_info($$$)
++{
++ my ($fd, $data, $srcdata) = @_;
++ my $branch_num = 0;
++
++ return if (!%{$data});
++
++ print($fd "TN:$test_name\n");
++ for my $filename (keys(%{$data})) {
++ my ($excl, $brexcl, $checksums);
++ my $file_data = $data->{$filename};
++
++ if (defined($srcdata->{$filename})) {
++ ($excl, $brexcl, $checksums) = @{$srcdata->{$filename}};
++ }
++
++ print($fd "SF:$filename\n");
++
++ # Function data
++ if ($func_coverage) {
++ for my $d (@{$file_data->{"functions"}}) {
++ my $line = $d->{"start_line"};
++ my $count = $d->{"execution_count"};
++ my $name = $d->{"name"};
++
++ next if (!defined($line) || !defined($count) ||
++ !defined($name) || $excl->{$line});
++
++ print($fd "FN:$line,$name\n");
++ print($fd "FNDA:$count,$name\n");
++ }
++ }
++
++ # Line data
++ for my $d (@{$file_data->{"lines"}}) {
++ my $line = $d->{"line_number"};
++ my $count = $d->{"count"};
++ my $c;
++ my $branches = $d->{"branches"};
++ my $unexec = $d->{"unexecuted_block"};
++
++ next if (!defined($line) || !defined($count) ||
++ $excl->{$line});
++
++ if (defined($unexec) && $unexec && $count == 0) {
++ $unexec = 1;
++ } else {
++ $unexec = 0;
++ }
++
++ if ($checksum && exists($checksums->{$line})) {
++ $c = ",".$checksums->{$line};
++ } else {
++ $c = "";
++ }
++ print($fd "DA:$line,$count$c\n");
++
++ $branch_num = 0;
++ # Branch data
++ if ($br_coverage && !$brexcl->{$line}) {
++ for my $b (@$branches) {
++ my $brcount = $b->{"count"};
++
++ if (!defined($brcount) || $unexec) {
++ $brcount = "-";
++ }
++ print($fd "BRDA:$line,0,$branch_num,".
++ "$brcount\n");
++
++ $branch_num++;
++ }
++ }
++
++ }
++
++ print($fd "end_of_record\n");
++ }
++}
++
++
+ sub get_output_fd($$)
+ {
+ my ($outfile, $file) = @_;
+@@ -2243,6 +2387,8 @@ sub process_intermediate($$$)
+ my $srcdata;
+ my $is_graph = 0;
+ my ($out, $err, $rc);
++ my $json_basedir;
++ my $json_format;
+
+ info("Processing %s\n", abs2rel($file, $dir));
+
+@@ -2296,6 +2442,12 @@ sub process_intermediate($$$)
+ unlink($gcov_filename);
+ }
+
++ for my $gcov_filename (glob("*.gcov.json.gz")) {
++ read_intermediate_json($gcov_filename, \%data, \$json_basedir);
++ unlink($gcov_filename);
++ $json_format = 1;
++ }
++
+ if (!%data) {
+ warn("WARNING: GCOV did not produce any data for $file\n");
+ return;
+@@ -2304,6 +2456,8 @@ sub process_intermediate($$$)
+ # Determine base directory
+ if (defined($base_directory)) {
+ $base = $base_directory;
++ } elsif (defined($json_basedir)) {
++ $base = $json_basedir;
+ } else {
+ $base = $fdir;
+
+@@ -2331,7 +2485,11 @@ sub process_intermediate($$$)
+
+ # Generate output
+ $fd = get_output_fd($output_filename, $file);
+- intermediate_text_to_info($fd, \%data, $srcdata);
++ if ($json_format) {
++ intermediate_json_to_info($fd, \%data, $srcdata);
++ } else {
++ intermediate_text_to_info($fd, \%data, $srcdata);
++ }
+ close($fd);
+
+ chdir($cwd);
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb b/external/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
deleted file mode 100644
index 56a018ba..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "A graphical front-end for gcov"
-HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php"
-DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \
-tool gcov. It collects gcov data for multiple source files and creates \
-HTML pages containing the source code annotated with coverage information. \
-It also adds overview pages for easy navigation within the file structure. \
-LCOV supports statement, function and branch coverage measurement."
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-RDEPENDS_${PN} += " \
- gcov \
- perl \
- perl-module-filehandle \
- perl-module-getopt-std \
- perl-module-digest-sha \
- perl-module-constant \
- perl-module-cwd \
- perl-module-errno \
- perl-module-file-basename \
- perl-module-file-find \
- perl-module-file-path \
- perl-module-file-spec \
- perl-module-file-spec-functions \
- perl-module-file-spec-unix \
- perl-module-file-temp \
- perl-module-getopt-long \
- perl-module-list-util \
- perl-module-mro \
- perl-module-overload \
- perl-module-overloading \
- perl-module-overload-numbers \
- perl-module-parent \
- perl-module-pod-usage \
- perl-module-posix \
- perl-module-re \
- perl-module-safe \
- perl-module-scalar-util \
- perl-module-term-cap \
- perl-module-text-parsewords \
- perl-module-tie-hash \
-"
-
-SRC_URI = "http://downloads.sourceforge.net/ltp/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "e79b799ae3ce149aa924c7520e993024"
-SRC_URI[sha256sum] = "c282de8d678ecbfda32ce4b5c85fc02f77c2a39a062f068bd8e774d29ddc9bf8"
-
-do_install() {
- oe_runmake install PREFIX=${D}
-}
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb b/external/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
new file mode 100755
index 00000000..14718184
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
@@ -0,0 +1,62 @@
+SUMMARY = "A graphical front-end for gcov"
+HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php"
+DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \
+tool gcov. It collects gcov data for multiple source files and creates \
+HTML pages containing the source code annotated with coverage information. \
+It also adds overview pages for easy navigation within the file structure. \
+LCOV supports statement, function and branch coverage measurement."
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+RDEPENDS_${PN} += " \
+ gcov \
+ gcov-symlinks \
+ libjson-perl \
+ libperlio-gzip-perl \
+ perl \
+ perl-module-filehandle \
+ perl-module-getopt-std \
+ perl-module-digest-md5 \
+ perl-module-digest-sha \
+ perl-module-constant \
+ perl-module-cwd \
+ perl-module-errno \
+ perl-module-file-basename \
+ perl-module-file-copy \
+ perl-module-file-find \
+ perl-module-file-path \
+ perl-module-file-spec \
+ perl-module-file-spec-functions \
+ perl-module-file-spec-unix \
+ perl-module-file-temp \
+ perl-module-getopt-long \
+ perl-module-list-util \
+ perl-module-mro \
+ perl-module-overload \
+ perl-module-overloading \
+ perl-module-overload-numbers \
+ perl-module-parent \
+ perl-module-pod-usage \
+ perl-module-posix \
+ perl-module-re \
+ perl-module-safe \
+ perl-module-scalar-util \
+ perl-module-term-cap \
+ perl-module-text-parsewords \
+ perl-module-tie-hash \
+"
+
+SRC_URI = " \
+ http://downloads.sourceforge.net/ltp/${BP}.tar.gz \
+ file://0001-geninfo-Add-intermediate-text-format-support.patch \
+ file://0002-geninfo-Add-intermediate-JSON-format-support.patch \
+ "
+
+SRC_URI[md5sum] = "0220d01753469f83921f8f41ae5054c1"
+SRC_URI[sha256sum] = "14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a"
+
+do_install() {
+ oe_runmake install PREFIX=${D}${prefix} CFG_DIR=${D}${sysconfdir}
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.3.bb b/external/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.3.bb
deleted file mode 100644
index caf84de2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.3.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-DESCRIPTION = "The goal of this project is to provide a tiny library that would \
-facilitate the common operations with sizes in bytes."
-HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
-LICENSE = "LGPLv2+"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "b0dcf6f457d700127b43c0e0a198253c266b78ae"
-PV = "1.3+git${SRCPV}"
-SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master \
-"
-
-inherit gettext autotools python3native
-
-DEPENDS += " \
- libpcre \
- gmp \
- mpfr \
-"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
-
-PACKAGECONFIG ??= "python3"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python2"
-PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
-
-EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
-
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.2.bb b/external/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.2.bb
new file mode 100644
index 00000000..a954499c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.2.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "The goal of this project is to provide a tiny library that would \
+facilitate the common operations with sizes in bytes."
+HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
+LICENSE = "LGPLv2+"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "e64e752a28a4a41b0a43cba3bedf9571c22af807"
+SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master"
+
+inherit gettext autotools python3native
+
+DEPENDS += " \
+ libpcre2 \
+ gmp \
+ mpfr \
+ gettext-native \
+"
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
+
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3-core"
+
+EXTRA_OECONF = "--without-gtk-doc"
+EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch b/external/meta-openembedded/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch
new file mode 100644
index 00000000..ba6fa2c6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch
@@ -0,0 +1,63 @@
+From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001
+From: Michael Meeks <michael.meeks@suse.com>
+Date: Fri, 9 Nov 2012 16:16:40 +0000
+Subject: [PATCH] gtk: Don't assume all GdkDisplays are GdkX11Displays:
+ broadway/wayland
+
+---
+ src/canberra-gtk-module.c | 15 +++++++++++++++
+ src/canberra-gtk.c | 5 +++++
+ 2 files changed, 20 insertions(+)
+
+--- a/src/canberra-gtk-module.c
++++ b/src/canberra-gtk-module.c
+@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDispla
+ guchar *data = NULL;
+ gint ret = -1;
+
++#ifdef GDK_IS_X11_DISPLAY
++ if (!GDK_IS_X11_DISPLAY(d))
++ return 0;
++#endif
++
+ if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
+ gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
+ 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
+@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDispl
+ guchar *data = NULL;
+ gint ret = -1;
+
++#ifdef GDK_IS_X11_DISPLAY
++ if (!GDK_IS_X11_DISPLAY(d))
++ return 0;
++#endif
++
+ if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)),
+ gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"),
+ 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
+@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisp
+ gboolean ret = FALSE;
+ Atom xembed;
+
++#ifdef GDK_IS_X11_DISPLAY
++ if (!GDK_IS_X11_DISPLAY(d))
++ return FALSE;
++#endif
++
+ /* Gnome Panel applets are XEMBED windows. We need to make sure we
+ * ignore them */
+
+--- a/src/canberra-gtk.c
++++ b/src/canberra-gtk.c
+@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDispla
+ guchar *data = NULL;
+ gint ret = -1;
+
++#ifdef GDK_IS_X11_DISPLAY
++ if (!GDK_IS_X11_DISPLAY(d))
++ return 0;
++#endif
++
+ if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
+ gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
+ 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb b/external/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
index 72c93abe..1495051d 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
@@ -11,6 +11,7 @@ inherit autotools gtk-doc
SRC_URI = " \
http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \
file://0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch \
+ file://0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch \
"
SRC_URI[md5sum] = "34cb7e4430afaf6f447c4ebdb9b42072"
SRC_URI[sha256sum] = "c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.2.2.bb b/external/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.2.2.bb
deleted file mode 100644
index e733f2fe..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.2.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A C++11 library for serialization"
-HOMEPAGE = "https://uscilab.github.io/cereal/"
-
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e612690af2f575dfd02e2e91443cea23"
-
-SRCREV = "51cbda5f30e56c801c07fe3d3aba5d7fb9e6cca4"
-SRC_URI = "git://github.com/USCiLab/cereal.git"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DJUST_INSTALL_CEREAL=ON"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb b/external/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
new file mode 100644
index 00000000..6fc5881c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A C++11 library for serialization"
+HOMEPAGE = "https://uscilab.github.io/cereal/"
+
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e612690af2f575dfd02e2e91443cea23"
+
+SRCREV = "02eace19a99ce3cd564ca4e379753d69af08c2c8"
+SRC_URI = "git://github.com/USCiLab/cereal.git"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DJUST_INSTALL_CEREAL=ON"
+
+ALLOW_EMPTY_${PN} = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.5.bb b/external/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.5.bb
deleted file mode 100644
index 7078e50b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.5.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
-AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
-HOMEPAGE = "http://eigen.tuxfamily.org/"
-LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad"
-
-SRC_URI = "http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2;downloadfilename=${BP}.tar.bz2"
-SRC_URI[md5sum] = "e83549a79d1b721da0f8899ab34edf95"
-SRC_URI[sha256sum] = "7352bff3ea299e4c7d7fbe31c504f8eb9149d7e685dec5a12fbaa26379f603e2"
-
-S = "${WORKDIR}/eigen-eigen-b3f3d4950030"
-
-inherit cmake
-
-FILES_${PN} = "${libdir}"
-FILES_${PN}-dev = "${includedir} ${datadir}/eigen3/cmake ${datadir}/cmake/Modules ${datadir}/pkgconfig"
-
-# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb b/external/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
new file mode 100644
index 00000000..f638848d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
+AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
+HOMEPAGE = "http://eigen.tuxfamily.org/"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad"
+
+SRC_URI = "https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2;downloadfilename=${BP}.tar.bz2"
+SRC_URI[md5sum] = "05b1f7511c93980c385ebe11bd3c93fa"
+SRC_URI[sha256sum] = "9f13cf90dedbe3e52a19f43000d71fdf72e986beb9a5436dddcd61ff9d77a3ce"
+
+S = "${WORKDIR}/eigen-eigen-323c052e1731"
+
+inherit cmake
+
+FILES_${PN} = "${libdir}"
+FILES_${PN}-dev = "${includedir} ${datadir}/eigen3/cmake ${datadir}/cmake/Modules ${datadir}/pkgconfig"
+
+# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libfann/libfann_git.bb b/external/meta-openembedded/meta-oe/recipes-support/libfann/libfann_git.bb
new file mode 100644
index 00000000..eae24461
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libfann/libfann_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Fast Artificial Neural Network (FANN) Library"
+DESCRIPTION = "Fast Artificial Neural Network (FANN) Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks."
+HOMEPAGE = "https://github.com/libfann/fann"
+SECTION = "libs/devel"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f14599a2f089f6ff8c97e2baa4e3d575"
+
+inherit cmake
+
+SRCREV ?= "7ec1fc7e5bd734f1d3c89b095e630e83c86b9be1"
+SRC_URI = "git://github.com/libfann/fann.git;branch=master \
+ "
+
+PV = "2.2.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb b/external/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
index 4fc6eb09..c33c7911 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM= "\
file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
"
-DEPENDS = "libusb1"
+DEPENDS = "libusb1 python3"
SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
SRC_URI[md5sum] = "0c09fb2bb19a57c839fa6845c6c780a2"
@@ -17,11 +17,17 @@ SRC_URI[sha256sum] = "ec36fb49080f834690c24008328a5ef42d3cf584ef4060f3a35aa4681c
S = "${WORKDIR}/${BPN}1-${PV}"
-inherit cmake binconfig pkgconfig
+inherit cmake binconfig pkgconfig python3native
PACKAGECONFIG ??= ""
PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+ -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
+ -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES += "${PN}-python"
+
+FILES_${PN}-python = "${libdir}/${PYTHON_DIR}/site-packages/"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb b/external/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb
deleted file mode 100644
index 816ae5e2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "the Git linkable library"
-HOMEPAGE = "http://libgit2.github.com/"
-LICENSE = "GPL-2.0-with-GCC-exception & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3f2cd5d3cccd71d62066ba619614592b"
-
-DEPENDS = "curl openssl zlib libssh2 libgcrypt"
-
-SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.27"
-#v0.27.5
-SRCREV = "8e0b172981a046d19f1d9efa5acd6186bccbd3ce"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "\
- -DTHREADSAFE=ON \
- -DBUILD_CLAR=OFF \
- -DSHA1_TYPE="builtin" \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
- -DBUILD_EXAMPLES=OFF \
- -DLIB_INSTALL_DIR=${libdir} \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.4.bb b/external/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.4.bb
new file mode 100644
index 00000000..9b9c1910
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = "the Git linkable library"
+HOMEPAGE = "http://libgit2.github.com/"
+LICENSE = "GPL-2.0-with-GCC-exception & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3f2cd5d3cccd71d62066ba619614592b"
+
+DEPENDS = "curl openssl zlib libssh2 libgcrypt"
+
+SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.28"
+SRCREV = "106a5f27586504ea371528191f0ea3aac2ad432b"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "\
+ -DBUILD_CLAR=OFF \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DLIB_INSTALL_DIR=${libdir} \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc b/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
index cd775062..07ce35a7 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
+++ b/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -7,15 +7,10 @@ SRC_URI = "https://www.kernel.org/pub/software/libs/libgpiod/${BP}.tar.xz"
inherit autotools pkgconfig
-# enable tools
-PACKAGECONFIG ?= "tools"
-
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
-PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,"
+
+EXTRA_OECONF = "--enable-tools"
PACKAGES =+ " ${PN}-tools"
FILES_${PN}-tools = "${bindir}/*"
-
-RRECOMMENDS_TOOLS = "${@bb.utils.contains('PACKAGECONFIG', 'tools', '${PN}-tools', '',d)}"
-RRECOMMENDS_${PN} += "${RRECOMMENDS_TOOLS}"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb b/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
index 09fb65a0..c4d2bddf 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
@@ -1,4 +1,8 @@
require libgpiod.inc
+PACKAGECONFIG ?= ""
+
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
+
SRC_URI[md5sum] = "2aa1e1a80c3c919ae142ab9a55fb59ca"
SRC_URI[sha256sum] = "b773e557af1a497f786825462a776b7bf90168e67ee0a5bc5d2473a5674dc38c"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.2.bb b/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.2.bb
deleted file mode 100644
index 30289b98..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require libgpiod.inc
-
-DEPENDS += "autoconf-archive-native"
-
-SRC_URI[md5sum] = "34a9972f2f4e9c32fa940301301b007d"
-SRC_URI[sha256sum] = "b6b9079c933f7c8524815437937dda6b795a16141bca202a9eec70ba5844b5ba"
-
-PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
-
-PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3,python3-core"
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}
-
-PACKAGES =+ "${PN}-python"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}"
-RRECOMMENDS_${PN} += "${RRECOMMENDS_PYTHON}"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.3.bb b/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.3.bb
new file mode 100644
index 00000000..a6320da8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.3.bb
@@ -0,0 +1,21 @@
+require libgpiod.inc
+
+DEPENDS += "autoconf-archive-native"
+
+SRC_URI[md5sum] = "d4826720a8de13379436f9c207237bc0"
+SRC_URI[sha256sum] = "0ad080d1eb89c422cf13001293ffa72869ca13028e85dab5f6b3ba90f88da46d"
+
+# enable cxx bindings
+PACKAGECONFIG ?= "cxx"
+
+PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
+
+PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
+
+inherit python3native
+
+PACKAGES =+ "${PN}-python"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}"
+RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb b/external/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb
new file mode 100644
index 00000000..e3c0bdd1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb
@@ -0,0 +1,12 @@
+SUMMARY = "GUsb is a GObject wrapper for libusb1"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "glib-2.0 libusb"
+
+inherit meson gobject-introspection gtk-doc gettext vala
+
+SRC_URI = "git://github.com/hughsie/libgusb.git"
+SRCREV = "636efc0624aa2a88174220fcabc9764c13d7febf"
+PV = "0.3.0+git${SRCPV}"
+S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch b/external/meta-openembedded/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch
new file mode 100644
index 00000000..332be1b3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch
@@ -0,0 +1,52 @@
+Backport from Fedora Project.
+https://src.fedoraproject.org/rpms/libharu
+
+Fix the install destination of some files.
+
+Upstream-Status: inappropriate
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+
+diff -urp libharu-RELEASE_2_3_0/CMakeLists.txt libharu-RELEASE_2_3_0_cmake/CMakeLists.txt
+--- libharu-RELEASE_2_3_0/CMakeLists.txt 2013-10-30 20:11:59.000000000 +0700
++++ libharu-RELEASE_2_3_0_cmake/CMakeLists.txt 2017-06-01 15:56:06.533552795 +0700
+@@ -25,7 +25,7 @@ endif(MSVC)
+
+ # information about libharu
+ set(LIBHPDF_MAJOR 2)
+-set(LIBHPDF_MINOR 2)
++set(LIBHPDF_MINOR 3)
+ set(LIBHPDF_PATCH 0)
+ set(LIBHPDF_VERSION ${LIBHPDF_MAJOR}.${LIBHPDF_MINOR}.${LIBHPDF_PATCH})
+ set(LIBHPDF_DESCRIPTION "libHaru is a free, cross platform, open source library for generating PDF files.")
+@@ -210,9 +210,9 @@ set(
+ install(FILES ${haru_HDRS} DESTINATION include)
+
+ # install various files
+-install(FILES README CHANGES INSTALL DESTINATION .)
++install(FILES README CHANGES INSTALL DESTINATION ${SHARE_INSTALL_PREFIX}/libharu)
+ if(NOT DEVPAK)
+- install(DIRECTORY if DESTINATION .)
++ install(DIRECTORY if DESTINATION ${SHARE_INSTALL_PREFIX}/libharu)
+ endif(NOT DEVPAK)
+ if(DEVPAK)
+ install(FILES ${CMAKE_BINARY_DIR}/libharu.DevPackage DESTINATION .)
+diff -urp libharu-RELEASE_2_3_0/src/CMakeLists.txt libharu-RELEASE_2_3_0_cmake/src/CMakeLists.txt
+--- libharu-RELEASE_2_3_0/src/CMakeLists.txt 2013-10-30 20:11:59.000000000 +0700
++++ libharu-RELEASE_2_3_0_cmake/src/CMakeLists.txt 2017-06-01 16:08:45.425105746 +0700
+@@ -90,11 +90,13 @@ if(LIBHPDF_SHARED)
+ target_link_libraries(${LIBHPDF_NAME} ${ADDITIONAL_LIBRARIES})
+ if(WIN32 AND NOT CYGWIN)
+ set_target_properties(${LIBHPDF_NAME} PROPERTIES DEFINE_SYMBOL HPDF_DLL_MAKE)
++ else(WIN32 AND NOT CYGWIN)
++ set_target_properties(${LIBHPDF_NAME} PROPERTIES SOVERSION ${LIBHPDF_VERSION})
+ endif(WIN32 AND NOT CYGWIN)
+ install(
+ TARGETS ${LIBHPDF_NAME}
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+ RUNTIME DESTINATION bin
+ )
+ endif(LIBHPDF_SHARED)
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.3.0.bb b/external/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.3.0.bb
new file mode 100644
index 00000000..2d1a37c4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libharu/libharu_2.3.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "free PDF library"
+HOMEPAGE = "http://libharu.org"
+DESCRIPTION = "libHaru is a library for generating PDF files. \
+ It is free, open source, written in ANSI C and cross platform. "
+
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://README;md5=3ee6bc1f64d9cc7907f44840c8e50cb1"
+
+SRC_URI = "git://github.com/libharu/libharu.git;branch=2_3 \
+ file://libharu-RELEASE_2_3_0_cmake.patch \
+ "
+
+SRCREV = "4ae1d5f4c84459f130bf1b1ef4c5c330af8eca5d"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+DEPENDS += "libpng zlib"
+
+do_install_append() {
+ mkdir -p ${D}/${datadir}/libharu
+ mv ${D}/libharu ${D}/${datadir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/external/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index fa6f4c2c..f83d9c92 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -4,14 +4,15 @@ SECTION = "libs"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
-SRCREV = "fa82974d8bd1fded78e630ab71a7ded1b11d0e33"
-PV = "0.14+git${SRCPV}"
+SRCREV = "5f5af2e417129ad8f4e05fc5c1b730f0694dca12"
+PV = "0.19+git${SRCPV}"
SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
-inherit cmake pythonnative systemd
+inherit cmake python3native systemd
DEPENDS = " \
flex-native bison-native libaio \
@@ -24,22 +25,24 @@ EXTRA_OECMAKE = " \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \
"
-PACKAGECONFIG ??= "USB_BACKEND NETWORK_BACKEND PYTHON_BINDINGS"
+PACKAGECONFIG ??= "usb_backend network_backend"
-PACKAGECONFIG[USB_BACKEND] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1,libxml2"
-PACKAGECONFIG[NETWORK_BACKEND] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2"
-PACKAGECONFIG[PYTHON_BINDINGS] = ",,python"
+PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1,libxml2"
+PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2"
+PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF"
-PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-python"
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'distutils3-base', '', d)}
-RDEPENDS_${PN}-python = "${PN} python-ctypes python-stringold"
+PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}"
+
+RDEPENDS_${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold"
FILES_${PN}-iiod = " \
${sbindir}/iiod \
${systemd_system_unitdir}/iiod.service \
"
FILES_${PN}-tests = "${bindir}"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}"
SYSTEMD_PACKAGES = "${PN}-iiod"
SYSTEMD_SERVICE_${PN}-iiod = "iiod.service"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.59.bb b/external/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.59.bb
deleted file mode 100644
index b44c66af..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.59.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application"
-HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5"
-SECTION = "net"
-DEPENDS = "file"
-
-SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "8ab5123535549195aff19e91b4e49f48"
-SRC_URI[sha256sum] = "9b9ccd7d0b11b0e179f1f58dc2caa3e0c62c8609e1e1dc7dcaadf941b67d923c"
-
-inherit autotools lib_package pkgconfig gettext
-
-CFLAGS += "-pthread -D_REENTRANT"
-
-EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
-
-PACKAGECONFIG ?= "curl https"
-PACKAGECONFIG_append_class-target = "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
-"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
-PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls,"
-
-do_compile_append() {
- sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.70.bb b/external/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.70.bb
new file mode 100644
index 00000000..94976d2e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.70.bb
@@ -0,0 +1,30 @@
+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=57d09285feac8a64efa878e692b14f36"
+SECTION = "net"
+
+DEPENDS = "file"
+
+SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz \
+"
+SRC_URI[md5sum] = "dcd6045ecb4ea18c120afedccbd1da74"
+SRC_URI[sha256sum] = "90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307"
+
+inherit autotools lib_package pkgconfig gettext
+
+CFLAGS += "-pthread -D_REENTRANT"
+
+EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
+
+PACKAGECONFIG ?= "curl https"
+PACKAGECONFIG_append_class-target = "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
+"
+PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
+PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls,"
+
+do_compile_append() {
+ sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch b/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch
new file mode 100644
index 00000000..50cd4d42
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch
@@ -0,0 +1,67 @@
+From 64fd25af5fea3a3c9c12122a2fd0fab3cd420f72 Mon Sep 17 00:00:00 2001
+From: asmitk01-in <asmitk01@in.ibm.com>
+Date: Wed, 5 Feb 2020 00:14:42 -0600
+Subject: [PATCH] libmimetic: Removing test directory from the Makefile
+
+The test directory is removed as there were errors (relocation errors)
+since the shared object files of libc++ and libc were not taken from the
+sysroot path but from the system's library path where the required
+version of the .so is not present.
+
+The files 'mimetic/codec/other_codecs.h' and 'mimetic/contenttype.cxx'
+contains changes that resolves errors when compiling on target system
+aarch64-yoe-linux-musl.
+
+Signed-off-by: asmitk01-in <asmitk01@in.ibm.com>
+Change-Id: I1822b36ad4a1fa5e7b165d8cac3a6e96aca11c35
+---
+ Makefile.am | 2 +-
+ mimetic/codec/other_codecs.h | 4 ++++
+ mimetic/contenttype.cxx | 4 ++++
+ 3 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 634bd4c..c7cbae7 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,6 +1,6 @@
+ MAINTAINERCLEANFILES = Makefile Makefile.in config.cache
+ EXTRA_DIST=LICENSE m4
+-SUBDIRS = mimetic doc examples test win32
++SUBDIRS = mimetic doc examples win32
+ INCLUDES=-I$(top_srcdir)
+ ACLOCAL_AMFLAGS=-I m4
+
+diff --git a/mimetic/codec/other_codecs.h b/mimetic/codec/other_codecs.h
+index c4ccf3f..0fc88fd 100644
+--- a/mimetic/codec/other_codecs.h
++++ b/mimetic/codec/other_codecs.h
+@@ -8,6 +8,10 @@
+ #define _MIMETIC_CODEC_OTHER_CODECS_H_
+ #include <mimetic/codec/codec_base.h>
+
++#ifndef __GLIBC__
++ typedef unsigned int uint;
++#endif
++
+ namespace mimetic
+ {
+
+diff --git a/mimetic/contenttype.cxx b/mimetic/contenttype.cxx
+index 522082d..0577d44 100644
+--- a/mimetic/contenttype.cxx
++++ b/mimetic/contenttype.cxx
+@@ -13,6 +13,10 @@
+ #include <mimetic/tokenizer.h>
+ #include <mimetic/utils.h>
+
++#ifndef __GLIBC__
++ typedef unsigned int uint;
++#endif
++
+ namespace mimetic
+ {
+ using namespace std;
+--
+2.9.3
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic/0001-mimetic-Check-for-MMAP_FAILED-return-from-mmap.patch b/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic/0001-mimetic-Check-for-MMAP_FAILED-return-from-mmap.patch
new file mode 100644
index 00000000..c7c8d62a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic/0001-mimetic-Check-for-MMAP_FAILED-return-from-mmap.patch
@@ -0,0 +1,49 @@
+From f8ab2b1aaa37f6ba9d527a99cb37b6ac2171e122 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Feb 2020 17:03:12 -0800
+Subject: [PATCH] mimetic: Check for MMAP_FAILED return from mmap()
+
+Avoids using greater than zero comparision on pointers
+
+Fixes
+mimetic/os/mmfile.cxx:60:14: error: ordered comparison between pointer and zero ('char *' and 'int')
+
+if(m_beg > 0)
+~~~~ ^ ~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ mimetic/os/mmfile.cxx | 16 +++++++---------
+ 1 file changed, 7 insertions(+), 9 deletions(-)
+
+diff --git a/mimetic/os/mmfile.cxx b/mimetic/os/mmfile.cxx
+index dfc95b7..ed4ff55 100644
+--- a/mimetic/os/mmfile.cxx
++++ b/mimetic/os/mmfile.cxx
+@@ -57,15 +57,13 @@ bool MMFile::open(int mode)
+ bool MMFile::map()
+ {
+ m_beg = (char*) mmap(0, m_st.st_size, PROT_READ, MAP_SHARED,m_fd,0);
+- if(m_beg > 0)
+- {
+- m_end = m_beg + m_st.st_size;
+- #if HAVE_MADVISE
+- madvise(m_beg, m_st.st_size, MADV_SEQUENTIAL);
+- #endif
+- return true;
+- }
+- return false;
++ if(m_beg == MAP_FAILED)
++ return false;
++ m_end = m_beg + m_st.st_size;
++ #if HAVE_MADVISE
++ madvise(m_beg, m_st.st_size, MADV_SEQUENTIAL);
++ #endif
++ return true;
+ }
+
+ MMFile::~MMFile()
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb b/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
new file mode 100644
index 00000000..590c4ebc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
@@ -0,0 +1,24 @@
+# Released under the MIT license.
+
+SUMMARY = "Mimetic Library for multi-part parsing"
+DESCRIPTION = "Email library (MIME) written in C++ designed to be easy to use and integrate but yet fast and efficient."
+AUTHOR = "Stefano Barbato <stefano@codesink.org>"
+HOMEPAGE = "http://www.codesink.org/mimetic_mime_library.html"
+BUGTRACKER = "https://github.com/LadislavSopko/mimetic/issues"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b49da7df0ca479ef01ff7f2d799eabee"
+
+SRCREV = "50486af99b4f9b35522d7b3de40b6ce107505279"
+SRC_URI += "git://github.com/LadislavSopko/mimetic/ \
+ file://0001-libmimetic-Removing-test-directory-from-the-Makefile.patch \
+ file://0001-mimetic-Check-for-MMAP_FAILED-return-from-mmap.patch \
+ "
+
+UPSTREAM_CHECK_COMMITS = "1"
+
+S = "${WORKDIR}/git"
+
+CXXFLAGS += "-Wno-narrowing"
+
+inherit autotools
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb b/external/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb
new file mode 100644
index 00000000..4e77d6cc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Tiny XML Library"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+HOMEPAGE = "https://www.msweet.org/mxml/"
+BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues"
+
+SRC_URI = "git://github.com/michaelrsweet/mxml.git"
+SRCREV = "e483e5fd8a33386fd46967681521bdd2da2b548f"
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG ??= "threads"
+PACKAGECONFIG[threads] = "--enable-threads,--disable-threads"
+
+# Package does not support out of tree builds.
+B = "${S}"
+
+# MXML uses autotools but it explicitly states it does not support autoheader.
+EXTRA_AUTORECONF = "--exclude=autopoint,autoheader"
+
+do_configure_prepend() {
+ # Respect optimization CFLAGS specified by OE.
+ sed -e 's/-Os -g//' -i ${S}/configure.ac
+
+ # Enable verbose compilation output. This is required for extra QA checks to work.
+ sed -e '/.SILENT:/d' -i ${S}/Makefile.in
+}
+
+do_install() {
+ # Package uses DSTROOT instread of standard DESTDIR to specify install location.
+ oe_runmake install DSTROOT=${D}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb b/external/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb
deleted file mode 100644
index 542fe815..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Tiny XML Library"
-LICENSE = "Mini-XML-License"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6ba38606d63bb042c5d8cfee182e120"
-HOMEPAGE = "https://www.msweet.org/mxml/"
-BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues"
-
-SRC_URI = "git://github.com/michaelrsweet/mxml.git"
-SRCREV = "ba3cca82e15a88a9cc6afb60f059288a99afc703"
-S = "${WORKDIR}/git"
-PV = "2.12+git${SRCPV}"
-
-CONFIGUREOPTS = " --prefix=${prefix} \
- --bindir=${bindir} \
- --sbindir=${sbindir} \
- --libexecdir=${libexecdir} \
- --datadir=${datadir} \
- --sysconfdir=${sysconfdir} \
- --sharedstatedir=${sharedstatedir} \
- --localstatedir=${localstatedir} \
- --libdir=${libdir} \
- --includedir=${includedir} \
- --oldincludedir=${oldincludedir} \
- --infodir=${infodir} \
- --mandir=${mandir} \
- --host=${TARGET_SYS} \
- --build=${BUILD_SYS} \
- ${PACKAGECONFIG_CONFARGS} \
- "
-
-do_configure() {
- ./configure ${CONFIGUREOPTS} --enable-shared
-}
-
-do_install () {
- export DSTROOT=${D}
- oe_runmake install
-}
-
-PACKAGES += " ${PN}-bin "
-FILES_${PN} = "${libdir}/*"
-FILES_${PN}-bin = "${bindir}/*"
diff --git a/external/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/external/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch
deleted file mode 100644
index a43b4b17..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/libnih_1.0.3-4ubuntu16.patch b/external/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/libnih_1.0.3-4ubuntu16.patch
deleted file mode 100644
index 5d125c85..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/libnih_1.0.3-4ubuntu16.patch
+++ /dev/null
@@ -1,3593 +0,0 @@
---- libnih-1.0.3.orig/ChangeLog
-+++ libnih-1.0.3/ChangeLog
-@@ -1,3 +1,84 @@
-+2013-03-13 Steve Langasek <steve.langasek@ubuntu.com>
-+
-+ * nih/watch.c (nih_watch_walk_filter): New NihFileFilter function
-+ passed to nih_dir_walk_scan() to ensure the nih_watch_new() filter
-+ function is passed the NihWatch data rather than the data passed to
-+ the nih_dir_walk() NihFileVisitor function (LP: #776532).
-+
-+ * nih/tests/test_watch.c (test_new): New test "with filter and data"
-+ to ensure filter is passed correct value.
-+
-+2013-02-28 James Hunt <james.hunt@ubuntu.com>
-+
-+ * Removal of gcc 'malloc' function attribute resulting from
-+ a clarification in its description which makes its use invalid.
-+ (LP: #1123588).
-+
-+2013-02-05 James Hunt <james.hunt@ubuntu.com>
-+
-+ * nih/logging.c: nih_log_abort_message(): Remove erroneous check
-+ left over from use of __abort_msg weak symbol.
-+ * nih/tests/test_logging.c: Remove unecessary check on whether
-+ __nih_abort_msg has an address.
-+
-+2012-12-13 Stéphane Graber <stgraber@ubuntu.com>
-+
-+ * nih-dbus-tool/type.c, nih-dbus-tool/marshal.c: Update dbus code
-+ generator to allow for empty lists for type 'as'. This drops the
-+ != NULL check for NULL terminated arrays and moves the iteration
-+ loop inside an 'if' statement.
-+
-+2012-12-11 Dmitrijs Ledkovs <dmitrijs.ledkovs@canonical.com>
-+
-+ * nih/file.c (nih_dir_walk_scan): Fallback to lstat, if the
-+ non-portable dirent.d_type is not available (LP: #672643) (Closes:
-+ #695604).
-+
-+2012-12-10 Petr Lautrbach <plautrba@redhat.com>
-+
-+ * nih/tests/test_file.c: don't use dirent.d_type (not portable)
-+
-+2012-10-25 James Hunt <james.hunt@ubuntu.com>
-+
-+ * nih/logging.c: Use our own __nih_abort_msg rather than the
-+ (e)glibc private symbol __abort_msg to avoid upgrade issues (LP: #997359).
-+ * nih/tests/test_logging.c: Update tests for __nih_abort_msg.
-+
-+2011-08-31 James Hunt <james.hunt@ubuntu.com>
-+
-+ * nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c
-+ (test_unix_fd_to_str): Sanity check value before invoking strchr in
-+ case it returns address of null (which would give a misleading test
-+ pass).
-+ * nih-dbus-tool/tests/test_com.netsplit.Nih.Test_proxy.c
-+ (test_unix_fd_to_str, test_unix_fd_to_str_sync): Sanity check value
-+ before invoking strchr in case it returns address of null (which would
-+ give a misleading test pass).
-+ * nih/config.c (): nih_config_block_end: Add check to ensure strchr()
-+ doesn't return address of null since this would result in a misleading
-+ return value of TRUE.
-+
-+ * nih/string.c (nih_str_split): Fixes to avoid over-running
-+ input string and also returning an empty string array entry
-+ when repeat is true (LP: #834813).
-+ * nih/tests/test_string.c (test_str_split): Added a lot of new
-+ tests for nih_str_split().
-+
-+2011-08-26 James Hunt <james.hunt@ubuntu.com>
-+
-+ * nih/io.c (nih_io_select_fds): Ensure number of fds being managed
-+ is within limits.
-+
-+ * nih/config.c, nih/error.h, nih/io.c, nih/test_files.h: Correct
-+ typos in comments.
-+
-+2011-06-20 James Hunt <james.hunt@ubuntu.com>
-+
-+ * nih/watch.c (nih_watch_handle): Handle non-directory watches;
-+ previously a file watch resulted in an invalid file path ending in
-+ a single slash (LP:#777097).
-+ * nih/tests/test_watch.c: Added explicit test for watch on a file.
-+
- 2010-12-23 Scott James Remnant <scott@netsplit.com>
-
- * NEWS: Release 1.0.3
---- libnih-1.0.3.orig/nih/watch.c
-+++ libnih-1.0.3/nih/watch.c
-@@ -2,8 +2,8 @@
- *
- * watch.c - watching of files and directories with inotify
- *
-- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
-- * Copyright © 2009 Canonical Ltd.
-+ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
-+ * Copyright © 2011 Canonical Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2, as
-@@ -71,6 +71,9 @@
- uint32_t events, uint32_t cookie,
- const char *name,
- int *caught_free);
-+static int nih_watch_walk_filter (void *data, const char *path,
-+ int is_dir)
-+ __attribute__ ((warn_unused_result));
-
-
- /**
-@@ -91,7 +94,7 @@
- * sub-directories will be automatically watched.
- *
- * Additionally, the set of files and directories within @path can be
-- * limited by passing a @filter function which will recieve the paths and
-+ * limited by passing a @filter function which will receive the paths and
- * may return TRUE to indicate that the path received should not be watched.
- *
- * When a file is created within @path, or moved from outside this location
-@@ -104,7 +107,7 @@
- * files that exist under @path when the watch is first added. This only
- * occurs if the watch can be added.
- *
-- * This is a very high level wrapped around the inotify API; lower levels
-+ * This is a very high level wrapper around the inotify API; lower levels
- * can be obtained using the inotify API itself and some of the helper
- * functions used by this one.
- *
-@@ -185,6 +188,35 @@
- }
-
-
-+ /**
-+ * nih_watch_walk_filter:
-+ * @data: NihWatch,
-+ * @path: path to file,
-+ * @is_dir: TRUE if @path is a directory.
-+ *
-+ * Callback function for nih_dir_walk(), used by nih_watch_add() to wrap
-+ * the user-specified NihFileFilter (watch->filter) with a filter that can
-+ * take watch itself as an argument.
-+ *
-+ * Returns: TRUE if the path should be ignored, FALSE otherwise.
-+ **/
-+static int
-+nih_watch_walk_filter (void *data, const char *path, int is_dir)
-+{
-+ NihWatch *watch;
-+
-+ watch = (NihWatch *)data;
-+
-+ nih_assert (watch);
-+
-+ /* No filter, so accept all files */
-+ if (! watch->filter)
-+ return FALSE;
-+
-+ return watch->filter (watch->data, path, is_dir);
-+}
-+
-+
- /**
- * nih_watch_handle_by_wd:
- * @watch: watch to search,
-@@ -295,7 +327,7 @@
- * one; errors within the walk are warned automatically, so if this
- * fails, it means we literally couldn't watch the top-level.
- */
-- if (subdirs && (nih_dir_walk (path, watch->filter,
-+ if (subdirs && (nih_dir_walk (path, nih_watch_walk_filter,
- (NihFileVisitor)nih_watch_add_visitor,
- NULL, watch) < 0)) {
- NihError *err;
-@@ -494,12 +526,21 @@
- return;
- }
-
-+ /* Every other event must come with a name */
-+ if (name && *name) {
-
-- /* Every other event must come with a name. */
-- if ((! name) || strchr (name, '/'))
-- return;
-+ /* If name refers to a directory, there should be no associated
-+ * path - just the name of the path element.
-+ */
-+ if (strchr (name, '/'))
-+ return;
-
-- path = NIH_MUST (nih_sprintf (NULL, "%s/%s", handle->path, name));
-+ /* Event occured for file within a watched directory */
-+ path = NIH_MUST (nih_sprintf (NULL, "%s/%s", handle->path, name));
-+ } else {
-+ /* File event occured */
-+ path = NIH_MUST (nih_strdup (NULL, handle->path));
-+ }
-
- /* Check the filter */
- if (watch->filter && watch->filter (watch->data, path,
---- libnih-1.0.3.orig/nih/hash.h
-+++ libnih-1.0.3/nih/hash.h
-@@ -141,7 +141,7 @@
- * @hash: hash table to iterate,
- * @iter: name of iterator variable.
- *
-- * Expans to nested for statements that iterate over each entry in each
-+ * Expands to nested for statements that iterate over each entry in each
- * bin of @hash, except for the bin head pointer, setting @iter to each
- * entry for the block within the loop. A variable named _@iter_i is used
- * to iterate the hash bins.
-@@ -203,7 +203,7 @@
- NihKeyFunction key_function,
- NihHashFunction hash_function,
- NihCmpFunction cmp_function)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NihList * nih_hash_add (NihHash *hash, NihList *entry);
- NihList * nih_hash_add_unique (NihHash *hash, NihList *entry);
---- libnih-1.0.3.orig/nih/main.h
-+++ libnih-1.0.3/nih/main.h
-@@ -138,7 +138,7 @@
-
- NihMainLoopFunc *nih_main_loop_add_func (const void *parent,
- NihMainLoopCb callback, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- void nih_main_term_signal (void *data, NihSignal *signal);
-
---- libnih-1.0.3.orig/nih/command.h
-+++ libnih-1.0.3/nih/command.h
-@@ -123,7 +123,7 @@
-
- NihCommand *nih_command_join (const void *parent,
- const NihCommand *a, const NihCommand *b)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih/config.h
-+++ libnih-1.0.3/nih/config.h
-@@ -140,10 +140,10 @@
- char * nih_config_next_token (const void *parent, const char *file,
- size_t len, size_t *pos, size_t *lineno,
- const char *delim, int dequote)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * nih_config_next_arg (const void *parent, const char *file,
- size_t len, size_t *pos, size_t *lineno)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- void nih_config_next_line (const char *file, size_t len,
- size_t *pos, size_t *lineno);
-
-@@ -155,15 +155,15 @@
-
- char ** nih_config_parse_args (const void *parent, const char *file,
- size_t len, size_t *pos, size_t *lineno)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * nih_config_parse_command (const void *parent, const char *file,
- size_t len, size_t *pos, size_t *lineno)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * nih_config_parse_block (const void *parent, const char *file,
- size_t len, size_t *pos, size_t *lineno,
- const char *type)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- int nih_config_skip_block (const char *file, size_t len,
- size_t *lineno, size_t *pos,
- const char *type, size_t *endpos)
---- libnih-1.0.3.orig/nih/io.c
-+++ libnih-1.0.3/nih/io.c
-@@ -2,8 +2,8 @@
- *
- * io.c - file and socket input/output handling
- *
-- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
-- * Copyright © 2009 Canonical Ltd.
-+ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
-+ * Copyright © 2011 Canonical Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2, as
-@@ -165,6 +165,7 @@
- nih_assert (readfds != NULL);
- nih_assert (writefds != NULL);
- nih_assert (exceptfds != NULL);
-+ nih_assert (*nfds <= FD_SETSIZE);
-
- nih_io_init ();
-
-@@ -186,6 +187,9 @@
- *nfds = nih_max (*nfds, watch->fd + 1);
- }
- }
-+
-+ /* Re-check in case we exceeded the limit in the loop */
-+ nih_assert (*nfds <= FD_SETSIZE);
- }
-
- /**
-@@ -901,7 +905,7 @@
- * read and placed into the receive buffer or queue, and the reader function
- * is called if set.
- *
-- * Any data or messaages in the send buffer or queue are written out if the
-+ * Any data or messages in the send buffer or queue are written out if the
- * @events includes NIH_IO_WRITE.
- *
- * Errors are handled when data is read, and result in the error handled
-@@ -1211,7 +1215,7 @@
- * This function is called when the local end of a file descriptor being
- * managed by NihIo should be closed. Usually this is because the remote
- * end has been closed (without error) but it can also be because no
-- * error handler was given
-+ * error handler was given.
- *
- * Normally this just calls the close handler, or if not available, it
- * closes the file descriptor and frees the structure (which may be
-@@ -1291,7 +1295,7 @@
- * @io: structure to be destroyed.
- *
- * Closes the file descriptor associated with an NihIo structure so that
-- * the structure can be freed. IF an error is caught by closing the
-+ * the structure can be freed. If an error is caught by closing the
- * descriptor, the error handler is called instead of the error being raised;
- * this allows you to group your error handling in one place rather than
- * special-case close.
---- libnih-1.0.3.orig/nih/watch.h
-+++ libnih-1.0.3/nih/watch.h
-@@ -156,7 +156,7 @@
- NihCreateHandler create_handler,
- NihModifyHandler modify_handler,
- NihDeleteHandler delete_handler, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int nih_watch_add (NihWatch *watch, const char *path, int subdirs)
- __attribute__ ((warn_unused_result));
---- libnih-1.0.3.orig/nih/tree.h
-+++ libnih-1.0.3/nih/tree.h
-@@ -344,9 +344,9 @@
-
- void nih_tree_init (NihTree *tree);
- NihTree * nih_tree_new (const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- NihTreeEntry *nih_tree_entry_new (const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NihTree * nih_tree_add (NihTree *tree, NihTree *node,
- NihTreeWhere where);
---- libnih-1.0.3.orig/nih/file.c
-+++ libnih-1.0.3/nih/file.c
-@@ -65,7 +65,7 @@
- /* Prototypes for static functions */
- static char **nih_dir_walk_scan (const char *path, NihFileFilter filter,
- void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- static int nih_dir_walk_visit (const char *dirname, NihList *dirs,
- const char *path, NihFileFilter filter,
- NihFileVisitor visitor,
-@@ -619,6 +619,8 @@
- struct dirent *ent;
- char **paths;
- size_t npaths;
-+ int isdir;
-+ struct stat statbuf;
-
- nih_assert (path != NULL);
-
-@@ -640,7 +642,15 @@
- subpath = NIH_MUST (nih_sprintf (NULL, "%s/%s",
- path, ent->d_name));
-
-- if (filter && filter (data, subpath, ent->d_type == DT_DIR))
-+ if (ent->d_type == DT_UNKNOWN) {
-+ if ( lstat (subpath, &statbuf))
-+ isdir = 0;
-+ else
-+ isdir = S_ISDIR(statbuf.st_mode);
-+ } else
-+ isdir = ent->d_type == DT_DIR;
-+
-+ if (filter && filter (data, subpath, isdir))
- continue;
-
- NIH_MUST (nih_str_array_addp (&paths, NULL, &npaths, subpath));
---- libnih-1.0.3.orig/nih/alloc.c
-+++ libnih-1.0.3/nih/alloc.c
-@@ -119,8 +119,7 @@
- static inline int nih_alloc_context_free (NihAllocCtx *ctx);
-
- static inline NihAllocRef *nih_alloc_ref_new (NihAllocCtx *parent,
-- NihAllocCtx *child)
-- __attribute__ ((malloc));
-+ NihAllocCtx *child);
- static inline void nih_alloc_ref_free (NihAllocRef *ref);
- static inline NihAllocRef *nih_alloc_ref_lookup (NihAllocCtx *parent,
- NihAllocCtx *child);
---- libnih-1.0.3.orig/nih/timer.h
-+++ libnih-1.0.3/nih/timer.h
-@@ -59,7 +59,7 @@
- * @months: months (1-12),
- * @wdays: days of week (0-7).
- *
-- * Indidcates when scheduled timers should be run, each member is a bit
-+ * Indicates when scheduled timers should be run, each member is a bit
- * field where the bit is 1 if the timer should be run for that value and
- * 0 if not.
- **/
-@@ -117,14 +117,14 @@
-
- NihTimer *nih_timer_add_timeout (const void *parent, time_t timeout,
- NihTimerCb callback, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- NihTimer *nih_timer_add_periodic (const void *parent, time_t period,
- NihTimerCb callback, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- NihTimer *nih_timer_add_scheduled (const void *parent,
- NihTimerSchedule *schedule,
- NihTimerCb callback, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NihTimer *nih_timer_next_due (void);
- void nih_timer_poll (void);
---- libnih-1.0.3.orig/nih/config.c
-+++ libnih-1.0.3/nih/config.c
-@@ -2,8 +2,8 @@
- *
- * config.c - configuration file parsing
- *
-- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
-- * Copyright © 2009 Canonical Ltd.
-+ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
-+ * Copyright © 2011 Canonical Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2, as
-@@ -657,7 +657,7 @@
- * of the returned string are freed, the returned string will also be
- * freed.
- *
-- * Returns: the command found or NULL on raised error.
-+ * Returns: the newly allocated command found or NULL on raised error.
- **/
- char *
- nih_config_parse_command (const void *parent,
-@@ -714,7 +714,7 @@
- * @lineno: line number,
- * @type: block identifier.
- *
-- * Extracts a block of text from @line, stopping when the pharse "end @type"
-+ * Extracts a block of text from @line, stopping when the phrase "end @type"
- * is encountered without any quotes or blackslash escaping within it.
- *
- * @file may be a memory mapped file, in which case @pos should be given
-@@ -950,7 +950,7 @@
- return FALSE;
-
- /* Must be whitespace after */
-- if (! strchr (NIH_CONFIG_WS, file[p + 3]))
-+ if (file[p + 3] && ! strchr (NIH_CONFIG_WS, file[p + 3]))
- return FALSE;
-
- /* Find the second word */
---- libnih-1.0.3.orig/nih/option.h
-+++ libnih-1.0.3/nih/option.h
-@@ -124,11 +124,11 @@
- char ** nih_option_parser (const void *parent,
- int argc, char *argv[],
- NihOption *options, int break_nonopt)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NihOption *nih_option_join (const void *parent,
- const NihOption *a, const NihOption *b)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int nih_option_count (NihOption *option, const char *arg);
- int nih_option_int (NihOption *option, const char *arg);
---- libnih-1.0.3.orig/nih/signal.h
-+++ libnih-1.0.3/nih/signal.h
-@@ -76,7 +76,7 @@
-
- NihSignal * nih_signal_add_handler (const void *parent, int signum,
- NihSignalHandler handler, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- void nih_signal_handler (int signum);
- void nih_signal_poll (void);
---- libnih-1.0.3.orig/nih/list.h
-+++ libnih-1.0.3/nih/list.h
-@@ -37,7 +37,7 @@
- * after a known entry, and remove an entry from the list.
- *
- * List entries may be created in one of two ways. The most common is to
-- * embed the NihList structure as the frist member of your own structure,
-+ * embed the NihList structure as the first member of your own structure,
- * and initialise it with nih_list_init() after allocating the structure.
- * Alternatively you may create NihListEntry structures with
- * nih_list_entry_new() and point at your own data from them.
-@@ -196,10 +196,10 @@
-
- void nih_list_init (NihList *entry);
- NihList * nih_list_new (const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NihListEntry *nih_list_entry_new (const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
-
- NihList * nih_list_add (NihList *list, NihList *entry);
---- libnih-1.0.3.orig/nih/logging.c
-+++ libnih-1.0.3/nih/logging.c
-@@ -39,11 +39,11 @@
-
-
- /**
-- * __abort_msg:
-+ * __nih_abort_msg:
- *
-- * A glibc variable that keeps the assertion message in the core dump.
-+ * A variable that keeps the assertion message in the core dump.
- **/
--extern char *__abort_msg __attribute__ ((weak));
-+char *__nih_abort_msg = NULL;
-
- /**
- * logger:
-@@ -114,19 +114,16 @@
- * nih_log_abort_message:
- * @message: message to be logged.
- *
-- * Save @message in the glibc __abort_msg variable so it can be retrieved
-+ * Save @message in the __nih_abort_msg variable so it can be retrieved
- * by debuggers if we should crash at this point.
- **/
- static void
- nih_log_abort_message (const char *message)
- {
-- if (! &__abort_msg)
-- return;
-+ if (__nih_abort_msg)
-+ nih_discard (__nih_abort_msg);
-
-- if (__abort_msg)
-- nih_discard (__abort_msg);
--
-- __abort_msg = NIH_MUST (nih_strdup (NULL, message));
-+ __nih_abort_msg = NIH_MUST (nih_strdup (NULL, message));
- }
-
- /**
---- libnih-1.0.3.orig/nih/test_files.h
-+++ libnih-1.0.3/nih/test_files.h
-@@ -1,7 +1,7 @@
- /* libnih
- *
-- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
-- * Copyright © 2009 Canonical Ltd.
-+ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
-+ * Copyright © 2011 Canonical Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2, as
-@@ -39,7 +39,7 @@
- * TEST_FILENAME:
- * @_var: variable to store filename in.
- *
-- * Generate a filename that may be used for testing, it's unlinked it if
-+ * Generate a filename that may be used for testing, it's unlinked if it
- * exists and it's up to you to unlink it when done. @_var should be at
- * least PATH_MAX long.
- **/
---- libnih-1.0.3.orig/nih/test_process.h
-+++ libnih-1.0.3/nih/test_process.h
-@@ -36,7 +36,7 @@
- * Spawn a child in which a test can be performed without affecting the
- * main flow of the process. The pid of the child is stored in @_pid.
- *
-- * This macro ensures that the child has begun exectution before the
-+ * This macro ensures that the child has begun execution before the
- * parent is allowed to continue through the usual use of a pipe.
- *
- * A block of code should follow this macro, which is the code that will
---- libnih-1.0.3.orig/nih/child.h
-+++ libnih-1.0.3/nih/child.h
-@@ -98,7 +98,7 @@
- NihChildWatch *nih_child_add_watch (const void *parent, pid_t pid,
- NihChildEvents events,
- NihChildHandler handler, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- void nih_child_poll (void);
-
---- libnih-1.0.3.orig/nih/alloc.h
-+++ libnih-1.0.3/nih/alloc.h
-@@ -299,7 +299,7 @@
- * It is permissible to take references to foo within its scope, or by
- * functions called, in which case it will not be freed. Also it is
- * generally nonsensical to allocate with a parent, since this too will
-- * prevent it from beign freed.
-+ * prevent it from being freed.
- **/
- #define nih_local __attribute__ ((cleanup(_nih_discard_local)))
-
-@@ -307,11 +307,11 @@
- NIH_BEGIN_EXTERN
-
- void * nih_alloc (const void *parent, size_t size)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- void * nih_realloc (void *ptr, const void *parent,
- size_t size)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int nih_free (void *ptr);
- int nih_discard (void *ptr);
---- libnih-1.0.3.orig/nih/io.h
-+++ libnih-1.0.3/nih/io.h
-@@ -269,7 +269,7 @@
- NihIoWatch * nih_io_add_watch (const void *parent, int fd,
- NihIoEvents events,
- NihIoWatcher watcher, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- void nih_io_select_fds (int *nfds, fd_set *readfds,
- fd_set *writefds, fd_set *exceptfds);
-@@ -278,12 +278,12 @@
-
-
- NihIoBuffer * nih_io_buffer_new (const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int nih_io_buffer_resize (NihIoBuffer *buffer, size_t grow);
- char * nih_io_buffer_pop (const void *parent,
- NihIoBuffer *buffer, size_t *len)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- void nih_io_buffer_shrink (NihIoBuffer *buffer, size_t len);
- int nih_io_buffer_push (NihIoBuffer *buffer,
- const char *str, size_t len)
-@@ -291,7 +291,7 @@
-
-
- NihIoMessage *nih_io_message_new (const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int nih_io_message_add_control (NihIoMessage *message, int level,
- int type, socklen_t len,
-@@ -300,7 +300,7 @@
-
- NihIoMessage *nih_io_message_recv (const void *parent, int fd,
- size_t *len)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- ssize_t nih_io_message_send (NihIoMessage *message, int fd)
- __attribute__ ((warn_unused_result));
-
-@@ -310,7 +310,7 @@
- NihIoCloseHandler close_handler,
- NihIoErrorHandler error_handler,
- void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- void nih_io_shutdown (NihIo *io);
- int nih_io_destroy (NihIo *io);
-
-@@ -319,14 +319,14 @@
-
- char * nih_io_read (const void *parent, NihIo *io,
- size_t *len)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- int nih_io_write (NihIo *io, const char *str,
- size_t len)
- __attribute__ ((warn_unused_result));
-
- char * nih_io_get (const void *parent, NihIo *io,
- const char *delim)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int nih_io_printf (NihIo *io, const char *format, ...)
- __attribute__ ((warn_unused_result, format (printf, 2, 3)));
---- libnih-1.0.3.orig/nih/test_output.h
-+++ libnih-1.0.3/nih/test_output.h
-@@ -61,10 +61,10 @@
-
- /**
- * TEST_FEATURE:
-- * @_feat: name of function feature being tested.
-+ * @_feat: name of function or group feature being tested.
- *
-- * Output a message indicating that a sub-test of a function is being
-- * performed, specifically the feature named _feat.
-+ * Output a message indicating that a sub-test of a function or
-+ * group is being performed, specifically the feature named _feat.
- **/
- #define TEST_FEATURE(_feat) \
- printf ("...%s\n", _feat);
---- libnih-1.0.3.orig/nih/error.h
-+++ libnih-1.0.3/nih/error.h
-@@ -1,7 +1,7 @@
- /* libnih
- *
-- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
-- * Copyright © 2009 Canonical Ltd.
-+ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
-+ * Copyright © 2011 Canonical Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2, as
-@@ -111,7 +111,7 @@
- * @message: human-readable message.
- *
- * Raises an error with the given details in the current error context,
-- * if an unhandled error already exists then an error message is emmitted
-+ * if an unhandled error already exists then an error message is emitted
- * through the logging system; you should try to avoid this.
- *
- * @message should be a static string, as it will not be freed when the
-@@ -126,7 +126,7 @@
- * @format: format string for human-readable message.
- *
- * Raises an error with the given details in the current error context,
-- * if an unhandled error already exists then an error message is emmitted
-+ * if an unhandled error already exists then an error message is emitted
- * through the logging system; you should try to avoid this.
- *
- * The human-readable message for the error is parsed according to @format,
-@@ -140,7 +140,7 @@
- * nih_error_raise_system:
- *
- * Raises an error with details taken from the current value of errno,
-- * if an unhandled error already exists then an error message is emmitted
-+ * if an unhandled error already exists then an error message is emitted
- * through the logging system; you should try to avoid this.
- **/
- #define nih_error_raise_system() \
-@@ -162,7 +162,7 @@
- * @error: existing object to raise.
- *
- * Raises the existing error object in the current error context,
-- * if an unhandled error already exists then an error message is emmitted
-+ * if an unhandled error already exists then an error message is emitted
- * through the logging system; you should try to avoid this.
- *
- * This is normally used to raise a taken error that has not been handled,
-@@ -182,7 +182,7 @@
- * @message: human-readable message.
- *
- * Raises an error with the given details in the current error context,
-- * if an unhandled error already exists then an error message is emmitted
-+ * if an unhandled error already exists then an error message is emitted
- * through the logging system; you should try to avoid this.
- *
- * Will return from the current function with @retval, which may be left
-@@ -199,7 +199,7 @@
- * @retval: return value for function.
- *
- * Raises an error with details taken from the current value of errno,
-- * if an unhandled error already exists then an error message is emmitted
-+ * if an unhandled error already exists then an error message is emitted
- * through the logging system; you should try to avoid this.
- *
- * Will return from the current function with @retval, which may be left
---- libnih-1.0.3.orig/nih/string.h
-+++ libnih-1.0.3/nih/string.h
-@@ -35,60 +35,60 @@
- NIH_BEGIN_EXTERN
-
- char * nih_sprintf (const void *parent, const char *format, ...)
-- __attribute__ ((format (printf, 2, 3), warn_unused_result, malloc));
-+ __attribute__ ((format (printf, 2, 3), warn_unused_result));
-
- char * nih_vsprintf (const void *parent, const char *format,
- va_list args)
-- __attribute__ ((format (printf, 2, 0), warn_unused_result, malloc));
-+ __attribute__ ((format (printf, 2, 0), warn_unused_result));
-
- char * nih_strdup (const void *parent, const char *str)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * nih_strndup (const void *parent, const char *str, size_t len)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * nih_strcat (char **str, const void *parent, const char *src)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * nih_strncat (char **str, const void *parent, const char *src,
- size_t len)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * nih_strcat_sprintf (char **str, const void *parent,
- const char *format, ...)
-- __attribute__ ((format (printf, 3, 4), warn_unused_result, malloc));
-+ __attribute__ ((format (printf, 3, 4), warn_unused_result));
- char * nih_strcat_vsprintf (char **str, const void *parent,
- const char *format, va_list args)
-- __attribute__ ((format (printf, 3, 0), warn_unused_result, malloc));
-+ __attribute__ ((format (printf, 3, 0), warn_unused_result));
-
- char **nih_str_split (const void *parent, const char *str,
- const char *delim, int repeat)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char **nih_str_array_new (const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char **nih_str_array_add (char ***array, const void *parent, size_t *len,
- const char *str)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char **nih_str_array_addn (char ***array, const void *parent, size_t *len,
- const char *str, size_t strlen)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char **nih_str_array_addp (char ***array, const void *parent, size_t *len,
- void *ptr)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char **nih_str_array_copy (const void *parent, size_t *len,
- char * const *array)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char **nih_str_array_append (char ***array, const void *parent, size_t *len,
- char * const *args)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * nih_str_wrap (const void *parent, const char *str, size_t len,
- size_t first_indent, size_t indent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- size_t nih_str_screen_width (void);
- char * nih_str_screen_wrap (const void *parent, const char *str,
- size_t first_indent, size_t indent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih/string.c
-+++ libnih-1.0.3/nih/string.c
-@@ -405,7 +405,7 @@
- const char *ptr;
-
- /* Skip initial delimiters */
-- while (repeat && strchr (delim, *str))
-+ while (repeat && *str && strchr (delim, *str))
- str++;
-
- /* Find the end of the token */
-@@ -413,6 +413,13 @@
- while (*str && (! strchr (delim, *str)))
- str++;
-
-+ /* Don't create an empty string array element in repeat
-+ * mode if there is no token (as a result of a
-+ * duplicated delimiter character).
-+ */
-+ if (repeat && (str == ptr))
-+ continue;
-+
- if (! nih_str_array_addn (&array, parent, &len,
- ptr, str - ptr)) {
- nih_free (array);
---- libnih-1.0.3.orig/nih/file.h
-+++ libnih-1.0.3/nih/file.h
-@@ -82,7 +82,7 @@
-
- char *nih_file_read (const void *parent, const char *path,
- size_t *length)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- void *nih_file_map (const char *path, int flags, size_t *length)
- __attribute__ ((warn_unused_result));
---- libnih-1.0.3.orig/nih/tests/test_option.c
-+++ libnih-1.0.3/nih/tests/test_option.c
-@@ -1574,7 +1574,7 @@
- output = tmpfile ();
- TEST_CHILD (pid) {
- TEST_DIVERT_STDOUT (output) {
-- char **args;
-+ char **args __attribute__((unused));
-
- args = nih_option_parser (NULL, argc, argv,
- options, FALSE);
-@@ -1652,7 +1652,7 @@
- unsetenv ("COLUMNS");
-
- TEST_DIVERT_STDOUT (output) {
-- char **args;
-+ char **args __attribute__((unused));
-
- args = nih_option_parser (NULL, argc, argv,
- options, FALSE);
---- libnih-1.0.3.orig/nih/tests/test_logging.c
-+++ libnih-1.0.3/nih/tests/test_logging.c
-@@ -31,7 +31,7 @@
- #include <nih/main.h>
-
-
--extern char *__abort_msg __attribute__ ((weak));
-+extern char *__nih_abort_msg;
-
- static NihLogLevel last_priority = NIH_LOG_UNKNOWN;
- static char * last_message = NULL;
-@@ -156,68 +156,63 @@
- }
-
-
-- /* Check that a fatal message is also stored in the glibc __abort_msg
-+ /* Check that a fatal message is also stored in the __nih_abort_msg
- * variable.
- */
-- if (&__abort_msg) {
-- TEST_FEATURE ("with fatal message");
-- TEST_ALLOC_FAIL {
-- __abort_msg = NULL;
-- last_priority = NIH_LOG_UNKNOWN;
-- last_message = NULL;
--
-- ret = nih_log_message (NIH_LOG_FATAL,
-- "message with %s %d formatting",
-- "some", 20);
--
-- TEST_EQ (ret, 0);
-- TEST_EQ (last_priority, NIH_LOG_FATAL);
-- TEST_EQ_STR (last_message, "message with some 20 formatting");
--
-- TEST_NE_P (__abort_msg, NULL);
-- TEST_ALLOC_PARENT (__abort_msg, NULL);
-- TEST_EQ_STR (__abort_msg, "message with some 20 formatting");
-+ TEST_FEATURE ("with fatal message");
-+ TEST_ALLOC_FAIL {
-+ __nih_abort_msg = NULL;
-+ last_priority = NIH_LOG_UNKNOWN;
-+ last_message = NULL;
-
-- free (last_message);
-- }
-+ ret = nih_log_message (NIH_LOG_FATAL,
-+ "message with %s %d formatting",
-+ "some", 20);
-
-+ TEST_EQ (ret, 0);
-+ TEST_EQ (last_priority, NIH_LOG_FATAL);
-+ TEST_EQ_STR (last_message, "message with some 20 formatting");
-
-- /* Check that a fatal message can safely overwrite one already stored
-- * in the glibc __abort_msg variable.
-- */
-- TEST_FEATURE ("with second fatal message");
-- TEST_ALLOC_FAIL {
-- TEST_ALLOC_SAFE {
-- msg = nih_strdup (NULL, "test");
-- }
--
-- __abort_msg = msg;
-- TEST_FREE_TAG (msg);
--
-- last_priority = NIH_LOG_UNKNOWN;
-- last_message = NULL;
--
-- ret = nih_log_message (NIH_LOG_FATAL,
-- "message with %s %d formatting",
-- "some", 20);
--
-- TEST_EQ (ret, 0);
-- TEST_EQ (last_priority, NIH_LOG_FATAL);
-- TEST_EQ_STR (last_message, "message with some 20 formatting");
--
-- TEST_FREE (msg);
--
-- TEST_NE_P (__abort_msg, NULL);
-- TEST_ALLOC_PARENT (__abort_msg, NULL);
-- TEST_EQ_STR (__abort_msg, "message with some 20 formatting");
-+ TEST_NE_P (__nih_abort_msg, NULL);
-+ TEST_ALLOC_PARENT (__nih_abort_msg, NULL);
-+ TEST_EQ_STR (__nih_abort_msg, "message with some 20 formatting");
-
-- free (last_message);
-- }
-- } else {
-- printf ("SKIP: __abort_msg not available\n");
-+ free (last_message);
- }
-
-
-+ /* Check that a fatal message can safely overwrite one already stored
-+ * in the __nih_abort_msg variable.
-+ */
-+ TEST_FEATURE ("with second fatal message");
-+ TEST_ALLOC_FAIL {
-+ TEST_ALLOC_SAFE {
-+ msg = nih_strdup (NULL, "test");
-+ }
-+
-+ __nih_abort_msg = msg;
-+ TEST_FREE_TAG (msg);
-+
-+ last_priority = NIH_LOG_UNKNOWN;
-+ last_message = NULL;
-+
-+ ret = nih_log_message (NIH_LOG_FATAL,
-+ "message with %s %d formatting",
-+ "some", 20);
-+
-+ TEST_EQ (ret, 0);
-+ TEST_EQ (last_priority, NIH_LOG_FATAL);
-+ TEST_EQ_STR (last_message, "message with some 20 formatting");
-+
-+ TEST_FREE (msg);
-+
-+ TEST_NE_P (__nih_abort_msg, NULL);
-+ TEST_ALLOC_PARENT (__nih_abort_msg, NULL);
-+ TEST_EQ_STR (__nih_abort_msg, "message with some 20 formatting");
-+
-+ free (last_message);
-+ }
-+
- /* Check that the nih_debug macro wraps the call properly and
- * includes the function in which the message occurred.
- */
---- libnih-1.0.3.orig/nih/tests/test_hash.c
-+++ libnih-1.0.3/nih/tests/test_hash.c
-@@ -470,7 +470,8 @@
- test_lookup (void)
- {
- NihHash *hash;
-- NihList *entry1, *entry2, *entry3, *ptr;
-+ NihList *entry1, *entry2, *ptr;
-+ NihList *entry3 __attribute__((unused));
-
- TEST_FUNCTION ("nih_hash_lookup");
- hash = nih_hash_string_new (NULL, 0);
---- libnih-1.0.3.orig/nih/tests/test_main.c
-+++ libnih-1.0.3/nih/tests/test_main.c
-@@ -457,7 +457,7 @@
- test_main_loop (void)
- {
- NihMainLoopFunc *func;
-- NihTimer *timer;
-+ NihTimer *timer __attribute__((unused));
- int ret;
-
- /* Check that we can run through the main loop, and that the
---- libnih-1.0.3.orig/nih/tests/test_watch.c
-+++ libnih-1.0.3/nih/tests/test_watch.c
-@@ -2,8 +2,8 @@
- *
- * test_watch.c - test suite for nih/watch.c
- *
-- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
-- * Copyright © 2009 Canonical Ltd.
-+ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
-+ * Copyright © 2011 Canonical Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2, as
-@@ -39,6 +39,8 @@
- #include <nih/error.h>
- #include <nih/logging.h>
-
-+/* Read "The Hitchhikers Guide to the Galaxy" */
-+#define FILTER_VALUE 42
-
- static int
- my_filter (void *data,
-@@ -54,6 +56,26 @@
- return FALSE;
- }
-
-+/* Set by my_filter2 () so it knows if it has already been called */
-+static int my_filter2_called = 0;
-+
-+static int
-+my_filter2 (int *value,
-+ const char *path,
-+ int is_dir)
-+{
-+ /* we only want to toggle the value once */
-+ if (my_filter2_called)
-+ return TRUE;
-+
-+ my_filter2_called = 1;
-+
-+ nih_assert (value && *value == FILTER_VALUE);
-+ *value = 0;
-+
-+ return FALSE;
-+}
-+
- static int create_called = 0;
- static int modify_called = 0;
- static int delete_called = 0;
-@@ -553,6 +575,44 @@
- nih_free (watch);
- }
-
-+ /* Ensure the file filter gets passed the correct data pointer.
-+ */
-+ TEST_FEATURE ("with filter and data");
-+
-+ /* Ensure we have a new directory */
-+ TEST_FILENAME (dirname);
-+ mkdir (dirname, 0755);
-+
-+ /* Create a single file */
-+ strcpy (filename, dirname);
-+ strcat (filename, "/foo");
-+
-+ fd = fopen (filename, "w");
-+ fprintf (fd, "test\n");
-+ fclose (fd);
-+
-+ TEST_ALLOC_FAIL {
-+ int watch_data = FILTER_VALUE;
-+
-+ /* Reset required to appease TEST_ALLOC_FAIL */
-+ my_filter2_called = 0;
-+
-+ watch = nih_watch_new (NULL, dirname,
-+ TRUE, TRUE,
-+ (NihFileFilter)my_filter2,
-+ NULL, NULL, NULL,
-+ &watch_data);
-+
-+ TEST_NE_P (watch, NULL);
-+
-+ /* Ensure the filter was called and changed the value */
-+
-+ TEST_NE (my_filter2_called, 0);
-+ TEST_EQ (watch_data, 0);
-+
-+ nih_free (watch);
-+ }
-+
- strcpy (filename, dirname);
- strcat (filename, "/bar");
- chmod (filename, 0755);
-@@ -946,13 +1006,82 @@
- nih_error_init ();
-
- TEST_FILENAME (dirname);
-- mkdir (dirname, 0755);
-+ TEST_EQ (mkdir (dirname, 0755), 0);
-
-- watch = nih_watch_new (NULL, dirname, TRUE, TRUE, my_filter,
-- my_create_handler, my_modify_handler,
-+ TEST_FEATURE ("with watched file");
-+ strcpy (filename, dirname);
-+ strcat (filename, "/foo");
-+
-+ /* Create file first since we don't set a create handler on the
-+ * watch.
-+ */
-+ fd = fopen (filename, "w");
-+ fprintf (fd, "bar\n");
-+ fclose (fd);
-+
-+ create_called = 0;
-+ modify_called = 0;
-+ delete_called = 0;
-+ logger_called = 0;
-+ last_path = NULL;
-+ last_watch = NULL;
-+ last_data = NULL;
-+
-+ watch = nih_watch_new (NULL, filename, FALSE, FALSE, NULL,
-+ NULL, my_modify_handler,
- my_delete_handler, &watch);
-+ TEST_NE_P (watch, NULL);
-+
-+ /* Now, modify the existing file to trigger the modify handler. */
-+ fd = fopen (filename, "a+");
-+ fprintf (fd, "baz\n");
-+ fclose (fd);
-+
-+ nfds = 0;
-+ FD_ZERO (&readfds);
-+ FD_ZERO (&writefds);
-+ FD_ZERO (&exceptfds);
-+
-+ nih_io_select_fds (&nfds, &readfds, &writefds, &exceptfds);
-+ select (nfds, &readfds, &writefds, &exceptfds, NULL);
-+ nih_io_handle_fds (&readfds, &writefds, &exceptfds);
-+
-+ TEST_EQ_STR (watch->path, filename);
-+
-+ /* Ensure no regression to old behaviour (LP:#777097) */
-+ TEST_NE (last_path[ strlen(last_path) - 1 ], '/');
-+
-+ TEST_EQ_STR (last_path, filename);
-+ TEST_EQ (modify_called, 1);
-+
-+ unlink (filename);
-+
-+ nfds = 0;
-+ FD_ZERO (&readfds);
-+ FD_ZERO (&writefds);
-+ FD_ZERO (&exceptfds);
-+
-+ nih_io_select_fds (&nfds, &readfds, &writefds, &exceptfds);
-+ select (nfds, &readfds, &writefds, &exceptfds, NULL);
-+ nih_io_handle_fds (&readfds, &writefds, &exceptfds);
-
-+ TEST_EQ (delete_called, 1);
-
-+ rmdir (filename);
-+ nih_free (last_path);
-+
-+ create_called = 0;
-+ modify_called = 0;
-+ delete_called = 0;
-+ logger_called = 0;
-+ last_path = NULL;
-+ last_watch = NULL;
-+ last_data = NULL;
-+
-+
-+ watch = nih_watch_new (NULL, dirname, TRUE, TRUE, my_filter,
-+ my_create_handler, my_modify_handler,
-+ my_delete_handler, &watch);
- /* Check that creating a file within the directory being watched
- * results in the create handler being called, and passed the full
- * path of the created file to it.
---- libnih-1.0.3.orig/nih/tests/test_string.c
-+++ libnih-1.0.3/nih/tests/test_string.c
-@@ -619,6 +619,215 @@
- nih_free (array);
- }
-
-+ TEST_FEATURE ("with no repeat and multiple identical delimiter "
-+ "characters at string start");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "\t\tthis is a test", " \t", FALSE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 7);
-+ for (i = 0; i < 6; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "");
-+ TEST_EQ_STR (array[1], "");
-+ TEST_EQ_STR (array[2], "this");
-+ TEST_EQ_STR (array[3], "is");
-+ TEST_EQ_STR (array[4], "a");
-+ TEST_EQ_STR (array[5], "test");
-+ TEST_EQ_P (array[6], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with no repeat and multiple different delimiter "
-+ "characters at string start");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, " \tthis is a test", " \t", FALSE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 7);
-+ for (i = 0; i < 6; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "");
-+ TEST_EQ_STR (array[1], "");
-+ TEST_EQ_STR (array[2], "this");
-+ TEST_EQ_STR (array[3], "is");
-+ TEST_EQ_STR (array[4], "a");
-+ TEST_EQ_STR (array[5], "test");
-+ TEST_EQ_P (array[6], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with no repeat and multiple identical delimiter "
-+ "characters within string");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "this is a\t\ttest", " \t", FALSE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 8);
-+ for (i = 0; i < 7; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "this");
-+ TEST_EQ_STR (array[1], "is");
-+ TEST_EQ_STR (array[2], "");
-+ TEST_EQ_STR (array[3], "");
-+ TEST_EQ_STR (array[4], "a");
-+ TEST_EQ_STR (array[5], "");
-+ TEST_EQ_STR (array[6], "test");
-+ TEST_EQ_P (array[7], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with no repeat and multiple different delimiter "
-+ "characters within string");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "this is \n\ta\ttest", " \t\n", FALSE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 7);
-+ for (i = 0; i < 6; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "this");
-+ TEST_EQ_STR (array[1], "is");
-+ TEST_EQ_STR (array[2], "");
-+ TEST_EQ_STR (array[3], "");
-+ TEST_EQ_STR (array[4], "a");
-+ TEST_EQ_STR (array[5], "test");
-+ TEST_EQ_P (array[6], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with no repeat and multiple identical delimiter "
-+ "characters at string end");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "this is a test ", " \t", FALSE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 6);
-+ for (i = 0; i < 5; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "this");
-+ TEST_EQ_STR (array[1], "is");
-+ TEST_EQ_STR (array[2], "a");
-+ TEST_EQ_STR (array[3], "test");
-+ TEST_EQ_STR (array[4], "");
-+ TEST_EQ_P (array[5], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with no repeat and multiple different delimiter "
-+ "characters at string end");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "this is a test \t", " \t", FALSE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 6);
-+ for (i = 0; i < 5; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "this");
-+ TEST_EQ_STR (array[1], "is");
-+ TEST_EQ_STR (array[2], "a");
-+ TEST_EQ_STR (array[3], "test");
-+ TEST_EQ_STR (array[4], "");
-+ TEST_EQ_P (array[5], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with no repeat and multiple identical delimiter "
-+ "characters at beginning, middle and end of string");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, " this is\n\n\na test\t\t\t", " \t\n", FALSE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 12);
-+ for (i = 0; i < 11; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "");
-+ TEST_EQ_STR (array[1], "");
-+ TEST_EQ_STR (array[2], "");
-+ TEST_EQ_STR (array[3], "this");
-+ TEST_EQ_STR (array[4], "is");
-+ TEST_EQ_STR (array[5], "");
-+ TEST_EQ_STR (array[6], "");
-+ TEST_EQ_STR (array[7], "a");
-+ TEST_EQ_STR (array[8], "test");
-+ TEST_EQ_STR (array[9], "");
-+ TEST_EQ_STR (array[10], "");
-+ TEST_EQ_P (array[11], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with no repeat and multiple different delimiter "
-+ "characters at beginning, middle and end of string");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, ": \nthis is\t \n:a test:\n ", "\n :\t", FALSE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 13);
-+ for (i = 0; i < 12; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "");
-+ TEST_EQ_STR (array[1], "");
-+ TEST_EQ_STR (array[2], "");
-+ TEST_EQ_STR (array[3], "this");
-+ TEST_EQ_STR (array[4], "is");
-+ TEST_EQ_STR (array[5], "");
-+ TEST_EQ_STR (array[6], "");
-+ TEST_EQ_STR (array[7], "");
-+ TEST_EQ_STR (array[8], "a");
-+ TEST_EQ_STR (array[9], "test");
-+ TEST_EQ_STR (array[10], "");
-+ TEST_EQ_STR (array[11], "");
-+ TEST_EQ_P (array[12], NULL);
-+
-+ nih_free (array);
-+ }
-
- /* Check that we can split a string treating multiple consecutive
- * matching characters as a single separator to be skipped.
-@@ -645,6 +854,177 @@
- nih_free (array);
- }
-
-+ /* Check that we can split a string containing multiple
-+ * occurences of one of the delimiter characters at the
-+ * beginning of the string.
-+ */
-+ TEST_FEATURE ("with repeat and multiple identical adjacent delimiter characters at string start");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "\n\nhello", " \t\r\n", TRUE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 2);
-+ for (i = 0; i < 1; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "hello");
-+ TEST_EQ_P (array[1], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with repeat and multiple different adjacent delimiter characters at string start");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "\n\r hello", " \t\r\n", TRUE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 2);
-+ for (i = 0; i < 1; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "hello");
-+ TEST_EQ_P (array[1], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with repeat and multiple identical adjacent delimiter "
-+ "characters within string");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "hello\n\rworld", " \t\n\r", TRUE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 3);
-+ for (i = 0; i < 2; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "hello");
-+ TEST_EQ_STR (array[1], "world");
-+ TEST_EQ_P (array[2], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with repeat and multiple different adjacent delimiter "
-+ "characters within string");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "hello\n\r\tworld", " \t\n\r", TRUE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 3);
-+ for (i = 0; i < 2; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "hello");
-+ TEST_EQ_STR (array[1], "world");
-+ TEST_EQ_P (array[2], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with repeat and multiple identical adjacent delimiter "
-+ "characters at string end");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "hello\n\n\n\n\n\n\n", " \t\r\n", TRUE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 2);
-+ for (i = 0; i < 1; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "hello");
-+ TEST_EQ_P (array[1], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with repeat and multiple different adjacent delimiter "
-+ "characters at string end");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL, "hello \r\t\r\t\n ", " \t\r\n", TRUE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 2);
-+ for (i = 0; i < 1; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "hello");
-+ TEST_EQ_P (array[1], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with repeat and multiple identical adjacent delimiter "
-+ "characters at beginning, middle and end of string");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL,
-+ " hello\n\n\n, world\n\n\n",
-+ "\r\t\n ", TRUE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 4);
-+ for (i = 0; i < 3; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "hello");
-+ TEST_EQ_STR (array[1], ",");
-+ TEST_EQ_STR (array[2], "world");
-+ TEST_EQ_P (array[3], NULL);
-+
-+ nih_free (array);
-+ }
-+
-+ TEST_FEATURE ("with repeat and multiple different adjacent delimiter "
-+ "characters at beginning, middle and end of string");
-+ TEST_ALLOC_FAIL {
-+ array = nih_str_split (NULL,
-+ "\n \r\thello\n\n\r , \n\t\rworld\t \r\n \n",
-+ " \t\n\r", TRUE);
-+
-+ if (test_alloc_failed) {
-+ TEST_EQ_P (array, NULL);
-+ continue;
-+ }
-+
-+ TEST_ALLOC_SIZE (array, sizeof (char *) * 4);
-+ for (i = 0; i < 3; i++)
-+ TEST_ALLOC_PARENT (array[i], array);
-+
-+ TEST_EQ_STR (array[0], "hello");
-+ TEST_EQ_STR (array[1], ",");
-+ TEST_EQ_STR (array[2], "world");
-+ TEST_EQ_P (array[3], NULL);
-+
-+ nih_free (array);
-+ }
-
- /* Check that we can give an empty string, and end up with a
- * one-element array that only contains a NULL pointer.
---- libnih-1.0.3.orig/nih/tests/test_file.c
-+++ libnih-1.0.3/nih/tests/test_file.c
-@@ -724,6 +724,25 @@
- return FALSE;
- }
-
-+/* find only frodo files */
-+static int
-+my_filter_frodo_file (void *data,
-+ const char *path,
-+ int is_dir)
-+{
-+ char *slash;
-+
-+ if (is_dir)
-+ return FALSE;
-+
-+ slash = strrchr (path, '/');
-+ if (strcmp (slash, "/frodo"))
-+ return TRUE;
-+
-+ return FALSE;
-+}
-+
-+
- static int logger_called = 0;
-
- static int
-@@ -905,6 +924,48 @@
- TEST_EQ_STR (v->path, filename);
-
- nih_free (visited);
-+
-+ /* Try also inverse filter */
-+ TEST_ALLOC_SAFE {
-+ visitor_called = 0;
-+ visited = nih_list_new (NULL);
-+ }
-+
-+ ret = nih_dir_walk (dirname, my_filter_frodo_file,
-+ my_visitor, NULL, &ret);
-+
-+ TEST_EQ (ret, 0);
-+ TEST_EQ (visitor_called, 4);
-+
-+ v = (Visited *)visited->next;
-+ TEST_EQ (v->data, &ret);
-+ TEST_EQ_STR (v->dirname, dirname);
-+ strcpy (filename, dirname);
-+ strcat (filename, "/bar");
-+ TEST_EQ_STR (v->path, filename);
-+
-+ v = (Visited *)v->entry.next;
-+ TEST_EQ (v->data, &ret);
-+ TEST_EQ_STR (v->dirname, dirname);
-+ strcpy (filename, dirname);
-+ strcat (filename, "/bar/frodo");
-+ TEST_EQ_STR (v->path, filename);
-+
-+ v = (Visited *)v->entry.next;
-+ TEST_EQ (v->data, &ret);
-+ TEST_EQ_STR (v->dirname, dirname);
-+ strcpy (filename, dirname);
-+ strcat (filename, "/baz");
-+ TEST_EQ_STR (v->path, filename);
-+
-+ v = (Visited *)v->entry.next;
-+ TEST_EQ (v->data, &ret);
-+ TEST_EQ_STR (v->dirname, dirname);
-+ strcpy (filename, dirname);
-+ strcat (filename, "/frodo");
-+ TEST_EQ_STR (v->path, filename);
-+
-+ nih_free (visited);
- }
-
-
---- libnih-1.0.3.orig/debian/control
-+++ libnih-1.0.3/debian/control
-@@ -0,0 +1,81 @@
-+Source: libnih
-+Section: libs
-+Priority: required
-+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
-+XSBC-Original-Maintainer: Scott James Remnant <scott@netsplit.com>
-+Standards-Version: 3.9.4
-+Build-Depends: debhelper (>= 9), pkg-config (>= 0.22), libdbus-1-dev (>= 1.4), libexpat1-dev (>= 2.0.0), dbus (>= 1.4), libc6-dev (>= 2.15~) | libc6.1-dev (>= 2.15~),
-+ dh-autoreconf, autopoint, dpkg-dev (>= 1.16.1~)
-+# To cross build this package also needs: libdbus-1-dev:native (>= 1.4), libexpat1-dev:native (>= 2.0.0)
-+# But :native build-deps are not supported yet, so instead one can do
-+# $ apt-get build-dep libnih
-+# $ apt-get build-dep libnih -aarmhf
-+# instead to get all required build-deps
-+Vcs-Bzr: lp:ubuntu/libnih
-+XSC-Debian-Vcs-Git: git://git.debian.org/git/collab-maint/libnih.git
-+XSC-Debian-Vcs-Browser: http://git.debian.org/?p=collab-maint/libnih.git;a=summary
-+Homepage: https://launchpad.net/libnih
-+
-+Package: libnih1
-+Architecture: any
-+Pre-Depends: ${misc:Pre-Depends}, ${shlibs:Depends}, ${misc:Depends}
-+Multi-Arch: same
-+Description: NIH Utility Library
-+ libnih is a light-weight "standard library" of C functions to ease the
-+ development of other libraries and applications, especially those
-+ normally found in /lib.
-+ .
-+ This package contains the shared library.
-+
-+Package: libnih-dev
-+Priority: optional
-+Section: libdevel
-+Architecture: any
-+Multi-Arch: same
-+Depends: libnih1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-+Description: NIH Utility Library (development files)
-+ libnih is a light-weight "standard library" of C functions to ease the
-+ development of other libraries and applications, especially those
-+ normally found in /lib.
-+ .
-+ This package contains the static library and C header files which are
-+ needed for developing software using libnih.
-+
-+Package: libnih-dbus1
-+Architecture: any
-+Pre-Depends: ${misc:Pre-Depends}
-+Depends: libnih1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-+Multi-Arch: same
-+Description: NIH D-Bus Bindings Library
-+ libnih-dbus is a D-Bus bindings library that integrates with the main
-+ loop provided by libnih.
-+ .
-+ This package contains the shared library.
-+
-+Package: libnih-dbus-dev
-+Priority: optional
-+Section: libdevel
-+Architecture: any
-+Multi-Arch: same
-+Depends: libnih-dbus1 (= ${binary:Version}), libnih-dev (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-+Recommends: nih-dbus-tool (= ${binary:Version})
-+Description: NIH D-Bus Bindings Library (development files)
-+ libnih-dbus is a D-Bus bindings library that integrates with the main
-+ loop provided by libnih.
-+ .
-+ This package contains the static library and C header files which are
-+ needed for developing software using libnih-dbus.
-+
-+Package: nih-dbus-tool
-+Section: devel
-+Architecture: any
-+Multi-Arch: foreign
-+Depends: ${shlibs:Depends}, ${misc:Depends}
-+Recommends: libnih-dbus-dev (= ${binary:Version})
-+Description: NIH D-Bus Binding Tool
-+ nih-dbus-tool generates C source code from the D-Bus Introspection XML
-+ data provided by most services; either to make implementing the
-+ described objects in C programs or to make proxying to the described
-+ remote objects easier.
-+ .
-+ The generated code requires libnih-dbus-dev to be compiled.
---- libnih-1.0.3.orig/debian/libnih-dev.install
-+++ libnih-1.0.3/debian/libnih-dev.install
-@@ -0,0 +1,6 @@
-+lib/*/libnih.a
-+lib/*/libnih.so
-+usr/include/libnih.h
-+usr/include/nih
-+usr/lib/*/pkgconfig/libnih.pc
-+usr/share/aclocal/libnih.m4
---- libnih-1.0.3.orig/debian/libnih1.docs
-+++ libnih-1.0.3/debian/libnih1.docs
-@@ -0,0 +1,3 @@
-+AUTHORS
-+NEWS
-+README
---- libnih-1.0.3.orig/debian/libnih-dbus1.install
-+++ libnih-1.0.3/debian/libnih-dbus1.install
-@@ -0,0 +1 @@
-+lib/*/libnih-dbus.so.*
---- libnih-1.0.3.orig/debian/libnih1.install
-+++ libnih-1.0.3/debian/libnih1.install
-@@ -0,0 +1 @@
-+lib/*/libnih.so.*
---- libnih-1.0.3.orig/debian/rules
-+++ libnih-1.0.3/debian/rules
-@@ -0,0 +1,54 @@
-+#!/usr/bin/make -f
-+
-+include /usr/share/dpkg/architecture.mk
-+
-+%:
-+ dh $@ --with autoreconf
-+
-+
-+CFLAGS := -Wall -fstack-protector -fPIE $(shell dpkg-buildflags --get CFLAGS)
-+LDFLAGS := -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie $(shell dpkg-buildflags --get LDFLAGS)
-+
-+override_dh_auto_configure:
-+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
-+ dh_auto_configure -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
-+ --libdir=/lib/$(DEB_HOST_MULTIARCH)
-+else
-+ dh_auto_configure -B build-dbus-tool/ -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
-+ --libdir=/lib/$(DEB_BUILD_MULTIARCH) \
-+ --host=$(DEB_BUILD_GNU_TYPE)
-+ dh_auto_build -B build-dbus-tool/ --parallel
-+ dh_auto_configure -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
-+ NIH_DBUS_TOOL=$(CURDIR)/build-dbus-tool/nih-dbus-tool/nih-dbus-tool \
-+ --libdir=/lib/$(DEB_HOST_MULTIARCH)
-+endif
-+
-+override_dh_auto_build:
-+ dh_auto_build --parallel
-+
-+override_dh_auto_test:
-+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
-+ dh_auto_test --parallel
-+endif
-+
-+override_dh_auto_install:
-+ dh_auto_install -- pkgconfigdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
-+
-+override_dh_makeshlibs:
-+ dh_makeshlibs -plibnih1 -V 'libnih1 (>= 1.0.0)'
-+ dh_makeshlibs -plibnih-dbus1 -V 'libnih-dbus1 (>= 1.0.0)'
-+ dh_makeshlibs -Nlibnih1 -Nlibnih-dbus1
-+
-+override_dh_shlibdeps:
-+ dh_shlibdeps
-+ sed -i 's/2\.14/2.15/' debian/*.substvars
-+ sed -i 's/>= 2.15)/>= 2.15~)/g' debian/*.substvars
-+
-+
-+# Symlink /usr/share/doc directories together
-+override_dh_installdocs:
-+ dh_installdocs --link-doc=libnih1
-+
-+override_dh_clean:
-+ rm -rf build-dbus-tool/
-+ dh_clean
---- libnih-1.0.3.orig/debian/compat
-+++ libnih-1.0.3/debian/compat
-@@ -0,0 +1 @@
-+9
---- libnih-1.0.3.orig/debian/nih-dbus-tool.install
-+++ libnih-1.0.3/debian/nih-dbus-tool.install
-@@ -0,0 +1,2 @@
-+usr/bin/nih-dbus-tool
-+usr/share/man/man1/nih-dbus-tool.1
---- libnih-1.0.3.orig/debian/copyright
-+++ libnih-1.0.3/debian/copyright
-@@ -0,0 +1,18 @@
-+This is the Ubuntu package of libnih, the NIH Utility Library.
-+
-+Copyright © 2009 Canonical Ltd.
-+Copyright © 2009 Scott James Remnant <scott@netsplit.com>
-+
-+Licence:
-+
-+This program is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License version 2, as
-+published by the Free Software Foundation.
-+
-+This program is distributed in the hope that it will be useful, but
-+WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+General Public License for more details.
-+
-+On Ubuntu systems, the complete text of the GNU General Public License
-+can be found in ‘/usr/share/common-licenses/GPL-2’.
---- libnih-1.0.3.orig/debian/libnih-dbus1.postinst
-+++ libnih-1.0.3/debian/libnih-dbus1.postinst
-@@ -0,0 +1,53 @@
-+#!/bin/sh
-+
-+set -e
-+
-+if [ "$1" = configure ]; then
-+ # A dependent library of Upstart has changed, so restart Upstart
-+ # such that it can safely unmount the root filesystem (LP: #740390)
-+
-+ # Query running version of Upstart, but only when we know
-+ # that initctl will work.
-+ #
-+ # The calculated version string may be the null string if
-+ # Upstart is not running (where for example an alternative
-+ # init is running outside a chroot environment) or if the
-+ # query failed for some reason. However, the version check
-+ # below handles a null version string correctly.
-+ UPSTART_VERSION_RUNNING=$(initctl version 2>/dev/null |\
-+ awk '{print $3}'|tr -d ')' || :)
-+
-+ if ischroot; then
-+ # Do not honour re-exec when requested from within a
-+ # chroot since:
-+ #
-+ # (a) The version of Upstart outside might not support it.
-+ # (b) An isolated environment such as a chroot should
-+ # not be able to modify its containing environment.
-+ #
-+ # A sufficiently new Upstart will actually handle a re-exec
-+ # request coming from telinit within a chroot correctly (by
-+ # doing nothing) but it's simple enough to perform the check
-+ # here and save Upstart the effort.
-+ :
-+ elif dpkg --compare-versions "$UPSTART_VERSION_RUNNING" ge 1.6.1; then
-+ # We are not running inside a chroot and the running version
-+ # of Upstart supports stateful re-exec, so we can
-+ # restart immediately.
-+ #
-+ # XXX: Note that the check on the running version must
-+ # remain *indefinitely* since it's the only safe way to
-+ # know if stateful re-exec is supported: simply checking
-+ # packaged version numbers is not sufficient since
-+ # the package could be upgraded multiple times without a
-+ # reboot.
-+ telinit u || :
-+ else
-+ # Before we shutdown or reboot, we need to re-exec so that we
-+ # can safely remount the root filesystem; we can't just do that
-+ # here because we lose state.
-+ touch /var/run/init.upgraded || :
-+ fi
-+fi
-+
-+#DEBHELPER#
---- libnih-1.0.3.orig/debian/changelog.DEBIAN
-+++ libnih-1.0.3/debian/changelog.DEBIAN
-@@ -0,0 +1,118 @@
-+libnih (1.0.3-4) unstable; urgency=low
-+
-+ * Rebuild for new libc to update versioned dependency; this comes from
-+ the __abort_msg dependency, dpkg-shlibs needs overriding since this is
-+ actually a weak link, but this rebuild fixes things for now.
-+ Closes: #625257.
-+
-+ -- Scott James Remnant <scott@netsplit.com> Mon, 02 May 2011 15:08:33 -0700
-+
-+libnih (1.0.3-3) unstable; urgency=low
-+
-+ * New maintainer. Closes: #624442.
-+
-+ -- Scott James Remnant <scott@netsplit.com> Thu, 28 Apr 2011 14:26:05 -0700
-+
-+libnih (1.0.3-2) unstable; urgency=low
-+
-+ * Bump build dependency on libdbus-1-dev and dbus to (>= 1.4) for Unix file
-+ descriptor passing support.
-+
-+ -- Michael Biebl <biebl@debian.org> Thu, 10 Feb 2011 20:25:18 +0100
-+
-+libnih (1.0.3-1ubuntu1) natty; urgency=low
-+
-+ * Rebuild with libc6-dev (>= 2.13~).
-+
-+ -- Matthias Klose <doko@ubuntu.com> Fri, 18 Feb 2011 12:09:29 +0100
-+
-+libnih (1.0.3-1) unstable; urgency=low
-+
-+ * New upstream release.
-+ * Bump debhelper compatibility level to 8 and update build dependency
-+ accordingly.
-+
-+ -- Michael Biebl <biebl@debian.org> Mon, 07 Feb 2011 22:19:13 +0100
-+
-+libnih (1.0.2-2) unstable; urgency=low
-+
-+ * Install library development files to /usr/lib and not /lib.
-+ * Remove libtool *.la files as there are no reverse dependencies referencing
-+ them.
-+ * Bump Standards-Version to 3.9.1. No further changes.
-+
-+ -- Michael Biebl <biebl@debian.org> Sun, 02 Jan 2011 21:09:40 +0100
-+
-+libnih (1.0.2-1ubuntu3) natty; urgency=low
-+
-+ * Disable some tests on ppc64 to build an initial package.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Thu, 18 Nov 2010 10:59:38 +0100
-+
-+libnih (1.0.2-1ubuntu2) maverick; urgency=low
-+
-+ * Re-add -fPIE to the testsuite on armel, removing all armel-specific tests;
-+ current gcc-4.4 don't seem affected by the ICE anymore (see LP #398403).
-+
-+ -- Loïc Minier <loic.minier@linaro.org> Mon, 23 Aug 2010 10:25:31 +0200
-+
-+libnih (1.0.2-1ubuntu1) maverick; urgency=low
-+
-+ * Rebuild with libc6-dev (>= 2.12~), after checking that
-+ __abort_msg is available with the same signature in eglibc 2.12.
-+ * Don't build the testsuite with -fPIE on armel; LP: #398403.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Sun, 30 May 2010 02:54:56 +0200
-+
-+libnih (1.0.2-1) unstable; urgency=low
-+
-+ * Initial upload to Debian. Closes: #585071
-+ * Based on the Ubuntu package for Lucid done by Scott James Remnant with the
-+ following changes:
-+ - Switch packages to priority optional.
-+ - Use binary:Version instead of Source-Version.
-+ - Bump Standards-Version to 3.8.4.
-+ - Add Homepage and Vcs-* fields.
-+ - Don't symlink /usr/share/doc directories.
-+ - Refer to versioned /usr/share/common-licenses/GPL-2 file in
-+ debian/copyright.
-+ - List all symbols explicitly instead of using a wildcard and add symbols
-+ introduced in 1.0.1.
-+ - Use the symbols files to create the correct version info instead of
-+ specifying it manually via shlibs.
-+ - Switch to source format 3.0 (quilt).
-+ - Add watch file to track new upstream releases.
-+
-+ -- Michael Biebl <biebl@debian.org> Sun, 13 Jun 2010 23:36:52 +0200
-+
-+libnih (1.0.1-1) lucid; urgency=low
-+
-+ * New upstream release:
-+ - Add missing __nih_* symbols to linker version script so that we
-+ can link Upstart's test suite.
-+ - Glibc __abort_msg symbol now only linked as a weak symbol.
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Thu, 04 Feb 2010 14:53:26 -0800
-+
-+libnih (1.0.0-2build1) lucid; urgency=low
-+
-+ * Rebuild to pick up relaxed dependency on libc6, after checking that
-+ __abort_msg is available with the same signature in eglibc 2.11.
-+ LP: #508702.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Mon, 18 Jan 2010 16:09:13 +0100
-+
-+libnih (1.0.0-2) lucid; urgency=low
-+
-+ * debian/control: Add build-dependency on dbus so the test suite can
-+ pass on the buildds.
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Sat, 28 Nov 2009 23:28:27 +0000
-+
-+libnih (1.0.0-1) lucid; urgency=low
-+
-+ * First upstream release. Previously this code was included in the
-+ upstart, mountall and ureadahead source packages.
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Sat, 28 Nov 2009 21:14:00 +0000
-+
---- libnih-1.0.3.orig/debian/libnih1.symbols
-+++ libnih-1.0.3/debian/libnih1.symbols
-@@ -0,0 +1,2 @@
-+libnih.so.1 libnih1 #MINVER#
-+ *@LIBNIH_1_0 1.0.0
---- libnih-1.0.3.orig/debian/libnih-dbus-dev.install
-+++ libnih-1.0.3/debian/libnih-dbus-dev.install
-@@ -0,0 +1,5 @@
-+lib/*/libnih-dbus.a
-+lib/*/libnih-dbus.so
-+usr/include/libnih-dbus.h
-+usr/include/nih-dbus
-+usr/lib/*/pkgconfig/libnih-dbus.pc
---- libnih-1.0.3.orig/debian/libnih1.postinst
-+++ libnih-1.0.3/debian/libnih1.postinst
-@@ -0,0 +1,53 @@
-+#!/bin/sh
-+
-+set -e
-+
-+if [ "$1" = configure ]; then
-+ # A dependent library of Upstart has changed, so restart Upstart
-+ # such that it can safely unmount the root filesystem (LP: #740390)
-+
-+ # Query running version of Upstart, but only when we know
-+ # that initctl will work.
-+ #
-+ # The calculated version string may be the null string if
-+ # Upstart is not running (where for example an alternative
-+ # init is running outside a chroot environment) or if the
-+ # query failed for some reason. However, the version check
-+ # below handles a null version string correctly.
-+ UPSTART_VERSION_RUNNING=$(initctl version 2>/dev/null |\
-+ awk '{print $3}'|tr -d ')' || :)
-+
-+ if ischroot; then
-+ # Do not honour re-exec when requested from within a
-+ # chroot since:
-+ #
-+ # (a) The version of Upstart outside might not support it.
-+ # (b) An isolated environment such as a chroot should
-+ # not be able to modify its containing environment.
-+ #
-+ # A sufficiently new Upstart will actually handle a re-exec
-+ # request coming from telinit within a chroot correctly (by
-+ # doing nothing) but it's simple enough to perform the check
-+ # here and save Upstart the effort.
-+ :
-+ elif dpkg --compare-versions "$UPSTART_VERSION_RUNNING" ge 1.6.1; then
-+ # We are not running inside a chroot and the running version
-+ # of Upstart supports stateful re-exec, so we can
-+ # restart immediately.
-+ #
-+ # XXX: Note that the check on the running version must
-+ # remain *indefinitely* since it's the only safe way to
-+ # know if stateful re-exec is supported: simply checking
-+ # packaged version numbers is not sufficient since
-+ # the package could be upgraded multiple times without a
-+ # reboot.
-+ telinit u || :
-+ else
-+ # Before we shutdown or reboot, we need to re-exec so that we
-+ # can safely remount the root filesystem; we can't just do that
-+ # here because we lose state.
-+ touch /var/run/init.upgraded || :
-+ fi
-+fi
-+
-+#DEBHELPER#
---- libnih-1.0.3.orig/debian/libnih-dbus1.symbols
-+++ libnih-1.0.3/debian/libnih-dbus1.symbols
-@@ -0,0 +1,2 @@
-+libnih-dbus.so.1 libnih-dbus1 #MINVER#
-+ *@LIBNIH_DBUS_1_0 1.0.0
---- libnih-1.0.3.orig/debian/changelog
-+++ libnih-1.0.3/debian/changelog
-@@ -0,0 +1,213 @@
-+libnih (1.0.3-4ubuntu16) raring; urgency=low
-+
-+ * debian/{libnih1.postinst,libnih-dbus1.postinst}: Force an upgrade to
-+ restart Upstart (to pick up new package version) if the running
-+ instance supports it.
-+ * Merge of important fixes from lp:~upstart-devel/libnih/nih
-+ (LP: #776532, LP: #777097, LP: #834813, LP: #1123588).
-+
-+ -- James Hunt <james.hunt@ubuntu.com> Thu, 14 Mar 2013 09:14:22 +0000
-+
-+libnih (1.0.3-4ubuntu15) raring; urgency=low
-+
-+ * Enable cross-building, sans adding :native build-dependencies.
-+ See comments in debian/control.
-+ * Lintian fixes.
-+
-+ -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com> Tue, 08 Jan 2013 15:38:58 +0000
-+
-+libnih (1.0.3-4ubuntu14) raring; urgency=low
-+
-+ * Update dbus code generator to allow for empty lists for type 'as'.
-+ This drops the != NULL check for NULL terminated arrays and moves the
-+ iteration loop inside an 'if' statement.
-+
-+ -- Stéphane Graber <stgraber@ubuntu.com> Thu, 13 Dec 2012 10:00:27 -0500
-+
-+libnih (1.0.3-4ubuntu13) raring; urgency=low
-+
-+ [ Petr Lautrbach <plautrba@redhat.com>, Dmitrijs Ledkovs ]
-+ * Fallback to lstat, if dirent.d_type is not available (not portable)
-+ (LP: #672643) (Closes: #695604)
-+
-+ -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com> Tue, 11 Dec 2012 17:26:52 +0000
-+
-+libnih (1.0.3-4ubuntu12) raring; urgency=low
-+
-+ * nih/logging.c: Use our own __nih_abort_msg rather than the (e)glibc
-+ private symbol __abort_msg to avoid upgrade issues (LP: #997359).
-+ * nih/tests/test_logging.c: Update tests for __nih_abort_msg.
-+
-+ -- James Hunt <james.hunt@ubuntu.com> Thu, 25 Oct 2012 10:57:30 +0100
-+
-+libnih (1.0.3-4ubuntu11) quantal; urgency=low
-+
-+ * Addition of debian/libnih-dbus1.postinst and
-+ debian/libnih1.postinst to force Upstart re-exec on shutdown
-+ to avoid unmounting disks uncleanly (LP: #740390).
-+
-+ -- James Hunt <james.hunt@ubuntu.com> Wed, 03 Oct 2012 16:49:40 +0100
-+
-+libnih (1.0.3-4ubuntu10) quantal; urgency=low
-+
-+ * Update config.guess,sub for aarch64
-+
-+ -- Wookey <wookey@wookware.org> Mon, 01 Oct 2012 12:57:05 +0100
-+
-+libnih (1.0.3-4ubuntu9) precise; urgency=low
-+
-+ * Mark the nih-dbus-tool package Multi-Arch: foreign so it can be used as
-+ a build-dependency of upstart when cross-building.
-+
-+ -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 15 Feb 2012 22:57:50 -0800
-+
-+libnih (1.0.3-4ubuntu8) precise; urgency=low
-+
-+ * libnih1 needs a versioned Pre-Depend on libc6 instead of just a Depend,
-+ because libc6 itself uses runlevel from the upstart package in its
-+ preinst, which in turn uses libnih1, which needs to be loadable (i.e.,
-+ its symbol references resolve). We therefore need to ensure that
-+ libnih1's dependencies are always unpacked before libnih1 itself is
-+ unpacked. While having something further up the stack (such as upstart,
-+ or something on top of upstart) being marked Essential: yes and with the
-+ necessary pre-depends would let apt handle this for us with its
-+ "immediate configuration" support, but for various reasons we don't want
-+ to make upstart essential. LP: #508083.
-+
-+ -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 10 Feb 2012 12:13:25 -0800
-+
-+libnih (1.0.3-4ubuntu7) precise; urgency=low
-+
-+ * Relax dependency on libc6.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Wed, 08 Feb 2012 23:43:21 +0100
-+
-+libnih (1.0.3-4ubuntu6) precise; urgency=low
-+
-+ * Rebuild with libc6-dev (>= 2.15~).
-+
-+ -- Matthias Klose <doko@ubuntu.com> Wed, 08 Feb 2012 21:48:57 +0100
-+
-+libnih (1.0.3-4ubuntu5) precise; urgency=low
-+
-+ * Mark libnih-dev and libnih-dbus-dev Multi-Arch: same as well.
-+
-+ -- Steve Langasek <steve.langasek@ubuntu.com> Sun, 06 Nov 2011 14:45:07 -0800
-+
-+libnih (1.0.3-4ubuntu4) precise; urgency=low
-+
-+ * Make libnih1 and libnih-dbus1 installable using multi-arch.
-+
-+ -- James Hunt <james.hunt@ubuntu.com> Tue, 01 Nov 2011 14:25:09 -0400
-+
-+libnih (1.0.3-4ubuntu3) precise; urgency=low
-+
-+ * Build to install with eglibc-2.15.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Fri, 14 Oct 2011 14:05:03 +0200
-+
-+libnih (1.0.3-4ubuntu2) oneiric; urgency=low
-+
-+ * Use dpkg-buildflags to get the build flags.
-+ * Build with the default build flags, don't hard-code -Os. LP: #791315.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Wed, 15 Jun 2011 16:45:42 +0200
-+
-+libnih (1.0.3-4ubuntu1) oneiric; urgency=low
-+
-+ * Merge from debian unstable. Retained Ubuntu Build-Depends and Priority.
-+
-+ -- James Hunt <james.hunt@ubuntu.com> Mon, 23 May 2011 19:28:19 +0100
-+
-+libnih (1.0.3-1ubuntu1) natty; urgency=low
-+
-+ * Rebuild with libc6-dev (>= 2.13~).
-+
-+ -- Matthias Klose <doko@ubuntu.com> Fri, 18 Feb 2011 12:09:29 +0100
-+
-+libnih (1.0.3-1) natty; urgency=low
-+
-+ * New upstream release:
-+ - Added support for passing file descriptors over D-Bus to nih-dbus-tool
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Thu, 23 Dec 2010 22:28:24 +0000
-+
-+libnih (1.0.2-2) natty; urgency=low
-+
-+ * Revert the previous upload. It is never acceptable to simply disable
-+ tests, especially when it turns out that the test that was disabled
-+ was failing because there was a serious bug that could cause kernel
-+ panics for people on boot.
-+
-+ Test suites are here for a reason.
-+
-+ * Bumped libdbus Build-Dependency to the version with the bug fix that
-+ caused the test suite to fail.
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Wed, 08 Dec 2010 19:40:15 +0000
-+
-+libnih (1.0.2-1ubuntu3) natty; urgency=low
-+
-+ * Disable some tests on ppc64 to build an initial package.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Thu, 18 Nov 2010 10:59:38 +0100
-+
-+libnih (1.0.2-1ubuntu2) maverick; urgency=low
-+
-+ * Re-add -fPIE to the testsuite on armel, removing all armel-specific tests;
-+ current gcc-4.4 don't seem affected by the ICE anymore (see LP #398403).
-+
-+ -- Loïc Minier <loic.minier@linaro.org> Mon, 23 Aug 2010 10:25:31 +0200
-+
-+libnih (1.0.2-1ubuntu1) maverick; urgency=low
-+
-+ * Rebuild with libc6-dev (>= 2.12~), after checking that
-+ __abort_msg is available with the same signature in eglibc 2.12.
-+ * Don't build the testsuite with -fPIE on armel; LP: #398403.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Sun, 30 May 2010 02:54:56 +0200
-+
-+libnih (1.0.2-1) maverick; urgency=low
-+
-+ * New upstream release:
-+ - Rename AC_COPYRIGHT to NIH_COPYRIGHT to avoid conflict with other
-+ packages.
-+ - Add serial to libnih.m4
-+ - Add NIH_WITH_LOCAL_LIBNIH macro.
-+
-+ * Fix use of ${Source-Version} to be ${binary:Version}
-+ * Add debian/source/format with "1.0" to be future compatible.
-+ * Bump standards version.
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Tue, 27 Apr 2010 10:49:55 -0700
-+
-+libnih (1.0.1-1) lucid; urgency=low
-+
-+ * New upstream release:
-+ - Add missing __nih_* symbols to linker version script so that we
-+ can link Upstart's test suite.
-+ - Glibc __abort_msg symbol now only linked as a weak symbol.
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Thu, 04 Feb 2010 14:53:26 -0800
-+
-+libnih (1.0.0-2build1) lucid; urgency=low
-+
-+ * Rebuild to pick up relaxed dependency on libc6, after checking that
-+ __abort_msg is available with the same signature in eglibc 2.11.
-+ LP: #508702.
-+
-+ -- Matthias Klose <doko@ubuntu.com> Mon, 18 Jan 2010 16:09:13 +0100
-+
-+libnih (1.0.0-2) lucid; urgency=low
-+
-+ * debian/control: Add build-dependency on dbus so the test suite can
-+ pass on the buildds.
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Sat, 28 Nov 2009 23:28:27 +0000
-+
-+libnih (1.0.0-1) lucid; urgency=low
-+
-+ * First upstream release. Previously this code was included in the
-+ upstart, mountall and ureadahead source packages.
-+
-+ -- Scott James Remnant <scott@ubuntu.com> Sat, 28 Nov 2009 21:14:00 +0000
---- libnih-1.0.3.orig/debian/source/format
-+++ libnih-1.0.3/debian/source/format
-@@ -0,0 +1 @@
-+1.0
---- libnih-1.0.3.orig/nih-dbus/dbus_proxy.h
-+++ libnih-1.0.3/nih-dbus/dbus_proxy.h
-@@ -146,14 +146,14 @@
- const char *name, const char *path,
- NihDBusLostHandler lost_handler,
- void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NihDBusProxySignal *nih_dbus_proxy_connect (NihDBusProxy *proxy,
- const NihDBusInterface *interface,
- const char *name,
- NihDBusSignalHandler handler,
- void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus/dbus_object.h
-+++ libnih-1.0.3/nih-dbus/dbus_object.h
-@@ -61,8 +61,7 @@
- DBusConnection *connection,
- const char *path,
- const NihDBusInterface **interfaces,
-- void *data)
-- __attribute__ ((malloc));
-+ void *data);
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus/dbus_util.h
-+++ libnih-1.0.3/nih-dbus/dbus_util.h
-@@ -26,7 +26,7 @@
- NIH_BEGIN_EXTERN
-
- char *nih_dbus_path (const void *parent, const char *root, ...)
-- __attribute__ ((sentinel, warn_unused_result, malloc));
-+ __attribute__ ((sentinel, warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus/dbus_pending_data.h
-+++ libnih-1.0.3/nih-dbus/dbus_pending_data.h
-@@ -104,7 +104,7 @@
- NihDBusReplyHandler handler,
- NihDBusErrorHandler error_handler,
- void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus/dbus_proxy.c
-+++ libnih-1.0.3/nih-dbus/dbus_proxy.c
-@@ -46,11 +46,11 @@
- __attribute__ ((warn_unused_result));
- static char *nih_dbus_proxy_name_rule (const void *parent,
- NihDBusProxy *proxy)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- static int nih_dbus_proxy_signal_destroy (NihDBusProxySignal *proxied);
- static char *nih_dbus_proxy_signal_rule (const void *parent,
- NihDBusProxySignal *proxied)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- /* Prototypes for handler functions */
- static DBusHandlerResult nih_dbus_proxy_name_owner_changed (DBusConnection *connection,
---- libnih-1.0.3.orig/nih-dbus-tool/symbol.c
-+++ libnih-1.0.3/nih-dbus-tool/symbol.c
-@@ -40,10 +40,10 @@
- /* Prototypes for static functions */
- static char *symbol_strcat_interface (char **str, const void *parent,
- const char *format, ...)
-- __attribute__ ((format (printf, 3, 4), warn_unused_result, malloc));
-+ __attribute__ ((format (printf, 3, 4), warn_unused_result));
- static char *symbol_strcat_title (char **str, const void *parent,
- const char *format, ...)
-- __attribute__ ((format (printf, 3, 4), warn_unused_result, malloc));
-+ __attribute__ ((format (printf, 3, 4), warn_unused_result));
-
-
- /**
---- libnih-1.0.3.orig/nih-dbus-tool/demarshal.h
-+++ libnih-1.0.3/nih-dbus-tool/demarshal.h
-@@ -37,7 +37,7 @@
- const char *prefix, const char *interface_symbol,
- const char *member_symbol, const char *symbol,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/symbol.h
-+++ libnih-1.0.3/nih-dbus-tool/symbol.h
-@@ -28,22 +28,22 @@
- int symbol_valid (const char *symbol);
-
- char *symbol_from_name (const void *parent, const char *name)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char *symbol_impl (const void *parent, const char *prefix,
- const char *interface_name, const char *name,
- const char *postfix)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char *symbol_extern (const void *parent, const char *prefix,
- const char *interface_symbol, const char *midfix,
- const char *symbol, const char *postfix)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char *symbol_typedef (const void *parent, const char *prefix,
- const char *interface_symbol, const char *midfix,
- const char *symbol, const char *postfix)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/output.h
-+++ libnih-1.0.3/nih-dbus-tool/output.h
-@@ -35,9 +35,9 @@
- __attribute__ ((warn_unused_result));
-
- char *output_preamble (const void *parent, const char *path)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char *output_sentinel (const void *parent, const char *path)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/parse.h
-+++ libnih-1.0.3/nih-dbus-tool/parse.h
-@@ -95,7 +95,7 @@
-
- ParseStack *parse_stack_push (const void *parent, NihList *stack,
- ParseStackType type, void *data)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- ParseStack *parse_stack_top (NihList *stack);
-
- void parse_start_tag (XML_Parser xmlp, const char *tag,
-@@ -103,7 +103,7 @@
- void parse_end_tag (XML_Parser xmlp, const char *tag);
-
- Node * parse_xml (const void *parent, int fd, const char *filename)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/type.h
-+++ libnih-1.0.3/nih-dbus-tool/type.h
-@@ -94,43 +94,43 @@
-
- char * type_of (const void * parent,
- DBusSignatureIter *iter)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- TypeVar * type_var_new (const void *parent, const char *type,
- const char *name)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_var_to_string (const void *parent, TypeVar *var)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_var_layout (const void *parent, NihList *vars)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- TypeFunc * type_func_new (const void *parent, const char *type,
- const char *name)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_func_to_string (const void *parent, TypeFunc *func)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_func_to_typedef (const void *parent, TypeFunc *func)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_func_layout (const void *parent, NihList *funcs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- TypeStruct *type_struct_new (const void *parent, const char *name)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_struct_to_string (const void *parent, TypeStruct *structure)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * type_to_const (char **type, const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_to_pointer (char **type, const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_to_static (char **type, const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * type_to_extern (char **type, const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * type_strcat_assert (char **block, const void *parent,
- TypeVar *var, TypeVar *prev, TypeVar *next)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/argument.h
-+++ libnih-1.0.3/nih-dbus-tool/argument.h
-@@ -61,7 +61,7 @@
-
- Argument *argument_new (const void *parent, const char *name,
- const char *type, NihDBusArgDir direction)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int argument_start_tag (XML_Parser xmlp, const char *tag,
- char * const *attr)
---- libnih-1.0.3.orig/nih-dbus-tool/indent.h
-+++ libnih-1.0.3/nih-dbus-tool/indent.h
-@@ -26,9 +26,9 @@
- NIH_BEGIN_EXTERN
-
- char *indent (char **str, const void *parent, int level)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char *comment (char **str, const void *parent)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/main.c
-+++ libnih-1.0.3/nih-dbus-tool/main.c
-@@ -52,10 +52,10 @@
- /* Prototypes for local functions */
- char *source_file_path (const void *parent, const char *output_path,
- const char *filename)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char *header_file_path (const void *parent, const char *output_path,
- const char *filename)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
-
- /**
---- libnih-1.0.3.orig/nih-dbus-tool/signal.h
-+++ libnih-1.0.3/nih-dbus-tool/signal.h
-@@ -58,7 +58,7 @@
- int signal_name_valid (const char *name);
-
- Signal * signal_new (const void *parent, const char *name)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int signal_start_tag (XML_Parser xmlp, const char *tag,
- char * const *attr)
-@@ -76,18 +76,18 @@
- char * signal_object_function (const void *parent, const char *prefix,
- Interface *interface, Signal *signal,
- NihList *prototypes, NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * signal_proxy_function (const void *parent, const char *prefix,
- Interface *interface, Signal *signal,
- NihList *prototypes, NihList *typedefs,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * signal_args_array (const void *parent, const char *prefix,
- Interface *interface, Signal *signal,
- NihList *prototypes)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/marshal.c
-+++ libnih-1.0.3/nih-dbus-tool/marshal.c
-@@ -49,7 +49,7 @@
- const char *prefix, const char *interface_symbol,
- const char *member_symbol, const char *symbol,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- static char *marshal_array (const void *parent,
- DBusSignatureIter *iter,
- const char *iter_name, const char *name,
-@@ -58,7 +58,7 @@
- const char *prefix, const char *interface_symbol,
- const char *member_symbol, const char *symbol,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- static char *marshal_struct (const void *parent,
- DBusSignatureIter *iter,
- const char *iter_name, const char *name,
-@@ -67,7 +67,7 @@
- const char *prefix, const char *interface_symbol,
- const char *member_symbol, const char *symbol,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
-
- /**
-@@ -364,6 +364,7 @@
- nih_local TypeVar *element_len_var = NULL;
- nih_local char * block = NULL;
- nih_local char * vars_block = NULL;
-+ nih_local char * loop_block = NULL;
-
- nih_assert (iter != NULL);
- nih_assert (iter_name != NULL);
-@@ -448,7 +449,7 @@
- nih_list_add (locals, &array_iter_var->entry);
-
- if (dbus_type_is_fixed (element_type)) {
-- if (! nih_strcat_sprintf (&code, parent,
-+ if (! nih_strcat_sprintf (&loop_block, parent,
- "for (size_t %s = 0; %s < %s; %s++) {\n",
- loop_name, loop_name, len_name, loop_name)) {
- nih_free (code);
-@@ -456,6 +457,12 @@
- }
- } else {
- if (! nih_strcat_sprintf (&code, parent,
-+ "if (%s) {\n",
-+ name)) {
-+ nih_free (code);
-+ return NULL;
-+ }
-+ if (! nih_strcat_sprintf (&loop_block, parent,
- "for (size_t %s = 0; %s[%s]; %s++) {\n",
- loop_name, name, loop_name, loop_name)) {
- nih_free (code);
-@@ -576,7 +583,7 @@
- }
-
-
-- if (! nih_strcat_sprintf (&code, parent,
-+ if (! nih_strcat_sprintf (&loop_block, parent,
- "%s"
- "\n"
- "%s"
-@@ -590,9 +597,34 @@
- }
-
- /* Close the container again */
-+ if (! nih_strcat_sprintf (&loop_block, parent,
-+ "}\n")) {
-+ nih_free (code);
-+ return NULL;
-+ }
-+
-+ if (dbus_type_is_fixed (element_type)) {
-+ if (! nih_strcat_sprintf (&code, parent,
-+ "%s\n", loop_block)) {
-+ nih_free (code);
-+ return NULL;
-+ }
-+ }
-+ else {
-+ if (! indent (&loop_block, NULL, 1)) {
-+ nih_free (code);
-+ return NULL;
-+ }
-+
-+ if (! nih_strcat_sprintf (&code, parent,
-+ "%s"
-+ "}\n\n", loop_block)) {
-+ nih_free (code);
-+ return NULL;
-+ }
-+ }
-+
- if (! nih_strcat_sprintf (&code, parent,
-- "}\n"
-- "\n"
- "if (! dbus_message_iter_close_container (&%s, &%s)) {\n"
- "%s"
- "}\n",
---- libnih-1.0.3.orig/nih-dbus-tool/demarshal.c
-+++ libnih-1.0.3/nih-dbus-tool/demarshal.c
-@@ -51,7 +51,7 @@
- const char *prefix, const char *interface_symbol,
- const char *member_symbol, const char *symbol,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- static char *demarshal_array (const void *parent,
- DBusSignatureIter *iter,
- const char *parent_name,
-@@ -62,7 +62,7 @@
- const char *prefix, const char *interface_symbol,
- const char *member_symbol, const char *symbol,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- static char *demarshal_struct (const void *parent,
- DBusSignatureIter *iter,
- const char *parent_name,
-@@ -73,7 +73,7 @@
- const char *prefix, const char *interface_symbol,
- const char *member_symbol, const char *symbol,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
-
- /**
---- libnih-1.0.3.orig/nih-dbus-tool/interface.h
-+++ libnih-1.0.3/nih-dbus-tool/interface.h
-@@ -61,7 +61,7 @@
-
- Interface *interface_new (const void *parent,
- const char *name)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int interface_start_tag (XML_Parser xmlp,
- const char *tag,
-@@ -81,26 +81,26 @@
- Interface *interface,
- int with_handlers,
- NihList *prototypes)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * interface_signals_array (const void *parent,
- const char *prefix,
- Interface *interface,
- int with_filters,
- NihList *prototypes)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * interface_properties_array (const void *parent,
- const char *prefix,
- Interface *interface,
- int with_handlers,
- NihList *prototypes)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * interface_struct (const void *parent,
- const char *prefix,
- Interface *interface,
- int object,
- NihList *prototypes)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
-
- char * interface_proxy_get_all_function (const void *parent,
-@@ -108,7 +108,7 @@
- Interface *interface,
- NihList *prototypes,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * interface_proxy_get_all_notify_function (const void *parent,
- const char *prefix,
-@@ -116,14 +116,14 @@
- NihList *prototypes,
- NihList *typedefs,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * interface_proxy_get_all_sync_function (const void *parent,
- const char *prefix,
- Interface *interface,
- NihList *prototypes,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/method.h
-+++ libnih-1.0.3/nih-dbus-tool/method.h
-@@ -62,7 +62,7 @@
- int method_name_valid (const char *name);
-
- Method * method_new (const void *parent, const char *name)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int method_start_tag (XML_Parser xmlp, const char *tag,
- char * const *attr)
-@@ -82,33 +82,33 @@
- Interface *interface, Method *method,
- NihList *prototypes, NihList *handlers,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * method_reply_function (const void *parent, const char *prefix,
- Interface *interface, Method *method,
- NihList *prototypes, NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * method_proxy_function (const void *parent, const char *prefix,
- Interface *interface, Method *method,
- NihList *prototypes, NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * method_proxy_notify_function (const void *parent, const char *prefix,
- Interface *interface, Method *method,
- NihList *prototypes, NihList *typedefs,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * method_proxy_sync_function (const void *parent, const char *prefix,
- Interface *interface, Method *method,
- NihList *prototypes, NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * method_args_array (const void *parent, const char *prefix,
- Interface *interface, Method *method,
- NihList *prototypes)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/node.h
-+++ libnih-1.0.3/nih-dbus-tool/node.h
-@@ -47,7 +47,7 @@
- int node_path_valid (const char *name);
-
- Node * node_new (const void *parent, const char *path)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int node_start_tag (XML_Parser xmlp, const char *tag,
- char * const *attr)
-@@ -59,18 +59,18 @@
-
- char * node_interfaces_array (const void *parent, const char *prefix,
- Node *node, int object, NihList *prototypes)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * node_object_functions (const void *parent, const char *prefix,
- Node *node,
- NihList *prototypes, NihList *handlers,
- NihList *structs, NihList *externs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * node_proxy_functions (const void *parent, const char *prefix,
- Node *node,
- NihList *prototypes, NihList *structs,
- NihList *typedefs, NihList *externs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/marshal.h
-+++ libnih-1.0.3/nih-dbus-tool/marshal.h
-@@ -35,7 +35,7 @@
- const char *prefix, const char *interface_symbol,
- const char *member_symbol, const char *symbol,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/type.c
-+++ libnih-1.0.3/nih-dbus-tool/type.c
-@@ -1101,7 +1101,7 @@
- nih_assert (block != NULL);
- nih_assert (var != NULL);
-
-- if (! strchr (var->type, '*'))
-+ if (! strchr (var->type, '*') || ! strcmp (var->type, "char * const *"))
- return *block;
-
- if (next && (! strcmp (next->type, "size_t"))) {
---- libnih-1.0.3.orig/nih-dbus-tool/property.h
-+++ libnih-1.0.3/nih-dbus-tool/property.h
-@@ -65,7 +65,7 @@
- const char *name,
- const char *type,
- NihDBusAccess access)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- int property_start_tag (XML_Parser xmlp, const char *tag,
- char * const *attr)
-@@ -88,7 +88,7 @@
- NihList *prototypes,
- NihList *handlers,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * property_object_set_function (const void *parent,
- const char *prefix,
- Interface *interface,
-@@ -96,7 +96,7 @@
- NihList *prototypes,
- NihList *handlers,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * property_proxy_get_function (const void *parent,
- const char *prefix,
-@@ -104,7 +104,7 @@
- Property *property,
- NihList *prototypes,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * property_proxy_get_notify_function (const void *parent,
- const char *prefix,
- Interface *interface,
-@@ -112,7 +112,7 @@
- NihList *prototypes,
- NihList *typedefs,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * property_proxy_set_function (const void *parent,
- const char *prefix,
-@@ -120,7 +120,7 @@
- Property *property,
- NihList *prototypes,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * property_proxy_set_notify_function (const void *parent,
- const char *prefix,
- Interface *interface,
-@@ -128,7 +128,7 @@
- NihList *prototypes,
- NihList *typedefs,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- char * property_proxy_get_sync_function (const void *parent,
- const char *prefix,
-@@ -136,14 +136,14 @@
- Property *property,
- NihList *prototypes,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- char * property_proxy_set_sync_function (const void *parent,
- const char *prefix,
- Interface *interface,
- Property *property,
- NihList *prototypes,
- NihList *structs)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- NIH_END_EXTERN
-
---- libnih-1.0.3.orig/nih-dbus-tool/tests/test_main.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/test_main.c
-@@ -100,10 +100,10 @@
-
- extern char *source_file_path (const void *parent, const char *output_path,
- const char *filename)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
- extern char *header_file_path (const void *parent, const char *output_path,
- const char *filename)
-- __attribute__ ((warn_unused_result, malloc));
-+ __attribute__ ((warn_unused_result));
-
- void
- test_source_file_path (void)
---- libnih-1.0.3.orig/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c
-@@ -12524,6 +12524,7 @@
- dbus_message_iter_init (reply, &iter);
-
- dbus_message_iter_get_basic (&iter, &str_value);
-+ TEST_NE (str_value[0], '\0');
- TEST_TRUE (strchr ("0123456789", str_value[0]));
-
- dbus_message_unref (reply);
---- libnih-1.0.3.orig/nih-dbus-tool/tests/test_marshal.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/test_marshal.c
-@@ -1479,39 +1479,41 @@
- "\treturn -1;\n"
- "}\n"
- "\n"
-- "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
-- "\tDBusMessageIter value_element_iter;\n"
-- "\tconst int16_t * value_element;\n"
-- "\tsize_t value_element_len;\n"
-+ "if (value) {\n"
-+ "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
-+ "\t\tDBusMessageIter value_element_iter;\n"
-+ "\t\tconst int16_t * value_element;\n"
-+ "\t\tsize_t value_element_len;\n"
- "\n"
-- "\tvalue_element = value[value_i];\n"
-- "\tvalue_element_len = value_len[value_i];\n"
-+ "\t\tvalue_element = value[value_i];\n"
-+ "\t\tvalue_element_len = value_len[value_i];\n"
- "\n"
-
-- "\t/* Marshal an array onto the message */\n"
-- "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"n\", &value_element_iter)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-+ "\t\t/* Marshal an array onto the message */\n"
-+ "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"n\", &value_element_iter)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\n"
-- "\tfor (size_t value_element_i = 0; value_element_i < value_element_len; value_element_i++) {\n"
-- "\t\tint16_t value_element_element;\n"
-+ "\t\tfor (size_t value_element_i = 0; value_element_i < value_element_len; value_element_i++) {\n"
-+ "\t\t\tint16_t value_element_element;\n"
- "\n"
-- "\t\tvalue_element_element = value_element[value_element_i];\n"
-+ "\t\t\tvalue_element_element = value_element[value_element_i];\n"
- "\n"
-- "\t\t/* Marshal a int16_t onto the message */\n"
-- "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_INT16, &value_element_element)) {\n"
-- "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-+ "\t\t\t/* Marshal a int16_t onto the message */\n"
-+ "\t\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_INT16, &value_element_element)) {\n"
-+ "\t\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-+ "\t\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\t\treturn -1;\n"
-+ "\t\t\t}\n"
-+ "\t\t}\n"
-+ "\n"
-+ "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
- "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
- "\t\t\treturn -1;\n"
- "\t\t}\n"
-- "\t}\n"
-- "\n"
-- "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-
-+ "\t}\n"
- "}\n"
- "\n"
- "if (! dbus_message_iter_close_container (&iter, &value_iter)) {\n"
-@@ -1766,15 +1768,17 @@
- "\treturn -1;\n"
- "}\n"
- "\n"
-- "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
-- "\tconst char *value_element;\n"
-+ "if (value) {\n"
-+ "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
-+ "\t\tconst char *value_element;\n"
- "\n"
-- "\tvalue_element = value[value_i];\n"
-+ "\t\tvalue_element = value[value_i];\n"
- "\n"
-- "\t/* Marshal a char * onto the message */\n"
-- "\tif (! dbus_message_iter_append_basic (&value_iter, DBUS_TYPE_STRING, &value_element)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-+ "\t\t/* Marshal a char * onto the message */\n"
-+ "\t\tif (! dbus_message_iter_append_basic (&value_iter, DBUS_TYPE_STRING, &value_element)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\t}\n"
- "}\n"
- "\n"
-@@ -1933,35 +1937,39 @@
- "\treturn -1;\n"
- "}\n"
- "\n"
-- "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
-- "\tDBusMessageIter value_element_iter;\n"
-- "\tchar * const * value_element;\n"
-+ "if (value) {\n"
-+ "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
-+ "\t\tDBusMessageIter value_element_iter;\n"
-+ "\t\tchar * const * value_element;\n"
- "\n"
-- "\tvalue_element = value[value_i];\n"
-+ "\t\tvalue_element = value[value_i];\n"
- "\n"
-- "\t/* Marshal an array onto the message */\n"
-- "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"s\", &value_element_iter)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-- "\n"
-- "\tfor (size_t value_element_i = 0; value_element[value_element_i]; value_element_i++) {\n"
-- "\t\tconst char *value_element_element;\n"
-+ "\t\t/* Marshal an array onto the message */\n"
-+ "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"s\", &value_element_iter)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\n"
-- "\t\tvalue_element_element = value_element[value_element_i];\n"
-+ "\t\tif (value_element) {\n"
-+ "\t\t\tfor (size_t value_element_i = 0; value_element[value_element_i]; value_element_i++) {\n"
-+ "\t\t\t\tconst char *value_element_element;\n"
-+ "\n"
-+ "\t\t\t\tvalue_element_element = value_element[value_element_i];\n"
-+ "\n"
-+ "\t\t\t\t/* Marshal a char * onto the message */\n"
-+ "\t\t\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_element)) {\n"
-+ "\t\t\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-+ "\t\t\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\t\t\treturn -1;\n"
-+ "\t\t\t\t}\n"
-+ "\t\t\t}\n"
-+ "\t\t}\n"
- "\n"
-- "\t\t/* Marshal a char * onto the message */\n"
-- "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_element)) {\n"
-- "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-+ "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
- "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
- "\t\t\treturn -1;\n"
- "\t\t}\n"
- "\t}\n"
-- "\n"
-- "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
- "}\n"
- "\n"
- "if (! dbus_message_iter_close_container (&iter, &value_iter)) {\n"
-@@ -2194,16 +2202,18 @@
- "\treturn -1;\n"
- "}\n"
- "\n"
-- "for (size_t value_item2_i = 0; value_item2[value_item2_i]; value_item2_i++) {\n"
-- "\tconst char *value_item2_element;\n"
-+ "if (value_item2) {\n"
-+ "\tfor (size_t value_item2_i = 0; value_item2[value_item2_i]; value_item2_i++) {\n"
-+ "\t\tconst char *value_item2_element;\n"
- "\n"
-- "\tvalue_item2_element = value_item2[value_item2_i];\n"
-+ "\t\tvalue_item2_element = value_item2[value_item2_i];\n"
- "\n"
-- "\t/* Marshal a char * onto the message */\n"
-- "\tif (! dbus_message_iter_append_basic (&value_item2_iter, DBUS_TYPE_STRING, &value_item2_element)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&value_iter, &value_item2_iter);\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-+ "\t\t/* Marshal a char * onto the message */\n"
-+ "\t\tif (! dbus_message_iter_append_basic (&value_item2_iter, DBUS_TYPE_STRING, &value_item2_element)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_item2_iter);\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\t}\n"
- "}\n"
- "\n"
-@@ -2642,41 +2652,43 @@
- "\treturn -1;\n"
- "}\n"
- "\n"
-- "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
-- "\tDBusMessageIter value_element_iter;\n"
-- "\tconst char * value_element_item0;\n"
-- "\tuint32_t value_element_item1;\n"
-- "\tconst MyStructArrayValueElement *value_element;\n"
-+ "if (value) {\n"
-+ "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
-+ "\t\tDBusMessageIter value_element_iter;\n"
-+ "\t\tconst char * value_element_item0;\n"
-+ "\t\tuint32_t value_element_item1;\n"
-+ "\t\tconst MyStructArrayValueElement *value_element;\n"
- "\n"
-- "\tvalue_element = value[value_i];\n"
-+ "\t\tvalue_element = value[value_i];\n"
- "\n"
-- "\t/* Marshal a structure onto the message */\n"
-- "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_STRUCT, NULL, &value_element_iter)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-+ "\t\t/* Marshal a structure onto the message */\n"
-+ "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_STRUCT, NULL, &value_element_iter)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\n"
-- "\tvalue_element_item0 = value_element->item0;\n"
-+ "\t\tvalue_element_item0 = value_element->item0;\n"
- "\n"
-- "\t/* Marshal a char * onto the message */\n"
-- "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-+ "\t\t/* Marshal a char * onto the message */\n"
-+ "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\n"
-- "\tvalue_element_item1 = value_element->item1;\n"
-+ "\t\tvalue_element_item1 = value_element->item1;\n"
- "\n"
-- "\t/* Marshal a uint32_t onto the message */\n"
-- "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-+ "\t\t/* Marshal a uint32_t onto the message */\n"
-+ "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\n"
-- "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-+ "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\t}\n"
- "}\n"
- "\n"
-@@ -2912,41 +2924,43 @@
- "\treturn -1;\n"
- "}\n"
- "\n"
-- "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
-- "\tDBusMessageIter value_element_iter;\n"
-- "\tconst char * value_element_item0;\n"
-- "\tuint32_t value_element_item1;\n"
-- "\tconst MyDictEntryArrayValueElement *value_element;\n"
-+ "if (value) {\n"
-+ "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
-+ "\t\tDBusMessageIter value_element_iter;\n"
-+ "\t\tconst char * value_element_item0;\n"
-+ "\t\tuint32_t value_element_item1;\n"
-+ "\t\tconst MyDictEntryArrayValueElement *value_element;\n"
- "\n"
-- "\tvalue_element = value[value_i];\n"
-+ "\t\tvalue_element = value[value_i];\n"
- "\n"
-- "\t/* Marshal a structure onto the message */\n"
-- "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_DICT_ENTRY, NULL, &value_element_iter)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-+ "\t\t/* Marshal a structure onto the message */\n"
-+ "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_DICT_ENTRY, NULL, &value_element_iter)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\n"
-- "\tvalue_element_item0 = value_element->item0;\n"
-+ "\t\tvalue_element_item0 = value_element->item0;\n"
- "\n"
-- "\t/* Marshal a char * onto the message */\n"
-- "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-+ "\t\t/* Marshal a char * onto the message */\n"
-+ "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\n"
-- "\tvalue_element_item1 = value_element->item1;\n"
-+ "\t\tvalue_element_item1 = value_element->item1;\n"
- "\n"
-- "\t/* Marshal a uint32_t onto the message */\n"
-- "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-- "\t}\n"
-+ "\t\t/* Marshal a uint32_t onto the message */\n"
-+ "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\n"
-- "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
-- "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-- "\t\treturn -1;\n"
-+ "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
-+ "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
-+ "\t\t\treturn -1;\n"
-+ "\t\t}\n"
- "\t}\n"
- "}\n"
- "\n"
---- libnih-1.0.3.orig/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_proxy.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_proxy.c
-@@ -27359,6 +27359,7 @@
- TEST_TRUE (unix_fd_to_str_replied);
-
- TEST_EQ_P (last_data, parent);
-+ TEST_NE (last_str_value[0], '\0');
- TEST_TRUE (strchr ("0123456789", last_str_value[0]));
- TEST_ALLOC_PARENT (last_str_value, parent);
-
-@@ -27673,6 +27674,7 @@
-
- TEST_EQ (ret, 0);
-
-+ TEST_NE (str_value[0], '\0');
- TEST_TRUE (strchr ("0123456789", str_value[0]));
- TEST_ALLOC_PARENT (str_value, parent);
-
---- libnih-1.0.3.orig/nih-dbus-tool/tests/test_property.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/test_property.c
-@@ -8733,7 +8733,7 @@
- TypeVar * var;
- NihListEntry * attrib;
- NihDBusProxy * proxy = NULL;
-- void * parent = NULL;
-+ void * parent __attribute__((unused)) = NULL;
- pid_t pid = -1;
- int status;
- DBusMessage * method_call;
---- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_object_function_standard.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_object_function_standard.c
-@@ -136,17 +136,19 @@
- goto enomem;
- }
-
-- for (size_t output_i = 0; output[output_i]; output_i++) {
-- const char *output_element;
-+ if (output) {
-+ for (size_t output_i = 0; output[output_i]; output_i++) {
-+ const char *output_element;
-
-- output_element = output[output_i];
-+ output_element = output[output_i];
-
-- /* Marshal a char * onto the message */
-- if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
-- dbus_message_iter_abandon_container (&iter, &output_iter);
-- dbus_message_unref (reply);
-- reply = NULL;
-- goto enomem;
-+ /* Marshal a char * onto the message */
-+ if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
-+ dbus_message_iter_abandon_container (&iter, &output_iter);
-+ dbus_message_unref (reply);
-+ reply = NULL;
-+ goto enomem;
-+ }
- }
- }
-
---- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_reply_function_standard.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_reply_function_standard.c
-@@ -7,7 +7,6 @@
- DBusMessageIter output_iter;
-
- nih_assert (message != NULL);
-- nih_assert (output != NULL);
-
- /* If the sender doesn't care about a reply, don't bother wasting
- * effort constructing and sending one.
-@@ -28,16 +27,18 @@
- return -1;
- }
-
-- for (size_t output_i = 0; output[output_i]; output_i++) {
-- const char *output_element;
--
-- output_element = output[output_i];
--
-- /* Marshal a char * onto the message */
-- if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
-- dbus_message_iter_abandon_container (&iter, &output_iter);
-- dbus_message_unref (reply);
-- return -1;
-+ if (output) {
-+ for (size_t output_i = 0; output[output_i]; output_i++) {
-+ const char *output_element;
-+
-+ output_element = output[output_i];
-+
-+ /* Marshal a char * onto the message */
-+ if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
-+ dbus_message_iter_abandon_container (&iter, &output_iter);
-+ dbus_message_unref (reply);
-+ return -1;
-+ }
- }
- }
-
---- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_reply_function_deprecated.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_reply_function_deprecated.c
-@@ -7,7 +7,6 @@
- DBusMessageIter output_iter;
-
- nih_assert (message != NULL);
-- nih_assert (output != NULL);
-
- /* If the sender doesn't care about a reply, don't bother wasting
- * effort constructing and sending one.
-@@ -28,16 +27,18 @@
- return -1;
- }
-
-- for (size_t output_i = 0; output[output_i]; output_i++) {
-- const char *output_element;
--
-- output_element = output[output_i];
--
-- /* Marshal a char * onto the message */
-- if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
-- dbus_message_iter_abandon_container (&iter, &output_iter);
-- dbus_message_unref (reply);
-- return -1;
-+ if (output) {
-+ for (size_t output_i = 0; output[output_i]; output_i++) {
-+ const char *output_element;
-+
-+ output_element = output[output_i];
-+
-+ /* Marshal a char * onto the message */
-+ if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
-+ dbus_message_iter_abandon_container (&iter, &output_iter);
-+ dbus_message_unref (reply);
-+ return -1;
-+ }
- }
- }
-
---- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_object_function_no_input.c
-+++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_object_function_no_input.c
-@@ -88,17 +88,19 @@
- goto enomem;
- }
-
-- for (size_t output_i = 0; output[output_i]; output_i++) {
-- const char *output_element;
-+ if (output) {
-+ for (size_t output_i = 0; output[output_i]; output_i++) {
-+ const char *output_element;
-
-- output_element = output[output_i];
-+ output_element = output[output_i];
-
-- /* Marshal a char * onto the message */
-- if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
-- dbus_message_iter_abandon_container (&iter, &output_iter);
-- dbus_message_unref (reply);
-- reply = NULL;
-- goto enomem;
-+ /* Marshal a char * onto the message */
-+ if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
-+ dbus_message_iter_abandon_container (&iter, &output_iter);
-+ dbus_message_unref (reply);
-+ reply = NULL;
-+ goto enomem;
-+ }
- }
- }
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb
deleted file mode 100644
index fcb6bebd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (c) 2013 LG Electronics, Inc.
-
-SUMMARY = "libnih library"
-HOMEPAGE = "https://launchpad.net/libnih"
-DESCRIPTION = "libnih is a small library for C application development \
- containing functions that, despite its name, are not implemented \
- elsewhere in the standard library set. \
- \
- libnih is roughly equivalent to other C libraries such as glib, \
- except that its focus is on a small size and intended for \
- applications that sit very low in the software stack, especially \
- outside of /usr. \
- \
- It expressly does not reimplement functions that already exist in \
- libraries ordinarily shipped in /lib such libc6, and does not do \
- foolish things like invent arbitrary typedefs for perfectly good C types."
-
-SECTION = "libs"
-
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "dbus libnih-native"
-DEPENDS_class-native = "dbus-native"
-
-SRC_URI = "https://launchpad.net/${BPN}/1.0/${PV}/+download/${BP}.tar.gz \
- file://libnih_1.0.3-4ubuntu16.patch \
- file://0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch \
- "
-
-SRC_URI[md5sum] = "db7990ce55e01daffe19006524a1ccb0"
-SRC_URI[sha256sum] = "897572df7565c0a90a81532671e23c63f99b4efde2eecbbf11e7857fbc61f405"
-
-inherit autotools
-inherit gettext
-
-do_configure_append () {
- sed -i -e 's,lib/pkgconfig,${baselib}/pkgconfig,g' ${S}/nih/Makefile.in ${S}/nih-dbus/Makefile.in
-}
-
-FILES_${PN}-dev += "${libdir}/pkgconfig/* \
- ${includedir}/* \
- ${libdir}/*.so \
- ${datadir}/* \
- "
-
-# target libnih requires native nih-dbus-tool
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/explicit_linking.patch b/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/explicit_linking.patch
deleted file mode 100644
index 05d3bf6f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/explicit_linking.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- 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/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/new-readline-typedef.patch b/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/new-readline-typedef.patch
deleted file mode 100644
index 0a024203..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/new-readline-typedef.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/read_bugfixes.patch b/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/read_bugfixes.patch
deleted file mode 100644
index 1880a241..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/read_bugfixes.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch b/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
index e738be54..e00cf801 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
@@ -1,14 +1,3 @@
---- 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 @@
diff --git a/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.1.bb b/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.1.bb
new file mode 100644
index 00000000..8ba3f72b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Liboop is a low-level event loop management library for POSIX-based operating systems"
+HOMEPAGE = "http://www.lysator.liu.se/liboop/"
+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://tcl_dev.patch \
+"
+
+SRC_URI[md5sum] = "f2b3dff17355fd9a6e2229caca8993f0"
+SRC_URI[sha256sum] = "56af16ad65e7397dadc8268e37ff6f67431db390c60c75e21a33e12b0e0d17e0"
+
+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/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.bb b/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.bb
deleted file mode 100644
index 82818c24..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb b/external/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb
new file mode 100644
index 00000000..7fe0640d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Library for using PKCS"
+DESCRIPTION = "\
+Libp11 is a library implementing a small layer on top of PKCS \
+make using PKCS"
+HOMEPAGE = "https://github.com/OpenSC/libp11"
+BUGTRACKER = "https://github.com/OpenSC/libp11/issues"
+SECTION = "Development/Libraries"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
+DEPENDS = "libtool openssl"
+
+SRC_URI = "git://github.com/OpenSC/libp11.git"
+SRCREV = "973d31f3f58d5549ddd8b1f822ce8f72186f9d68"
+
+UPSTREAM_CHECK_GITTAGREGEX = "libp11-(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-static"
+
+do_install_append () {
+ rm -rf ${D}${docdir}/${BPN}
+}
+
+FILES_${PN} += "${libdir}/engines*/pkcs11.so"
+FILES_${PN}-dev += "${libdir}/engines*/libpkcs11${SOLIBSDEV}"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb b/external/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb
deleted file mode 100644
index 87d99c1a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Library for using PKCS"
-DESCRIPTION = "\
-Libp11 is a library implementing a small layer on top of PKCS \
-make using PKCS"
-HOMEPAGE = "http://www.opensc-project.org/libp11"
-SECTION = "Development/Libraries"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
-DEPENDS = "libtool openssl"
-
-SRC_URI = "git://github.com/OpenSC/libp11.git"
-SRCREV = "64569a391897bd29c5060b19fa4613e619e59277"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-static"
-
-do_install_append () {
- rm -rf ${D}${libdir}/*.la
- rm -rf ${D}${docdir}/${BPN}
-}
-
-FILES_${PN} += "${libdir}/engines*/pkcs11.so"
-FILES_${PN}-dev += "${libdir}/engines*/libpkcs11${SOLIBSDEV}"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.1.bb b/external/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.1.bb
new file mode 100644
index 00000000..004c93d0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Remote delta-compression library."
+AUTHOR = "Martin Pool, Andrew Tridgell, Donovan Baarda, Adam Schubert"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+SRC_URI = "git://github.com/librsync/librsync.git"
+SRCREV = "27f738650c20fef1285f11d85a34e5094a71c06f"
+S = "${WORKDIR}/git"
+
+DEPENDS = "popt"
+
+inherit cmake
+
+PACKAGES =+ "rdiff"
+FILES_rdiff = "${bindir}/rdiff"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/external/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
index b537ce67..98cc63eb 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "A Library to Access SMI MIB Information"
HOMEPAGE = "https://www.ibr.cs.tu-bs.de/projects/libsmi"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause & tcl"
LIC_FILES_CHKSUM = "file://COPYING;md5=3ad3076f9332343a21636cfd351f05b7"
SRC_URI = "https://www.ibr.cs.tu-bs.de/projects/${BPN}/download/${BP}.tar.gz \
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb b/external/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb
index 01708df3..8b773aef 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://github.com/jackmitch/libsoc"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENCE;md5=e0bfebea12a718922225ba987b2126a5"
-inherit autotools pkgconfig python-dir
+inherit autotools pkgconfig python3-dir
SRCREV = "fd1ad6e7823fa76d8db0d3c5884faffa8ffddafb"
SRC_URI = "git://github.com/jackmitch/libsoc.git"
@@ -21,7 +21,7 @@ PACKAGECONFIG ?= ""
PACKAGECONFIG[disabledebug] = "--disable-debug,,"
PACKAGECONFIG[allboardconfigs] = "--with-board-configs,,"
PACKAGECONFIG[enableboardconfig] = "--enable-board=${BOARD},,"
-PACKAGECONFIG[python] = "--enable-python=${PYTHON_PN},,${PYTHON_PN}"
+PACKAGECONFIG[python] = "--enable-python=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN},,${PYTHON_PN} ${PYTHON_PN}-native"
PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'python', \
'${PYTHON_PN}-libsoc-staticdev ${PYTHON_PN}-libsoc', '', d)}"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.4.bb b/external/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.4.bb
deleted file mode 100644
index 6040ec95..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.4.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol"
-HOMEPAGE = "http://www.libssh.org"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=388a4fb1dea8ceae0be78ba9b01fc139"
-
-DEPENDS = "zlib openssl libgcrypt"
-
-SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=stable-0.8"
-SRCREV = "789df0b7d0c7abd6b85db9fc5247e146e3d4ddba"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ??=""
-PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, "
-
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-EXTRA_OECMAKE = " \
- -DWITH_GCRYPT=1 \
- -DWITH_PCAP=1 \
- -DWITH_SFTP=1 \
- -DWITH_ZLIB=1 \
- -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
- "
-
-do_configure_prepend () {
- # Disable building of examples
- sed -i -e '/add_subdirectory(examples)/s/^/#DONOTWANT/' ${S}/CMakeLists.txt \
- || bbfatal "Failed to disable examples"
-}
-
-TOOLCHAIN = "gcc"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb b/external/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb
new file mode 100644
index 00000000..39ed8a8f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol"
+HOMEPAGE = "http://www.libssh.org"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dabb4958b830e5df11d2b0ed8ea255a0"
+
+DEPENDS = "zlib openssl libgcrypt"
+
+SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=stable-0.8"
+SRCREV = "04685a74df9ce1db1bc116a83a0da78b4f4fa1f8"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??=""
+PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, "
+
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+EXTRA_OECMAKE = " \
+ -DWITH_GCRYPT=1 \
+ -DWITH_PCAP=1 \
+ -DWITH_SFTP=1 \
+ -DWITH_ZLIB=1 \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+ "
+
+do_configure_prepend () {
+ # Disable building of examples
+ sed -i -e '/add_subdirectory(examples)/s/^/#DONOTWANT/' ${S}/CMakeLists.txt \
+ || bbfatal "Failed to disable examples"
+}
+
+TOOLCHAIN = "gcc"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libssh2/files/CVE-2019-17498.patch b/external/meta-openembedded/meta-oe/recipes-support/libssh2/files/CVE-2019-17498.patch
new file mode 100644
index 00000000..00108007
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libssh2/files/CVE-2019-17498.patch
@@ -0,0 +1,131 @@
+From dedcbd106f8e52d5586b0205bc7677e4c9868f9c Mon Sep 17 00:00:00 2001
+From: Will Cosgrove <will@panic.com>
+Date: Fri, 30 Aug 2019 09:57:38 -0700
+Subject: [PATCH] packet.c: improve message parsing (#402)
+
+* packet.c: improve parsing of packets
+
+file: packet.c
+
+notes:
+Use _libssh2_get_string API in SSH_MSG_DEBUG/SSH_MSG_DISCONNECT. Additional uint32 bounds check in SSH_MSG_GLOBAL_REQUEST.
+
+Upstream-Status: Backport
+CVE: CVE-2019-17498
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ src/packet.c | 68 ++++++++++++++++++++++------------------------------
+ 1 file changed, 29 insertions(+), 39 deletions(-)
+
+diff --git a/src/packet.c b/src/packet.c
+index 38ab629..2e01bfc 100644
+--- a/src/packet.c
++++ b/src/packet.c
+@@ -419,8 +419,8 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
+ size_t datalen, int macstate)
+ {
+ int rc = 0;
+- char *message = NULL;
+- char *language = NULL;
++ unsigned char *message = NULL;
++ unsigned char *language = NULL;
+ size_t message_len = 0;
+ size_t language_len = 0;
+ LIBSSH2_CHANNEL *channelp = NULL;
+@@ -472,33 +472,23 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
+
+ case SSH_MSG_DISCONNECT:
+ if(datalen >= 5) {
+- size_t reason = _libssh2_ntohu32(data + 1);
++ uint32_t reason = 0;
++ struct string_buf buf;
++ buf.data = (unsigned char *)data;
++ buf.dataptr = buf.data;
++ buf.len = datalen;
++ buf.dataptr++; /* advance past type */
+
+- if(datalen >= 9) {
+- message_len = _libssh2_ntohu32(data + 5);
++ _libssh2_get_u32(&buf, &reason);
++ _libssh2_get_string(&buf, &message, &message_len);
++ _libssh2_get_string(&buf, &language, &language_len);
+
+- if(message_len < datalen-13) {
+- /* 9 = packet_type(1) + reason(4) + message_len(4) */
+- message = (char *) data + 9;
+-
+- language_len =
+- _libssh2_ntohu32(data + 9 + message_len);
+- language = (char *) data + 9 + message_len + 4;
+-
+- if(language_len > (datalen-13-message_len)) {
+- /* bad input, clear info */
+- language = message = NULL;
+- language_len = message_len = 0;
+- }
+- }
+- else
+- /* bad size, clear it */
+- message_len = 0;
+- }
+ if(session->ssh_msg_disconnect) {
+- LIBSSH2_DISCONNECT(session, reason, message,
+- message_len, language, language_len);
++ LIBSSH2_DISCONNECT(session, reason, (const char *)message,
++ message_len, (const char *)language,
++ language_len);
+ }
++
+ _libssh2_debug(session, LIBSSH2_TRACE_TRANS,
+ "Disconnect(%d): %s(%s)", reason,
+ message, language);
+@@ -539,24 +529,24 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
+ int always_display = data[1];
+
+ if(datalen >= 6) {
+- message_len = _libssh2_ntohu32(data + 2);
+-
+- if(message_len <= (datalen - 10)) {
+- /* 6 = packet_type(1) + display(1) + message_len(4) */
+- message = (char *) data + 6;
+- language_len = _libssh2_ntohu32(data + 6 +
+- message_len);
+-
+- if(language_len <= (datalen - 10 - message_len))
+- language = (char *) data + 10 + message_len;
+- }
++ struct string_buf buf;
++ buf.data = (unsigned char *)data;
++ buf.dataptr = buf.data;
++ buf.len = datalen;
++ buf.dataptr += 2; /* advance past type & always display */
++
++ _libssh2_get_string(&buf, &message, &message_len);
++ _libssh2_get_string(&buf, &language, &language_len);
+ }
+
+ if(session->ssh_msg_debug) {
+- LIBSSH2_DEBUG(session, always_display, message,
+- message_len, language, language_len);
++ LIBSSH2_DEBUG(session, always_display,
++ (const char *)message,
++ message_len, (const char *)language,
++ language_len);
+ }
+ }
++
+ /*
+ * _libssh2_debug will actually truncate this for us so
+ * that it's not an inordinate about of data
+@@ -579,7 +569,7 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
+ uint32_t len = 0;
+ unsigned char want_reply = 0;
+ len = _libssh2_ntohu32(data + 1);
+- if(datalen >= (6 + len)) {
++ if((len <= (UINT_MAX - 6)) && (datalen >= (6 + len))) {
+ want_reply = data[5 + len];
+ _libssh2_debug(session,
+ LIBSSH2_TRACE_CONN,
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb b/external/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb
deleted file mode 100644
index 94bfb8f8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A client-side C library implementing the SSH2 protocol"
-HOMEPAGE = "http://www.libssh2.org/"
-SECTION = "libs"
-
-DEPENDS = "zlib"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c5cf34fc0acb44b082ef50ef5e4354ca"
-
-SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz"
-SRC_URI[md5sum] = "3d1147cae66e2959ea5441b183de1b1c"
-SRC_URI[sha256sum] = "39f34e2f6835f4b992cafe8625073a88e5a28ba78f83e8099610a7b3af4676d4"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "\
- --with-libz \
- --with-libz-prefix=${STAGING_LIBDIR} \
- "
-
-# only one of openssl and gcrypt could be set
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[openssl] = "--with-openssl --with-libssl-prefix=${STAGING_LIBDIR},--without-openssl,openssl"
-PACKAGECONFIG[gcrypt] = "--with-libgcrypt --with-libgcrypt-prefix=${STAGING_EXECPREFIXDIR},--without-libgcrypt,libgcrypt"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb b/external/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb
new file mode 100644
index 00000000..c1f337a4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "A client-side C library implementing the SSH2 protocol"
+HOMEPAGE = "http://www.libssh2.org/"
+SECTION = "libs"
+
+DEPENDS = "zlib"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c5cf34fc0acb44b082ef50ef5e4354ca"
+
+SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz \
+ file://CVE-2019-17498.patch \
+"
+SRC_URI[md5sum] = "1beefafe8963982adc84b408b2959927"
+SRC_URI[sha256sum] = "d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "\
+ --with-libz \
+ --with-libz-prefix=${STAGING_LIBDIR} \
+ "
+
+# only one of openssl and gcrypt could be set
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[openssl] = "--with-crypto=openssl --with-libssl-prefix=${STAGING_LIBDIR}, , openssl"
+PACKAGECONFIG[gcrypt] = "--with-crypto=libgcrypt --with-libgcrypt-prefix=${STAGING_EXECPREFIXDIR}, , libgcrypt"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb b/external/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb
index 60710f41..f93d9c09 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb
@@ -19,3 +19,5 @@ inherit autotools-brokensep
PACKAGECONFIG ??= "zlib"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+
+BBCLASSEXTEND += "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-use-python3-interpreter.patch b/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-use-python3-interpreter.patch
new file mode 100644
index 00000000..e27e4f32
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-use-python3-interpreter.patch
@@ -0,0 +1,28 @@
+From 571c141b434dff13494c6a3afe621f63a8e610e9 Mon Sep 17 00:00:00 2001
+From: Andrey Zhizhikin <andrey.z@gmail.com>
+Date: Mon, 27 Jan 2020 14:29:34 +0000
+Subject: [PATCH] team_basic_test.py: use python3 interpreter
+
+Use python3 since python2 is EOL and has been removed from several
+distributions.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+---
+ scripts/team_basic_test.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/team_basic_test.py b/scripts/team_basic_test.py
+index b05be9e..ad980e8 100755
+--- a/scripts/team_basic_test.py
++++ b/scripts/team_basic_test.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#! /usr/bin/env python3
+ """
+ Basic test.
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/run-ptest b/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/run-ptest
index 4ba5acf0..b5c6f4eb 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/run-ptest
+++ b/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam/run-ptest
@@ -1,3 +1,3 @@
#!/bin/sh
-python $(dirname $0)/team_basic_test.py
+python3 $(dirname $0)/team_basic_test.py
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb b/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb
deleted file mode 100644
index 442592de..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Library for controlling team network device"
-HOMEPAGE = "http://www.libteam.org/"
-SECTION = "libs/network"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "libnl libdaemon jansson"
-
-SRC_URI = "git://github.com/jpirko/libteam \
- file://0001-include-sys-select.h-for-fd_set-definition.patch \
- file://0002-teamd-Re-adjust-include-header-order.patch \
- file://0001-team_basic_test.py-disable-RedHat-specific-test.patch \
- file://run-ptest \
- "
-SRCREV = "91a928a56a501daac5ce8b3c16bd9943661f1d16"
-
-SRC_URI[md5sum] = "565114d70c41bff6093d8e57be284e8a"
-SRC_URI[sha256sum] = "d65286379141db141bea33424ec0507bb0f827a0bf03d9c65004bb593e3d5545"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig ptest
-
-FILES_${PN} = "${libdir}/libteam${SOLIBS} \
-"
-
-PACKAGES += "${PN}-dctl ${PN}-utils"
-FILES_${PN}-dctl = "${libdir}/libteamdctl${SOLIBS} \
-"
-FILES_${PN}-utils = "${bindir}/bond2team \
- ${bindir}/teamd \
- ${bindir}/teamdctl \
- ${bindir}/teamnl \
-"
-
-RDEPENDS_${PN}-utils = "bash"
-RDEPENDS_${PN}-ptest = "python"
-
-do_install_ptest() {
- install ${S}/scripts/team_basic_test.py ${D}${PTEST_PATH}/
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.30.bb b/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.30.bb
new file mode 100644
index 00000000..9cd02b0c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.30.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Library for controlling team network device"
+HOMEPAGE = "http://www.libteam.org/"
+SECTION = "libs/network"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libnl libdaemon jansson"
+
+SRC_URI = "git://github.com/jpirko/libteam \
+ file://0001-include-sys-select.h-for-fd_set-definition.patch \
+ file://0002-teamd-Re-adjust-include-header-order.patch \
+ file://0001-team_basic_test.py-disable-RedHat-specific-test.patch \
+ file://0001-team_basic_test.py-use-python3-interpreter.patch \
+ file://run-ptest \
+ "
+SRCREV = "471fb50d206e5a3f2eef9e4247329b51edc5c493"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig ptest
+
+FILES_${PN} = "${libdir}/libteam${SOLIBS} \
+"
+
+PACKAGES += "${PN}-dctl ${PN}-utils"
+FILES_${PN}-dctl = "${libdir}/libteamdctl${SOLIBS} \
+"
+FILES_${PN}-utils = "${bindir}/bond2team \
+ ${bindir}/teamd \
+ ${bindir}/teamdctl \
+ ${bindir}/teamnl \
+"
+
+RDEPENDS_${PN}-utils = "bash"
+RDEPENDS_${PN}-ptest = "python3-core"
+
+do_install_ptest() {
+ install ${S}/scripts/team_basic_test.py ${D}${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_6.2.0.bb b/external/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_6.2.0.bb
deleted file mode 100644
index bbb69a1d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_6.2.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 = "c1424ee4e1c1ed8129d9147ccc920ab92dd9ef86"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb b/external/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb
new file mode 100644
index 00000000..a2491cf9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.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://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd"
+
+SRC_URI = "git://github.com/leethomason/tinyxml2.git"
+
+SRCREV = "bf15233ad88390461f6ab0dbcf046cce643c5fcb"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config.bb b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config.bb
new file mode 100644
index 00000000..b269e33c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config.bb
@@ -0,0 +1,12 @@
+SUMMARY = "USB Gadget Configuration Files"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://usbgx.default"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -Dm 0644 ${WORKDIR}/usbgx.default ${D}${sysconfdir}/default/usbgx
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config/usbgx.default b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config/usbgx.default
new file mode 100644
index 00000000..f690dfe2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config/usbgx.default
@@ -0,0 +1,2 @@
+IMPORT_SCHEMAS=""
+ENABLED_SCHEMAS="$IMPORT_SCHEMAS"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
new file mode 100644
index 00000000..1a106b78
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+[ -r /etc/default/usbgx ] && . /etc/default/usbgx
+
+for i in $IMPORT_SCHEMAS; do
+ /usr/bin/gadget-import "$i" /etc/usbgx/"$i".schema
+done
+
+for i in $ENABLED_SCHEMAS; do
+ ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/"$i"/UDC
+done
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.initd b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.initd
new file mode 100644
index 00000000..d1938078
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.initd
@@ -0,0 +1,143 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: usbg
+# Required-Start: $local_fs
+# Should-Start:
+# Required-Stop: $local_fs
+# Should-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Example initscript
+# Description: This file should be used to construct scripts to be
+# placed in /etc/init.d
+### END INIT INFO
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+DESC="Load USB gadget schemas"
+NAME="usbgx"
+DAEMON=/usr/bin/gadget-start
+DAEMON_ARGS=""
+PIDFILE=/var/run/$NAME.pid
+
+. /etc/init.d/functions || exit 1
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+#
+# Function that starts the daemon/service
+#
+do_start() {
+ local status pid
+
+ status=0
+ pid=`pidofproc $NAME` || status=$?
+ case $status in
+ 0)
+ echo "$DESC already running ($pid)."
+ exit 1
+ ;;
+ *)
+ echo "Starting $DESC ..."
+ exec $DAEMON $DAEMON_ARGS >/dev/null 2>&1 || status=$?
+ echo "ERROR: Failed to start $DESC."
+ exit $status
+ ;;
+ esac
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop() {
+ local pid status
+
+ status=0
+ pid=`pidofproc $NAME` || status=$?
+ case $status in
+ 0)
+ # Exit when fail to stop, the kill would complain when fail
+ kill -s 15 $pid >/dev/null && rm -f $PIDFILE && \
+ echo "Stopped $DESC ($pid)." || exit $?
+ ;;
+ *)
+ echo "$DESC is not running; none killed." >&2
+ ;;
+ esac
+
+ return $status
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+ local pid status
+
+ status=0
+ # If the daemon can reload its configuration without
+ # restarting (for example, when it is sent a SIGHUP),
+ # then implement that here.
+ pid=`pidofproc $NAME` || status=$?
+ case $status in
+ 0)
+ echo "Reloading $DESC ..."
+ kill -s 1 $pid || exit $?
+ ;;
+ *)
+ echo "$DESC is not running; none reloaded." >&2
+ ;;
+ esac
+ exit $status
+}
+
+
+#
+# Function that shows the daemon/service status
+#
+status_of_proc () {
+ local pid status
+
+ status=0
+ # pidof output null when no program is running, so no "2>/dev/null".
+ pid=`pidofproc $NAME` || status=$?
+ case $status in
+ 0)
+ echo "$DESC is running ($pid)."
+ exit 0
+ ;;
+ *)
+ echo "$DESC is not running." >&2
+ exit $status
+ ;;
+ esac
+}
+
+case "$1" in
+ start)
+ do_start
+ ;;
+ stop)
+ do_stop || exit $?
+ ;;
+ status)
+ status_of_proc
+ ;;
+ restart)
+ # Always start the service regardless the status of do_stop
+ do_stop
+ do_start
+ ;;
+ try-restart|force-reload)
+ do_stop && do_start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|restart|try-restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
new file mode 100644
index 00000000..74541d3c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Load USB gadget schemas
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/gadget-start
+
+[Install]
+WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
new file mode 100644
index 00000000..d73ca610
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
@@ -0,0 +1,40 @@
+SUMMARY = "USB Gadget neXt Configfs Library"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libconfig"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+PV = "0.2.0+git${SRCPV}"
+SRCREV = "45c14ef4d5d7ced0fbf984208de44ced6d5ed898"
+SRCBRANCH = "master"
+SRC_URI = " \
+ git://github.com/libusbgx/libusbgx.git;branch=${SRCBRANCH} \
+ file://gadget-start \
+ file://usbgx.initd \
+ file://usbgx.service \
+"
+
+S = "${WORKDIR}/git"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "usbgx.service"
+
+INITSCRIPT_NAME = "usbgx"
+INITSCRIPT_PARAMS = "defaults"
+
+EXTRA_OECONF = "--includedir=${includedir}/usbgx"
+
+do_install_append() {
+ install -Dm 0755 ${WORKDIR}/gadget-start ${D}/${bindir}/gadget-start
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -Dm 0644 ${WORKDIR}/usbgx.service ${D}${systemd_system_unitdir}/usbgx.service
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -Dm 0755 ${WORKDIR}/usbgx.initd ${D}${sysconfdir}/init.d/usbgx
+ fi
+}
+
+RDEPENDS_${PN} += "libusbgx-config"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb b/external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb
index 8c84cb37..b8a700b7 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb
@@ -12,6 +12,7 @@ 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://0002-Proper-macro-path-generation.patch \
file://libutempter-remove-glibc-assumption.patch \
"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch b/external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch
new file mode 100644
index 00000000..2a866c07
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch
@@ -0,0 +1,34 @@
+From 48b6bcf9f5d8a05eace4bc463c47e8a4715d3000 Mon Sep 17 00:00:00 2001
+From: iddinev <xidinev@gmail.com>
+Date: Mon, 18 Mar 2019 15:45:20 +0200
+Subject: [PATCH] Proper macro path generation.
+
+Signed-off-by: iddinev <xidinev@gmail.com>
+---
+ libutempter/iface.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git libutempter/iface.c libutempter/iface.c
+index 27793f0..c1c0ee9 100644
+--- libutempter/iface.c
++++ libutempter/iface.c
+@@ -44,13 +44,12 @@
+ #endif
+
+ #ifdef LIBEXECDIR
+-# define CAT_PATH(DIR1,DIR2) DIR1##DIR2
+-# define RAW_UTEMPTER_PATH CAT_PATH(LIBEXECDIR,/utempter/utempter)
++# define UTEMPTER_DEFAULT_PATHNAME XSTR_PATH(LIBEXECDIR)"/utempter/utempter"
+ #else
+-# define RAW_UTEMPTER_PATH /usr/lib/libtempter/utempter/utempter
++# define UTEMPTER_DEFAULT_PATHNAME STR_PATH(/usr/lib/libtempter/utempter/utempter)
+ #endif
+ #define STR_PATH(RAW_STR) #RAW_STR
+-#define UTEMPTER_DEFAULT_PATHNAME STR_PATH(RAW_UTEMPTER_PATH)
++#define XSTR_PATH(STR) STR_PATH(STR)
+
+ static const char *utempter_pathname;
+ static int saved_fd = -1;
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.16.bb b/external/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.16.bb
deleted file mode 100644
index f55a6fc7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.16.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
-# The following is the difference between the old and the new license text.
-# Please update the LICENSE value if needed, and summarize the changes in
-# the commit message via 'License-Update:' tag.
-# (example: 'License-Update: copyright years updated.')
-#
-# The changes:
-#
-# --- COPYING
-# +++ COPYING
-# @@ -293,7 +293,7 @@
-# <one line to give the program's name and a brief idea of what it does.>
-# Copyright (C) <year> <name of author>
-#
-# - on, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAThis program is free software; you can redistribute it and/or modify
-# + 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.
-#
-#
-
-require links.inc
-
-DEPENDS += "virtual/libx11"
-RCONFLICTS_${PN} = "links"
-
-inherit distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += " file://links2.desktop \
- http://www.xora.org.uk/oe/links2.png;name=icon"
-
-S = "${WORKDIR}/links-${PV}"
-
-EXTRA_OECONF = "--enable-graphics \
- --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
- --without-libtiff --without-svgalib --without-fb \
- --without-directfb --without-pmshell --without-atheos \
- --with-x --without-gpm"
-
-do_install_append() {
- install -d ${D}/${datadir}/applications
- install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications
- install -d ${D}/${datadir}/pixmaps
- install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps
-}
-
-SRC_URI[md5sum] = "645fb0c0294e4c3268f94d307d394ffb"
-SRC_URI[sha256sum] = "82f03038d5e050a65681b9888762af41c40fd42dec7e59a8d630bfb0ee134a3f"
-SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
-SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb b/external/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb
new file mode 100644
index 00000000..645fe3b2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb
@@ -0,0 +1,53 @@
+# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
+# The following is the difference between the old and the new license text.
+# Please update the LICENSE value if needed, and summarize the changes in
+# the commit message via 'License-Update:' tag.
+# (example: 'License-Update: copyright years updated.')
+#
+# The changes:
+#
+# --- COPYING
+# +++ COPYING
+# @@ -293,7 +293,7 @@
+# <one line to give the program's name and a brief idea of what it does.>
+# Copyright (C) <year> <name of author>
+#
+# - on, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAThis program is free software; you can redistribute it and/or modify
+# + 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.
+#
+#
+
+require links.inc
+
+DEPENDS += "virtual/libx11"
+RCONFLICTS_${PN} = "links"
+
+inherit features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " file://links2.desktop \
+ http://www.xora.org.uk/oe/links2.png;name=icon"
+
+S = "${WORKDIR}/links-${PV}"
+
+EXTRA_OECONF = "--enable-graphics \
+ --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
+ --without-libtiff --without-svgalib --without-fb \
+ --without-directfb --without-pmshell --without-atheos \
+ --with-x --without-gpm"
+
+do_install_append() {
+ install -d ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps
+}
+
+SRC_URI[md5sum] = "ee39e612249440d0497535d0dafc3c0e"
+SRC_URI[sha256sum] = "4b4f07d0e6261118d1365a5a5bfa31e1eafdbd280cfae6f0e9eedfea51a2f424"
+SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
+SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/links/links_2.16.bb b/external/meta-openembedded/meta-oe/recipes-support/links/links_2.16.bb
deleted file mode 100644
index 19ea7a67..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/links/links_2.16.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require links.inc
-
-DEPENDS += "gpm"
-RCONFLICTS_${PN} = "links-x11"
-
-EXTRA_OECONF = "--enable-graphics \
- --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
- --without-libtiff --without-svgalib --with-fb \
- --without-directfb --without-pmshell --without-atheos \
- --without-x"
-
-SRC_URI[md5sum] = "645fb0c0294e4c3268f94d307d394ffb"
-SRC_URI[sha256sum] = "82f03038d5e050a65681b9888762af41c40fd42dec7e59a8d630bfb0ee134a3f"
-SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
-SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/links/links_2.20.2.bb b/external/meta-openembedded/meta-oe/recipes-support/links/links_2.20.2.bb
new file mode 100644
index 00000000..1a36291e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/links/links_2.20.2.bb
@@ -0,0 +1,15 @@
+require links.inc
+
+DEPENDS += "gpm"
+RCONFLICTS_${PN} = "links-x11"
+
+EXTRA_OECONF = "--enable-graphics \
+ --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
+ --without-libtiff --without-svgalib --with-fb \
+ --without-directfb --without-pmshell --without-atheos \
+ --without-x"
+
+SRC_URI[md5sum] = "ee39e612249440d0497535d0dafc3c0e"
+SRC_URI[sha256sum] = "4b4f07d0e6261118d1365a5a5bfa31e1eafdbd280cfae6f0e9eedfea51a2f424"
+SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
+SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb b/external/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
index d9780cfb..0fb4a6e5 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
@@ -6,13 +6,13 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=c3ea231a32635cbb5debedf3e88aa3df
PV = "4.1+git${SRCPV}"
-SRC_URI = "git://risingtidesystems.com/lio-utils.git \
+SRC_URI = "git://github.com/Datera/lio-utils.git \
file://0001-Makefiles-Respect-environment-variables-and-add-LDFL.patch \
"
-SRCREV = "28bd928655bdc7bd3cf380f0196630690c51e05f"
+SRCREV = "0ac9091c1ff7a52d5435a4f4449e82637142e06e"
S = "${WORKDIR}/git"
-inherit distutils
+inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "distutils", "", d)}
EXTRA_OEMAKE += "DESTDIR=${D}"
@@ -64,3 +64,10 @@ FILES_${PN} += "${sbindir}/* /etc/init.d/* /etc/target/*"
# http://errors.yoctoproject.org/Errors/Details/184712/
# python-native/python: can't open file 'setup.py': [Errno 2] No such file or directory
CLEANBROKEN = "1"
+
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
+
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch b/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
deleted file mode 100644
index 12f5be98..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2f39dc3d6f920c0826aa74367da1a0a7cc49b0fe Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 15:18:04 -0700
-Subject: [PATCH] include sys/sysmacros.h for major/minor definitions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-inclusion of <sys/sysmacros.h> by <sys/types.h> is deprecated.
-This means that in a future release, the macros “majorâ€, “minorâ€, and
-“makedev†will only be available from <sys/sysmacros.h>.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lockdev.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/lockdev.c b/src/lockdev.c
-index 9a0fca5..3581938 100644
---- a/src/lockdev.c
-+++ b/src/lockdev.c
-@@ -117,6 +117,7 @@
- #include <sys/stat.h>
- #include <sys/file.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/wait.h>
- #include "lockdev.h"
- #include "ttylock.h"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch b/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch
new file mode 100644
index 00000000..f9fe48b2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch
@@ -0,0 +1,28 @@
+commit 0dd47123655c52d68185f06b9da8fb0e1b925400
+Author: Ludwig Nussel <ludwig.nussel@suse.de>
+Date: Tue Feb 9 14:56:23 2010 +0100
+
+ RedHat patch 2
+
+ - change library file name
+ - install devel symlink
+
+--- a/Makefile
++++ b/Makefile
+@@ -11,7 +11,7 @@ VER = $(shell expr `pwd` : '.*-\([0-9.]*
+ MVER = ${shell expr `pwd` : '.*-\([0-9]*\).[0-9]*'}
+
+ static = ${libname}.a
+-shared = ${libname}.${VER}.so
++shared = ${libname}.so.${VER}
+ soname = ${libname}.so.${MVER}
+
+ # overwritten by caller (e.g.: debian/rules)
+@@ -73,6 +73,7 @@ install_doc: docs/lockdev.3
+ install_run: ${shared}
+ install -m755 -d ${libdir}
+ install -m644 ${shared} ${libdir}
++ ln -s ${shared} ${libdir}/liblockdev.so
+
+ .PHONY: clean distclean perl-clean mostyclean
+ perl-clean: clean
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch b/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch
new file mode 100644
index 00000000..aa8b0f69
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch
@@ -0,0 +1,27 @@
+--- a/Makefile
++++ b/Makefile
+@@ -15,17 +15,18 @@ shared = ${libname}.${VER}.so
+ soname = ${libname}.so.${MVER}
+
+ # overwritten by caller (e.g.: debian/rules)
+-basedir = /usr/local
++basedir ?= /usr/local
++baselib ?= lib
+ srcdir=.
+
+-libdir = ${basedir}/lib
++libdir = ${basedir}/${baselib}
+ incdir = ${basedir}/include
+ mandir = ${basedir}/share/man
+
+-CC = gcc
+-LCFLAGS = -g -O2 -fPIC -Wall -pipe -D_REENTRANT
+-CFLAGS = -g
+-LDLIBS = -llockdev
++CC ?= gcc
++LCFLAGS ?= -g -O2 -fPIC -Wall -pipe -D_REENTRANT
++CFLAGS ?= -g
++LDLIBS ?= -llockdev
+
+ .PHONY: shared static perl-lib
+ ALL: shared static perl-lib
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb b/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
new file mode 100644
index 00000000..9d8800eb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Locking devices library"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM="file://LICENSE;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+PE = "1"
+SRC_URI = "http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/l/lockdev/lockdev_${PV}.orig.tar.gz \
+ http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/l/lockdev/lockdev_${PV}-1.6.diff.gz;name=debianpatch \
+ file://cross_compile.patch \
+ file://build.patch \
+ "
+SRC_URI[md5sum] = "64b9c1b87b125fc348e892e24625524a"
+SRC_URI[sha256sum] = "ccae635d7ac3fdd50897eceb250872b3d9a191d298f213e7f0c836910d869f82"
+SRC_URI[debianpatch.md5sum] = "5ef6267c42fca9145e0af006ccb6aff7"
+SRC_URI[debianpatch.sha256sum] = "a5405c6ee5e97e45eeb1c81330a7e9f444a58bda5e6771fa30007516c115007e"
+
+inherit lib_package perlnative
+
+CFLAGS += " -D__GNU_LIBRARY__"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+EXTRA_OEMAKE = "basedir=${D}${prefix} baselib=${baselib} LD='${CC}' LD='${CC}'"
+do_compile() {
+ oe_runmake shared static
+}
+do_install() {
+ oe_runmake DESTDIR=${D} install
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb b/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb
deleted file mode 100644
index 5ad7f0c5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Locking devices library"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM="file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-PV = "1.0.3+git${SRCPV}"
-
-SRCREV = "16b899645d32012cc94cc9232f64d4ddaaf0b795"
-SRC_URI = "git://anonscm.debian.org/lockdev/lockdev.git \
- file://0001-include-sys-sysmacros.h-for-major-minor-definitions.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit lib_package autotools-brokensep
-
-do_configure_prepend () {
- ./scripts/git-version > VERSION
-
- # Make automake happy
- touch ChangeLog
-}
-
-CFLAGS_append_libc-musl = " -D__GNU_LIBRARY__"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb b/external/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb
deleted file mode 100644
index dc52c9ff..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb
+++ /dev/null
@@ -1,22 +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"
-
-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/external/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb b/external/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb
new file mode 100644
index 00000000..c6f9404d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb
@@ -0,0 +1,21 @@
+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 = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz \
+ file://fix-pc.patch;striplevel=2 \
+ "
+SRC_URI[md5sum] = "b9e2cee932da987212f2c74b767b4d8b"
+SRC_URI[sha256sum] = "2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d"
+
+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/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch b/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
index 5b55111d..3c4a3a15 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
@@ -1,26 +1,27 @@
-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
+From ea66faf68c93735edb1f2691cd7364b8cab83fef Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+Date: Mon, 26 Nov 2018 14:53:09 +0800
+Subject: [PATCH 1/3] Avoid bashisms in init scripts
Upstream-Status: Inappropriate
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
+Rebase to 2.03.01
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.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(-)
+ scripts/blk_availability_init_red_hat.in | 4 ++--
+ scripts/cmirrord_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 ++--
+ 5 files changed, 10 insertions(+), 10 deletions(-)
-Index: LVM2.2.02.177/scripts/blk_availability_init_red_hat.in
-===================================================================
---- LVM2.2.02.177.orig/scripts/blk_availability_init_red_hat.in
-+++ LVM2.2.02.177/scripts/blk_availability_init_red_hat.in
+diff --git a/scripts/blk_availability_init_red_hat.in b/scripts/blk_availability_init_red_hat.in
+index 347c395..b2e9cf9 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
@@ -35,38 +36,10 @@ Index: LVM2.2.02.177/scripts/blk_availability_init_red_hat.in
+ echo "Usage: $0 {start|stop|status}"
;;
esac
-Index: LVM2.2.02.177/scripts/clvmd_init_red_hat.in
-===================================================================
---- LVM2.2.02.177.orig/scripts/clvmd_init_red_hat.in
-+++ LVM2.2.02.177/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
-Index: LVM2.2.02.177/scripts/cmirrord_init_red_hat.in
-===================================================================
---- LVM2.2.02.177.orig/scripts/cmirrord_init_red_hat.in
-+++ LVM2.2.02.177/scripts/cmirrord_init_red_hat.in
+diff --git a/scripts/cmirrord_init_red_hat.in b/scripts/cmirrord_init_red_hat.in
+index c82f8f5..a3a321d 100755
+--- a/scripts/cmirrord_init_red_hat.in
++++ b/scripts/cmirrord_init_red_hat.in
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
@@ -82,48 +55,10 @@ Index: LVM2.2.02.177/scripts/cmirrord_init_red_hat.in
;;
esac
-Index: LVM2.2.02.177/scripts/lvm2_cluster_activation_red_hat.sh.in
-===================================================================
---- LVM2.2.02.177.orig/scripts/lvm2_cluster_activation_red_hat.sh.in
-+++ LVM2.2.02.177/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
-Index: LVM2.2.02.177/scripts/lvm2_lvmetad_init_red_hat.in
-===================================================================
---- LVM2.2.02.177.orig/scripts/lvm2_lvmetad_init_red_hat.in
-+++ LVM2.2.02.177/scripts/lvm2_lvmetad_init_red_hat.in
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # Copyright (C) 2012-2017 Red Hat, Inc. All rights reserved.
- #
-@@ -103,7 +103,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
-
-Index: LVM2.2.02.177/scripts/lvm2_lvmpolld_init_red_hat.in
-===================================================================
---- LVM2.2.02.177.orig/scripts/lvm2_lvmpolld_init_red_hat.in
-+++ LVM2.2.02.177/scripts/lvm2_lvmpolld_init_red_hat.in
+diff --git a/scripts/lvm2_lvmpolld_init_red_hat.in b/scripts/lvm2_lvmpolld_init_red_hat.in
+index 176ff5d..825f6ad 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
@@ -139,10 +74,10 @@ Index: LVM2.2.02.177/scripts/lvm2_lvmpolld_init_red_hat.in
;;
esac
-Index: LVM2.2.02.177/scripts/lvm2_monitoring_init_red_hat.in
-===================================================================
---- LVM2.2.02.177.orig/scripts/lvm2_monitoring_init_red_hat.in
-+++ LVM2.2.02.177/scripts/lvm2_monitoring_init_red_hat.in
+diff --git a/scripts/lvm2_monitoring_init_red_hat.in b/scripts/lvm2_monitoring_init_red_hat.in
+index 95e4125..dff89cd 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
@@ -158,10 +93,10 @@ Index: LVM2.2.02.177/scripts/lvm2_monitoring_init_red_hat.in
;;
esac
-Index: LVM2.2.02.177/scripts/lvm2_monitoring_init_rhel4
-===================================================================
---- LVM2.2.02.177.orig/scripts/lvm2_monitoring_init_rhel4
-+++ LVM2.2.02.177/scripts/lvm2_monitoring_init_rhel4
+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
@@ -177,3 +112,6 @@ Index: LVM2.2.02.177/scripts/lvm2_monitoring_init_rhel4
;;
esac
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch b/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
deleted file mode 100644
index 9ab1c06d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch b/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
index e3ce4c8a..7117d99a 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
@@ -1,7 +1,7 @@
-From 51d661ff33bb254d7b335a9c87acf5c6e7a94192 Mon Sep 17 00:00:00 2001
+From 103ac1c1200df8190372d973e004776cffe8e659 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 31 Jul 2018 15:08:34 +0800
-Subject: [PATCH] do not build manual
+Date: Mon, 26 Nov 2018 14:59:55 +0800
+Subject: [PATCH 2/3] do not build manual
On some host (ubuntu 1404), build manual failed.
...
@@ -14,34 +14,39 @@ Do not build man to workaround the issue.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+
+Update context for lvm2 2.03.02.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
Makefile.in | 6 +++---
configure.ac | 1 -
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index e2f5a84..acf31e5 100644
+index 6a1a990..80cba91 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -18,7 +18,7 @@ top_builddir = @top_builddir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
--SUBDIRS = conf daemons include lib libdaemon libdm man scripts device_mapper tools
-+SUBDIRS = conf daemons include lib libdaemon libdm scripts device_mapper tools
+-SUBDIRS = conf daemons include lib libdaemon libdm man scripts tools
++SUBDIRS = conf daemons include lib libdaemon libdm scripts tools
ifeq ("@UDEV_RULES@", "yes")
SUBDIRS += udev
-@@ -41,7 +41,7 @@ ifeq ($(MAKECMDGOALS),clean)
+@@ -33,7 +33,7 @@ ifeq ($(MAKECMDGOALS),clean)
endif
# FIXME Should use intermediate Makefiles here!
ifeq ($(MAKECMDGOALS),distclean)
- SUBDIRS = conf include man test scripts \
+ SUBDIRS = conf include test scripts \
libdaemon lib tools daemons libdm \
- udev po liblvm python device_mapper
+ udev po
tools.distclean: test.distclean
-@@ -71,7 +71,7 @@ liblvm.device-mapper: include.device-mapper
+@@ -65,7 +65,7 @@ libdm.device-mapper: include.device-mapper
daemons.device-mapper: libdm.device-mapper
tools.device-mapper: libdm.device-mapper
scripts.device-mapper: include.device-mapper
@@ -51,17 +56,17 @@ index e2f5a84..acf31e5 100644
ifeq ("@INTL@", "yes")
lib.pofile: include.pofile
diff --git a/configure.ac b/configure.ac
-index aa374ea..5a92cba 100644
+index 7fd0561..4154dc0 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -2124,7 +2124,6 @@ libdm/Makefile
+@@ -1812,7 +1812,6 @@ libdaemon/server/Makefile
+ libdm/Makefile
+ libdm/dm-tools/Makefile
libdm/libdevmapper.pc
- liblvm/Makefile
- liblvm/liblvm2app.pc
-man/Makefile
po/Makefile
- python/Makefile
- python/setup.py
+ scripts/lvm2-pvscan.service
+ scripts/blkdeactivate.sh
--
2.7.4
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch b/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
index 0e68d62f..9f9383ef 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
@@ -1,6 +1,6 @@
-From 24a2c47fd01dde1710f1fa66f5c30ce7010c5956 Mon Sep 17 00:00:00 2001
+From e213ed33a28704f6f538df41a91b7ce95594a4f8 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 21 Sep 2017 15:28:10 +0800
+Date: Tue, 15 Oct 2019 18:12:54 +0800
Subject: [PATCH] start lvm2-monitor.service after tmp.mount
The lvm2-monitor.service reqires the existence of locking_dir
@@ -9,24 +9,25 @@ So start lvm2-monitor.service after tmp.mount
Upstream-Status: Inappropriate [oe specific]
+Rebase to v2_03_05
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
scripts/lvm2_monitoring_systemd_red_hat.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/lvm2_monitoring_systemd_red_hat.service.in b/scripts/lvm2_monitoring_systemd_red_hat.service.in
-index 22238b7..93b2bee 100644
+index 4bf744a..46766cb 100644
--- a/scripts/lvm2_monitoring_systemd_red_hat.service.in
+++ b/scripts/lvm2_monitoring_systemd_red_hat.service.in
@@ -2,7 +2,7 @@
Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8)
- Requires=dm-event.socket lvm2-lvmetad.socket
--After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service
-+After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service tmp.mount
- Before=local-fs-pre.target
+ Requires=dm-event.socket
+-After=dm-event.socket dm-event.service lvm2-activation.service
++After=dm-event.socket dm-event.service lvm2-activation.service tmp.mount
+ Before=local-fs-pre.target shutdown.target
DefaultDependencies=no
Conflicts=shutdown.target
--
-1.8.3.1
+2.7.4
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.180.bb b/external/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.180.bb
deleted file mode 100644
index 26af3275..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.180.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require lvm2.inc
-
-SRC_URI[md5sum] = "bc26da66e96727babbd288bb0f050339"
-SRC_URI[sha256sum] = "24997e26dfc916151707c9da504d38d0473bec3481a8230b676bc079041bead6"
-
-DEPENDS += "autoconf-archive-native"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' -C libdm install
- oe_runmake 'DESTDIR=${D}' -C tools install_device-mapper
-}
-
-RRECOMMENDS_${PN}_append_class-target = " lvm2-udevrules"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.06.bb b/external/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.06.bb
new file mode 100644
index 00000000..be558ce1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.06.bb
@@ -0,0 +1,17 @@
+# Break circular dependencies, only populate sysroot (header,
+# libraries) to other recipe for compiling, recipe lvm2
+# generates package libdevmapper
+require lvm2.inc
+
+DEPENDS += "autoconf-archive-native"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' -C libdm install
+}
+
+# Do not generate package libdevmapper
+PACKAGES = ""
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
index 26a887ea..01c9df45 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -5,31 +5,26 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
-DEPENDS += "util-linux libaio"
+DEPENDS += "libaio"
-SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \
+SRC_URI = "git://sourceware.org/git/lvm2.git \
file://lvm.conf \
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 \
file://0005-do-not-build-manual.patch \
file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
"
-
-UPSTREAM_CHECK_URI = "ftp://sources.redhat.com/pub/lvm2/"
-UPSTREAM_CHECK_REGEX = "LVM2\.(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/LVM2.${PV}"
+SRCREV = "b9391b1b9f0b73303fa21f8f92574d17ce4c2b02"
+S = "${WORKDIR}/git"
inherit autotools-brokensep pkgconfig systemd license
-LVM2_PACKAGECONFIG = "dmeventd lvmetad"
+LVM2_PACKAGECONFIG = "dmeventd"
LVM2_PACKAGECONFIG_append_class-target = " \
${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \
- udev \
"
# odirect is always enabled because there currently is a bug in
@@ -39,18 +34,15 @@ LVM2_PACKAGECONFIG_append_class-target = " \
PACKAGECONFIG ??= "odirect ${LVM2_PACKAGECONFIG}"
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[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev"
# Unset user/group to unbreak install.
EXTRA_OECONF = "--with-user= \
--with-group= \
--enable-realtime \
- --enable-applib \
--enable-cmdlib \
--enable-pkgconfig \
--with-usrlibdir=${libdir} \
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch
new file mode 100644
index 00000000..24d5b1b4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch
@@ -0,0 +1,32 @@
+From 93c93e3b85492e58f9451841e6079d00c497efa4 Mon Sep 17 00:00:00 2001
+From: Jiping Ma <jiping.ma2@windriver.com>
+Date: Mon, 25 Feb 2019 13:29:12 +0800
+Subject: [PATCH] "/dev/hdc: open failed: No medium found" will print out in
+ lvmdiskscan.
+
+commit [57bb46c5e7f8] introduce this issue.
+"/dev/hdc: open failed: No medium found" will be print out
+after run lvmdiskscan. change dev_open_readonly()
+to dev_open_readonly_quiet() in fuction _dev_get_size_dev().
+
+Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
+---
+ lib/device/dev-io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/device/dev-io.c b/lib/device/dev-io.c
+index dc95131..81a66b0 100644
+--- a/lib/device/dev-io.c
++++ b/lib/device/dev-io.c
+@@ -338,7 +338,7 @@ static int _dev_get_size_dev(struct device *dev, uint64_t *size)
+ }
+
+ if (fd <= 0) {
+- if (!dev_open_readonly(dev))
++ if (!dev_open_readonly_quiet(dev))
+ return_0;
+ fd = dev_fd(dev);
+ do_close = 1;
+--
+1.9.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
deleted file mode 100644
index 7f5dd933..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 5a3e13ae94318c2bed60f875bb3852c45ce0113c Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 25 May 2017 05:27:11 -0400
-Subject: [PATCH] explicitly do not install libdm
-
-Already have package libdevmapper which split from lvm2,
-explicitly do not do the installation here.
-
-Upstream-Status: Inappropriate [meta-oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Signed-off-by: Andrew Bresticker <abrestic@waymo.com>
----
- libdm/Makefile.in | 6 ++++--
- tools/Makefile.in | 3 ++-
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/libdm/Makefile.in b/libdm/Makefile.in
-index 66ec39513..c779c9d86 100644
---- a/libdm/Makefile.in
-+++ b/libdm/Makefile.in
-@@ -77,9 +77,11 @@ ifeq ("@PKGCONFIG@", "yes")
- INSTALL_TYPE += install_pkgconfig
- endif
-
--install: $(INSTALL_TYPE) install_include
-+install:
-+ echo "Do not install device mapper in lvm2"
-
--install_device-mapper: install
-+install_device-mapper:
-+ echo "Do not install device mapper in lvm2"
-
- install_include: $(srcdir)/libdevmapper.h
- $(INSTALL_DATA) -D $< $(includedir)/$(<F)
-diff --git a/tools/Makefile.in b/tools/Makefile.in
-index 103b76732..63ba7fc04 100644
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -267,7 +267,8 @@ install_dmsetup_static: dmsetup.static
- $(Q) $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)
- $(Q) $(LN_S) -f $(<F) $(staticdir)/dmstats
-
--install_device-mapper: $(INSTALL_DMSETUP_TARGETS)
-+install_device-mapper:
-+ echo "Do not install device mapper in lvm2"
-
- install_lvm2: $(INSTALL_LVM_TARGETS)
-
---
-2.19.0.397.gdd90340f6a-goog
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
new file mode 100644
index 00000000..16de8c0a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
@@ -0,0 +1,73 @@
+From 27b56cb6b5dfc75ea8ddb395dc9ef41fb7a09c93 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 2 Sep 2019 23:04:50 -0400
+Subject: [PATCH] fix command /bin/findmnt, /bin/lsblk, /bin/sort not found
+
+In oe-core (util-linux and coreutils), the commands locates in
+${bindir} rather than /bin, add BINDIR to configure it
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 3 +++
+ scripts/blkdeactivate.sh.in | 7 ++++---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d1431e2..54e5a7b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1495,6 +1495,8 @@ fi
+
+ SYSCONFDIR="$(eval echo $(eval echo $sysconfdir))"
+
++BINDIR="$(eval echo $(eval echo $bindir))"
++
+ SBINDIR="$(eval echo $(eval echo $sbindir))"
+ LVM_PATH="$SBINDIR/lvm"
+ AC_DEFINE_UNQUOTED(LVM_PATH, ["$LVM_PATH"], [Path to lvm binary.])
+@@ -1721,6 +1723,7 @@ AC_SUBST(SACKPT_CFLAGS)
+ AC_SUBST(SACKPT_LIBS)
+ AC_SUBST(SALCK_CFLAGS)
+ AC_SUBST(SALCK_LIBS)
++AC_SUBST(BINDIR)
+ AC_SUBST(SBINDIR)
+ AC_SUBST(SELINUX_LIBS)
+ AC_SUBST(SELINUX_PC)
+diff --git a/scripts/blkdeactivate.sh.in b/scripts/blkdeactivate.sh.in
+index a4b8a8f..3db4226 100644
+--- a/scripts/blkdeactivate.sh.in
++++ b/scripts/blkdeactivate.sh.in
+@@ -41,13 +41,14 @@ UMOUNT="/bin/umount"
+
+ sbindir="@SBINDIR@"
+ DMSETUP="$sbindir/dmsetup"
++bindir="@BINDIR@"
+ LVM="$sbindir/lvm"
+
+ if "$UMOUNT" --help | grep -- "--all-targets" >"$DEV_DIR/null"; then
+ UMOUNT_OPTS="--all-targets "
+ else
+ UMOUNT_OPTS=""
+- FINDMNT="/bin/findmnt -r --noheadings -u -o TARGET"
++ FINDMNT="$bindir/findmnt -r --noheadings -u -o TARGET"
+ FINDMNT_READ="read -r mnt"
+ fi
+ DMSETUP_OPTS=""
+@@ -55,10 +56,10 @@ LVM_OPTS=""
+ MDADM_OPTS=""
+ MPATHD_OPTS=""
+
+-LSBLK="/bin/lsblk -r --noheadings -o TYPE,KNAME,NAME,MOUNTPOINT"
++LSBLK="$bindir/lsblk -r --noheadings -o TYPE,KNAME,NAME,MOUNTPOINT"
+ LSBLK_VARS="local devtype local kname local name local mnt"
+ LSBLK_READ="read -r devtype kname name mnt"
+-SORT_MNT="/bin/sort -r -u -k 4"
++SORT_MNT="$bindir/sort -r -u -k 4"
+
+ # Do not show tool errors by default (only done/skipping summary
+ # message provided by this script) and no verbose mode by default.
+--
+2.8.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.180.bb b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.180.bb
deleted file mode 100644
index 7bd7b09d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.180.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-require lvm2.inc
-
-SRC_URI[md5sum] = "bc26da66e96727babbd288bb0f050339"
-SRC_URI[sha256sum] = "24997e26dfc916151707c9da504d38d0473bec3481a8230b676bc079041bead6"
-
-SRC_URI += "file://0001-explicitly-do-not-install-libdm.patch"
-
-DEPENDS += "autoconf-archive-native"
-
-inherit multilib_script
-
-MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf"
-
-CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
-
-do_install_append() {
- # Install machine specific configuration file
- install -d ${D}${sysconfdir}/lvm
- install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
- sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- oe_runmake 'DESTDIR=${D}' install install_systemd_units
- sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
- else
- oe_runmake 'DESTDIR=${D}' install install_initscripts
- mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
- rm -rf ${D}${sysconfdir}/rc.d
- fi
-}
-
-PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'lvmetad', 'lvm2-lvmetad.socket lvm2-pvscan@.service', '', d)} \
- blk-availability.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-EXTRA_OECONF_append_class-nativesdk = " --with-confdir=${sysconfdir}"
-
-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}-udevrules = "${PN}"
-RDEPENDS_${PN}_append_class-target = " libdevmapper"
-RDEPENDS_${PN}_append_class-nativesdk = " 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/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.06.bb b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.06.bb
new file mode 100644
index 00000000..e2b551bb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.06.bb
@@ -0,0 +1,88 @@
+require lvm2.inc
+
+SRC_URI += " \
+ file://0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch \
+ file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \
+ "
+
+DEPENDS += "autoconf-archive-native"
+
+inherit multilib_script
+
+MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf"
+
+CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
+
+do_install_append() {
+ # Install machine specific configuration file
+ install -d ${D}${sysconfdir}/lvm
+ install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
+ sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ oe_runmake 'DESTDIR=${D}' install install_systemd_units
+ sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
+ else
+ oe_runmake 'DESTDIR=${D}' install install_initscripts
+ mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
+ rm -rf ${D}${sysconfdir}/rc.d
+ fi
+}
+
+PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
+ blk-availability.service lvm2-pvscan@.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+EXTRA_OECONF_append_class-nativesdk = " --with-confdir=${sysconfdir}"
+
+DEPENDS += "util-linux"
+LVM2_PACKAGECONFIG_append_class-target = " \
+ udev \
+"
+PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,${PN}-udevrules"
+
+PACKAGES =+ "libdevmapper"
+FILES_libdevmapper = " \
+ ${libdir}/libdevmapper.so.* \
+ ${sbindir}/dmsetup \
+ ${sbindir}/dmstats \
+"
+
+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}-udevrules = "libdevmapper"
+RDEPENDS_${PN}_append_class-target = " libdevmapper"
+RDEPENDS_${PN}_append_class-nativesdk = " libdevmapper"
+
+RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
+ bash \
+ util-linux-lsblk \
+ util-linux-findmnt \
+ coreutils \
+"
+RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
+
+CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
+
+SYSROOT_PREPROCESS_FUNCS_append = " remove_libdevmapper_sysroot_preprocess"
+remove_libdevmapper_sysroot_preprocess() {
+ rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \
+ ${SYSROOT_DESTDIR}${sbindir}/dmsetup \
+ ${SYSROOT_DESTDIR}${sbindir}/dmstats \
+ ${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \
+ ${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.48.bb b/external/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.48.bb
deleted file mode 100644
index 114ce460..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.48.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Helper application and MIME type associations for file types"
-HOMEPAGE = "https://pagure.io/mailcap"
-DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \
-mailcap file to determine how it should display non-text or multimedia \
-material. Basically, mailcap associates a particular type of file \
-with a particular program that a mail agent or other program can call \
-in order to handle the file. Mailcap should be installed to allow \
-certain programs to be able to handle non-text files. \
-\
-Also included in this package is the mime.types file which contains a \
-list of MIME types and their filename extension associations, used \
-by several applications e.g. to determine MIME types for filenames."
-
-SECTION = "System Environment/Base"
-
-LICENSE = "PD & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=100fcfb84512ccc03ffc7d89ac391305"
-
-SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "2c26e18e912a5cf00318fcf7f8f2d747"
-SRC_URI[sha256sum] = "d7b023b237d6053bf05ff6786e0663c55c614efcc99cdf856120be13b5c29157"
-
-do_install() {
- oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb b/external/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb
new file mode 100644
index 00000000..ff3047f3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Helper application and MIME type associations for file types"
+HOMEPAGE = "https://pagure.io/mailcap"
+DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \
+mailcap file to determine how it should display non-text or multimedia \
+material. Basically, mailcap associates a particular type of file \
+with a particular program that a mail agent or other program can call \
+in order to handle the file. Mailcap should be installed to allow \
+certain programs to be able to handle non-text files. \
+\
+Also included in this package is the mime.types file which contains a \
+list of MIME types and their filename extension associations, used \
+by several applications e.g. to determine MIME types for filenames."
+
+SECTION = "System Environment/Base"
+
+LICENSE = "PD & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8dce08227d135cfda1f19d4c0c6689de"
+
+SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "d5701a1a541383c0eda328f4a6518751"
+SRC_URI[sha256sum] = "f7381516bc1a937348efd1d0e14618e0a2afc5d59fe821dd248632d5601b59b5"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/0001-gcov_merge.py-scov_merge.py-switch-to-python3.patch b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/0001-gcov_merge.py-scov_merge.py-switch-to-python3.patch
new file mode 100644
index 00000000..969bfc17
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/0001-gcov_merge.py-scov_merge.py-switch-to-python3.patch
@@ -0,0 +1,110 @@
+From 430982376a544bbccaef5006fab94bbc2f1d1711 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 13 Apr 2020 07:12:44 +0000
+Subject: [PATCH] gcov_merge.py/scov_merge.py: switch to python3
+
+Make gcov_merge.py and scov_merge.py port to python3.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ tools/scripts/gcov_merge.py | 12 ++++++------
+ tools/scripts/scov_merge.py | 12 ++++++------
+ 2 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/tools/scripts/gcov_merge.py b/tools/scripts/gcov_merge.py
+index 0ac9bed..9f1cb8c 100644
+--- a/tools/scripts/gcov_merge.py
++++ b/tools/scripts/gcov_merge.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #
+ # Merge gcov graph from several test cases. This can be used to check
+ # the coverage of several test cases.
+@@ -11,7 +11,7 @@
+ import sys
+
+ def die(str):
+- print str
++ print(str)
+ sys.exit(-1)
+
+ def die_on(cond, str):
+@@ -55,11 +55,11 @@ def merge(gcls1, gcls2):
+ gcl1.merge(gcl2)
+
+ def gcov_merge(fns, of):
+- f = file(fns[0])
++ f = open(fns[0])
+ gcls_base = parse(f)
+
+ for fn in fns[1:]:
+- f = file(fn)
++ f = open(fn)
+ gcls = parse(f)
+ merge(gcls_base, gcls)
+
+@@ -67,10 +67,10 @@ def gcov_merge(fns, of):
+ gcl.write(of)
+
+ def usage():
+- print 'Usage: %s <gcov graph files>' % (sys.argv[0])
++ print('Usage: %s <gcov graph files>' % (sys.argv[0]))
+
+ if __name__ == '__main__':
+ if len(sys.argv) <= 1:
+ usage()
+- exit -1
++ sys.exit(-1)
+ gcov_merge(sys.argv[1:], sys.stdout)
+diff --git a/tools/scripts/scov_merge.py b/tools/scripts/scov_merge.py
+index f83b922..bbcf760 100644
+--- a/tools/scripts/scov_merge.py
++++ b/tools/scripts/scov_merge.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #
+ # Merge mce serverity coverage file from several test cases. This can
+ # be used to check the coverage of several test cases.
+@@ -11,7 +11,7 @@
+ import sys
+
+ def die(str):
+- print str
++ print(str)
+ sys.exit(-1)
+
+ def die_on(cond, str):
+@@ -47,11 +47,11 @@ def merge(gcls1, gcls2):
+ gcl1.merge(gcl2)
+
+ def scov_merge(fns, of):
+- f = file(fns[0])
++ f = open(fns[0])
+ gcls_base = parse(f)
+
+ for fn in fns[1:]:
+- f = file(fn)
++ f = open(fn)
+ gcls = parse(f)
+ merge(gcls_base, gcls)
+
+@@ -59,10 +59,10 @@ def scov_merge(fns, of):
+ gcl.write(of)
+
+ def usage():
+- print 'Usage: %s <severities coverage files>' % (sys.argv[0])
++ print('Usage: %s <severities coverage files>' % (sys.argv[0]))
+
+ if __name__ == '__main__':
+ if len(sys.argv) <= 1:
+ usage()
+- exit -1
++ sys.exit(-1)
+ scov_merge(sys.argv[1:], sys.stdout)
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/makefile-remove-ldflags.patch b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/makefile-remove-ldflags.patch
new file mode 100644
index 00000000..0ffedd2c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/makefile-remove-ldflags.patch
@@ -0,0 +1,23 @@
+Remove the default CFLAGS and LDFLAGS in Makefile. Ensure the extra linker flags can be passed.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/cases/stress/hwpoison/Makefile b/cases/stress/hwpoison/Makefile
+index da1cbd8..dec5b14 100644
+--- a/cases/stress/hwpoison/Makefile
++++ b/cases/stress/hwpoison/Makefile
+@@ -1,8 +1,8 @@
+-CFLAGS := -g -Wall
+-LDFLAGS := -g
++#CFLAGS := -g -Wall
++#LDFLAGS := -g
+
+-export CFLAGS
+-export LDFLAGS
++#export CFLAGS
++#export LDFLAGS
+
+ all:
+ mkdir -p bin
diff --git a/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test_git.bb b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test_git.bb
new file mode 100644
index 00000000..35fb9447
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test_git.bb
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2012 Wind River Systems, Inc.
+#
+SUMMARY = "MCE test suite"
+
+DESCRIPTION = "The MCE test suite is a collection of tools and test scripts for \
+testing the Linux RAS related features, including CPU/Memory error \
+containment and recovery, ACPI/APEI support etc."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git;protocol=git \
+ file://makefile-remove-ldflags.patch \
+ file://0001-gcov_merge.py-scov_merge.py-switch-to-python3.patch \
+ "
+SRCREV = "7643baf6c3919b3d727e6ba6c2e545dc6a653307"
+PV = "20190917+git${SRCPV}"
+
+RDEPENDS_${PN} = "mcelog mce-inject dialog bash"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+S ="${WORKDIR}/git"
+
+do_install_append(){
+ install -d ${D}/opt/mce-test
+ cp -rf ${S}/* ${D}/opt/mce-test/
+}
+
+FILES_${PN} += "/opt"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_161.bb b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_161.bb
deleted file mode 100644
index dfca3855..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_161.bb
+++ /dev/null
@@ -1,35 +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://run-ptest \
-"
-
-SRCREV = "6ed93e30f83519b0ab71f8ecd156b8ff0b2912b6"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README.md;md5=74bb47b9a68850cb398665cf78b31de6"
-
-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/external/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_168.bb b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_168.bb
new file mode 100644
index 00000000..e2ef6ea5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_168.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 = "078d593b8b0c7d44afdd439aacfad6682913038f"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://README.md;md5=74bb47b9a68850cb398665cf78b31de6"
+
+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 += "make bash mce-inject"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb b/external/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb
index 0f1548aa..44f55b58 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb
@@ -13,7 +13,7 @@ SRC_URI[md5sum] = "84412221e26505a2b3855d4a1cdcd0e0"
SRC_URI[sha256sum] = "3552262bf1bcf8e859a2a3a7adfb0367af8593383e730c492e981477aac0a0d4"
-S = "${WORKDIR}/${PN}"
+S = "${WORKDIR}/${BPN}"
do_install() {
oe_runmake install DESTDIR=${D} PREFIX=${prefix} LIB=${base_libdir}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/monit/monit/monit b/external/meta-openembedded/meta-oe/recipes-support/monit/monit/monit
new file mode 100644
index 00000000..394704e0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/monit/monit/monit
@@ -0,0 +1,42 @@
+#! /bin/sh
+#
+# This is an init script for openembedded
+# Copy it to /etc/init.d/monit and type
+# > update-rc.d monit defaults 89
+#
+monit=/usr/bin/monit
+pidfile=/var/run/monit.pid
+monit_args="-c /etc/monitrc"
+
+test -x "$monit" || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting Monit"
+ start-stop-daemon --start --quiet --exec $monit -- $monit_args
+ RETVAL=$?
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping Monit"
+ start-stop-daemon --stop --quiet --pidfile $pidfile
+ RETVAL=$?
+ echo "."
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ RETVAL=$?
+ ;;
+ status)
+ $monit $monit_args status
+ RETVAL=$?
+ echo "."
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+esac
+
+exit $RETVAL
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/monit/monit/monitrc b/external/meta-openembedded/meta-oe/recipes-support/monit/monit/monitrc
new file mode 100644
index 00000000..f8d6a438
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/monit/monit/monitrc
@@ -0,0 +1,44 @@
+###############################################################################
+## Monit control file
+###############################################################################
+##
+## Comments begin with a '#' and extend through the end of the line. Keywords
+## are case insensitive. All path's MUST BE FULLY QUALIFIED, starting with '/'.
+##
+## Below you will find examples of some frequently used statements. For
+## information about the control file and a complete list of statements and
+## options, please have a look in the Monit manual.
+##
+##
+###############################################################################
+## Global section
+###############################################################################
+##
+## Start Monit in the background (run as a daemon):
+#
+set daemon 30 # check services at 30 seconds intervals
+# with start delay 240 # optional: delay the first check by 4-minutes (by
+# # default Monit check immediately after Monit start)
+#
+#
+## Set syslog logging. If you want to log to a standalone log file instead,
+## specify the full path to the log file
+#
+set log syslog
+
+set httpd port 2812
+ allow 0.0.0.0/0 # allow localhost to connect to the server and
+ allow admin:monit # require user 'admin' with password 'monit'
+ #with ssl { # enable SSL/TLS and set path to server certificate
+ # pemfile: /etc/ssl/certs/monit.pem
+ #}
+
+###############################################################################
+## Includes
+###############################################################################
+##
+## It is possible to include additional configuration parts from other files or
+## directories.
+#
+include /etc/monit.d/*
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/monit/monit_5.26.0.bb b/external/meta-openembedded/meta-oe/recipes-support/monit/monit_5.26.0.bb
new file mode 100644
index 00000000..a954682d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/monit/monit_5.26.0.bb
@@ -0,0 +1,53 @@
+DESCRIPTION = "Monit is a free open source utility for managing and monitoring, \
+processes, programs, files, directories and filesystems on a UNIX system. \
+Monit conducts automatic maintenance and repair and can execute meaningful \
+causal actions in error situations."
+
+HOMEPAGE = "http://mmonit.com/monit/"
+
+LICENSE = "AGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea116a7defaf0e93b3bb73b2a34a3f51 \
+ file://libmonit/COPYING;md5=2405f1c59ed1bf3714cebdb40162ce92"
+
+SRC_URI = " \
+ https://mmonit.com/monit/dist/monit-${PV}.tar.gz \
+ file://monit \
+ file://monitrc \
+"
+
+SRC_URI[md5sum] = "9f7dc65e902c103e4c5891354994c3df"
+SRC_URI[sha256sum] = "87fc4568a3af9a2be89040efb169e3a2e47b262f99e78d5ddde99dd89f02f3c2"
+
+DEPENDS = "zlib bison-native libnsl2 flex-native openssl virtual/crypt"
+
+inherit autotools-brokensep systemd update-rc.d
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
+
+EXTRA_OECONF = "\
+ libmonit_cv_setjmp_available=no \
+ libmonit_cv_vsnprintf_c99_conformant=no \
+ --with-ssl-lib-dir=${STAGING_LIBDIR} \
+ --with-ssl-incl-dir=${STAGING_INCDIR} \
+"
+
+SYSTEMD_SERVICE_${PN} = "monit.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "monit"
+INITSCRIPT_PARAMS_${PN} = "defaults 89"
+
+do_install_append() {
+
+ # Configuration file
+ install -Dm 0600 ${WORKDIR}/monitrc ${D}${sysconfdir}/monitrc
+
+ # SystemD
+ install -Dm 0644 ${S}/system/startup/monit.service.in ${D}${systemd_system_unitdir}/monit.service
+ sed -i -e 's,@prefix@,${exec_prefix},g' ${D}${systemd_unitdir}/system/monit.service
+
+ # SysV
+ install -Dm 0755 ${WORKDIR}/monit ${D}${sysconfdir}/init.d/monit
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb b/external/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
new file mode 100644
index 00000000..276ad201
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Mscgen is a small program that parses Message Sequence Chart descriptions and produces PNG, SVG, EPS or server side image maps (ismaps) as the output."
+HOMEPAGE = "http://www.mcternan.me.uk/mscgen/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b1e6a340187c1cf716513439d07c1d79"
+
+SRC_URI = "http://www.mcternan.me.uk/mscgen/software/${BPN}-src-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "65c90fb5150d7176b65b793f0faa7377"
+SRC_URI[sha256sum] = "3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23"
+
+DEPENDS = "gd "
+
+inherit autotools gettext
+
+do_configure_prepend() {
+ sed -i "s#AC_PATH_PROG(GDLIB_CONFIG,gdlib-config)#AC_PATH_PROG([GDLIB_CONFIG],[gdlib-config], ,[${STAGING_BINDIR_CROSS}])#" ${S}/configure.ac
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch
new file mode 100644
index 00000000..2827bb87
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch
@@ -0,0 +1,40 @@
+From 04884263d1de8c427a7a15bd1cf6466ea65d3a0b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 25 May 2020 23:22:55 -0700
+Subject: [PATCH] add explicit dependency on libraries
+
+[snip]
+gcc/i686-overc-linux/10.1.0/ld: cannot find -lmpathpersist
+collect2: error: ld returned 1 exit status
+Makefile:36: recipe for target 'multipathd' failed
+make[1]: *** [multipathd] Error 1
+make[1]: Leaving directory 'git/multipathd'
+Makefile:29: recipe for target 'multipathd' failed
+make: *** [multipathd] Error 2
+ln -sf libmpathpersist.so.0 libmpathpersist.so
+[snip]
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index bea0a0b2..37a77129 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,7 +29,8 @@ $(BUILDDIRS):
+ $(MAKE) -C $@
+
+ multipath multipathd mpathpersist libmpathpersist : libmultipath
+-mpathpersist: libmpathpersist
++mpathpersist multipathd: libmpathpersist
++libdmmp libmultipath mpathpersist multipath multipathd: libmpathcmd
+
+ DEPS_ON_MULTIPATH := \
+ multipath \
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch
new file mode 100644
index 00000000..ac873376
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch
@@ -0,0 +1,44 @@
+From fd90d952edaa4b27e62a29fdba7a201288d440eb Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@cn.fujitsu.com>
+Date: Sun, 10 May 2020 21:22:53 +0800
+Subject: [PATCH] fix bug of do_compile and do_install
+
+when multiple processes make run in parallel,
+because of dependency error will occur.
+
+Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
+---
+ Makefile | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 1dee3680..bea0a0b2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -28,9 +28,22 @@ all: $(BUILDDIRS)
+ $(BUILDDIRS):
+ $(MAKE) -C $@
+
+-multipath multipathd mpathpersist: libmultipath
++multipath multipathd mpathpersist libmpathpersist : libmultipath
+ mpathpersist: libmpathpersist
+
++DEPS_ON_MULTIPATH := \
++ multipath \
++ libmultipath/prioritizers \
++ libmultipath/checkers \
++ libmultipath/foreign \
++ multipathd \
++ mpathpersist \
++ libmpathpersist
++
++$(DEPS_ON_MULTIPATH:=.install): libmultipath.install
++mpathpersist.install: libmpathpersist.install
++libdmmp.install libmultipath/foreign.install: mpathpersist.install
++
+ $(BUILDDIRS.clean):
+ $(MAKE) -C ${@:.clean=} clean
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-tools-add-RDAC-SUN-ArrayStorage-to-hwtable.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-tools-add-RDAC-SUN-ArrayStorage-to-hwtable.patch
deleted file mode 100644
index 1d983e97..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-tools-add-RDAC-SUN-ArrayStorage-to-hwtable.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Wed, 11 Apr 2018 15:14:13 +0200
-Subject: [PATCH] multipath-tools: add RDAC SUN/ArrayStorage to hwtable
-
-Already in scsi_dh: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/scsi/scsi_dh.c#n70
-
-Cc: NetApp RDAC team <ng-eseries-upstream-maintainers@netapp.com>
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: DM ML <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/hwtable.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
-index 88b4700..827e899 100644
---- a/libmultipath/hwtable.c
-+++ b/libmultipath/hwtable.c
-@@ -890,6 +890,18 @@ static struct hwentry default_hw[] = {
- .no_path_retry = 30,
- },
- {
-+ .vendor = "SUN",
-+ .product = "ArrayStorage",
-+ .bl_product = "Universal Xport",
-+ .pgpolicy = GROUP_BY_PRIO,
-+ .checker_name = RDAC,
-+ .features = "2 pg_init_retries 50",
-+ .hwhandler = "1 rdac",
-+ .prio_name = PRIO_RDAC,
-+ .pgfailback = -FAILBACK_IMMEDIATE,
-+ .no_path_retry = 30,
-+ },
-+ {
- /* ZFS Storage Appliances */
- .vendor = "SUN",
- .product = "(Sun Storage|ZFS Storage|COMSTAR)",
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-multipath-tools-remove-c-from-__cpluscplus-misspelle.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-multipath-tools-remove-c-from-__cpluscplus-misspelle.patch
deleted file mode 100644
index 73f000ac..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-multipath-tools-remove-c-from-__cpluscplus-misspelle.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Tue, 24 Apr 2018 15:03:40 +0200
-Subject: [PATCH] multipath-tools: remove "c" from __cpluscplus, misspelled
-
-found by cppcheck(http://cppcheck.sf.net/):
-[libmpathcmd/mpath_cmd.h:24]: (error) Invalid number of character '{' when these macros are defined: '__cpluscplus'.
-
-Cc: Benjamin Marzinski <bmarzins@redhat.com>
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: DM ML <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmpathcmd/mpath_cmd.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libmpathcmd/mpath_cmd.h b/libmpathcmd/mpath_cmd.h
-index aaa8da9..df9d938 100644
---- a/libmpathcmd/mpath_cmd.h
-+++ b/libmpathcmd/mpath_cmd.h
-@@ -20,7 +20,7 @@
- #ifndef LIB_MPATH_CMD_H
- #define LIB_MPATH_CMD_H
-
--#ifdef __cpluscplus
-+#ifdef __cplusplus
- extern "C" {
- #endif
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-multipath-tools-remove-emacs-autoconfig-of-kpartx-gp.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-multipath-tools-remove-emacs-autoconfig-of-kpartx-gp.patch
deleted file mode 100644
index 7358e1ae..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-multipath-tools-remove-emacs-autoconfig-of-kpartx-gp.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Thu, 12 Apr 2018 18:17:13 +0200
-Subject: [PATCH] multipath-tools: remove emacs autoconfig of kpartx/gpt.h
-
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: DM ML <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- kpartx/gpt.h | 19 -------------------
- 1 file changed, 19 deletions(-)
-
-diff --git a/kpartx/gpt.h b/kpartx/gpt.h
-index 66ce8f1..7bb54b7 100644
---- a/kpartx/gpt.h
-+++ b/kpartx/gpt.h
-@@ -109,22 +109,3 @@ int read_gpt_pt (int fd, struct slice all, struct slice *sp, int ns);
-
-
- #endif
--
--/*
-- * Overrides for Emacs so that we follow Linus's tabbing style.
-- * Emacs will notice this stuff at the end of the file and automatically
-- * adjust the settings for this buffer only. This must remain at the end
-- * of the file.
-- * ---------------------------------------------------------------------------
-- * Local variables:
-- * c-indent-level: 4
-- * c-brace-imaginary-offset: 0
-- * c-brace-offset: -4
-- * c-argdecl-indent: 4
-- * c-label-offset: -4
-- * c-continued-statement-offset: 4
-- * c-continued-brace-offset: 0
-- * indent-tabs-mode: nil
-- * tab-width: 8
-- * End:
-- */
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-multipath-tools-replace-FSF-address-with-a-www-point.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-multipath-tools-replace-FSF-address-with-a-www-point.patch
deleted file mode 100644
index 13f18b57..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-multipath-tools-replace-FSF-address-with-a-www-point.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Fri, 11 May 2018 15:42:43 +0200
-Subject: [PATCH] multipath-tools: replace FSF address with a www pointer
-
-Less prone to future modifications, new FSF licences
-point exactly to this url: <http://www.gnu.org/licenses/>.
-And sending a smail to FSF is outdated.
-
-First clean up was done in 5619a39c433ac3d10a88079593cec1aa6472cbeb
-
-Cc: Martin Wilck <mwilck@suse.com>
-Cc: Benjamin Marzinski <bmarzins@redhat.com>
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: DM ML <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/dm-generic.c | 4 +---
- libmultipath/dm-generic.h | 4 +---
- libmultipath/foreign.c | 4 +---
- libmultipath/foreign.h | 4 +---
- libmultipath/foreign/nvme.c | 4 +---
- libmultipath/generic.c | 4 +---
- libmultipath/generic.h | 4 +---
- tests/dmevents.c | 2 +-
- tests/parser.c | 2 +-
- tests/uevent.c | 2 +-
- tests/util.c | 2 +-
- 11 files changed, 11 insertions(+), 25 deletions(-)
-
-diff --git a/libmultipath/dm-generic.c b/libmultipath/dm-generic.c
-index bdc9ca0..d752991 100644
---- a/libmultipath/dm-generic.c
-+++ b/libmultipath/dm-generic.c
-@@ -12,9 +12,7 @@
- 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.
-+ along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
- #include <stdint.h>
-diff --git a/libmultipath/dm-generic.h b/libmultipath/dm-generic.h
-index 5d59724..986429f 100644
---- a/libmultipath/dm-generic.h
-+++ b/libmultipath/dm-generic.h
-@@ -12,9 +12,7 @@
- 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.
-+ along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- #ifndef _DM_GENERIC_H
- #define _DM_GENERIC_H
-diff --git a/libmultipath/foreign.c b/libmultipath/foreign.c
-index 7217184..80b399b 100644
---- a/libmultipath/foreign.c
-+++ b/libmultipath/foreign.c
-@@ -12,9 +12,7 @@
- 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.
-+ along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
- #include <sys/sysmacros.h>
-diff --git a/libmultipath/foreign.h b/libmultipath/foreign.h
-index 973f368..697f12f 100644
---- a/libmultipath/foreign.h
-+++ b/libmultipath/foreign.h
-@@ -12,9 +12,7 @@
- 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.
-+ along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- #ifndef _FOREIGN_H
- #define _FOREIGN_H
-diff --git a/libmultipath/foreign/nvme.c b/libmultipath/foreign/nvme.c
-index 235f75d..280b6bd 100644
---- a/libmultipath/foreign/nvme.c
-+++ b/libmultipath/foreign/nvme.c
-@@ -12,9 +12,7 @@
- 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.
-+ along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
- #include <sys/sysmacros.h>
-diff --git a/libmultipath/generic.c b/libmultipath/generic.c
-index 6f7a2cd..0d1e632 100644
---- a/libmultipath/generic.c
-+++ b/libmultipath/generic.c
-@@ -12,9 +12,7 @@
- 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.
-+ along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
-
-diff --git a/libmultipath/generic.h b/libmultipath/generic.h
-index 7f7fe66..6346ffe 100644
---- a/libmultipath/generic.h
-+++ b/libmultipath/generic.h
-@@ -12,9 +12,7 @@
- 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.
-+ along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- #ifndef _GENERIC_H
- #define _GENERIC_H
-diff --git a/tests/dmevents.c b/tests/dmevents.c
-index bba51dc..3399c81 100644
---- a/tests/dmevents.c
-+++ b/tests/dmevents.c
-@@ -12,7 +12,7 @@
- * 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
-+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-diff --git a/tests/parser.c b/tests/parser.c
-index a7e7598..29859da 100644
---- a/tests/parser.c
-+++ b/tests/parser.c
-@@ -12,7 +12,7 @@
- * 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
-+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-diff --git a/tests/uevent.c b/tests/uevent.c
-index acfcb14..b0d0bfd 100644
---- a/tests/uevent.c
-+++ b/tests/uevent.c
-@@ -12,7 +12,7 @@
- * 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
-+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-diff --git a/tests/util.c b/tests/util.c
-index 113b134..839effd 100644
---- a/tests/util.c
-+++ b/tests/util.c
-@@ -12,7 +12,7 @@
- * 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
-+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-multipath-tools-Remove-trailing-leading-whitespaces-.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-multipath-tools-Remove-trailing-leading-whitespaces-.patch
deleted file mode 100644
index 953e739e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-multipath-tools-Remove-trailing-leading-whitespaces-.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Fri, 11 May 2018 15:43:11 +0200
-Subject: [PATCH] multipath-tools: Remove trailing/leading whitespaces and
- reformat code
-
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: device-mapper development <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- Makefile.inc | 23 +++++++++++------------
- kpartx/mac.h | 2 +-
- kpartx/test-kpartx | 2 +-
- libmpathcmd/Makefile | 2 +-
- libmultipath/hwtable.c | 14 +++++++-------
- libmultipath/print.h | 2 +-
- multipathd/main.h | 6 +++---
- 7 files changed, 25 insertions(+), 26 deletions(-)
-
-diff --git a/Makefile.inc b/Makefile.inc
-index 57a1835..af2f5ba 100644
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -103,21 +103,20 @@ LDFLAGS = -Wl,-z,relro -Wl,-z,now
- BIN_LDFLAGS = -pie
-
- # Check whether a function with name $1 has been declared in header file $2.
--check_func = \
-- $(shell \
-+check_func = $(shell \
- if grep -Eq "^[^[:blank:]]+[[:blank:]]+$1[[:blank:]]*(.*)*" "$2"; then \
-- found=1; \
-- status="yes"; \
-- else \
-- found=0; \
-- status="no"; \
-- fi; \
-- echo 1>&2 "Checking for $1 in $2 ... $$status"; \
-- echo "$$found" \
-- )
-+ found=1; \
-+ status="yes"; \
-+ else \
-+ found=0; \
-+ status="no"; \
-+ fi; \
-+ echo 1>&2 "Checking for $1 in $2 ... $$status"; \
-+ echo "$$found" \
-+ )
-
- # Checker whether a file with name $1 exists
--check_file = $(shell \
-+check_file = $(shell \
- if [ -f "$1" ]; then \
- found=1; \
- status="yes"; \
-diff --git a/kpartx/mac.h b/kpartx/mac.h
-index a44cf38..55c3ec9 100644
---- a/kpartx/mac.h
-+++ b/kpartx/mac.h
-@@ -24,7 +24,7 @@ struct mac_driver_desc {
- uint16_t signature; /* expected to be MAC_DRIVER_MAGIC */
- uint16_t block_size;
- uint32_t block_count;
-- /* ... more stuff */
-+ /* ... more stuff */
- };
-
- #endif
-diff --git a/kpartx/test-kpartx b/kpartx/test-kpartx
-index 9cee20f..d2001dc 100755
---- a/kpartx/test-kpartx
-+++ b/kpartx/test-kpartx
-@@ -131,7 +131,7 @@ step "create DM devices (spans)"
- # They also serve as DM devices to test partition removal on those.
-
- TABLE="\
--0 $((SIZE/SECTSIZ-OFFS)) linear $DEV1 $OFFS
-+0 $((SIZE/SECTSIZ-OFFS)) linear $DEV1 $OFFS
- $((SIZE/SECTSIZ-OFFS)) $((SIZE/SECTSIZ-OFFS)) linear $DEV2 $OFFS"
-
- SPAN1=kpt
-diff --git a/libmpathcmd/Makefile b/libmpathcmd/Makefile
-index 53c0899..0f6b816 100644
---- a/libmpathcmd/Makefile
-+++ b/libmpathcmd/Makefile
-@@ -27,7 +27,7 @@ uninstall:
- $(RM) $(DESTDIR)$(includedir)/mpath_cmd.h
-
- clean: dep_clean
-- $(RM) core *.a *.o *.so *.so.* *.gz
-+ $(RM) core *.a *.o *.so *.so.* *.gz
-
- include $(wildcard $(OBJS:.o=.d))
-
-diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
-index 827e899..2ca6888 100644
---- a/libmultipath/hwtable.c
-+++ b/libmultipath/hwtable.c
-@@ -78,13 +78,13 @@
- #endif
-
- static struct hwentry default_hw[] = {
-- /*
-- * Generic NVMe
-- *
-- * Due to the parsing logic in find_hwe(), generic entries
-- * have to be put on top of this list, and more specific ones
-- * below.
-- */
-+ /*
-+ * Generic NVMe devices
-+ *
-+ * Due to the parsing logic in find_hwe(), generic entries
-+ * have to be put on top of this list, and more specific ones
-+ * below.
-+ */
- {
- .vendor = "NVME",
- .product = ".*",
-diff --git a/libmultipath/print.h b/libmultipath/print.h
-index 7ba6438..9b5a23a 100644
---- a/libmultipath/print.h
-+++ b/libmultipath/print.h
-@@ -113,7 +113,7 @@ int _snprint_multipath (const struct gen_multipath *, char *, int,
- const char *, int);
- #define snprint_multipath(buf, len, fmt, mp, v) \
- _snprint_multipath(dm_multipath_to_gen(mp), buf, len, fmt, v)
--int _snprint_multipath_topology (const struct gen_multipath *, char *, int,
-+int _snprint_multipath_topology (const struct gen_multipath *, char *, int,
- int verbosity);
- #define snprint_multipath_topology(buf, len, mpp, v) \
- _snprint_multipath_topology (dm_multipath_to_gen(mpp), buf, len, v)
-diff --git a/multipathd/main.h b/multipathd/main.h
-index af39558..8fd426b 100644
---- a/multipathd/main.h
-+++ b/multipathd/main.h
-@@ -29,11 +29,11 @@ int ev_remove_map (char *, char *, int, struct vectors *);
- int set_config_state(enum daemon_status);
- void * mpath_alloc_prin_response(int prin_sa);
- int prin_do_scsi_ioctl(char *, int rq_servact, struct prin_resp * resp,
-- int noisy);
-+ int noisy);
- void dumpHex(const char * , int len, int no_ascii);
- int prout_do_scsi_ioctl(char * , int rq_servact, int rq_scope,
-- unsigned int rq_type, struct prout_param_descriptor *param,
-- int noisy);
-+ unsigned int rq_type,
-+ struct prout_param_descriptor *param, int noisy);
- int mpath_pr_event_handle(struct path *pp);
- void * mpath_pr_event_handler_fn (void * );
- int update_map_pr(struct multipath *mpp);
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-multipath-tools-fix-compilation-with-musl-libc.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-multipath-tools-fix-compilation-with-musl-libc.patch
deleted file mode 100644
index c6fd5b4c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-multipath-tools-fix-compilation-with-musl-libc.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Fri, 11 May 2018 18:39:44 +0200
-Subject: [PATCH] multipath-tools: fix compilation with musl libc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In file included from alias.c:15:
-file.h:9:47: error: unknown type name ‘mode_t’; did you mean ‘time_t’?
- int ensure_directories_exist(const char *str, mode_t dir_mode);
- ^~~~~~
- time_t
-
-sysfs.c: In function ‘sysfs_is_multipathed’:
-sysfs.c:304:15: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean ‘PATH_UP’?
- char pathbuf[PATH_MAX];
- ^~~~~~~~
- PATH_UP
-
-Cc: Martin Wilck <mwilck@suse.com>
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: DM ML <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/file.h | 2 ++
- libmultipath/sysfs.c | 1 +
- 2 files changed, 3 insertions(+)
-
-diff --git a/libmultipath/file.h b/libmultipath/file.h
-index 29520c7..3c75c90 100644
---- a/libmultipath/file.h
-+++ b/libmultipath/file.h
-@@ -5,6 +5,8 @@
- #ifndef _FILE_H
- #define _FILE_H
-
-+#include <sys/stat.h>
-+
- #define FILE_TIMEOUT 30
- int ensure_directories_exist(const char *str, mode_t dir_mode);
- int open_file(const char *file, int *can_write, const char *header);
-diff --git a/libmultipath/sysfs.c b/libmultipath/sysfs.c
-index ee72e6a..16e0a73 100644
---- a/libmultipath/sysfs.c
-+++ b/libmultipath/sysfs.c
-@@ -28,6 +28,7 @@
- #include <dirent.h>
- #include <libudev.h>
- #include <fnmatch.h>
-+#include <limits.h>
-
- #include "checkers.h"
- #include "vector.h"
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-multipath-tools-add-x-to-doc-preclean.pl-and-split-m.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-multipath-tools-add-x-to-doc-preclean.pl-and-split-m.patch
deleted file mode 100644
index 9e608e16..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-multipath-tools-add-x-to-doc-preclean.pl-and-split-m.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Sun, 13 May 2018 00:39:41 +0200
-Subject: [PATCH] multipath-tools: add +x to doc-preclean.pl and split-man.pl
-
-It is not strictly necessary, but it helps identify bin files.
-
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: DM ML <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libdmmp/docs/doc-preclean.pl | 0
- libdmmp/docs/split-man.pl | 0
- 2 files changed, 0 insertions(+), 0 deletions(-)
- mode change 100644 => 100755 libdmmp/docs/doc-preclean.pl
- mode change 100644 => 100755 libdmmp/docs/split-man.pl
-
-diff --git a/libdmmp/docs/doc-preclean.pl b/libdmmp/docs/doc-preclean.pl
-old mode 100644
-new mode 100755
-diff --git a/libdmmp/docs/split-man.pl b/libdmmp/docs/split-man.pl
-old mode 100644
-new mode 100755
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch
deleted file mode 100644
index 37521587..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch
+++ /dev/null
@@ -1,784 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Sun, 13 May 2018 00:39:42 +0200
-Subject: [PATCH] multipath-tools: refresh kernel-doc from kernel sources
-
-Cc: Gris Ge <fge@redhat.com>
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: device-mapper development <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libdmmp/docs/kernel-doc | 671 ++++++++++++++++++++++++++----------------------
- 1 file changed, 368 insertions(+), 303 deletions(-)
-
-diff --git a/libdmmp/docs/kernel-doc b/libdmmp/docs/kernel-doc
-index fee8952..0057d8e 100755
---- a/libdmmp/docs/kernel-doc
-+++ b/libdmmp/docs/kernel-doc
-@@ -1,4 +1,5 @@
- #!/usr/bin/env perl
-+# SPDX-License-Identifier: GPL-2.0
-
- use warnings;
- use strict;
-@@ -328,13 +329,15 @@ my $lineprefix="";
- use constant {
- STATE_NORMAL => 0, # normal code
- STATE_NAME => 1, # looking for function name
-- STATE_FIELD => 2, # scanning field start
-- STATE_PROTO => 3, # scanning prototype
-- STATE_DOCBLOCK => 4, # documentation block
-- STATE_INLINE => 5, # gathering documentation outside main block
-+ STATE_BODY_MAYBE => 2, # body - or maybe more description
-+ STATE_BODY => 3, # the body of the comment
-+ STATE_PROTO => 4, # scanning prototype
-+ STATE_DOCBLOCK => 5, # documentation block
-+ STATE_INLINE => 6, # gathering documentation outside main block
- };
- my $state;
- my $in_doc_sect;
-+my $leading_space;
-
- # Inline documentation state
- use constant {
-@@ -363,7 +366,7 @@ my $doc_sect = $doc_com .
- my $doc_content = $doc_com_body . '(.*)';
- my $doc_block = $doc_com . 'DOC:\s*(.*)?';
- my $doc_inline_start = '^\s*/\*\*\s*$';
--my $doc_inline_sect = '\s*\*\s*(@[\w\s]+):(.*)';
-+my $doc_inline_sect = '\s*\*\s*(@\s*[\w][\w\.]*\s*):(.*)';
- my $doc_inline_end = '^\s*\*/\s*$';
- my $doc_inline_oneline = '^\s*/\*\*\s*(@[\w\s]+):\s*(.*)\s*\*/\s*$';
- my $export_symbol = '^\s*EXPORT_SYMBOL(_GPL)?\s*\(\s*(\w+)\s*\)\s*;';
-@@ -553,10 +556,9 @@ sub output_highlight {
- }
- if ($line eq ""){
- if (! $output_preformatted) {
-- print $lineprefix, local_unescape($blankline);
-+ print $lineprefix, $blankline;
- }
- } else {
-- $line =~ s/\\\\\\/\&/g;
- if ($output_mode eq "man" && substr($line, 0, 1) eq ".") {
- print "\\&$line";
- } else {
-@@ -747,17 +749,73 @@ sub output_blockhead_rst(%) {
- }
- }
-
--sub output_highlight_rst {
-- my $contents = join "\n",@_;
-- my $line;
--
-- # undo the evil effects of xml_escape() earlier
-- $contents = xml_unescape($contents);
--
-+#
-+# Apply the RST highlights to a sub-block of text.
-+#
-+sub highlight_block($) {
-+ # The dohighlight kludge requires the text be called $contents
-+ my $contents = shift;
- eval $dohighlight;
- die $@ if $@;
-+ return $contents;
-+}
-
-- foreach $line (split "\n", $contents) {
-+#
-+# Regexes used only here.
-+#
-+my $sphinx_literal = '^[^.].*::$';
-+my $sphinx_cblock = '^\.\.\ +code-block::';
-+
-+sub output_highlight_rst {
-+ my $input = join "\n",@_;
-+ my $output = "";
-+ my $line;
-+ my $in_literal = 0;
-+ my $litprefix;
-+ my $block = "";
-+
-+ foreach $line (split "\n",$input) {
-+ #
-+ # If we're in a literal block, see if we should drop out
-+ # of it. Otherwise pass the line straight through unmunged.
-+ #
-+ if ($in_literal) {
-+ if (! ($line =~ /^\s*$/)) {
-+ #
-+ # If this is the first non-blank line in a literal
-+ # block we need to figure out what the proper indent is.
-+ #
-+ if ($litprefix eq "") {
-+ $line =~ /^(\s*)/;
-+ $litprefix = '^' . $1;
-+ $output .= $line . "\n";
-+ } elsif (! ($line =~ /$litprefix/)) {
-+ $in_literal = 0;
-+ } else {
-+ $output .= $line . "\n";
-+ }
-+ } else {
-+ $output .= $line . "\n";
-+ }
-+ }
-+ #
-+ # Not in a literal block (or just dropped out)
-+ #
-+ if (! $in_literal) {
-+ $block .= $line . "\n";
-+ if (($line =~ /$sphinx_literal/) || ($line =~ /$sphinx_cblock/)) {
-+ $in_literal = 1;
-+ $litprefix = "";
-+ $output .= highlight_block($block);
-+ $block = ""
-+ }
-+ }
-+ }
-+
-+ if ($block) {
-+ $output .= highlight_block($block);
-+ }
-+ foreach $line (split "\n", $output) {
- print $lineprefix . $line . "\n";
- }
- }
-@@ -1062,7 +1120,7 @@ sub dump_struct($$) {
- # Handle bitmaps
- $arg =~ s/:\s*\d+\s*//g;
- # Handle arrays
-- $arg =~ s/\[\S+\]//g;
-+ $arg =~ s/\[.*\]//g;
- # The type may have multiple words,
- # and multiple IDs can be defined, like:
- # const struct foo, *bar, foobar
-@@ -1422,8 +1480,6 @@ sub push_parameter($$$$) {
- }
- }
-
-- $param = xml_escape($param);
--
- # strip spaces from $param so that it is one continuous string
- # on @parameterlist;
- # this fixes a problem where check_sections() cannot find
-@@ -1522,6 +1578,7 @@ sub dump_function($$) {
- $prototype =~ s/__meminit +//;
- $prototype =~ s/__must_check +//;
- $prototype =~ s/__weak +//;
-+ $prototype =~ s/__sched +//;
- my $define = $prototype =~ s/^#\s*define\s+//; #ak added
- $prototype =~ s/__attribute__\s*\(\(
- (?:
-@@ -1748,47 +1805,6 @@ sub process_proto_type($$) {
- }
- }
-
--# xml_escape: replace <, >, and & in the text stream;
--#
--# however, formatting controls that are generated internally/locally in the
--# kernel-doc script are not escaped here; instead, they begin life like
--# $blankline_html (4 of '\' followed by a mnemonic + ':'), then these strings
--# are converted to their mnemonic-expected output, without the 4 * '\' & ':',
--# just before actual output; (this is done by local_unescape())
--sub xml_escape($) {
-- my $text = shift;
-- if ($output_mode eq "man") {
-- return $text;
-- }
-- $text =~ s/\&/\\\\\\amp;/g;
-- $text =~ s/\</\\\\\\lt;/g;
-- $text =~ s/\>/\\\\\\gt;/g;
-- return $text;
--}
--
--# xml_unescape: reverse the effects of xml_escape
--sub xml_unescape($) {
-- my $text = shift;
-- if ($output_mode eq "man") {
-- return $text;
-- }
-- $text =~ s/\\\\\\amp;/\&/g;
-- $text =~ s/\\\\\\lt;/</g;
-- $text =~ s/\\\\\\gt;/>/g;
-- return $text;
--}
--
--# convert local escape strings to html
--# local escape strings look like: '\\\\menmonic:' (that's 4 backslashes)
--sub local_unescape($) {
-- my $text = shift;
-- if ($output_mode eq "man") {
-- return $text;
-- }
-- $text =~ s/\\\\\\\\lt:/</g;
-- $text =~ s/\\\\\\\\gt:/>/g;
-- return $text;
--}
-
- sub map_filename($) {
- my $file;
-@@ -1826,15 +1842,291 @@ sub process_export_file($) {
- close(IN);
- }
-
--sub process_file($) {
-- my $file;
-+#
-+# Parsers for the various processing states.
-+#
-+# STATE_NORMAL: looking for the /** to begin everything.
-+#
-+sub process_normal() {
-+ if (/$doc_start/o) {
-+ $state = STATE_NAME; # next line is always the function name
-+ $in_doc_sect = 0;
-+ $declaration_start_line = $. + 1;
-+ }
-+}
-+
-+#
-+# STATE_NAME: Looking for the "name - description" line
-+#
-+sub process_name($$) {
-+ my $file = shift;
- my $identifier;
-- my $func;
- my $descr;
-- my $in_purpose = 0;
-+
-+ if (/$doc_block/o) {
-+ $state = STATE_DOCBLOCK;
-+ $contents = "";
-+ $new_start_line = $. + 1;
-+
-+ if ( $1 eq "" ) {
-+ $section = $section_intro;
-+ } else {
-+ $section = $1;
-+ }
-+ }
-+ elsif (/$doc_decl/o) {
-+ $identifier = $1;
-+ if (/\s*([\w\s]+?)(\(\))?\s*-/) {
-+ $identifier = $1;
-+ }
-+
-+ $state = STATE_BODY;
-+ # if there's no @param blocks need to set up default section
-+ # here
-+ $contents = "";
-+ $section = $section_default;
-+ $new_start_line = $. + 1;
-+ if (/-(.*)/) {
-+ # strip leading/trailing/multiple spaces
-+ $descr= $1;
-+ $descr =~ s/^\s*//;
-+ $descr =~ s/\s*$//;
-+ $descr =~ s/\s+/ /g;
-+ $declaration_purpose = $descr;
-+ $state = STATE_BODY_MAYBE;
-+ } else {
-+ $declaration_purpose = "";
-+ }
-+
-+ if (($declaration_purpose eq "") && $verbose) {
-+ print STDERR "${file}:$.: warning: missing initial short description on line:\n";
-+ print STDERR $_;
-+ ++$warnings;
-+ }
-+
-+ if ($identifier =~ m/^struct/) {
-+ $decl_type = 'struct';
-+ } elsif ($identifier =~ m/^union/) {
-+ $decl_type = 'union';
-+ } elsif ($identifier =~ m/^enum/) {
-+ $decl_type = 'enum';
-+ } elsif ($identifier =~ m/^typedef/) {
-+ $decl_type = 'typedef';
-+ } else {
-+ $decl_type = 'function';
-+ }
-+
-+ if ($verbose) {
-+ print STDERR "${file}:$.: info: Scanning doc for $identifier\n";
-+ }
-+ } else {
-+ print STDERR "${file}:$.: warning: Cannot understand $_ on line $.",
-+ " - I thought it was a doc line\n";
-+ ++$warnings;
-+ $state = STATE_NORMAL;
-+ }
-+}
-+
-+
-+#
-+# STATE_BODY and STATE_BODY_MAYBE: the bulk of a kerneldoc comment.
-+#
-+sub process_body($$) {
-+ my $file = shift;
-+
-+ if (/$doc_sect/i) { # case insensitive for supported section names
-+ $newsection = $1;
-+ $newcontents = $2;
-+
-+ # map the supported section names to the canonical names
-+ if ($newsection =~ m/^description$/i) {
-+ $newsection = $section_default;
-+ } elsif ($newsection =~ m/^context$/i) {
-+ $newsection = $section_context;
-+ } elsif ($newsection =~ m/^returns?$/i) {
-+ $newsection = $section_return;
-+ } elsif ($newsection =~ m/^\@return$/) {
-+ # special: @return is a section, not a param description
-+ $newsection = $section_return;
-+ }
-+
-+ if (($contents ne "") && ($contents ne "\n")) {
-+ if (!$in_doc_sect && $verbose) {
-+ print STDERR "${file}:$.: warning: contents before sections\n";
-+ ++$warnings;
-+ }
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ }
-+
-+ $in_doc_sect = 1;
-+ $state = STATE_BODY;
-+ $contents = $newcontents;
-+ $new_start_line = $.;
-+ while (substr($contents, 0, 1) eq " ") {
-+ $contents = substr($contents, 1);
-+ }
-+ if ($contents ne "") {
-+ $contents .= "\n";
-+ }
-+ $section = $newsection;
-+ $leading_space = undef;
-+ } elsif (/$doc_end/) {
-+ if (($contents ne "") && ($contents ne "\n")) {
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ }
-+ # look for doc_com + <text> + doc_end:
-+ if ($_ =~ m'\s*\*\s*[a-zA-Z_0-9:\.]+\*/') {
-+ print STDERR "${file}:$.: warning: suspicious ending line: $_";
-+ ++$warnings;
-+ }
-+
-+ $prototype = "";
-+ $state = STATE_PROTO;
-+ $brcount = 0;
-+ } elsif (/$doc_content/) {
-+ # miguel-style comment kludge, look for blank lines after
-+ # @parameter line to signify start of description
-+ if ($1 eq "") {
-+ if ($section =~ m/^@/ || $section eq $section_context) {
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ $new_start_line = $.;
-+ } else {
-+ $contents .= "\n";
-+ }
-+ $state = STATE_BODY;
-+ } elsif ($state == STATE_BODY_MAYBE) {
-+ # Continued declaration purpose
-+ chomp($declaration_purpose);
-+ $declaration_purpose .= " " . $1;
-+ $declaration_purpose =~ s/\s+/ /g;
-+ } else {
-+ my $cont = $1;
-+ if ($section =~ m/^@/ || $section eq $section_context) {
-+ if (!defined $leading_space) {
-+ if ($cont =~ m/^(\s+)/) {
-+ $leading_space = $1;
-+ } else {
-+ $leading_space = "";
-+ }
-+ }
-+ $cont =~ s/^$leading_space//;
-+ }
-+ $contents .= $cont . "\n";
-+ }
-+ } else {
-+ # i dont know - bad line? ignore.
-+ print STDERR "${file}:$.: warning: bad line: $_";
-+ ++$warnings;
-+ }
-+}
-+
-+
-+#
-+# STATE_PROTO: reading a function/whatever prototype.
-+#
-+sub process_proto($$) {
-+ my $file = shift;
-+
-+ if (/$doc_inline_oneline/) {
-+ $section = $1;
-+ $contents = $2;
-+ if ($contents ne "") {
-+ $contents .= "\n";
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ }
-+ } elsif (/$doc_inline_start/) {
-+ $state = STATE_INLINE;
-+ $inline_doc_state = STATE_INLINE_NAME;
-+ } elsif ($decl_type eq 'function') {
-+ process_proto_function($_, $file);
-+ } else {
-+ process_proto_type($_, $file);
-+ }
-+}
-+
-+#
-+# STATE_DOCBLOCK: within a DOC: block.
-+#
-+sub process_docblock($$) {
-+ my $file = shift;
-+
-+ if (/$doc_end/) {
-+ dump_doc_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ $function = "";
-+ %parameterdescs = ();
-+ %parametertypes = ();
-+ @parameterlist = ();
-+ %sections = ();
-+ @sectionlist = ();
-+ $prototype = "";
-+ $state = STATE_NORMAL;
-+ } elsif (/$doc_content/) {
-+ if ( $1 eq "" ) {
-+ $contents .= $blankline;
-+ } else {
-+ $contents .= $1 . "\n";
-+ }
-+ }
-+}
-+
-+#
-+# STATE_INLINE: docbook comments within a prototype.
-+#
-+sub process_inline($$) {
-+ my $file = shift;
-+
-+ # First line (state 1) needs to be a @parameter
-+ if ($inline_doc_state == STATE_INLINE_NAME && /$doc_inline_sect/o) {
-+ $section = $1;
-+ $contents = $2;
-+ $new_start_line = $.;
-+ if ($contents ne "") {
-+ while (substr($contents, 0, 1) eq " ") {
-+ $contents = substr($contents, 1);
-+ }
-+ $contents .= "\n";
-+ }
-+ $inline_doc_state = STATE_INLINE_TEXT;
-+ # Documentation block end */
-+ } elsif (/$doc_inline_end/) {
-+ if (($contents ne "") && ($contents ne "\n")) {
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ }
-+ $state = STATE_PROTO;
-+ $inline_doc_state = STATE_INLINE_NA;
-+ # Regular text
-+ } elsif (/$doc_content/) {
-+ if ($inline_doc_state == STATE_INLINE_TEXT) {
-+ $contents .= $1 . "\n";
-+ # nuke leading blank lines
-+ if ($contents =~ /^\s*$/) {
-+ $contents = "";
-+ }
-+ } elsif ($inline_doc_state == STATE_INLINE_NAME) {
-+ $inline_doc_state = STATE_INLINE_ERROR;
-+ print STDERR "${file}:$.: warning: ";
-+ print STDERR "Incorrect use of kernel-doc format: $_";
-+ ++$warnings;
-+ }
-+ }
-+}
-+
-+
-+sub process_file($) {
-+ my $file;
- my $initial_section_counter = $section_counter;
- my ($orig_file) = @_;
-- my $leading_space;
-
- $file = map_filename($orig_file);
-
-@@ -1853,250 +2145,23 @@ sub process_file($) {
- }
- # Replace tabs by spaces
- while ($_ =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {};
-+ # Hand this line to the appropriate state handler
- if ($state == STATE_NORMAL) {
-- if (/$doc_start/o) {
-- $state = STATE_NAME; # next line is always the function name
-- $in_doc_sect = 0;
-- $declaration_start_line = $. + 1;
-- }
-- } elsif ($state == STATE_NAME) {# this line is the function name (always)
-- if (/$doc_block/o) {
-- $state = STATE_DOCBLOCK;
-- $contents = "";
-- $new_start_line = $. + 1;
--
-- if ( $1 eq "" ) {
-- $section = $section_intro;
-- } else {
-- $section = $1;
-- }
-- }
-- elsif (/$doc_decl/o) {
-- $identifier = $1;
-- if (/\s*([\w\s]+?)\s*-/) {
-- $identifier = $1;
-- }
--
-- $state = STATE_FIELD;
-- # if there's no @param blocks need to set up default section
-- # here
-- $contents = "";
-- $section = $section_default;
-- $new_start_line = $. + 1;
-- if (/-(.*)/) {
-- # strip leading/trailing/multiple spaces
-- $descr= $1;
-- $descr =~ s/^\s*//;
-- $descr =~ s/\s*$//;
-- $descr =~ s/\s+/ /g;
-- $declaration_purpose = xml_escape($descr);
-- $in_purpose = 1;
-- } else {
-- $declaration_purpose = "";
-- }
--
-- if (($declaration_purpose eq "") && $verbose) {
-- print STDERR "${file}:$.: warning: missing initial short description on line:\n";
-- print STDERR $_;
-- ++$warnings;
-- }
--
-- if ($identifier =~ m/^struct/) {
-- $decl_type = 'struct';
-- } elsif ($identifier =~ m/^union/) {
-- $decl_type = 'union';
-- } elsif ($identifier =~ m/^enum/) {
-- $decl_type = 'enum';
-- } elsif ($identifier =~ m/^typedef/) {
-- $decl_type = 'typedef';
-- } else {
-- $decl_type = 'function';
-- }
--
-- if ($verbose) {
-- print STDERR "${file}:$.: info: Scanning doc for $identifier\n";
-- }
-- } else {
-- print STDERR "${file}:$.: warning: Cannot understand $_ on line $.",
-- " - I thought it was a doc line\n";
-- ++$warnings;
-- $state = STATE_NORMAL;
-- }
-- } elsif ($state == STATE_FIELD) { # look for head: lines, and include content
-- if (/$doc_sect/i) { # case insensitive for supported section names
-- $newsection = $1;
-- $newcontents = $2;
--
-- # map the supported section names to the canonical names
-- if ($newsection =~ m/^description$/i) {
-- $newsection = $section_default;
-- } elsif ($newsection =~ m/^context$/i) {
-- $newsection = $section_context;
-- } elsif ($newsection =~ m/^returns?$/i) {
-- $newsection = $section_return;
-- } elsif ($newsection =~ m/^\@return$/) {
-- # special: @return is a section, not a param description
-- $newsection = $section_return;
-- }
--
-- if (($contents ne "") && ($contents ne "\n")) {
-- if (!$in_doc_sect && $verbose) {
-- print STDERR "${file}:$.: warning: contents before sections\n";
-- ++$warnings;
-- }
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- }
--
-- $in_doc_sect = 1;
-- $in_purpose = 0;
-- $contents = $newcontents;
-- $new_start_line = $.;
-- while (substr($contents, 0, 1) eq " ") {
-- $contents = substr($contents, 1);
-- }
-- if ($contents ne "") {
-- $contents .= "\n";
-- }
-- $section = $newsection;
-- $leading_space = undef;
-- } elsif (/$doc_end/) {
-- if (($contents ne "") && ($contents ne "\n")) {
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- }
-- # look for doc_com + <text> + doc_end:
-- if ($_ =~ m'\s*\*\s*[a-zA-Z_0-9:\.]+\*/') {
-- print STDERR "${file}:$.: warning: suspicious ending line: $_";
-- ++$warnings;
-- }
--
-- $prototype = "";
-- $state = STATE_PROTO;
-- $brcount = 0;
--# print STDERR "end of doc comment, looking for prototype\n";
-- } elsif (/$doc_content/) {
-- # miguel-style comment kludge, look for blank lines after
-- # @parameter line to signify start of description
-- if ($1 eq "") {
-- if ($section =~ m/^@/ || $section eq $section_context) {
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- $new_start_line = $.;
-- } else {
-- $contents .= "\n";
-- }
-- $in_purpose = 0;
-- } elsif ($in_purpose == 1) {
-- # Continued declaration purpose
-- chomp($declaration_purpose);
-- $declaration_purpose .= " " . xml_escape($1);
-- $declaration_purpose =~ s/\s+/ /g;
-- } else {
-- my $cont = $1;
-- if ($section =~ m/^@/ || $section eq $section_context) {
-- if (!defined $leading_space) {
-- if ($cont =~ m/^(\s+)/) {
-- $leading_space = $1;
-- } else {
-- $leading_space = "";
-- }
-- }
--
-- $cont =~ s/^$leading_space//;
-- }
-- $contents .= $cont . "\n";
-- }
-- } else {
-- # i dont know - bad line? ignore.
-- print STDERR "${file}:$.: warning: bad line: $_";
-- ++$warnings;
-- }
-+ process_normal();
-+ } elsif ($state == STATE_NAME) {
-+ process_name($file, $_);
-+ } elsif ($state == STATE_BODY || $state == STATE_BODY_MAYBE) {
-+ process_body($file, $_);
- } elsif ($state == STATE_INLINE) { # scanning for inline parameters
-- # First line (state 1) needs to be a @parameter
-- if ($inline_doc_state == STATE_INLINE_NAME && /$doc_inline_sect/o) {
-- $section = $1;
-- $contents = $2;
-- $new_start_line = $.;
-- if ($contents ne "") {
-- while (substr($contents, 0, 1) eq " ") {
-- $contents = substr($contents, 1);
-- }
-- $contents .= "\n";
-- }
-- $inline_doc_state = STATE_INLINE_TEXT;
-- # Documentation block end */
-- } elsif (/$doc_inline_end/) {
-- if (($contents ne "") && ($contents ne "\n")) {
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- }
-- $state = STATE_PROTO;
-- $inline_doc_state = STATE_INLINE_NA;
-- # Regular text
-- } elsif (/$doc_content/) {
-- if ($inline_doc_state == STATE_INLINE_TEXT) {
-- $contents .= $1 . "\n";
-- # nuke leading blank lines
-- if ($contents =~ /^\s*$/) {
-- $contents = "";
-- }
-- } elsif ($inline_doc_state == STATE_INLINE_NAME) {
-- $inline_doc_state = STATE_INLINE_ERROR;
-- print STDERR "${file}:$.: warning: ";
-- print STDERR "Incorrect use of kernel-doc format: $_";
-- ++$warnings;
-- }
-- }
-- } elsif ($state == STATE_PROTO) { # scanning for function '{' (end of prototype)
-- if (/$doc_inline_oneline/) {
-- $section = $1;
-- $contents = $2;
-- if ($contents ne "") {
-- $contents .= "\n";
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- }
-- } elsif (/$doc_inline_start/) {
-- $state = STATE_INLINE;
-- $inline_doc_state = STATE_INLINE_NAME;
-- } elsif ($decl_type eq 'function') {
-- process_proto_function($_, $file);
-- } else {
-- process_proto_type($_, $file);
-- }
-+ process_inline($file, $_);
-+ } elsif ($state == STATE_PROTO) {
-+ process_proto($file, $_);
- } elsif ($state == STATE_DOCBLOCK) {
-- if (/$doc_end/)
-- {
-- dump_doc_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- $function = "";
-- %parameterdescs = ();
-- %parametertypes = ();
-- @parameterlist = ();
-- %sections = ();
-- @sectionlist = ();
-- $prototype = "";
-- $state = STATE_NORMAL;
-- }
-- elsif (/$doc_content/)
-- {
-- if ( $1 eq "" )
-- {
-- $contents .= $blankline;
-- }
-- else
-- {
-- $contents .= $1 . "\n";
-- }
-- }
-+ process_docblock($file, $_);
- }
- }
-+
-+ # Make sure we got something interesting.
- if ($initial_section_counter == $section_counter) {
- if ($output_mode ne "none") {
- print STDERR "${file}:1: warning: no structured comments found\n";
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-configure-hitachi-ams2000-and-hus100.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-configure-hitachi-ams2000-and-hus100.patch
deleted file mode 100644
index 2cae0750..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-configure-hitachi-ams2000-and-hus100.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Mon, 14 May 2018 17:30:17 +0200
-Subject: [PATCH] multipath-tools: configure hitachi ams2000 and hus100 as full
- active arrays
-
-AMS2000 and HUS100 families are active/active arrays.
-
-Based on https://support.hitachivantara.com/download/epcra/df818913.pdf
-and internal hitachi docs.
-
-Cc: Matthias Rudolph <Matthias.Rudolph@hitachivantara.com>
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: DM-DEV ML <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/hwtable.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
-index 2ca6888..148f0ba 100644
---- a/libmultipath/hwtable.c
-+++ b/libmultipath/hwtable.c
-@@ -398,13 +398,13 @@ static struct hwentry default_hw[] = {
- * Mail : matthias.rudolph@hds.com
- */
- {
-- /* USP-V, HUS VM, VSP, VSP G1X00 and VSP GX00 families */
-+ /* USP-V, HUS VM, VSP, VSP G1X00 and VSP GX00 families / HP XP */
- .vendor = "(HITACHI|HP)",
- .product = "^OPEN-",
- .pgpolicy = MULTIBUS,
- },
- {
-- /* AMS 2000 and HUS 100 families */
-+ /* AMS other than AMS 2000 */
- .vendor = "HITACHI",
- .product = "^DF",
- .no_path_retry = NO_PATH_RETRY_QUEUE,
-@@ -412,6 +412,12 @@ static struct hwentry default_hw[] = {
- .pgfailback = -FAILBACK_IMMEDIATE,
- .prio_name = PRIO_HDS,
- },
-+ {
-+ /* AMS 2000 and HUS 100 families */
-+ .vendor = "HITACHI",
-+ .product = "^DF600F",
-+ .pgpolicy = MULTIBUS,
-+ },
- /*
- * IBM
- *
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-libmultipath-don-t-reject-maps-with-undefined-prio.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-libmultipath-don-t-reject-maps-with-undefined-prio.patch
deleted file mode 100644
index 2dda2eda..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-libmultipath-don-t-reject-maps-with-undefined-prio.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Martin Wilck <mwilck@suse.com>
-Date: Wed, 21 Mar 2018 10:34:18 +0100
-Subject: [PATCH] libmultipath: don't reject maps with undefined prio
-
-libmultipath's prio routines can deal with pp->priority == PRIO_UNDEF
-just fine. PRIO_UNDEF is just a very low priority. So there's
-no reason to reject setting up a multipath map because paths have
-undefined priority.
-
-Signed-off-by: Martin Wilck <mwilck@suse.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/configure.c | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/libmultipath/configure.c b/libmultipath/configure.c
-index 5796683..5c54f9b 100644
---- a/libmultipath/configure.c
-+++ b/libmultipath/configure.c
-@@ -1063,9 +1063,6 @@ int coalesce_paths (struct vectors * vecs, vector newmp, char * refwwid,
- continue;
- }
-
-- if (pp1->priority == PRIO_UNDEF)
-- mpp->action = ACT_REJECT;
--
- if (!mpp->paths) {
- condlog(0, "%s: skip coalesce (no paths)", mpp->alias);
- remove_map(mpp, vecs, 0);
-@@ -1091,8 +1088,6 @@ int coalesce_paths (struct vectors * vecs, vector newmp, char * refwwid,
- mpp->size);
- mpp->action = ACT_REJECT;
- }
-- if (pp2->priority == PRIO_UNDEF)
-- mpp->action = ACT_REJECT;
- }
- verify_paths(mpp, vecs);
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-handle-errors-in-uxlsnr-as-fatal.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-handle-errors-in-uxlsnr-as-fatal.patch
deleted file mode 100644
index 96a814ff..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-handle-errors-in-uxlsnr-as-fatal.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Martin Wilck <mwilck@suse.com>
-Date: Wed, 21 Mar 2018 10:34:19 +0100
-Subject: [PATCH] multipathd: handle errors in uxlsnr as fatal
-
-The ppoll() calls of the uxlsnr thread are vital for proper functioning of
-multipathd. If the uxlsnr thread can't open the socket or fails to call ppoll()
-for other reasons, quit the daemon. If we don't do that, multipathd may
-hang in a state where it can't be terminated any more, because the uxlsnr
-thread is responsible for handling all signals. This happens e.g. if
-systemd's multipathd.socket is running in and multipathd is started from
-outside systemd.
-
-24f2844 "multipathd: fix signal blocking logic" has made this problem more
-severe. Before that patch, the signals weren't actually blocked in any thread.
-That's not to say 24f2844 was wrong. I still think it's correct, we just
-need this one on top.
-
-Signed-off-by: Martin Wilck <mwilck@suse.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- multipathd/uxlsnr.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/multipathd/uxlsnr.c b/multipathd/uxlsnr.c
-index cdafd82..6f66666 100644
---- a/multipathd/uxlsnr.c
-+++ b/multipathd/uxlsnr.c
-@@ -178,7 +178,7 @@ void * uxsock_listen(uxsock_trigger_fn uxsock_trigger, void * trigger_data)
-
- if (ux_sock == -1) {
- condlog(1, "could not create uxsock: %d", errno);
-- return NULL;
-+ exit_daemon();
- }
-
- pthread_cleanup_push(uxsock_cleanup, (void *)ux_sock);
-@@ -187,7 +187,7 @@ void * uxsock_listen(uxsock_trigger_fn uxsock_trigger, void * trigger_data)
- polls = (struct pollfd *)MALLOC((MIN_POLLS + 1) * sizeof(struct pollfd));
- if (!polls) {
- condlog(0, "uxsock: failed to allocate poll fds");
-- return NULL;
-+ exit_daemon();
- }
- sigfillset(&mask);
- sigdelset(&mask, SIGINT);
-@@ -249,6 +249,7 @@ void * uxsock_listen(uxsock_trigger_fn uxsock_trigger, void * trigger_data)
-
- /* something went badly wrong! */
- condlog(0, "uxsock: poll failed with %d", errno);
-+ exit_daemon();
- break;
- }
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-libmultipath-fix-error-parsing-find_multipaths-stric.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-libmultipath-fix-error-parsing-find_multipaths-stric.patch
deleted file mode 100644
index 8ce2431d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-libmultipath-fix-error-parsing-find_multipaths-stric.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Martin Wilck <mwilck@suse.com>
-Date: Tue, 15 May 2018 14:32:44 +0200
-Subject: [PATCH] libmultipath: fix error parsing "find_multipaths strict"
-
-If "find_multipaths strict" is set in multipath.conf, the error message
-"illegal value for find_multipaths: strict" is printed. This causes no
-functional problem, as "strict" happens to be the default, fallback
-value. It should be fixed nonetheless. FIND_MULTIPATHS_STRICT, having
-the highest numeric value, must be last in the enum.
-
-Fixes: c36f2f42 "libmultipath: change find_multipaths option to multi-value"
-Signed-off-by: Martin Wilck <mwilck@suse.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/structs.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libmultipath/structs.h b/libmultipath/structs.h
-index eb6a178..e424b15 100644
---- a/libmultipath/structs.h
-+++ b/libmultipath/structs.h
-@@ -122,9 +122,9 @@ enum find_multipaths_states {
- FIND_MULTIPATHS_UNDEF = YNU_UNDEF,
- FIND_MULTIPATHS_OFF = YNU_NO,
- FIND_MULTIPATHS_ON = _FIND_MULTIPATHS_F,
-- FIND_MULTIPATHS_STRICT = _FIND_MULTIPATHS_F|_FIND_MULTIPATHS_N,
- FIND_MULTIPATHS_GREEDY = _FIND_MULTIPATHS_I,
- FIND_MULTIPATHS_SMART = _FIND_MULTIPATHS_F|_FIND_MULTIPATHS_I,
-+ FIND_MULTIPATHS_STRICT = _FIND_MULTIPATHS_F|_FIND_MULTIPATHS_N,
- __FIND_MULTIPATHS_LAST,
- };
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-libmultipath-print-correct-default-for-delay_-_check.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-libmultipath-print-correct-default-for-delay_-_check.patch
deleted file mode 100644
index c767804d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-libmultipath-print-correct-default-for-delay_-_check.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Mon, 7 May 2018 17:16:05 -0500
-Subject: [PATCH] libmultipath: print correct default for delay_*_checks
-
-These options default to "no", so they should display that when the
-config is printed.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/dict.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/libmultipath/dict.c b/libmultipath/dict.c
-index 4040611..3e7c5d6 100644
---- a/libmultipath/dict.c
-+++ b/libmultipath/dict.c
-@@ -1115,7 +1115,8 @@ print_off_int_undef(char * buff, int len, long v)
- }
-
- declare_def_handler(delay_watch_checks, set_off_int_undef)
--declare_def_snprint(delay_watch_checks, print_off_int_undef)
-+declare_def_snprint_defint(delay_watch_checks, print_off_int_undef,
-+ DEFAULT_DELAY_CHECKS)
- declare_ovr_handler(delay_watch_checks, set_off_int_undef)
- declare_ovr_snprint(delay_watch_checks, print_off_int_undef)
- declare_hw_handler(delay_watch_checks, set_off_int_undef)
-@@ -1123,7 +1124,8 @@ declare_hw_snprint(delay_watch_checks, print_off_int_undef)
- declare_mp_handler(delay_watch_checks, set_off_int_undef)
- declare_mp_snprint(delay_watch_checks, print_off_int_undef)
- declare_def_handler(delay_wait_checks, set_off_int_undef)
--declare_def_snprint(delay_wait_checks, print_off_int_undef)
-+declare_def_snprint_defint(delay_wait_checks, print_off_int_undef,
-+ DEFAULT_DELAY_CHECKS)
- declare_ovr_handler(delay_wait_checks, set_off_int_undef)
- declare_ovr_snprint(delay_wait_checks, print_off_int_undef)
- declare_hw_handler(delay_wait_checks, set_off_int_undef)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-multipath.conf.5-clarify-property-whitelist-handling.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-multipath.conf.5-clarify-property-whitelist-handling.patch
deleted file mode 100644
index 0ab4e067..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-multipath.conf.5-clarify-property-whitelist-handling.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Wed, 9 May 2018 14:32:59 -0500
-Subject: [PATCH] multipath.conf.5: clarify property whitelist handling
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- multipath/multipath.conf.5 | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
-index f689795..96d1b66 100644
---- a/multipath/multipath.conf.5
-+++ b/multipath/multipath.conf.5
-@@ -1181,10 +1181,9 @@ and
- keywords. For a full description of these keywords please see the \fIdevices\fR
- section description.
- .LP
--The \fIproperty\fR blacklist and whitelist handling is different from the usual
--handling in the sense that the whitelist \fIhas\fR to be set, otherwise the
--device will be blacklisted. In these cases the message \fIblacklisted, udev
--property missing\fR will be displayed.
-+The \fIproperty\fR whitelist handling is different from the usual
-+handling in the sense that the device \fIhas\fR to have a udev property that
-+matches the whitelist, otherwise the device will be blacklisted. In these cases the message \fIblacklisted, udev property missing\fR will be displayed.
- .
- .
- .\" ----------------------------------------------------------------------------
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0015-mpathpersist-add-all_tg_pt-option.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0015-mpathpersist-add-all_tg_pt-option.patch
deleted file mode 100644
index be2681d7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0015-mpathpersist-add-all_tg_pt-option.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Thu, 31 May 2018 17:47:11 -0500
-Subject: [PATCH] mpathpersist: add all_tg_pt option
-
-Some arrays, such as the EMC VNX, don't follow the scsi persistent
-reservations spec in making key registrations per I_T NEXUS. Instead,
-the registration is shared by all target ports connected to a given
-host. This causes mpathpersist to fail whenever it tries to register a
-key, since it will receive a registration conflict on some of the paths.
-
-To deal with this, mpathpersist needs to track the hosts that it has
-done a registration on, and only register once per host. The new
-"all_tg_pt" multipath.conf option is used to set which arrays need this
-feature. I currently don't know if all EMC VNX arrays handle persistent
-reservations like this, or if it is configurable. A future patch will
-update the VNX built-in config, if this is indeed their default (or
-only) setting.
-
-Multipathd doesn't need to worry about this. It is often the case that
-when a path device comes back, it will still have the keys registered to
-it. Because of this, multipathd uses register-and-ignore, which means
-that it won't cause an error if the registration has already happened
-down a different target port.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmpathpersist/mpath_persist.c | 28 ++++++++++++++++++++++------
- libmultipath/config.c | 2 ++
- libmultipath/config.h | 2 ++
- libmultipath/defaults.h | 1 +
- libmultipath/dict.c | 10 ++++++++++
- libmultipath/propsel.c | 15 +++++++++++++++
- libmultipath/propsel.h | 1 +
- libmultipath/structs.h | 7 +++++++
- multipath/multipath.conf.5 | 11 +++++++++++
- 9 files changed, 71 insertions(+), 6 deletions(-)
-
-diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c
-index 907a17c..ca91c55 100644
---- a/libmpathpersist/mpath_persist.c
-+++ b/libmpathpersist/mpath_persist.c
-@@ -335,6 +335,7 @@ int mpath_persistent_reserve_out ( int fd, int rq_servact, int rq_scope,
-
- conf = get_multipath_config();
- select_reservation_key(conf, mpp);
-+ select_all_tg_pt(conf, mpp);
- put_multipath_config(conf);
-
- memcpy(&prkey, paramp->sa_key, 8);
-@@ -456,7 +457,7 @@ int mpath_prout_reg(struct multipath *mpp,int rq_servact, int rq_scope,
- unsigned int rq_type, struct prout_param_descriptor * paramp, int noisy)
- {
-
-- int i, j;
-+ int i, j, k;
- struct pathgroup *pgp = NULL;
- struct path *pp = NULL;
- int rollback = 0;
-@@ -481,11 +482,13 @@ int mpath_prout_reg(struct multipath *mpp,int rq_servact, int rq_scope,
- }
-
- struct threadinfo thread[active_pathcount];
-+ int hosts[active_pathcount];
-
- memset(thread, 0, sizeof(thread));
-
- /* init thread parameter */
- for (i =0; i< active_pathcount; i++){
-+ hosts[i] = -1;
- thread[i].param.rq_servact = rq_servact;
- thread[i].param.rq_scope = rq_scope;
- thread[i].param.rq_type = rq_type;
-@@ -514,6 +517,17 @@ int mpath_prout_reg(struct multipath *mpp,int rq_servact, int rq_scope,
- condlog (1, "%s: %s path not up. Skip.", mpp->wwid, pp->dev);
- continue;
- }
-+ if (mpp->all_tg_pt == ALL_TG_PT_ON &&
-+ pp->sg_id.host_no != -1) {
-+ for (k = 0; k < count; k++) {
-+ if (pp->sg_id.host_no == hosts[k]) {
-+ condlog(3, "%s: %s host %d matches skip.", pp->wwid, pp->dev, pp->sg_id.host_no);
-+ break;
-+ }
-+ }
-+ if (k < count)
-+ continue;
-+ }
- strncpy(thread[count].param.dev, pp->dev,
- FILE_NAME_SIZE - 1);
-
-@@ -531,10 +545,12 @@ int mpath_prout_reg(struct multipath *mpp,int rq_servact, int rq_scope,
- condlog (0, "%s: failed to create thread %d", mpp->wwid, rc);
- thread[count].param.status = MPATH_PR_THREAD_ERROR;
- }
-+ else
-+ hosts[count] = pp->sg_id.host_no;
- count = count + 1;
- }
- }
-- for( i=0; i < active_pathcount ; i++){
-+ for( i=0; i < count ; i++){
- if (thread[i].param.status != MPATH_PR_THREAD_ERROR) {
- rc = pthread_join(thread[i].id, NULL);
- if (rc){
-@@ -557,7 +573,7 @@ int mpath_prout_reg(struct multipath *mpp,int rq_servact, int rq_scope,
- }
- if (rollback && ((rq_servact == MPATH_PROUT_REG_SA) && sa_key != 0 )){
- condlog (3, "%s: ERROR: initiating pr out rollback", mpp->wwid);
-- for( i=0 ; i < active_pathcount ; i++){
-+ for( i=0 ; i < count ; i++){
- if(thread[i].param.status == MPATH_PR_SUCCESS) {
- memcpy(&thread[i].param.paramp->key, &thread[i].param.paramp->sa_key, 8);
- memset(&thread[i].param.paramp->sa_key, 0, 8);
-@@ -571,7 +587,7 @@ int mpath_prout_reg(struct multipath *mpp,int rq_servact, int rq_scope,
- } else
- thread[i].param.status = MPATH_PR_SKIP;
- }
-- for(i=0; i < active_pathcount ; i++){
-+ for(i=0; i < count ; i++){
- if (thread[i].param.status != MPATH_PR_SKIP &&
- thread[i].param.status != MPATH_PR_THREAD_ERROR) {
- rc = pthread_join(thread[i].id, NULL);
-@@ -720,7 +736,7 @@ int mpath_prout_rel(struct multipath *mpp,int rq_servact, int rq_scope,
- }
- }
- pthread_attr_destroy (&attr);
-- for (i = 0; i < active_pathcount; i++){
-+ for (i = 0; i < count; i++){
- if (thread[i].param.status != MPATH_PR_THREAD_ERROR) {
- rc = pthread_join (thread[i].id, NULL);
- if (rc){
-@@ -729,7 +745,7 @@ int mpath_prout_rel(struct multipath *mpp,int rq_servact, int rq_scope,
- }
- }
-
-- for (i = 0; i < active_pathcount; i++){
-+ for (i = 0; i < count; i++){
- /* check thread status here and return the status */
-
- if (thread[i].param.status == MPATH_PR_RESERV_CONFLICT)
-diff --git a/libmultipath/config.c b/libmultipath/config.c
-index 085a3e1..5872927 100644
---- a/libmultipath/config.c
-+++ b/libmultipath/config.c
-@@ -352,6 +352,7 @@ merge_hwe (struct hwentry * dst, struct hwentry * src)
- merge_num(skip_kpartx);
- merge_num(max_sectors_kb);
- merge_num(ghost_delay);
-+ merge_num(all_tg_pt);
-
- snprintf(id, sizeof(id), "%s/%s", dst->vendor, dst->product);
- reconcile_features_with_options(id, &dst->features,
-@@ -622,6 +623,7 @@ load_config (char * file)
- conf->disable_changed_wwids = DEFAULT_DISABLE_CHANGED_WWIDS;
- conf->remove_retries = 0;
- conf->ghost_delay = DEFAULT_GHOST_DELAY;
-+ conf->all_tg_pt = DEFAULT_ALL_TG_PT;
-
- /*
- * preload default hwtable
-diff --git a/libmultipath/config.h b/libmultipath/config.h
-index 6e69a37..1bf708a 100644
---- a/libmultipath/config.h
-+++ b/libmultipath/config.h
-@@ -82,6 +82,7 @@ struct hwentry {
- int skip_kpartx;
- int max_sectors_kb;
- int ghost_delay;
-+ int all_tg_pt;
- char * bl_product;
- };
-
-@@ -194,6 +195,7 @@ struct config {
- char * partition_delim;
- char * config_dir;
- int prkey_source;
-+ int all_tg_pt;
- struct be64 reservation_key;
-
- vector keywords;
-diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
-index d7b87b4..f076b4b 100644
---- a/libmultipath/defaults.h
-+++ b/libmultipath/defaults.h
-@@ -43,6 +43,7 @@
- #define DEFAULT_GHOST_DELAY GHOST_DELAY_OFF
- #define DEFAULT_FIND_MULTIPATHS_TIMEOUT -10
- #define DEFAULT_UNKNOWN_FIND_MULTIPATHS_TIMEOUT 1
-+#define DEFAULT_ALL_TG_PT ALL_TG_PT_OFF
-
- #define DEFAULT_CHECKINT 5
- #define MAX_CHECKINT(a) (a << 2)
-diff --git a/libmultipath/dict.c b/libmultipath/dict.c
-index 3e7c5d6..2557b8a 100644
---- a/libmultipath/dict.c
-+++ b/libmultipath/dict.c
-@@ -1178,6 +1178,13 @@ declare_hw_snprint(ghost_delay, print_off_int_undef)
- declare_mp_handler(ghost_delay, set_off_int_undef)
- declare_mp_snprint(ghost_delay, print_off_int_undef)
-
-+declare_def_handler(all_tg_pt, set_yes_no_undef)
-+declare_def_snprint_defint(all_tg_pt, print_yes_no_undef, DEFAULT_ALL_TG_PT)
-+declare_ovr_handler(all_tg_pt, set_yes_no_undef)
-+declare_ovr_snprint(all_tg_pt, print_yes_no_undef)
-+declare_hw_handler(all_tg_pt, set_yes_no_undef)
-+declare_hw_snprint(all_tg_pt, print_yes_no_undef)
-+
-
- static int
- def_uxsock_timeout_handler(struct config *conf, vector strvec)
-@@ -1509,6 +1516,7 @@ init_keywords(vector keywords)
- install_keyword("prkeys_file", &def_prkeys_file_handler, &snprint_def_prkeys_file);
- install_keyword("log_checker_err", &def_log_checker_err_handler, &snprint_def_log_checker_err);
- install_keyword("reservation_key", &def_reservation_key_handler, &snprint_def_reservation_key);
-+ install_keyword("all_tg_pt", &def_all_tg_pt_handler, &snprint_def_all_tg_pt);
- install_keyword("retain_attached_hw_handler", &def_retain_hwhandler_handler, &snprint_def_retain_hwhandler);
- install_keyword("detect_prio", &def_detect_prio_handler, &snprint_def_detect_prio);
- install_keyword("detect_checker", &def_detect_checker_handler, &snprint_def_detect_checker);
-@@ -1618,6 +1626,7 @@ init_keywords(vector keywords)
- install_keyword("skip_kpartx", &hw_skip_kpartx_handler, &snprint_hw_skip_kpartx);
- install_keyword("max_sectors_kb", &hw_max_sectors_kb_handler, &snprint_hw_max_sectors_kb);
- install_keyword("ghost_delay", &hw_ghost_delay_handler, &snprint_hw_ghost_delay);
-+ install_keyword("all_tg_pt", &hw_all_tg_pt_handler, &snprint_hw_all_tg_pt);
- install_sublevel_end();
-
- install_keyword_root("overrides", &overrides_handler);
-@@ -1654,6 +1663,7 @@ init_keywords(vector keywords)
- install_keyword("skip_kpartx", &ovr_skip_kpartx_handler, &snprint_ovr_skip_kpartx);
- install_keyword("max_sectors_kb", &ovr_max_sectors_kb_handler, &snprint_ovr_max_sectors_kb);
- install_keyword("ghost_delay", &ovr_ghost_delay_handler, &snprint_ovr_ghost_delay);
-+ install_keyword("all_tg_pt", &ovr_all_tg_pt_handler, &snprint_ovr_all_tg_pt);
-
- install_keyword_root("multipaths", &multipaths_handler);
- install_keyword_multi("multipath", &multipath_handler, NULL);
-diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c
-index 627d366..9ca1355 100644
---- a/libmultipath/propsel.c
-+++ b/libmultipath/propsel.c
-@@ -978,3 +978,18 @@ out:
- pp->dev, pp->find_multipaths_timeout, origin);
- return 0;
- }
-+
-+int select_all_tg_pt (struct config *conf, struct multipath * mp)
-+{
-+ const char *origin;
-+
-+ mp_set_ovr(all_tg_pt);
-+ mp_set_hwe(all_tg_pt);
-+ mp_set_conf(all_tg_pt);
-+ mp_set_default(all_tg_pt, DEFAULT_ALL_TG_PT);
-+out:
-+ condlog(3, "%s: all_tg_pt = %s %s", mp->alias,
-+ (mp->all_tg_pt == ALL_TG_PT_ON)? "yes" : "no",
-+ origin);
-+ return 0;
-+}
-diff --git a/libmultipath/propsel.h b/libmultipath/propsel.h
-index a022bee..ae99b92 100644
---- a/libmultipath/propsel.h
-+++ b/libmultipath/propsel.h
-@@ -34,3 +34,4 @@ int select_ghost_delay(struct config *conf, struct multipath * mp);
- void reconcile_features_with_options(const char *id, char **features,
- int* no_path_retry,
- int *retain_hwhandler);
-+int select_all_tg_pt (struct config *conf, struct multipath * mp);
-diff --git a/libmultipath/structs.h b/libmultipath/structs.h
-index e424b15..0194b1e 100644
---- a/libmultipath/structs.h
-+++ b/libmultipath/structs.h
-@@ -217,6 +217,12 @@ enum prkey_sources {
- PRKEY_SOURCE_FILE,
- };
-
-+enum all_tg_pt_states {
-+ ALL_TG_PT_UNDEF = YNU_UNDEF,
-+ ALL_TG_PT_OFF = YNU_NO,
-+ ALL_TG_PT_ON = YNU_YES,
-+};
-+
- struct sg_id {
- int host_no;
- int channel;
-@@ -362,6 +368,7 @@ struct multipath {
- int prkey_source;
- struct be64 reservation_key;
- unsigned char prflag;
-+ int all_tg_pt;
- struct gen_multipath generic_mp;
- };
-
-diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
-index 96d1b66..0c1f174 100644
---- a/multipath/multipath.conf.5
-+++ b/multipath/multipath.conf.5
-@@ -743,6 +743,17 @@ The default is: \fB<unset>\fR
- .
- .
- .TP
-+.B all_tg_pt
-+This must be set to \fByes\fR to successfully use mpathpersist on arrays that
-+automatically set and clear registration keys on all target ports from a
-+host, instead of per target port per host.
-+.RS
-+.TP
-+The default is: \fBno\fR
-+.RE
-+.
-+.
-+.TP
- .B retain_attached_hw_handler
- (Obsolete for kernels >= 4.3) If set to
- .I yes
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0016-libmultipath-remove-rbd-code.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0016-libmultipath-remove-rbd-code.patch
deleted file mode 100644
index 8d195472..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0016-libmultipath-remove-rbd-code.patch
+++ /dev/null
@@ -1,1093 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Fri, 1 Jun 2018 16:30:44 -0500
-Subject: [PATCH] libmultipath: remove rbd code
-
-The Ceph tean has asked to drop support for multipathed rbd, since it
-was running into data corruption issues. There was never an upstream
-Ceph release based on it, and because of the corruption, there should be
-no users of this code. This patch simply reverts all the rbd code from
-multipath.
-
-Cc: Michael Christie <mchristi@redhat.com>
-Cc: Jason Dillaman <dillaman@redhat.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/checkers.c | 22 --
- libmultipath/checkers.h | 6 -
- libmultipath/checkers/Makefile | 7 -
- libmultipath/checkers/cciss_tur.c | 5 -
- libmultipath/checkers/directio.c | 5 -
- libmultipath/checkers/emc_clariion.c | 5 -
- libmultipath/checkers/hp_sw.c | 5 -
- libmultipath/checkers/rbd.c | 653 -----------------------------------
- libmultipath/checkers/rdac.c | 5 -
- libmultipath/checkers/readsector0.c | 5 -
- libmultipath/checkers/tur.c | 5 -
- libmultipath/discovery.c | 70 ----
- libmultipath/hwtable.c | 12 -
- multipath/multipath.conf.5 | 3 -
- multipathd/main.c | 11 -
- 15 files changed, 819 deletions(-)
- delete mode 100644 libmultipath/checkers/rbd.c
-
-diff --git a/libmultipath/checkers.c b/libmultipath/checkers.c
-index 08cdfc3..0bacc86 100644
---- a/libmultipath/checkers.c
-+++ b/libmultipath/checkers.c
-@@ -141,13 +141,6 @@ struct checker * add_checker (char *multipath_dir, char * name)
- if (!c->free)
- goto out;
-
-- c->repair = (void (*)(struct checker *)) dlsym(c->handle,
-- "libcheck_repair");
-- errstr = dlerror();
-- if (errstr != NULL)
-- condlog(0, "A dynamic linking error occurred: (%s)", errstr);
-- if (!c->repair)
-- goto out;
- done:
- c->fd = -1;
- c->sync = 1;
-@@ -222,20 +215,6 @@ void checker_put (struct checker * dst)
- free_checker(src);
- }
-
--void checker_repair (struct checker * c)
--{
-- if (!checker_selected(c))
-- return;
--
-- c->message[0] = '\0';
-- if (c->disable) {
-- MSG(c, "checker disabled");
-- return;
-- }
-- if (c->repair)
-- c->repair(c);
--}
--
- int checker_check (struct checker * c, int path_state)
- {
- int r;
-@@ -310,7 +289,6 @@ void checker_get (char *multipath_dir, struct checker * dst, char * name)
- dst->sync = src->sync;
- strncpy(dst->name, src->name, CHECKER_NAME_LEN);
- strncpy(dst->message, src->message, CHECKER_MSG_LEN);
-- dst->repair = src->repair;
- dst->check = src->check;
- dst->init = src->init;
- dst->free = src->free;
-diff --git a/libmultipath/checkers.h b/libmultipath/checkers.h
-index 52154ca..7b18a1a 100644
---- a/libmultipath/checkers.h
-+++ b/libmultipath/checkers.h
-@@ -86,7 +86,6 @@ enum path_check_state {
- #define READSECTOR0 "readsector0"
- #define CCISS_TUR "cciss_tur"
- #define NONE "none"
--#define RBD "rbd"
-
- #define ASYNC_TIMEOUT_SEC 30
-
-@@ -113,9 +112,6 @@ struct checker {
- multipath-wide. Use MALLOC if
- you want to stuff data in. */
- int (*check)(struct checker *);
-- void (*repair)(struct checker *); /* called if check returns
-- PATH_DOWN to bring path into
-- usable state */
- int (*init)(struct checker *); /* to allocate the context */
- void (*free)(struct checker *); /* to free the context */
- };
-@@ -136,7 +132,6 @@ void checker_set_async (struct checker *);
- void checker_set_fd (struct checker *, int);
- void checker_enable (struct checker *);
- void checker_disable (struct checker *);
--void checker_repair (struct checker *);
- int checker_check (struct checker *, int);
- int checker_selected (struct checker *);
- char * checker_name (struct checker *);
-@@ -148,6 +143,5 @@ void checker_get (char *, struct checker *, char *);
- int libcheck_check(struct checker *);
- int libcheck_init(struct checker *);
- void libcheck_free(struct checker *);
--void libcheck_repair(struct checker *);
-
- #endif /* _CHECKERS_H */
-diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile
-index 87c15bd..02caea6 100644
---- a/libmultipath/checkers/Makefile
-+++ b/libmultipath/checkers/Makefile
-@@ -15,15 +15,8 @@ LIBS= \
- libcheckhp_sw.so \
- libcheckrdac.so
-
--ifneq ($(call check_file,/usr/include/rados/librados.h),0)
--LIBS += libcheckrbd.so
--endif
--
- all: $(LIBS)
-
--libcheckrbd.so: rbd.o
-- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^ -lrados -ludev
--
- libcheckdirectio.so: libsg.o directio.o
- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^ -laio
-
-diff --git a/libmultipath/checkers/cciss_tur.c b/libmultipath/checkers/cciss_tur.c
-index 436470c..1cab201 100644
---- a/libmultipath/checkers/cciss_tur.c
-+++ b/libmultipath/checkers/cciss_tur.c
-@@ -59,11 +59,6 @@ void libcheck_free (struct checker * c)
- return;
- }
-
--void libcheck_repair (struct checker * c)
--{
-- return;
--}
--
- int libcheck_check(struct checker * c)
- {
- int rc;
-diff --git a/libmultipath/checkers/directio.c b/libmultipath/checkers/directio.c
-index ce60e4c..a80848d 100644
---- a/libmultipath/checkers/directio.c
-+++ b/libmultipath/checkers/directio.c
-@@ -118,11 +118,6 @@ void libcheck_free (struct checker * c)
- free(ct);
- }
-
--void libcheck_repair (struct checker * c)
--{
-- return;
--}
--
- static int
- check_state(int fd, struct directio_context *ct, int sync, int timeout_secs)
- {
-diff --git a/libmultipath/checkers/emc_clariion.c b/libmultipath/checkers/emc_clariion.c
-index 9c1ffed..9115b1b 100644
---- a/libmultipath/checkers/emc_clariion.c
-+++ b/libmultipath/checkers/emc_clariion.c
-@@ -90,11 +90,6 @@ void libcheck_free (struct checker * c)
- free(c->context);
- }
-
--void libcheck_repair (struct checker * c)
--{
-- return;
--}
--
- int libcheck_check (struct checker * c)
- {
- unsigned char sense_buffer[128] = { 0, };
-diff --git a/libmultipath/checkers/hp_sw.c b/libmultipath/checkers/hp_sw.c
-index cee9aab..0ad34a6 100644
---- a/libmultipath/checkers/hp_sw.c
-+++ b/libmultipath/checkers/hp_sw.c
-@@ -45,11 +45,6 @@ void libcheck_free (struct checker * c)
- return;
- }
-
--void libcheck_repair (struct checker * c)
--{
-- return;
--}
--
- static int
- do_inq(int sg_fd, int cmddt, int evpd, unsigned int pg_op,
- void *resp, int mx_resp_len, int noisy, unsigned int timeout)
-diff --git a/libmultipath/checkers/rbd.c b/libmultipath/checkers/rbd.c
-deleted file mode 100644
-index 4ff54f4..0000000
---- a/libmultipath/checkers/rbd.c
-+++ /dev/null
-@@ -1,653 +0,0 @@
--/*
-- * Copyright (c) 2016 Red Hat
-- * Copyright (c) 2004 Christophe Varoqui
-- *
-- * Code based off of tur.c and ceph's krbd.cc
-- */
--#define _GNU_SOURCE
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <unistd.h>
--#include <fcntl.h>
--#include <errno.h>
--#include <pthread.h>
--#include <libudev.h>
--#include <ifaddrs.h>
--#include <sys/types.h>
--#include <sys/stat.h>
--#include <sys/ioctl.h>
--#include <sys/time.h>
--#include <sys/wait.h>
--#include <urcu.h>
--
--#include "rados/librados.h"
--
--#include "structs.h"
--#include "checkers.h"
--
--#include "../libmultipath/debug.h"
--#include "../libmultipath/util.h"
--#include "../libmultipath/time-util.h"
--#include "../libmultipath/util.h"
--
--struct rbd_checker_context;
--typedef int (thread_fn)(struct rbd_checker_context *ct, char *msg);
--
--#define RBD_MSG(msg, fmt, args...) snprintf(msg, CHECKER_MSG_LEN, fmt, ##args);
--
--#define RBD_FEATURE_EXCLUSIVE_LOCK (1 << 2)
--
--struct rbd_checker_context {
-- int rbd_bus_id;
-- char *client_addr;
-- char *config_info;
-- char *snap;
-- char *pool;
-- char *image;
-- char *username;
-- int remapped;
-- int blacklisted;
-- unsigned lock_on_read:1;
--
-- rados_t cluster;
--
-- int state;
-- int running;
-- time_t time;
-- thread_fn *fn;
-- pthread_t thread;
-- pthread_mutex_t lock;
-- pthread_cond_t active;
-- pthread_spinlock_t hldr_lock;
-- int holders;
-- char message[CHECKER_MSG_LEN];
--};
--
--int libcheck_init(struct checker * c)
--{
-- struct rbd_checker_context *ct;
-- struct udev_device *block_dev;
-- struct udev_device *bus_dev;
-- struct udev *udev;
-- struct stat sb;
-- const char *block_name, *addr, *config_info, *features_str;
-- const char *image, *pool, *snap, *username;
-- uint64_t features = 0;
-- char sysfs_path[PATH_SIZE];
-- int ret;
--
-- ct = malloc(sizeof(struct rbd_checker_context));
-- if (!ct)
-- return 1;
-- memset(ct, 0, sizeof(struct rbd_checker_context));
-- ct->holders = 1;
-- pthread_cond_init_mono(&ct->active);
-- pthread_mutex_init(&ct->lock, NULL);
-- pthread_spin_init(&ct->hldr_lock, PTHREAD_PROCESS_PRIVATE);
-- c->context = ct;
--
-- /*
-- * The rbd block layer sysfs device is not linked to the rbd bus
-- * device that we interact with, so figure that out now.
-- */
-- if (fstat(c->fd, &sb) != 0)
-- goto free_ct;
--
-- udev = udev_new();
-- if (!udev)
-- goto free_ct;
--
-- block_dev = udev_device_new_from_devnum(udev, 'b', sb.st_rdev);
-- if (!block_dev)
-- goto free_udev;
--
-- block_name = udev_device_get_sysname(block_dev);
-- ret = sscanf(block_name, "rbd%d", &ct->rbd_bus_id);
--
-- udev_device_unref(block_dev);
-- if (ret != 1)
-- goto free_udev;
--
-- snprintf(sysfs_path, sizeof(sysfs_path), "/sys/bus/rbd/devices/%d",
-- ct->rbd_bus_id);
-- bus_dev = udev_device_new_from_syspath(udev, sysfs_path);
-- if (!bus_dev)
-- goto free_udev;
--
-- addr = udev_device_get_sysattr_value(bus_dev, "client_addr");
-- if (!addr) {
-- condlog(0, "rbd%d: Could not find client_addr in rbd sysfs. "
-- "Try updating kernel", ct->rbd_bus_id);
-- goto free_dev;
-- }
--
-- ct->client_addr = strdup(addr);
-- if (!ct->client_addr)
-- goto free_dev;
--
-- features_str = udev_device_get_sysattr_value(bus_dev, "features");
-- if (!features_str)
-- goto free_addr;
-- features = strtoll(features_str, NULL, 16);
-- if (!(features & RBD_FEATURE_EXCLUSIVE_LOCK)) {
-- condlog(3, "rbd%d: Exclusive lock not set.", ct->rbd_bus_id);
-- goto free_addr;
-- }
--
-- config_info = udev_device_get_sysattr_value(bus_dev, "config_info");
-- if (!config_info)
-- goto free_addr;
--
-- if (!strstr(config_info, "noshare")) {
-- condlog(3, "rbd%d: Only nonshared clients supported.",
-- ct->rbd_bus_id);
-- goto free_addr;
-- }
--
-- if (strstr(config_info, "lock_on_read"))
-- ct->lock_on_read = 1;
--
-- ct->config_info = strdup(config_info);
-- if (!ct->config_info)
-- goto free_addr;
--
-- username = strstr(config_info, "name=");
-- if (username) {
-- char *end;
-- int len;
--
-- username += 5;
-- end = strchr(username, ',');
-- if (!end)
-- goto free_info;
-- len = end - username;
--
-- ct->username = malloc(len + 1);
-- if (!ct->username)
-- goto free_info;
-- strncpy(ct->username, username, len);
-- ct->username[len] = '\0';
-- }
--
-- image = udev_device_get_sysattr_value(bus_dev, "name");
-- if (!image)
-- goto free_username;
--
-- ct->image = strdup(image);
-- if (!ct->image)
-- goto free_username;
--
-- pool = udev_device_get_sysattr_value(bus_dev, "pool");
-- if (!pool)
-- goto free_image;
--
-- ct->pool = strdup(pool);
-- if (!ct->pool)
-- goto free_image;
--
-- snap = udev_device_get_sysattr_value(bus_dev, "current_snap");
-- if (!snap)
-- goto free_pool;
--
-- if (strcmp("-", snap)) {
-- ct->snap = strdup(snap);
-- if (!ct->snap)
-- goto free_pool;
-- }
--
-- if (rados_create(&ct->cluster, NULL) < 0) {
-- condlog(0, "rbd%d: Could not create rados cluster",
-- ct->rbd_bus_id);
-- goto free_snap;
-- }
--
-- if (rados_conf_read_file(ct->cluster, NULL) < 0) {
-- condlog(0, "rbd%d: Could not read rados conf", ct->rbd_bus_id);
-- goto shutdown_rados;
-- }
--
-- ret = rados_connect(ct->cluster);
-- if (ret < 0) {
-- condlog(0, "rbd%d: Could not connect to rados cluster",
-- ct->rbd_bus_id);
-- goto shutdown_rados;
-- }
--
-- udev_device_unref(bus_dev);
-- udev_unref(udev);
--
-- condlog(3, "rbd%d checker init %s %s/%s@%s %s", ct->rbd_bus_id,
-- ct->client_addr, ct->pool, ct->image, ct->snap ? ct->snap : "-",
-- ct->username ? ct->username : "none");
-- return 0;
--
--shutdown_rados:
-- rados_shutdown(ct->cluster);
--free_snap:
-- if (ct->snap)
-- free(ct->snap);
--free_pool:
-- free(ct->pool);
--free_image:
-- free(ct->image);
--free_username:
-- if (ct->username)
-- free(ct->username);
--free_info:
-- free(ct->config_info);
--free_addr:
-- free(ct->client_addr);
--free_dev:
-- udev_device_unref(bus_dev);
--free_udev:
-- udev_unref(udev);
--free_ct:
-- free(ct);
-- return 1;
--}
--
--static void cleanup_context(struct rbd_checker_context *ct)
--{
-- pthread_mutex_destroy(&ct->lock);
-- pthread_cond_destroy(&ct->active);
-- pthread_spin_destroy(&ct->hldr_lock);
--
-- rados_shutdown(ct->cluster);
--
-- if (ct->username)
-- free(ct->username);
-- if (ct->snap)
-- free(ct->snap);
-- free(ct->pool);
-- free(ct->image);
-- free(ct->config_info);
-- free(ct->client_addr);
-- free(ct);
--}
--
--void libcheck_free(struct checker * c)
--{
-- if (c->context) {
-- struct rbd_checker_context *ct = c->context;
-- int holders;
-- pthread_t thread;
--
-- pthread_spin_lock(&ct->hldr_lock);
-- ct->holders--;
-- holders = ct->holders;
-- thread = ct->thread;
-- pthread_spin_unlock(&ct->hldr_lock);
-- if (holders)
-- pthread_cancel(thread);
-- else
-- cleanup_context(ct);
-- c->context = NULL;
-- }
--}
--
--static int rbd_is_blacklisted(struct rbd_checker_context *ct, char *msg)
--{
-- char *addr_tok, *start, *save;
-- const char *cmd[2];
-- char *blklist, *stat;
-- size_t blklist_len, stat_len;
-- int ret;
-- char *end;
--
-- cmd[0] = "{\"prefix\": \"osd blacklist ls\"}";
-- cmd[1] = NULL;
--
-- ret = rados_mon_command(ct->cluster, (const char **)cmd, 1, "", 0,
-- &blklist, &blklist_len, &stat, &stat_len);
-- if (ret < 0) {
-- RBD_MSG(msg, "checker failed: mon command failed %d", ret);
-- return ret;
-- }
--
-- if (!blklist || !blklist_len)
-- goto free_bufs;
--
-- /*
-- * parse list of addrs with the format
-- * ipv4:port/nonce date time\n
-- * or
-- * [ipv6]:port/nonce date time\n
-- */
-- ret = 0;
-- for (start = blklist; ; start = NULL) {
-- addr_tok = strtok_r(start, "\n", &save);
-- if (!addr_tok || !strlen(addr_tok))
-- break;
--
-- end = strchr(addr_tok, ' ');
-- if (!end) {
-- RBD_MSG(msg, "checker failed: invalid blacklist %s",
-- addr_tok);
-- break;
-- }
-- *end = '\0';
--
-- if (!strcmp(addr_tok, ct->client_addr)) {
-- ct->blacklisted = 1;
-- RBD_MSG(msg, "%s is blacklisted", ct->client_addr);
-- ret = 1;
-- break;
-- }
-- }
--
--free_bufs:
-- rados_buffer_free(blklist);
-- rados_buffer_free(stat);
-- return ret;
--}
--
--static int rbd_check(struct rbd_checker_context *ct, char *msg)
--{
-- if (ct->blacklisted || rbd_is_blacklisted(ct, msg) == 1)
-- return PATH_DOWN;
--
-- RBD_MSG(msg, "checker reports path is up");
-- /*
-- * Path may have issues, but the ceph cluster is at least
-- * accepting IO, so we can attempt to do IO.
-- *
-- * TODO: in future versions, we can run other tests to
-- * verify OSDs and networks.
-- */
-- return PATH_UP;
--}
--
--static int sysfs_write_rbd_bus(const char *which, const char *buf,
-- size_t buf_len)
--{
-- char sysfs_path[PATH_SIZE];
-- int fd;
-- int r;
--
-- /* we require newer kernels so single_major should always be there */
-- snprintf(sysfs_path, sizeof(sysfs_path),
-- "/sys/bus/rbd/%s_single_major", which);
-- fd = open(sysfs_path, O_WRONLY);
-- if (fd < 0)
-- return -errno;
--
-- r = safe_write(fd, buf, buf_len);
-- close(fd);
-- return r;
--}
--
--static int rbd_remap(struct rbd_checker_context *ct)
--{
-- char *argv[11];
-- pid_t pid;
-- int ret = 0, i = 0;
-- int status;
--
-- pid = fork();
-- switch (pid) {
-- case 0:
-- argv[i++] = "rbd";
-- argv[i++] = "map";
-- if (ct->lock_on_read)
-- argv[i++] = "-o noshare,lock_on_read";
-- else
-- argv[i++] = "-o noshare";
-- if (ct->username) {
-- argv[i++] = "--id";
-- argv[i++] = ct->username;
-- }
-- argv[i++] = "--pool";
-- argv[i++] = ct->pool;
-- if (ct->snap) {
-- argv[i++] = "--snap";
-- argv[i++] = ct->snap;
-- }
-- argv[i++] = ct->image;
-- argv[i] = NULL;
--
-- ret = execvp(argv[0], argv);
-- condlog(0, "rbd%d: Error executing rbd: %s", ct->rbd_bus_id,
-- strerror(errno));
-- exit(-1);
-- case -1:
-- condlog(0, "rbd%d: fork failed: %s", ct->rbd_bus_id,
-- strerror(errno));
-- return -1;
-- default:
-- ret = -1;
-- wait(&status);
-- if (WIFEXITED(status)) {
-- status = WEXITSTATUS(status);
-- if (status == 0)
-- ret = 0;
-- else
-- condlog(0, "rbd%d: failed with %d",
-- ct->rbd_bus_id, status);
-- }
-- }
--
-- return ret;
--}
--
--static int sysfs_write_rbd_remove(const char *buf, int buf_len)
--{
-- return sysfs_write_rbd_bus("remove", buf, buf_len);
--}
--
--static int rbd_rm_blacklist(struct rbd_checker_context *ct)
--{
-- const char *cmd[2];
-- char *stat, *cmd_str;
-- size_t stat_len;
-- int ret;
--
-- ret = asprintf(&cmd_str, "{\"prefix\": \"osd blacklist\", \"blacklistop\": \"rm\", \"addr\": \"%s\"}",
-- ct->client_addr);
-- if (ret == -1)
-- return -ENOMEM;
--
-- cmd[0] = cmd_str;
-- cmd[1] = NULL;
--
-- ret = rados_mon_command(ct->cluster, (const char **)cmd, 1, "", 0,
-- NULL, NULL, &stat, &stat_len);
-- if (ret < 0) {
-- condlog(1, "rbd%d: repair failed to remove blacklist for %s %d",
-- ct->rbd_bus_id, ct->client_addr, ret);
-- goto free_cmd;
-- }
--
-- condlog(1, "rbd%d: repair rm blacklist for %s",
-- ct->rbd_bus_id, ct->client_addr);
-- free(stat);
--free_cmd:
-- free(cmd_str);
-- return ret;
--}
--
--static int rbd_repair(struct rbd_checker_context *ct, char *msg)
--{
-- char del[17];
-- int ret;
--
-- if (!ct->blacklisted)
-- return PATH_UP;
--
-- if (!ct->remapped) {
-- ret = rbd_remap(ct);
-- if (ret) {
-- RBD_MSG(msg, "repair failed to remap. Err %d", ret);
-- return PATH_DOWN;
-- }
-- }
-- ct->remapped = 1;
--
-- snprintf(del, sizeof(del), "%d force", ct->rbd_bus_id);
-- ret = sysfs_write_rbd_remove(del, strlen(del) + 1);
-- if (ret) {
-- RBD_MSG(msg, "repair failed to clean up. Err %d", ret);
-- return PATH_DOWN;
-- }
--
-- ret = rbd_rm_blacklist(ct);
-- if (ret) {
-- RBD_MSG(msg, "repair could not remove blacklist entry. Err %d",
-- ret);
-- return PATH_DOWN;
-- }
--
-- ct->remapped = 0;
-- ct->blacklisted = 0;
--
-- RBD_MSG(msg, "has been repaired");
-- return PATH_UP;
--}
--
--#define rbd_thread_cleanup_push(ct) pthread_cleanup_push(cleanup_func, ct)
--#define rbd_thread_cleanup_pop(ct) pthread_cleanup_pop(1)
--
--static void cleanup_func(void *data)
--{
-- int holders;
-- struct rbd_checker_context *ct = data;
-- pthread_spin_lock(&ct->hldr_lock);
-- ct->holders--;
-- holders = ct->holders;
-- ct->thread = 0;
-- pthread_spin_unlock(&ct->hldr_lock);
-- if (!holders)
-- cleanup_context(ct);
-- rcu_unregister_thread();
--}
--
--static void *rbd_thread(void *ctx)
--{
-- struct rbd_checker_context *ct = ctx;
-- int state;
--
-- /* This thread can be canceled, so setup clean up */
-- rbd_thread_cleanup_push(ct)
-- rcu_register_thread();
-- condlog(3, "rbd%d: thread starting up", ct->rbd_bus_id);
--
-- ct->message[0] = '\0';
--
-- /* checker start up */
-- pthread_mutex_lock(&ct->lock);
-- ct->state = PATH_PENDING;
-- pthread_mutex_unlock(&ct->lock);
--
-- state = ct->fn(ct, ct->message);
--
-- /* checker done */
-- pthread_mutex_lock(&ct->lock);
-- ct->state = state;
-- pthread_cond_signal(&ct->active);
-- pthread_mutex_unlock(&ct->lock);
--
-- condlog(3, "rbd%d: thead finished, state %s", ct->rbd_bus_id,
-- checker_state_name(state));
-- rbd_thread_cleanup_pop(ct);
-- return ((void *)0);
--}
--
--static void rbd_timeout(struct timespec *tsp)
--{
-- clock_gettime(CLOCK_MONOTONIC, tsp);
-- tsp->tv_nsec += 1000 * 1000; /* 1 millisecond */
-- normalize_timespec(tsp);
--}
--
--static int rbd_exec_fn(struct checker *c, thread_fn *fn)
--{
-- struct rbd_checker_context *ct = c->context;
-- struct timespec tsp;
-- pthread_attr_t attr;
-- int rbd_status, r;
--
-- if (c->sync)
-- return fn(ct, c->message);
-- /*
-- * Async mode
-- */
-- r = pthread_mutex_lock(&ct->lock);
-- if (r != 0) {
-- condlog(2, "rbd%d: mutex lock failed with %d", ct->rbd_bus_id,
-- r);
-- MSG(c, "rbd%d: thread failed to initialize", ct->rbd_bus_id);
-- return PATH_WILD;
-- }
--
-- if (ct->running) {
-- /* Check if checker is still running */
-- if (ct->thread) {
-- condlog(3, "rbd%d: thread not finished",
-- ct->rbd_bus_id);
-- rbd_status = PATH_PENDING;
-- } else {
-- /* checker done */
-- ct->running = 0;
-- rbd_status = ct->state;
-- strncpy(c->message, ct->message, CHECKER_MSG_LEN);
-- c->message[CHECKER_MSG_LEN - 1] = '\0';
-- }
-- pthread_mutex_unlock(&ct->lock);
-- } else {
-- /* Start new checker */
-- ct->state = PATH_UNCHECKED;
-- ct->fn = fn;
-- pthread_spin_lock(&ct->hldr_lock);
-- ct->holders++;
-- pthread_spin_unlock(&ct->hldr_lock);
-- setup_thread_attr(&attr, 32 * 1024, 1);
-- r = pthread_create(&ct->thread, &attr, rbd_thread, ct);
-- if (r) {
-- pthread_mutex_unlock(&ct->lock);
-- ct->thread = 0;
-- ct->holders--;
-- condlog(3, "rbd%d failed to start rbd thread, using sync mode",
-- ct->rbd_bus_id);
-- return fn(ct, c->message);
-- }
-- pthread_attr_destroy(&attr);
-- rbd_timeout(&tsp);
-- r = pthread_cond_timedwait(&ct->active, &ct->lock, &tsp);
-- rbd_status = ct->state;
-- strncpy(c->message, ct->message,CHECKER_MSG_LEN);
-- c->message[CHECKER_MSG_LEN -1] = '\0';
-- pthread_mutex_unlock(&ct->lock);
--
-- if (ct->thread &&
-- (rbd_status == PATH_PENDING || rbd_status == PATH_UNCHECKED)) {
-- condlog(3, "rbd%d: thread still running",
-- ct->rbd_bus_id);
-- ct->running = 1;
-- rbd_status = PATH_PENDING;
-- }
-- }
--
-- return rbd_status;
--}
--
--void libcheck_repair(struct checker * c)
--{
-- struct rbd_checker_context *ct = c->context;
--
-- if (!ct || !ct->blacklisted)
-- return;
-- rbd_exec_fn(c, rbd_repair);
--}
--
--int libcheck_check(struct checker * c)
--{
-- struct rbd_checker_context *ct = c->context;
--
-- if (!ct)
-- return PATH_UNCHECKED;
--
-- if (ct->blacklisted)
-- return PATH_DOWN;
--
-- return rbd_exec_fn(c, rbd_check);
--}
-diff --git a/libmultipath/checkers/rdac.c b/libmultipath/checkers/rdac.c
-index a643a4a..5104e4e 100644
---- a/libmultipath/checkers/rdac.c
-+++ b/libmultipath/checkers/rdac.c
-@@ -139,11 +139,6 @@ void libcheck_free (struct checker * c)
- return;
- }
-
--void libcheck_repair (struct checker * c)
--{
-- return;
--}
--
- static int
- do_inq(int sg_fd, unsigned int pg_op, void *resp, int mx_resp_len,
- unsigned int timeout)
-diff --git a/libmultipath/checkers/readsector0.c b/libmultipath/checkers/readsector0.c
-index 8fccb46..1c2a868 100644
---- a/libmultipath/checkers/readsector0.c
-+++ b/libmultipath/checkers/readsector0.c
-@@ -23,11 +23,6 @@ void libcheck_free (struct checker * c)
- return;
- }
-
--void libcheck_repair (struct checker * c)
--{
-- return;
--}
--
- int libcheck_check (struct checker * c)
- {
- unsigned char buf[4096];
-diff --git a/libmultipath/checkers/tur.c b/libmultipath/checkers/tur.c
-index eb3348d..bf8486d 100644
---- a/libmultipath/checkers/tur.c
-+++ b/libmultipath/checkers/tur.c
-@@ -112,11 +112,6 @@ void libcheck_free (struct checker * c)
- return;
- }
-
--void libcheck_repair (struct checker * c)
--{
-- return;
--}
--
- #define TUR_MSG(fmt, args...) \
- do { \
- char msg[CHECKER_MSG_LEN]; \
-diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
-index 1ef1dfa..18ad0e2 100644
---- a/libmultipath/discovery.c
-+++ b/libmultipath/discovery.c
-@@ -1246,21 +1246,6 @@ nvme_sysfs_pathinfo (struct path * pp, vector hwtable)
- }
-
- static int
--rbd_sysfs_pathinfo (struct path * pp, vector hwtable)
--{
-- sprintf(pp->vendor_id, "Ceph");
-- sprintf(pp->product_id, "RBD");
--
-- condlog(3, "%s: vendor = %s product = %s", pp->dev, pp->vendor_id,
-- pp->product_id);
-- /*
-- * set the hwe configlet pointer
-- */
-- pp->hwe = find_hwe(hwtable, pp->vendor_id, pp->product_id, NULL);
-- return 0;
--}
--
--static int
- ccw_sysfs_pathinfo (struct path * pp, vector hwtable)
- {
- struct udev_device *parent;
-@@ -1486,8 +1471,6 @@ sysfs_pathinfo(struct path * pp, vector hwtable)
- pp->bus = SYSFS_BUS_CCW;
- if (!strncmp(pp->dev,"sd", 2))
- pp->bus = SYSFS_BUS_SCSI;
-- if (!strncmp(pp->dev,"rbd", 3))
-- pp->bus = SYSFS_BUS_RBD;
- if (!strncmp(pp->dev,"nvme", 4))
- pp->bus = SYSFS_BUS_NVME;
-
-@@ -1502,9 +1485,6 @@ sysfs_pathinfo(struct path * pp, vector hwtable)
- } else if (pp->bus == SYSFS_BUS_CCISS) {
- if (cciss_sysfs_pathinfo(pp, hwtable))
- return 1;
-- } else if (pp->bus == SYSFS_BUS_RBD) {
-- if (rbd_sysfs_pathinfo(pp, hwtable))
-- return 1;
- } else if (pp->bus == SYSFS_BUS_NVME) {
- if (nvme_sysfs_pathinfo(pp, hwtable))
- return 1;
-@@ -1753,53 +1733,6 @@ get_udev_uid(struct path * pp, char *uid_attribute, struct udev_device *udev)
- }
-
- static int
--get_rbd_uid(struct path * pp)
--{
-- struct udev_device *rbd_bus_dev;
-- int ret, rbd_bus_id;
-- const char *pool, *image, *snap;
-- char sysfs_path[PATH_SIZE];
-- uint64_t snap_id, max_snap_id = -3;
--
-- ret = sscanf(pp->dev, "rbd%d", &rbd_bus_id);
-- if (ret != 1)
-- return -EINVAL;
--
-- snprintf(sysfs_path, sizeof(sysfs_path), "/sys/bus/rbd/devices/%d",
-- rbd_bus_id);
-- rbd_bus_dev = udev_device_new_from_syspath(udev, sysfs_path);
-- if (!rbd_bus_dev)
-- return -ENODEV;
--
-- ret = -EINVAL;
-- pool = udev_device_get_sysattr_value(rbd_bus_dev, "pool_id");
-- if (!pool)
-- goto free_dev;
--
-- image = udev_device_get_sysattr_value(rbd_bus_dev, "image_id");
-- if (!image)
-- goto free_dev;
--
-- snap = udev_device_get_sysattr_value(rbd_bus_dev, "snap_id");
-- if (!snap)
-- goto free_dev;
-- snap_id = strtoull(snap, NULL, 19);
-- if (snap_id >= max_snap_id)
-- ret = snprintf(pp->wwid, WWID_SIZE, "%s-%s", pool, image);
-- else
-- ret = snprintf(pp->wwid, WWID_SIZE, "%s-%s-%s", pool,
-- image, snap);
-- if (ret >= WWID_SIZE) {
-- condlog(0, "%s: wwid overflow", pp->dev);
-- ret = -EOVERFLOW;
-- }
--
--free_dev:
-- udev_device_unref(rbd_bus_dev);
-- return ret;
--}
--
--static int
- get_vpd_uid(struct path * pp)
- {
- struct udev_device *parent = pp->udev;
-@@ -1876,9 +1809,6 @@ get_uid (struct path * pp, int path_state, struct udev_device *udev)
- } else
- len = strlen(pp->wwid);
- origin = "callout";
-- } else if (pp->bus == SYSFS_BUS_RBD) {
-- len = get_rbd_uid(pp);
-- origin = "sysfs";
- } else {
-
- if (udev && pp->uid_attribute) {
-diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
-index 148f0ba..d529bae 100644
---- a/libmultipath/hwtable.c
-+++ b/libmultipath/hwtable.c
-@@ -1000,18 +1000,6 @@ static struct hwentry default_hw[] = {
- .prio_name = PRIO_ALUA,
- },
- /*
-- * Red Hat
-- *
-- * Maintainer: Mike Christie
-- * Mail: mchristi@redhat.com
-- */
-- {
-- .vendor = "Ceph",
-- .product = "RBD",
-- .checker_name = RBD,
-- .deferred_remove = DEFERRED_REMOVE_ON,
-- },
-- /*
- * Kove
- */
- {
-diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
-index 0c1f174..31f4585 100644
---- a/multipath/multipath.conf.5
-+++ b/multipath/multipath.conf.5
-@@ -482,9 +482,6 @@ Check the path state for HP/COMPAQ Smart Array(CCISS) controllers.
- .I none
- Do not check the device, fallback to use the values retrieved from sysfs
- .TP
--.I rbd
--Check if the path is in the Ceph blacklist and remap the path if it is.
--.TP
- The default is: \fBtur\fR
- .RE
- .
-diff --git a/multipathd/main.c b/multipathd/main.c
-index 0db88ee..d40c416 100644
---- a/multipathd/main.c
-+++ b/multipathd/main.c
-@@ -1783,15 +1783,6 @@ int update_path_groups(struct multipath *mpp, struct vectors *vecs, int refresh)
- return 0;
- }
-
--void repair_path(struct path * pp)
--{
-- if (pp->state != PATH_DOWN)
-- return;
--
-- checker_repair(&pp->checker);
-- LOG_MSG(1, checker_message(&pp->checker));
--}
--
- /*
- * Returns '1' if the path has been checked, '-1' if it was blacklisted
- * and '0' otherwise
-@@ -1972,7 +1963,6 @@ check_path (struct vectors * vecs, struct path * pp, int ticks)
- pp->mpp->failback_tick = 0;
-
- pp->mpp->stat_path_failures++;
-- repair_path(pp);
- return 1;
- }
-
-@@ -2071,7 +2061,6 @@ check_path (struct vectors * vecs, struct path * pp, int ticks)
- }
-
- pp->state = newstate;
-- repair_path(pp);
-
- if (pp->mpp->wait_for_udev)
- return 1;
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0017-mpathpersist-fix-aptpl-support.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0017-mpathpersist-fix-aptpl-support.patch
deleted file mode 100644
index b98d310a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0017-mpathpersist-fix-aptpl-support.patch
+++ /dev/null
@@ -1,543 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Mon, 4 Jun 2018 22:04:44 -0500
-Subject: [PATCH] mpathpersist: fix aptpl support
-
-The "Active Persist Through Power Loss" flag must be set whenever a key
-is registered. However, there is no way for multipathd to know if this
-was set by mpathpersist. The result is that if a path goes down and
-comes back up (or if it wasn't up when mpathpersist was first run)
-multipathd will clear the aptpl flag when it reregisters the key on it.
-
-To fix this, multipath.conf now accepts an optional ":aptpl" appended
-on the reservation_key value. If this is added to the reservation_key
-multipathd will set the aptpl flag when it reregisters the key. If
-reservation_key is set to "file", this will automatically be tracked
-in the /etc/multipath/prkeys file.
-
-To track this flag in the prkeys file, without changing the format
-I've made "0x<key>" stand for non-aptpl keys, and "0X<key>" stand
-for aptpl keys. Since previously, all keys used a lower-case x, this
-will default to the current behavior for existing keys. Obviously, the
-next time mpathpersist is run, this will be changed if --param-aptpl
-is used. Since there are no more flags that are in sg_persist that
-multipathd needs to care about in mpathpersist, there shouldn't need
-to be any more flags added to the prkeys file.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmpathpersist/mpath_persist.c | 3 ++-
- libmpathpersist/mpath_updatepr.c | 11 +++++++----
- libmpathpersist/mpathpr.h | 3 ++-
- libmultipath/Makefile | 2 +-
- libmultipath/config.h | 2 ++
- libmultipath/dict.c | 23 +++++++++++++++++++----
- libmultipath/dict.h | 3 ++-
- libmultipath/prkey.c | 27 ++++++++++++++++++++++++---
- libmultipath/prkey.h | 6 ++++--
- libmultipath/propsel.c | 6 ++++--
- libmultipath/structs.h | 1 +
- libmultipath/util.c | 16 ++++++++++++++++
- libmultipath/util.h | 1 +
- multipath/multipath.conf.5 | 7 +++++--
- multipathd/cli_handlers.c | 15 ++++++++++-----
- multipathd/main.c | 1 +
- 16 files changed, 101 insertions(+), 26 deletions(-)
-
-diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c
-index ca91c55..6e9e67f 100644
---- a/libmpathpersist/mpath_persist.c
-+++ b/libmpathpersist/mpath_persist.c
-@@ -344,7 +344,8 @@ int mpath_persistent_reserve_out ( int fd, int rq_servact, int rq_scope,
- rq_servact == MPATH_PROUT_REG_SA) ||
- rq_servact == MPATH_PROUT_REG_IGN_SA)) {
- memcpy(&mpp->reservation_key, paramp->sa_key, 8);
-- if (update_prkey(alias, get_be64(mpp->reservation_key))) {
-+ if (update_prkey_flags(alias, get_be64(mpp->reservation_key),
-+ paramp->sa_flags)) {
- condlog(0, "%s: failed to set prkey for multipathd.",
- alias);
- ret = MPATH_PR_DMMP_ERROR;
-diff --git a/libmpathpersist/mpath_updatepr.c b/libmpathpersist/mpath_updatepr.c
-index 8063e90..0aca28e 100644
---- a/libmpathpersist/mpath_updatepr.c
-+++ b/libmpathpersist/mpath_updatepr.c
-@@ -1,7 +1,5 @@
- #include <stdio.h>
- #include <unistd.h>
--#include <errno.h>
--
- #include <stdlib.h>
- #include <stdarg.h>
- #include <fcntl.h>
-@@ -11,6 +9,8 @@
- #include <sys/un.h>
- #include <poll.h>
- #include <errno.h>
-+#include <libudev.h>
-+#include <mpath_persist.h>
- #include "debug.h"
- #include "mpath_cmd.h"
- #include "uxsock.h"
-@@ -59,11 +59,14 @@ int update_prflag(char *mapname, int set) {
- return do_update_pr(mapname, (set)? "setprstatus" : "unsetprstatus");
- }
-
--int update_prkey(char *mapname, uint64_t prkey) {
-+int update_prkey_flags(char *mapname, uint64_t prkey, uint8_t sa_flags) {
- char str[256];
-+ char *flagstr = "";
-
-+ if (sa_flags & MPATH_F_APTPL_MASK)
-+ flagstr = ":aptpl";
- if (prkey)
-- sprintf(str, "setprkey key %" PRIx64, prkey);
-+ sprintf(str, "setprkey key %" PRIx64 "%s", prkey, flagstr);
- else
- sprintf(str, "unsetprkey");
- return do_update_pr(mapname, str);
-diff --git a/libmpathpersist/mpathpr.h b/libmpathpersist/mpathpr.h
-index 72feb60..5ea8cd6 100644
---- a/libmpathpersist/mpathpr.h
-+++ b/libmpathpersist/mpathpr.h
-@@ -46,7 +46,8 @@ int send_prout_activepath(char * dev, int rq_servact, int rq_scope,
- unsigned int rq_type, struct prout_param_descriptor * paramp, int noisy);
-
- int update_prflag(char *mapname, int set);
--int update_prkey(char *mapname, uint64_t prkey);
-+int update_prkey_flags(char *mapname, uint64_t prkey, uint8_t sa_flags);
-+#define update_prkey(mapname, prkey) update_prkey_flags(mapname, prkey, 0)
- void * mpath_alloc_prin_response(int prin_sa);
- int update_map_pr(struct multipath *mpp);
-
-diff --git a/libmultipath/Makefile b/libmultipath/Makefile
-index f51786d..33f5269 100644
---- a/libmultipath/Makefile
-+++ b/libmultipath/Makefile
-@@ -7,7 +7,7 @@ SONAME = 0
- DEVLIB = libmultipath.so
- LIBS = $(DEVLIB).$(SONAME)
-
--CFLAGS += $(LIB_CFLAGS) -I$(mpathcmddir)
-+CFLAGS += $(LIB_CFLAGS) -I$(mpathcmddir) -I$(mpathpersistdir)
-
- LIBDEPS += -lpthread -ldl -ldevmapper -ludev -L$(mpathcmddir) -lmpathcmd -lurcu -laio
-
-diff --git a/libmultipath/config.h b/libmultipath/config.h
-index 1bf708a..fcbe3fc 100644
---- a/libmultipath/config.h
-+++ b/libmultipath/config.h
-@@ -98,6 +98,7 @@ struct mpentry {
- char * prio_args;
- int prkey_source;
- struct be64 reservation_key;
-+ uint8_t sa_flags;
- int pgpolicy;
- int pgfailback;
- int rr_weight;
-@@ -197,6 +198,7 @@ struct config {
- int prkey_source;
- int all_tg_pt;
- struct be64 reservation_key;
-+ uint8_t sa_flags;
-
- vector keywords;
- vector mptable;
-diff --git a/libmultipath/dict.c b/libmultipath/dict.c
-index 2557b8a..7ad0f5a 100644
---- a/libmultipath/dict.c
-+++ b/libmultipath/dict.c
-@@ -22,6 +22,8 @@
- #include "util.h"
- #include <errno.h>
- #include <inttypes.h>
-+#include <libudev.h>
-+#include <mpath_persist.h>
- #include "mpath_cmd.h"
- #include "dict.h"
-
-@@ -1012,10 +1014,12 @@ snprint_def_log_checker_err (struct config *conf, char * buff, int len,
- }
-
- static int
--set_reservation_key(vector strvec, struct be64 *be64_ptr, int *source_ptr)
-+set_reservation_key(vector strvec, struct be64 *be64_ptr, uint8_t *flags_ptr,
-+ int *source_ptr)
- {
- char *buff;
- uint64_t prkey;
-+ uint8_t sa_flags;
-
- buff = set_value(strvec);
- if (!buff)
-@@ -1023,35 +1027,43 @@ set_reservation_key(vector strvec, struct be64 *be64_ptr, int *source_ptr)
-
- if (strcmp(buff, "file") == 0) {
- *source_ptr = PRKEY_SOURCE_FILE;
-+ *flags_ptr = 0;
- put_be64(*be64_ptr, 0);
- FREE(buff);
- return 0;
- }
-
-- if (parse_prkey(buff, &prkey) != 0) {
-+ if (parse_prkey_flags(buff, &prkey, &sa_flags) != 0) {
- FREE(buff);
- return 1;
- }
- *source_ptr = PRKEY_SOURCE_CONF;
-+ *flags_ptr = sa_flags;
- put_be64(*be64_ptr, prkey);
- FREE(buff);
- return 0;
- }
-
- int
--print_reservation_key(char * buff, int len, struct be64 key, int source)
-+print_reservation_key(char * buff, int len, struct be64 key, uint8_t flags,
-+ int source)
- {
-+ char *flagstr = "";
- if (source == PRKEY_SOURCE_NONE)
- return 0;
- if (source == PRKEY_SOURCE_FILE)
- return snprintf(buff, len, "file");
-- return snprintf(buff, len, "0x%" PRIx64, get_be64(key));
-+ if (flags & MPATH_F_APTPL_MASK)
-+ flagstr = ":aptpl";
-+ return snprintf(buff, len, "0x%" PRIx64 "%s", get_be64(key),
-+ flagstr);
- }
-
- static int
- def_reservation_key_handler(struct config *conf, vector strvec)
- {
- return set_reservation_key(strvec, &conf->reservation_key,
-+ &conf->sa_flags,
- &conf->prkey_source);
- }
-
-@@ -1060,6 +1072,7 @@ snprint_def_reservation_key (struct config *conf, char * buff, int len,
- const void * data)
- {
- return print_reservation_key(buff, len, conf->reservation_key,
-+ conf->sa_flags,
- conf->prkey_source);
- }
-
-@@ -1070,6 +1083,7 @@ mp_reservation_key_handler(struct config *conf, vector strvec)
- if (!mpe)
- return 1;
- return set_reservation_key(strvec, &mpe->reservation_key,
-+ &mpe->sa_flags,
- &mpe->prkey_source);
- }
-
-@@ -1079,6 +1093,7 @@ snprint_mp_reservation_key (struct config *conf, char * buff, int len,
- {
- const struct mpentry * mpe = (const struct mpentry *)data;
- return print_reservation_key(buff, len, mpe->reservation_key,
-+ mpe->sa_flags,
- mpe->prkey_source);
- }
-
-diff --git a/libmultipath/dict.h b/libmultipath/dict.h
-index 7564892..a40ac66 100644
---- a/libmultipath/dict.h
-+++ b/libmultipath/dict.h
-@@ -15,6 +15,7 @@ int print_pgpolicy(char *buff, int len, long v);
- int print_no_path_retry(char *buff, int len, long v);
- int print_fast_io_fail(char *buff, int len, long v);
- int print_dev_loss(char *buff, int len, unsigned long v);
--int print_reservation_key(char * buff, int len, struct be64 key, int source);
-+int print_reservation_key(char * buff, int len, struct be64 key, uint8_t
-+ flags, int source);
- int print_off_int_undef(char *buff, int len, long v);
- #endif /* _DICT_H */
-diff --git a/libmultipath/prkey.c b/libmultipath/prkey.c
-index 89b90ed..d645f81 100644
---- a/libmultipath/prkey.c
-+++ b/libmultipath/prkey.c
-@@ -11,6 +11,8 @@
- #include <string.h>
- #include <inttypes.h>
- #include <errno.h>
-+#include <libudev.h>
-+#include <mpath_persist.h>
-
- #define PRKEY_READ 0
- #define PRKEY_WRITE 1
-@@ -108,7 +110,8 @@ static int do_prkey(int fd, char *wwid, char *keystr, int cmd)
- return 0;
- }
-
--int get_prkey(struct config *conf, struct multipath *mpp, uint64_t *prkey)
-+int get_prkey(struct config *conf, struct multipath *mpp, uint64_t *prkey,
-+ uint8_t *sa_flags)
- {
- int fd;
- int unused;
-@@ -124,6 +127,9 @@ int get_prkey(struct config *conf, struct multipath *mpp, uint64_t *prkey)
- ret = do_prkey(fd, mpp->wwid, keystr, PRKEY_READ);
- if (ret)
- goto out_file;
-+ *sa_flags = 0;
-+ if (strchr(keystr, 'X'))
-+ *sa_flags = MPATH_F_APTPL_MASK;
- ret = !!parse_prkey(keystr, prkey);
- out_file:
- close(fd);
-@@ -131,7 +137,8 @@ out:
- return ret;
- }
-
--int set_prkey(struct config *conf, struct multipath *mpp, uint64_t prkey)
-+int set_prkey(struct config *conf, struct multipath *mpp, uint64_t prkey,
-+ uint8_t sa_flags)
- {
- int fd;
- int can_write = 1;
-@@ -141,6 +148,12 @@ int set_prkey(struct config *conf, struct multipath *mpp, uint64_t prkey)
- if (!strlen(mpp->wwid))
- goto out;
-
-+ if (sa_flags & ~MPATH_F_APTPL_MASK) {
-+ condlog(0, "unsupported pr flags, 0x%x",
-+ sa_flags & ~MPATH_F_APTPL_MASK);
-+ sa_flags &= MPATH_F_APTPL_MASK;
-+ }
-+
- fd = open_file(conf->prkeys_file, &can_write, PRKEYS_FILE_HEADER);
- if (fd < 0)
- goto out;
-@@ -149,7 +162,15 @@ int set_prkey(struct config *conf, struct multipath *mpp, uint64_t prkey)
- goto out_file;
- }
- if (prkey) {
-- snprintf(keystr, PRKEY_SIZE, "0x%016" PRIx64, prkey);
-+ /* using the capitalization of the 'x' is a hack, but
-+ * it's unlikely that mpath_persist will support more options
-+ * since sg_persist doesn't, and this lets us keep the
-+ * same file format as before instead of needing to change
-+ * the format of the prkeys file */
-+ if (sa_flags)
-+ snprintf(keystr, PRKEY_SIZE, "0X%016" PRIx64, prkey);
-+ else
-+ snprintf(keystr, PRKEY_SIZE, "0x%016" PRIx64, prkey);
- keystr[PRKEY_SIZE - 1] = '\0';
- ret = do_prkey(fd, mpp->wwid, keystr, PRKEY_WRITE);
- }
-diff --git a/libmultipath/prkey.h b/libmultipath/prkey.h
-index 4028e70..6739191 100644
---- a/libmultipath/prkey.h
-+++ b/libmultipath/prkey.h
-@@ -13,7 +13,9 @@
- "# prkey wwid\n" \
- "#\n"
-
--int set_prkey(struct config *conf, struct multipath *mpp, uint64_t prkey);
--int get_prkey(struct config *conf, struct multipath *mpp, uint64_t *prkey);
-+int set_prkey(struct config *conf, struct multipath *mpp, uint64_t prkey,
-+ uint8_t sa_flags);
-+int get_prkey(struct config *conf, struct multipath *mpp, uint64_t *prkey,
-+ uint8_t *sa_flags);
-
- #endif /* _PRKEY_H */
-diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c
-index 9ca1355..62a6893 100644
---- a/libmultipath/propsel.c
-+++ b/libmultipath/propsel.c
-@@ -106,6 +106,7 @@ do { \
- if (src && src->prkey_source != PRKEY_SOURCE_NONE) { \
- mp->prkey_source = src->prkey_source; \
- mp->reservation_key = src->reservation_key; \
-+ mp->sa_flags = src->sa_flags; \
- origin = msg; \
- goto out; \
- } \
-@@ -703,18 +704,19 @@ int select_reservation_key(struct config *conf, struct multipath *mp)
- do_prkey_set(mp->mpe, multipaths_origin);
- do_prkey_set(conf, conf_origin);
- put_be64(mp->reservation_key, 0);
-+ mp->sa_flags = 0;
- mp->prkey_source = PRKEY_SOURCE_NONE;
- return 0;
- out:
- if (mp->prkey_source == PRKEY_SOURCE_FILE) {
- from_file = " (from prkeys file)";
-- if (get_prkey(conf, mp, &prkey) != 0)
-+ if (get_prkey(conf, mp, &prkey, &mp->sa_flags) != 0)
- put_be64(mp->reservation_key, 0);
- else
- put_be64(mp->reservation_key, prkey);
- }
- print_reservation_key(buff, PRKEY_SIZE, mp->reservation_key,
-- mp->prkey_source);
-+ mp->sa_flags, mp->prkey_source);
- condlog(3, "%s: reservation_key = %s %s%s", mp->alias, buff, origin,
- from_file);
- return 0;
-diff --git a/libmultipath/structs.h b/libmultipath/structs.h
-index 0194b1e..987479f 100644
---- a/libmultipath/structs.h
-+++ b/libmultipath/structs.h
-@@ -367,6 +367,7 @@ struct multipath {
- /* persistent management data*/
- int prkey_source;
- struct be64 reservation_key;
-+ uint8_t sa_flags;
- unsigned char prflag;
- int all_tg_pt;
- struct gen_multipath generic_mp;
-diff --git a/libmultipath/util.c b/libmultipath/util.c
-index 7251ad0..8d8fcc8 100644
---- a/libmultipath/util.c
-+++ b/libmultipath/util.c
-@@ -10,6 +10,8 @@
- #include <dirent.h>
- #include <unistd.h>
- #include <errno.h>
-+#include <libudev.h>
-+#include <mpath_persist.h>
-
- #include "util.h"
- #include "debug.h"
-@@ -435,6 +437,20 @@ int parse_prkey(char *ptr, uint64_t *prkey)
- return 0;
- }
-
-+int parse_prkey_flags(char *ptr, uint64_t *prkey, uint8_t *flags)
-+{
-+ char *flagstr;
-+
-+ flagstr = strchr(ptr, ':');
-+ *flags = 0;
-+ if (flagstr) {
-+ *flagstr++ = '\0';
-+ if (strlen(flagstr) == 5 && strcmp(flagstr, "aptpl") == 0)
-+ *flags = MPATH_F_APTPL_MASK;
-+ }
-+ return parse_prkey(ptr, prkey);
-+}
-+
- int safe_write(int fd, const void *buf, size_t count)
- {
- while (count > 0) {
-diff --git a/libmultipath/util.h b/libmultipath/util.h
-index a3ab894..56cec76 100644
---- a/libmultipath/util.h
-+++ b/libmultipath/util.h
-@@ -19,6 +19,7 @@ void setup_thread_attr(pthread_attr_t *attr, size_t stacksize, int detached);
- int systemd_service_enabled(const char *dev);
- int get_linux_version_code(void);
- int parse_prkey(char *ptr, uint64_t *prkey);
-+int parse_prkey_flags(char *ptr, uint64_t *prkey, uint8_t *flags);
- int safe_write(int fd, const void *buf, size_t count);
-
- #define KERNEL_VERSION(maj, min, ptc) ((((maj) * 256) + (min)) * 256 + (ptc))
-diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
-index 31f4585..30d8598 100644
---- a/multipath/multipath.conf.5
-+++ b/multipath/multipath.conf.5
-@@ -726,14 +726,17 @@ This is the service action reservation key used by mpathpersist. It must be
- set for all multipath devices using persistent reservations, and it must be
- the same as the RESERVATION KEY field of the PERSISTENT RESERVE OUT parameter
- list which contains an 8-byte value provided by the application client to the
--device server to identify the I_T nexus.
-+device server to identify the I_T nexus. If the \fI--param-aptpl\fR option is
-+used when registering the key with mpathpersist, \fB:aptpl\fR must be appended
-+to the end of the reservation key.
- .RS
- .PP
- Alternatively, this can be set to \fBfile\fR, which will store the RESERVATION
- KEY registered by mpathpersist in the \fIprkeys_file\fR. multipathd will then
- use this key to register additional paths as they appear. When the
- registration is removed, the RESERVATION KEY is removed from the
--\fIprkeys_file\fR.
-+\fIprkeys_file\fR. The prkeys file will automatically keep track of whether
-+the key was registered with \fI--param-aptpl\fR.
- .TP
- The default is: \fB<unset>\fR
- .RE
-diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c
-index ba50fb8..6452796 100644
---- a/multipathd/cli_handlers.c
-+++ b/multipathd/cli_handlers.c
-@@ -21,6 +21,7 @@
- #include "sysfs.h"
- #include <errno.h>
- #include <libudev.h>
-+#include <mpath_persist.h>
- #include "util.h"
- #include "prkey.h"
- #include "propsel.h"
-@@ -1463,6 +1464,7 @@ cli_getprkey(void * v, char ** reply, int * len, void * data)
- struct multipath * mpp;
- struct vectors * vecs = (struct vectors *)data;
- char *mapname = get_keyparam(v, MAP);
-+ char *flagstr = "";
-
- mapname = convert_dev(mapname, 0);
- condlog(3, "%s: get persistent reservation key (operator)", mapname);
-@@ -1478,8 +1480,10 @@ cli_getprkey(void * v, char ** reply, int * len, void * data)
- *len = strlen(*reply) + 1;
- return 0;
- }
-- snprintf(*reply, 20, "0x%" PRIx64 "\n",
-- get_be64(mpp->reservation_key));
-+ if (mpp->sa_flags & MPATH_F_APTPL_MASK)
-+ flagstr = ":aptpl";
-+ snprintf(*reply, 20, "0x%" PRIx64 "%s\n",
-+ get_be64(mpp->reservation_key), flagstr);
- (*reply)[19] = '\0';
- *len = strlen(*reply) + 1;
- return 0;
-@@ -1503,7 +1507,7 @@ cli_unsetprkey(void * v, char ** reply, int * len, void * data)
-
- conf = get_multipath_config();
- pthread_cleanup_push(put_multipath_config, conf);
-- ret = set_prkey(conf, mpp, 0);
-+ ret = set_prkey(conf, mpp, 0, 0);
- pthread_cleanup_pop(1);
-
- return ret;
-@@ -1517,6 +1521,7 @@ cli_setprkey(void * v, char ** reply, int * len, void * data)
- char *mapname = get_keyparam(v, MAP);
- char *keyparam = get_keyparam(v, KEY);
- uint64_t prkey;
-+ uint8_t flags;
- int ret;
- struct config *conf;
-
-@@ -1527,14 +1532,14 @@ cli_setprkey(void * v, char ** reply, int * len, void * data)
- if (!mpp)
- return 1;
-
-- if (parse_prkey(keyparam, &prkey) != 0) {
-+ if (parse_prkey_flags(keyparam, &prkey, &flags) != 0) {
- condlog(0, "%s: invalid prkey : '%s'", mapname, keyparam);
- return 1;
- }
-
- conf = get_multipath_config();
- pthread_cleanup_push(put_multipath_config, conf);
-- ret = set_prkey(conf, mpp, prkey);
-+ ret = set_prkey(conf, mpp, prkey, flags);
- pthread_cleanup_pop(1);
-
- return ret;
-diff --git a/multipathd/main.c b/multipathd/main.c
-index d40c416..6b1e782 100644
---- a/multipathd/main.c
-+++ b/multipathd/main.c
-@@ -3089,6 +3089,7 @@ void * mpath_pr_event_handler_fn (void * pathp )
-
- param= malloc(sizeof(struct prout_param_descriptor));
- memset(param, 0 , sizeof(struct prout_param_descriptor));
-+ param->sa_flags = mpp->sa_flags;
- memcpy(param->sa_key, &mpp->reservation_key, 8);
- param->num_transportid = 0;
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0018-multipath-don-t-check-timestamps-without-a-path.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0018-multipath-don-t-check-timestamps-without-a-path.patch
deleted file mode 100644
index 5a3fd837..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0018-multipath-don-t-check-timestamps-without-a-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Tue, 5 Jun 2018 15:31:55 -0500
-Subject: [PATCH] multipath: don't check timestamps without a path
-
-If a path was blacklisted, pathvec could exist but have no path in it.
-print_cmd_valid wasn't checking this before calling
-find_multipaths_check_timeout(). This was causing it to dereference a
-NULL pointer in these cases.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- multipath/main.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/multipath/main.c b/multipath/main.c
-index c69e996..3f0a6aa 100644
---- a/multipath/main.c
-+++ b/multipath/main.c
-@@ -482,10 +482,8 @@ static int print_cmd_valid(int k, const vector pathvec,
- pp, pp->find_multipaths_timeout, &until);
- if (wait != FIND_MULTIPATHS_WAITING)
- k = 1;
-- } else if (pathvec != NULL) {
-- pp = VECTOR_SLOT(pathvec, 0);
-+ } else if (pathvec != NULL && (pp = VECTOR_SLOT(pathvec, 0)))
- wait = find_multipaths_check_timeout(pp, 0, &until);
-- }
- if (wait == FIND_MULTIPATHS_WAITING)
- printf("FIND_MULTIPATHS_WAIT_UNTIL=\"%ld.%06ld\"\n",
- until.tv_sec, until.tv_nsec/1000);
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0019-libmultipath-fix-detect-alua-corner-case.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0019-libmultipath-fix-detect-alua-corner-case.patch
deleted file mode 100644
index 23908fa5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0019-libmultipath-fix-detect-alua-corner-case.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Fri, 8 Jun 2018 17:12:37 -0500
-Subject: [PATCH] libmultipath: fix detect alua corner case
-
-If retain_attach_hw_handler = no, then the paths tpgs state will never
-be checked, and the multipath device will always select the alua
-handler, if no other handler is selected. the paths tpgs state
-should be checked, regardless of the retain_hwhandler value.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/propsel.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c
-index 62a6893..f626c74 100644
---- a/libmultipath/propsel.c
-+++ b/libmultipath/propsel.c
-@@ -403,9 +403,11 @@ int select_hwhandler(struct config *conf, struct multipath *mp)
- bool all_tpgs = true;
-
- dh_state = &handler[2];
-+
-+ vector_foreach_slot(mp->paths, pp, i)
-+ all_tpgs = all_tpgs && (pp->tpgs > 0);
- if (mp->retain_hwhandler != RETAIN_HWHANDLER_OFF) {
- vector_foreach_slot(mp->paths, pp, i) {
-- all_tpgs = all_tpgs && (pp->tpgs > 0);
- if (get_dh_state(pp, dh_state, sizeof(handler) - 2) > 0
- && strcmp(dh_state, "detached")) {
- memcpy(handler, "1 ", 2);
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0020-multipath-fix-setting-conf-version.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0020-multipath-fix-setting-conf-version.patch
deleted file mode 100644
index 624f45ef..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0020-multipath-fix-setting-conf-version.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Fri, 8 Jun 2018 17:23:07 -0500
-Subject: [PATCH] multipath: fix setting conf->version
-
-Commit d3b71498 stopped multipath from setting conf->version. Instead,
-it was always being set to 0.0.0. Multipathd was still setting this
-correctly.
-
-Fixes: d3b71498 "multipath: fix rcu thread cancellation hang"
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libmultipath/devmapper.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c
-index f2befad..8136d15 100644
---- a/libmultipath/devmapper.c
-+++ b/libmultipath/devmapper.c
-@@ -245,13 +245,13 @@ void libmp_dm_init(void)
- int verbosity;
- unsigned int version[3];
-
-+ if (dm_prereq(version))
-+ exit(1);
- conf = get_multipath_config();
- verbosity = conf->verbosity;
-- memcpy(version, conf->version, sizeof(version));
-+ memcpy(conf->version, version, sizeof(version));
- put_multipath_config(conf);
- dm_init(verbosity);
-- if (dm_prereq(version))
-- exit(1);
- dm_udev_set_sync_support(libmp_dm_udev_sync);
- }
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
index 4ef3e708..e88e2561 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
@@ -10,18 +10,21 @@ false warnings that gcc throws because of the changed options. Fix these
too.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Update patch to 0.8.0
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
Makefile.inc | 2 +-
kpartx/kpartx.rules | 2 +-
multipath/Makefile | 4 ++--
- multipath/main.c | 2 +-
- 4 files changed, 5 insertions(+), 5 deletions(-)
+ 3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc
-index af2f5ba..0b271ea 100644
+index fc728ca..2f0bcea 100644
--- a/Makefile.inc
+++ b/Makefile.inc
-@@ -51,7 +51,7 @@ endif
+@@ -48,7 +48,7 @@ endif
prefix =
exec_prefix = $(prefix)
usr_prefix = $(prefix)
@@ -64,19 +67,6 @@ index 0828a8f..b9bbb3c 100644
$(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
$(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
-diff --git a/multipath/main.c b/multipath/main.c
-index 3f0a6aa..6fdde03 100644
---- a/multipath/main.c
-+++ b/multipath/main.c
-@@ -389,7 +389,7 @@ static int find_multipaths_check_timeout(const struct path *pp, long tmo,
- struct timespec now, ftimes[2], tdiff;
- struct stat st;
- long fd;
-- int r, err, retries = 0;
-+ int r, err = 0, retries = 0;
-
- clock_gettime(CLOCK_REALTIME, &now);
-
--
2.7.4
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
index 451c524c..21b8ec6b 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Wed, 2 Jul 2014 12:49:53 -0500
-Subject: [PATCH] RH: Remove the property blacklist exception builtin
+From 0000000000000000000000000000000000000000 Mon Sep 17
+00:00:00 2001 From:Benjamin Marzinski <bmarzins@redhat.com> Date: Wed, 2 Jul
+2014 12:49:53 -0500 Subject: [PATCH] RH: Remove the property blacklist
+exception builtin
Multipath set the default property blacklist exceptions to
(ID_SCSI_VPD|ID_WWN). This has the effect of blacklisting some internal
@@ -12,76 +12,46 @@ blacklist_exception is given, then devices aren't failed for not matching
it.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upsteam-Status: Pending
+
+Update patch to 0.8.2
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- libmultipath/blacklist.c | 15 ++++++---------
- multipath/multipath.conf.5 | 14 ++++++++------
- 2 files changed, 14 insertions(+), 15 deletions(-)
+ libmultipath/blacklist.c | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c
-index ee396e2..19d4697 100644
+index 00e8dbd..5204501 100644
--- a/libmultipath/blacklist.c
+++ b/libmultipath/blacklist.c
-@@ -181,12 +181,6 @@ setup_default_blist (struct config * conf)
- if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT))
- return 1;
+@@ -192,12 +192,6 @@ setup_default_blist (struct config * conf)
+ char * str;
+ int i;
-- str = STRDUP("(SCSI_IDENT_|ID_WWN)");
+- str = STRDUP("^(ram|zram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]");
- if (!str)
- return 1;
-- if (store_ble(conf->elist_property, str, ORIGIN_DEFAULT))
+- if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT))
- return 1;
-
- vector_foreach_slot (conf->hwtable, hwe, i) {
- if (hwe->bl_product) {
- if (_blacklist_device(conf->blist_device, hwe->vendor,
-@@ -390,9 +384,12 @@ filter_property(struct config * conf, struct udev_device * udev)
- * This is the inverse of the 'normal' matching;
- * the environment variable _has_ to match.
- */
-- log_filter(devname, NULL, NULL, NULL, NULL,
-- MATCH_PROPERTY_BLIST_MISSING);
-- return MATCH_PROPERTY_BLIST_MISSING;
-+ if (VECTOR_SIZE(conf->elist_property)) {
-+ log_filter(devname, NULL, NULL, NULL, NULL,
-+ MATCH_PROPERTY_BLIST_MISSING);
-+ return MATCH_PROPERTY_BLIST_MISSING;
-+ }
-+ return 0;
+ str = STRDUP("^(td|hd|vd)[a-z]");
+ if (!str)
+ return 1;
+@@ -437,8 +431,11 @@ filter_property(struct config *conf, struct udev_device *udev, int lvl,
+ r = MATCH_NOTHING;
+ }
+
+- log_filter(devname, NULL, NULL, NULL, env, NULL, r, lvl);
+- return r;
++ if (VECTOR_SIZE(conf->elist_property)) {
++ log_filter(devname, NULL, NULL, NULL, env, NULL, r, lvl);
++ return r;
++ }
++ return 0;
}
- void
-diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
-index 30d8598..c45da9f 100644
---- a/multipath/multipath.conf.5
-+++ b/multipath/multipath.conf.5
-@@ -1179,10 +1179,6 @@ The \fIWorld Wide Identification\fR of a device.
- .TP
- .B property
- Regular expression of the udev property to be whitelisted.
--.RS
--.TP
--The default is: \fB(SCSI_IDENT_|ID_WWN)\fR
--.RE
- .TP
- .B device
- Subsection for the device description. This subsection recognizes the
-@@ -1193,8 +1189,14 @@ keywords. For a full description of these keywords please see the \fIdevices\fR
- section description.
- .LP
- The \fIproperty\fR whitelist handling is different from the usual
--handling in the sense that the device \fIhas\fR to have a udev property that
--matches the whitelist, otherwise the device will be blacklisted. In these cases the message \fIblacklisted, udev property missing\fR will be displayed.
-+handling in the sense that if the propery whitelist is set, the device
-+\fIhas\fR to have a udev property that matches the whitelist, otherwise the
-+device will be blacklisted. In these cases the message \fIblacklisted, udev
-+property missing\fR will be displayed. For example settting the
-+property blacklist_exception to \fB(SCSI_IDENT_|ID_WWN)\fR will blacklist
-+all devices that have no udev property whose name regex matches either
-+\fBSCSI_IDENT_\fR or \fBID_WWN\fR. This works to exclude most
-+non-multipathable devices.
- .
- .
- .\" ----------------------------------------------------------------------------
+ static void free_ble(struct blentry *ble)
--
2.7.4
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
index 886f1c86..ea6137f8 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
@@ -1,7 +1,10 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Wed, 15 Oct 2014 10:39:30 -0500
-Subject: [PATCH] RH: don't start without a config file
+From 0bf8ff8dab26201b268b419809844c07e168f17d Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 23 Nov 2018 17:25:15 +0800
+Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
+ 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Wed, 15
+ Oct 2014 10:39:30 -0500 Subject: [PATCH] RH: don't start without a config
+ file
If /etc/multipath.conf doesn't exist, don't start multipathd and blacklist
all devices when running multipath. A completely blank configuration file
@@ -11,16 +14,21 @@ simple way to disable multipath. Simply removing or renaming
/etc/multipath.conf will keep multipath from doing anything.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+update this patch to new version
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- libmultipath/config.c | 15 +++++++++++++++
+ libmultipath/config.c | 18 ++++++++++++++++++
libmultipath/config.h | 1 +
multipath/multipath.rules | 1 +
multipathd/multipathd.8 | 2 ++
multipathd/multipathd.service | 1 +
- 5 files changed, 20 insertions(+)
+ 5 files changed, 23 insertions(+)
diff --git a/libmultipath/config.c b/libmultipath/config.c
-index 5872927..0607403 100644
+index 5af7af5..e4233f1 100644
--- a/libmultipath/config.c
+++ b/libmultipath/config.c
@@ -26,6 +26,7 @@
@@ -30,30 +38,33 @@ index 5872927..0607403 100644
+#include "version.h"
static int
- hwe_strmatch (struct hwentry *hwe1, struct hwentry *hwe2)
-@@ -658,6 +659,20 @@ load_config (char * file)
- factorize_hwtable(conf->hwtable, builtin_hwtable_size);
+ hwe_strmatch (const struct hwentry *hwe1, const struct hwentry *hwe2)
+@@ -743,6 +745,23 @@ load_config (char * file)
+ goto out;
}
-
+ factorize_hwtable(conf->hwtable, builtin_hwtable_size, file);
+ } else {
+ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
+ if (conf->blist_devnode == NULL) {
+ conf->blist_devnode = vector_alloc();
+ if (!conf->blist_devnode) {
-+ condlog(0, "cannot allocate blacklist\n");
++ conf->blist_devnode = vector_alloc();
++ if (!conf->blist_devnode) {
++ condlog(0, "cannot allocate blacklist\n");
++ goto out;
++ }
++ }
++ if (store_ble(conf->blist_devnode, strdup(".*"),
++ ORIGIN_NO_CONFIG)) {
++ condlog(0, "cannot store default no-config blacklist\n");
+ goto out;
+ }
+ }
-+ if (store_ble(conf->blist_devnode, strdup(".*"),
-+ ORIGIN_NO_CONFIG)) {
-+ condlog(0, "cannot store default no-config blacklist\n");
-+ goto out;
-+ }
}
conf->processed_main_config = 1;
diff --git a/libmultipath/config.h b/libmultipath/config.h
-index fcbe3fc..3a42435 100644
+index 7d0cd9a..d7fb8e2 100644
--- a/libmultipath/config.h
+++ b/libmultipath/config.h
@@ -9,6 +9,7 @@
@@ -65,7 +76,7 @@ index fcbe3fc..3a42435 100644
/*
* In kernel, fast_io_fail == 0 means immediate failure on rport delete.
diff --git a/multipath/multipath.rules b/multipath/multipath.rules
-index d658073..b3f54d7 100644
+index 9df11a9..0486bf7 100644
--- a/multipath/multipath.rules
+++ b/multipath/multipath.rules
@@ -9,6 +9,7 @@ IMPORT{cmdline}="nompath"
@@ -77,7 +88,7 @@ index d658073..b3f54d7 100644
ENV{DEVTYPE}!="partition", GOTO="test_dev"
IMPORT{parent}="DM_MULTIPATH_DEVICE_PATH"
diff --git a/multipathd/multipathd.8 b/multipathd/multipathd.8
-index e78ac9e..09cdead 100644
+index 94c3f97..ed13efd 100644
--- a/multipathd/multipathd.8
+++ b/multipathd/multipathd.8
@@ -38,6 +38,8 @@ map regains its maximum performance and redundancy.
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
index 9330bf07..17542fd4 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
@@ -1,52 +1,64 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Wed, 19 Apr 2017 06:10:01 -0500
-Subject: [PATCH] RH: use rpm optflags if present
+From 436f7594485e35523269e662c4b5dc3a2c10ff9b Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 09:19:17 +0800
+Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep
+17
+ 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Wed,
+19
+ Apr 2017 06:10:01 -0500 Subject: [PATCH] RH: use rpm optflags if
+present
Use the passed in optflags when compiling as an RPM, and keep the
default flags as close as possible to the current fedora flags, while
still being generic.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+update this patch to new version
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
Makefile.inc | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc
-index 0b271ea..5ff69a3 100644
+index 42dbb5bf..55a06c60 100644
--- a/Makefile.inc
+++ b/Makefile.inc
-@@ -85,14 +85,22 @@ TEST_CC_OPTION = $(shell \
+@@ -89,15 +89,23 @@ TEST_CC_OPTION = $(shell \
echo "$(2)"; \
fi)
-STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
--
--OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int \
-- -Werror=implicit-function-declaration -Werror=format-security \
-- -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \
-- -Werror=cast-qual -Werror=discarded-qualifiers \
-- -Wp,-D_FORTIFY_SOURCE=2 $(STACKPROT) \
-- --param=ssp-buffer-size=4
+-ERROR_DISCARDED_QUALIFIERS := $(call TEST_CC_OPTION,-Werror=discarded-qualifiers,)
+-WNOCLOBBERED := $(call TEST_CC_OPTION,-Wno-clobbered,)
+ifndef RPM_OPT_FLAGS
-+ STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
-+ OPTFLAGS = -O2 -g -pipe -Wall -Werror=format-security \
-+ -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \
-+ $(STACKPROT) --param=ssp-buffer-size=4 \
-+ -grecord-gcc-switches
-+ ifeq ($(shell test -f /usr/lib/rpm/redhat/redhat-hardened-cc1 && echo 1),1)
-+ OPTFLAGS += -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-+ endif
++ STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
++ OPTFLAGS = -O2 -g -pipe -Wall -Werror=format-security \
++ -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \
++ $(STACKPROT) --param=ssp-buffer-size=4 \
++ -grecord-gcc-switches
++ ifeq ($(shell test -f /usr/lib/rpm/redhat/redhat-hardened-cc1 && echo 1),1)
++ OPTFLAGS += -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
++ endif
+else
-+ OPTFLAGS = $(RPM_OPT_FLAGS)
++ OPTFLAGS = $(RPM_OPT_FLAGS)
+endif
-+OPTFLAGS += -Wextra -Wstrict-prototypes -Wformat=2 -Werror=implicit-int \
-+ -Werror=implicit-function-declaration -Wno-sign-compare \
-+ -Wno-unused-parameter -Werror=cast-qual \
-+ -Werror=discarded-qualifiers
++OPTFLAGS += -Wextra -Wstrict-prototypes -Wformat=2 -Werror=implicit-int \
++ -Werror=implicit-function-declaration -Wno-sign-compare \
++ -Wno-unused-parameter -Werror=cast-qual \
++ -Werror=discarded-qualifiers
+-OPTFLAGS = -O2 -g -pipe -Werror -Wall -Wextra -Wformat=2 -Werror=implicit-int \
+- -Werror=implicit-function-declaration -Werror=format-security \
+- $(WNOCLOBBERED) \
+- -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) \
+- $(STACKPROT) --param=ssp-buffer-size=4
+ CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2
CFLAGS := $(OPTFLAGS) -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
-MMD -MP $(CFLAGS)
--
-2.7.4
+2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
index 5cad22b2..a1407718 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
@@ -1,7 +1,9 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Thu, 16 Oct 2014 15:49:01 -0500
-Subject: [PATCH] RH: add mpathconf
+From eb5a36e6e0caedf06008e48eb77b7bf7c6534ee5 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 09:55:12 +0800
+Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
+ 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Thu, 16
+ Oct 2014 15:49:01 -0500 Subject: [PATCH] RH: add mpathconf
mpathconf is a program (largely based on lvmcomf) to help users
configure /etc/multipath.conf and enable or disable multipathing. It
@@ -11,6 +13,12 @@ with the OS defaults, and to enable and disable multipathing via
a single command.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+update this patch to new version
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
libmultipath/config.c | 1 +
multipath/Makefile | 5 +
@@ -21,11 +29,11 @@ Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
create mode 100644 multipath/mpathconf.8
diff --git a/libmultipath/config.c b/libmultipath/config.c
-index 0607403..5c98e48 100644
+index e4233f1..b779505 100644
--- a/libmultipath/config.c
+++ b/libmultipath/config.c
-@@ -661,6 +661,7 @@ load_config (char * file)
-
+@@ -747,6 +747,7 @@ load_config (char * file)
+ factorize_hwtable(conf->hwtable, builtin_hwtable_size, file);
} else {
condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
+ condlog(0, "You can run /sbin/mpathconf to create or modify /etc/multipath.conf");
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
index ddf022f7..5fd6d668 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
@@ -1,7 +1,13 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Fri, 17 Oct 2014 11:20:34 -0500
-Subject: [PATCH] RH: add wwids from kernel cmdline mpath.wwids with -A
+From 0f54b3120ca06ff3168cdbf901a27b68c4638398 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 26 Sep 2019 16:29:48 +0800
+Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep
+17
+ 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Fri,
+17
+ Oct 2014 11:20:34 -0500 Subject: [PATCH] RH: add wwids from kernel
+cmdline
+ mpath.wwids with -A
This patch adds another option to multipath, "-A", which reads
/proc/cmdline for mpath.wwid=<WWID> options, and adds any wwids it finds
@@ -13,68 +19,71 @@ patch also execs "/sbin/multipath -A" before running multipathd in
multipathd.service
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+Update this patch to new version 0.8.2
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- libmultipath/wwids.c | 44 +++++++++++++++++++++++++++++++++++++++++++
- libmultipath/wwids.h | 1 +
- multipath/main.c | 10 ++++++++--
- multipath/multipath.8 | 5 ++++-
- multipathd/multipathd.service | 1 +
- 5 files changed, 58 insertions(+), 3 deletions(-)
+ libmultipath/wwids.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ libmultipath/wwids.h | 1 +
+ 2 files changed, 45 insertions(+)
diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c
-index 53e7951..39e08cd 100644
+index 28a2150d..a0bfa851 100644
--- a/libmultipath/wwids.c
+++ b/libmultipath/wwids.c
-@@ -443,3 +443,47 @@ int op ## _wwid(const char *wwid) \
+@@ -454,3 +454,47 @@ int op ## _wwid(const char *wwid) \
declare_failed_wwid_op(is_failed, false)
declare_failed_wwid_op(mark_failed, true)
declare_failed_wwid_op(unmark_failed, true)
+
+int remember_cmdline_wwid(void)
+{
-+ FILE *f = NULL;
-+ char buf[LINE_MAX], *next, *ptr;
-+ int ret = 0;
++ FILE *f = NULL;
++ char buf[LINE_MAX], *next, *ptr;
++ int ret = 0;
+
-+ f = fopen("/proc/cmdline", "re");
-+ if (!f) {
-+ condlog(0, "can't open /proc/cmdline : %s", strerror(errno));
-+ return -1;
-+ }
++ f = fopen("/proc/cmdline", "re");
++ if (!f) {
++ condlog(0, "can't open /proc/cmdline : %s", strerror(errno));
++ return -1;
++ }
+
-+ if (!fgets(buf, sizeof(buf), f)) {
-+ if (ferror(f))
-+ condlog(0, "read of /proc/cmdline failed : %s",
-+ strerror(errno));
-+ else
-+ condlog(0, "couldn't read /proc/cmdline");
-+ fclose(f);
-+ return -1;
-+ }
-+ fclose(f);
-+ next = buf;
-+ while((ptr = strstr(next, "mpath.wwid="))) {
-+ ptr += 11;
-+ next = strpbrk(ptr, " \t\n");
-+ if (next) {
-+ *next = '\0';
-+ next++;
-+ }
-+ if (strlen(ptr)) {
-+ if (remember_wwid(ptr) != 0)
-+ ret = -1;
-+ }
-+ else {
-+ condlog(0, "empty mpath.wwid kernel command line option");
-+ ret = -1;
-+ }
-+ if (!next)
-+ break;
-+ }
-+ return ret;
++ if (!fgets(buf, sizeof(buf), f)) {
++ if (ferror(f))
++ condlog(0, "read of /proc/cmdline failed : %s",
++ strerror(errno));
++ else
++ condlog(0, "couldn't read /proc/cmdline");
++ fclose(f);
++ return -1;
++ }
++ fclose(f);
++ next = buf;
++ while((ptr = strstr(next, "mpath.wwid="))) {
++ ptr += 11;
++ next = strpbrk(ptr, " \t\n");
++ if (next) {
++ *next = '\0';
++ next++;
++ }
++ if (strlen(ptr)) {
++ if (remember_wwid(ptr) != 0)
++ ret = -1;
++ }
++ else {
++ condlog(0, "empty mpath.wwid kernel command line option");
++ ret = -1;
++ }
++ if (!next)
++ break;
++ }
++ return ret;
+}
diff --git a/libmultipath/wwids.h b/libmultipath/wwids.h
-index 0c6ee54..e32a0b0 100644
+index 0c6ee54d..e32a0b0e 100644
--- a/libmultipath/wwids.h
+++ b/libmultipath/wwids.h
@@ -17,6 +17,7 @@ int remember_wwid(char *wwid);
@@ -85,83 +94,6 @@ index 0c6ee54..e32a0b0 100644
enum {
WWID_IS_NOT_FAILED = 0,
-diff --git a/multipath/main.c b/multipath/main.c
-index 6fdde03..7bac232 100644
---- a/multipath/main.c
-+++ b/multipath/main.c
-@@ -109,7 +109,7 @@ usage (char * progname)
- {
- fprintf (stderr, VERSION_STRING);
- fprintf (stderr, "Usage:\n");
-- fprintf (stderr, " %s [-a|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname);
-+ fprintf (stderr, " %s [-a|-A|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname);
- fprintf (stderr, " %s -l|-ll|-f [-v lvl] [-b fil] [-R num] [dev]\n", progname);
- fprintf (stderr, " %s -F [-v lvl] [-R num]\n", progname);
- fprintf (stderr, " %s -t\n", progname);
-@@ -123,6 +123,8 @@ usage (char * progname)
- " -f flush a multipath device map\n"
- " -F flush all multipath device maps\n"
- " -a add a device wwid to the wwids file\n"
-+ " -A add devices from kernel command line mpath.wwids\n"
-+ " parameters to wwids file\n"
- " -c check if a device should be a path in a multipath device\n"
- " -C check if a multipath device has usable paths\n"
- " -q allow queue_if_no_path when multipathd is not running\n"
-@@ -907,7 +909,7 @@ main (int argc, char *argv[])
- exit(1);
- multipath_conf = conf;
- conf->retrigger_tries = 0;
-- while ((arg = getopt(argc, argv, ":adcChl::FfM:v:p:b:BrR:itquUwW")) != EOF ) {
-+ while ((arg = getopt(argc, argv, ":aAdcChl::FfM:v:p:b:BrR:itquUwW")) != EOF ) {
- switch(arg) {
- case 1: printf("optarg : %s\n",optarg);
- break;
-@@ -974,6 +976,10 @@ main (int argc, char *argv[])
- case 't':
- r = dump_config(conf);
- goto out_free_config;
-+ case 'A':
-+ if (remember_cmdline_wwid() != 0)
-+ exit(1);
-+ exit(0);
- case 'h':
- usage(argv[0]);
- exit(0);
-diff --git a/multipath/multipath.8 b/multipath/multipath.8
-index 914a8cb..8c6a4c1 100644
---- a/multipath/multipath.8
-+++ b/multipath/multipath.8
-@@ -25,7 +25,7 @@ multipath \- Device mapper target autoconfig.
- .RB [\| \-b\ \c
- .IR bindings_file \|]
- .RB [\| \-d \|]
--.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-C | \-q | \-r | \-i | \-a | \-u | \-U | \-w | \-W \|]
-+.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-C | \-q | \-r | \-i | \-a | \-A | \-u | \-U | \-w | \-W \|]
- .RB [\| \-p\ \c
- .IR failover | multibus | group_by_serial | group_by_prio | group_by_node_name \|]
- .RB [\| \-R\ \c
-@@ -135,6 +135,9 @@ Add the WWID for the specified device to the WWIDs file.
- Check if the device specified in the program environment should be
- a path in a multipath device.
- .
-+.B \-A
-+add wwids from any kernel command line mpath.wwid parameters to the wwids file
-+.
- .TP
- .B \-U
- Check if the device specified in the program environment is a multipath device
-diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
-index 17434ce..0fbcc46 100644
---- a/multipathd/multipathd.service
-+++ b/multipathd/multipathd.service
-@@ -15,6 +15,7 @@ Type=notify
- NotifyAccess=main
- LimitCORE=infinity
- ExecStartPre=-/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath
-+ExecStartPre=-/sbin/multipath -A
- ExecStart=/sbin/multipathd -d -s
- ExecReload=/sbin/multipathd reconfigure
- TasksMax=infinity
--
-2.7.4
+2.17.1
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
index a23e1673..c59edbbb 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Mon, 6 Nov 2017 21:39:28 -0600
-Subject: [PATCH] RH: warn on invalid regex instead of failing
+From 0000000000000000000000000000000000000000 Mon Sep 17
+00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Mon, 6 Nov
+2017 21:39:28 -0600 Subject: [PATCH] RH: warn on invalid regex instead of
+failing
multipath.conf used to allow "*" as a match everything regular expression,
instead of requiring ".*". Instead of erroring when the old style
@@ -9,48 +9,56 @@ regular expressions are used, it should print a warning and convert
them.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+update this patch to 0.8.2
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- libmultipath/dict.c | 27 +++++++++++++++++++++------
+ libmultipath/dict.c | 29 ++++++++++++++++++++++-------
libmultipath/parser.c | 13 +++++++++++++
libmultipath/parser.h | 1 +
- 3 files changed, 35 insertions(+), 6 deletions(-)
+ 3 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/libmultipath/dict.c b/libmultipath/dict.c
-index 7ad0f5a..ab808d6 100644
+index c6eba0f..05ed3d8 100644
--- a/libmultipath/dict.c
+++ b/libmultipath/dict.c
-@@ -55,6 +55,21 @@ set_str(vector strvec, void *ptr)
+@@ -59,6 +59,21 @@ set_str(vector strvec, void *ptr)
}
static int
+set_regex(vector strvec, void *ptr)
+{
-+ char **str_ptr = (char **)ptr;
++ char **str_ptr = (char **)ptr;
+
-+ if (*str_ptr)
-+ FREE(*str_ptr);
-+ *str_ptr = set_regex_value(strvec);
++ if (*str_ptr)
++ FREE(*str_ptr);
++ *str_ptr = set_regex_value(strvec);
+
-+ if (!*str_ptr)
-+ return 1;
++ if (!*str_ptr)
++ return 1;
+
-+ return 0;
++ return 0;
+}
+
+static int
set_yes_no(vector strvec, void *ptr)
{
char * buff;
-@@ -1271,7 +1286,7 @@ ble_ ## option ## _handler (struct config *conf, vector strvec) \
+@@ -1415,8 +1430,8 @@ ble_ ## option ## _handler (struct config *conf, vector strvec) \
+ \
if (!conf->option) \
return 1; \
- \
+- \
- buff = set_value(strvec); \
++ \
+ buff = set_regex_value(strvec); \
if (!buff) \
return 1; \
\
-@@ -1287,7 +1302,7 @@ ble_ ## option ## _ ## name ## _handler (struct config *conf, vector strvec) \
+@@ -1432,7 +1447,7 @@ ble_ ## option ## _ ## name ## _handler (struct config *conf, vector strvec) \
if (!conf->option) \
return 1; \
\
@@ -59,7 +67,7 @@ index 7ad0f5a..ab808d6 100644
if (!buff) \
return 1; \
\
-@@ -1388,16 +1403,16 @@ device_handler(struct config *conf, vector strvec)
+@@ -1535,16 +1550,16 @@ device_handler(struct config *conf, vector strvec)
return 0;
}
@@ -81,24 +89,24 @@ index 7ad0f5a..ab808d6 100644
declare_hw_handler(hwhandler, set_str)
diff --git a/libmultipath/parser.c b/libmultipath/parser.c
-index b8b7e0d..34b4ad2 100644
+index e00c5ff..6ca5842 100644
--- a/libmultipath/parser.c
+++ b/libmultipath/parser.c
-@@ -380,6 +380,19 @@ set_value(vector strvec)
- return alloc;
+@@ -382,6 +382,19 @@ oom:
+ return NULL;
}
+void *
+set_regex_value(vector strvec)
+{
-+ char *buff = set_value(strvec);
++ char *buff = set_value(strvec);
+
-+ if (buff && strcmp("*", buff) == 0) {
-+ condlog(0, "Invalid regular expression \"*\" in multipath.conf. Using \".*\"");
-+ FREE(buff);
-+ return strdup(".*");
-+ }
-+ return buff;
++ if (buff && strcmp("*", buff) == 0) {
++ condlog(0, "Invalid regular expression \"*\" in multipath.conf. Using \".*\"");
++ FREE(buff);
++ return strdup(".*");
++ }
++ return buff;
+}
+
/* non-recursive configuration stream handler */
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
index 05e68649..ad03b8ac 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
@@ -1,18 +1,27 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Thu, 7 Jun 2018 17:43:52 -0500
-Subject: [PATCH] RH: reset default find_mutipaths value to off
+From 16900150e02e5b367a8b33621b393975ad011130 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 11:12:01 +0800
+Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
+ 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Thu, 7 Jun
+ 2018 17:43:52 -0500 Subject: [PATCH] RH: reset default find_mutipaths value
+ to off
Upstream has changed to default find_multipaths to "strict". For now
Redhat will retain the previous default of "off".
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+Update this patch to new version
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
libmultipath/defaults.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
-index f076b4b..70ba98a 100644
+index 6576939..a2404b2 100644
--- a/libmultipath/defaults.h
+++ b/libmultipath/defaults.h
@@ -17,7 +17,7 @@
@@ -20,7 +29,7 @@ index f076b4b..70ba98a 100644
#define DEFAULT_VERBOSITY 2
#define DEFAULT_REASSIGN_MAPS 0
-#define DEFAULT_FIND_MULTIPATHS FIND_MULTIPATHS_STRICT
-+#define DEFAULT_FIND_MULTIPATHS FIND_MULTIPATHS_OFF
++#define DEFAULT_FIND_MULTIPATHS FIND_MULTIPATHS_OFF
#define DEFAULT_FAST_IO_FAIL 5
#define DEFAULT_DEV_LOSS_TMO 600
#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_ON
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
index 45cd32ac..3919f990 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
@@ -1,6 +1,6 @@
-From 8bdd4481d822b6625d8bf719431ca74ed1b5e021 Mon Sep 17 00:00:00 2001
+From c3436ec8a502a40579abf62be0a479fa9d7888ad Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 16 Jul 2018 15:56:37 +0800
+Date: Tue, 4 Jun 2019 11:39:39 +0800
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
@@ -23,21 +23,29 @@ update for version 0.7.7
remove change about CFLAGS part, since patch 0024 already have similar function.
Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+update for version 0.8.1
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- Makefile.inc | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
+ Makefile.inc | 11 -----------
+ 1 file changed, 11 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc
-index 57a1835..0c403c7 100644
+index 661f141..3f9fd28 100644
--- a/Makefile.inc
+++ b/Makefile.inc
-@@ -38,12 +38,6 @@ ifndef RUN
+@@ -35,17 +35,6 @@ ifndef RUN
endif
endif
-ifndef SYSTEMD
-- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1)
-- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p')
+- ifeq ($(shell pkg-config --modversion libsystemd >/dev/null 2>&1 && echo 1), 1)
+- SYSTEMD = $(shell pkg-config --modversion libsystemd)
+- else
+- ifeq ($(shell systemctl --version >/dev/null 2>&1 && echo 1), 1)
+- SYSTEMD = $(shell systemctl --version 2> /dev/null | \
+- sed -n 's/systemd \([0-9]*\).*/\1/p')
+- endif
- endif
-endif
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
index 12811804..3e88b410 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
@@ -1,7 +1,7 @@
-From d929a1ea5e42ecbe30c990644ed4ada2817c6439 Mon Sep 17 00:00:00 2001
+From e4acb46b10484d1da6f093257e34f269832e6a37 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 16 Jul 2018 16:00:14 +0800
-Subject: [PATCH] Always use devmapper
+Date: Mon, 26 Nov 2018 11:17:41 +0800
+Subject: [PATCH] Subject: [PATCH] Always use devmapper
Do not try to compute several _API_ make variables
from host information when cross-compiling.
@@ -18,12 +18,15 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Rebase to 0.7.7
Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+Rebase to 0.7.9
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
libmultipath/Makefile | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/libmultipath/Makefile b/libmultipath/Makefile
-index f51786d..3ad9c48 100644
+index 33f5269..adf6f4a 100644
--- a/libmultipath/Makefile
+++ b/libmultipath/Makefile
@@ -20,21 +20,10 @@ ifdef SYSTEMD
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
index 88a758dc..418c0200 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
@@ -1,7 +1,7 @@
-From 145f2b829e5362cda975bebafd7fe4d00ff56d1c Mon Sep 17 00:00:00 2001
+From 1fe937835311a2d0afbc85ce4a4dbd3c9e0c912f Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 16 Jul 2018 16:02:07 +0800
-Subject: [PATCH] Always use devmapper for kpartx
+Date: Mon, 26 Nov 2018 11:19:45 +0800
+Subject: [PATCH] Subject: [PATCH] Always use devmapper for kpartx
Do not try to compute the LIBDM_API_COOKIE make variable
from host information when cross-compiling.
@@ -16,6 +16,9 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Rebase to 0.7.7
Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+Rebase to 0.7.9
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
kpartx/Makefile | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.7.bb b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.7.bb
deleted file mode 100644
index 5cc15460..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.7.bb
+++ /dev/null
@@ -1,131 +0,0 @@
-SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
-
-DESCRIPTION = "It provides tools to manage multipath devices \
-by instructing the device-mapper kernel module what to do. These \
-tools include: \
-1. multipath - Scan the system for multipath devices and assemble them.\
-2. multipathd - Detects when paths fail and execs multipath to update \
-things.\
-3. mpathpersist - Persistent reservation management feature allows \
-cluster management software to manage persistent reservation through \
-mpath device. It processes management requests from callers and hides \
-the management task details. It also handles persistent reservation \
-management of data path life cycle and state changes.\
-4. kpartx - This tool, derived from util-linux's partx, reads partition \
-tables on specified device and create device maps over partitions \
-segments detected. It is called from hotplug upon device maps creation \
-and deletion"
-
-HOMEPAGE = "http://christophe.varoqui.free.fr/"
-
-DEPENDS = "libdevmapper \
- libaio \
- liburcu \
- readline \
- udev \
- json-c \
- "
-
-LICENSE = "GPLv2"
-
-SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
- file://multipathd.oe \
- file://multipath.conf.example \
- file://0001-multipath-tools-add-RDAC-SUN-ArrayStorage-to-hwtable.patch \
- file://0002-multipath-tools-remove-c-from-__cpluscplus-misspelle.patch \
- file://0003-multipath-tools-remove-emacs-autoconfig-of-kpartx-gp.patch \
- file://0004-multipath-tools-replace-FSF-address-with-a-www-point.patch \
- file://0005-multipath-tools-Remove-trailing-leading-whitespaces-.patch \
- file://0006-multipath-tools-fix-compilation-with-musl-libc.patch \
- file://0007-multipath-tools-add-x-to-doc-preclean.pl-and-split-m.patch \
- file://0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch \
- file://0009-multipath-tools-configure-hitachi-ams2000-and-hus100.patch \
- file://0010-libmultipath-don-t-reject-maps-with-undefined-prio.patch \
- file://0011-multipathd-handle-errors-in-uxlsnr-as-fatal.patch \
- file://0012-libmultipath-fix-error-parsing-find_multipaths-stric.patch \
- file://0013-libmultipath-print-correct-default-for-delay_-_check.patch \
- file://0014-multipath.conf.5-clarify-property-whitelist-handling.patch \
- file://0015-mpathpersist-add-all_tg_pt-option.patch \
- file://0016-libmultipath-remove-rbd-code.patch \
- file://0017-mpathpersist-fix-aptpl-support.patch \
- file://0018-multipath-don-t-check-timestamps-without-a-path.patch \
- file://0019-libmultipath-fix-detect-alua-corner-case.patch \
- file://0020-multipath-fix-setting-conf-version.patch \
- file://0021-RH-fixup-udev-rules-for-redhat.patch \
- file://0022-RH-Remove-the-property-blacklist-exception-builtin.patch \
- file://0023-RH-don-t-start-without-a-config-file.patch \
- file://0024-RH-use-rpm-optflags-if-present.patch \
- file://0025-RH-add-mpathconf.patch \
- file://0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \
- file://0027-RH-warn-on-invalid-regex-instead-of-failing.patch \
- file://0028-RH-reset-default-find_mutipaths-value-to-off.patch \
- file://0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \
- file://0030-Always-use-devmapper.patch \
- file://0031-Always-use-devmapper-for-kpartx.patch \
- "
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-SRCREV = "386d288b5595fc2c01dffe698b6eb306c6674908"
-
-S = "${WORKDIR}/git"
-
-inherit systemd pkgconfig
-
-SYSTEMD_SERVICE_${PN} = "multipathd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-# multipath-tools includes a copy of the valgrind.h header
-# file and uses the macros to suppress some false positives. However,
-# that only works on ARM when thumb is disabled. Otherwise one gets:
-# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
-# ../Makefile.inc:66: recipe for target 'debug.o' failed
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-# The exact version of SYSTEMD does not matter but should be greater than 209.
-#
-EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
- OPTFLAGS="${CFLAGS}" \
- bindir=${base_sbindir} \
- LIB=${base_libdir} libdir=${base_libdir}/multipath \
- unitdir=${systemd_system_unitdir} \
- ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \
- '
-
-do_install() {
- oe_runmake install
-
- # We copy an initscript, but do not start multipathd at init time.
- #
- if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then
- install -d ${D}${sysconfdir}/init.d
- cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd
- fi
-
- install -d ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/multipath.conf.example \
- ${D}${sysconfdir}/multipath.conf.example
-}
-
-FILES_${PN}-dbg += "${base_libdir}/multipath/.debug"
-
-PACKAGES =+ "${PN}-libs"
-FILES_${PN}-libs = "${base_libdir}/lib*.so.* \
- ${base_libdir}/multipath/lib*.so*"
-RDEPENDS_${PN} += "${PN}-libs bash"
-
-PROVIDES += "device-mapper-multipath"
-RPROVIDES_${PN} += "device-mapper-multipath"
-RPROVIDES_${PN}-libs += "device-mapper-multipath-libs"
-
-FILES_${PN}-dev += "${base_libdir}/pkgconfig"
-
-PACKAGES =+ "kpartx"
-FILES_kpartx = "${base_sbindir}/kpartx \
- ${nonarch_libdir}/udev/kpartx_id \
- "
-
-RDEPENDS_${PN} += "bash kpartx"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.4.bb b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.4.bb
new file mode 100644
index 00000000..af34a4b3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.4.bb
@@ -0,0 +1,118 @@
+SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
+
+DESCRIPTION = "It provides tools to manage multipath devices \
+by instructing the device-mapper kernel module what to do. These \
+tools include: \
+1. multipath - Scan the system for multipath devices and assemble them.\
+2. multipathd - Detects when paths fail and execs multipath to update \
+things.\
+3. mpathpersist - Persistent reservation management feature allows \
+cluster management software to manage persistent reservation through \
+mpath device. It processes management requests from callers and hides \
+the management task details. It also handles persistent reservation \
+management of data path life cycle and state changes.\
+4. kpartx - This tool, derived from util-linux's partx, reads partition \
+tables on specified device and create device maps over partitions \
+segments detected. It is called from hotplug upon device maps creation \
+and deletion"
+
+HOMEPAGE = "http://christophe.varoqui.free.fr/"
+
+DEPENDS = "libdevmapper \
+ lvm2 \
+ libaio \
+ liburcu \
+ readline \
+ udev \
+ json-c \
+ "
+
+LICENSE = "GPLv2"
+
+SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
+ file://multipathd.oe \
+ file://multipath.conf.example \
+ file://0021-RH-fixup-udev-rules-for-redhat.patch \
+ file://0022-RH-Remove-the-property-blacklist-exception-builtin.patch \
+ file://0023-RH-don-t-start-without-a-config-file.patch \
+ file://0024-RH-use-rpm-optflags-if-present.patch \
+ file://0025-RH-add-mpathconf.patch \
+ file://0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \
+ file://0027-RH-warn-on-invalid-regex-instead-of-failing.patch \
+ file://0028-RH-reset-default-find_mutipaths-value-to-off.patch \
+ file://0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \
+ file://0030-Always-use-devmapper.patch \
+ file://0031-Always-use-devmapper-for-kpartx.patch \
+ file://0001-fix-bug-of-do_compile-and-do_install.patch \
+ file://0001-add-explicit-dependency-on-libraries.patch \
+ "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+SRCREV = "d4915917655b3d205aa0e339ca13080ed8182d0d"
+
+S = "${WORKDIR}/git"
+
+inherit systemd pkgconfig
+
+SYSTEMD_SERVICE_${PN} = "multipathd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+# multipath-tools includes a copy of the valgrind.h header
+# file and uses the macros to suppress some false positives. However,
+# that only works on ARM when thumb is disabled. Otherwise one gets:
+# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
+# ../Makefile.inc:66: recipe for target 'debug.o' failed
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+# The exact version of SYSTEMD does not matter but should be greater than 209.
+#
+EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
+ OPTFLAGS="${CFLAGS}" \
+ bindir=${base_sbindir} \
+ LIB=${base_libdir} libdir=${base_libdir}/multipath \
+ unitdir=${systemd_system_unitdir} \
+ libudevdir=${nonarch_base_libdir}/udev \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \
+ '
+
+do_install() {
+ oe_runmake install
+
+ # We copy an initscript, but do not start multipathd at init time.
+ #
+ if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then
+ install -d ${D}${sysconfdir}/init.d
+ cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd
+ fi
+
+ sed -i "s:/usr/lib/udev/kpartx_id:${nonarch_base_libdir}/udev/kpartx_id:g" \
+ ${D}${nonarch_base_libdir}/udev/rules.d/11-dm-mpath.rules
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/multipath.conf.example \
+ ${D}${sysconfdir}/multipath.conf.example
+}
+
+FILES_${PN}-dbg += "${base_libdir}/multipath/.debug"
+
+PACKAGES =+ "${PN}-libs"
+FILES_${PN}-libs = "${base_libdir}/lib*.so.* \
+ ${base_libdir}/multipath/lib*.so*"
+RDEPENDS_${PN} += "${PN}-libs bash"
+
+PROVIDES += "device-mapper-multipath"
+RPROVIDES_${PN} += "device-mapper-multipath"
+RPROVIDES_${PN}-libs += "device-mapper-multipath-libs"
+
+FILES_${PN}-dev += "${base_libdir}/pkgconfig"
+
+PACKAGES =+ "kpartx"
+FILES_kpartx = "${base_sbindir}/kpartx \
+ ${nonarch_base_libdir}/udev/kpartx_id \
+ "
+
+RDEPENDS_${PN} += "kpartx"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nano/nano_3.0.bb b/external/meta-openembedded/meta-oe/recipes-support/nano/nano_3.0.bb
deleted file mode 100644
index 2c7fbd54..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/nano/nano_3.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "GNU nano (Nano's ANOther editor, or \
-Not ANOther editor) is an enhanced clone of the \
-Pico text editor."
-HOMEPAGE = "http://www.nano-editor.org/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-SECTION = "console/utils"
-DEPENDS = "ncurses file"
-RDEPENDS_${PN} = "ncurses-terminfo-base"
-
-PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
-
-SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "74196427a09ec2f82a88facd220d2787"
-SRC_URI[sha256sum] = "e0a5bca354514e64762c987c200a8758b05e7bcced3b00b3e48ea0a2d383c8a0"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG[tiny] = "--enable-tiny,"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nano/nano_4.9.3.bb b/external/meta-openembedded/meta-oe/recipes-support/nano/nano_4.9.3.bb
new file mode 100644
index 00000000..645b07b4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nano/nano_4.9.3.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "GNU nano (Nano's ANOther editor, or \
+Not ANOther editor) is an enhanced clone of the \
+Pico text editor."
+HOMEPAGE = "http://www.nano-editor.org/"
+SECTION = "console/utils"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+
+DEPENDS = "ncurses file"
+RDEPENDS_${PN} = "ncurses-terminfo-base"
+
+PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
+
+SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
+SRC_URI[md5sum] = "52137a960ae8b3ca6d7dab6767fe6e5f"
+SRC_URI[sha256sum] = "6e3438f033a0ed07d3d74c30d0803cbda3d2366ba1601b7bbf9b16ac371f51b4"
+
+UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano"
+
+inherit autotools gettext pkgconfig
+
+PACKAGECONFIG[tiny] = "--enable-tiny,"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/external/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
index 3afdff77..f37ccde1 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -15,22 +15,17 @@ PV .= "gitr+${SRCPV}"
inherit cmake
-NE10_TARGET_ARCH = ""
-EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"'
-
+# Incompatible with archs other than armv7, armv7ve and aarch64
+COMPATIBLE_MACHINE = "(^$)"
COMPATIBLE_MACHINE_aarch64 = "(.*)"
COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_armv7ve = "(.*)"
+NE10_TARGET_ARCH = ""
+NE10_TARGET_ARCH_aarch64 = "aarch64"
+NE10_TARGET_ARCH_armv7a = "armv7"
+NE10_TARGET_ARCH_armv7ve = "armv7"
-python () {
- 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').split()):
- d.setVar('NE10_TARGET_ARCH', 'aarch64')
- bb.debug(2, 'Building Ne10 for aarch64')
- else:
- raise bb.parse.SkipRecipe("Incompatible with archs other than armv7 and aarch64")
-}
+EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"'
do_install() {
install -d ${D}${libdir}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch
new file mode 100644
index 00000000..d2b9bf64
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch
@@ -0,0 +1,35 @@
+From 147f3c2acbd96d44025cec11800ded0282327764 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 18 Sep 2017 17:22:43 -0700
+Subject: [PATCH] md: Fix build with musl
+
+The MIPS specific header <sgidefs.h> is not provided by musl
+linux kernel headers provide <asm/sgidefs.h> which has same definitions
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ pr/include/md/_linux.cfg | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/pr/include/md/_linux.cfg
++++ b/pr/include/md/_linux.cfg
+@@ -499,7 +499,7 @@
+ #elif defined(__mips__)
+
+ /* For _ABI64 */
+-#include <sgidefs.h>
++#include <asm/sgidefs.h>
+
+ #ifdef __MIPSEB__
+ #define IS_BIG_ENDIAN 1
+@@ -511,7 +511,7 @@
+ #error "Unknown MIPS endianness."
+ #endif
+
+-#if _MIPS_SIM == _ABI64
++#if _MIPS_SIM == _MIPS_SIM_ABI64
+
+ #define IS_64
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch
new file mode 100644
index 00000000..3a04d426
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch
@@ -0,0 +1,102 @@
+From 95bda64fb4cf1825fea745e918cfe8202843f0ba Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Sat, 30 Jan 2016 07:18:02 +0100
+Subject: [PATCH] Add nios2 support
+
+Add support for the nios2 CPU.
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Upstream-Status: Submitted [ https://bugzilla.mozilla.org/show_bug.cgi?id=1244421 ]
+---
+ nspr/pr/include/md/_linux.cfg | 45 +++++++++++++++++++++++++++++++++++++++++++
+ nspr/pr/include/md/_linux.h | 14 ++++++++++++++
+ 2 files changed, 59 insertions(+)
+
+Index: nspr/pr/include/md/_linux.cfg
+===================================================================
+--- nspr.orig/pr/include/md/_linux.cfg
++++ nspr/pr/include/md/_linux.cfg
+@@ -975,6 +975,51 @@
+ #define PR_BYTES_PER_WORD_LOG2 2
+ #define PR_BYTES_PER_DWORD_LOG2 3
+
++#elif defined(__nios2__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 4
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 4
++#define PR_BYTES_PER_DWORD 8
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 32
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 32
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 5
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 5
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 4
++#define PR_ALIGN_OF_INT64 4
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 4
++#define PR_ALIGN_OF_POINTER 4
++#define PR_ALIGN_OF_WORD 4
++
++#define PR_BYTES_PER_WORD_LOG2 2
++#define PR_BYTES_PER_DWORD_LOG2 3
++
+ #elif defined(__or1k__)
+
+ #undef IS_LITTLE_ENDIAN
+Index: nspr/pr/include/md/_linux.h
+===================================================================
+--- nspr.orig/pr/include/md/_linux.h
++++ nspr/pr/include/md/_linux.h
+@@ -55,6 +55,8 @@
+ #define _PR_SI_ARCHITECTURE "avr32"
+ #elif defined(__m32r__)
+ #define _PR_SI_ARCHITECTURE "m32r"
++#elif defined(__nios2__)
++#define _PR_SI_ARCHITECTURE "nios2"
+ #elif defined(__or1k__)
+ #define _PR_SI_ARCHITECTURE "or1k"
+ #elif defined(__riscv) && (__riscv_xlen == 32)
+@@ -129,6 +131,18 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRIn
+ #define _MD_ATOMIC_SET _PR_x86_64_AtomicSet
+ #endif
+
++#if defined(__nios2__)
++#if defined(__GNUC__)
++/* Use GCC built-in functions */
++#define _PR_HAVE_ATOMIC_OPS
++#define _MD_INIT_ATOMIC()
++#define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1)
++#define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1)
++#define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i)
++#define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv)
++#endif
++#endif
++
+ #if defined(__or1k__)
+ #if defined(__GNUC__)
+ /* Use GCC built-in functions */
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch
new file mode 100644
index 00000000..90fe45f3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch
@@ -0,0 +1,103 @@
+From 8a592e4ead4ed6befe6044da3dd2dc7523c33905 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Fri, 16 Nov 2018 13:52:49 +0800
+Subject: [PATCH] Makefile.in: remove _BUILD_STRING and _BUILD_TIME
+
+Remove _BUILD_STRING and _BUILD_TIME to avoid
+adding timestamp to _pl_bld.h which can result
+in adding timestamp in library file such as
+libnspr4.so.
+ $ readelf --wide --decompress --hex-dump=.rodata libnspr4.so
+ [snip]
+ 0x00004000 32303138 2d31312d 31352030 353a3439 2018-11-15 05:49
+ [snip]
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ lib/ds/Makefile.in | 8 +-------
+ lib/libc/src/Makefile.in | 8 +-------
+ lib/prstreams/Makefile.in | 8 +-------
+ pr/src/Makefile.in | 8 +-------
+ 4 files changed, 4 insertions(+), 28 deletions(-)
+
+diff --git a/lib/ds/Makefile.in b/lib/ds/Makefile.in
+index e737791..b578476 100644
+--- a/lib/ds/Makefile.in
++++ b/lib/ds/Makefile.in
+@@ -114,13 +114,7 @@ GARBAGE += $(TINC)
+
+ $(TINC):
+ @$(MAKE_OBJDIR)
+- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
+- @if test ! -z "$(SH_NOW)"; then \
+- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
+- else \
+- true; \
+- fi
+- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
++ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC)
+
+
+ $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC)
+diff --git a/lib/libc/src/Makefile.in b/lib/libc/src/Makefile.in
+index e8a6d9f..978ed28 100644
+--- a/lib/libc/src/Makefile.in
++++ b/lib/libc/src/Makefile.in
+@@ -116,13 +116,7 @@ GARBAGE += $(TINC)
+
+ $(TINC):
+ @$(MAKE_OBJDIR)
+- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
+- @if test ! -z "$(SH_NOW)"; then \
+- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
+- else \
+- true; \
+- fi
+- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
++ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC)
+
+
+ $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC)
+diff --git a/lib/prstreams/Makefile.in b/lib/prstreams/Makefile.in
+index aeb2944..f318097 100644
+--- a/lib/prstreams/Makefile.in
++++ b/lib/prstreams/Makefile.in
+@@ -116,13 +116,7 @@ endif
+
+ $(TINC):
+ @$(MAKE_OBJDIR)
+- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
+- @if test ! -z "$(SH_NOW)"; then \
+- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
+- else \
+- true; \
+- fi
+- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
++ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC)
+
+
+ $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC)
+diff --git a/pr/src/Makefile.in b/pr/src/Makefile.in
+index 19c5a69..b4ac31c 100644
+--- a/pr/src/Makefile.in
++++ b/pr/src/Makefile.in
+@@ -326,13 +326,7 @@ GARBAGE += $(TINC)
+
+ $(TINC):
+ @$(MAKE_OBJDIR)
+- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
+- @if test ! -z "$(SH_NOW)"; then \
+- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
+- else \
+- true; \
+- fi
+- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
++ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC)
+
+
+ $(OBJDIR)/prvrsion.$(OBJ_SUFFIX): prvrsion.c $(TINC)
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/fix-build-on-x86_64.patch b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/fix-build-on-x86_64.patch
new file mode 100644
index 00000000..f12acc85
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/fix-build-on-x86_64.patch
@@ -0,0 +1,52 @@
+Fix build failure on x86_64
+
+When the target_cpu is x86_64, we should assume that the pkg uses 64bit,
+only if USE_N32 is set, we can assume that the pkg uses 32bit. It used a
+opposite logic before.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
+Upstream-Status: Pending
+---
+ configure.in | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+Index: nspr/configure.in
+===================================================================
+--- nspr.orig/configure.in
++++ nspr/configure.in
+@@ -1875,28 +1875,24 @@ tools are selected during the Xcode/Deve
+ PR_MD_ASFILES=os_Linux_ia64.s
+ ;;
+ x86_64)
+- if test -n "$USE_64"; then
+- PR_MD_ASFILES=os_Linux_x86_64.s
+- elif test -n "$USE_X32"; then
++ if test -n "$USE_X32"; then
++ AC_DEFINE(i386)
+ PR_MD_ASFILES=os_Linux_x86_64.s
+ CC="$CC -mx32"
+ CXX="$CXX -mx32"
+ else
+- AC_DEFINE(i386)
+- PR_MD_ASFILES=os_Linux_x86.s
+- CC="$CC -m32"
+- CXX="$CXX -m32"
++ PR_MD_ASFILES=os_Linux_x86_64.s
+ fi
+ ;;
+ ppc|powerpc)
+ PR_MD_ASFILES=os_Linux_ppc.s
+ ;;
+ powerpc64)
+- if test -n "$USE_64"; then
++ if test -n "$USE_N32"; then
++ PR_MD_ASFILES=os_Linux_ppc.s
++ else
+ CC="$CC -m64"
+ CXX="$CXX -m64"
+- else
+- PR_MD_ASFILES=os_Linux_ppc.s
+ fi
+ ;;
+ esac
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/nspr.pc.in b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/nspr.pc.in
new file mode 100644
index 00000000..1f15d19c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/nspr.pc.in
@@ -0,0 +1,11 @@
+os_libs=-lpthread -ldl
+prefix=OEPREFIX
+exec_prefix=OEEXECPREFIX
+libdir=OELIBDIR
+includedir=OEINCDIR
+
+Name: NSPR
+Description: The Netscape Portable Runtime
+Version: NSPRVERSION
+Libs: -L${libdir} -lplds4 -lplc4 -lnspr4 -lpthread -ldl
+Cflags: -I${includedir}/nspr
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/remove-rpath-from-tests.patch b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/remove-rpath-from-tests.patch
new file mode 100644
index 00000000..7ba59ed6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/remove-rpath-from-tests.patch
@@ -0,0 +1,26 @@
+Author: Andrei Gherzan <andrei@gherzan.ro>
+Date: Thu Feb 9 00:03:38 2012 +0200
+
+Avoid QA warnings by removing hardcoded rpath from binaries.
+
+[...]
+WARNING: QA Issue: package nspr contains bad RPATH {builddir}/tmp/work/armv5te-poky-linux-gnueabi/nspr-4.8.9-r1/nspr-4.8.9/mozilla/nsprpub/pr/tests/../../dist/lib
+in file {builddir}/tmp/work/armv5te-poky-linux-gnueabi/nspr-4.8.9-r1/packages-split/nspr/usr/lib/nspr/tests/multiwait
+[...]
+
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+Upstream-Status: Pending
+
+Index: nspr/pr/tests/Makefile.in
+===================================================================
+--- nspr.orig/pr/tests/Makefile.in
++++ nspr/pr/tests/Makefile.in
+@@ -316,7 +316,7 @@ ifeq ($(OS_ARCH), SunOS)
+ endif # SunOS
+
+ ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH)))
+- LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR)
++ LDOPTS += -Xlinker
+ ifeq ($(USE_PTHREADS),1)
+ EXTRA_LIBS = -lpthread
+ endif
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch
new file mode 100644
index 00000000..bde715c5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch
@@ -0,0 +1,19 @@
+the $srcdir is not defined at the time of gnu-configurize.
+
+Upstream-Status: Inappropriate [OE-Core specific]
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+
+Index: nspr/configure.in
+===================================================================
+--- nspr.orig/configure.in
++++ nspr/configure.in
+@@ -8,7 +8,7 @@ AC_PREREQ(2.61)
+ AC_INIT
+ AC_CONFIG_SRCDIR([pr/include/nspr.h])
+
+-AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf)
++AC_CONFIG_AUX_DIR(build/autoconf)
+ AC_CANONICAL_TARGET
+
+ dnl ========================================================
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.25.bb b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.25.bb
new file mode 100644
index 00000000..1de26e1e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nspr/nspr_4.25.bb
@@ -0,0 +1,197 @@
+SUMMARY = "Netscape Portable Runtime Library"
+HOMEPAGE = "http://www.mozilla.org/projects/nspr/"
+LICENSE = "GPL-2.0 | MPL-2.0 | LGPL-2.1"
+LIC_FILES_CHKSUM = "file://configure.in;beginline=3;endline=6;md5=90c2fdee38e45d6302abcfe475c8b5c5 \
+ file://Makefile.in;beginline=4;endline=38;md5=beda1dbb98a515f557d3e58ef06bca99"
+SECTION = "libs/network"
+
+SRC_URI = "http://ftp.mozilla.org/pub/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \
+ file://remove-rpath-from-tests.patch \
+ file://fix-build-on-x86_64.patch \
+ file://remove-srcdir-from-configure-in.patch \
+ file://0002-Add-nios2-support.patch \
+ file://0001-md-Fix-build-with-musl.patch \
+ file://Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch \
+ file://nspr.pc.in \
+"
+
+CACHED_CONFIGUREVARS_append_libc-musl = " CFLAGS='${CFLAGS} -D_PR_POLL_AVAILABLE \
+ -D_PR_HAVE_OFF64_T -D_PR_INET6 -D_PR_HAVE_INET_NTOP \
+ -D_PR_HAVE_GETHOSTBYNAME2 -D_PR_HAVE_GETADDRINFO \
+ -D_PR_INET6_PROBE -DNO_DLOPEN_NULL'"
+
+UPSTREAM_CHECK_URI = "http://ftp.mozilla.org/pub/nspr/releases/"
+UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+)/"
+
+SRC_URI[md5sum] = "4ca4d75a424f30fcdc766296bb103d17"
+SRC_URI[sha256sum] = "0bc309be21f91da4474c56df90415101c7f0c7c7cab2943cd943cd7896985256"
+
+CVE_PRODUCT = "netscape_portable_runtime"
+
+S = "${WORKDIR}/nspr-${PV}/nspr"
+
+RDEPENDS_${PN}-dev += "perl"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+TESTS = " \
+ accept \
+ acceptread \
+ acceptreademu \
+ affinity \
+ alarm \
+ anonfm \
+ atomic \
+ attach \
+ bigfile \
+ cleanup \
+ cltsrv \
+ concur \
+ cvar \
+ cvar2 \
+ dlltest \
+ dtoa \
+ errcodes \
+ exit \
+ fdcach \
+ fileio \
+ foreign \
+ formattm \
+ fsync \
+ gethost \
+ getproto \
+ i2l \
+ initclk \
+ inrval \
+ instrumt \
+ intrio \
+ intrupt \
+ io_timeout \
+ ioconthr \
+ join \
+ joinkk \
+ joinku \
+ joinuk \
+ joinuu \
+ layer \
+ lazyinit \
+ libfilename \
+ lltest \
+ lock \
+ lockfile \
+ logfile \
+ logger \
+ many_cv \
+ multiwait \
+ nameshm1 \
+ nblayer \
+ nonblock \
+ ntioto \
+ ntoh \
+ op_2long \
+ op_excl \
+ op_filnf \
+ op_filok \
+ op_nofil \
+ parent \
+ parsetm \
+ peek \
+ perf \
+ pipeping \
+ pipeping2 \
+ pipeself \
+ poll_nm \
+ poll_to \
+ pollable \
+ prftest \
+ primblok \
+ provider \
+ prpollml \
+ ranfile \
+ randseed \
+ reinit \
+ rwlocktest \
+ sel_spd \
+ selct_er \
+ selct_nm \
+ selct_to \
+ selintr \
+ sema \
+ semaerr \
+ semaping \
+ sendzlf \
+ server_test \
+ servr_kk \
+ servr_uk \
+ servr_ku \
+ servr_uu \
+ short_thread \
+ sigpipe \
+ socket \
+ sockopt \
+ sockping \
+ sprintf \
+ stack \
+ stdio \
+ str2addr \
+ strod \
+ switch \
+ system \
+ testbit \
+ testfile \
+ threads \
+ timemac \
+ timetest \
+ tpd \
+ udpsrv \
+ vercheck \
+ version \
+ writev \
+ xnotify \
+ zerolen"
+
+inherit autotools multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/nspr-config"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+# Do not install nspr in usr/include, but in usr/include/nspr, the
+# preferred path upstream.
+EXTRA_OECONF += "--includedir=${includedir}/nspr"
+
+do_compile_prepend() {
+ oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX ${BUILD_CFLAGS}" LDFLAGS="" CC="${BUILD_CC}" -C config export
+}
+
+do_compile_append() {
+ oe_runmake -C pr/tests
+}
+
+do_install_append() {
+ install -D ${WORKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc
+ sed -i \
+ -e 's:NSPRVERSION:${PV}:g' \
+ -e 's:OEPREFIX:${prefix}:g' \
+ -e 's:OELIBDIR:${libdir}:g' \
+ -e 's:OEINCDIR:${includedir}:g' \
+ -e 's:OEEXECPREFIX:${exec_prefix}:g' \
+ ${D}${libdir}/pkgconfig/nspr.pc
+
+ mkdir -p ${D}${libdir}/nspr/tests
+ install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests
+ install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests
+ cd ${B}/pr/tests
+ install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests
+
+ # delete compile-et.pl and perr.properties from ${bindir} because these are
+ # only used to generate prerr.c and prerr.h files from prerr.et at compile
+ # time
+ rm ${D}${bindir}/compile-et.pl ${D}${bindir}/prerr.properties
+}
+
+FILES_${PN} = "${libdir}/lib*.so"
+FILES_${PN}-dev = "${bindir}/* ${libdir}/nspr/tests/* ${libdir}/pkgconfig \
+ ${includedir}/* ${datadir}/aclocal/* "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-Enable-uint128-on-mips64.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-Enable-uint128-on-mips64.patch
new file mode 100644
index 00000000..90ec379c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-Enable-uint128-on-mips64.patch
@@ -0,0 +1,48 @@
+From 8cf7afb5417e23cd3ebf8141239bf020f5dd2ac8 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 30 Apr 2020 06:56:09 +0000
+Subject: [PATCH] Enable uint128 on mips64
+
+Fix below error:
+| verified/kremlin/kremlib/dist/minimal/FStar_UInt128.h:22:1: error: 'FStar_UInt128___proj__Mkuint128__item__low' declared 'static' but never defined [-Werror=unused-function]
+| 22 | FStar_UInt128___proj__Mkuint128__item__low(FStar_UInt128_uint128 projectee);
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ .../freebl/verified/kremlin/include/kremlin/internal/types.h | 3 ++-
+ .../kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h b/nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
+index 801e78f..cdac61e 100644
+--- a/nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
++++ b/nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
+@@ -57,7 +57,8 @@ typedef const char *Prims_string;
+ typedef __m128i FStar_UInt128_uint128;
+ #elif !defined(KRML_VERIFIED_UINT128) && !defined(_MSC_VER) && \
+ (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__) || \
+- (defined(__riscv) && __riscv_xlen == 64))
++ (defined(__riscv) && __riscv_xlen == 64) || \
++ defined(__mips64))
+ typedef unsigned __int128 FStar_UInt128_uint128;
+ #else
+ typedef struct FStar_UInt128_uint128_s {
+diff --git a/nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h b/nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
+index f38fda3..7ca67d2 100644
+--- a/nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
++++ b/nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
+@@ -26,7 +26,8 @@
+ #include <stdint.h>
+ #if !defined(KRML_VERIFIED_UINT128) && !defined(_MSC_VER) && \
+ (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__) || \
+- (defined(__riscv) && __riscv_xlen == 64))
++ (defined(__riscv) && __riscv_xlen == 64) || \
++ defined(__mips64))
+
+ /* GCC + using native unsigned __int128 support */
+
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
new file mode 100644
index 00000000..c380c144
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
@@ -0,0 +1,52 @@
+From 5595e9651aca39af945931c73eb524a0f8bd130d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 18 Dec 2019 12:29:50 +0100
+Subject: [PATCH] freebl: add a configure option to disable ARM HW crypto
+
+Not all current hardware supports it, particularly anything
+prior to armv8 does not.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ nss/lib/freebl/Makefile | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/nss/lib/freebl/Makefile
++++ b/nss/lib/freebl/Makefile
+@@ -125,6 +125,9 @@ else
+ DEFINES += -DNSS_X86
+ endif
+ endif
++
++ifdef NSS_USE_ARM_HW_CRYPTO
++ DEFINES += -DNSS_USE_ARM_HW_CRYPTO
+ ifeq ($(CPU_ARCH),aarch64)
+ DEFINES += -DUSE_HW_AES
+ EXTRA_SRCS += aes-armv8.c gcm-aarch64.c
+@@ -146,6 +149,7 @@ ifeq ($(CPU_ARCH),arm)
+ endif
+ endif
+ endif
++endif
+
+ ifeq ($(OS_TARGET),OSF1)
+ DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_NO_MP_WORD
+--- a/nss/lib/freebl/gcm.c
++++ b/nss/lib/freebl/gcm.c
+@@ -17,6 +17,7 @@
+
+ #include <limits.h>
+
++#ifdef NSS_USE_ARM_HW_CRYPTO
+ /* old gcc doesn't support some poly64x2_t intrinsic */
+ #if defined(__aarch64__) && defined(IS_LITTLE_ENDIAN) && \
+ (defined(__clang__) || defined(__GNUC__) && __GNUC__ > 6)
+@@ -25,6 +26,7 @@
+ /* We don't test on big endian platform, so disable this on big endian. */
+ #define USE_ARM_GCM
+ #endif
++#endif
+
+ /* Forward declarations */
+ SECStatus gcm_HashInit_hw(gcmHashContext *ghash);
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch
new file mode 100644
index 00000000..d5403397
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch
@@ -0,0 +1,48 @@
+From 0cf47ee432cc26a706864fcc09b2c3adc342a679 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 22 Feb 2017 11:36:11 +0200
+Subject: [PATCH] nss: fix support cross compiling
+
+Let some make variables be assigned from outside makefile.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ nss/coreconf/arch.mk | 2 +-
+ nss/lib/freebl/Makefile | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/nss/coreconf/arch.mk b/nss/coreconf/arch.mk
+index 06c276f..9c1eb51 100644
+--- a/nss/coreconf/arch.mk
++++ b/nss/coreconf/arch.mk
+@@ -30,7 +30,7 @@ OS_TEST := $(shell uname -m)
+ ifeq ($(OS_TEST),i86pc)
+ OS_RELEASE := $(shell uname -r)_$(OS_TEST)
+ else
+- OS_RELEASE := $(shell uname -r)
++ OS_RELEASE ?= $(shell uname -r)
+ endif
+
+ #
+diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile
+index 0ce1425..ebeb411 100644
+--- a/nss/lib/freebl/Makefile
++++ b/nss/lib/freebl/Makefile
+@@ -36,6 +36,12 @@ ifdef USE_64
+ DEFINES += -DNSS_USE_64
+ endif
+
++ifeq ($(OS_TEST),mips)
++ifndef USE_64
++ DEFINES += -DNS_PTR_LE_32
++endif
++endif
++
+ ifdef USE_ABI32_FPU
+ DEFINES += -DNSS_USE_ABI32_FPU
+ endif
+--
+2.11.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/blank-cert9.db b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/blank-cert9.db
new file mode 100644
index 00000000..7d4bcf25
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/blank-cert9.db
Binary files differ
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/blank-key4.db b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/blank-key4.db
new file mode 100644
index 00000000..d47f08d0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/blank-key4.db
Binary files differ
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch
new file mode 100644
index 00000000..de812d27
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch
@@ -0,0 +1,33 @@
+clang 3.9 add this warning to rightly flag undefined
+behavior, we relegate this to be just a warning instead
+of error and keep the behavior as it was. Right fix would
+be to not pass enum to the function with variadic arguments
+as last named argument
+
+Fixes errors like
+ocsp.c:2220:22: error: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Werror,-Wvarargs]
+ va_start(ap, responseType0);
+ ^
+ocsp.c:2200:43: note: parameter of type 'SECOidTag' is declared here
+ SECOidTag responseType0, ...)
+
+see
+https://www.securecoding.cert.org/confluence/display/cplusplus/EXP58-CPP.+Pass+an+object+of+the+correct+type+to+va_start
+for more details
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: nss-3.37.1/nss/coreconf/Werror.mk
+===================================================================
+--- nss-3.37.1.orig/nss/coreconf/Werror.mk
++++ nss-3.37.1/nss/coreconf/Werror.mk
+@@ -56,7 +56,7 @@ ifndef WARNING_CFLAGS
+ ifdef CC_IS_CLANG
+ # -Qunused-arguments : clang objects to arguments that it doesn't understand
+ # and fixing this would require rearchitecture
+- WARNING_CFLAGS += -Qunused-arguments
++ WARNING_CFLAGS += -Qunused-arguments -Wno-error=varargs
+ # -Wno-parentheses-equality : because clang warns about macro expansions
+ WARNING_CFLAGS += $(call disable_warning,parentheses-equality)
+ ifdef BUILD_OPT
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch
new file mode 100644
index 00000000..547594d5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch
@@ -0,0 +1,110 @@
+nss: fix incorrect shebang of perl
+
+Replace incorrect shebang of perl with `#!/usr/bin/env perl'.
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Upstream-Status: Pending
+---
+ nss/cmd/smimetools/smime | 2 +-
+ nss/coreconf/cpdist.pl | 2 +-
+ nss/coreconf/import.pl | 2 +-
+ nss/coreconf/jniregen.pl | 2 +-
+ nss/coreconf/outofdate.pl | 2 +-
+ nss/coreconf/release.pl | 2 +-
+ nss/coreconf/version.pl | 2 +-
+ nss/tests/clean_tbx | 2 +-
+ nss/tests/path_uniq | 2 +-
+ 9 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/nss/cmd/smimetools/smime b/nss/cmd/smimetools/smime
+--- a/nss/cmd/smimetools/smime
++++ b/nss/cmd/smimetools/smime
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/env perl
+
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+diff --git a/nss/coreconf/cpdist.pl b/nss/coreconf/cpdist.pl
+index 800edfb..652187f 100755
+--- a/nss/coreconf/cpdist.pl
++++ b/nss/coreconf/cpdist.pl
+@@ -1,4 +1,4 @@
+-#! /usr/local/bin/perl
++#!/usr/bin/env perl
+ #
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+diff --git a/nss/coreconf/import.pl b/nss/coreconf/import.pl
+index dd2d177..428eaa5 100755
+--- a/nss/coreconf/import.pl
++++ b/nss/coreconf/import.pl
+@@ -1,4 +1,4 @@
+-#! /usr/local/bin/perl
++#!/usr/bin/env perl
+ #
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+diff --git a/nss/coreconf/jniregen.pl b/nss/coreconf/jniregen.pl
+index 2039180..5f4f69c 100755
+--- a/nss/coreconf/jniregen.pl
++++ b/nss/coreconf/jniregen.pl
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/env perl
+ #
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+diff --git a/nss/coreconf/outofdate.pl b/nss/coreconf/outofdate.pl
+index 33d80bb..01fc097 100755
+--- a/nss/coreconf/outofdate.pl
++++ b/nss/coreconf/outofdate.pl
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/env perl
+ #
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+diff --git a/nss/coreconf/release.pl b/nss/coreconf/release.pl
+index 7cde19d..b5df2f6 100755
+--- a/nss/coreconf/release.pl
++++ b/nss/coreconf/release.pl
+@@ -1,4 +1,4 @@
+-#! /usr/local/bin/perl
++#!/usr/bin/env perl
+ #
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+diff --git a/nss/coreconf/version.pl b/nss/coreconf/version.pl
+index d2a4942..79359fe 100644
+--- a/nss/coreconf/version.pl
++++ b/nss/coreconf/version.pl
+@@ -1,4 +1,4 @@
+-#!/usr/sbin/perl
++#!/usr/bin/env perl
+ #
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+diff --git a/nss/tests/clean_tbx b/nss/tests/clean_tbx
+index 4de9555..a7def9f 100755
+--- a/nss/tests/clean_tbx
++++ b/nss/tests/clean_tbx
+@@ -1,4 +1,4 @@
+-#! /bin/perl
++#!/usr/bin/env perl
+
+ #######################################################################
+ #
+diff --git a/nss/tests/path_uniq b/nss/tests/path_uniq
+index f29f60a..08fbffa 100755
+--- a/nss/tests/path_uniq
++++ b/nss/tests/path_uniq
+@@ -1,4 +1,4 @@
+-#! /bin/perl
++#!/usr/bin/env perl
+
+ ########################################################################
+ #
+--
+1.8.1.2
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
new file mode 100644
index 00000000..43c09d13
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
@@ -0,0 +1,36 @@
+Fix nss multilib build on openSUSE 11.x 32bit
+
+While building lib64-nss on openSUSE 11.x 32bit, the nsinstall will
+fail with error:
+
+* nsinstall.c:1:0: sorry, unimplemented: 64-bit mode not compiled
+
+It caused by the '-m64' option which passed to host gcc.
+
+The nsinstall was built first while nss starting to build, it only runs
+on host to install built files, it doesn't need any cross-compling or
+multilib build options. Just clean the ARCHFLAG and LDFLAGS to fix this
+error.
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+===================================================
+Index: nss-3.24/nss/coreconf/nsinstall/Makefile
+===================================================================
+--- nss-3.24.orig/nss/coreconf/nsinstall/Makefile
++++ nss-3.24/nss/coreconf/nsinstall/Makefile
+@@ -18,6 +18,13 @@ INTERNAL_TOOLS = 1
+
+ include $(DEPTH)/coreconf/config.mk
+
++# nsinstall is unfit for cross-compiling/multilib-build since it was
++# always run on local host to install built files. This change intends
++# to clean the '-m64' from ARCHFLAG and LDFLAGS.
++ARCHFLAG =
++LDFLAGS =
++# CFLAGS =
++
+ ifeq (,$(filter-out OS2 WIN%,$(OS_TARGET)))
+ PROGRAM =
+ else
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch
new file mode 100644
index 00000000..7661dc93
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch
@@ -0,0 +1,26 @@
+nss:no rpath for cross compiling
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Upstream-Status: Inappropriate [configuration]
+---
+ nss/cmd/platlibs.mk | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk
+--- a/nss/cmd/platlibs.mk
++++ b/nss/cmd/platlibs.mk
+@@ -18,9 +18,9 @@ endif
+
+ ifeq ($(OS_ARCH), Linux)
+ ifeq ($(USE_64), 1)
+-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:/opt/sun/private/lib64:$$ORIGIN/../lib'
++#EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:/opt/sun/private/lib64:$$ORIGIN/../lib'
+ else
+-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib:/opt/sun/private/lib'
++#EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib:/opt/sun/private/lib'
+ endif
+ endif
+
+--
+1.8.1.2
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss.pc.in b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss.pc.in
new file mode 100644
index 00000000..402b4ecb
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/nss.pc.in
@@ -0,0 +1,11 @@
+prefix=OEPREFIX
+exec_prefix=OEEXECPREFIX
+libdir=OELIBDIR
+includedir=OEINCDIR
+
+Name: NSS
+Description: Network Security Services
+Version: %NSS_VERSION%
+Requires: nspr >= %NSPR_VERSION%
+Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lsoftokn3 -lnssutil3
+Cflags: -IOEINCDIR
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch
new file mode 100644
index 00000000..3a817faa
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch
@@ -0,0 +1,23 @@
+nss does not build on mips with clang because wrong types are used?
+
+pqg.c:339:16: error: comparison of constant 18446744073709551615 with expression of type 'unsigned long' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
+ if (addend < MP_DIGIT_MAX) {
+ ~~~~~~ ^ ~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: nss-3.37.1/nss/lib/freebl/pqg.c
+===================================================================
+--- nss-3.37.1.orig/nss/lib/freebl/pqg.c
++++ nss-3.37.1/nss/lib/freebl/pqg.c
+@@ -326,8 +326,8 @@ generate_h_candidate(SECItem *hit, mp_in
+
+ static SECStatus
+ addToSeed(const SECItem *seed,
+- unsigned long addend,
+- int seedlen, /* g in 186-1 */
++ unsigned long long addend,
++ int seedlen, /* g in 186-1 */
+ SECItem *seedout)
+ {
+ mp_int s, sum, modulus, tmp;
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/riscv.patch b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/riscv.patch
new file mode 100644
index 00000000..aef91a7c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/riscv.patch
@@ -0,0 +1,36 @@
+Enable uint128 on riscv64
+
+Fixes
+| verified/kremlin/kremlib/dist/minimal/LowStar_Endianness.h:29:37: error: 'load128_be' declared 'static' but never defined [-Werror=unused-function]
+| 29 | inline static FStar_UInt128_uint128 load128_be(uint8_t *x0);
+| | ^~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
++++ b/nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
+@@ -56,7 +56,8 @@ typedef const char *Prims_string;
+ #include <emmintrin.h>
+ typedef __m128i FStar_UInt128_uint128;
+ #elif !defined(KRML_VERIFIED_UINT128) && !defined(_MSC_VER) && \
+- (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__))
++ (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__) || \
++ (defined(__riscv) && __riscv_xlen == 64))
+ typedef unsigned __int128 FStar_UInt128_uint128;
+ #else
+ typedef struct FStar_UInt128_uint128_s {
+--- a/nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
++++ b/nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
+@@ -23,9 +23,10 @@
+ #include "FStar_UInt128.h"
+ #include "FStar_UInt_8_16_32_64.h"
+ #include "LowStar_Endianness.h"
+-
++#include <stdint.h>
+ #if !defined(KRML_VERIFIED_UINT128) && !defined(_MSC_VER) && \
+- (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__))
++ (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__) || \
++ (defined(__riscv) && __riscv_xlen == 64))
+
+ /* GCC + using native unsigned __int128 support */
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh
new file mode 100644
index 00000000..a74e499f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# signlibs.sh
+#
+# (c)2010 Wind River Systems, Inc.
+#
+# regenerates the .chk files for the NSS libraries that require it
+# since the ones that are built have incorrect checksums that were
+# calculated on the host where they really need to be done on the
+# target
+
+CHK_FILES=`ls /lib*/*.chk /usr/lib*/*.chk 2>/dev/null`
+SIGN_BINARY=`which shlibsign`
+for I in $CHK_FILES
+do
+ DN=`dirname $I`
+ BN=`basename $I .chk`
+ FN=$DN/$BN.so
+ $SIGN_BINARY -i $FN
+done
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss/system-pkcs11.txt b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/system-pkcs11.txt
new file mode 100644
index 00000000..1a264e9c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss/system-pkcs11.txt
@@ -0,0 +1,5 @@
+library=
+name=NSS Internal PKCS #11 Module
+parameters=configdir='sql:/etc/pki/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
+NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/nss/nss_3.51.1.bb b/external/meta-openembedded/meta-oe/recipes-support/nss/nss_3.51.1.bb
new file mode 100644
index 00000000..fba80ce2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/nss/nss_3.51.1.bb
@@ -0,0 +1,275 @@
+SUMMARY = "Mozilla's SSL and TLS implementation"
+DESCRIPTION = "Network Security Services (NSS) is a set of libraries \
+designed to support cross-platform development of \
+security-enabled client and server applications. \
+Applications built with NSS can support SSL v2 and v3, \
+TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \
+v3 certificates, and other security standards."
+HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/"
+SECTION = "libs"
+
+DEPENDS = "sqlite3 nspr zlib nss-native"
+DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
+
+LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)"
+
+LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \
+ file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \
+ file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132"
+
+VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}"
+
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \
+ file://nss.pc.in \
+ file://signlibs.sh \
+ file://0001-nss-fix-support-cross-compiling.patch \
+ file://nss-no-rpath-for-cross-compiling.patch \
+ file://nss-fix-incorrect-shebang-of-perl.patch \
+ file://disable-Wvarargs-with-clang.patch \
+ file://pqg.c-ULL_addend.patch \
+ file://blank-cert9.db \
+ file://blank-key4.db \
+ file://system-pkcs11.txt \
+ file://nss-fix-nsinstall-build.patch \
+ file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \
+ file://riscv.patch \
+ file://0001-Enable-uint128-on-mips64.patch \
+ "
+
+SRC_URI[md5sum] = "6acaf1ddff69306ae30a908881c6f233"
+SRC_URI[sha256sum] = "085c5eaceef040eddea639e2e068e70f0e368f840327a678ef74ae3d6c15ca78"
+
+UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
+UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
+
+inherit siteinfo
+
+TD = "${S}/tentative-dist"
+TDS = "${S}/tentative-dist-staging"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_configure_prepend_libc-musl () {
+ sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk
+}
+
+do_compile_prepend_class-native() {
+ export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr
+ export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
+ export NSS_ENABLE_WERROR=0
+}
+
+do_compile_prepend_class-nativesdk() {
+ export LDFLAGS=""
+}
+
+do_compile_prepend_class-native() {
+ # Need to set RPATH so that chrpath will do its job correctly
+ RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}"
+}
+
+do_compile() {
+ export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr
+
+ export CROSS_COMPILE=1
+ export NATIVE_CC="${BUILD_CC}"
+ # Additional defines needed on Centos 7
+ export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux"
+ export BUILD_OPT=1
+
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+
+ export LIBDIR=${libdir}
+ export MOZILLA_CLIENT=1
+ export NS_USE_GCC=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSS_ENABLE_ECC=1
+
+ ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)}
+
+ export OS_RELEASE=3.4
+ export OS_TARGET=Linux
+ export OS_ARCH=Linux
+
+ if [ "${TARGET_ARCH}" = "powerpc" ]; then
+ OS_TEST=ppc
+ elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
+ OS_TEST=ppc64
+ elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
+ OS_TEST=mips
+ elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
+ OS_TEST="aarch64"
+ else
+ OS_TEST="${TARGET_ARCH}"
+ fi
+
+ if [ "${SITEINFO_BITS}" = "64" ]; then
+ export USE_64=1
+ elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
+ export USE_X32=1
+ fi
+
+ export NSS_DISABLE_GTESTS=1
+
+ # We can modify CC in the environment, but if we set it via an
+ # argument to make, nsinstall, a host program, will also build with it!
+ #
+ # nss pretty much does its own thing with CFLAGS, so we put them into CC.
+ # Optimization will get clobbered, but most of the stuff will survive.
+ # The motivation for this is to point to the correct place for debug
+ # source files and CFLAGS does that. Nothing uses CCC.
+ #
+ export CC="${CC} ${CFLAGS}"
+ make -C ./nss CCC="${CXX} -g" \
+ OS_TEST=${OS_TEST} \
+ RPATH="${RPATH}"
+}
+
+do_compile[vardepsexclude] += "SITEINFO_BITS"
+
+do_install_prepend_class-nativesdk() {
+ export LDFLAGS=""
+}
+
+do_install() {
+ export CROSS_COMPILE=1
+ export NATIVE_CC="${BUILD_CC}"
+ export BUILD_OPT=1
+
+ export FREEBL_NO_DEPEND=1
+
+ export LIBDIR=${libdir}
+ export MOZILLA_CLIENT=1
+ export NS_USE_GCC=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSS_ENABLE_ECC=1
+
+ export OS_RELEASE=3.4
+ export OS_TARGET=Linux
+ export OS_ARCH=Linux
+
+ if [ "${TARGET_ARCH}" = "powerpc" ]; then
+ OS_TEST=ppc
+ elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
+ OS_TEST=ppc64
+ elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
+ OS_TEST=mips
+ elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
+ CPU_ARCH=aarch64
+ OS_TEST="aarch64"
+ else
+ OS_TEST="${TARGET_ARCH}"
+ fi
+ if [ "${SITEINFO_BITS}" = "64" ]; then
+ export USE_64=1
+ elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
+ export USE_X32=1
+ fi
+
+ export NSS_DISABLE_GTESTS=1
+
+ make -C ./nss \
+ CCC="${CXX}" \
+ OS_TEST=${OS_TEST} \
+ SOURCE_LIB_DIR="${TD}/${libdir}" \
+ SOURCE_BIN_DIR="${TD}/${bindir}" \
+ install
+
+ install -d ${D}/${libdir}/
+ for file in ${S}/dist/*.OBJ/lib/*.so; do
+ echo "Installing `basename $file`..."
+ cp $file ${D}/${libdir}/
+ done
+
+ for shared_lib in ${TD}/${libdir}/*.so.*; do
+ if [ -f $shared_lib ]; then
+ cp $shared_lib ${D}/${libdir}
+ ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe)
+ fi
+ done
+ for shared_lib in ${TD}/${libdir}/*.so; do
+ if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then
+ cp $shared_lib ${D}/${libdir}
+ fi
+ done
+
+ install -d ${D}/${includedir}/nss3
+ install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/*
+
+ install -d ${D}/${bindir}
+ for binary in ${TD}/${bindir}/*; do
+ install -m 755 -t ${D}/${bindir} $binary
+ done
+}
+
+do_install[vardepsexclude] += "SITEINFO_BITS"
+
+do_install_append() {
+ # Create empty .chk files for the NSS libraries at build time. They could
+ # be regenerated at target's boot time.
+ for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do
+ touch ${D}/${libdir}/$file
+ chmod 755 ${D}/${libdir}/$file
+ done
+ install -D -m 755 ${WORKDIR}/signlibs.sh ${D}/${bindir}/signlibs.sh
+
+ install -d ${D}${libdir}/pkgconfig/
+ sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc
+}
+
+do_install_append_class-target() {
+ # It used to call certutil to create a blank certificate with empty password at
+ # build time, but the checksum of key4.db changes every time when certutil is called.
+ # It causes non-determinism issue, so provide databases with a blank certificate
+ # which are originally from output of nss in qemux86-64 build. You can get these
+ # databases by:
+ # certutil -N -d sql:/database/path/ --empty-password
+ install -d ${D}${sysconfdir}/pki/nssdb/
+ install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db
+ install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db
+ install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt
+}
+
+PACKAGE_WRITE_DEPS += "nss-native"
+pkg_postinst_${PN} () {
+ if [ -n "$D" ]; then
+ for I in $D${libdir}/lib*.chk; do
+ DN=`dirname $I`
+ BN=`basename $I .chk`
+ FN=$DN/$BN.so
+ shlibsign -i $FN
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+ done
+ else
+ signlibs.sh
+ fi
+}
+
+PACKAGES =+ "${PN}-smime"
+FILES_${PN}-smime = "\
+ ${bindir}/smime \
+"
+
+FILES_${PN} = "\
+ ${sysconfdir} \
+ ${bindir} \
+ ${libdir}/lib*.chk \
+ ${libdir}/lib*.so \
+ "
+
+FILES_${PN}-dev = "\
+ ${libdir}/nss \
+ ${libdir}/pkgconfig/* \
+ ${includedir}/* \
+ "
+
+RDEPENDS_${PN}-smime = "perl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch b/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch
deleted file mode 100644
index 0497613d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 5c16beff9909b28f55f25f48ed7ddbf98d8b1d5c Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Wed, 18 Jul 2018 09:43:55 +0800
-Subject: [PATCH] fix NULL pointer problem
-
-return 0 if distance_table is NULL
-
-Upstream-Status: Pending
-
-read_distance_table() maybe return 0, but distance_table is not set,
-if distance_table is used, and will lead to SEGFAULT
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- distance.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/distance.c b/distance.c
-index 8d472af..6a6e886 100644
---- a/distance.c
-+++ b/distance.c
-@@ -113,6 +113,8 @@ int numa_distance(int a, int b)
- int err = read_distance_table();
- if (err < 0)
- return 0;
-+ if(!distance_table)
-+ return 0;
- }
- if ((unsigned)a >= distance_numnodes || (unsigned)b >= distance_numnodes)
- return 0;
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch b/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch
new file mode 100644
index 00000000..50610171
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch
@@ -0,0 +1,100 @@
+From 68485f8516884377e54c623b0deff73f97321d96 Mon Sep 17 00:00:00 2001
+From: "Hongzhi.Song" <hongzhi.song@windriver.com>
+Date: Thu, 19 Sep 2019 04:32:31 -0400
+Subject: [PATCH] numademo: fix error on 32bit system
+
+Error Info on 32bit:
+root@intel-x86:~# numademo -t -e 1M
+Configured Nodes does not match available memory nodes
+
+That's because sizeof(long)=4Word, but sizeof(long long)=8Word
+on 32bit. So (long long) assigning to (long) maybe cause overflow.
+
+long numa_node_size(int node, long *freep)
+{
+ ...
+ long sz = numa_node_size64_int(node, &f2);
+ ~^^~
+ return sz;
+ ...
+}
+long long numa_node_size64(int node, long long *freep)
+~^^ ^^~
+{
+ ...
+}
+
+Unify the return type of above functions.
+
+Upstream-Status: Accepted [next version is after 2.0.13 or 2.0.14]
+[https://github.com/numactl/numactl/commit/a7c4bc790a191d3e42b63850b409c1a72b75a4e1]
+ Submitted [https://github.com/numactl/numactl/pull/79]
+[The first patch was merged but has a error, then the second fix it.]
+
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+---
+ libnuma.c | 4 ++--
+ numa.h | 2 +-
+ numademo.c | 2 +-
+ test/move_pages.c | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/libnuma.c b/libnuma.c
+index cac8851..8b5c6aa 100644
+--- a/libnuma.c
++++ b/libnuma.c
+@@ -791,10 +791,10 @@ long long numa_node_size64(int node, long long *freep)
+
+ make_internal_alias(numa_node_size64);
+
+-long numa_node_size(int node, long *freep)
++long long numa_node_size(int node, long long *freep)
+ {
+ long long f2;
+- long sz = numa_node_size64_int(node, &f2);
++ long long sz = numa_node_size64_int(node, &f2);
+ if (freep)
+ *freep = f2;
+ return sz;
+diff --git a/numa.h b/numa.h
+index 3a8c543..268fb1d 100644
+--- a/numa.h
++++ b/numa.h
+@@ -143,7 +143,7 @@ int numa_preferred(void);
+
+ /* Return node size and free memory */
+ long long numa_node_size64(int node, long long *freep);
+-long numa_node_size(int node, long *freep);
++long long numa_node_size(int node, long long *freep);
+
+ int numa_pagesize(void);
+
+diff --git a/numademo.c b/numademo.c
+index a720db0..8c56da8 100644
+--- a/numademo.c
++++ b/numademo.c
+@@ -301,7 +301,7 @@ int max_node, numnodes;
+ int get_node_list(void)
+ {
+ int a, got_nodes = 0;
+- long free_node_sizes;
++ long long free_node_sizes;
+
+ numnodes = numa_num_configured_nodes();
+ node_to_use = (int *)malloc(numnodes * sizeof(int));
+diff --git a/test/move_pages.c b/test/move_pages.c
+index d1d8436..f8ff25d 100644
+--- a/test/move_pages.c
++++ b/test/move_pages.c
+@@ -26,7 +26,7 @@ int *node_to_use;
+ int get_node_list()
+ {
+ int a, got_nodes = 0, max_node, numnodes;
+- long free_node_sizes;
++ long long free_node_sizes;
+
+ numnodes = numa_num_configured_nodes();
+ node_to_use = (int *)malloc(numnodes * sizeof(int));
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb b/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb
index 279ac041..20b7fed8 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb
@@ -10,15 +10,15 @@ inherit autotools-brokensep ptest
LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=f8ff2391624f28e481299f3f677b21bb"
-SRCREV = "841253d1313b01a968c380cae4f498f20c46e5aa"
-PV = "2.0.12+git${SRCPV}"
+SRCREV = "5d9f16722e3df49dc618a9f361bd482559695db7"
+PV = "2.0.13+git${SRCPV}"
SRC_URI = "git://github.com/numactl/numactl \
- file://0001-fix-NULL-pointer-problem.patch \
file://Fix-the-test-output-format.patch \
file://Makefile \
file://run-ptest \
file://0001-define-run-test-target.patch \
+ file://0001-numademo-fix-error-on-32bit-system.patch \
"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ode/ode/install.patch b/external/meta-openembedded/meta-oe/recipes-support/ode/ode/install.patch
deleted file mode 100644
index 2f6cdb00..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ode/ode/install.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- ode-0.9.orig/Makefile.am 2007-02-21 15:54:54.000000000 +0100
-+++ ode-0.9/Makefile.am 2010-08-21 16:15:55.000000000 +0200
-@@ -25,13 +25,13 @@
-
- if USE_SONAME
- install-exec-hook:
-- ln -s $(libdir)/@ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \
-- $(libdir)/libode.so
-- ln -s $(libdir)/@ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \
-- $(libdir)/@ODE_SONAME@
-- ln -s $(libdir)/@ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \
-- $(libdir)/@ODE_SONAME@.@ODE_REVISION@
-- /sbin/ldconfig
-+ ln -s @ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \
-+ $(DESTDIR)/$(libdir)/libode.so
-+ ln -s @ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \
-+ $(DESTDIR)/$(libdir)/@ODE_SONAME@
-+ ln -s @ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \
-+ $(DESTDIR)/$(libdir)/@ODE_SONAME@.@ODE_REVISION@
-+ echo /sbin/ldconfig
- else
- install-exec-hook:
- endif
diff --git a/external/meta-openembedded/meta-oe/recipes-support/onig/files/configure.patch b/external/meta-openembedded/meta-oe/recipes-support/onig/files/configure.patch
deleted file mode 100644
index 5fa700f1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/onig/files/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: onig-5.9.3/configure.in
-===================================================================
---- onig-5.9.3.orig/configure.in 2012-10-26 07:06:14.000000000 +0000
-+++ onig-5.9.3/configure.in 2014-07-18 08:02:52.701574484 +0000
-@@ -3,7 +3,7 @@
-
- AC_CONFIG_MACRO_DIR([m4])
-
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
- AC_CONFIG_HEADER(config.h)
-
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch b/external/meta-openembedded/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch
deleted file mode 100644
index b93602a2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
-When build on host with older eglibc (Ubuntu 12.04) build fails with:
-
-/tmp/OE/build/tmp-eglibc/sysroots/genericarmv8/usr/include/bits/predefs.h:23:3: error: #error "Never use <bits/predefs.h> directly; include <stdc-predef.h> instead."
-
-Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
-Upstream-Status: Inappropriate [embedded specific]
-
----
- Makefile.am | 2 +-
- sample/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
---- onig-5.9.3.orig/Makefile.am
-+++ onig-5.9.3/Makefile.am
-@@ -4,11 +4,11 @@ sampledir = $(top_srcdir)/sample
- libname = libonig.la
-
- ACLOCAL_AMFLAGS = -I m4
- #AM_CFLAGS = -DNOT_RUBY
- AM_CFLAGS =
--INCLUDES = -I$(top_srcdir) -I$(includedir)
-+INCLUDES = -I$(top_srcdir)
-
- SUBDIRS = . sample
-
- include_HEADERS = oniguruma.h oniggnu.h onigposix.h
- lib_LTLIBRARIES = $(libname)
---- onig-5.9.3.orig/sample/Makefile.am
-+++ onig-5.9.3/sample/Makefile.am
-@@ -1,10 +1,10 @@
- noinst_PROGRAMS = encode listcap names posix simple sql syntax crnl
-
- libname = $(top_builddir)/libonig.la
- LDADD = $(libname)
--INCLUDES = -I$(top_srcdir) -I$(includedir)
-+INCLUDES = -I$(top_srcdir)
-
- encode_SOURCES = encode.c
- listcap_SOURCES = listcap.c
- names_SOURCES = names.c
- posix_SOURCES = posix.c
diff --git a/external/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch b/external/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch
new file mode 100644
index 00000000..89159265
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch
@@ -0,0 +1,42 @@
+From 78103ecd18efcd0966531d8718f6e94dcb7a5abf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Mon, 6 Jan 2020 16:56:31 +0000
+Subject: [PATCH] build: don't link against (host) system libraries
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: André Draszik <git@andred.net>
+---
+ sample/Makefile.am | 1 -
+ test/Makefile.am | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/sample/Makefile.am b/sample/Makefile.am
+index 22a4989..e935bf0 100644
+--- a/sample/Makefile.am
++++ b/sample/Makefile.am
+@@ -3,7 +3,6 @@
+ lib_onig = ../src/libonig.la
+ LDADD = $(lib_onig)
+
+-AM_LDFLAGS = -L$(prefix)/lib
+ AM_CPPFLAGS = -I$(top_srcdir)/src
+
+ if ENABLE_POSIX_API
+diff --git a/test/Makefile.am b/test/Makefile.am
+index 4d62568..b7a2105 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -1,7 +1,6 @@
+ ## Makefile.am for Oniguruma
+ lib_onig = ../src/libonig.la
+
+-AM_LDFLAGS = -L$(prefix)/lib
+ AM_CFLAGS = -Wall -Wno-invalid-source-encoding
+ AM_CPPFLAGS = -I$(top_srcdir)/src
+
+--
+2.23.0.rc1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch b/external/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch
new file mode 100644
index 00000000..587e5ac1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch
@@ -0,0 +1,36 @@
+From 8bf8189ec4a0d7ee569f66feb0e590e9602c31b6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Mon, 6 Jan 2020 15:10:30 +0000
+Subject: [PATCH] build: enable serial-tests automake option (for ptest)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+For ptest, we need to be able to compile the tests without
+running them.
+
+Enabling the serial-tests automake option will add
+buildtest-TESTS and runtest-TESTS makefile targets, the
+former being what we want.
+
+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 ac51e85..48e63ce 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@ AC_INIT(onig, 6.9.4)
+
+ AC_CONFIG_MACRO_DIR([m4])
+
+-AM_INIT_AUTOMAKE([-Wno-portability])
++AM_INIT_AUTOMAKE([-Wno-portability serial-tests])
+ AC_CONFIG_HEADERS([src/config.h])
+
+
+--
+2.23.0.rc1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest b/external/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest
new file mode 100755
index 00000000..2574d7ef
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest
@@ -0,0 +1,47 @@
+#!/bin/sh -eu
+
+my_cleanup() {
+ [ -n "${workdir:-}" ] && rm -rf "${workdir}"
+}
+
+trap "my_cleanup" EXIT
+for sig in INT TERM ; do
+ # We want sig to expand right here and now, as it's
+ # a loop variable, not when signalled. For $$ it
+ # doesn't matter.
+ # shellcheck disable=SC2064
+ trap "my_cleanup ; trap - EXIT ; trap - ${sig} ; kill -s ${sig} $$" ${sig}
+done
+
+workdir=$(mktemp -d -t onig.ptest.XXXXXX)
+status="${workdir}/failed"
+touch "${status}"
+
+find tests/ -perm -111 -type f -exec sh -c '
+ workdir="${1}"
+ status="${2}"
+ t="${3}"
+ t_log="${workdir}/$(basename ${t}).log"
+
+ res=0
+ ./${t} > "${t_log}" 2>&1 \
+ || res=$?
+ if [ $res -eq 0 ] ; then
+ echo "PASS: ${t}"
+ else
+ echo "FAIL: ${t}"
+ echo "$(basename ${t}): ${t_log}" >> "${status}"
+ fi
+ ' _ "${workdir}" "${status}" {} \;
+
+if [ $(stat -c '%s' "${status}") -ne 0 ] ; then
+ exec >&2
+ while IFS=': ' read -r t t_log ; do
+ printf "\n=========================\n"
+ printf "ERROR: %s:\n" "${t}"
+ printf -- "-------------------------\n"
+ cat "${t_log}"
+ done < "${status}"
+fi
+
+[ $(stat -c '%s' "${status}") -eq 0 ]
diff --git a/external/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb b/external/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb
deleted file mode 100644
index abbaf98c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Regular expressions library. The characteristics of this \
-library is that different character encoding for every regular expression \
-object can be specified."
-HOMEPAGE = "https://web.archive.org/web/20150807014439/http://www.geocities.jp/kosako3/oniguruma/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f"
-
-SRC_URI = "https://web.archive.org/web/20150807014439/http://www.geocities.jp/kosako3/oniguruma/archive/${BP}.tar.gz \
- file://do-not-use-system-headers.patch \
- file://configure.patch"
-
-SRC_URI[md5sum] = "d08f10ea5c94919780e6b7bed1ef9830"
-SRC_URI[sha256sum] = "d5642010336a6f68b7f2e34b1f1cb14be333e4d95c2ac02b38c162caf44e47a7"
-
-BINCONFIG = "${bindir}/onig-config"
-
-inherit autotools binconfig-disabled
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb b/external/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb
new file mode 100644
index 00000000..50d9f523
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Regular expressions library"
+DESCRIPTION = "Oniguruma is a modern and flexible regular expressions library. \
+It encompasses features from different regular expression \
+implementations that traditionally exist in different languages. \
+Character encoding can be specified per regular expression object."
+HOMEPAGE = "https://github.com/kkos/oniguruma"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ee043784bdce7503e619b2d1a85798b"
+
+SRC_URI = "\
+ https://github.com/kkos/oniguruma/releases/download/v${PV}/${BP}.tar.gz \
+ file://0001-build-don-t-link-against-host-system-libraries.patch \
+ file://0001-build-enable-serial-tests-automake-option-for-ptest.patch \
+ file://run-ptest \
+"
+
+SRC_URI[md5sum] = "a12d2fe997b789bd87cf63799c091879"
+SRC_URI[sha256sum] = "4669d22ff7e0992a7e93e116161cac9c0949cd8960d1c562982026726f0e6d53"
+
+BINCONFIG = "${bindir}/onig-config"
+
+inherit autotools binconfig-disabled ptest
+
+BBCLASSEXTEND = "native"
+
+do_compile_ptest() {
+ oe_runmake -C test buildtest-TESTS
+}
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}/tests
+ install -m 0755 -t ${D}${PTEST_PATH}/tests/ ${B}/test/.libs/*
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
new file mode 100644
index 00000000..6cb5dfcc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
@@ -0,0 +1,94 @@
+From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001
+From: Oliver Kurth <okurth@vmware.com>
+Date: Mon, 30 Sep 2019 16:24:27 -0700
+Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC.
+
+G_INLINE_FUNC was a work-around for compilers that didn't support
+static inline. Change uses of it to static inline.
+
+Upstream-Status: Backport
+[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/include/vmware/tools/plugin.h | 2 +-
+ open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++----
+ open-vm-tools/lib/include/vmware/tools/utils.h | 9 ---------
+ 3 files changed, 5 insertions(+), 14 deletions(-)
+
+diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h
+index f9acc6a2..deefd1f3 100644
+--- a/open-vm-tools/lib/include/vmware/tools/plugin.h
++++ b/open-vm-tools/lib/include/vmware/tools/plugin.h
+@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx {
+ *
+ * @return TRUE if COM is initialized when the function returns.
+ */
+-G_INLINE_FUNC gboolean
++static inline gboolean
+ ToolsCore_InitializeCOM(ToolsAppCtx *ctx)
+ {
+ if (!ctx->comInitialized) {
+diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h
+index 3f2082b3..5880fbcf 100644
+--- a/open-vm-tools/lib/include/vmware/tools/threadPool.h
++++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h
+@@ -91,7 +91,7 @@ typedef struct ToolsCorePool {
+ *******************************************************************************
+ */
+
+-G_INLINE_FUNC ToolsCorePool *
++static inline ToolsCorePool *
+ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
+ {
+ ToolsCorePool *pool = NULL;
+@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
+ *******************************************************************************
+ */
+
+-G_INLINE_FUNC guint
++static inline guint
+ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
+ ToolsCorePoolCb cb,
+ gpointer data,
+@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
+ *******************************************************************************
+ */
+
+-G_INLINE_FUNC void
++static inline void
+ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
+ guint taskId)
+ {
+@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
+ *******************************************************************************
+ */
+
+-G_INLINE_FUNC gboolean
++static inline gboolean
+ ToolsCorePool_StartThread(ToolsAppCtx *ctx,
+ const gchar *threadName,
+ ToolsCorePoolCb cb,
+diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h
+index f6574590..a3292d5c 100644
+--- a/open-vm-tools/lib/include/vmware/tools/utils.h
++++ b/open-vm-tools/lib/include/vmware/tools/utils.h
+@@ -51,15 +51,6 @@
+ # include <sys/time.h>
+ #endif
+
+-
+-/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
+-#if defined(G_PLATFORM_WIN32)
+-# if defined(G_INLINE_FUNC)
+-# undef G_INLINE_FUNC
+-# endif
+-# define G_INLINE_FUNC static __inline
+-#endif
+-
+ #ifndef ABS
+ # define ABS(x) (((x) >= 0) ? (x) : -(x))
+ #endif
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
new file mode 100644
index 00000000..61a681f1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
@@ -0,0 +1,78 @@
+From caf80e220b055dbce259078be96e899dc78ec1d2 Mon Sep 17 00:00:00 2001
+From: Bartosz Brachaczek <b.brachaczek@gmail.com>
+Date: Tue, 12 Nov 2019 14:31:08 +0100
+Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386
+
+I verified that this function behaves as expected on x86_64, i386 with
+32-bit time_t, and i386 with 64-bit time_t for the following values of
+ntTtime:
+
+UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX,
+UNIX_S32_MAX+1, UNIX_S32_MAX*2+1
+
+I did not verify whether the use of Div643264 is optimal, performance
+wise.
+
+Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/387]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++--------------
+ 1 file changed, 19 insertions(+), 15 deletions(-)
+
+diff --git a/open-vm-tools/lib/hgfs/hgfsUtil.c b/open-vm-tools/lib/hgfs/hgfsUtil.c
+index cc580ab8..49b10040 100644
+--- a/open-vm-tools/lib/hgfs/hgfsUtil.c
++++ b/open-vm-tools/lib/hgfs/hgfsUtil.c
+@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
+ uint64 ntTime) // IN: Time in Windows NT format
+ {
+ #ifdef __i386__
+- uint32 sec;
+- uint32 nsec;
++ uint64 sec64;
++ uint32 sec32, nsec;
++#endif
+
+ ASSERT(unixTime);
+- /* We assume that time_t is 32bit */
+- ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4);
+
+- /* Cap NT time values that are outside of Unix time's range */
++ if (sizeof (unixTime->tv_sec) == 4) {
++ /* Cap NT time values that are outside of Unix time's range */
+
+- if (ntTime >= UNIX_S32_MAX) {
+- unixTime->tv_sec = 0x7FFFFFFF;
+- unixTime->tv_nsec = 0;
+- return 1;
++ if (ntTime >= UNIX_S32_MAX) {
++ unixTime->tv_sec = 0x7FFFFFFF;
++ unixTime->tv_nsec = 0;
++ return 1;
++ }
+ }
+-#else
+- ASSERT(unixTime);
+-#endif
+
+ if (ntTime < UNIX_EPOCH) {
+ unixTime->tv_sec = 0;
+@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
+ }
+
+ #ifdef __i386__
+- Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec);
+- unixTime->tv_sec = sec;
+- unixTime->tv_nsec = nsec * 100;
++ if (sizeof (unixTime->tv_sec) == 4) {
++ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec);
++ unixTime->tv_sec = sec32;
++ unixTime->tv_nsec = nsec * 100;
++ } else {
++ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec);
++ unixTime->tv_sec = sec64;
++ unixTime->tv_nsec = nsec * 100;
++ }
+ #else
+ unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000;
+ unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100;
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch
deleted file mode 100644
index 432496f2..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 43d859f9d5eecdc0fdc1a6bf539bcde4a152e6f5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 27 Aug 2018 23:22:21 -0700
-Subject: [PATCH] Use off64_t instead of __off64_t
-
-Fixes
-unknown type name '__off64_t'
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/file/fileIOPosix.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/file/fileIOPosix.c b/lib/file/fileIOPosix.c
-index 23108279..bcd2ddc5 100644
---- a/lib/file/fileIOPosix.c
-+++ b/lib/file/fileIOPosix.c
-@@ -206,10 +206,10 @@ static AlignedPool alignedPool;
- * the symbols (and anyone building XOPEN<700 gets nothing).
- */
- extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt,
-- __off64_t offset) __attribute__ ((weak));
-+ off64_t offset) __attribute__ ((weak));
-
- extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt,
-- __off64_t offset) __attribute__ ((weak));
-+ off64_t offset) __attribute__ ((weak));
- #else
- #error "Large file support unavailable. Aborting."
- #endif
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
index b7a40583..a711f5e5 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
@@ -1,4 +1,4 @@
-From 929150608c16644695f19cd2e0cc8a06a41cd497 Mon Sep 17 00:00:00 2001
+From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001
From: Martin Kelly <mkelly@xevo.com>
Date: Fri, 7 Apr 2017 15:20:30 -0700
Subject: [PATCH] configure.ac: don't use dnet-config
@@ -11,14 +11,12 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Martin Kelly <mkelly@xevo.com>
---
- configure.ac | 4 ++--
+ open-vm-tools/configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -944,7 +944,7 @@ if test "$with_dnet" = "yes"; then
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then
AC_VMW_CHECK_LIB([dnet],
[DNET],
[],
@@ -27,11 +25,11 @@ Index: open-vm-tools/configure.ac
[],
[dnet.h],
[intf_open],
-@@ -954,7 +954,7 @@ if test "$with_dnet" = "yes"; then
+@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then
if test $have_dnet = "no"; then
AC_MSG_ERROR(
-- [dnet-config was not found on your PATH. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
+- [dnet-config was not found on your PATH. Please configure without dnet or install dnet - http://libdnet.sourceforge.net])
+ [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
fi
fi
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch
new file mode 100644
index 00000000..82443ee6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch
@@ -0,0 +1,33 @@
+From 33798f3e484ebd3470e9da791b73b4b90ba12bc3 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 14 Jan 2020 15:04:03 +0800
+Subject: [PATCH] hgfsmounter/Makefile.am: support usrmerge
+
+There is a do_package error when enable usrmerge feature due to the
+hardcoded sbin directory. Remove this piece of code because we already
+create the symbolic link in do_install.
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ open-vm-tools/hgfsmounter/Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/open-vm-tools/hgfsmounter/Makefile.am b/open-vm-tools/hgfsmounter/Makefile.am
+index 7c1ba1a..58bd3f8 100644
+--- a/open-vm-tools/hgfsmounter/Makefile.am
++++ b/open-vm-tools/hgfsmounter/Makefile.am
+@@ -39,9 +39,6 @@ uninstall-hook:
+ rm -f $(DESTDIR)$(sbindir)/mount_vmhgfs
+ else
+ install-exec-hook:
+- -$(MKDIR_P) $(DESTDIR)/sbin
+- -$(LN_S) $(DESTDIR)$(sbindir)/mount.vmhgfs \
+- $(DESTDIR)/sbin/mount.vmhgfs &> /dev/null
+ uninstall-hook:
+ rm -f $(DESTDIR)/sbin/mount.vmhgfs
+ endif !FREEBSD
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch
deleted file mode 100644
index 88205811..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4981bb3013d7f1e40e44618076d99af3484eedea Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:02:50 -0700
-Subject: [PATCH] include poll.h instead of sys/poll.h
-
-including sys/poll.h is deprecated
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c
-index 13908679..e0a68e7e 100644
---- a/lib/asyncsocket/asyncsocket.c
-+++ b/lib/asyncsocket/asyncsocket.c
-@@ -69,8 +69,8 @@
- #else
- #include <stddef.h>
- #include <ctype.h>
-+#include <poll.h>
- #include <sys/types.h>
--#include <sys/poll.h>
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <netdb.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
new file mode 100644
index 00000000..95664e85
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
@@ -0,0 +1,33 @@
+From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Dec 2019 15:25:02 -0800
+Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds
+
+This is new warning with gcc10, until its fixed ignore it like gcc<10
+did
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/user/utilBacktrace.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/open-vm-tools/lib/user/utilBacktrace.c b/open-vm-tools/lib/user/utilBacktrace.c
+index b72340ad..97ca53f2 100644
+--- a/open-vm-tools/lib/user/utilBacktrace.c
++++ b/open-vm-tools/lib/user/utilBacktrace.c
+@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr, // IN:
+ } else {
+ outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
+ }
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Warray-bounds"
++
+ Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData);
++#pragma GCC diagnostic pop
+ #endif
+ }
++
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch
deleted file mode 100644
index 4d6a0fd6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 92955b3a6180b4285d11ef79766df01b9ab60dbd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:11:58 -0700
-Subject: [PATCH] Rename poll.h to vm_poll.h
-
-musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this
-we rename poll.h to vm_poll.h.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
- open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +-
- open-vm-tools/lib/include/asyncsocket.h | 2 +-
- open-vm-tools/lib/include/pollImpl.h | 2 +-
- open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +-
- open-vm-tools/lib/rpcIn/rpcin.c | 2 +-
- .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
- rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%)
-
-diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c
-index e0a68e7e..b9675674 100644
---- a/lib/asyncsocket/asyncsocket.c
-+++ b/lib/asyncsocket/asyncsocket.c
-@@ -86,7 +86,7 @@
- #include "random.h"
- #include "asyncsocket.h"
- #include "asyncSocketBase.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #include "log.h"
- #include "err.h"
- #include "hostinfo.h"
-diff --git a/lib/hgfsServer/hgfsServer.c b/lib/hgfsServer/hgfsServer.c
-index 991a7941..ed0c09f9 100644
---- a/lib/hgfsServer/hgfsServer.c
-+++ b/lib/hgfsServer/hgfsServer.c
-@@ -48,7 +48,7 @@
- #include "hgfsServerOplock.h"
- #include "hgfsDirNotify.h"
- #include "userlock.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #include "mutexRankLib.h"
- #include "vm_basic_asm.h"
- #include "unicodeOperations.h"
-diff --git a/lib/include/asyncsocket.h b/lib/include/asyncsocket.h
-index 524147ea..103f944f 100644
---- a/lib/include/asyncsocket.h
-+++ b/lib/include/asyncsocket.h
-@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
- * Or the client can specify its favorite poll class and locking behavior.
- * Use of IVmdbPoll is only supported for regular sockets and for Attach.
- */
--#include "poll.h"
-+#include "vm_poll.h"
- struct IVmdbPoll;
- typedef struct AsyncSocketPollParams {
- int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
-diff --git a/lib/include/pollImpl.h b/lib/include/pollImpl.h
-index 46442e55..8bc66997 100644
---- a/lib/include/pollImpl.h
-+++ b/lib/include/pollImpl.h
-@@ -44,7 +44,7 @@
- #define INCLUDE_ALLOW_USERLEVEL
- #include "includeCheck.h"
-
--#include "poll.h"
-+#include "vm_poll.h"
- #include "vm_basic_asm.h"
-
- #if defined(__cplusplus)
-diff --git a/lib/include/poll.h b/lib/include/vm_poll.h
-similarity index 99%
-rename from open-vm-tools/lib/include/poll.h
-rename to open-vm-tools/lib/include/vm_poll.h
-index 988fe6d0..e9e74fb5 100644
---- a/lib/include/poll.h
-+++ b/lib/include/vm_poll.h
-@@ -60,7 +60,7 @@ extern "C" {
- #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
- #include <sys/kernel.h>
- #endif
--#include <sys/poll.h>
-+#include <poll.h>
- #define HZ 100
- #endif
- #ifdef __ANDROID__
-diff --git a/lib/rpcIn/rpcin.c b/lib/rpcIn/rpcin.c
-index c2c51583..d6c62f10 100644
---- a/lib/rpcIn/rpcin.c
-+++ b/lib/rpcIn/rpcin.c
-@@ -57,7 +57,7 @@
-
- #if defined(VMTOOLS_USE_VSOCKET)
- # include <glib.h>
--# include "poll.h"
-+# include "vm_poll.h"
- # include "asyncsocket.h"
- # include "vmci_defs.h"
- #include "dataMap.h"
-diff --git a/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c b/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-index 03700937..f0b49ad7 100644
---- a/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-+++ b/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-@@ -48,7 +48,7 @@
- #include "rpcout.h"
- #include "rabbitmqProxyConst.h"
- #include "vm_basic_types.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #ifdef OPEN_VM_TOOLS
- #include "vmci_sockets.h"
- #include "sslDirect.h"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
index f905601d..34628ffb 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
@@ -1,7 +1,7 @@
-From 5818acc8032e3247257730376e947330340a07b3 Mon Sep 17 00:00:00 2001
+From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001
From: Martin Kelly <mkelly@xevo.com>
Date: Mon, 22 May 2017 17:00:05 -0700
-Subject: [PATCH 2/2] add #include <sys/sysmacros.h>
+Subject: [PATCH] add #include <sys/sysmacros.h>
In newer glibc versions, the definition for major() has been moved to
sys/sysmacros.h, and using the older version in <sys/types.h> has been
@@ -11,14 +11,14 @@ Upstream-Status: Pending
Signed-off-by: Martin Kelly <mkelly@xevo.com>
---
- lib/wiper/wiperPosix.c | 3 +++
+ open-vm-tools/lib/wiper/wiperPosix.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c
-index d389eee..1f221fc 100644
---- a/lib/wiper/wiperPosix.c
-+++ b/lib/wiper/wiperPosix.c
-@@ -40,6 +40,9 @@
+index bd542410..ccf06293 100644
+--- a/open-vm-tools/lib/wiper/wiperPosix.c
++++ b/open-vm-tools/lib/wiper/wiperPosix.c
+@@ -43,6 +43,9 @@
# include <libgen.h>
# endif /* __FreeBSD_version >= 500000 */
#endif
@@ -28,6 +28,3 @@ index d389eee..1f221fc 100644
#include <unistd.h>
#include "vmware.h"
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
new file mode 100644
index 00000000..0f64eabc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
@@ -0,0 +1,41 @@
+From fe56b67a2915a8632ea30604c14241f335dd3c15 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Nov 2019 10:49:46 -0800
+Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../lib/hgfsServer/hgfsServerLinux.c | 19 +++++--------------
+ 1 file changed, 5 insertions(+), 14 deletions(-)
+
+diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+index 03175623..554da67f 100644
+--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+@@ -2561,20 +2561,11 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information
+ LOG(4, ("%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__,
+ attr->specialPerms, attr->ownerPerms, attr->groupPerms,
+ attr->otherPerms, attr->size));
+-#ifdef __FreeBSD__
+-# if !defined(VM_X86_64) && __FreeBSD_version >= 500043
+-# define FMTTIMET ""
+-# else
+-# define FMTTIMET "l"
+-# endif
+-#else
+-# define FMTTIMET "l"
+-#endif
+- LOG(4, ("access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n"
+- "attr: %"FMTTIMET"d/%"FMT64"u\n",
+- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime,
+- stats->st_ctime, attr->attrChangeTime));
+-#undef FMTTIMET
++ LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n"
++ "attr: %jd/%"FMT64"u\n",
++ (intmax_t)stats->st_atime, attr->accessTime,
++ (intmax_t)stats->st_mtime, attr->writeTime,
++ (intmax_t)stats->st_ctime, attr->attrChangeTime));
+
+ attr->userId = stats->st_uid;
+ attr->groupId = stats->st_gid;
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch
new file mode 100644
index 00000000..6d2e4981
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch
@@ -0,0 +1,45 @@
+From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 09:03:00 +0000
+Subject: [PATCH] Use configure test for struct timespec
+
+Use the configure script to test for struct time spec instead of trying
+to keep track of what platforms has it.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/configure.ac | 1 +
+ open-vm-tools/lib/include/hgfsUtil.h | 8 +-------
+ 2 files changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
+index 713ea683..48ff1ef3 100644
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T
+ AC_TYPE_PID_T
+ AC_TYPE_SIZE_T
+ AC_CHECK_MEMBERS([struct stat.st_rdev])
++AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include <time.h>]])
+ AC_HEADER_TIME
+ AC_STRUCT_TM
+ AC_C_VOLATILE
+diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h
+index 609f4c00..a3a022d4 100644
+--- a/open-vm-tools/lib/include/hgfsUtil.h
++++ b/open-vm-tools/lib/include/hgfsUtil.h
+@@ -53,13 +53,7 @@
+ # include <time.h>
+ # endif
+ # include "vm_basic_types.h"
+-# if !defined _STRUCT_TIMESPEC && \
+- !defined _TIMESPEC_DECLARED && \
+- !defined __timespec_defined && \
+- !defined sun && \
+- !defined __FreeBSD__ && \
+- !__APPLE__ && \
+- !defined _WIN32
++# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC
+ struct timespec {
+ time_t tv_sec;
+ long tv_nsec;
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch
deleted file mode 100644
index c7d34c5c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a2e7d9273261c5c5cbc33796900f415097f5455e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:16:53 -0700
-Subject: [PATCH] use posix strerror_r unless on gnu libc system
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/err/errPosix.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/lib/err/errPosix.c b/lib/err/errPosix.c
-index c81b4c13..7a403640 100644
---- a/lib/err/errPosix.c
-+++ b/lib/err/errPosix.c
-@@ -31,6 +31,7 @@
- #include <errno.h>
- #include <string.h>
- #include <locale.h>
-+#include <stdio.h>
-
- #include "vmware.h"
- #include "errInt.h"
-@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN
- {
- char *p;
-
--#if defined(__linux__) && !defined(__ANDROID__)
-+#if defined(__GLIBC__) && !defined(__ANDROID__)
- p = strerror_r(errorNumber, buf, bufSize);
- #else
-- p = strerror(errorNumber);
--#endif
-+ if (strerror_r(errorNumber, buf, bufSize) != 0)
-+ snprintf(buf, bufSize, "unknown error %i", errorNumber);
-+ p = buf;
-+#endif /* defined __GLIBC__ */
- ASSERT(p != NULL);
- return p;
- }
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
new file mode 100644
index 00000000..e107ecf2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
@@ -0,0 +1,58 @@
+From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 09:10:14 +0000
+Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS
+
+The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so
+assume it is not there instead of testing for specific implementations.
+
+This is needed for musl libc.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++---
+ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+index f2b7ce67..0e6351a9 100644
+--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+@@ -105,11 +105,13 @@ typedef struct DirectoryEntry {
+ #endif
+
+ /*
+- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the
+- * Solaris version of <sys/stat.h>.
++ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in
++ * POSIX.
+ */
+-#ifdef sun
++#ifndef ACCESSPERMS
+ # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++#ifndef ALLPERMS
+ # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
+ #endif
+
+diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
+index 89133652..7e9c3a91 100644
+--- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
++++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
+@@ -52,7 +52,7 @@
+
+ #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO)
+ #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
+-#ifdef sun
++#ifndef ACCESSPERMS
+ #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
+ #endif
+ #ifdef __ANDROID__
+@@ -61,7 +61,6 @@
+ */
+ #define NO_SETMNTENT
+ #define NO_ENDMNTENT
+-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
+ #endif
+
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch
deleted file mode 100644
index e802dca4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From e694a122c1ff32d8b951ae55756796f9576d23ed Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:37:09 -0700
-Subject: [PATCH] Use uintmax_t for handling rlim_t
-
-rlimit types are not representable with long or long long
-formats, therefore use uintmax_t to typecast rlim_t types
-and use %j to print it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c
-index 2e73707d..a2fdb850 100644
---- a/lib/hgfsServer/hgfsServerLinux.c
-+++ b/lib/hgfsServer/hgfsServerLinux.c
-@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN:
- goto exit;
- }
-
-- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n",
-- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max));
-+ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n",
-+ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max));
-
- /*
- * Check the offset is within the file size range.
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch
deleted file mode 100644
index f02d00f8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From bf1eafb07297711baf9320b1edcca8a3376f117d Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 09:03:00 +0000
-Subject: [PATCH 05/11] Use configure test for struct timespec
-
-Use the configure script to test for struct time spec instead of trying
-to keep track of what platforms has it.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/configure.ac | 1 +
- open-vm-tools/lib/include/hgfsUtil.h | 8 +-------
- 2 files changed, 2 insertions(+), 7 deletions(-)
-
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -1127,6 +1127,7 @@ AC_TYPE_OFF_T
- AC_TYPE_PID_T
- AC_TYPE_SIZE_T
- AC_CHECK_MEMBERS([struct stat.st_rdev])
-+AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include <time.h>]])
- AC_HEADER_TIME
- AC_STRUCT_TM
- AC_C_VOLATILE
-Index: open-vm-tools/lib/include/hgfsUtil.h
-===================================================================
---- open-vm-tools.orig/lib/include/hgfsUtil.h
-+++ open-vm-tools/lib/include/hgfsUtil.h
-@@ -53,13 +53,7 @@
- # include <time.h>
- # endif
- # include "vm_basic_types.h"
--# if !defined _STRUCT_TIMESPEC && \
-- !defined _TIMESPEC_DECLARED && \
-- !defined __timespec_defined && \
-- !defined sun && \
-- !defined __FreeBSD__ && \
-- !__APPLE__ && \
-- !defined _WIN32
-+# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC
- struct timespec {
- time_t tv_sec;
- long tv_nsec;
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
new file mode 100644
index 00000000..c6378b80
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
@@ -0,0 +1,135 @@
+From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 10:05:07 +0000
+Subject: [PATCH] Use configure to test for feature instead of platform
+
+Test for various functions instead of trying to keep track of what
+platform and what version of the given platform has support for what.
+
+This should make it easier to port to currently unknown platforms and
+will solve the issue if a platform add support for a missing feature in
+the future.
+
+The features we test for are:
+- getifaddrs
+- getauxval
+- issetugid
+- __secure_getenv
+
+This is needed for musl libc.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/configure.ac | 4 ++++
+ open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++-------------
+ open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++-
+ 3 files changed, 23 insertions(+), 17 deletions(-)
+
+diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
+index 48ff1ef3..71e684bb 100644
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -897,6 +897,7 @@ AC_CHECK_FUNCS(
+
+ AC_CHECK_FUNCS([ecvt])
+ AC_CHECK_FUNCS([fcvt])
++AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv])
+
+ AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
+
+@@ -1145,10 +1146,13 @@ fi
+ ###
+
+ AC_CHECK_HEADERS([crypt.h])
++AC_CHECK_HEADERS([ifaddrs.h])
+ AC_CHECK_HEADERS([inttypes.h])
+ AC_CHECK_HEADERS([stdint.h])
+ AC_CHECK_HEADERS([stdlib.h])
+ AC_CHECK_HEADERS([wchar.h])
++AC_CHECK_HEADERS([net/if.h])
++AC_CHECK_HEADERS([sys/auxv.h])
+ AC_CHECK_HEADERS([sys/inttypes.h])
+ AC_CHECK_HEADERS([sys/io.h])
+ AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
+diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c
+index b950cf84..1dcfb508 100644
+--- a/open-vm-tools/lib/misc/idLinux.c
++++ b/open-vm-tools/lib/misc/idLinux.c
+@@ -27,12 +27,9 @@
+ #include <sys/syscall.h>
+ #include <string.h>
+ #include <unistd.h>
+-#ifdef __linux__
+-#if defined(__GLIBC__) && \
+- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
++#ifdef HAVE_SYS_AUXV_H
+ #include <sys/auxv.h>
+ #endif
+-#endif
+ #ifdef __APPLE__
+ #include <sys/socket.h>
+ #include <TargetConditionals.h>
+@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN:
+ static Bool
+ IdIsSetUGid(void)
+ {
+-#if defined(__ANDROID__)
+- /* Android does not have a secure_getenv, so be conservative. */
+- return TRUE;
+-#else
+ /*
+ * We use __secure_getenv, which returns NULL if the binary is
+- * setuid or setgid. Alternatives include,
++ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not
++ * available. Alternatives include,
+ *
+- * a) getauxval(AT_SECURE); not available until glibc 2.16.
+- * b) __libc_enable_secure; may not be exported.
++ * a) issetugid(); not (yet?) available in glibc.
++ * b) getauxval(AT_SECURE); not available until glibc 2.16.
++ * c) __libc_enable_secure; may not be exported.
+ *
+- * Use (a) when we are based on glibc 2.16, or newer.
++ * Use (b) when we are based on glibc 2.16, or newer.
+ */
+
+-#if defined(__GLIBC__) && \
+- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
++#if HAVE_ISSETUGID
++ return issetugid();
++#elif HAVE_GETAUXVAL
+ return getauxval(AT_SECURE) != 0;
+-#else
++#elif HAVE___SECURE_GETENV
+ static const char envName[] = "VMW_SETUGID_TEST";
+
+ if (setenv(envName, "1", TRUE) == -1) {
+ return TRUE; /* Conservative */
+ }
+ return __secure_getenv(envName) == NULL;
+-#endif
++#else
++ /* Android does not have a secure_getenv, so be conservative. */
++ return TRUE;
+ #endif
+ }
+ #endif
+diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
+index a22981d5..b4e08681 100644
+--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c
++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
+@@ -34,9 +34,13 @@
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+ #include <errno.h>
+-#if defined(__FreeBSD__) || defined(__APPLE__)
++#if HAVE_SYS_SYSCTL_H
+ # include <sys/sysctl.h>
++#endif
++#if HAVE_IFADDRS_H
+ # include <ifaddrs.h>
++#endif
++#if HAVE_NET_IF_H
+ # include <net/if.h>
+ #endif
+ #ifndef NO_DNET
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
deleted file mode 100644
index d1f4eff9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 09:10:14 +0000
-Subject: [PATCH 06/11] Fix definition of ALLPERMS and ACCESSPERMS
-
-The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so
-assume it is not there instead of testing for specific implementations.
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++---
- open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
- 2 files changed, 6 insertions(+), 5 deletions(-)
-
-Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-===================================================================
---- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c
-+++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -107,11 +107,13 @@ typedef struct DirectoryEntry {
- #endif
-
- /*
-- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the
-- * Solaris version of <sys/stat.h>.
-+ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in
-+ * POSIX.
- */
--#ifdef sun
-+#ifndef ACCESSPERMS
- # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
-+#endif
-+#ifndef ALLPERMS
- # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
- #endif
-
-Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-===================================================================
---- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c
-+++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-@@ -51,7 +51,7 @@
-
- #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO)
- #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
--#ifdef sun
-+#ifndef ACCESSPERMS
- #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
- #endif
- #ifdef __ANDROID__
-@@ -60,7 +60,6 @@
- */
- #define NO_SETMNTENT
- #define NO_ENDMNTENT
--#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
- #endif
-
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch
new file mode 100644
index 00000000..9a227f9e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch
@@ -0,0 +1,25 @@
+From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Wed, 18 Nov 2015 10:41:01 +0000
+Subject: [PATCH] Use configure test for sys/stat.h include
+
+This is needed for musl libc.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ open-vm-tools/services/plugins/vix/vixTools.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c
+index e5273786..cabc4137 100644
+--- a/open-vm-tools/services/plugins/vix/vixTools.c
++++ b/open-vm-tools/services/plugins/vix/vixTools.c
+@@ -66,7 +66,7 @@
+ #include <unistd.h>
+ #endif
+
+-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__)
++#ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch
new file mode 100644
index 00000000..11be2d4a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch
@@ -0,0 +1,24 @@
+From cf1284fda8fb22a2b27cb2ce7962f166166e74c3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jun 2018 23:48:04 -0700
+Subject: [PATCH] Fix subdir objects configure error
+
+Fix build on musl while here
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
+index 71e684bb..b76a7966 100644
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -303,6 +303,7 @@ AC_ARG_ENABLE(
+ [],
+ [enable_resolutionkms="auto"])
+
++AM_INIT_AUTOMAKE([subdir-objects])
+ AM_INIT_AUTOMAKE
+
+ ###
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch
deleted file mode 100644
index ad19fb24..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 6cc1c22cc30320f56da552a76bd956db8f255b6a Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 10:05:07 +0000
-Subject: [PATCH 07/11] Use configure to test for feature instead of platform
-
-Test for various functions instead of trying to keep track of what
-platform and what version of the given platform has support for what.
-
-This should make it easier to port to currently unknown platforms and
-will solve the issue if a platform add support for a missing feature in
-the future.
-
-The features we test for are:
-- getifaddrs
-- getauxval
-- issetugid
-- __secure_getenv
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/configure.ac | 4 ++++
- open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++----------------
- open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++--
- 3 files changed, 24 insertions(+), 18 deletions(-)
-
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -892,6 +892,7 @@ AC_CHECK_FUNCS(
-
- AC_CHECK_FUNCS([ecvt])
- AC_CHECK_FUNCS([fcvt])
-+AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv])
-
- AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
-
-@@ -1076,10 +1077,13 @@ AC_PATH_PROG(
- ###
-
- AC_CHECK_HEADERS([crypt.h])
-+AC_CHECK_HEADERS([ifaddrs.h])
- AC_CHECK_HEADERS([inttypes.h])
- AC_CHECK_HEADERS([stdint.h])
- AC_CHECK_HEADERS([stdlib.h])
- AC_CHECK_HEADERS([wchar.h])
-+AC_CHECK_HEADERS([net/if.h])
-+AC_CHECK_HEADERS([sys/auxv.h])
- AC_CHECK_HEADERS([sys/inttypes.h])
- AC_CHECK_HEADERS([sys/io.h])
- AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
-Index: open-vm-tools/lib/misc/idLinux.c
-===================================================================
---- open-vm-tools.orig/lib/misc/idLinux.c
-+++ open-vm-tools/lib/misc/idLinux.c
-@@ -27,12 +27,9 @@
- #include <sys/syscall.h>
- #include <string.h>
- #include <unistd.h>
--#ifdef __linux__
--#if defined(__GLIBC__) && \
-- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
-+#ifdef HAVE_SYS_AUXV_H
- #include <sys/auxv.h>
- #endif
--#endif
- #ifdef __APPLE__
- #include <sys/socket.h>
- #include <TargetConditionals.h>
-@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN:
- static Bool
- IdIsSetUGid(void)
- {
--#if defined(__ANDROID__)
-- /* Android does not have a secure_getenv, so be conservative. */
-- return TRUE;
--#else
- /*
- * We use __secure_getenv, which returns NULL if the binary is
-- * setuid or setgid. Alternatives include,
-+ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not
-+ * available. Alternatives include,
- *
-- * a) getauxval(AT_SECURE); not available until glibc 2.16.
-- * b) __libc_enable_secure; may not be exported.
-+ * a) issetugid(); not (yet?) available in glibc.
-+ * b) getauxval(AT_SECURE); not available until glibc 2.16.
-+ * c) __libc_enable_secure; may not be exported.
- *
-- * Use (a) when we are based on glibc 2.16, or newer.
-+ * Use (b) when we are based on glibc 2.16, or newer.
- */
-
--#if defined(__GLIBC__) && \
-- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
-+#if HAVE_ISSETUGID
-+ return issetugid();
-+#elif HAVE_GETAUXVAL
- return getauxval(AT_SECURE) != 0;
--#else
-+#elif HAVE___SECURE_GETENV
- static const char envName[] = "VMW_SETUGID_TEST";
-
- if (setenv(envName, "1", TRUE) == -1) {
- return TRUE; /* Conservative */
- }
- return __secure_getenv(envName) == NULL;
--#endif
-+#else
-+ /* Android does not have a secure_getenv, so be conservative. */
-+ return TRUE;
- #endif
- }
- #endif
-Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c
-===================================================================
---- open-vm-tools.orig/lib/nicInfo/nicInfoPosix.c
-+++ open-vm-tools/lib/nicInfo/nicInfoPosix.c
-@@ -34,9 +34,13 @@
- #include <sys/socket.h>
- #include <sys/stat.h>
- #include <errno.h>
--#if defined(__FreeBSD__) || defined(__APPLE__)
-+#if HAVE_SYS_SYSCTL_H
- # include <sys/sysctl.h>
-+#endif
-+#if HAVE_IFADDRS_H
- # include <ifaddrs.h>
-+#endif
-+#if HAVE_NET_IF_H
- # include <net/if.h>
- #endif
- #ifndef NO_DNET
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch
new file mode 100644
index 00000000..814b9e3b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch
@@ -0,0 +1,26 @@
+From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jun 2018 23:02:50 -0700
+Subject: [PATCH] include poll.h instead of sys/poll.h
+
+including sys/poll.h is deprecated
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
+index 65b07109..b41aa29d 100644
+--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
+@@ -69,8 +69,8 @@
+ #else
+ #include <stddef.h>
+ #include <ctype.h>
++#include <poll.h>
+ #include <sys/types.h>
+-#include <sys/poll.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <netdb.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
new file mode 100644
index 00000000..9cf54f6f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
@@ -0,0 +1,742 @@
+From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jun 2018 23:11:58 -0700
+Subject: [PATCH] Rename poll.h to vm_poll.h
+
+musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this
+we rename poll.h to vm_poll.h.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
+ open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +-
+ open-vm-tools/lib/include/asyncsocket.h | 2 +-
+ open-vm-tools/lib/include/pollImpl.h | 2 +-
+ open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +-
+ open-vm-tools/lib/rpcIn/rpcin.c | 2 +-
+ .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+ rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%)
+
+--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
+@@ -86,7 +86,7 @@
+ #include "random.h"
+ #include "asyncsocket.h"
+ #include "asyncSocketBase.h"
+-#include "poll.h"
++#include "vm_poll.h"
+ #include "log.h"
+ #include "err.h"
+ #include "hostinfo.h"
+--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
++++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
+@@ -48,7 +48,7 @@
+ #include "hgfsServerOplock.h"
+ #include "hgfsDirNotify.h"
+ #include "userlock.h"
+-#include "poll.h"
++#include "vm_poll.h"
+ #include "mutexRankLib.h"
+ #include "vm_basic_asm.h"
+ #include "unicodeOperations.h"
+--- a/open-vm-tools/lib/include/asyncsocket.h
++++ b/open-vm-tools/lib/include/asyncsocket.h
+@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
+ * Or the client can specify its favorite poll class and locking behavior.
+ * Use of IVmdbPoll is only supported for regular sockets and for Attach.
+ */
+-#include "poll.h"
++#include "vm_poll.h"
+ struct IVmdbPoll;
+ typedef struct AsyncSocketPollParams {
+ int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
+--- a/open-vm-tools/lib/include/pollImpl.h
++++ b/open-vm-tools/lib/include/pollImpl.h
+@@ -44,7 +44,7 @@
+ #define INCLUDE_ALLOW_USERLEVEL
+ #include "includeCheck.h"
+
+-#include "poll.h"
++#include "vm_poll.h"
+ #include "vm_basic_asm.h"
+
+ #if defined(__cplusplus)
+--- a/open-vm-tools/lib/include/poll.h
++++ /dev/null
+@@ -1,330 +0,0 @@
+-/*********************************************************
+- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
+- *
+- * This program is free software; you can redistribute it and/or modify it
+- * under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation version 2.1 and no later version.
+- *
+- * This program is distributed in the hope that it will be useful, but
+- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
+- * License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public License
+- * along with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- *********************************************************/
+-
+-/*********************************************************
+- * The contents of this file are subject to the terms of the Common
+- * Development and Distribution License (the "License") version 1.0
+- * and no later version. You may not use this file except in
+- * compliance with the License.
+- *
+- * You can obtain a copy of the License at
+- * http://www.opensource.org/licenses/cddl1.php
+- *
+- * See the License for the specific language governing permissions
+- * and limitations under the License.
+- *
+- *********************************************************/
+-
+-
+-#ifndef _POLL_H_
+-#define _POLL_H_
+-
+-#define INCLUDE_ALLOW_USERLEVEL
+-#define INCLUDE_ALLOW_VMCORE
+-#include "includeCheck.h"
+-
+-#include "vm_basic_types.h"
+-#include "vm_basic_defs.h"
+-#include "vmware.h"
+-#include "userlock.h"
+-
+-#if defined(__cplusplus)
+-extern "C" {
+-#endif
+-
+-#ifdef _WIN32
+-#define HZ 100
+-#elif defined linux
+-#include <asm/param.h>
+-#elif __APPLE__
+-#include <TargetConditionals.h>
+-/*
+- * Old SDKs don't define TARGET_OS_IPHONE at all.
+- * New ones define it to 0 on Mac OS X, 1 on iOS.
+- */
+-#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
+-#include <sys/kernel.h>
+-#endif
+-#include <sys/poll.h>
+-#define HZ 100
+-#endif
+-#ifdef __ANDROID__
+-/*
+- * <poll.h> of android should be included, but its name is same
+- * with this file. So its content is put here to avoid conflict.
+- */
+-#include <asm/poll.h>
+-#define HZ 100
+-typedef unsigned int nfds_t;
+-int poll(struct pollfd *, nfds_t, long);
+-#endif
+-
+-
+-/*
+- * Poll event types: each type has a different reason for firing,
+- * or condition that must be met before firing.
+- */
+-
+-typedef enum {
+- /*
+- * Actual Poll queue types against which you can register callbacks.
+- */
+- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
+- POLL_VTIME = 0,
+- POLL_REALTIME,
+- POLL_DEVICE,
+- POLL_MAIN_LOOP,
+- POLL_NUM_QUEUES
+-} PollEventType;
+-
+-
+-/*
+- * Classes of events
+- *
+- * These are the predefined classes. More can be declared
+- * with Poll_AllocClass().
+- */
+-
+-typedef enum PollClass {
+- POLL_CLASS_MAIN,
+- POLL_CLASS_PAUSE,
+- POLL_CLASS_IPC,
+- POLL_CLASS_CPT,
+- POLL_CLASS_MKS,
+- POLL_FIXED_CLASSES,
+- POLL_DEFAULT_FIXED_CLASSES,
+- /* Size enum to maximum */
+- POLL_MAX_CLASSES = 31,
+-} PollClass;
+-
+-/*
+- * Do not use; Special pseudo private poll class supported by
+- * PollDefault only
+- */
+-#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
+-#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
+-
+-/*
+- * Each callback is registered in a set of classes
+- */
+-
+-typedef struct PollClassSet {
+- uintptr_t bits;
+-} PollClassSet;
+-
+-/* An empty PollClassSet. */
+-static INLINE PollClassSet
+-PollClassSet_Empty(void)
+-{
+- PollClassSet set = { 0 };
+- return set;
+-}
+-
+-/* A PollClassSet with the single member. */
+-static INLINE PollClassSet
+-PollClassSet_Singleton(PollClass c)
+-{
+- PollClassSet s = PollClassSet_Empty();
+-
+- ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
+- ASSERT(c < POLL_MAX_CLASSES);
+-
+- s.bits = CONST3264U(1) << c;
+- return s;
+-}
+-
+-/* Combine two PollClassSets. */
+-static INLINE PollClassSet
+-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
+-{
+- PollClassSet set;
+- set.bits = lhs.bits | rhs.bits;
+- return set;
+-}
+-
+-/* Add single class to PollClassSet. */
+-static INLINE PollClassSet
+-PollClassSet_Include(PollClassSet set, PollClass c)
+-{
+- return PollClassSet_Union(set, PollClassSet_Singleton(c));
+-}
+-
+-
+-#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
+-#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
+- PollClassSet_Singleton(POLL_CLASS_PAUSE))
+-#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
+- PollClassSet_Singleton(POLL_CLASS_CPT))
+-#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
+- PollClassSet_Singleton(POLL_CLASS_IPC))
+-#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
+-#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
+-/*
+- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
+- */
+-#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
+-
+-/*
+- * Poll class-set taxonomy:
+- * POLL_CS_MAIN
+- * - Unless you NEED another class, use POLL_CS_MAIN.
+- * POLL_CS_PAUSE
+- * - For callbacks that must occur even if the guest is paused.
+- * Most VMDB or Foundry commands are in this category.
+- * POLL_CS_CPT
+- * - Only for callbacks which can trigger intermediate Checkpoint
+- * transitions.
+- * The ONLY such callback is Migrate.
+- * POLL_CS_IPC
+- * - Only for callbacks which can contain Msg_(Post|Hint|Question)
+- * responses, and for signal handlers (why)?
+- * Vigor, VMDB, and Foundry can contain Msg_* responses.
+- * POLL_CS_MKS
+- * - Callback runs in MKS thread.
+- * POLL_CS_ALWAYS
+- * - Only for events that must be processed immediately.
+- * The ONLY such callback is OvhdMemVmxSizeCheck.
+- */
+-
+-
+-/*
+- * Poll_Callback flags
+- */
+-
+-#define POLL_FLAG_PERIODIC 0x01 // keep after firing
+-#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
+-#define POLL_FLAG_READ 0x04 // device is ready for reading
+-#define POLL_FLAG_WRITE 0x08 // device is ready for writing
+-#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
+-#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
+-#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
+-#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
+-#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
+-#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
+-
+-
+-typedef void (*PollerFunction)(void *clientData);
+-typedef void (*PollerFireWrapper)(PollerFunction func,
+- void *funcData,
+- void *wrapperData);
+-typedef Bool (*PollerErrorFn)(const char *errorStr);
+-
+-/*
+- * Initialisers:
+- *
+- * For the sake of convenience, we declare the initialisers
+- * for custom implmentations here, even though the actual
+- * implementations are distinct from the core poll code.
+- */
+-
+-typedef struct PollOptions {
+- Bool locked; // Use internal MXUser for locking
+- Bool allowFullQueue; // Don't assert when device event queue is full.
+- VThreadID windowsMsgThread; // thread that processes Windows messages
+- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
+- void *fireWrapperData; // optional
+- PollerErrorFn errorFn; // optional; called upon unrecoverable error
+-} PollOptions;
+-
+-
+-void Poll_InitDefault(void);
+-void Poll_InitDefaultEx(const PollOptions *opts);
+-void Poll_InitGtk(void); // On top of glib for Linux
+-void Poll_InitCF(void); // On top of CoreFoundation for OSX
+-
+-
+-/*
+- * Functions
+- */
+-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
+-void Poll_Loop(Bool loop, Bool *exit, PollClass c);
+-void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
+-Bool Poll_LockingEnabled(void);
+-void Poll_Exit(void);
+-
+-
+-/*
+- * Poll_Callback adds a callback regardless of whether an identical one exists.
+- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
+- * one read and one write callback per fd.
+- *
+- * Poll_CallbackRemove removes one callback. If there are multiple identical
+- * callbacks, which one is removed is an implementation detail. Note that in
+- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
+- * create the callback is not specified when removing, so all callbacks
+- * of those types with the same flags, function, and clientData are considered
+- * "identical" even if their fd/delay differed.
+- */
+-
+-VMwareStatus Poll_Callback(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- void *clientData,
+- PollEventType type,
+- PollDevHandle info, // fd/microsec delay
+- MXUserRecLock *lck);
+-Bool Poll_CallbackRemove(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- void *clientData,
+- PollEventType type);
+-Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- PollEventType type,
+- void **clientData);
+-
+-void Poll_NotifyChange(PollClassSet classSet);
+-
+-/*
+- * Wrappers for Poll_Callback and Poll_CallbackRemove that present
+- * simpler subsets of those interfaces.
+- */
+-
+-VMwareStatus Poll_CB_Device(PollerFunction f,
+- void *clientData,
+- PollDevHandle device,
+- Bool periodic);
+-
+-Bool Poll_CB_DeviceRemove(PollerFunction f,
+- void *clientData,
+- Bool periodic);
+-
+-
+-VMwareStatus Poll_CB_RTime(PollerFunction f,
+- void *clientData,
+- int64 delay, // microseconds
+- Bool periodic,
+- MXUserRecLock *lock);
+-
+-Bool Poll_CB_RTimeRemove(PollerFunction f,
+- void *clientData,
+- Bool periodic);
+-
+-
+-#ifdef _WIN32
+-void Poll_SetPumpsWindowsMessages(Bool pumps);
+-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
+-Bool Poll_FireWndCallback(void *lparam);
+-#endif
+-
+-#if defined(__cplusplus)
+-} // extern "C"
+-#endif
+-
+-#endif // _POLL_H_
+--- /dev/null
++++ b/open-vm-tools/lib/include/vm_poll.h
+@@ -0,0 +1,330 @@
++/*********************************************************
++ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation version 2.1 and no later version.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
++ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
++ * License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ *********************************************************/
++
++/*********************************************************
++ * The contents of this file are subject to the terms of the Common
++ * Development and Distribution License (the "License") version 1.0
++ * and no later version. You may not use this file except in
++ * compliance with the License.
++ *
++ * You can obtain a copy of the License at
++ * http://www.opensource.org/licenses/cddl1.php
++ *
++ * See the License for the specific language governing permissions
++ * and limitations under the License.
++ *
++ *********************************************************/
++
++
++#ifndef _POLL_H_
++#define _POLL_H_
++
++#define INCLUDE_ALLOW_USERLEVEL
++#define INCLUDE_ALLOW_VMCORE
++#include "includeCheck.h"
++
++#include "vm_basic_types.h"
++#include "vm_basic_defs.h"
++#include "vmware.h"
++#include "userlock.h"
++
++#if defined(__cplusplus)
++extern "C" {
++#endif
++
++#ifdef _WIN32
++#define HZ 100
++#elif defined linux
++#include <asm/param.h>
++#elif __APPLE__
++#include <TargetConditionals.h>
++/*
++ * Old SDKs don't define TARGET_OS_IPHONE at all.
++ * New ones define it to 0 on Mac OS X, 1 on iOS.
++ */
++#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
++#include <sys/kernel.h>
++#endif
++#include <poll.h>
++#define HZ 100
++#endif
++#ifdef __ANDROID__
++/*
++ * <poll.h> of android should be included, but its name is same
++ * with this file. So its content is put here to avoid conflict.
++ */
++#include <asm/poll.h>
++#define HZ 100
++typedef unsigned int nfds_t;
++int poll(struct pollfd *, nfds_t, long);
++#endif
++
++
++/*
++ * Poll event types: each type has a different reason for firing,
++ * or condition that must be met before firing.
++ */
++
++typedef enum {
++ /*
++ * Actual Poll queue types against which you can register callbacks.
++ */
++ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
++ POLL_VTIME = 0,
++ POLL_REALTIME,
++ POLL_DEVICE,
++ POLL_MAIN_LOOP,
++ POLL_NUM_QUEUES
++} PollEventType;
++
++
++/*
++ * Classes of events
++ *
++ * These are the predefined classes. More can be declared
++ * with Poll_AllocClass().
++ */
++
++typedef enum PollClass {
++ POLL_CLASS_MAIN,
++ POLL_CLASS_PAUSE,
++ POLL_CLASS_IPC,
++ POLL_CLASS_CPT,
++ POLL_CLASS_MKS,
++ POLL_FIXED_CLASSES,
++ POLL_DEFAULT_FIXED_CLASSES,
++ /* Size enum to maximum */
++ POLL_MAX_CLASSES = 31,
++} PollClass;
++
++/*
++ * Do not use; Special pseudo private poll class supported by
++ * PollDefault only
++ */
++#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
++#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
++
++/*
++ * Each callback is registered in a set of classes
++ */
++
++typedef struct PollClassSet {
++ uintptr_t bits;
++} PollClassSet;
++
++/* An empty PollClassSet. */
++static INLINE PollClassSet
++PollClassSet_Empty(void)
++{
++ PollClassSet set = { 0 };
++ return set;
++}
++
++/* A PollClassSet with the single member. */
++static INLINE PollClassSet
++PollClassSet_Singleton(PollClass c)
++{
++ PollClassSet s = PollClassSet_Empty();
++
++ ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
++ ASSERT(c < POLL_MAX_CLASSES);
++
++ s.bits = CONST3264U(1) << c;
++ return s;
++}
++
++/* Combine two PollClassSets. */
++static INLINE PollClassSet
++PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
++{
++ PollClassSet set;
++ set.bits = lhs.bits | rhs.bits;
++ return set;
++}
++
++/* Add single class to PollClassSet. */
++static INLINE PollClassSet
++PollClassSet_Include(PollClassSet set, PollClass c)
++{
++ return PollClassSet_Union(set, PollClassSet_Singleton(c));
++}
++
++
++#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
++#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
++ PollClassSet_Singleton(POLL_CLASS_PAUSE))
++#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
++ PollClassSet_Singleton(POLL_CLASS_CPT))
++#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
++ PollClassSet_Singleton(POLL_CLASS_IPC))
++#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
++#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
++/*
++ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
++ */
++#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
++
++/*
++ * Poll class-set taxonomy:
++ * POLL_CS_MAIN
++ * - Unless you NEED another class, use POLL_CS_MAIN.
++ * POLL_CS_PAUSE
++ * - For callbacks that must occur even if the guest is paused.
++ * Most VMDB or Foundry commands are in this category.
++ * POLL_CS_CPT
++ * - Only for callbacks which can trigger intermediate Checkpoint
++ * transitions.
++ * The ONLY such callback is Migrate.
++ * POLL_CS_IPC
++ * - Only for callbacks which can contain Msg_(Post|Hint|Question)
++ * responses, and for signal handlers (why)?
++ * Vigor, VMDB, and Foundry can contain Msg_* responses.
++ * POLL_CS_MKS
++ * - Callback runs in MKS thread.
++ * POLL_CS_ALWAYS
++ * - Only for events that must be processed immediately.
++ * The ONLY such callback is OvhdMemVmxSizeCheck.
++ */
++
++
++/*
++ * Poll_Callback flags
++ */
++
++#define POLL_FLAG_PERIODIC 0x01 // keep after firing
++#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
++#define POLL_FLAG_READ 0x04 // device is ready for reading
++#define POLL_FLAG_WRITE 0x08 // device is ready for writing
++#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
++#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
++#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
++#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
++#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
++#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
++
++
++typedef void (*PollerFunction)(void *clientData);
++typedef void (*PollerFireWrapper)(PollerFunction func,
++ void *funcData,
++ void *wrapperData);
++typedef Bool (*PollerErrorFn)(const char *errorStr);
++
++/*
++ * Initialisers:
++ *
++ * For the sake of convenience, we declare the initialisers
++ * for custom implmentations here, even though the actual
++ * implementations are distinct from the core poll code.
++ */
++
++typedef struct PollOptions {
++ Bool locked; // Use internal MXUser for locking
++ Bool allowFullQueue; // Don't assert when device event queue is full.
++ VThreadID windowsMsgThread; // thread that processes Windows messages
++ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
++ void *fireWrapperData; // optional
++ PollerErrorFn errorFn; // optional; called upon unrecoverable error
++} PollOptions;
++
++
++void Poll_InitDefault(void);
++void Poll_InitDefaultEx(const PollOptions *opts);
++void Poll_InitGtk(void); // On top of glib for Linux
++void Poll_InitCF(void); // On top of CoreFoundation for OSX
++
++
++/*
++ * Functions
++ */
++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
++void Poll_Loop(Bool loop, Bool *exit, PollClass c);
++void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
++Bool Poll_LockingEnabled(void);
++void Poll_Exit(void);
++
++
++/*
++ * Poll_Callback adds a callback regardless of whether an identical one exists.
++ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
++ * one read and one write callback per fd.
++ *
++ * Poll_CallbackRemove removes one callback. If there are multiple identical
++ * callbacks, which one is removed is an implementation detail. Note that in
++ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
++ * create the callback is not specified when removing, so all callbacks
++ * of those types with the same flags, function, and clientData are considered
++ * "identical" even if their fd/delay differed.
++ */
++
++VMwareStatus Poll_Callback(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ void *clientData,
++ PollEventType type,
++ PollDevHandle info, // fd/microsec delay
++ MXUserRecLock *lck);
++Bool Poll_CallbackRemove(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ void *clientData,
++ PollEventType type);
++Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ PollEventType type,
++ void **clientData);
++
++void Poll_NotifyChange(PollClassSet classSet);
++
++/*
++ * Wrappers for Poll_Callback and Poll_CallbackRemove that present
++ * simpler subsets of those interfaces.
++ */
++
++VMwareStatus Poll_CB_Device(PollerFunction f,
++ void *clientData,
++ PollDevHandle device,
++ Bool periodic);
++
++Bool Poll_CB_DeviceRemove(PollerFunction f,
++ void *clientData,
++ Bool periodic);
++
++
++VMwareStatus Poll_CB_RTime(PollerFunction f,
++ void *clientData,
++ int64 delay, // microseconds
++ Bool periodic,
++ MXUserRecLock *lock);
++
++Bool Poll_CB_RTimeRemove(PollerFunction f,
++ void *clientData,
++ Bool periodic);
++
++
++#ifdef _WIN32
++void Poll_SetPumpsWindowsMessages(Bool pumps);
++void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
++Bool Poll_FireWndCallback(void *lparam);
++#endif
++
++#if defined(__cplusplus)
++} // extern "C"
++#endif
++
++#endif // _POLL_H_
+--- a/open-vm-tools/lib/rpcIn/rpcin.c
++++ b/open-vm-tools/lib/rpcIn/rpcin.c
+@@ -57,7 +57,7 @@
+
+ #if defined(VMTOOLS_USE_VSOCKET)
+ # include <glib.h>
+-# include "poll.h"
++# include "vm_poll.h"
+ # include "asyncsocket.h"
+ # include "vmci_defs.h"
+ #include "dataMap.h"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch
new file mode 100644
index 00000000..784b4fc6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch
@@ -0,0 +1,39 @@
+From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jun 2018 23:16:53 -0700
+Subject: [PATCH] use posix strerror_r unless on gnu libc system
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/err/errPosix.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c
+index c81b4c13..7a403640 100644
+--- a/open-vm-tools/lib/err/errPosix.c
++++ b/open-vm-tools/lib/err/errPosix.c
+@@ -31,6 +31,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <locale.h>
++#include <stdio.h>
+
+ #include "vmware.h"
+ #include "errInt.h"
+@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN
+ {
+ char *p;
+
+-#if defined(__linux__) && !defined(__ANDROID__)
++#if defined(__GLIBC__) && !defined(__ANDROID__)
+ p = strerror_r(errorNumber, buf, bufSize);
+ #else
+- p = strerror(errorNumber);
+-#endif
++ if (strerror_r(errorNumber, buf, bufSize) != 0)
++ snprintf(buf, bufSize, "unknown error %i", errorNumber);
++ p = buf;
++#endif /* defined __GLIBC__ */
+ ASSERT(p != NULL);
+ return p;
+ }
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch
deleted file mode 100644
index 78722390..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 95c6184d9ff70a47c41768850923a96de9e544aa Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 10:41:01 +0000
-Subject: [PATCH 11/11] Use configure test for sys/stat.h include
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/services/plugins/vix/vixTools.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: open-vm-tools/services/plugins/vix/vixTools.c
-===================================================================
---- open-vm-tools.orig/services/plugins/vix/vixTools.c
-+++ open-vm-tools/services/plugins/vix/vixTools.c
-@@ -66,7 +66,7 @@
- #include <unistd.h>
- #endif
-
--#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__)
-+#ifdef HAVE_SYS_STAT_H
- #include <sys/stat.h>
- #endif
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
new file mode 100644
index 00000000..0a1d0087
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
@@ -0,0 +1,29 @@
+From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jun 2018 23:37:09 -0700
+Subject: [PATCH] Use uintmax_t for handling rlim_t
+
+rlimit types are not representable with long or long long
+formats, therefore use uintmax_t to typecast rlim_t types
+and use %j to print it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+index 0e6351a9..a2ee1740 100644
+--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN:
+ goto exit;
+ }
+
+- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n",
+- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max));
++ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n",
++ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max));
+
+ /*
+ * Check the offset is within the file size range.
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch
new file mode 100644
index 00000000..d69b74e2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch
@@ -0,0 +1,31 @@
+From 123c690f12f560022305b0cf19499e7f81a690ae Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 27 Aug 2018 23:22:21 -0700
+Subject: [PATCH] Use off64_t instead of __off64_t
+
+Fixes
+unknown type name '__off64_t'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/file/fileIOPosix.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c
+index 23108279..bcd2ddc5 100644
+--- a/open-vm-tools/lib/file/fileIOPosix.c
++++ b/open-vm-tools/lib/file/fileIOPosix.c
+@@ -206,10 +206,10 @@ static AlignedPool alignedPool;
+ * the symbols (and anyone building XOPEN<700 gets nothing).
+ */
+ extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt,
+- __off64_t offset) __attribute__ ((weak));
++ off64_t offset) __attribute__ ((weak));
+
+ extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt,
+- __off64_t offset) __attribute__ ((weak));
++ off64_t offset) __attribute__ ((weak));
+ #else
+ #error "Large file support unavailable. Aborting."
+ #endif
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
new file mode 100644
index 00000000..3e4753b2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
@@ -0,0 +1,27 @@
+From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 22 Dec 2018 19:59:02 -0800
+Subject: [PATCH] misc: Do not print NULL string into logs
+
+string format %s is getting a NULL pointer for 'expand'
+parameter always since the check for chunks[i] == NULL will ensure that
+its always null when the Log() API is called
+
+Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/misc/util_misc.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/open-vm-tools/lib/misc/util_misc.c
++++ b/open-vm-tools/lib/misc/util_misc.c
+@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName)
+ ASSERT(!freeChunk[i]);
+ chunks[i] = expand;
+ if (chunks[i] == NULL) {
+- Log("%s: Cannot allocate memory to expand $ in \"%s\".\n",
++ Log("%s: Cannot allocate memory to expand in \"%s\".\n",
+ __FUNCTION__, fileName);
+ goto out;
+ }
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch
deleted file mode 100644
index 1a6bfdb0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -303,6 +303,7 @@ AC_ARG_ENABLE(
- [],
- [enable_resolutionkms="auto"])
-
-+AM_INIT_AUTOMAKE([subdir-objects])
- AM_INIT_AUTOMAKE
-
- ###
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb
deleted file mode 100644
index 2d7486da..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb
+++ /dev/null
@@ -1,105 +0,0 @@
-# This recipe is modified from the recipe originally found in the Open-Switch
-# repository:
-#
-# https://github.com/open-switch/ops-build
-# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
-# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9
-#
-# The recipe packaging has been relicensed under the MIT license for inclusion
-# in meta-openembedded by agreement of the author (Diego Dompe).
-#
-
-SUMMARY = "Tools to enhance VMWare guest integration and performance"
-HOMEPAGE = "https://github.com/vmware/open-vm-tools"
-SECTION = "vmware-tools"
-
-LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac"
-LICENSE_modules/freebsd/vmblock = "BSD"
-LICENSE_modules/freebsd/vmmemctl = "GPL-2.0"
-LICENSE_modules/freebsd/vmxnet = "GPL-2.0"
-LICENSE_modules/linux = "GPL-2.0"
-LICENSE_modules/solaris = "CDDL-1.0"
-
-SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
- file://tools.conf \
- file://vmtoolsd.service \
- file://vmtoolsd.init \
- file://0001-configure.ac-don-t-use-dnet-config.patch \
- file://0002-add-include-sys-sysmacros.h.patch \
- file://0005-Use-configure-test-for-struct-timespec.patch \
- file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \
- file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \
- file://0011-Use-configure-test-for-sys-stat.h-include.patch \
- file://fix-subdir-objects-configure-error.patch \
- file://0001-include-poll.h-instead-of-sys-poll.h.patch \
- file://0002-Rename-poll.h-to-vm_poll.h.patch \
- file://0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch \
- file://0004-Use-uintmax_t-for-handling-rlim_t.patch \
- file://0001-Use-off64_t-instead-of-__off64_t.patch \
-"
-SRCREV = "2147df6aabe639fc5ff423ed791a8e7f02bf8d0a"
-
-S = "${WORKDIR}/git/open-vm-tools"
-
-DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc"
-
-# open-vm-tools is supported only on x86.
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-inherit autotools pkgconfig systemd update-rc.d
-
-SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
-
-EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
- --disable-tests --without-gtkmm --without-xerces --without-pam \
- --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \
- --without-root-privileges --without-kernel-modules"
-
-NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
-X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf"
-PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}"
-
-# fuse gets implicitly detected; there is no --without-fuse option.
-PACKAGECONFIG[fuse] = ",,fuse"
-
-CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member"
-FILES_${PN} += "\
- ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \
- ${libdir}/open-vm-tools/plugins/common/lib*.so \
- ${sysconfdir}/vmware-tools/tools.conf \
-"
-FILES_${PN}-locale += "${datadir}/open-vm-tools/messages"
-FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la"
-
-CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
-
-RDEPENDS_${PN} = "util-linux libdnet fuse"
-
-do_install_append() {
- ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs
- install -d ${D}${sysconfdir}/vmware-tools
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
- else
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd
- fi
- install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
-}
-
-do_configure_prepend() {
- export CUSTOM_DNET_NAME=dnet
- export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so
-}
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "vmtoolsd"
-INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ."
-
-python() {
- if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \
- 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
- raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.')
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
new file mode 100644
index 00000000..34a81d21
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
@@ -0,0 +1,116 @@
+# This recipe is modified from the recipe originally found in the Open-Switch
+# repository:
+#
+# https://github.com/open-switch/ops-build
+# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
+# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9
+#
+# The recipe packaging has been relicensed under the MIT license for inclusion
+# in meta-openembedded by agreement of the author (Diego Dompe).
+#
+
+SUMMARY = "Tools to enhance VMWare guest integration and performance"
+HOMEPAGE = "https://github.com/vmware/open-vm-tools"
+SECTION = "vmware-tools"
+
+LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac"
+LICENSE_modules/freebsd/vmblock = "BSD"
+LICENSE_modules/freebsd/vmmemctl = "GPL-2.0"
+LICENSE_modules/freebsd/vmxnet = "GPL-2.0"
+LICENSE_modules/linux = "GPL-2.0"
+LICENSE_modules/solaris = "CDDL-1.0"
+
+SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
+ file://tools.conf \
+ file://vmtoolsd.service \
+ file://vmtoolsd.init \
+ file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \
+ file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \
+ file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \
+ file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \
+ file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \
+ file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \
+ file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \
+ file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \
+ file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \
+ file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \
+ file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \
+ file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \
+ file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \
+ file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \
+ file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \
+ file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \
+ file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \
+ file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \
+"
+
+SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987"
+
+S = "${WORKDIR}/git/open-vm-tools"
+
+DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc"
+
+# open-vm-tools is supported only on x86.
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+inherit autotools pkgconfig systemd update-rc.d
+
+SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
+
+EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
+ --disable-tests --without-gtkmm --without-xerces --without-pam \
+ --disable-vgauth --disable-deploypkg \
+ --without-root-privileges --without-kernel-modules --with-tirpc \
+ --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d"
+
+NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
+X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf"
+PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}"
+
+# fuse gets implicitly detected; there is no --without-fuse option.
+PACKAGECONFIG[fuse] = ",,fuse"
+
+CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member"
+FILES_${PN} += "\
+ ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \
+ ${libdir}/open-vm-tools/plugins/common/lib*.so \
+ ${sysconfdir}/vmware-tools/tools.conf \
+"
+FILES_${PN}-locale += "${datadir}/open-vm-tools/messages"
+FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la"
+
+CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
+
+RDEPENDS_${PN} = "util-linux libdnet fuse"
+
+do_install_append() {
+ if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+ install -d ${D}/sbin
+ ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs
+ fi
+ install -d ${D}${sysconfdir}/vmware-tools
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
+ else
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd
+ fi
+ install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
+}
+
+do_configure_prepend() {
+ export CUSTOM_DNET_NAME=dnet
+ export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so
+}
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "vmtoolsd"
+INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ."
+
+python() {
+ if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \
+ 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.')
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb b/external/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb
new file mode 100644
index 00000000..9fd88ced
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Enumerate all known properties of OpenCL platform and devices."
+DESCRIPTION = "clinfo is a simple command-line application that enumerates \
+all possible (known) properties of the OpenCL platform and devices \
+available on the system."
+HOMEPAGE = "https://github.com/Oblomov/clinfo"
+
+LICENSE = "CC0-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fd8857f774dfb0eefe1e80c8f9240a7e"
+
+SRC_URI = "git://github.com/Oblomov/clinfo.git;protocol=https"
+
+SRCREV = "59d0daf898e48d76ccbb788acbba258fa0a8ba7c"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "opencl-headers opencl-icd-loader"
+
+do_install() {
+ install -D -m 755 clinfo ${D}${bindir}/clinfo
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb b/external/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb
index 67b7c297..08b2e3c2 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb
@@ -56,10 +56,6 @@ FILES_${PN}-dbg += " \
INSANE_SKIP_${PN} += "dev-deps"
-do_install_append() {
- rm -r ${D}/${localstatedir}/run
-}
-
do_install () {
rm -rf ${D}
install -d ${D}/etc
@@ -87,4 +83,6 @@ do_install () {
install -dm 755 ${D}${localstatedir}/run/openct
touch ${D}${localstatedir}/run/openct/status
chmod 644 ${D}${localstatedir}/run/openct/status
+
+ rm -r ${D}/${localstatedir}/run
}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch
new file mode 100644
index 00000000..f038b0aa
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch
@@ -0,0 +1,39 @@
+From 67ccf77d97b76e8260c9d793ab172577e2393dbc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 21:33:46 -0800
+Subject: [PATCH] use GNUInstallDirs for detecting install paths
+
+This helps with multilib builds
+
+Upstream-Status: Submitted [https://github.com/opencv/ade/pull/19]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sources/ade/CMakeLists.txt | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/sources/ade/CMakeLists.txt b/sources/ade/CMakeLists.txt
+index 2d1dd20..46415d1 100644
+--- a/sources/ade/CMakeLists.txt
++++ b/sources/ade/CMakeLists.txt
+@@ -47,12 +47,14 @@ if(BUILD_ADE_DOCUMENTATION)
+ VERBATIM)
+ endif()
+
++include(GNUInstallDirs)
++
+ install(TARGETS ade COMPONENT dev
+ EXPORT adeTargets
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib
+- RUNTIME DESTINATION lib
+- INCLUDES DESTINATION include)
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ install(EXPORT adeTargets DESTINATION share/ade COMPONENT dev)
+
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb b/external/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb
new file mode 100644
index 00000000..38618021
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A graph construction, manipulation, and processing framework"
+DESCRIPTION = "ADE Framework is a graph construction, manipulation, \
+and processing framework. ADE Framework is suitable for \
+organizing data flow processing and execution."
+HOMEPAGE = "https://github.com/opencv/ade"
+
+SRC_URI = "git://github.com/opencv/ade.git \
+ file://0001-use-GNUInstallDirs-for-detecting-install-paths.patch \
+ "
+
+SRCREV = "58b2595a1a95cc807be8bf6222f266a9a1f393a9"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release"
+
+FILES_${PN}-dev += "${datadir}/${BPN}/*.cmake"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
index 4d76ad40..5f909c1a 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
@@ -1,16 +1,17 @@
-From 4801a057730632225337d7f6d26b9335e6b9b078 Mon Sep 17 00:00:00 2001
+From 85b882b4ceb57fe6538f47af58d0a970923fde0e Mon Sep 17 00:00:00 2001
From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Date: Thu, 31 Mar 2016 00:20:15 +0200
Subject: [PATCH] 3rdparty/ippicv: Use pre-downloaded ipp
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+
---
3rdparty/ippicv/ippicv.cmake | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/3rdparty/ippicv/ippicv.cmake b/3rdparty/ippicv/ippicv.cmake
-index d601da4bb..f6fc1098c 100644
+index ae8748c..305abdb 100644
--- a/3rdparty/ippicv/ippicv.cmake
+++ b/3rdparty/ippicv/ippicv.cmake
@@ -39,18 +39,5 @@ function(download_ippicv root_var)
@@ -33,6 +34,3 @@ index d601da4bb..f6fc1098c 100644
- endif()
+ set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
endfunction()
---
-2.13.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-multi-line-separator.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-multi-line-separator.patch
deleted file mode 100644
index 513597b8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-multi-line-separator.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 60857229aab13ccc426572a43ab891409bb76ea4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 9 Sep 2018 22:52:55 -0700
-Subject: [PATCH] Add missing multi-line separator
-
-Otherwise this fails to build ( found on mips )
-
-Fixes
-contrib/modules/surface_matching/src/hash_murmur86.hpp:97:15: error:
-expected constructor, destructor, or type conversion before '(' token
- && defined(__GNUC__) && (__GNUC__>4 || (__GNUC__==4 &&
-__GNUC_MINOR__>=3))
- ^
-
-Upstream-Status: Submitted [https://github.com/opencv/opencv_contrib/pull/1764]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- modules/surface_matching/src/hash_murmur86.hpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/surface_matching/src/hash_murmur86.hpp b/modules/surface_matching/src/hash_murmur86.hpp
-index 1edf6bf4..0477d37e 100644
---- a/modules/surface_matching/src/hash_murmur86.hpp
-+++ b/modules/surface_matching/src/hash_murmur86.hpp
-@@ -93,7 +93,7 @@ void hashMurmurx86 ( const void * key, const int len, const uint seed, void * ou
- /* Now find best way we can to READ_UINT32 */
- #ifndef WORDS_BIGENDIAN
- # define READ_UINT32(ptr) (*((uint32_t*)(ptr)))
--#elif defined(WORDS_BIGENDIAN)
-+#elif defined(WORDS_BIGENDIAN) \
- && defined(__GNUC__) && (__GNUC__>4 || (__GNUC__==4 && __GNUC_MINOR__>=3))
- # define READ_UINT32(ptr) (__builtin_bswap32(*((uint32_t*)(ptr))))
- #endif
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Check-for-clang-before-using-isystem.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Check-for-clang-before-using-isystem.patch
deleted file mode 100644
index 319071a3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Check-for-clang-before-using-isystem.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From fa76d8646bb2b9b514728eeef41afed7c43a36f2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 11 Sep 2018 18:18:33 -0700
-Subject: [PATCH] Check for clang before using -isystem
-
-When cross compiling with clang, the internal C++ headers are not found
-when adding sysroot to -isystem, that is redundant anyway because it
-will look for headers insider --sysroot path with same quality as it
-would do with -isystem otherwise
-
-Upstream-Status: Submitted [https://github.com/opencv/opencv/pull/12504]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- cmake/OpenCVUtils.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake
-index fae91c165f..60c20192dc 100644
---- a/cmake/OpenCVUtils.cmake
-+++ b/cmake/OpenCVUtils.cmake
-@@ -259,7 +259,7 @@ function(ocv_include_directories)
- ocv_is_opencv_directory(__is_opencv_dir "${dir}")
- if(__is_opencv_dir)
- list(APPEND __add_before "${dir}")
-- elseif(CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND
-+ elseif(((CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0") OR CV_CLANG) AND
- dir MATCHES "/usr/include$")
- # workaround for GCC 6.x bug
- else()
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
index bf0b80a3..40d3f53e 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
@@ -1,4 +1,4 @@
-From 7144c44ec70dee73a628463b99ffeed74b1a8ef6 Mon Sep 17 00:00:00 2001
+From 9659f5a1e75fc29c9879c301767bba72ecf9042a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 11 Sep 2018 00:21:18 -0700
Subject: [PATCH] Dont use isystem
@@ -8,12 +8,13 @@ clang really does not like it
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
cmake/OpenCVPCHSupport.cmake | 2 ++
1 file changed, 2 insertions(+)
diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
-index f9b1b48b65..fe27a136f5 100644
+index 59bc826..055dfce 100644
--- a/cmake/OpenCVPCHSupport.cmake
+++ b/cmake/OpenCVPCHSupport.cmake
@@ -18,6 +18,8 @@ IF(CV_GCC)
@@ -25,6 +26,3 @@ index f9b1b48b65..fe27a136f5 100644
SET(_PCH_include_prefix "-I")
SET(_PCH_isystem_prefix "-isystem")
SET(_PCH_define_prefix "-D")
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
index 63cb7f94..f8ccd1d5 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
@@ -1,19 +1,20 @@
-From 7d31f41d2a6759e244983504ce855fc32916b97a Mon Sep 17 00:00:00 2001
+From fe27d0e2341683606704115949d16250e4cacbfa Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Wed, 9 May 2018 13:33:59 -0700
Subject: [PATCH] Temporarliy work around deprecated ffmpeg RAW function
compile failure until next uprev
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
+
---
modules/videoio/src/cap_ffmpeg_impl.hpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp
-index 5a9b10f075..97c6b74b07 100644
+index 0d360ad..566df66 100644
--- a/modules/videoio/src/cap_ffmpeg_impl.hpp
+++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
-@@ -667,6 +667,14 @@ struct ImplMutex::Impl
+@@ -736,6 +736,14 @@ struct ImplMutex::Impl
#endif
@@ -28,6 +29,3 @@ index 5a9b10f075..97c6b74b07 100644
void ImplMutex::init()
{
impl = new Impl();
---
-2.11.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-g.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-g.patch
new file mode 100644
index 00000000..43d32fbc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-g.patch
@@ -0,0 +1,55 @@
+From 1edc925ecd7fb54d2dc78452069084475fbe2a70 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 16 Jan 2020 08:52:00 -0800
+Subject: [PATCH] carotene: Replace ipcp-unit-growth with ipa-cp-unit-growth on gcc >= 10
+
+gcc 10+ has renamed this option, therefore check for gcc version before
+deciding which name to use for opt parameter
+
+Upstream-Status: Submitted [https://github.com/opencv/opencv/pull/16369]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ 3rdparty/carotene/CMakeLists.txt | 8 ++++++--
+ 3rdparty/carotene/hal/CMakeLists.txt | 7 ++++++-
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/3rdparty/carotene/CMakeLists.txt b/3rdparty/carotene/CMakeLists.txt
+index bfa9368d79..1c43b85b28 100644
+--- a/3rdparty/carotene/CMakeLists.txt
++++ b/3rdparty/carotene/CMakeLists.txt
+@@ -20,8 +20,12 @@ if(CMAKE_COMPILER_IS_GNUCC)
+ # - matchTemplate about 5-10%
+ # - goodFeaturesToTrack 10-20%
+ # - cornerHarris 30% for some cases
+-
+- set_source_files_properties(${carotene_sources} COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
++ set_source_files_properties(${carotene_sources} COMPILE_FLAGS "--param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
++ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0.0")
++ set_source_files_properties(${carotene_sources} COMPILE_FLAGS "--param ipcp-unit-growth=100000 ${COMPILE_FLAGS}")
++ else()
++ set_source_files_properties(${carotene_sources} COMPILE_FLAGS "--param ipa-cp-unit-growth=100000 ${COMPILE_FLAGS}")
++ endif()
+ endif()
+
+ add_library(carotene_objs OBJECT
+diff --git a/3rdparty/carotene/hal/CMakeLists.txt b/3rdparty/carotene/hal/CMakeLists.txt
+index c4b9acaedd..bbc5b11a80 100644
+--- a/3rdparty/carotene/hal/CMakeLists.txt
++++ b/3rdparty/carotene/hal/CMakeLists.txt
+@@ -90,7 +90,12 @@ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${carotene_defs})
+ # matchTemplate about 5-10%
+ # goodFeaturesToTrack 10-20%
+ # cornerHarris 30% for some cases
+- set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
++ set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
++ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0.0")
++ set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param ipcp-unit-growth=100000 ${COMPILE_FLAGS}")
++ else()
++ set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param ipa-cp-unit-growth=100000 ${COMPILE_FLAGS}")
++ endif()
+ # set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
+ endif()
+
+--
+2.25.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch
index a845505a..46198fb7 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch
@@ -1,15 +1,16 @@
-From 350525293aef65490e80104ddd99e1b21c5d54b0 Mon Sep 17 00:00:00 2001
+From 46ffa1f8f443b71673774fcb864eb741bbc26200 Mon Sep 17 00:00:00 2001
From: Bian Naimeng <biannm@cn.fujitsu.com>
Date: Wed, 19 Apr 2017 03:11:37 +0900
-Subject: [PATCH 2/3] Make opencv-ts create share library intead of static.
+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 f95bed079..ee67858df 100644
+index f95bed0..ee67858 100644
--- a/modules/ts/CMakeLists.txt
+++ b/modules/ts/CMakeLists.txt
@@ -4,7 +4,7 @@ if(NOT BUILD_opencv_ts AND NOT BUILD_TESTS AND NOT BUILD_PERF_TESTS)
@@ -21,6 +22,3 @@ index f95bed079..ee67858df 100644
set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)
if(WINRT)
---
-2.13.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
index 5270b8c9..336c2e08 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
@@ -1,7 +1,7 @@
-From ace48a628dca34d742615598afeef42ed323a029 Mon Sep 17 00:00:00 2001
+From 867caccc358266f7021f076fc8c8e41bf048782c Mon Sep 17 00:00:00 2001
From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Date: Fri, 19 May 2017 04:27:50 +0900
-Subject: [PATCH 3/3] To fix errors as following:
+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'"
@@ -13,17 +13,18 @@ Also add the visibility changes for certain OpenCL-related functions in
ts module.
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+
---
- modules/ts/include/opencv2/ts.hpp | 6 +++---
+ modules/ts/include/opencv2/ts.hpp | 4 ++--
modules/ts/include/opencv2/ts/ocl_test.hpp | 2 +-
modules/ts/include/opencv2/ts/ts_ext.hpp | 2 +-
- 3 files changed, 5 insertions(+), 5 deletions(-)
+ 3 files changed, 4 insertions(+), 4 deletions(-)
-Index: git/modules/ts/include/opencv2/ts.hpp
-===================================================================
---- git.orig/modules/ts/include/opencv2/ts.hpp
-+++ git/modules/ts/include/opencv2/ts.hpp
-@@ -608,7 +608,7 @@ protected:
+diff --git a/modules/ts/include/opencv2/ts.hpp b/modules/ts/include/opencv2/ts.hpp
+index b9d6b74..f1ee7ee 100644
+--- a/modules/ts/include/opencv2/ts.hpp
++++ b/modules/ts/include/opencv2/ts.hpp
+@@ -622,7 +622,7 @@ protected:
}
};
@@ -32,7 +33,7 @@ Index: git/modules/ts/include/opencv2/ts.hpp
struct DefaultRngAuto
{
-@@ -671,7 +671,7 @@ private:
+@@ -685,7 +685,7 @@ private:
#endif
#endif
@@ -41,10 +42,10 @@ Index: git/modules/ts/include/opencv2/ts.hpp
#define CV_TEST_INIT0_NOOP (void)0
-Index: git/modules/ts/include/opencv2/ts/ocl_test.hpp
-===================================================================
---- git.orig/modules/ts/include/opencv2/ts/ocl_test.hpp
-+++ git/modules/ts/include/opencv2/ts/ocl_test.hpp
+diff --git a/modules/ts/include/opencv2/ts/ocl_test.hpp b/modules/ts/include/opencv2/ts/ocl_test.hpp
+index 11572e9..438112e 100644
+--- a/modules/ts/include/opencv2/ts/ocl_test.hpp
++++ b/modules/ts/include/opencv2/ts/ocl_test.hpp
@@ -82,7 +82,7 @@ inline UMat ToUMat(InputArray src)
return dst;
}
@@ -54,10 +55,10 @@ Index: git/modules/ts/include/opencv2/ts/ocl_test.hpp
#define MAX_VALUE 357
-Index: git/modules/ts/include/opencv2/ts/ts_ext.hpp
-===================================================================
---- git.orig/modules/ts/include/opencv2/ts/ts_ext.hpp
-+++ git/modules/ts/include/opencv2/ts/ts_ext.hpp
+diff --git a/modules/ts/include/opencv2/ts/ts_ext.hpp b/modules/ts/include/opencv2/ts/ts_ext.hpp
+index b5cea3e..e5b0b4b 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
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/download.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/download.patch
new file mode 100644
index 00000000..fa8db880
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/download.patch
@@ -0,0 +1,32 @@
+This CMake module will download files during do_configure. This is bad as it
+means we can't do offline builds.
+
+Add an option to disallow downloads by emitting a fatal error.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/cmake/OpenCVDownload.cmake b/cmake/OpenCVDownload.cmake
+index cdc47ad2cb..74573f45a2 100644
+--- a/cmake/OpenCVDownload.cmake
++++ b/cmake/OpenCVDownload.cmake
+@@ -14,6 +14,7 @@
+ # RELATIVE_URL - if set, then URL is treated as a base, and FILENAME will be appended to it
+ # Note: uses OPENCV_DOWNLOAD_PATH folder as cache, default is <opencv>/.cache
+
++set(OPENCV_ALLOW_DOWNLOADS ON CACHE BOOL "Allow downloads")
+ set(HELP_OPENCV_DOWNLOAD_PATH "Cache directory for downloaded files")
+ if(DEFINED ENV{OPENCV_DOWNLOAD_PATH})
+ set(OPENCV_DOWNLOAD_PATH "$ENV{OPENCV_DOWNLOAD_PATH}" CACHE PATH "${HELP_OPENCV_DOWNLOAD_PATH}")
+@@ -153,6 +154,11 @@ function(ocv_download)
+
+ # Download
+ if(NOT EXISTS "${CACHE_CANDIDATE}")
++ if(NOT OPENCV_ALLOW_DOWNLOADS)
++ message(FATAL_ERROR "Not going to download ${DL_FILENAME}")
++ return()
++ endif()
++
+ ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"")
+ file(DOWNLOAD "${DL_URL}" "${CACHE_CANDIDATE}"
+ INACTIVITY_TIMEOUT 60
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixpkgconfig.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixpkgconfig.patch
deleted file mode 100644
index 3ed3468d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixpkgconfig.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Index: git/cmake/OpenCVGenPkgconfig.cmake
-===================================================================
---- git.orig/cmake/OpenCVGenPkgconfig.cmake
-+++ git/cmake/OpenCVGenPkgconfig.cmake
-@@ -31,7 +31,7 @@ macro(fix_prefix lst isown)
- get_filename_component(libdir "${item}" PATH)
- get_filename_component(_libname "${item}" NAME)
- ocv_get_libname(libname "${_libname}")
-- list(APPEND _lst "-L${libdir}" "-l${libname}")
-+ list(APPEND _lst "-l${libname}")
- else()
- list(APPEND _lst "-l${item}")
- endif()
-@@ -124,11 +124,14 @@ ocv_list_unique(_extra)
- ocv_list_unique(_3rdparty)
-
- set(OPENCV_PC_LIBS
-- "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
-+ "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"
- "${_modules}"
- )
- if(BUILD_SHARED_LIBS)
-- set(OPENCV_PC_LIBS_PRIVATE "${_extra}")
-+ set(OPENCV_PC_LIBS_PRIVATE
-+ "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
-+ "${_extra}"
-+ )
- else()
- set(OPENCV_PC_LIBS_PRIVATE
- "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
deleted file mode 100644
index fc273a89..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/modules/xfeatures2d/CMakeLists.txt b/modules/xfeatures2d/CMakeLists.txt
-index e1755595..c7009c47 100644
---- a/modules/xfeatures2d/CMakeLists.txt
-+++ b/modules/xfeatures2d/CMakeLists.txt
-@@ -5,10 +5,10 @@ ocv_define_module(xfeatures2d opencv_core opencv_imgproc opencv_features2d openc
- include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_vgg.cmake)
- include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_boostdesc.cmake)
- set(DOWNLOAD_DIR "${OpenCV_BINARY_DIR}/downloads/xfeatures2d")
--download_boost_descriptors("${DOWNLOAD_DIR}" boost_status)
--download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status)
--if(NOT boost_status OR NOT vgg_status)
-- ocv_module_disable(xfeatures2d)
--endif()
-+#download_boost_descriptors("${DOWNLOAD_DIR}" boost_status)
-+#download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status)
-+#if(NOT boost_status OR NOT vgg_status)
-+# ocv_module_disable(xfeatures2d)
-+#endif()
-
- ocv_module_include_directories("${DOWNLOAD_DIR}")
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.3.bb b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.3.bb
deleted file mode 100644
index 0a99700b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.3.bb
+++ /dev/null
@@ -1,192 +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=62d89c5dcb0583609ea919c56be0ee76"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
-
-SRCREV_opencv = "b38c50b3d0c31e82294315ec44b54b7ef559ef12"
-SRCREV_contrib = "1f6d6f06266e1ef336437ae5404bee1c65d42cda"
-SRCREV_ipp = "bdb7bb85f34a8cb0d35e40a81f58da431aa1557a"
-SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
-SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
-SRC_URI[tinydnn.md5sum] = "adb1c512e09ca2c7a6faef36f9c53e59"
-SRC_URI[tinydnn.sha256sum] = "e2c61ce8c5debaa644121179e9dbdcf83f497f39de853f8dd5175846505aa18b"
-
-def ipp_filename(d):
- import re
- arch = d.getVar('TARGET_ARCH', True)
- if re.match("i.86$", arch):
- return "ippicv_2017u3_lnx_ia32_general_20180518.tgz"
- else:
- return "ippicv_2017u3_lnx_intel64_general_20180518.tgz"
-
-def ipp_md5sum(d):
- import re
- arch = d.getVar('TARGET_ARCH', True)
- if re.match("i.86$", arch):
- return "ea72de74dae3c604eb6348395366e78e"
- else:
- return "b7cc351267db2d34b9efa1cd22ff0572"
-
-IPP_FILENAME = "${@ipp_filename(d)}"
-IPP_MD5 = "${@ipp_md5sum(d)}"
-
-SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
-SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20180518;destsuffix=ipp;name=ipp \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
- https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz;destsuffix=git/3rdparty/tinydnn/tiny-dnn-1.0.0a3;name=tinydnn;unpack=false \
- file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
- file://uselocalxfeatures.patch;patchdir=../contrib/ \
- file://0001-Add-missing-multi-line-separator.patch;patchdir=../contrib/ \
- file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \
- file://0003-To-fix-errors-as-following.patch \
- file://fixpkgconfig.patch \
- file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
- file://0001-Dont-use-isystem.patch \
- file://0001-Check-for-clang-before-using-isystem.patch \
-"
-PV = "3.4.3+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_unpack_extra() {
- mkdir -p ${S}/3rdparty/tinydnn/
- tar xzf ${WORKDIR}/v1.0.0a3.tar.gz -C ${S}/3rdparty/tinydnn/
- tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
- cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
- cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
-}
-addtask unpack_extra after do_unpack before do_patch
-
-EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
- -DWITH_1394=OFF \
- -DENABLE_PRECOMPILED_HEADERS=OFF \
- -DCMAKE_SKIP_RPATH=ON \
- -DOPENCV_ICV_HASH=${IPP_MD5} \
- -DIPPROOT=${WORKDIR}/ippicv_lnx \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
- ${@oe.utils.conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
- ${@oe.utils.conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
-"
-EXTRA_OECMAKE_append_x86 = " -DX86=ON"
-
-PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
-
-PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
-PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
-PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
-PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
-PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
-PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
-PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
-PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
-PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
-PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
-PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
-PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
-PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
-PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
-PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
-PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
-PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
-PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
-PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
-PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
-
-inherit pkgconfig cmake
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
-
-export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
-export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
-export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
-export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
-export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
- ${PN}-apps"
-
-python populate_packages_prepend () {
- cv_libdir = d.expand('${libdir}')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
- do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
-
- pn = d.getVar('PN')
- metapkg = pn + '-dev'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
-
- metapkg = pn
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg, "libopencv-ts" ]
- metapkg_rdepends = [ ]
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
-}
-
-PACKAGES_DYNAMIC += "^libopencv-.*"
-
-FILES_${PN} = ""
-FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake"
-FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty/lib/*.a"
-FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-java = "${datadir}/OpenCV/java"
-FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
-
-INSANE_SKIP_${PN}-java = "libdir"
-INSANE_SKIP_${PN}-dbg = "libdir"
-
-ALLOW_EMPTY_${PN} = "1"
-
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
-
-SUMMARY_python3-opencv = "Python bindings to opencv"
-FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python3-opencv = "python3-core python3-numpy"
-
-do_install_append() {
- cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
- sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
-
- # Move Python files into correct library folder (for multilib build)
- if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
- mv ${D}/usr/lib/* ${D}/${libdir}/
- rm -rf ${D}/usr/lib
- fi
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb
new file mode 100644
index 00000000..d781da60
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb
@@ -0,0 +1,207 @@
+SUMMARY = "Opencv : The Open Computer Vision Library"
+HOMEPAGE = "http://opencv.org/"
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6450921bb12a3133c8f5cb2a80343710"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
+
+SRCREV_opencv = "371bba8f54560b374fbcd47e7e02f015ac4969ad"
+SRCREV_contrib = "2c32791a9c500343568a21ea34bf2daeac2adae7"
+SRCREV_ipp = "32e315a5b106a7b89dbed51c28f8120a48b368b4"
+SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
+SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
+SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
+
+def ipp_filename(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match("i.86$", arch):
+ return "ippicv_2019_lnx_ia32_general_20180723.tgz"
+ else:
+ return "ippicv_2019_lnx_intel64_general_20180723.tgz"
+
+def ipp_md5sum(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match("i.86$", arch):
+ return "4f38432c30bfd6423164b7a24bbc98a0"
+ else:
+ return "c0bd78adb4156bbf552c1dfe90599607"
+
+IPP_FILENAME = "${@ipp_filename(d)}"
+IPP_MD5 = "${@ipp_md5sum(d)}"
+
+SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
+SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
+ git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
+ git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20180723;destsuffix=ipp;name=ipp \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \
+ file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
+ file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \
+ file://0003-To-fix-errors-as-following.patch \
+ file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
+ file://0001-Dont-use-isystem.patch \
+ file://0001-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-g.patch \
+ file://download.patch \
+ "
+PV = "4.1.0"
+
+S = "${WORKDIR}/git"
+
+# OpenCV wants to download more files during configure. We download these in
+# do_fetch and construct a source cache in the format it expects
+OPENCV_DLDIR = "${WORKDIR}/downloads"
+
+do_unpack_extra() {
+ tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
+
+ md5() {
+ # Return the MD5 of $1
+ echo $(md5sum $1 | cut -d' ' -f1)
+ }
+ cache() {
+ TAG=$1
+ shift
+ mkdir --parents ${OPENCV_DLDIR}/$TAG
+ for F in $*; do
+ DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F)
+ test -e $DEST || ln -s $F $DEST
+ done
+ }
+ cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i
+ cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i
+ cache data ${WORKDIR}/face/*.dat
+}
+addtask unpack_extra after do_unpack before do_patch
+
+EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
+ -DWITH_1394=OFF \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DOPENCV_ICV_HASH=${IPP_MD5} \
+ -DIPPROOT=${WORKDIR}/ippicv_lnx \
+ -DOPENCV_GENERATE_PKGCONFIG=ON \
+ -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \
+ -DOPENCV_ALLOW_DOWNLOADS=OFF \
+ ${@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)} \
+"
+EXTRA_OECMAKE_append_x86 = " -DX86=ON"
+
+PACKAGECONFIG ??= "gapi 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[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade"
+PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
+PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
+PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
+PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
+PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
+PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
+PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
+PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
+PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
+PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
+PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
+PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
+PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
+PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
+PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
+PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
+PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
+PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
+PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
+PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
+
+inherit pkgconfig cmake
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
+
+export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
+export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
+export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
+export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
+export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
+
+TARGET_CC_ARCH += "-I${S}/include "
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
+ ${PN}-apps"
+
+python populate_packages_prepend () {
+ cv_libdir = d.expand('${libdir}')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+ do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+
+ pn = d.getVar('PN')
+ metapkg = pn + '-dev'
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ blacklist = [ metapkg ]
+ metapkg_rdepends = [ ]
+ packages = d.getVar('PACKAGES').split()
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
+
+ metapkg = pn
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ blacklist = [ metapkg, "libopencv-ts" ]
+ metapkg_rdepends = [ ]
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+}
+
+PACKAGES_DYNAMIC += "^libopencv-.*"
+
+FILES_${PN} = ""
+FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
+FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake"
+FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
+FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
+FILES_${PN}-java = "${datadir}/OpenCV/java"
+FILES_${PN}-samples = "${datadir}/opencv4/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"
+
+RDEPENDS_${PN}-apps = "bash"
+
+do_install_append() {
+ # 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
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/kill-icu.patch b/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/kill-icu.patch
deleted file mode 100644
index 35e46465..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/kill-icu.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
-slapd depends on ICU if it was built first.
-
-Upstream-Status: inappropiate [embedded specific]
----
- configure.in | 8 --------
- 1 file changed, 8 deletions(-)
-
---- openldap-2.4.23.orig/configure.in
-+++ openldap-2.4.23/configure.in
-@@ -2045,18 +2045,10 @@ if test $ol_enable_ndb != no ; then
- SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
- fi
- fi
-
- dnl ----------------------------------------------------------------
--dnl International Components for Unicode
--OL_ICU
--if test "$ol_icu" = no ; then
-- AC_MSG_WARN([ICU not available])
--else
-- ICU_LIBS="$ol_icu"
--fi
--dnl ----------------------------------------------------------------
- dnl
- dnl Check for Cyrus SASL
- dnl
- WITH_SASL=no
- ol_link_sasl=no
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch b/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
index 25e148ed..ce8b47ae 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
@@ -12,6 +12,8 @@ unknown vectors.
Upstream-Status: Pending
+CVE: CVE-2015-3276
+
Signed-off-by: Li Wang <li.wang@windriver.com>
---
libraries/libldap/tls_m.c | 27 ++++++++++++++++-----------
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch b/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch
index 4eb38979..870fc98a 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch
@@ -1,24 +1,36 @@
-diff -ru openldap-2.4.46.orig/build/mkversion openldap-2.4.46/build/mkversion
---- openldap-2.4.46.orig/build/mkversion 2018-10-25 18:46:10.383750480 +1300
-+++ openldap-2.4.46/build/mkversion 2018-10-25 18:46:33.156232586 +1300
-@@ -50,7 +50,15 @@
- fi
-
- APPLICATION=$1
--WHOWHERE="$USER@`uname -n`:`pwd`"
-+if [ -n "${SOURCE_DATE_EPOCH}" ]; then
-+ WHOWHERE="openldap"
+From 868a04b0596e2df708ba14ed70815b1411db3db1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 21 Feb 2019 11:33:24 +0800
+Subject: [PATCH] mkversion: remove user host pwd from version
+
+Upstream-Status: Pending
+
+Update this patch to version 2.4.47
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ build/mkversion | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/build/mkversion b/build/mkversion
+index 4e35723..9fa3bee 100755
+--- a/build/mkversion
++++ b/build/mkversion
+@@ -53,8 +53,12 @@ APPLICATION=$1
+ # Reproducible builds set SOURCE_DATE_EPOCH, want constant strings
+ if [ -n "${SOURCE_DATE_EPOCH}" ]; then
+ WHOWHERE="openldap"
+ DATE=$(date -d@$SOURCE_DATE_EPOCH +' %b %d %Y ')
+ TIME=$(date -d@$SOURCE_DATE_EPOCH +' %H:%M:%S ')
-+else
-+ WHOWHERE="$USER@$(uname -n):$(pwd)"
+ else
+- WHOWHERE="$USER@$(uname -n):$(pwd)"
++ WHOWHERE="openldap"
+ DATE='" __DATE__ "'
+ TIME='" __TIME__ "'
-+fi
+ fi
cat << __EOF__
- /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
-@@ -72,7 +80,7 @@
+@@ -77,7 +81,7 @@ static const char copyright[] =
"COPYING RESTRICTIONS APPLY\n";
$static $const char $SYMBOL[] =
@@ -27,3 +39,6 @@ diff -ru openldap-2.4.46.orig/build/mkversion openldap-2.4.46/build/mkversion
"\t$WHOWHERE\n";
__EOF__
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.46.bb b/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.46.bb
deleted file mode 100644
index 7fe9fb0d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.46.bb
+++ /dev/null
@@ -1,255 +0,0 @@
-SUMMARY = "OpenLDAP Directory Service"
-DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
-HOMEPAGE = "http://www.OpenLDAP.org/license.html"
-# The OpenLDAP Public License - see the HOMEPAGE - defines
-# the license. www.openldap.org claims this is Open Source
-# (see http://www.openldap.org), the license appears to be
-# basically BSD. opensource.org does not record this license
-# at present (so it is apparently not OSI certified).
-LICENSE = "OpenLDAP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=25b4ead0e45182e7c2914e59ff57009f \
- file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
- "
-SECTION = "libs"
-
-LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
-
-SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${BP}.tgz \
- file://openldap-m4-pthread.patch \
- file://kill-icu.patch \
- file://openldap-2.4.28-gnutls-gcrypt.patch \
- file://use-urandom.patch \
- file://initscript \
- file://slapd.service \
- file://thread_stub.patch \
- file://openldap-CVE-2015-3276.patch \
- file://remove-user-host-pwd-from-version.patch \
-"
-
-SRC_URI[md5sum] = "829016c5a9f45c51adc50073ac6f9fd7"
-SRC_URI[sha256sum] = "9a90dcb86b99ae790ccab93b7585a31fbcbeec8c94bf0f7ab0ca0a87ea0c4b2d"
-
-DEPENDS = "util-linux groff-native"
-
-# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when
-# installing .so and executables, this fails in cross compilation
-# environments
-SRC_URI += "file://install-strip.patch"
-
-inherit autotools-brokensep update-rc.d systemd
-
-# CV SETTINGS
-# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
-# when cross compiling (should be in site?)
-EXTRA_OECONF += "ac_cv_func_memcmp_working=yes"
-
-# CONFIG DEFINITIONS
-# The following is necessary because it cannot be determined for a
-# cross compile automagically. Select should yield fine on all OE
-# systems...
-EXTRA_OECONF += "--with-yielding-select=yes"
-# Shared libraries are nice...
-EXTRA_OECONF += "--enable-dynamic"
-
-PACKAGECONFIG ??= "gnutls modules \
- mdb ldap meta monitor null passwd shell proxycache dnssrv \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-#--with-tls with TLS/SSL support auto|openssl|gnutls [auto]
-PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
-PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
-
-PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
-PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-
-# SLAPD options
-#
-# UNIX crypt(3) passwd support:
-EXTRA_OECONF += "--enable-crypt"
-
-# SLAPD BACKEND
-#
-# The backend must be set by the configuration. This controls the
-# required database.
-#
-# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql"
-#
-# Note that multiple backends can be built. The ldbm backend requires a
-# build-time choice of database API. The bdb backend forces this to be
-# DB4. To use the gdbm (or other) API the Berkely database module must
-# be removed from the build.
-md = "${libexecdir}/openldap"
-#
-#--enable-bdb enable Berkeley DB backend no|yes|mod yes
-# The Berkely DB is the standard choice. This version of OpenLDAP requires
-# the version 4 implementation or better.
-PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
-
-#--enable-dnssrv enable dnssrv backend no|yes|mod no
-PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
-
-#--enable-hdb enable Hierarchical DB backend no|yes|mod no
-PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
-
-#--enable-ldap enable ldap backend no|yes|mod no
-PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
-
-#--enable-mdb enable mdb database backend no|yes|mod [yes]
-PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no,"
-
-#--enable-meta enable metadirectory backend no|yes|mod no
-PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
-
-#--enable-monitor enable monitor backend no|yes|mod yes
-PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
-
-#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no]
-PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
-
-#--enable-null enable null backend no|yes|mod no
-PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
-
-#--enable-passwd enable passwd backend no|yes|mod no
-PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
-
-#--enable-perl enable perl backend no|yes|mod no
-# This requires a loadable perl dynamic library, if enabled without
-# doing something appropriate (building perl?) the build will pick
-# up the build machine perl - not good (inherit perlnative?)
-PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
-
-#--enable-relay enable relay backend no|yes|mod [yes]
-PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
-
-#--enable-shell enable shell backend no|yes|mod no
-# configure: WARNING: Use of --without-threads is recommended with back-shell
-PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
-
-#--enable-sock enable sock backend no|yes|mod [no]
-PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
-
-#--enable-sql enable sql backend no|yes|mod no
-# sql requires some sql backend which provides sql.h, sqlite* provides
-# sqlite.h (which may be compatible but hasn't been tried.)
-PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3"
-
-#--enable-dyngroup Dynamic Group overlay no|yes|mod no
-# This is a demo, Proxy Cache defines init_module which conflicts with the
-# same symbol in dyngroup
-PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
-
-#--enable-proxycache Proxy Cache overlay no|yes|mod no
-PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
-FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
-PACKAGES += "${PN}-overlay-proxycache"
-
-# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
-# This allows tls to obtain random bits from /dev/urandom, by default
-# it was disabled for cross-compiling.
-CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
-
-LDFLAGS_append = " -pthread"
-
-do_configure() {
- cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
- rm -f ${S}/libtool
- aclocal
- libtoolize --force --copy
- gnu-configize
- autoconf
- oe_runconf
-}
-
-LEAD_SONAME = "libldap-${LDAP_VER}.so.*"
-
-# The executables go in a separate package. This allows the
-# installation of the libraries with no daemon support.
-# Each module also has its own package - see above.
-PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
-
-# Package contents - shift most standard contents to -bin
-FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
-FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
- ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
- ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
-FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run"
-FILES_${PN}-bin = "${bindir}"
-FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
-FILES_${PN}-dbg += "${libexecdir}/openldap/.debug"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap
- chmod 755 ${D}${sysconfdir}/init.d/openldap
- # This is duplicated in /etc/openldap and is for slapd
- rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
-
- # Installing slapd under ${sbin} is more FHS and LSB compliance
- mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
- rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
- SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
- cd ${D}/${sbindir}/
- rm -f ${SLAPTOOLS}
- for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
-
- rmdir "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
-
- # Uses mdm as the database
- # and localstatedir as data directory ...
- sed -e 's/# modulepath/modulepath/' \
- -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \
- -e 's/database\s*bdb/database mdb/' \
- -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \
- -i ${D}${sysconfdir}/openldap/slapd.conf
-
- mkdir -p ${D}${localstatedir}/${BPN}/data
-
-
-}
-
-INITSCRIPT_PACKAGES = "${PN}-slapd"
-INITSCRIPT_NAME_${PN}-slapd = "openldap"
-INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
-SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable"
-
-
-PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
-
-# The modules require their .so to be dynamicaly loaded
-INSANE_SKIP_${PN}-backend-dnssrv += "dev-so"
-INSANE_SKIP_${PN}-backend-ldap += "dev-so"
-INSANE_SKIP_${PN}-backend-meta += "dev-so"
-INSANE_SKIP_${PN}-backend-mdb += "dev-so"
-INSANE_SKIP_${PN}-backend-monitor += "dev-so"
-INSANE_SKIP_${PN}-backend-null += "dev-so"
-INSANE_SKIP_${PN}-backend-passwd += "dev-so"
-INSANE_SKIP_${PN}-backend-shell += "dev-so"
-
-
-python populate_packages_prepend () {
- backend_dir = d.expand('${libexecdir}/openldap')
- do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
- do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
-
- metapkg = "${PN}-backends"
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- d.setVar('FILES_' + metapkg, "")
- metapkg_rdepends = []
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"):
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
- d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package')
- packages.append(metapkg)
- d.setVar('PACKAGES', ' '.join(packages))
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.50.bb b/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.50.bb
new file mode 100644
index 00000000..b62b13a4
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.50.bb
@@ -0,0 +1,254 @@
+SUMMARY = "OpenLDAP Directory Service"
+DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
+HOMEPAGE = "http://www.OpenLDAP.org/license.html"
+# The OpenLDAP Public License - see the HOMEPAGE - defines
+# the license. www.openldap.org claims this is Open Source
+# (see http://www.openldap.org), the license appears to be
+# basically BSD. opensource.org does not record this license
+# at present (so it is apparently not OSI certified).
+LICENSE = "OpenLDAP"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=5391b559d23a2237bdb21e7a62dae7c3 \
+ file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
+ "
+SECTION = "libs"
+
+LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
+
+SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \
+ file://openldap-m4-pthread.patch \
+ file://openldap-2.4.28-gnutls-gcrypt.patch \
+ file://use-urandom.patch \
+ file://initscript \
+ file://slapd.service \
+ file://thread_stub.patch \
+ file://openldap-CVE-2015-3276.patch \
+ file://remove-user-host-pwd-from-version.patch \
+"
+
+SRC_URI[md5sum] = "f9ed44ef373abed04c9e4c8586260f9e"
+SRC_URI[sha256sum] = "5cb57d958bf5c55a678c6a0f06821e0e5504d5a92e6a33240841fbca1db586b8"
+
+DEPENDS = "util-linux groff-native"
+
+# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when
+# installing .so and executables, this fails in cross compilation
+# environments
+SRC_URI += "file://install-strip.patch"
+
+inherit autotools-brokensep update-rc.d systemd
+
+# CV SETTINGS
+# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
+# when cross compiling (should be in site?)
+EXTRA_OECONF += "ac_cv_func_memcmp_working=yes"
+
+# CONFIG DEFINITIONS
+# The following is necessary because it cannot be determined for a
+# cross compile automagically. Select should yield fine on all OE
+# systems...
+EXTRA_OECONF += "--with-yielding-select=yes"
+# Shared libraries are nice...
+EXTRA_OECONF += "--enable-dynamic"
+
+PACKAGECONFIG ??= "gnutls modules \
+ mdb ldap meta monitor null passwd shell proxycache dnssrv \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+#--with-tls with TLS/SSL support auto|openssl|gnutls [auto]
+PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
+PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
+
+PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
+PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+
+# SLAPD options
+#
+# UNIX crypt(3) passwd support:
+EXTRA_OECONF += "--enable-crypt"
+
+# SLAPD BACKEND
+#
+# The backend must be set by the configuration. This controls the
+# required database.
+#
+# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql"
+#
+# Note that multiple backends can be built. The ldbm backend requires a
+# build-time choice of database API. The bdb backend forces this to be
+# DB4. To use the gdbm (or other) API the Berkely database module must
+# be removed from the build.
+md = "${libexecdir}/openldap"
+#
+#--enable-bdb enable Berkeley DB backend no|yes|mod yes
+# The Berkely DB is the standard choice. This version of OpenLDAP requires
+# the version 4 implementation or better.
+PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
+
+#--enable-dnssrv enable dnssrv backend no|yes|mod no
+PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
+
+#--enable-hdb enable Hierarchical DB backend no|yes|mod no
+PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
+
+#--enable-ldap enable ldap backend no|yes|mod no
+PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
+
+#--enable-mdb enable mdb database backend no|yes|mod [yes]
+PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no,"
+
+#--enable-meta enable metadirectory backend no|yes|mod no
+PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
+
+#--enable-monitor enable monitor backend no|yes|mod yes
+PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
+
+#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no]
+PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
+
+#--enable-null enable null backend no|yes|mod no
+PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
+
+#--enable-passwd enable passwd backend no|yes|mod no
+PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
+
+#--enable-perl enable perl backend no|yes|mod no
+# This requires a loadable perl dynamic library, if enabled without
+# doing something appropriate (building perl?) the build will pick
+# up the build machine perl - not good (inherit perlnative?)
+PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
+
+#--enable-relay enable relay backend no|yes|mod [yes]
+PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
+
+#--enable-shell enable shell backend no|yes|mod no
+# configure: WARNING: Use of --without-threads is recommended with back-shell
+PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
+
+#--enable-sock enable sock backend no|yes|mod [no]
+PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
+
+#--enable-sql enable sql backend no|yes|mod no
+# sql requires some sql backend which provides sql.h, sqlite* provides
+# sqlite.h (which may be compatible but hasn't been tried.)
+PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3"
+
+#--enable-dyngroup Dynamic Group overlay no|yes|mod no
+# This is a demo, Proxy Cache defines init_module which conflicts with the
+# same symbol in dyngroup
+PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
+
+#--enable-proxycache Proxy Cache overlay no|yes|mod no
+PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
+FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
+PACKAGES += "${PN}-overlay-proxycache"
+
+# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
+# This allows tls to obtain random bits from /dev/urandom, by default
+# it was disabled for cross-compiling.
+CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
+
+LDFLAGS_append = " -pthread"
+
+do_configure() {
+ cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
+ rm -f ${S}/libtool
+ aclocal
+ libtoolize --force --copy
+ gnu-configize
+ autoconf
+ oe_runconf
+}
+
+LEAD_SONAME = "libldap-${LDAP_VER}.so.*"
+
+# The executables go in a separate package. This allows the
+# installation of the libraries with no daemon support.
+# Each module also has its own package - see above.
+PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
+
+# Package contents - shift most standard contents to -bin
+FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
+FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
+ ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
+ ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
+FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run"
+FILES_${PN}-bin = "${bindir}"
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
+FILES_${PN}-dbg += "${libexecdir}/openldap/.debug"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap
+ chmod 755 ${D}${sysconfdir}/init.d/openldap
+ # This is duplicated in /etc/openldap and is for slapd
+ rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
+
+ # Installing slapd under ${sbin} is more FHS and LSB compliance
+ mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
+ rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
+ SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
+ cd ${D}/${sbindir}/
+ rm -f ${SLAPTOOLS}
+ for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
+
+ rmdir "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
+
+ # Uses mdm as the database
+ # and localstatedir as data directory ...
+ sed -e 's/# modulepath/modulepath/' \
+ -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \
+ -e 's/database\s*bdb/database mdb/' \
+ -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \
+ -i ${D}${sysconfdir}/openldap/slapd.conf
+
+ mkdir -p ${D}${localstatedir}/${BPN}/data
+
+
+}
+
+INITSCRIPT_PACKAGES = "${PN}-slapd"
+INITSCRIPT_NAME_${PN}-slapd = "openldap"
+INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
+SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable"
+
+
+PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
+
+# The modules require their .so to be dynamicaly loaded
+INSANE_SKIP_${PN}-backend-dnssrv += "dev-so"
+INSANE_SKIP_${PN}-backend-ldap += "dev-so"
+INSANE_SKIP_${PN}-backend-meta += "dev-so"
+INSANE_SKIP_${PN}-backend-mdb += "dev-so"
+INSANE_SKIP_${PN}-backend-monitor += "dev-so"
+INSANE_SKIP_${PN}-backend-null += "dev-so"
+INSANE_SKIP_${PN}-backend-passwd += "dev-so"
+INSANE_SKIP_${PN}-backend-shell += "dev-so"
+
+
+python populate_packages_prepend () {
+ backend_dir = d.expand('${libexecdir}/openldap')
+ do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
+ do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
+
+ metapkg = "${PN}-backends"
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ d.setVar('FILES_' + metapkg, "")
+ metapkg_rdepends = []
+ packages = d.getVar('PACKAGES').split()
+ for pkg in packages[1:]:
+ if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+ d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package')
+ packages.append(metapkg)
+ d.setVar('PACKAGES', ' '.join(packages))
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch b/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch
deleted file mode 100644
index 48d83275..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 87857d5cae7db94fdd776904886392b1e86053bd Mon Sep 17 00:00:00 2001
-From: Florian Bezdeka <1119693+fbezdeka@users.noreply.github.com>
-Date: Fri, 18 May 2018 18:54:56 +0200
-Subject: [PATCH] Fixed gcc 8 compilation errors (#1353)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The following errors occured during a compilation using gcc 8:
-
-In function »gids_create_file.constprop«,
- inserted by »gids_save_certificate.isra.8« beicard-gids.c:1548:7:
-card-gids.c:465:2: Error: »strncpy« output may be truncated copying 8 bytes from a string of length 8 [-Werror=stringop-truncation]
- strncpy(record->filename, filename, 8);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-pkcs15-oberthur.c: In function »sc_pkcs15emu_oberthur_add_prvkey«:
-pkcs15-oberthur.c:741:5: Error: »strncpy« output may be truncated copying 254 bytes from a string of length 254 [-Werror=stringop-truncation]
- strncpy(kobj.label, objs[ii]->label, sizeof(kobj.label) - 1);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Backport [https://github.com/OpenSC/OpenSC/pull/1353]
-Signed-off-by Khem Raj <raj.khem@gmail.com>
----
- src/libopensc/card-gids.c | 3 ++-
- src/libopensc/pkcs15-oberthur.c | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/libopensc/card-gids.c b/src/libopensc/card-gids.c
-index fc5d2a7..ac3e579 100644
---- a/src/libopensc/card-gids.c
-+++ b/src/libopensc/card-gids.c
-@@ -33,6 +33,7 @@ Some features are undocumented like the format used to store certificates. They
-
- #include <stdlib.h>
- #include <string.h>
-+#include "../common/compat_strlcpy.h"
-
- #ifdef ENABLE_OPENSSL
- /* openssl only needed for card administration */
-@@ -462,7 +463,7 @@ static int gids_create_file(sc_card_t *card, char* directory, char* filename) {
- memset(masterfilebuffer + offset, 0, sizeof(gids_mf_record_t));
- record = (gids_mf_record_t*) (masterfilebuffer + offset);
- strncpy(record->directory, directory, 8);
-- strncpy(record->filename, filename, 8);
-+ strlcpy(record->filename, filename, sizeof(record->filename));
- record->fileIdentifier = fileIdentifier;
- record->dataObjectIdentifier = dataObjectIdentifier;
-
-diff --git a/src/libopensc/pkcs15-oberthur.c b/src/libopensc/pkcs15-oberthur.c
-index 4f841ed..3415be7 100644
---- a/src/libopensc/pkcs15-oberthur.c
-+++ b/src/libopensc/pkcs15-oberthur.c
-@@ -29,6 +29,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
-+#include "../common/compat_strlcpy.h"
-
- #include "pkcs15.h"
- #include "log.h"
-@@ -738,7 +739,7 @@ sc_pkcs15emu_oberthur_add_prvkey(struct sc_pkcs15_card *p15card,
- unsigned int id = path.value[path.len - 2] * 0x100 + path.value[path.len - 1];
-
- if (id == ccont.id_cert) {
-- strncpy(kobj.label, objs[ii]->label, sizeof(kobj.label) - 1);
-+ strlcpy(kobj.label, objs[ii]->label, sizeof(kobj.label));
- break;
- }
- }
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.18.0.bb b/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.18.0.bb
deleted file mode 100644
index 45c931e7..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.18.0.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Smart card library and applications"
-DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\
-functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\
-7816-4 compatible smart card. Encryption and decryption using private\
-keys on the smart card is possible with PKCS\
-such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\
-eID cards have also been confirmed to work."
-
-HOMEPAGE = "http://www.opensc-project.org/opensc/"
-SECTION = "System Environment/Libraries"
-
-SRC_URI = "https://snapshot.debian.org/archive/debian/20180521T101428Z/pool/main/o/opensc/opensc_0.18.0.orig.tar.gz \
- file://0001-Fixed-gcc-8-compilation-errors-1353.patch \
- "
-
-SRC_URI[md5sum] = "bce516f752e0db5327aa06cc0136fe27"
-SRC_URI[sha256sum] = "6ef62b00e8fdbe3e386c3ee25c2cadb56c1931ea42f1a11dce8c947f51b45033"
-
-DEPENDS = "openct pcsc-lite virtual/libiconv openssl"
-
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/OpenSC-${PV}"
-EXTRA_OECONF = " \
- --disable-static \
- --enable-openct \
- --disable-pcsc \
- --disable-ctapi \
- --disable-doc \
-"
-EXTRA_OEMAKE = "DESTDIR=${D}"
-
-RDEPENDS_${PN} = "readline"
-
-FILES_${PN} += "\
- ${libdir}/opensc-pkcs11.so \
- ${libdir}/onepin-opensc-pkcs11.so \
- ${libdir}/pkcs11-spy.so \
-"
-FILES_${PN}-dev += "\
- ${libdir}/pkcs11/opensc-pkcs11.so \
- ${libdir}/pkcs11/onepin-opensc-pkcs11.so \
- ${libdir}/pkcs11/pkcs11-spy.so \
-"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.20.0.bb b/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.20.0.bb
new file mode 100644
index 00000000..a815980c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.20.0.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Smart card library and applications"
+DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\
+functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\
+7816-4 compatible smart card. Encryption and decryption using private\
+keys on the smart card is possible with PKCS\
+such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\
+eID cards have also been confirmed to work."
+
+HOMEPAGE = "http://www.opensc-project.org/opensc/"
+SECTION = "System Environment/Libraries"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+#v0.19.0
+SRCREV = "45e29056ccde422e70ed3585084a7f150c632515"
+SRC_URI = "git://github.com/OpenSC/OpenSC \
+ "
+DEPENDS = "virtual/libiconv openssl"
+
+S = "${WORKDIR}/git"
+inherit autotools pkgconfig bash-completion
+
+EXTRA_OECONF = " \
+ --disable-static \
+ --disable-ctapi \
+ --disable-doc \
+"
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+PACKAGECONFIG ??= "pcsc"
+
+PACKAGECONFIG[openct] = "--enable-openct,--disable-openct,openct"
+PACKAGECONFIG[pcsc] = "--enable-pcsc,--disable-pcsc,pcsc-lite,pcsc-lite pcsc-lite-lib"
+
+RDEPENDS_${PN} = "readline"
+
+FILES_${PN} += "\
+ ${libdir}/opensc-pkcs11.so \
+ ${libdir}/onepin-opensc-pkcs11.so \
+ ${libdir}/pkcs11-spy.so \
+"
+FILES_${PN}-dev += "\
+ ${libdir}/pkcs11/opensc-pkcs11.so \
+ ${libdir}/pkcs11/onepin-opensc-pkcs11.so \
+ ${libdir}/pkcs11/pkcs11-spy.so \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/checkserverkey b/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/checkserverkey
deleted file mode 100644
index bcfa3610..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/checkserverkey
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-if [ ! -f "/etc/openwbem/serverkey.pem" ]; then
- if [ -f "/etc/ssl/servercerts/servercert.pem" \
- -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then
- echo "Using common server certificate /etc/ssl/servercerts/servercert.pem"
- ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwbem/
- else
- echo "FAILED: Starting OpenWBEM server"
- echo "There is no ssl server key available for OpenWBEM server to use."
- echo -e "Please generate one with the following script and start the OpenWBEM service again:\n"
- echo "##################################"
- echo "/etc/openwbem/owgencert"
- echo "================================="
-
- echo "NOTE: The script uses /dev/random device for generating some random bits while generating the server key."
- echo " If this takes too long, you can replace the value of \"RANDFILE\" in /etc/openwsman/ssleay.cnf with /dev/urandom. Please understand the implications"
- exit 1
- fi
-fi
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh b/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh
deleted file mode 100644
index dd87811a..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/sh
-#
-# options:
-# loadmof.sh <MOF_PATH> <NAMESPACE> <FILES>
-#
-# - or -
-#
-# options:
-# loadmof.sh -n <NAMESPACE> <FILES> [...]
-#
-# The former is preserved for compatibility with Pegasus and
-# sblim providers. The latter is preferred. If $1 is "-n",
-# the latter code path is executed. Otherwise the former is
-# executed.
-
-if [ "x$1" != "x-n" -a "x$1" != "x-v" ]; then
-# OLD STYLE
-if [ -f "/etc/init.d/owcimomd" ]; then
- /etc/init.d/owcimomd status 1>&2 > /dev/null
- if [ $? = "0" ]; then
- CIMOM_RUNNING="true"
- else
- CIMOM_RUNNING="false"
- fi
-else
- exit 1
-fi
-if [ "$YAST_IS_RUNNING" = "instsys" ]; then
- CIMOM_RUNNING="false"
-fi
-
-CIMOM=$1
-shift
-case "$CIMOM" in
- pegasus)
- exit 0
- ;;
-esac
-MOF_PATH=$1
-shift
-NS=$1
-shift
-
-REPOSITORY="/var/lib/openwbem"
-#tmp_dir=`mktemp -d -p /tmp openwbem.XXXXXX`
-case "$CIMOM_RUNNING" in
- true|false)
- while [ "$#" -gt 0 ]
- do
- echo "Loading $MOF_PATH/$1"
- #sed "s/cmpi:/cmpi::/g" $MOF_PATH/$1 > $tmp_dir/$1
- /usr/bin/owmofc -c -n $NS -d $REPOSITORY $MOF_PATH/$1 > /dev/null 2>&1
- shift
- done
- ;;
-esac
-#rm -rf $tmp_dir
-# END OLD STYLE
-
-else
-# NEW STYLE
-if [ "x$3" = "x" ]; then
- echo "Usage: $0 -n <NAMESPACE> <FILES> [...]"
- exit 1
-fi
-
-if [ "x$1" = "x-v" ]; then
- VERBOSE=1
- shift
-fi
-
-# get rid of "-n" arg
-shift
-
-NS="$1"
-
-shift
-
-DBDIR=/var/lib/openwbem
-LOGFILE=$DBDIR/loadmof.log
-CIMOM_INIT=/etc/init.d/owcimomd
-if [ "$YAST_IS_RUNNING" != "instsys" ] ; then
- $CIMOM_INIT status > /dev/null 2>&1
- CIMOM_RUNNING=$?
-fi
-if [ "x$CIMOM_RUNNING" = "x0" ]; then
- $CIMOM_INIT stop > /dev/null 2>&1
-fi
-bkpdir=$DBDIR/backup-$$
-mkdir $bkpdir
-cp -a $DBDIR/*.{dat,ndx,lock} $bkpdir/
-rm -f $LOGFILE.9
-for i in 8 7 6 5 4 3 2 1 0; do
- let newI=$i+1
- if [ -f $LOGFILE.$i ]; then
- mv $LOGFILE.$i $LOGFILE.$newI
- fi
-done
-if [ -f $LOGFILE ]; then
- mv $LOGFILE $LOGFILE.0
-fi
-if [ "x$VERBOSE" = "x1" ]; then
- /usr/bin/owmofc -c -n $NS -d $DBDIR -s /usr/share/mof/cim-current "$@" 2>&1 | tee $LOGFILE
-else
- /usr/bin/owmofc -c -n $NS -d $DBDIR -s /usr/share/mof/cim-current "$@" > $LOGFILE 2>&1
-fi
-RVAL=$?
-if [ "x$RVAL" != "x0" ]; then
- echo "MOF import failed! Check $LOGFILE for details."
- mv $bkpdir/* $DBDIR/
-fi
-rm -rf $bkpdir
-if [ "x$CIMOM_RUNNING" = "x0" ]; then
- $CIMOM_INIT start > /dev/null 2>&1
-fi
-exit $RVAL
-fi
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof b/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof
deleted file mode 100644
index c9970c79..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof
+++ /dev/null
@@ -1,21 +0,0 @@
-#pragma namespace("root/security")
-
-instance of OpenWBEM_NamespaceACL
-{
- nspace = "root";
- capability = "";
-};
-
-instance of OpenWBEM_NamespaceACL
-{
- nspace = "root/cimv2";
- capability = "";
-};
-
-instance of OpenWBEM_UserACL
-{
- nspace = "root/cimv2";
- username = "root";
- capability = "rw";
-};
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem b/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem
deleted file mode 100644
index b3785aa4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem
+++ /dev/null
@@ -1,7 +0,0 @@
-#%PAM-1.0
-auth required pam_unix2.so nullok
-auth required pam_nologin.so
-account required pam_unix2.so
-password required pam_pwcheck.so nullok
-password required pam_unix2.so nullok use_first_pass use_authtok
-session required pam_unix2.so none
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init b/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init
deleted file mode 100644
index 47fa8a7c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/bin/sh
-#
-### BEGIN INIT INFO
-# Provides: owcimomd
-# Required-Start: $network
-# Required-Stop: $network
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: OpenWBEM CIMOM Daemon
-# Description: owcimomd
-# Start/Stop the OpenWBEM CIMOM Daemon
-### END INIT INFO
-#
-#
-# chkconfig: 2345 36 64
-# description: OpenWBEM CIMOM Daemon
-# processname: owcimomd
-
-NAME=owcimomd
-DAEMON=/usr/sbin/$NAME
-OPTIONS=
-PIDFILE=/var/run/$NAME.pid
-
-if [ $EUID != 0 ]; then
- echo "This script must be run as root."
- exit 1;
-fi
-
-if [ "$DESCRIPTIVE" = "" ]; then
- DESCRIPTIVE="OpenWBEM CIMOM Daemon"
-fi
-
-lockfile=${SVIlock:-/var/lock/subsys/$NAME}
-
-[ -x $DAEMON ] || exit 0
-
-# See how we were called.
-. /etc/init.d/functions
-
-start() {
- if [ ! -f "/etc/openwbem/serverkey.pem" ]; then
- if [ -f "/etc/ssl/servercerts/servercert.pem" \
- -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then
- echo "Using common server certificate /etc/ssl/servercerts/servercert.pem"
- ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwbem/
- else
- echo "Generating OpenWBEM server public certificate and private key"
- FQDN=`hostname --fqdn`
- if [ "x${FQDN}" = "x" ]; then
- FQDN=localhost.localdomain
- fi
-cat << EOF | sh /etc/openwbem/owgencert > /dev/null 2>&1
---
-SomeState
-SomeCity
-SomeOrganization
-SomeOrganizationalUnit
-${FQDN}
-root@${FQDN}
-EOF
- fi
- fi
-
- # Start daemons.
- echo -n "Starting the $DESCRIPTIVE"
- daemon $DAEMON $OPTIONS > /dev/null 2>&1
- RETVAL=$?
-
- if [ $RETVAL -eq 0 ]; then
- touch $lockfile
- success
- fi
-
- echo
- return $RETVAL
-}
-
-stop() {
- # Stop daemons.
- echo -n "Shutting down $DESCRIPTIVE"
- killproc $DAEMON
- RETVAL=$?
-
- if [ $RETVAL -eq 0 ]; then
- rm -f $lockfile
- success
- else
- failure
- fi
- echo
- return $RETVAL
-}
-
-restart() {
- stop
- start
-}
-
-case "$1" in
- start)
- start
- ;;
-
- stop)
- stop
- ;;
-
- restart|force-reload)
- restart
- ;;
-
- reload)
- echo -n "Reload service $DESCRIPTIVE"
- killproc -p $PIDFILE -HUP $DAEMON
- RETVAL=$?
- echo
- exit $RETVAL
- ;;
-
- status)
- echo -n "Checking for service $DESCRIPTIVE"
- status $DAEMON
- RETVAL=$?
- exit $RETVAL
- ;;
-
- *)
- echo "Usage: $0 {restart|start|stop|reload|force-reload|status}"
-esac
-
-exit $RETVAL
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc b/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc
deleted file mode 100644
index 785e32aa..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc
+++ /dev/null
@@ -1,2 +0,0 @@
-addFilter("devel-file-in-non-devel-package .*/lib.*\.so")
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service b/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service
deleted file mode 100644
index c6694b71..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Web Based Enterprise Management (WBEM) Implementation
-After=syslog.target
-
-[Service]
-Type=forking
-ExecStart=/usr/sbin/owcimomd
-ExecStartPre=/etc/openwbem/checkserverkey
-PIDFile=/var/run/owcimomd.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh b/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh
deleted file mode 100644
index a495415b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-#
-# options:
-# rmmof.sh <MOF_PATH> <NAMESPACE> <FILES>
-#
-# - or -
-#
-# options:
-# loadmof.sh -n <NAMESPACE> <FILES> [...]
-#
-# The former is preserved for compatibility with Pegasus and
-# sblim providers. The latter is preferred. If $1 is "-n",
-# the latter code path is executed. Otherwise the former is
-# executed.
-
-if [ "x$3" = "x" ]; then
- echo "Usage: $0 -n <NAMESPACE> <FILES> [...]"
- exit 1
-fi
-
-# get rid of "-n" arg
-shift
-
-NS="$1"
-
-shift
-
-DBDIR=/var/lib/openwbem
-CIMOM_INIT=/etc/init.d/owcimomd
-if [ "$YAST_IS_RUNNING" != "instsys" ] ; then
- $CIMOM_INIT status
- CIMOM_RUNNING=$?
-fi
-if [ "x$CIMOM_RUNNING" = "x0" ]; then
- $CIMOM_INIT stop
-fi
-bkpdir=/tmp/owrep.bkp-$$
-mkdir $bkpdir
-cp -a $DBDIR $bkpdir/
-echo "Compiling MOF files"
-/usr/bin/owmofc -r -n $NS -d $DBDIR "$@" > /dev/null 2>&1
-RVAL=$?
-if [ "x$RVAL" != "x0" ]; then
- echo "MOF import failed!"
- rm -rf $DBDIR
- mv $bkpdir/openwbem $DBDIR
-fi
-rm -rf $bkpdir
-if [ "x$CIMOM_RUNNING" = "x0" ]; then
- $CIMOM_INIT start
-fi
-exit $RVAL
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/p910nd/p910nd_0.95.bb b/external/meta-openembedded/meta-oe/recipes-support/p910nd/p910nd_0.95.bb
deleted file mode 100644
index 5ebbb29e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/p910nd/p910nd_0.95.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "A small network printer daemon for embedded situations that passes the job directly to the printer"
-HOMEPAGE = "http://p910nd.sourceforge.net/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-PR = "r2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/p910nd/p910nd-${PV}.tar.bz2 \
- file://fix-var-lock.patch"
-
-SRC_URI[md5sum] = "c7ac6afdf7730ac8387a8e87198d4491"
-SRC_URI[sha256sum] = "7d78642c86dc247fbdef1ff85c56629dcdc6b2a457c786420299e284fffcb029"
-
-do_compile () {
- ${CC} ${LDFLAGS} -o p910nd p910nd.c
-}
-
-do_install () {
- install -D -m 0755 ${S}/p910nd ${D}${sbindir}/p910nd
- install -D -m 0644 ${S}/p910nd.conf ${D}${sysconfdir}/p910nd.conf
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/p910nd/p910nd_0.97.bb b/external/meta-openembedded/meta-oe/recipes-support/p910nd/p910nd_0.97.bb
new file mode 100644
index 00000000..45aa0d4a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/p910nd/p910nd_0.97.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A small network printer daemon for embedded situations that passes the job directly to the printer"
+HOMEPAGE = "http://p910nd.sourceforge.net/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+PR = "r2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/p910nd/p910nd-${PV}.tar.bz2 \
+ file://fix-var-lock.patch"
+
+SRC_URI[md5sum] = "69461a6c54dca0b13ecad5b83864b43e"
+SRC_URI[sha256sum] = "4ac980a3ae24babae6f70f0a692625ece03a4a92c357fbb10d2e368386c3c26f"
+
+do_compile () {
+ ${CC} ${LDFLAGS} -o p910nd p910nd.c
+}
+
+do_install () {
+ install -D -m 0755 ${S}/p910nd ${D}${sbindir}/p910nd
+ install -D -m 0644 ${S}/p910nd.conf ${D}${sysconfdir}/p910nd.conf
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch b/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch
new file mode 100644
index 00000000..3e7b0add
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch
@@ -0,0 +1,43 @@
+From 75dd98876951d86890ceb30be521de57fd31e3c7 Mon Sep 17 00:00:00 2001
+From: Andrey Zhizhikin <andrey.z@gmail.com>
+Date: Mon, 27 Jan 2020 13:27:12 +0000
+Subject: [PATCH] pcsc-spy: use python3 only
+
+Python2 has been EOL and most distributions would not provide any
+support for it anymore. Since Python3 is available in all distributions
+now, switch pcsc-spy to use it exclusively.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+---
+ src/spy/pcsc-spy | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/src/spy/pcsc-spy b/src/spy/pcsc-spy
+index 85222c6..965138e 100755
+--- a/src/spy/pcsc-spy
++++ b/src/spy/pcsc-spy
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python
++#!/usr/bin/env python3
+
+ """
+ # Display PC/SC functions arguments
+@@ -22,12 +22,7 @@ from __future__ import print_function
+ import os
+ import signal
+ import time
+-try:
+- # for Python3
+- from queue import Queue
+-except ImportError:
+- # for Python2
+- from Queue import Queue
++from queue import Queue
+ from threading import Thread
+ from operator import attrgetter
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb b/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb
deleted file mode 100644
index 10f724e6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "PC/SC Lite smart card framework and applications"
-HOMEPAGE = "http://pcsclite.alioth.debian.org/"
-LICENSE = "BSD & GPLv3+"
-LICENSE_${PN} = "BSD"
-LICENSE_${PN}-lib = "BSD"
-LICENSE_${PN}-doc = "BSD"
-LICENSE_${PN}-dev = "BSD"
-LICENSE_${PN}-dbg = "BSD & GPLv3+"
-LICENSE_${PN}-spy = "GPLv3+"
-LICENSE_${PN}-spy-dev = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f38b3d1c7ef7fc2c8b6d20cd38efdc29"
-DEPENDS = "udev"
-
-SRC_URI = "https://pcsclite.apdu.fr/files/${BP}.tar.bz2"
-SRC_URI[md5sum] = "0ec103b1ef298d0c58d6ef6b00b9cf17"
-SRC_URI[sha256sum] = "6a358f61ed3b66a7f6e1f4e794a94c7be4c81b7a58ec360c33791e8d7d9bd405"
-
-
-inherit autotools systemd pkgconfig
-
-EXTRA_OECONF = " \
- --disable-libusb \
- --enable-libudev \
- --enable-usbdropdir=${libdir}/pcsc/drivers \
-"
-
-S = "${WORKDIR}/pcsc-lite-${PV}"
-
-PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
-
-RRECOMMENDS_${PN} = "ccid"
-
-FILES_${PN} = "${sbindir}/pcscd"
-FILES_${PN}-lib = "${libdir}/libpcsclite*${SOLIBS}"
-FILES_${PN}-dev = "${includedir} \
- ${libdir}/pkgconfig \
- ${libdir}/libpcsclite.la \
- ${libdir}/libpcsclite.so"
-
-FILES_${PN}-spy = "${bindir}/pcsc-spy \
- ${libdir}/libpcscspy*${SOLIBS}"
-FILES_${PN}-spy-dev = "${libdir}/libpcscspy.la \
- ${libdir}/libpcscspy.so "
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "pcscd.socket"
-RDEPENDS_${PN}-spy +="python"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.26.bb b/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.26.bb
new file mode 100644
index 00000000..91d77ac9
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.26.bb
@@ -0,0 +1,58 @@
+SUMMARY = "PC/SC Lite smart card framework and applications"
+HOMEPAGE = "http://pcsclite.alioth.debian.org/"
+LICENSE = "BSD & GPLv3+"
+LICENSE_${PN} = "BSD"
+LICENSE_${PN}-lib = "BSD"
+LICENSE_${PN}-doc = "BSD"
+LICENSE_${PN}-dev = "BSD"
+LICENSE_${PN}-dbg = "BSD & GPLv3+"
+LICENSE_${PN}-spy = "GPLv3+"
+LICENSE_${PN}-spy-dev = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=628c01ba985ecfa21677f5ee2d5202f6"
+
+SRC_URI = "\
+ https://pcsclite.apdu.fr/files/${BP}.tar.bz2 \
+ file://0001-pcsc-spy-use-python3-only.patch \
+"
+SRC_URI[md5sum] = "9d36882998449daceec267c68a21ff0d"
+SRC_URI[sha256sum] = "3eb7be7d6ef618c0a444316cf5c1f2f9d7227aedba7a192f389fe3e7c0dfbbd9"
+
+inherit autotools systemd pkgconfig perlnative
+
+EXTRA_OECONF = " \
+ --disable-libusb \
+ --enable-usbdropdir=${libdir}/pcsc/drivers \
+"
+
+S = "${WORKDIR}/pcsc-lite-${PV}"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} udev"
+PACKAGECONFIG_class-native ??= ""
+
+PACKAGECONFIG[systemd] = ",--disable-libsystemd,systemd,"
+PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev"
+
+PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
+
+RRECOMMENDS_${PN} = "ccid"
+RRECOMMENDS_${PN}_class-native = ""
+
+FILES_${PN} = "${sbindir}/pcscd"
+FILES_${PN}-lib = "${libdir}/libpcsclite*${SOLIBS}"
+FILES_${PN}-dev = "${includedir} \
+ ${libdir}/pkgconfig \
+ ${libdir}/libpcsclite.la \
+ ${libdir}/libpcsclite.so"
+
+FILES_${PN}-spy = "${bindir}/pcsc-spy \
+ ${libdir}/libpcscspy*${SOLIBS}"
+FILES_${PN}-spy-dev = "${libdir}/libpcscspy.la \
+ ${libdir}/libpcscspy.so "
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "pcscd.socket"
+RDEPENDS_${PN}-spy +="python3"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch b/external/meta-openembedded/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch
new file mode 100644
index 00000000..5b344b9e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch
@@ -0,0 +1,118 @@
+From 9664809da36bd7bada3e44f50cfc042539fb61ee Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Sun, 14 Jul 2019 19:13:21 -0700
+Subject: [PATCH] Fix building with musl
+
+Upstream-status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+---
+ termios2.c | 27 +++++++++++++++++++++++++++
+ termios2.h | 5 +++++
+ 2 files changed, 32 insertions(+)
+
+diff --git a/termios2.c b/termios2.c
+index 97c3be0..88ff6fc 100644
+--- a/termios2.c
++++ b/termios2.c
+@@ -37,6 +37,7 @@
+ #include <errno.h>
+ #include <termios.h>
+ #include <sys/ioctl.h>
++#include <asm/ioctls.h>
+
+ /* Contains the definition of the termios2 structure and some related
+ constants that we should normally include from system
+@@ -53,6 +54,10 @@
+ */
+ #define IBAUD0 020000000000
+
++#if !defined(__GLIBC__)
++#define __MAX_BAUD B4000000
++#endif
++
+ int
+ tc2setattr(int fd, int optional_actions, const struct termios *tios)
+ {
+@@ -79,8 +84,13 @@ tc2setattr(int fd, int optional_actions, const struct termios *tios)
+ t2.c_cflag = tios->c_cflag;
+ t2.c_lflag = tios->c_lflag;
+ t2.c_line = tios->c_line;
++#if !defined(__GLIBC__)
++ t2.c_ispeed = tios->__c_ispeed;
++ t2.c_ospeed = tios->__c_ospeed;
++#else
+ t2.c_ispeed = tios->c_ispeed;
+ t2.c_ospeed = tios->c_ospeed;
++#endif
+ memcpy(&t2.c_cc[0], &tios->c_cc[0], K_NCCS * sizeof (cc_t));
+
+ return ioctl(fd, cmd, &t2);
+@@ -101,8 +111,13 @@ tc2getattr(int fd, struct termios *tios)
+ tios->c_cflag = t2.c_cflag;
+ tios->c_lflag = t2.c_lflag;
+ tios->c_line = t2.c_line;
++#if !defined(__GLIBC__)
++ tios->__c_ispeed = t2.c_ispeed;
++ tios->__c_ospeed = t2.c_ospeed;
++#else
+ tios->c_ispeed = t2.c_ispeed;
+ tios->c_ospeed = t2.c_ospeed;
++#endif
+ memcpy(&tios->c_cc[0], &t2.c_cc[0], K_NCCS * sizeof (cc_t));
+
+ for (i = K_NCCS; i < NCCS; i++)
+@@ -131,7 +146,11 @@ cf2setispeed(struct termios *tios, speed_t speed)
+ errno = EINVAL;
+ return -1;
+ }
++#if !defined(__GLIBC__)
++ tios->__c_ispeed = speed;
++#else
+ tios->c_ispeed = speed;
++#endif
+ tios->c_cflag &= ~((CBAUD | CBAUDEX) << IBSHIFT);
+ tios->c_cflag |= (speed << IBSHIFT);
+
+@@ -156,7 +175,11 @@ cf2setospeed_custom(struct termios *tios, int speed)
+ }
+ tios->c_cflag &= ~(CBAUD | CBAUDEX);
+ tios->c_cflag |= BOTHER;
++#if !defined(__GLIBC__)
++ tios->__c_ospeed = speed;
++#else
+ tios->c_ospeed = speed;
++#endif
+
+ return 0;
+ }
+@@ -177,7 +200,11 @@ cf2setispeed_custom(struct termios *tios, int speed)
+ } else {
+ tios->c_cflag &= ~((CBAUD | CBAUDEX) << IBSHIFT);
+ tios->c_cflag |= (BOTHER << IBSHIFT);
++#if !defined(__GLIBC__)
++ tios->__c_ispeed = speed;
++#else
+ tios->c_ispeed = speed;
++#endif
+ }
+
+ return 0;
+diff --git a/termios2.h b/termios2.h
+index e13b0e3..63dd0ce 100644
+--- a/termios2.h
++++ b/termios2.h
+@@ -37,8 +37,13 @@
+ /* And define these new ones */
+ #define cfsetospeed_custom cf2setospeed_custom
+ #define cfsetispeed_custom cf2setispeed_custom
++#if defined(__linux__) && !defined(__GLIBC__)
++#define cfgetospeed_custom(tiop) ((tiop)->__c_ospeed)
++#define cfgetispeed_custom(tiop) ((tiop)->__c_ispeed)
++#else
+ #define cfgetospeed_custom(tiop) ((tiop)->c_ospeed)
+ #define cfgetispeed_custom(tiop) ((tiop)->c_ispeed)
++#endif
+
+ /* Replacements for the standard tcsetattr(3), tcgetattr(3)
+ * functions. Same user interface, but these use the new termios2
diff --git a/external/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb b/external/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb
index e091094c..3d26b936 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb
@@ -1,15 +1,17 @@
-SUMMARY = "Lightweight and minimal (~20K) dumb-terminal emulation program"
+SUMMARY = "Lightweight and minimal dumb-terminal emulation program"
SECTION = "console/utils"
LICENSE = "GPLv2+"
-HOMEPAGE = "http://code.google.com/p/picocom/"
+HOMEPAGE = "https://github.com/npat-efault/picocom"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000e4830620e310fe65c0eb69df9e8a"
-BASEPV = "2.2"
+BASEPV = "3.1"
PV = "${BASEPV}+git${SRCPV}"
-SRCREV = "deffd18c24145bd6f965f44e735a50b65810ccdc"
+SRCREV = "90385aabe2b51f39fa130627d46b377569f82d4a"
-SRC_URI = "git://github.com/npat-efault/picocom"
+SRC_URI = "git://github.com/npat-efault/picocom \
+ file://0001-Fix-building-with-musl.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb b/external/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb
new file mode 100644
index 00000000..3a437659
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Protocol plugin for New Yahoo (2016) for Adium, Pidgin, Miranda and Telepathy IM Framework"
+SECTION = "webos/services"
+LICENSE = "GPLv3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+DEPENDS = "pidgin json-glib glib-2.0"
+
+inherit pkgconfig
+
+SRC_URI = "git://github.com/EionRobb/funyahoo-plusplus;branch=master;protocol=git"
+SRCREV = "fbbd9c591100aa00a0487738ec7b6acd3d924b3f"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ oe_runmake CC="${CC}" CXX="${CXX}" EXTRA_INCLUDES="${TARGET_CFLAGS}" AR="${AR}";
+}
+
+do_install() {
+ oe_runmake DESTDIR="${D}" install;
+}
+
+FILES_${PN} += " \
+ ${libdir} \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb b/external/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb
new file mode 100644
index 00000000..0f32dc3a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "WIM Protocol plugin for ICQ for Adium, Pidgin, Miranda and Telepathy IM Framework"
+SECTION = "webos/services"
+LICENSE = "GPLv3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+DEPENDS = "pidgin json-glib"
+
+PV = "0.1+gitr${SRCPV}"
+
+inherit pkgconfig
+
+SRC_URI = "git://github.com/EionRobb/icyque"
+SRCREV = "513fc162d5d1a201c2b044e2b42941436d1069d5"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ oe_runmake;
+}
+
+do_install() {
+ oe_runmake DESTDIR="${D}" install;
+}
+
+FILES_${PN} += " \
+ ${libdir} \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb
index 5a21cd3f..04133c1b 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb
@@ -12,4 +12,4 @@ SRC_URI[sha256sum] = "f4b59eef4a94b1d29dbe0c106dd00cdc630e47f18619fc754e5afbf572
FILES_${PN} = "${libdir}/pidgin/*"
-inherit autotools pkgconfig distro_features_check
+inherit autotools pkgconfig features_check
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch
new file mode 100644
index 00000000..87a6435f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch
@@ -0,0 +1,50 @@
+From 1110d3036e73d0571f70f6758f3179e5048c0b5d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Nov 2019 11:07:42 -0800
+Subject: [PATCH] Align structs casts with time_t elements to 8byte boundary
+
+This helps with 64bit time_t conversion, especially where these
+structures are typcasted to another struct types which have time_t
+element, that now increases the natural alignment boundary of structures
+to 8-bytes.
+
+Fixes
+../../../pidgin-sipe-1.25.0/src/core/sipe-user.c:124:43: error: cast from 'struct sipe_core_public *' to 'struct sipe_core_private *' increases required alignment from 4 to 8 [-Werror,-Wcast-align]
+ struct sipe_core_private *sipe_private = SIPE_CORE_PRIVATE;
+ ^~~~~~~~~~~~~~~~~
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/api/sipe-core.h | 2 +-
+ src/core/sipe-http-transport.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/api/sipe-core.h b/src/api/sipe-core.h
+index cde0a9c..bd818bb 100644
+--- a/src/api/sipe-core.h
++++ b/src/api/sipe-core.h
+@@ -148,7 +148,7 @@ struct sipe_core_public {
+
+ /* server information */
+ /* currently nothing */
+-};
++} __attribute__((aligned(8)));
+
+ /**
+ * Initialize & destroy functions for the SIPE core
+diff --git a/src/core/sipe-http-transport.h b/src/core/sipe-http-transport.h
+index d82cd1b..08eb150 100644
+--- a/src/core/sipe-http-transport.h
++++ b/src/core/sipe-http-transport.h
+@@ -46,7 +46,7 @@ struct sipe_http_connection_public {
+ gchar *host;
+ guint32 port;
+ gboolean connected;
+-};
++} __attribute__((aligned(8)));
+
+ /**
+ * Check if we're shutting down the HTTP stack
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-sipe-consider-64bit-time_t-when-printing.patch b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-sipe-consider-64bit-time_t-when-printing.patch
new file mode 100644
index 00000000..e7a72953
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-sipe-consider-64bit-time_t-when-printing.patch
@@ -0,0 +1,31 @@
+From ae6fa551907006c612cca98b87f339d4d6f45e25 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 11 Nov 2019 21:08:11 -0800
+Subject: [PATCH] sipe: consider 64bit time_t when printing
+
+This helps printing 64bit time_t on 32bit architectures
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/core/sipe-utils.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/core/sipe-utils.c b/src/core/sipe-utils.c
+index 12ff8d6..d3d4071 100644
+--- a/src/core/sipe-utils.c
++++ b/src/core/sipe-utils.c
+@@ -414,8 +414,8 @@ sipe_utils_time_to_str(time_t timestamp)
+ if (result)
+ return(result);
+
+- SIPE_DEBUG_ERROR("sipe_utils_time_to_str: failed to convert %lu to ISO8601 string",
+- timestamp);
++ SIPE_DEBUG_ERROR("sipe_utils_time_to_str: failed to convert %lld to ISO8601 string",
++ (long long int)timestamp);
+ return(g_strdup(""));
+ }
+
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb
new file mode 100644
index 00000000..99fcf3c6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Protocol plugin for Office 365/Lync/OCS for Adium, Pidgin, Miranda and Telepathy IM Framework"
+SECTION = "webos/services"
+LICENSE = "GPLv2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "pidgin gmime intltool-native glib-2.0-native"
+
+inherit autotools gettext pkgconfig
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/sipe/pidgin-sipe-${PV}.tar.xz \
+ file://0001-sipe-consider-64bit-time_t-when-printing.patch \
+ file://0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch \
+"
+
+SRC_URI[md5sum] = "0e742f021dc8c3f17435aea05c3e0314"
+SRC_URI[sha256sum] = "738b121b11f2b3f1744150c00cb381222eb6cf67161a7742797eb4f03e64a2ba"
+
+PACKAGECONFIG ??= "nss krb5"
+PACKAGECONFIG[nss] = "--enable-nss=yes,--enable-nss=no,nss"
+PACKAGECONFIG[openssl] = "--enable-openssl=yes,--enable-openssl=no,openssl"
+PACKAGECONFIG[krb5] = "--with-krb5=yes,--with-krb5=no,krb5"
+#PACKAGECONFIG[voice_and_video] = "--with-vv=yes,--with-vv=no,libnice gstreamer"
+PACKAGECONFIG[telepathy] = "--enable-telepathy=yes,--enable-telepathy=no,telepathy-glib"
+#PACKAGECONFIG[gssapi_only] = "--enable-gssapi-only=yes,--enable-gssapi-only=no,krb5"
+PACKAGECONFIG[debug] = "--enable-debug=yes,--enable-debug=no,valgrind"
+
+FILES_${PN}-dev += " \
+ ${libdir}/purple-2/*.la \
+"
+
+FILES_${PN} += " \
+ ${libdir}/purple-2/libsipe.so \
+ ${datadir}/appdata \
+ ${datadir}/metainfo \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
index 9a24fbbc..0a1baa91 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
@@ -7,7 +7,7 @@ Date: Mon, 24 Jul 2017 21:30:16 +0200
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libpurple/protocols/irc/irc.h b/libpurple/protocols/irc/irc.h
-index fde35c4..66e52dd 100644
+index 596ddaf..b70f3a9 100644
--- a/libpurple/protocols/irc/irc.h
+++ b/libpurple/protocols/irc/irc.h
@@ -40,9 +40,9 @@
@@ -20,5 +20,5 @@ index fde35c4..66e52dd 100644
-#define IRC_DEFAULT_QUIT "Leaving."
+#define IRC_DEFAULT_QUIT "Powered by OE: www.openembedded.org"
- #define IRC_INITIAL_BUFSIZE 1024
-
+ #define IRC_BUFSIZE_INCREMENT 1024
+ #define IRC_MAX_BUFSIZE 16384
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch
new file mode 100644
index 00000000..c7b4163c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch
@@ -0,0 +1,20 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1488,7 +1488,7 @@ AC_ARG_WITH([python],
+
+ if test "x$enable_dbus" = "xyes" || test "x$enable_consoleui" = "xyes" ; then
+ if test -z "$PYTHON" -o "x$PYTHON" = "xyes"; then
+- AC_PATH_PROG([PYTHON], [python], [no])
++ AC_PATH_PROG([PYTHON], [python3], [no])
+ fi
+
+ if test x"$PYTHON" = x"no" ; then
+@@ -1568,7 +1568,7 @@ dnl Check for Python headers (currently
+ dnl (Thanks to XChat)
+ if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
+ AC_MSG_CHECKING(for Python compile flags)
+- PKG_CHECK_MODULES(PY, python, [
++ PKG_CHECK_MODULES(PY, python3, [
+ AC_SUBST(PY_CFLAGS)
+ AC_SUBST(PY_LIBS)
+ ], [
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb
deleted file mode 100644
index 148e4b6b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb
+++ /dev/null
@@ -1,117 +0,0 @@
-SUMMARY = "multi-protocol instant messaging client"
-SECTION = "x11/network"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "python virtual/libintl intltool-native libxml2 gconf glib-2.0-native"
-
-inherit autotools gettext pkgconfig gconf perlnative
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
- file://sanitize-configure.ac.patch \
- file://purple-OE-branding-25.patch \
- file://pidgin-cross-python-265.patch \
-"
-
-SRC_URI[md5sum] = "8287400c4e5663e0e7844e868d5152af"
-SRC_URI[sha256sum] = "8c3d3536d6d3c971bd433ff9946678af70a0f6aa4e6969cc2a83bb357015b7f8"
-
-PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
-"
-PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
-# --disable-gstreamer compile without GStreamer audio support
-# --disable-gstreamer-video
-# compile without GStreamer 1.0 Video Overlay support
-# --disable-gstreamer-interfaces
-# compile without GStreamer 0.10 interface support
-# --with-gstreamer=<version>
-# compile with GStreamer 0.10 or 1.0 interface
-PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
-PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
-PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
-PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
-PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,ncurses"
-PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
-
-EXTRA_OECONF = " \
- --disable-perl \
- --disable-tcl \
- --disable-gevolution \
- --disable-schemas-install \
- --disable-gtkspell \
- --disable-meanwhile \
- --disable-nm \
- --disable-screensaver \
-"
-
-do_configure_prepend() {
- touch ${S}/po/Makefile
- sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac
-}
-
-OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
-OE_LT_RPATH_ALLOW[export]="1"
-
-PACKAGES =+ "libpurple-dev libpurple libgnt libgnt-dev finch finch-dev ${PN}-data"
-
-RPROVIDES_${PN}-dbg += "libpurple-dbg libgnt-dbg finch-dbg"
-
-LEAD_SONAME = "libpurple.so.0"
-FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
-FILES_libpurple-dev = "${libdir}/libpurple*.la \
- ${libdir}/libpurple*.so \
- ${libdir}/purple-2/*.la \
- ${libdir}/purple-2/libjabber.so \
- ${libdir}/purple-2/liboscar.so \
- ${libdir}/purple-2/libymsg.so \
- ${datadir}/aclocal"
-FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so"
-FILES_libgnt-dev = "${libdir}/gnt/*.la"
-FILES_finch = "${bindir}/finch"
-FILES_finch-dev = "${libdir}/finch/*.la"
-
-FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
- ${datadir}/applications"
-RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp"
-
-FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"
-FILES_${PN}-dev += "${libdir}/${PN}/*.la"
-
-PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
-
-python populate_packages_prepend () {
- pidgroot = d.expand('${libdir}/pidgin')
- purple = d.expand('${libdir}/purple-2')
- finch = d.expand('${libdir}/finch')
-
- do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$',
- output_pattern='pidgin-plugin-%s',
- description='Pidgin plugin %s',
- prepend=True, extra_depends='')
-
- do_split_packages(d, purple, '^lib(.*)\.so$',
- output_pattern='libpurple-protocol-%s',
- description='Libpurple protocol plugin for %s',
- prepend=True, extra_depends='')
-
- do_split_packages(d, purple, '^(ssl-.*)\.so$',
- output_pattern='libpurple-plugin-%s',
- description='libpurple plugin %s',
- prepend=True, extra_depends='libpurple-plugin-ssl')
-
- do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
- output_pattern='libpurple-plugin-%s',
- description='libpurple plugin %s',
- prepend=True, extra_depends='')
-
- do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$',
- output_pattern='finch-plugin-%s',
- description='Finch plugin %s',
- prepend=True, extra_depends='')
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb
new file mode 100644
index 00000000..fdc79e81
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb
@@ -0,0 +1,118 @@
+SUMMARY = "multi-protocol instant messaging client"
+SECTION = "x11/network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "python3 virtual/libintl intltool-native libxml2 gconf glib-2.0-native"
+
+inherit autotools gettext pkgconfig gconf perlnative python3native
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
+ file://sanitize-configure.ac.patch \
+ file://purple-OE-branding-25.patch \
+ file://pidgin-cross-python-265.patch \
+ file://use_py3.patch \
+"
+
+SRC_URI[md5sum] = "423403494fe1951e47cc75231f743bb0"
+SRC_URI[sha256sum] = "2747150c6f711146bddd333c496870bfd55058bab22ffb7e4eb784018ec46d8f"
+
+PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
+"
+PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
+# --disable-gstreamer compile without GStreamer audio support
+# --disable-gstreamer-video
+# compile without GStreamer 1.0 Video Overlay support
+# --disable-gstreamer-interfaces
+# compile without GStreamer 0.10 interface support
+# --with-gstreamer=<version>
+# compile with GStreamer 0.10 or 1.0 interface
+PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
+PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
+PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
+PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
+PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,ncurses"
+PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
+PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
+
+EXTRA_OECONF = " \
+ --disable-perl \
+ --disable-tcl \
+ --disable-gevolution \
+ --disable-schemas-install \
+ --disable-gtkspell \
+ --disable-meanwhile \
+ --disable-nm \
+ --disable-screensaver \
+"
+
+do_configure_prepend() {
+ touch ${S}/po/Makefile
+ sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac
+}
+
+OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
+OE_LT_RPATH_ALLOW[export]="1"
+
+PACKAGES =+ "libpurple-dev libpurple libgnt libgnt-dev finch finch-dev ${PN}-data"
+
+RPROVIDES_${PN}-dbg += "libpurple-dbg libgnt-dbg finch-dbg"
+
+LEAD_SONAME = "libpurple.so.0"
+FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
+FILES_libpurple-dev = "${libdir}/libpurple*.la \
+ ${libdir}/libpurple*.so \
+ ${libdir}/purple-2/*.la \
+ ${libdir}/purple-2/libjabber.so \
+ ${libdir}/purple-2/liboscar.so \
+ ${libdir}/purple-2/libymsg.so \
+ ${datadir}/aclocal"
+FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so"
+FILES_libgnt-dev = "${libdir}/gnt/*.la"
+FILES_finch = "${bindir}/finch"
+FILES_finch-dev = "${libdir}/finch/*.la"
+
+FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
+ ${datadir}/applications"
+RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp"
+
+FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"
+FILES_${PN}-dev += "${libdir}/${PN}/*.la"
+
+PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
+
+python populate_packages_prepend () {
+ pidgroot = d.expand('${libdir}/pidgin')
+ purple = d.expand('${libdir}/purple-2')
+ finch = d.expand('${libdir}/finch')
+
+ do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$',
+ output_pattern='pidgin-plugin-%s',
+ description='Pidgin plugin %s',
+ prepend=True, extra_depends='')
+
+ do_split_packages(d, purple, '^lib(.*)\.so$',
+ output_pattern='libpurple-protocol-%s',
+ description='Libpurple protocol plugin for %s',
+ prepend=True, extra_depends='')
+
+ do_split_packages(d, purple, '^(ssl-.*)\.so$',
+ output_pattern='libpurple-plugin-%s',
+ description='libpurple plugin %s',
+ prepend=True, extra_depends='libpurple-plugin-ssl')
+
+ do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
+ output_pattern='libpurple-plugin-%s',
+ description='libpurple plugin %s',
+ prepend=True, extra_depends='')
+
+ do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$',
+ output_pattern='finch-plugin-%s',
+ description='Finch plugin %s',
+ prepend=True, extra_depends='')
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb b/external/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
new file mode 100644
index 00000000..092e6059
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Skype protocol plug-in for libpurple"
+SECTION = "webos/services"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://skypeweb/gpl3.txt;md5=d90260d32cef39f3c8d6c0f05d3adb8e"
+
+DEPENDS = "pidgin json-glib glib-2.0 zlib"
+
+inherit pkgconfig
+
+SRC_URI = "git://github.com/EionRobb/skype4pidgin;branch=master;protocol=git"
+SRCREV = "14f1b69b6292bbdc98cca484b050ec8359394c4e"
+
+S = "${WORKDIR}/git"
+PV = "1.5+git${SRCPV}"
+
+do_compile() {
+ oe_runmake -C skypeweb;
+}
+
+do_install() {
+ oe_runmake -C skypeweb DESTDIR="${D}" install;
+}
+
+FILES_${PN} += " \
+ ${libdir} \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-riscv-Enable-double-operations-when-using-double-flo.patch b/external/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-riscv-Enable-double-operations-when-using-double-flo.patch
new file mode 100644
index 00000000..c0de32da
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-riscv-Enable-double-operations-when-using-double-flo.patch
@@ -0,0 +1,28 @@
+From 589a5442a841b156a1890bc2d26e7a5103e2f672 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 1 Nov 2019 17:53:50 -0700
+Subject: [PATCH] riscv: Enable double operations when using double float abi
+
+Upstream-Status: Submitted [https://github.com/pocoproject/poco/pull/2825]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Foundation/src/utils.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h
+index 69cea1aca..ff7a5c9ce 100644
+--- a/Foundation/src/utils.h
++++ b/Foundation/src/utils.h
+@@ -63,7 +63,8 @@
+ defined(__SH4__) || defined(__alpha__) || \
+ defined(_MIPS_ARCH_MIPS32R2) || \
+ defined(__AARCH64EL__) || \
+- defined(nios2) || defined(__nios2) || defined(__nios2__)
++ defined(nios2) || defined(__nios2) || defined(__nios2__) || \
++ (defined(__riscv) && defined(__riscv_float_abi_double))
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
+ #if defined(_WIN32)
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb b/external/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb
deleted file mode 100644
index 258cc499..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb
+++ /dev/null
@@ -1,99 +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."
-HOMEPAGE = "http://pocoproject.org/"
-SECTION = "libs"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
-
-# These dependencies are required by Foundation
-DEPENDS = "libpcre zlib"
-
-SRC_URI = " \
- git://github.com/pocoproject/poco.git;branch=poco-${PV} \
- file://0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch \
- file://run-ptest \
- "
-SRCREV = "daf00da73ab917e4d4581e3aa00c0ee61e0cc58b"
-
-S = "${WORKDIR}/git"
-
-inherit cmake ptest
-
-# 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 Encodings Redis"
-
-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"
-PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF"
-PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=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"
-
-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"
-
-python populate_packages_prepend () {
- poco_libdir = d.expand('${libdir}')
- pn = d.getVar("PN")
- packages = []
- testrunners = []
-
- def hook(f, pkg, file_regex, output_pattern, modulename):
- packages.append(pkg)
- testrunners.append(modulename)
-
- do_split_packages(d, poco_libdir, '^libPoco(.*)\.so\..*$',
- 'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook)
-
- d.setVar("RRECOMMENDS_%s" % pn, " ".join(packages))
- d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
-}
-
-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"
-}
-
-PACKAGES_DYNAMIC = "poco-.*"
-
-# "poco" is a metapackage which pulls in all Poco components
-ALLOW_EMPTY_${PN} = "1"
-
-# 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"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.4.bb b/external/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.4.bb
new file mode 100644
index 00000000..fcd52197
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.4.bb
@@ -0,0 +1,103 @@
+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."
+HOMEPAGE = "http://pocoproject.org/"
+SECTION = "libs"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
+
+# These dependencies are required by Foundation
+DEPENDS = "libpcre zlib"
+
+SRC_URI = " \
+ git://github.com/pocoproject/poco.git;branch=poco-${PV} \
+ file://0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch \
+ file://0001-riscv-Enable-double-operations-when-using-double-flo.patch \
+ file://run-ptest \
+ "
+SRCREV = "b95393dcc3640807838e8323b4e600e54d2e8116"
+
+UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+
+# 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 Encodings Redis"
+
+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"
+PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF"
+PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=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"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
+ -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+ ${@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"
+
+python populate_packages_prepend () {
+ poco_libdir = d.expand('${libdir}')
+ pn = d.getVar("PN")
+ packages = []
+ testrunners = []
+
+ def hook(f, pkg, file_regex, output_pattern, modulename):
+ packages.append(pkg)
+ testrunners.append(modulename)
+
+ do_split_packages(d, poco_libdir, '^libPoco(.*)\.so\..*$',
+ 'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook)
+
+ d.setVar("RRECOMMENDS_%s" % pn, " ".join(packages))
+ d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
+}
+
+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"
+}
+
+PACKAGES_DYNAMIC = "poco-.*"
+
+# "poco" is a metapackage which pulls in all Poco components
+ALLOW_EMPTY_${PN} = "1"
+
+# 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"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb
index b2af0971..eda3f7ec 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb
@@ -1,6 +1,7 @@
SUMMARY = "Encoding files for Poppler"
DESCRIPTION = "Encoding files for use with poppler that enable poppler to \
correctly render CJK and Cyrrilic."
+HOMEPAGE = "https://poppler.freedesktop.org/"
LICENSE = "BSD & GPLv2 & GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \
file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
index 18f50851..05e0abed 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
@@ -13,11 +13,9 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
cmake/modules/PopplerMacros.cmake | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
-index ccb2790..0f392cb 100644
--- a/cmake/modules/PopplerMacros.cmake
+++ b/cmake/modules/PopplerMacros.cmake
-@@ -125,14 +125,14 @@ if(CMAKE_COMPILER_IS_GNUCXX)
+@@ -123,14 +123,14 @@ if(CMAKE_COMPILER_IS_GNUCXX)
set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
@@ -34,5 +32,21 @@ index ccb2790..0f392cb 100644
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cflags}")
set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cflags}")
set(CMAKE_C_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline ${_save_cflags}")
---
-2.14.3
+@@ -167,7 +167,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL
+ set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
+
+ set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
+- set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE")
++ set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE ${_save_cxxflags}")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cxxflags}")
+ # clang does not support -fno-reorder-blocks -fno-schedule-insns, so do not use -O2
+@@ -175,7 +175,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL
+ set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline ${_save_cxxflags}")
+ set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cxxflags}")
+ set(_save_cflags "${CMAKE_C_FLAGS}")
+- set(CMAKE_C_FLAGS "-std=c99 -D_DEFAULT_SOURCE")
++ set(CMAKE_C_FLAGS "-std=c99 -D_DEFAULT_SOURCE ${_save_cflags}")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cflags}")
+ set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cflags}")
+ # clang does not support -fno-reorder-blocks -fno-schedule-insns, so do not use -O2
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch
deleted file mode 100644
index 7ed795ef..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d488de23b75b2f3e235f1c184b2253d1402b4c0f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 10 May 2018 23:47:56 -0700
-Subject: [PATCH] glib/CMakeLists.txt: Add libpoppler to link along with
- poppler-glib
-
-This is required since poppler-glib uses symbols from poppler and
-we use --as-needed
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- glib/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
-index 33c6608..87e1b44 100644
---- a/glib/CMakeLists.txt
-+++ b/glib/CMakeLists.txt
-@@ -127,7 +127,7 @@ if (HAVE_INTROSPECTION AND BUILD_SHARED_LIBS)
- get_directory_property(_tmp_includes INCLUDE_DIRECTORIES)
- _list_prefix(_includes _tmp_includes "-I")
- set(Poppler_0_18_gir_CFLAGS ${_includes} -L${CMAKE_BINARY_DIR})
-- set(Poppler_0_18_gir_LIBS poppler-glib)
-+ set(Poppler_0_18_gir_LIBS poppler-glib poppler)
- _list_prefix(_abs_introspection_files introspection_files "${CMAKE_CURRENT_SOURCE_DIR}/")
- list(APPEND _abs_introspection_files
- ${CMAKE_CURRENT_BINARY_DIR}/poppler-enums.c
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch
deleted file mode 100644
index 3c231fe9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 6287663e7db04df7e6dec58a1fc5bb5d510e8bde Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 9 Apr 2018 19:11:20 +0200
-Subject: [PATCH] CairoOutputDev.cc: fix build error when using fixedpoint
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashRound(SplashCoord)':
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1604:28: error: call of overloaded 'floor(FixedPoint)' is ambiguous
-| return (int)floor(x + 0.5);
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:165:1: note: candidate: double floor(double)
-| __MATHCALLX (floor,, (_Mdouble_ __x), (__const__));
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/math.h:36:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:46:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:260:3: note: candidate: constexpr float std::floor(float)
-| floor(float __x)
-| ^~~~~
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:264:3: note: candidate: constexpr long double std::floor(long double)
-| floor(long double __x)
-| ^~~~~
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashCeil(SplashCoord)':
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1608:21: error: call of overloaded 'ceil(SplashCoord&)' is ambiguous
-| return (int)ceil(x);
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:159:1: note: candidate: double ceil(double)
-| __MATHCALLX (ceil,, (_Mdouble_ __x), (__const__));
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/math.h:36:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:46:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:165:3: note: candidate: constexpr float std::ceil(float)
-| ceil(float __x)
-| ^~~~
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:169:3: note: candidate: constexpr long double std::ceil(long double)
-| ceil(long double __x)
-| ^~~~
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashFloor(SplashCoord)':
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1612:22: error: call of overloaded 'floor(SplashCoord&)' is ambiguous
-| return (int)floor(x);
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:165:1: note: candidate: double floor(double)
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- poppler/CairoOutputDev.cc | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
-index 18124b8f..4c85ad65 100644
---- a/poppler/CairoOutputDev.cc
-+++ b/poppler/CairoOutputDev.cc
-@@ -1602,15 +1602,27 @@ void CairoOutputDev::endActualText(GfxState *state)
- }
-
- static inline int splashRound(SplashCoord x) {
-+#if defined(USE_FIXEDPOINT)
-+ return FixedPoint::floor(x + 0.5);
-+#else
- return (int)floor(x + 0.5);
-+#endif
- }
-
- static inline int splashCeil(SplashCoord x) {
-+#if defined(USE_FIXEDPOINT)
-+ return FixedPoint::ceil(x);
-+#else
- return (int)ceil(x);
-+#endif
- }
-
- static inline int splashFloor(SplashCoord x) {
-+#if defined(USE_FIXEDPOINT)
-+ return FixedPoint::floor(x);
-+#else
- return (int)floor(x);
-+#endif
- }
-
- static
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
index 528528ae..3d6d7a8f 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
@@ -1,20 +1,31 @@
-Minic GNU basename() API for non-glibc library e.g. musl
+From 2ac679158062b14729f82f513fc7cafbb6f4f7a6 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod@windriver.com>
+Date: Fri, 26 Jul 2019 14:26:54 -0400
+Subject: [PATCH 3/3] Minic GNU basename() API for non-glibc library e.g. musl
Upstream-Status: Pending
+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+---
+ goo/gbasename.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
-Index: poppler-0.64.0/utils/pdfsig.cc
-===================================================================
---- poppler-0.64.0.orig/utils/pdfsig.cc
-+++ poppler-0.64.0/utils/pdfsig.cc
-@@ -35,6 +35,10 @@
- #include "Win32Console.h"
- #include "numberofcharacters.h"
+diff --git a/goo/gbasename.cc b/goo/gbasename.cc
+index 830c1c80..e93eb368 100644
+--- a/goo/gbasename.cc
++++ b/goo/gbasename.cc
+@@ -46,6 +46,10 @@
+ #include <cstdlib>
+ #include <cstring>
+#if !defined(__GLIBC__)
+#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
+#endif
+
- static const char * getReadableSigState(SignatureValidationStatus sig_vs)
+ std::string gbasename(const char* filename)
{
- switch(sig_vs) {
+ #ifdef _MSC_VER
+--
+2.17.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.70.1.bb b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.70.1.bb
deleted file mode 100644
index b618f28c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.70.1.bb
+++ /dev/null
@@ -1,59 +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-Do-not-overwrite-all-our-build-flags.patch \
- file://0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch \
- file://0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch \
- file://basename-include.patch \
- "
-SRC_URI[md5sum] = "fdb0699e9aa20e81acd1a50701374c8b"
-SRC_URI[sha256sum] = "66972047d9ef8162cc8c389d7e7698291dfc9f2b3e4ea9a9f08ae604107451bd"
-
-DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
-
-inherit cmake pkgconfig gobject-introspection
-
-PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff"
-PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
-PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
-PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
-PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
-
-# surprise - did not expect this to work :)
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-EXTRA_OECMAKE += " \
- -DENABLE_CMS=lcms2 \
- -DENABLE_XPDF_HEADERS=ON \
- -DBUILD_GTK_TESTS=OFF \
- -DENABLE_ZLIB=ON \
- -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \
-"
-
-do_configure_append() {
- # poppler macro uses pkg-config to check for g-ir runtimes. Something
- # makes them point to /usr/bin. Align them to sysroot - that's where the
- # git-wrappers are:
- sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja
-}
-
-# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
-def get_poppler_fpu_setting(bb, d):
- if d.getVar('TARGET_FPU') in [ 'soft' ]:
- return "-DUSE_FIXEDPOINT=ON"
- return ""
-
-EXTRA_OECMAKE += "${@get_poppler_fpu_setting(bb, d)}"
-
-PACKAGES =+ "libpoppler libpoppler-glib"
-FILES_libpoppler = "${libdir}/libpoppler.so.*"
-FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
-
-RDEPENDS_libpoppler = "poppler-data"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.88.0.bb b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.88.0.bb
new file mode 100644
index 00000000..d6a27f92
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.88.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
+HOMEPAGE = "https://poppler.freedesktop.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \
+ file://0001-Do-not-overwrite-all-our-build-flags.patch \
+ file://basename-include.patch \
+ "
+SRC_URI[md5sum] = "d9aafddce4c079c9ebc7405e42ac25ba"
+SRC_URI[sha256sum] = "b4453804e9a5a519e6ceee0ac8f5efc229e3b0bf70419263c239124474d256c7"
+
+DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
+
+inherit cmake pkgconfig gobject-introspection
+
+PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff"
+PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
+PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
+PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
+PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
+PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost"
+
+# surprise - did not expect this to work :)
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+EXTRA_OECMAKE += " \
+ -DENABLE_CMS=lcms2 \
+ -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
+ -DBUILD_GTK_TESTS=OFF \
+ -DENABLE_ZLIB=ON \
+ -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \
+"
+
+do_configure_append() {
+ # poppler macro uses pkg-config to check for g-ir runtimes. Something
+ # makes them point to /usr/bin. Align them to sysroot - that's where the
+ # gir-wrappers are:
+ sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja
+}
+
+PACKAGES =+ "libpoppler libpoppler-glib"
+FILES_libpoppler = "${libdir}/libpoppler.so.*"
+FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
+
+RDEPENDS_libpoppler = "poppler-data"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pv/pv_1.5.3.bb b/external/meta-openembedded/meta-oe/recipes-support/pv/pv_1.5.3.bb
deleted file mode 100644
index 5e3dd67c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/pv/pv_1.5.3.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline"
-
-LICENSE = "Artistic-2.0"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
-
-SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2"
-SRC_URI[md5sum] = "efe8e9e4cad5f3264a32258a63bf2c8e"
-SRC_URI[sha256sum] = "76f3999b1c3b3027163dce6ef667cdf8dafb75218ee25e54a03bfe590478f90e"
-
-inherit autotools
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/pv/pv_1.6.6.bb b/external/meta-openembedded/meta-oe/recipes-support/pv/pv_1.6.6.bb
new file mode 100644
index 00000000..0eef82b2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/pv/pv_1.6.6.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline"
+
+LICENSE = "Artistic-2.0"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
+
+SRC_URI = "http://www.ivarch.com/programs/sources/${BP}.tar.bz2"
+SRC_URI[md5sum] = "ff3564fddcc2b9bd4a9c1d143aba4b4c"
+SRC_URI[sha256sum] = "608ef935f7a377e1439c181c4fc188d247da10d51a19ef79bcdee5043b0973f1"
+
+UPSTREAM_CHECK_URI = "http://www.ivarch.com/programs/pv.shtml"
+UPSTREAM_CHECK_REGEX = "pv-(?P<pver>\d+(\.\d+)+).tar.bz2"
+
+inherit autotools
+
+LDEMULATION_mipsarchn32 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'elf32btsmipn32', 'elf32ltsmipn32', d)}"
+export LDEMULATION
diff --git a/external/meta-openembedded/meta-oe/recipes-support/rdfind/files/reproducible_build.patch b/external/meta-openembedded/meta-oe/recipes-support/rdfind/files/reproducible_build.patch
deleted file mode 100644
index 36728a78..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/rdfind/files/reproducible_build.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Description: sort the filelist when it is complete to get reproducible behaviour
-Author: Reiner Herrmann <reiner@reiner-h.de>
-Bug-Debian: https://bugs.debian.org/795790
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-
-Index: rdfind-1.3.4/Fileinfo.hh
-===================================================================
---- rdfind-1.3.4.orig/Fileinfo.hh
-+++ rdfind-1.3.4/Fileinfo.hh
-@@ -189,6 +189,10 @@ public:
- static bool compareondepth(const Fileinfo &a, const Fileinfo &b)
- {return (a.depth() < b.depth());}
-
-+ //returns true if a has lower filename than b)
-+ static bool compareonfilename(const Fileinfo &a, const Fileinfo &b)
-+ {return (a.name().compare(b.name()) < 0);}
-+
- //fills with bytes from the file. if lasttype is supplied,
- //it is used to see if the file needs to be read again - useful if
- //file is shorter than the length of the bytes field.
-@@ -235,6 +239,10 @@ public:
- static bool equaldepth(const Fileinfo &a, const Fileinfo &b)
- {return (a.depth()==b.depth());}
-
-+ //returns true if filenames are equal
-+ static bool equalfilename(const Fileinfo &a, const Fileinfo &b)
-+ {return (a.name()==b.name());}
-+
- //returns true if file is a regular file. call readfileinfo first!
- bool isRegularFile() {return m_info.is_file;}
-
-Index: rdfind-1.3.4/rdfind.cc
-===================================================================
---- rdfind-1.3.4.orig/rdfind.cc
-+++ rdfind-1.3.4/rdfind.cc
-@@ -349,6 +349,7 @@ int main(int narg, char *argv[])
- cout<<dryruntext<<"Now have "<<filelist1.size()<<" files in total."<<endl;
-
-
-+ gswd.sortlist(&Fileinfo::compareonfilename,&Fileinfo::equalfilename);
-
- //mark files with a unique number
- gswd.markitems();
diff --git a/external/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb b/external/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb
deleted file mode 100644
index 4d984ee0..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Rdfind is a program that finds duplicate files"
-HOMEPAGE = "https://rdfind.pauldreik.se/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-
-DEPENDS = "nettle"
-
-SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz \
- file://reproducible_build.patch \
-"
-
-SRC_URI[md5sum] = "97c0cb35933588413583c61d3b5f9adf"
-SRC_URI[sha256sum] = "a5f0b3f72093d927b93898c993479b35682cccb47f7393fb72bd4803212fcc7d"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.4.1.bb b/external/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.4.1.bb
new file mode 100644
index 00000000..42f2064f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.4.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Rdfind is a program that finds duplicate files"
+HOMEPAGE = "https://rdfind.pauldreik.se/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fa22e16ebbe6638b2bd253338fbded9f"
+
+DEPENDS = "nettle autoconf-archive"
+
+SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz \
+"
+
+SRC_URI[md5sum] = "180418c863b861d1df221bc486a07ce7"
+SRC_URI[sha256sum] = "30c613ec26eba48b188d2520cfbe64244f3b1a541e60909ce9ed2efb381f5e8c"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-Do-not-install-license-file.patch b/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-Do-not-install-license-file.patch
new file mode 100644
index 00000000..a9b9476b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-Do-not-install-license-file.patch
@@ -0,0 +1,17 @@
+Do not install license file
+
+File name is incorrect as well; must be LICENSE instead of COPYING.
+
+Upstream-Status: Submitted [pyrophobicman@gmail.com]
+
+Signed-off-by: Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,5 +13,5 @@
+ add_subdirectory (parse-edid)
+
+ INSTALL(FILES get-edid.1 DESTINATION share/man/man1)
+-INSTALL(FILES AUTHORS ChangeLog COPYING README DESTINATION
++INSTALL(FILES AUTHORS ChangeLog README DESTINATION
+ share/doc/read-edid)
diff --git a/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch b/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch
deleted file mode 100644
index 44080023..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From eb7590cc2cdd5c35403af4567d8524e017010f1c Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sat, 11 May 2013 07:58:17 +0200
-Subject: [PATCH] configure: remove check for x86.h, we don't build get-edid
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-
-Upstream-status: Inappropriate [OE specific]
----
- configure.in | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index ac85a21..f53e904 100644
---- a/configure.in
-+++ b/configure.in
-@@ -8,8 +8,6 @@ dnl Checks for programs
-
- AC_PROG_CC
-
--AC_CHECK_HEADER([libx86.h], [], [AC_MSG_ERROR([libx86.h not found])])
--
- dnl Simple, huh?
-
- AC_OUTPUT([Makefile])
---
-1.8.1.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb b/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb
deleted file mode 100644
index b002906f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "read-edid elucidates various very useful informations from a conforming PnP monitor"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d0bf70fa1ef81fe4741ec0e6231dadfd"
-
-SRC_URI = "http://polypux.org/projects/read-edid/read-edid-${PV}.tar.gz \
- file://0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch"
-
-SRC_URI[md5sum] = "586e7fa1167773b27f4e505edc93274b"
-SRC_URI[sha256sum] = "246ec14ec509e09ac26fe6862b120481b2cc881e2f142ba40886d6eec15e77e8"
-
-inherit autotools
-
-do_compile() {
- oe_runmake parse-edid
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 parse-edid ${D}${bindir}
-}
-
-PACKAGES =+ "parse-edid"
-FILES_parse-edid = "${bindir}/parse-edid"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb b/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
new file mode 100644
index 00000000..e4c2cadc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A pair of tools for reading the EDID from a monitor"
+DESCRIPTION = "read-edid is a set of two tools - get-edid, which gets the raw \
+ EDID information from the monitor, and parse-edid, which turns \
+ the raw binary information into a xorg.conf-compatible monitor \
+ section."
+AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
+HOMEPAGE = "http://www.polypux.org/projects/read-edid/"
+SECTION = "console/utils"
+LICENSE = "read-edid"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=292c42e2aedc4af636636bf7af0e2b26"
+
+SRC_URI = "http://polypux.org/projects/read-edid/read-edid-${PV}.tar.gz \
+ file://0001-Do-not-install-license-file.patch \
+ "
+SRC_URI[md5sum] = "016546e438bf6c98739ff74061df9854"
+SRC_URI[sha256sum] = "c7c6d8440f5b90f98e276829271ccea5b2ff5a3413df8a0f87ec09f834af186f"
+
+EXTRA_OECMAKE = "-DCLASSICBUILD=OFF"
+
+inherit cmake
diff --git a/external/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.3.6.bb b/external/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.3.6.bb
new file mode 100644
index 00000000..5b663489
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.3.6.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+"
+HOMEPAGE = "https://remmina.org"
+SECTION = "Support"
+LICENSE = "GPLv2 & openssl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769"
+DEPENDS += "openssl freerdp gtk+3 gdk-pixbuf atk libgcrypt avahi-ui libsodium libssh vte json-glib libsoup-2.4 libvncserver libsecret libxkbfile"
+
+
+DEPENDS_append_libc-musl = " libexecinfo"
+LDFLAGS_append_libc-musl = " -lexecinfo"
+
+SRC_URI = "https://gitlab.com/Remmina/Remmina/-/archive/v${PV}/Remmina-v${PV}.tar.bz2 \
+"
+SRC_URI[md5sum] = "6da599c3a5cab2df37a70f8fba2f5438"
+SRC_URI[sha256sum] = "fbed745438bb0c21467b60cbd67c8148a9289b5ebc7482d06db443bea556af1a"
+
+S = "${WORKDIR}/Remmina-v${PV}"
+
+inherit cmake features_check mime-xdg
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF"
+
+do_install_append(){
+ # We dont need the extra stuff form other desktop environments
+ rm -rf ${D}/${datadir}/xsessions
+ rm -rf ${D}/${datadir}/metainfo
+ rm -rf ${D}/${datadir}/gnome-session
+}
+
+PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol"
+
+RDEPENDS_${PN} = "bash"
+
+FILES_${PN}_append = " ${datadir}/icons/hicolor/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb b/external/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
index aefe3627..dcadede0 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
@@ -20,8 +20,8 @@ RDEPENDS_${PN} = "rsync \
perl-module-overloading \
"
-SRCREV = "27209563f924a22f510698ea225f53ea52f07cb4"
-PV = "1.4.2+git${SRCPV}"
+SRCREV = "a9e29850fc33c503c289e245c7bad350eed746d9"
+PV = "1.4.3+git${SRCPV}"
SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \
file://configure-fix-cmd_rsync.patch \
@@ -29,7 +29,7 @@ SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools perlnative
# Fix rsnapshot.conf.default:
# don't inject the host path into target configs.
diff --git a/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb b/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
deleted file mode 100644
index 255754d5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "A user-space tool to show and modify the state of GPIOs on the S3c24xx platform"
-SECTION = "console/utils"
-AUTHOR = "Werner Almesberger <werner@openmoko.org>"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://gpio.c;endline=12;md5=cfb91c686857b2e60852b4925d90a3e1"
-SRCREV = "4949"
-PV = "1.0+svnr${SRCPV}"
-PR = "r2"
-
-SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;protocol=http"
-S = "${WORKDIR}/gpio"
-
-CLEANBROKEN = "1"
-
-do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} -o ${PN} gpio.c
-}
-
-do_install() {
- install -d ${D}${sbindir}
- install -m 0755 ${PN} ${D}${sbindir}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb b/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
deleted file mode 100644
index 976a4f15..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A user-space tool to show and modify the state of GPIOs on the S3c64xx platform"
-SECTION = "console/utils"
-AUTHOR = "Werner Almesberger <werner@openmoko.org>"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://gpio-s3c6410.c;endline=12;md5=060cda1be945ad9194593f11d56d55c7"
-SRCREV = "4949"
-PV = "1.0+svnr${SRCPV}"
-
-SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;protocol=http"
-S = "${WORKDIR}/gpio"
-
-CLEANBROKEN = "1"
-
-do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} -o ${PN} gpio-s3c6410.c
-}
-
-do_install() {
- install -d ${D}${sbindir}
- install -m 0755 ${PN} ${D}${sbindir}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb b/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb
deleted file mode 100644
index 2d5935dd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "JTAG utility to interface w/ a S3C2410 device"
-SECTION = "devel"
-AUTHOR = "Harald Welte <laforge@openmoko.org>"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://parport.c;endline=19;md5=b5681091b0fd8c5f7068835c441bf0c8"
-SRCREV = "4268"
-PV = "0.1+svnr${SRCPV}"
-PR = "r1"
-
-SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;protocol=http"
-S = "${WORKDIR}/sjf2410-linux"
-
-inherit native deploy
-do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
-
-CFLAGS += "-DLINUX_PPDEV"
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- install -d ${D}/${bindir}
- install -m 0755 sjf2410 ${D}/${bindir}
-}
-
-do_deploy() {
- install -d ${DEPLOY_DIR_TOOLS}
- install -m 0755 sjf2410 ${DEPLOY_DIR_TOOLS}/sjf2410-${PV}
-}
-
-addtask deploy before do_build after do_install
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sass/libsass_3.6.3.bb b/external/meta-openembedded/meta-oe/recipes-support/sass/libsass_3.6.3.bb
new file mode 100644
index 00000000..d893be22
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/sass/libsass_3.6.3.bb
@@ -0,0 +1,13 @@
+SUMMARY = "C/C++ port of the Sass CSS precompiler"
+HOMEPAGE = "http://sass-lang.com/libsass"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f34396ca205f5e119ee77aae91fa27d"
+
+inherit autotools
+
+SRC_URI = "git://github.com/sass/libsass.git;branch=master"
+SRCREV = "e1c16e09b4a953757a15149deaaf28a3fd81dc97"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb b/external/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb
new file mode 100644
index 00000000..3c7a55cc
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb
@@ -0,0 +1,14 @@
+SUMMARY = "libsass command line driver "
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2f8a76980411a3f1f1480b141ce06744"
+
+DEPENDS = "libsass"
+
+inherit autotools pkgconfig
+
+SRC_URI = "git://github.com/sass/sassc.git"
+SRCREV = "46748216ba0b60545e814c07846ca10c9fefc5b6"
+S = "${WORKDIR}/git"
+PV = "3.6.1"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.26.bb b/external/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.26.bb
deleted file mode 100644
index a09bea23..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.26.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "Satyr is a collection of low-level algorithms for program \
-failure processing, analysis, and reporting supporting kernel space, user \
-space, Python, and Java programs"
-
-HOMEPAGE = "https://github.com/abrt/satyr"
-LICENSE = "GPLv2"
-
-inherit autotools-brokensep python3native pkgconfig
-
-SRC_URI = "git://github.com/abrt/satyr.git \
- file://0002-fix-compile-failure-against-musl-C-library.patch \
-"
-SRCREV = "4baa0c765071054314d1e7e78547ce6b7c133fbc"
-S = "${WORKDIR}/git"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS += " \
- gdb \
-"
-
-PACKAGES += "python3-${PN}"
-FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}"
-
-PACKAGECONFIG ??= "python3 rpm"
-PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python2"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm"
-
-do_configure_prepend() {
- ${S}/gen-version
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb b/external/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb
new file mode 100644
index 00000000..fbf018d7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Satyr is a collection of low-level algorithms for program \
+failure processing, analysis, and reporting supporting kernel space, user \
+space, Python, and Java programs"
+
+HOMEPAGE = "https://github.com/abrt/satyr"
+LICENSE = "GPLv2"
+
+inherit autotools-brokensep python3native pkgconfig
+
+SRC_URI = "git://github.com/abrt/satyr.git \
+ file://0002-fix-compile-failure-against-musl-C-library.patch \
+"
+SRCREV = "8b5547b89b712b39a59f1d8b366e7de0f5f46108"
+S = "${WORKDIR}/git"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS += " \
+ gdb \
+"
+
+PACKAGES += "python3-${BPN}"
+FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}"
+
+PACKAGECONFIG ??= "python3 rpm"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm"
+
+do_configure_prepend() {
+ ${S}/gen-version
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch b/external/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch
index 3fd85d9e..f58091ad 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch
@@ -17,13 +17,13 @@ diff --git a/src/Makefile.am b/src/Makefile.am
index 61dd9f8..42c911f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -41,7 +41,7 @@ sglib_SOURCES = ../lib/sg_lib.c \
+@@ -53,7 +53,7 @@ sglib_SOURCES = ../lib/sg_lib.c \
../lib/sg_pt_common.c
if HAVE_SGUTILS
-INCLUDES = -I/scsi
+INCLUDES = -I=@includedir@/scsi
- sdparm_LDADD = @GETOPT_O_FILES@ @os_libs@ @SGUTILS_LIBS@
+ sdparm_LDADD = @GETOPT_O_FILES@ @SGUTILS_LIBS@
sdparm_DEPENDENCIES = @GETOPT_O_FILES@
else
--
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb b/external/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb
deleted file mode 100644
index 35e22d3e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb
+++ /dev/null
@@ -1,26 +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 \
- "
-MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
-
-UPSTREAM_CHECK_REGEX = "sdparm-(?P<pver>\d+(\.\d+)+)\.tgz"
-
-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/external/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.11.bb b/external/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.11.bb
new file mode 100644
index 00000000..7fc87db2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.11.bb
@@ -0,0 +1,26 @@
+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-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \
+ file://lib/BSD_LICENSE;md5=12cde17a04c30dece2752f36b7192c64"
+DEPENDS="sg3-utils"
+SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \
+ file://make-sysroot-work.patch \
+ "
+MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
+
+UPSTREAM_CHECK_REGEX = "sdparm-(?P<pver>\d+(\.\d+)+)\.tgz"
+
+PACKAGES =+ "${PN}-scripts"
+RDEPENDS_${PN}-scripts += "bash ${PN}"
+
+SRC_URI[md5sum] = "cd998d1c12a4ec11652d0af580f06b4d"
+SRC_URI[sha256sum] = "432fdbfe90f0c51640291faf7602489b0ae56dfb96d0c02ed02308792adc7fb0"
+
+inherit autotools
+
+# Put the bash scripts to ${PN}-scripts
+FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/glibc-2.28.patch b/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/glibc-2.28.patch
deleted file mode 100644
index fbad4135..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/glibc-2.28.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Fixes:
-http://errors.yoctoproject.org/Errors/Details/185896/
-
-TOPDIR/tmp-glibc/work/core2-64-oe-linux/sg3-utils/1.42-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/8.2.0/ld: sg_map26.o: in function `nd_match_scandir_select':
-/usr/src/debug/sg3-utils/1.42-r0/sg3_utils-1.42/src/sg_map26.c:359: undefined reference to `major'
-TOPDIR/tmp-glibc/work/core2-64-oe-linux/sg3-utils/1.42-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/8.2.0/ld: /usr/src/debug/sg3-utils/1.42-r0/sg3_utils-1.42/src/sg_map26.c:361: undefined reference to `minor'
-TOPDIR/tmp-glibc/work/core2-64-oe-linux/sg3-utils/1.42-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/8.2.0/ld: sg_map26.o: in function `nt_typ_from_filename':
-/usr/src/debug/sg3-utils/1.42-r0/sg3_utils-1.42/src/sg_map26.c:218: undefined reference to `major'
-TOPDIR/tmp-glibc/work/core2-64-oe-linux/sg3-utils/1.42-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/8.2.0/ld: /usr/src/debug/sg3-utils/1.42-r0/sg3_utils-1.42/src/sg_map26.c:219: undefined reference to `minor'
-collect2: error: ld returned 1 exit status
-Makefile:806: recipe for target 'sg_map26' failed
-
-Upstream-Status: Pending
-
---- sg3_utils-1.42.orig/src/sg_map26.c 2018-08-09 11:53:26.907493996 +0000
-+++ sg3_utils-1.42/src/sg_map26.c 2018-08-09 11:51:56.713490763 +0000
-@@ -33,6 +33,7 @@
- #include <sys/ioctl.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <linux/major.h>
-
- #ifdef HAVE_CONFIG_H
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb b/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb
deleted file mode 100644
index c37c5e95..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Utilities for working with generic SCSI devices"
-
-DESCRIPTION = "This package contains low level utilities for devices that use the SCSI command set"
-
-HOMEPAGE = "http://sg.danny.cz/sg/sg3_utils.html"
-SECTION = "console/admin"
-
-LICENSE = "GPLv2+ & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca"
-
-SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz \
- file://glibc-2.28.patch \
-"
-MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
-
-UPSTREAM_CHECK_REGEX = "sg3_utils-(?P<pver>\d+(\.\d+)+)\.tgz"
-
-SRC_URI[md5sum] = "28080de5bf2222f8b55a29093bec8aea"
-SRC_URI[sha256sum] = "1dcb7a0309bd0ba3d4a83acb526973b80106ee26cd9f7398186cd3f0633c9ef3"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/sg3_utils-${PV}"
-
-RDEPENDS_${PN} += "bash"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.45.bb b/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.45.bb
new file mode 100644
index 00000000..22995b77
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.45.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Utilities for working with generic SCSI devices"
+
+DESCRIPTION = "This package contains low level utilities for devices that use the SCSI command set"
+
+HOMEPAGE = "http://sg.danny.cz/sg/sg3_utils.html"
+SECTION = "console/admin"
+
+LICENSE = "GPLv2+ & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca"
+
+SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz \
+"
+MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
+
+UPSTREAM_CHECK_REGEX = "sg3_utils-(?P<pver>\d+(\.\d+)+)\.tgz"
+
+SRC_URI[md5sum] = "2e71d7cd925dcc48acb24afaaaac7990"
+SRC_URI[sha256sum] = "0b87c971af52af7cebebcce343eac6bd3d73febb3c72af9ce41a4552f1605a61"
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/sg3_utils-${PV}"
+
+RDEPENDS_${PN} += "bash"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-recent-gettext.patch b/external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-recent-gettext.patch
new file mode 100644
index 00000000..7924fa55
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-recent-gettext.patch
@@ -0,0 +1,22 @@
+From 7a2fe915dded27630a345762628cdd542ea5d58a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 20 Dec 2019 13:56:16 +0100
+Subject: [PATCH] Fix build with recent gettext
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 03d1131..65609e7 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -17,5 +17,5 @@
+ ## Process this file with automake to produce Makefile.in.
+
+ EXTRA_DIST = config.rpath m4 $(DIST_ALPHA)
+-SUBDIRS = intl lib libopts src doc po tests
++SUBDIRS = lib libopts src doc po tests
+ ACLOCAL_AMFLAGS = -I m4
diff --git a/external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb b/external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
index c12289b5..930922ed 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
@@ -6,10 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit gettext autotools
-SRC_URI = "ftp://ftp.gnu.org/gnu/${BPN}/${BP}.tar.gz \
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://0001-Fix-build-with-clang.patch \
file://CVE-2018-1000097.patch \
-"
+ file://0001-Fix-build-with-recent-gettext.patch \
+ "
SRC_URI[md5sum] = "32a51b23e25ad5e6af4b89f228be1800"
SRC_URI[sha256sum] = "ee336e68549664e7a19b117adf02edfdeac6307f22e5ba78baca457116914637"
@@ -20,3 +21,5 @@ do_install_append() {
rmdir --ignore-fail-on-non-empty ${D}${libdir}
fi
}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb b/external/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb
deleted file mode 100644
index 519020f3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Report application memory usage in a meaningful way"
-DESCRIPTION = "smem is a tool that can give numerous reports on memory usage on Linux \
-systems. Unlike existing tools, smem can report proportional set size (PSS), \
-which is a more meaningful representation of the amount of memory used by \
-libraries and applications in a virtual memory system."
-HOMEPAGE = "http://www.selenic.com/smem/"
-SECTION = "Applications/System"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://www.selenic.com/${BPN}/download/${BP}.tar.gz"
-SRC_URI[md5sum] = "fe79435c3930389bfdb560255c802162"
-SRC_URI[sha256sum] = "2ea9f878f4cf3c276774c3f7e2a41977a1f2d64f98d2dcb6a15f1f3d84df61ec"
-
-do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} smemcap.c -o smemcap
-}
-
-do_install() {
- install -d ${D}/${bindir}/
- install -d ${D}/${mandir}/man8
- install -m 0755 ${S}/smem ${D}${bindir}/
- install -m 0755 ${S}/smemcap ${D}${bindir}/
- install -m 0644 ${S}/smem.8 ${D}/${mandir}/man8/
-}
-RDEPENDS_${PN} += "python-textutils python-compression python-shell python-codecs"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_git.bb b/external/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_git.bb
new file mode 100644
index 00000000..96ec829b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_git.bb
@@ -0,0 +1,12 @@
+SUMMARY = "single-file header-only version of a C++20-like span for C++98, C++11 and later"
+HOMEPAGE = "https://github.com/martinmoene/span-lite"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI += "git://github.com/martinmoene/span-lite"
+SRCREV = "e03d1166ccc8481d993dc02aae703966301a5e6e"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+inherit ptest
diff --git a/external/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.5.0.bb b/external/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.5.0.bb
new file mode 100644
index 00000000..39629cce
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.5.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Very fast, header only, C++ logging library."
+HOMEPAGE = "https://github.com/gabime/spdlog/wiki"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRCREV = "cf6f1dd01e660d5865d68bf5fa78f6376b89470a"
+SRC_URI = "git://github.com/gabime/spdlog.git;protocol=git;branch=v1.x;"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+# no need to build example&text&benchmarks on pure yocto
+EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_EXAMPLES=off -DSPDLOG_BUILD_TESTS=off -DSPDLOG_BUILD_BENCH=off"
+
+inherit cmake
+
+# Header-only library
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb b/external/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
index af1cd600..62575687 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
@@ -4,9 +4,9 @@ AUTHOR = "Christophe BLAESS"
LICENSE="GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381"
-BPV = "0.8.3"
+BPV = "0.8.4"
PV = "${BPV}"
-SRCREV = "a3f1f68a048d0d2321ee562b3744dd1162cad22f"
+SRCREV = "4a36a84f7df291ddaebd397aecf0c8515256a8e0"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb b/external/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb
index d3488df2..4c34fa1b 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb
@@ -11,6 +11,8 @@ SRC_URI = " \
SRC_URI[md5sum] = "4de4a7497472d7972645c2af91313769"
SRC_URI[sha256sum] = "49a4418733c508c03ad79a29e95acec9a2fbc4c7306131d2a8f5ef32012e67e2"
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/srecord/files/releases"
+
DEPENDS = "libtool-native boost groff-native"
inherit autotools-brokensep
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch
new file mode 100644
index 00000000..d9190e5b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch
@@ -0,0 +1,116 @@
+From dd6ad8ca447457c812809791ab8622da8646104c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:07:33 -0700
+Subject: [PATCH] Don't use __GNUC_PREREQ
+
+These are not official GCC predefined macros; they are macros defined
+by GNU libc and some versions of BSD libc for internal use by their
+own headers, and we shouldn't be using them without checking for their
+availability first
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/efi/efi.h | 4 ++--
+ lib/engine/pragma.h | 4 ++--
+ lib/log/log.h | 4 ++--
+ lib/mpb/machine_bytes.h | 4 ++--
+ lib/mpb/mpb.h | 4 ++--
+ lib/orom/orom.h | 4 ++--
+ 6 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/lib/efi/efi.h b/lib/efi/efi.h
+index 0620d9c..c8358db 100644
+--- a/lib/efi/efi.h
++++ b/lib/efi/efi.h
+@@ -33,9 +33,9 @@
+ #include <features.h>
+ #include <ssi.h>
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #if defined(__cplusplus)
+ extern "C" {
+diff --git a/lib/engine/pragma.h b/lib/engine/pragma.h
+index 8205ed3..fa0b268 100644
+--- a/lib/engine/pragma.h
++++ b/lib/engine/pragma.h
+@@ -32,9 +32,9 @@
+
+ #include <features.h>
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #define SSI_HAS_PRAGMA_ONCE
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #ifdef SSI_HAS_PRAGMA_ONCE
+ #pragma once
+diff --git a/lib/log/log.h b/lib/log/log.h
+index 66a707b..ca5000a 100644
+--- a/lib/log/log.h
++++ b/lib/log/log.h
+@@ -32,9 +32,9 @@
+
+ #include <features.h>
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #if defined(__cplusplus)
+ extern "C" {
+diff --git a/lib/mpb/machine_bytes.h b/lib/mpb/machine_bytes.h
+index 6cb81c9..807461f 100644
+--- a/lib/mpb/machine_bytes.h
++++ b/lib/mpb/machine_bytes.h
+@@ -27,9 +27,9 @@
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #ifndef __ENDIAN_H__INCLUDED__
+ #define __ENDIAN_H__INCLUDED__
+diff --git a/lib/mpb/mpb.h b/lib/mpb/mpb.h
+index 32beb21..98f82fe 100644
+--- a/lib/mpb/mpb.h
++++ b/lib/mpb/mpb.h
+@@ -27,9 +27,9 @@
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #ifndef __MPB_H__INCLUDED__
+ #define __MPB_H__INCLUDED__
+diff --git a/lib/orom/orom.h b/lib/orom/orom.h
+index 4492066..16b03a6 100644
+--- a/lib/orom/orom.h
++++ b/lib/orom/orom.h
+@@ -32,9 +32,9 @@
+
+ #include <features.h>
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #if defined(__cplusplus)
+ extern "C" {
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch
new file mode 100644
index 00000000..fd44571b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch
@@ -0,0 +1,32 @@
+From 258a1d128581f185a7a5070f47df06e5c29c9db8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:43:32 -0700
+Subject: [PATCH] Include libgen.h
+
+Use XPG version of basename on non gnu libc systems
+ideally posix version should be used everywhere but that
+would be upstreams choice to make
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/ssieventmonitor.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
+index 0d11975..af7e09c 100644
+--- a/tools/ssieventmonitor.cpp
++++ b/tools/ssieventmonitor.cpp
+@@ -39,7 +39,9 @@
+ #include <sys/select.h>
+ #include <sys/wait.h>
+ #include <sys/inotify.h>
+-
++#ifndef __GLIBC__
++#include <libgen.h>
++#endif
+ extern "C" {
+ #include "lib/safeclib/safe_str_lib.h"
+ }
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch
deleted file mode 100644
index ef6ae00e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch
+++ /dev/null
@@ -1,872 +0,0 @@
-From 3100e23c50e38bff0c2ec77bc30049c113c29414 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 20:44:31 -0700
-Subject: [PATCH 1/6] Use pragma once unconditionally
-
-in OE we do not worry about supporting
-gcc 3.4 anyway
-
-Upstream-Status: Inappropriate[Bumps required gcc to be > 3.4]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/efi/efi.h | 2 --
- lib/engine/ahci.h | 2 --
- lib/engine/ahci_cdrom.h | 2 --
- lib/engine/ahci_disk.h | 2 --
- lib/engine/ahci_multiplier.h | 2 --
- lib/engine/ahci_multiplier_phy.h | 2 --
- lib/engine/ahci_multiplier_port.h | 2 --
- lib/engine/ahci_phy.h | 2 --
- lib/engine/ahci_port.h | 2 --
- lib/engine/ahci_raid_info.h | 2 --
- lib/engine/ahci_tape.h | 2 --
- lib/engine/array.h | 2 --
- lib/engine/block_device.h | 2 --
- lib/engine/cache.h | 2 --
- lib/engine/container.h | 2 --
- lib/engine/context_manager.h | 2 --
- lib/engine/controller.h | 2 --
- lib/engine/enclosure.h | 2 --
- lib/engine/end_device.h | 2 --
- lib/engine/event.h | 2 --
- lib/engine/event_manager.h | 2 --
- lib/engine/exception.h | 2 --
- lib/engine/filesystem.h | 2 --
- lib/engine/isci.h | 2 --
- lib/engine/isci_cdrom.h | 2 --
- lib/engine/isci_disk.h | 2 --
- lib/engine/isci_expander.h | 2 --
- lib/engine/isci_expander_phy.h | 2 --
- lib/engine/isci_expander_port.h | 2 --
- lib/engine/isci_phy.h | 2 --
- lib/engine/isci_port.h | 2 --
- lib/engine/isci_raid_info.h | 2 --
- lib/engine/isci_tape.h | 2 --
- lib/engine/list.h | 2 --
- lib/engine/mdadm_config.h | 2 --
- lib/engine/multimedia_device.h | 2 --
- lib/engine/nondisk_device.h | 2 --
- lib/engine/object.h | 2 --
- lib/engine/pci_header.h | 2 --
- lib/engine/phy.h | 2 --
- lib/engine/port.h | 2 --
- lib/engine/raid_device.h | 2 --
- lib/engine/raid_info.h | 2 --
- lib/engine/remote_port.h | 2 --
- lib/engine/routing_device.h | 2 --
- lib/engine/session.h | 2 --
- lib/engine/session_manager.h | 2 --
- lib/engine/storage_device.h | 2 --
- lib/engine/stream_device.h | 2 --
- lib/engine/string.h | 2 --
- lib/engine/unique_id_manager.h | 2 --
- lib/engine/utils.h | 2 --
- lib/engine/volume.h | 2 --
- lib/log/log.h | 2 --
- lib/mpb/machine_bytes.h | 2 --
- lib/mpb/mpb.h | 2 --
- lib/orom/orom.h | 2 --
- 57 files changed, 114 deletions(-)
-
-diff --git a/lib/efi/efi.h b/lib/efi/efi.h
-index 9e7e41b..804e567 100644
---- a/lib/efi/efi.h
-+++ b/lib/efi/efi.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __EFI_H__INCLUDED__
- #define __EFI_H__INCLUDED__
-diff --git a/lib/engine/ahci.h b/lib/engine/ahci.h
-index e883d1a..80a9699 100644
---- a/lib/engine/ahci.h
-+++ b/lib/engine/ahci.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_H__INCLUDED__
- #define __AHCI_H__INCLUDED__
-diff --git a/lib/engine/ahci_cdrom.h b/lib/engine/ahci_cdrom.h
-index 442f301..d8ca042 100644
---- a/lib/engine/ahci_cdrom.h
-+++ b/lib/engine/ahci_cdrom.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_CDROM_H__INCLUDED__
- #define __AHCI_CDROM_H__INCLUDED__
-diff --git a/lib/engine/ahci_disk.h b/lib/engine/ahci_disk.h
-index 7892a53..1bad9ad 100644
---- a/lib/engine/ahci_disk.h
-+++ b/lib/engine/ahci_disk.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_DISK_H__INCLUDED__
- #define __AHCI_DISK_H__INCLUDED__
-diff --git a/lib/engine/ahci_multiplier.h b/lib/engine/ahci_multiplier.h
-index d63e9bc..1029af2 100644
---- a/lib/engine/ahci_multiplier.h
-+++ b/lib/engine/ahci_multiplier.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_MULTIPLIER_H__INCLUDED__
- #define __AHCI_MULTIPLIER_H__INCLUDED__
-diff --git a/lib/engine/ahci_multiplier_phy.h b/lib/engine/ahci_multiplier_phy.h
-index 58ecebc..2132c23 100644
---- a/lib/engine/ahci_multiplier_phy.h
-+++ b/lib/engine/ahci_multiplier_phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_MULTIPLIER_PHY_H__INCLUDED__
- #define __AHCI_MULTIPLIER_PHY_H__INCLUDED__
-diff --git a/lib/engine/ahci_multiplier_port.h b/lib/engine/ahci_multiplier_port.h
-index 5ff4cf7..2402473 100644
---- a/lib/engine/ahci_multiplier_port.h
-+++ b/lib/engine/ahci_multiplier_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_MULTIPLIER_PORT_H__INCLUDED__
- #define __AHCI_MULTIPLIER_PORT_H__INCLUDED__
-diff --git a/lib/engine/ahci_phy.h b/lib/engine/ahci_phy.h
-index e2254e7..a44dae0 100644
---- a/lib/engine/ahci_phy.h
-+++ b/lib/engine/ahci_phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_PHY_H__INCLUDED__
- #define __AHCI_PHY_H__INCLUDED__
-diff --git a/lib/engine/ahci_port.h b/lib/engine/ahci_port.h
-index f9e3308..03c109b 100644
---- a/lib/engine/ahci_port.h
-+++ b/lib/engine/ahci_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_PORT_H__INCLUDED__
- #define __AHCI_PORT_H__INCLUDED__
-diff --git a/lib/engine/ahci_raid_info.h b/lib/engine/ahci_raid_info.h
-index e1c81ae..c70e63e 100644
---- a/lib/engine/ahci_raid_info.h
-+++ b/lib/engine/ahci_raid_info.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_RAID_INFO_H__INCLUDED__
- #define __AHCI_RAID_INFO_H__INCLUDED__
-diff --git a/lib/engine/ahci_tape.h b/lib/engine/ahci_tape.h
-index cdd9f13..a91fd2c 100644
---- a/lib/engine/ahci_tape.h
-+++ b/lib/engine/ahci_tape.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_TAPE_H__INCLUDED__
- #define __AHCI_TAPE_H__INCLUDED__
-diff --git a/lib/engine/array.h b/lib/engine/array.h
-index 36fb4a4..0986ce3 100644
---- a/lib/engine/array.h
-+++ b/lib/engine/array.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ARRAY_H__INCLUDED__
- #define __ARRAY_H__INCLUDED__
-diff --git a/lib/engine/block_device.h b/lib/engine/block_device.h
-index 4503914..45dd3db 100644
---- a/lib/engine/block_device.h
-+++ b/lib/engine/block_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __BLOCK_DEVICE_H__INCLUDED__
- #define __BLOCK_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/cache.h b/lib/engine/cache.h
-index 72cf521..72da20b 100644
---- a/lib/engine/cache.h
-+++ b/lib/engine/cache.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3,4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CACHE_H__INCLUDED__
- #define __CACHE_H__INCLUDED__
-diff --git a/lib/engine/container.h b/lib/engine/container.h
-index 53867b0..c71180c 100644
---- a/lib/engine/container.h
-+++ b/lib/engine/container.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3,4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CONTAINER_H__INCLUDED__
- #define __CONTAINER_H__INCLUDED__
-diff --git a/lib/engine/context_manager.h b/lib/engine/context_manager.h
-index fe9c256..6b4a2e7 100644
---- a/lib/engine/context_manager.h
-+++ b/lib/engine/context_manager.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3,4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CONTEXT_H__INCLUDED__
- #define __CONTEXT_H__INCLUDED__
-diff --git a/lib/engine/controller.h b/lib/engine/controller.h
-index a2f188a..6bd078f 100644
---- a/lib/engine/controller.h
-+++ b/lib/engine/controller.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CONTROLLER_H__INCLUDED__
- #define __CONTROLLER_H__INCLUDED__
-diff --git a/lib/engine/enclosure.h b/lib/engine/enclosure.h
-index 3faef0c..f4b13cc 100644
---- a/lib/engine/enclosure.h
-+++ b/lib/engine/enclosure.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ENCLOSURE_H__INCLUDED__
- #define __ENCLOSURE_H__INCLUDED__
-diff --git a/lib/engine/end_device.h b/lib/engine/end_device.h
-index f147e41..269b236 100644
---- a/lib/engine/end_device.h
-+++ b/lib/engine/end_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __END_DEVICE_H__INCLUDED__
- #define __END_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/event.h b/lib/engine/event.h
-index cf9bb4f..11a4926 100644
---- a/lib/engine/event.h
-+++ b/lib/engine/event.h
-@@ -12,9 +12,7 @@ Redistribution and use in source and binary forms, with or without modification,
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __EVENT_H__INCLUDED__
- #define __EVENT_H__INCLUDED__
-diff --git a/lib/engine/event_manager.h b/lib/engine/event_manager.h
-index 65007b9..a7a8fc3 100644
---- a/lib/engine/event_manager.h
-+++ b/lib/engine/event_manager.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __EVENT_MANAGER_H__INCLUDED__
- #define __EVENT_MANAGER_H__INCLUDED__
-diff --git a/lib/engine/exception.h b/lib/engine/exception.h
-index 171e45d..183ebb5 100644
---- a/lib/engine/exception.h
-+++ b/lib/engine/exception.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __EXCEPTION_H__INCLUDED__
- #define __EXCEPTION_H__INCLUDED__
-diff --git a/lib/engine/filesystem.h b/lib/engine/filesystem.h
-index 9c2ce39..b49df07 100644
---- a/lib/engine/filesystem.h
-+++ b/lib/engine/filesystem.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __FILESYSTEM_H__INCLUDED__
- #define __FILESYSTEM_H__INCLUDED__
-diff --git a/lib/engine/isci.h b/lib/engine/isci.h
-index ea35cd4..0fa602a 100644
---- a/lib/engine/isci.h
-+++ b/lib/engine/isci.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_H__INCLUDED__
- #define __ISCI_H__INCLUDED__
-diff --git a/lib/engine/isci_cdrom.h b/lib/engine/isci_cdrom.h
-index 87b7e7b..25637f9 100644
---- a/lib/engine/isci_cdrom.h
-+++ b/lib/engine/isci_cdrom.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_CDROM_H__INCLUDED__
- #define __ISCI_CDROM_H__INCLUDED__
-diff --git a/lib/engine/isci_disk.h b/lib/engine/isci_disk.h
-index 596c3cf..8dd0dae 100644
---- a/lib/engine/isci_disk.h
-+++ b/lib/engine/isci_disk.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_DISK_H__INCLUDED__
- #define __ISCI_DISK_H__INCLUDED__
-diff --git a/lib/engine/isci_expander.h b/lib/engine/isci_expander.h
-index ca7c2f1..7dc1920 100644
---- a/lib/engine/isci_expander.h
-+++ b/lib/engine/isci_expander.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_EXPANDER_H__INCLUDED__
- #define __ISCI_EXPANDER_H__INCLUDED__
-diff --git a/lib/engine/isci_expander_phy.h b/lib/engine/isci_expander_phy.h
-index c9cd770..d3d2832 100644
---- a/lib/engine/isci_expander_phy.h
-+++ b/lib/engine/isci_expander_phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_EXPANDER_PHY_H__INCLUDED__
- #define __ISCI_EXPANDER_PHY_H__INCLUDED__
-diff --git a/lib/engine/isci_expander_port.h b/lib/engine/isci_expander_port.h
-index e65a124..4fc9310 100644
---- a/lib/engine/isci_expander_port.h
-+++ b/lib/engine/isci_expander_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_EXPANDER_PORT_H__INCLUDED__
- #define __ISCI_EXPANDER_PORT_H__INCLUDED__
-diff --git a/lib/engine/isci_phy.h b/lib/engine/isci_phy.h
-index 767a5b2..105c697 100644
---- a/lib/engine/isci_phy.h
-+++ b/lib/engine/isci_phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_PHY_H__INCLUDED__
- #define __ISCI_PHY_H__INCLUDED__
-diff --git a/lib/engine/isci_port.h b/lib/engine/isci_port.h
-index b80be7f..5ccc151 100644
---- a/lib/engine/isci_port.h
-+++ b/lib/engine/isci_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_PORT_H__INCLUDED__
- #define __ISCI_PORT_H__INCLUDED__
-diff --git a/lib/engine/isci_raid_info.h b/lib/engine/isci_raid_info.h
-index 1df6477..b0b046a 100644
---- a/lib/engine/isci_raid_info.h
-+++ b/lib/engine/isci_raid_info.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_RAID_INFO_H__INCLUDED__
- #define __ISCI_RAID_INFO_H__INCLUDED__
-diff --git a/lib/engine/isci_tape.h b/lib/engine/isci_tape.h
-index 985f767..a2cef2d 100644
---- a/lib/engine/isci_tape.h
-+++ b/lib/engine/isci_tape.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_TAPE_H__INCLUDED__
- #define __ISCI_TAPE_H__INCLUDED__
-diff --git a/lib/engine/list.h b/lib/engine/list.h
-index 9a7c3c3..6395830 100644
---- a/lib/engine/list.h
-+++ b/lib/engine/list.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __LIST_H__INCLUDED__
- #define __LIST_H__INCLUDED__
-diff --git a/lib/engine/mdadm_config.h b/lib/engine/mdadm_config.h
-index c94020f..e415b4f 100644
---- a/lib/engine/mdadm_config.h
-+++ b/lib/engine/mdadm_config.h
-@@ -11,9 +11,7 @@ Redistribution and use in source and binary forms, with or without modification,
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __MDADM_CONFIG_H__INCLUDED__
- #define __MDADM_CONFIG_H__INCLUDED__
-diff --git a/lib/engine/multimedia_device.h b/lib/engine/multimedia_device.h
-index 533370e..694e2a5 100644
---- a/lib/engine/multimedia_device.h
-+++ b/lib/engine/multimedia_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __MULTIMEDIA_DEVICE_H__INCLUDED__
- #define __MULTIMEDIA_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/nondisk_device.h b/lib/engine/nondisk_device.h
-index 70ebb32..0f00e52 100644
---- a/lib/engine/nondisk_device.h
-+++ b/lib/engine/nondisk_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CHARACTER_DEVICE_H__INCLUDED__
- #define __CHARACTER_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/object.h b/lib/engine/object.h
-index b52d3d3..345d58c 100644
---- a/lib/engine/object.h
-+++ b/lib/engine/object.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __OBJECT_H__INCLUDED__
- #define __OBJECT_H__INCLUDED__
-diff --git a/lib/engine/pci_header.h b/lib/engine/pci_header.h
-index 376f296..c5129a0 100644
---- a/lib/engine/pci_header.h
-+++ b/lib/engine/pci_header.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __PCI_HEADER_H__INCLUDED__
- #define __PCI_HEADER_H__INCLUDED__
-diff --git a/lib/engine/phy.h b/lib/engine/phy.h
-index f5730a0..c59f7c8 100644
---- a/lib/engine/phy.h
-+++ b/lib/engine/phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __PHY_H__INCLUDED__
- #define __PHY_H__INCLUDED__
-diff --git a/lib/engine/port.h b/lib/engine/port.h
-index 2f33876..cc48c7c 100644
---- a/lib/engine/port.h
-+++ b/lib/engine/port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3,4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __PORT_H__INCLUDED__
- #define __PORT_H__INCLUDED__
-diff --git a/lib/engine/raid_device.h b/lib/engine/raid_device.h
-index 998e80c..2174162 100644
---- a/lib/engine/raid_device.h
-+++ b/lib/engine/raid_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __RAID_DEVICE_H__INCLUDED__
- #define __RAID_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/raid_info.h b/lib/engine/raid_info.h
-index 174698a..302be9b 100644
---- a/lib/engine/raid_info.h
-+++ b/lib/engine/raid_info.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __RAID_INFO_H__INCLUDED__
- #define __RAID_INFO_H__INCLUDED__
-diff --git a/lib/engine/remote_port.h b/lib/engine/remote_port.h
-index c086656..4ddfee3 100644
---- a/lib/engine/remote_port.h
-+++ b/lib/engine/remote_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __REMOTE_PORT_H__INCLUDED__
- #define __REMOTE_PORT_H__INCLUDED__
-diff --git a/lib/engine/routing_device.h b/lib/engine/routing_device.h
-index 5f857a6..284621e 100644
---- a/lib/engine/routing_device.h
-+++ b/lib/engine/routing_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ROUTING_DEVICE_H__INCLUDED__
- #define __ROUTING_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/session.h b/lib/engine/session.h
-index a901d1c..3200da1 100644
---- a/lib/engine/session.h
-+++ b/lib/engine/session.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __SESSION_H__INCLUDED__
- #define __SESSION_H__INCLUDED__
-diff --git a/lib/engine/session_manager.h b/lib/engine/session_manager.h
-index 7177064..87e16c3 100644
---- a/lib/engine/session_manager.h
-+++ b/lib/engine/session_manager.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __SESSION_MANAGER_H__INCLUDED__
- #define __SESSION_MANAGER_H__INCLUDED__
-diff --git a/lib/engine/storage_device.h b/lib/engine/storage_device.h
-index ddeb66f..20bdab2 100644
---- a/lib/engine/storage_device.h
-+++ b/lib/engine/storage_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __STORAGE_DEVICE_H__INCLUDED__
- #define __STORAGE_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/stream_device.h b/lib/engine/stream_device.h
-index 9bc111a..b29bd68 100644
---- a/lib/engine/stream_device.h
-+++ b/lib/engine/stream_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __STREAM_DEVICE_H__INCLUDED__
- #define __STREAM_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/string.h b/lib/engine/string.h
-index 3007dc7..6f348c9 100644
---- a/lib/engine/string.h
-+++ b/lib/engine/string.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __STRING_H__INCLUDED__
- #define __STRING_H__INCLUDED__
-diff --git a/lib/engine/unique_id_manager.h b/lib/engine/unique_id_manager.h
-index fe79eac..4a13627 100644
---- a/lib/engine/unique_id_manager.h
-+++ b/lib/engine/unique_id_manager.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __UNIQUE_ID_MANAGER_H__INCLUDED__
- #define __UNIQUE_ID_MANAGER_H__INCLUDED__
-diff --git a/lib/engine/utils.h b/lib/engine/utils.h
-index 86c20cf..5525303 100644
---- a/lib/engine/utils.h
-+++ b/lib/engine/utils.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __UTILS_H__INCLUDED__
- #define __UTILS_H__INCLUDED__
-diff --git a/lib/engine/volume.h b/lib/engine/volume.h
-index 9a63cbf..3347b31 100644
---- a/lib/engine/volume.h
-+++ b/lib/engine/volume.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- // Forward declarations
- class Array;
-diff --git a/lib/log/log.h b/lib/log/log.h
-index c0bd63e..8b5f171 100644
---- a/lib/log/log.h
-+++ b/lib/log/log.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __LOG_H__INCLUDED__
- #define __LOG_H__INCLUDED__
-diff --git a/lib/mpb/machine_bytes.h b/lib/mpb/machine_bytes.h
-index 7fbb0e9..800b120 100644
---- a/lib/mpb/machine_bytes.h
-+++ b/lib/mpb/machine_bytes.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ENDIAN_H__INCLUDED__
- #define __ENDIAN_H__INCLUDED__
-diff --git a/lib/mpb/mpb.h b/lib/mpb/mpb.h
-index 01782af..c42cdfb 100644
---- a/lib/mpb/mpb.h
-+++ b/lib/mpb/mpb.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __MPB_H__INCLUDED__
- #define __MPB_H__INCLUDED__
-diff --git a/lib/orom/orom.h b/lib/orom/orom.h
-index f76e3ee..e10311d 100644
---- a/lib/orom/orom.h
-+++ b/lib/orom/orom.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __OROM_H__INCLUDED__
- #define __OROM_H__INCLUDED__
---
-2.13.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch
new file mode 100644
index 00000000..8fdbf3e6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch
@@ -0,0 +1,57 @@
+From 874da836bc857e5942675c59e19f4fd8ad09b13e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 14:08:19 -0700
+Subject: [PATCH 1/4] log: Avoid shadowing functions from std lib
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/log/log.c | 2 +-
+ lib/log/log.h | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/lib/log/log.c b/lib/log/log.c
+index 7d8e17c..18b67a5 100644
+--- a/lib/log/log.c
++++ b/lib/log/log.c
+@@ -82,7 +82,7 @@ enum log_level log_get_level(void) {
+ }
+
+ /* */
+-void __log(enum log_level level, const char *message) {
++void _ssiap_log(enum log_level level, const char *message) {
+ struct tm tm;
+ struct timeval tv;
+
+diff --git a/lib/log/log.h b/lib/log/log.h
+index d94e482..66a707b 100644
+--- a/lib/log/log.h
++++ b/lib/log/log.h
+@@ -53,13 +53,13 @@ enum log_level {
+ };
+
+ /* */
+-#define log(__level, __message) \
++#define ssiap_log(__level, __message) \
+ do { if (log_get_level() >= (enum log_level)(__level)) \
+- __log(__level, __message); \
++ _ssiap_log(__level, __message); \
+ } while (0)
+
+ #define dlog(__message) \
+- log(LOG_DEBUG, __message);
++ ssiap_log(LOG_DEBUG, __message);
+
+ /* */
+ void log_init(enum log_level level, const char *path);
+@@ -68,7 +68,7 @@ void log_init(enum log_level level, const char *path);
+ void log_fini(void);
+
+ /* */
+-void __log(enum log_level level, const char *message);
++void _ssiap_log(enum log_level level, const char *message);
+
+ /* */
+ enum log_level log_get_level(void);
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch
deleted file mode 100644
index 27df9b5d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ea9ecf4bf305f9509d5822b3823658a40162f43c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 25 Jul 2017 19:08:21 -0700
-Subject: [PATCH] ssieventmonitor: ordered comparison between pointers and
- zero, actually with NULL
-
-Comparing which is large or small between a pointer and NULL
-however, looks completely illogical. Ordered comparison of
-two valid pointers is legit, but no pointer will be smaller
-than NULL , so comparing if a pointer is larger than NULL
-simply means if the pointer is not NULL.
-
-Fixes errors found with clang e.g.
-
-| ssieventmonitor.cpp:339:53: error: ordered comparison between pointer and zero ('char *' and 'int')
-| if (fgets(nextline, sizeof(nextline) - 1, mdstat) < 0) {
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tools/ssieventmonitor.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
-index f04b8f0..7a00122 100644
---- a/tools/ssieventmonitor.cpp
-+++ b/tools/ssieventmonitor.cpp
-@@ -336,7 +336,7 @@ static int _read_mdstat(int fd)
- if (!strncmp(line, "md", 2)) {
- if (strstr(line, INACTIVE_STR)) { /* possibly container */
- char nextline[1024];
-- if (fgets(nextline, sizeof(nextline) - 1, mdstat) < 0) {
-+ if (fgets(nextline, sizeof(nextline) - 1, mdstat) != (char *) NULL) {
- fclose(mdstat);
- return 1;
- }
---
-2.13.3
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch
deleted file mode 100644
index 351301cd..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 1338ee4e69c465f8f381ec3bfe5058080236edba Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:08:35 -0700
-Subject: [PATCH 2/6] Convert macros into functions
-
-This helps in fixing the security format warnings
-add -fno-builtin-log
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/engine/Makefile.am | 3 ++-
- lib/log/Makefile.am | 2 ++
- lib/log/log.h | 34 +++++++++++++++++++++-------------
- src/Makefile.am | 3 ++-
- 4 files changed, 27 insertions(+), 15 deletions(-)
-
-Index: ssiapi.1.0.1/lib/engine/Makefile.am
-===================================================================
---- ssiapi.1.0.1.orig/lib/engine/Makefile.am
-+++ ssiapi.1.0.1/lib/engine/Makefile.am
-@@ -113,4 +113,5 @@ libengine_la_SOURCES = \
- libengine_la_CPPFLAGS = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/include \
-- -I$(top_srcdir)/lib
-+ -I$(top_srcdir)/lib \
-+ -fno-builtin-log
-Index: ssiapi.1.0.1/lib/log/Makefile.am
-===================================================================
---- ssiapi.1.0.1.orig/lib/log/Makefile.am
-+++ ssiapi.1.0.1/lib/log/Makefile.am
-@@ -5,3 +5,5 @@ noinst_LTLIBRARIES = liblog.la
- liblog_la_SOURCES = \
- log.c \
- log.h
-+
-+liblog_la_CPPFLAGS = -fno-builtin-log
-Index: ssiapi.1.0.1/lib/log/log.h
-===================================================================
---- ssiapi.1.0.1.orig/lib/log/log.h
-+++ ssiapi.1.0.1/lib/log/log.h
-@@ -23,7 +23,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIG
- #if defined(__cplusplus)
- extern "C" {
- #endif /* __cplusplus */
--
-+#include <stdarg.h>
- /* */
- enum log_level {
- LOG_FIRST = 0,
-@@ -37,26 +37,34 @@ enum log_level {
- };
-
- /* */
--#define log(__level, __format, ...) \
-- do { if (log_get_level() >= (enum log_level)(__level)) \
-- __log(__level, __format, ## __VA_ARGS__); \
-- } while (0)
--
--#define dlog(__format, ...) \
-- log(LOG_DEBUG, __format, ## __VA_ARGS__);
-+void __log(enum log_level level, const char *format, ...)
-+ __attribute__((format(printf, 2, 3)));
-
- /* */
--void log_init(enum log_level level, const char *path);
-+enum log_level log_get_level(void);
-
- /* */
--void log_fini(void);
--
-+static inline void log(enum log_level __level, const char* __format, ...) {
-+ va_list ap;
-+ va_start(ap, __format);
-+ do {
-+ if (log_get_level() >= (enum log_level)(__level))
-+ __log(__level, __format, ap);
-+ } while (0);
-+ va_end(ap);
-+}
-+
-+static inline void dlog(const char* __format, ...) {
-+ va_list ap;
-+ va_start(ap, __format);
-+ log(LOG_DEBUG, __format, ap);
-+ va_end(ap);
-+}
- /* */
--void __log(enum log_level level, const char *format, ...)
-- __attribute__((format(printf, 2, 3)));
-+void log_init(enum log_level level, const char *path);
-
- /* */
--enum log_level log_get_level(void);
-+void log_fini(void);
-
- /* */
- void log_set_level(enum log_level level);
-Index: ssiapi.1.0.1/src/Makefile.am
-===================================================================
---- ssiapi.1.0.1.orig/src/Makefile.am
-+++ ssiapi.1.0.1/src/Makefile.am
-@@ -7,7 +7,8 @@ lib_LTLIBRARIES = libssi.la
- libssi_la_CPPFLAGS = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/include \
-- -I$(top_srcdir)/lib
-+ -I$(top_srcdir)/lib \
-+ -fno-builtin-log
-
- libssi_la_LDFLAGS = \
- $(SGUTILS_LDFLAGS) \
-Index: ssiapi.1.0.1/lib/efi/Makefile.am
-===================================================================
---- ssiapi.1.0.1.orig/lib/efi/Makefile.am
-+++ ssiapi.1.0.1/lib/efi/Makefile.am
-@@ -5,3 +5,4 @@ noinst_LTLIBRARIES = libefi.la
- libefi_la_SOURCES = \
- efi.cpp \
- efi.h
-+libefi_la_CPPFLAGS = -fno-builtin-log
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch
new file mode 100644
index 00000000..acc718d2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch
@@ -0,0 +1,54 @@
+From 01a75b23382fd042673d1f00fce708ba6c67d05a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:12:54 -0700
+Subject: [PATCH] Use stangard int types
+
+__unitn_* are internal to GNU libc lets use portable types
+
+Fixes
+error: unknown type name '__uint8_t'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/end_device.cpp | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/lib/engine/end_device.cpp b/lib/engine/end_device.cpp
+index 5a66de9..da078bf 100644
+--- a/lib/engine/end_device.cpp
++++ b/lib/engine/end_device.cpp
+@@ -36,6 +36,7 @@
+ #include <sys/ioctl.h>
+ #include <fcntl.h>
+ #include <linux/hdreg.h>
++#include <stdint.h>
+ #include <unistd.h>
+ #include <linux/fs.h>
+ #include <climits>
+@@ -90,20 +91,20 @@ using boost::shared_ptr;
+
+ struct AtaCommand
+ {
+- __uint8_t command;
+- __uint8_t obsolete1;
+- __uint8_t obsolete2;
+- __uint8_t transportDependent;
++ uint8_t command;
++ uint8_t obsolete1;
++ uint8_t obsolete2;
++ uint8_t transportDependent;
+ };
+
+ struct AtaIdentifyCall
+ {
+ AtaCommand command;
+- __uint16_t data[256];
++ uint16_t data[256];
+ };
+
+ namespace {
+- __uint16_t swap(__uint16_t value)
++ uint16_t swap(uint16_t value)
+ {
+ return (value >> 8) | (value << 8);
+ }
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch
new file mode 100644
index 00000000..2eeab54e
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch
@@ -0,0 +1,1409 @@
+From ef90544f8df369781a6ef094330c9cfa9f0ee1e4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 14:09:11 -0700
+Subject: [PATCH 2/4] boost: Backport clang support
+
+backport headers from boost 1.59
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/boost/config/compiler/clang.hpp | 272 +++++++++
+ lib/boost/config/stdlib/libcpp.hpp | 80 +++
+ lib/boost/cstdint.hpp | 542 ++++++++++++++++++
+ .../detail/sp_counted_base_clang.hpp | 140 +++++
+ 4 files changed, 1034 insertions(+)
+ create mode 100644 lib/boost/config/compiler/clang.hpp
+ create mode 100644 lib/boost/config/stdlib/libcpp.hpp
+ create mode 100644 lib/boost/cstdint.hpp
+ create mode 100644 lib/boost/smart_ptr/detail/sp_counted_base_clang.hpp
+
+--- /dev/null
++++ b/lib/boost/config/compiler/clang.hpp
+@@ -0,0 +1,272 @@
++
++// (C) Copyright Douglas Gregor 2010
++//
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
++
++// See http://www.boost.org for most recent version.
++
++// Clang compiler setup.
++
++#define BOOST_HAS_PRAGMA_ONCE
++
++// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
++#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
++# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
++#endif
++
++// When compiling with clang before __has_extension was defined,
++// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
++// clang reports a compiler error. So the only workaround found is:
++
++#ifndef __has_extension
++#define __has_extension __has_feature
++#endif
++
++#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
++# define BOOST_NO_EXCEPTIONS
++#endif
++
++#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
++# define BOOST_NO_RTTI
++#endif
++
++#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
++# define BOOST_NO_TYPEID
++#endif
++
++#if defined(__int64) && !defined(__GNUC__)
++# define BOOST_HAS_MS_INT64
++#endif
++
++#define BOOST_HAS_NRVO
++
++// Branch prediction hints
++#if defined(__has_builtin)
++#if __has_builtin(__builtin_expect)
++#define BOOST_LIKELY(x) __builtin_expect(x, 1)
++#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
++#endif
++#endif
++
++// Clang supports "long long" in all compilation modes.
++#define BOOST_HAS_LONG_LONG
++
++//
++// We disable this if the compiler is really nvcc as it
++// doesn't actually support __int128 as of CUDA_VERSION=5000
++// even though it defines __SIZEOF_INT128__.
++// See https://svn.boost.org/trac/boost/ticket/10418
++// Only re-enable this for nvcc if you're absolutely sure
++// of the circumstances under which it's supported:
++//
++#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
++# define BOOST_HAS_INT128
++#endif
++
++
++//
++// Dynamic shared object (DSO) and dynamic-link library (DLL) support
++//
++#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
++# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
++# define BOOST_SYMBOL_IMPORT
++# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
++#endif
++
++//
++// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
++// between switch labels.
++//
++#if __cplusplus >= 201103L && defined(__has_warning)
++# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
++# define BOOST_FALLTHROUGH [[clang::fallthrough]]
++# endif
++#endif
++
++#if !__has_feature(cxx_auto_type)
++# define BOOST_NO_CXX11_AUTO_DECLARATIONS
++# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
++#endif
++
++//
++// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
++//
++#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
++# define BOOST_NO_CXX11_CHAR16_T
++# define BOOST_NO_CXX11_CHAR32_T
++#endif
++
++#if !__has_feature(cxx_constexpr)
++# define BOOST_NO_CXX11_CONSTEXPR
++#endif
++
++#if !__has_feature(cxx_decltype)
++# define BOOST_NO_CXX11_DECLTYPE
++#endif
++
++#if !__has_feature(cxx_decltype_incomplete_return_types)
++# define BOOST_NO_CXX11_DECLTYPE_N3276
++#endif
++
++#if !__has_feature(cxx_defaulted_functions)
++# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
++#endif
++
++#if !__has_feature(cxx_deleted_functions)
++# define BOOST_NO_CXX11_DELETED_FUNCTIONS
++#endif
++
++#if !__has_feature(cxx_explicit_conversions)
++# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
++#endif
++
++#if !__has_feature(cxx_default_function_template_args)
++# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
++#endif
++
++#if !__has_feature(cxx_generalized_initializers)
++# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
++#endif
++
++#if !__has_feature(cxx_lambdas)
++# define BOOST_NO_CXX11_LAMBDAS
++#endif
++
++#if !__has_feature(cxx_local_type_template_args)
++# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
++#endif
++
++#if !__has_feature(cxx_noexcept)
++# define BOOST_NO_CXX11_NOEXCEPT
++#endif
++
++#if !__has_feature(cxx_nullptr)
++# define BOOST_NO_CXX11_NULLPTR
++#endif
++
++#if !__has_feature(cxx_range_for)
++# define BOOST_NO_CXX11_RANGE_BASED_FOR
++#endif
++
++#if !__has_feature(cxx_raw_string_literals)
++# define BOOST_NO_CXX11_RAW_LITERALS
++#endif
++
++#if !__has_feature(cxx_reference_qualified_functions)
++# define BOOST_NO_CXX11_REF_QUALIFIERS
++#endif
++
++#if !__has_feature(cxx_generalized_initializers)
++# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
++#endif
++
++#if !__has_feature(cxx_rvalue_references)
++# define BOOST_NO_CXX11_RVALUE_REFERENCES
++#endif
++
++#if !__has_feature(cxx_strong_enums)
++# define BOOST_NO_CXX11_SCOPED_ENUMS
++#endif
++
++#if !__has_feature(cxx_static_assert)
++# define BOOST_NO_CXX11_STATIC_ASSERT
++#endif
++
++#if !__has_feature(cxx_alias_templates)
++# define BOOST_NO_CXX11_TEMPLATE_ALIASES
++#endif
++
++#if !__has_feature(cxx_unicode_literals)
++# define BOOST_NO_CXX11_UNICODE_LITERALS
++#endif
++
++#if !__has_feature(cxx_variadic_templates)
++# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
++#endif
++
++#if !__has_feature(cxx_user_literals)
++# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
++#endif
++
++#if !__has_feature(cxx_alignas)
++# define BOOST_NO_CXX11_ALIGNAS
++#endif
++
++#if !__has_feature(cxx_trailing_return)
++# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
++#endif
++
++#if !__has_feature(cxx_inline_namespaces)
++# define BOOST_NO_CXX11_INLINE_NAMESPACES
++#endif
++
++#if !__has_feature(cxx_override_control)
++# define BOOST_NO_CXX11_FINAL
++#endif
++
++#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
++# define BOOST_NO_CXX14_BINARY_LITERALS
++#endif
++
++#if !__has_feature(__cxx_decltype_auto__)
++# define BOOST_NO_CXX14_DECLTYPE_AUTO
++#endif
++
++#if !__has_feature(__cxx_aggregate_nsdmi__)
++# define BOOST_NO_CXX14_AGGREGATE_NSDMI
++#endif
++
++#if !__has_feature(__cxx_init_captures__)
++# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
++#endif
++
++#if !__has_feature(__cxx_generic_lambdas__)
++# define BOOST_NO_CXX14_GENERIC_LAMBDAS
++#endif
++
++// clang < 3.5 has a defect with dependent type, like following.
++//
++// template <class T>
++// constexpr typename enable_if<pred<T> >::type foo(T &)
++// { } // error: no return statement in constexpr function
++//
++// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
++// Therefore we don't care such case.
++//
++// Note that we can't check Clang version directly as the numbering system changes depending who's
++// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
++// so instead verify that we have a feature that was introduced at the same time as working C++14
++// constexpr (generic lambda's in this case):
++//
++#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
++# define BOOST_NO_CXX14_CONSTEXPR
++#endif
++
++#if !__has_feature(__cxx_return_type_deduction__)
++# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
++#endif
++
++#if !__has_feature(__cxx_variable_templates__)
++# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
++#endif
++
++#if __cplusplus < 201400
++// All versions with __cplusplus above this value seem to support this:
++# define BOOST_NO_CXX14_DIGIT_SEPARATORS
++#endif
++
++
++// Unused attribute:
++#if defined(__GNUC__) && (__GNUC__ >= 4)
++# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
++#endif
++
++#ifndef BOOST_COMPILER
++# define BOOST_COMPILER "Clang version " __clang_version__
++#endif
++
++// Macro used to identify the Clang compiler.
++#define BOOST_CLANG 1
++
+--- /dev/null
++++ b/lib/boost/config/stdlib/libcpp.hpp
+@@ -0,0 +1,80 @@
++// (C) Copyright Christopher Jefferson 2011.
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
++
++// See http://www.boost.org for most recent version.
++
++// config for libc++
++// Might need more in here later.
++
++#if !defined(_LIBCPP_VERSION)
++# include <ciso646>
++# if !defined(_LIBCPP_VERSION)
++# error "This is not libc++!"
++# endif
++#endif
++
++#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
++
++#define BOOST_HAS_THREADS
++
++#ifdef _LIBCPP_HAS_NO_VARIADICS
++# define BOOST_NO_CXX11_HDR_TUPLE
++#endif
++
++// BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11
++// allocator model. The C++11 allocator model requires a conforming
++// std::allocator_traits which is only possible with C++11 template
++// aliases since members rebind_alloc and rebind_traits require it.
++#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES)
++# define BOOST_NO_CXX11_ALLOCATOR
++#endif
++
++#if __cplusplus < 201103
++# define BOOST_NO_CXX11_HDR_ARRAY
++# define BOOST_NO_CXX11_HDR_CODECVT
++# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
++# define BOOST_NO_CXX11_HDR_FORWARD_LIST
++# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
++# define BOOST_NO_CXX11_HDR_MUTEX
++# define BOOST_NO_CXX11_HDR_RANDOM
++# define BOOST_NO_CXX11_HDR_RATIO
++# define BOOST_NO_CXX11_HDR_REGEX
++# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
++# define BOOST_NO_CXX11_HDR_THREAD
++# define BOOST_NO_CXX11_HDR_TUPLE
++# define BOOST_NO_CXX11_HDR_TYPEINDEX
++# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
++# define BOOST_NO_CXX11_HDR_UNORDERED_SET
++# define BOOST_NO_CXX11_NUMERIC_LIMITS
++# define BOOST_NO_CXX11_ALLOCATOR
++# define BOOST_NO_CXX11_SMART_PTR
++# define BOOST_NO_CXX11_HDR_FUNCTIONAL
++# define BOOST_NO_CXX11_STD_ALIGN
++# define BOOST_NO_CXX11_ADDRESSOF
++#endif
++
++//
++// These appear to be unusable/incomplete so far:
++//
++# define BOOST_NO_CXX11_HDR_CHRONO
++# define BOOST_NO_CXX11_HDR_FUTURE
++# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
++# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
++# define BOOST_NO_CXX11_HDR_ATOMIC
++
++// libc++ uses a non-standard messages_base
++#define BOOST_NO_STD_MESSAGES
++
++#if defined(__has_include)
++#if !__has_include(<shared_mutex>)
++# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
++#elif __cplusplus <= 201103
++# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
++#endif
++#elif __cplusplus < 201402
++# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
++#endif
++
++// --- end ---
+--- /dev/null
++++ b/lib/boost/cstdint.hpp
+@@ -0,0 +1,542 @@
++// boost cstdint.hpp header file ------------------------------------------//
++
++// (C) Copyright Beman Dawes 1999.
++// (C) Copyright Jens Mauer 2001
++// (C) Copyright John Maddock 2001
++// Distributed under the Boost
++// Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
++
++// See http://www.boost.org/libs/integer for documentation.
++
++// Revision History
++// 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.)
++// 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer)
++// 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer)
++// 12 Nov 00 Merged <boost/stdint.h> (Jens Maurer)
++// 23 Sep 00 Added INTXX_C macro support (John Maddock).
++// 22 Sep 00 Better 64-bit support (John Maddock)
++// 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost
++// 8 Aug 99 Initial version (Beman Dawes)
++
++
++#ifndef BOOST_CSTDINT_HPP
++#define BOOST_CSTDINT_HPP
++
++//
++// Since we always define the INT#_C macros as per C++0x,
++// define __STDC_CONSTANT_MACROS so that <stdint.h> does the right
++// thing if possible, and so that the user knows that the macros
++// are actually defined as per C99.
++//
++#ifndef __STDC_CONSTANT_MACROS
++# define __STDC_CONSTANT_MACROS
++#endif
++
++#include <boost/config.hpp>
++
++//
++// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not
++// depending upon what headers happen to have been included first...
++// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
++// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
++//
++#if defined(BOOST_HAS_STDINT_H) \
++ && (!defined(__GLIBC__) \
++ || defined(__GLIBC_HAVE_LONG_LONG) \
++ || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
++
++// The following #include is an implementation artifact; not part of interface.
++# ifdef __hpux
++// HP-UX has a vaguely nice <stdint.h> in a non-standard location
++# include <inttypes.h>
++# ifdef __STDC_32_MODE__
++ // this is triggered with GCC, because it defines __cplusplus < 199707L
++# define BOOST_NO_INT64_T
++# endif
++# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)
++# include <inttypes.h>
++# else
++# include <stdint.h>
++
++// There is a bug in Cygwin two _C macros
++# if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__)
++# undef INTMAX_C
++# undef UINTMAX_C
++# define INTMAX_C(c) c##LL
++# define UINTMAX_C(c) c##ULL
++# endif
++
++# endif
++
++#ifdef __QNX__
++
++// QNX (Dinkumware stdlib) defines these as non-standard names.
++// Reflect to the standard names.
++
++typedef ::intleast8_t int_least8_t;
++typedef ::intfast8_t int_fast8_t;
++typedef ::uintleast8_t uint_least8_t;
++typedef ::uintfast8_t uint_fast8_t;
++
++typedef ::intleast16_t int_least16_t;
++typedef ::intfast16_t int_fast16_t;
++typedef ::uintleast16_t uint_least16_t;
++typedef ::uintfast16_t uint_fast16_t;
++
++typedef ::intleast32_t int_least32_t;
++typedef ::intfast32_t int_fast32_t;
++typedef ::uintleast32_t uint_least32_t;
++typedef ::uintfast32_t uint_fast32_t;
++
++# ifndef BOOST_NO_INT64_T
++
++typedef ::intleast64_t int_least64_t;
++typedef ::intfast64_t int_fast64_t;
++typedef ::uintleast64_t uint_least64_t;
++typedef ::uintfast64_t uint_fast64_t;
++
++# endif
++
++#endif
++
++namespace boost
++{
++
++ using ::int8_t;
++ using ::int_least8_t;
++ using ::int_fast8_t;
++ using ::uint8_t;
++ using ::uint_least8_t;
++ using ::uint_fast8_t;
++
++ using ::int16_t;
++ using ::int_least16_t;
++ using ::int_fast16_t;
++ using ::uint16_t;
++ using ::uint_least16_t;
++ using ::uint_fast16_t;
++
++ using ::int32_t;
++ using ::int_least32_t;
++ using ::int_fast32_t;
++ using ::uint32_t;
++ using ::uint_least32_t;
++ using ::uint_fast32_t;
++
++# ifndef BOOST_NO_INT64_T
++
++ using ::int64_t;
++ using ::int_least64_t;
++ using ::int_fast64_t;
++ using ::uint64_t;
++ using ::uint_least64_t;
++ using ::uint_fast64_t;
++
++# endif
++
++ using ::intmax_t;
++ using ::uintmax_t;
++
++} // namespace boost
++
++#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__)
++// FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.
++# include <inttypes.h>
++
++namespace boost {
++
++ using ::int8_t;
++ typedef int8_t int_least8_t;
++ typedef int8_t int_fast8_t;
++ using ::uint8_t;
++ typedef uint8_t uint_least8_t;
++ typedef uint8_t uint_fast8_t;
++
++ using ::int16_t;
++ typedef int16_t int_least16_t;
++ typedef int16_t int_fast16_t;
++ using ::uint16_t;
++ typedef uint16_t uint_least16_t;
++ typedef uint16_t uint_fast16_t;
++
++ using ::int32_t;
++ typedef int32_t int_least32_t;
++ typedef int32_t int_fast32_t;
++ using ::uint32_t;
++ typedef uint32_t uint_least32_t;
++ typedef uint32_t uint_fast32_t;
++
++# ifndef BOOST_NO_INT64_T
++
++ using ::int64_t;
++ typedef int64_t int_least64_t;
++ typedef int64_t int_fast64_t;
++ using ::uint64_t;
++ typedef uint64_t uint_least64_t;
++ typedef uint64_t uint_fast64_t;
++
++ typedef int64_t intmax_t;
++ typedef uint64_t uintmax_t;
++
++# else
++
++ typedef int32_t intmax_t;
++ typedef uint32_t uintmax_t;
++
++# endif
++
++} // namespace boost
++
++#else // BOOST_HAS_STDINT_H
++
++# include <boost/limits.hpp> // implementation artifact; not part of interface
++# include <limits.h> // needed for limits macros
++
++
++namespace boost
++{
++
++// These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit
++// platforms. For other systems, they will have to be hand tailored.
++//
++// Because the fast types are assumed to be the same as the undecorated types,
++// it may be possible to hand tailor a more efficient implementation. Such
++// an optimization may be illusionary; on the Intel x86-family 386 on, for
++// example, byte arithmetic and load/stores are as fast as "int" sized ones.
++
++// 8-bit types ------------------------------------------------------------//
++
++# if UCHAR_MAX == 0xff
++ typedef signed char int8_t;
++ typedef signed char int_least8_t;
++ typedef signed char int_fast8_t;
++ typedef unsigned char uint8_t;
++ typedef unsigned char uint_least8_t;
++ typedef unsigned char uint_fast8_t;
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++// 16-bit types -----------------------------------------------------------//
++
++# if USHRT_MAX == 0xffff
++# if defined(__crayx1)
++ // The Cray X1 has a 16-bit short, however it is not recommend
++ // for use in performance critical code.
++ typedef short int16_t;
++ typedef short int_least16_t;
++ typedef int int_fast16_t;
++ typedef unsigned short uint16_t;
++ typedef unsigned short uint_least16_t;
++ typedef unsigned int uint_fast16_t;
++# else
++ typedef short int16_t;
++ typedef short int_least16_t;
++ typedef short int_fast16_t;
++ typedef unsigned short uint16_t;
++ typedef unsigned short uint_least16_t;
++ typedef unsigned short uint_fast16_t;
++# endif
++# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__)
++ // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified
++ // MTA / XMT does support the following non-standard integer types
++ typedef __short16 int16_t;
++ typedef __short16 int_least16_t;
++ typedef __short16 int_fast16_t;
++ typedef unsigned __short16 uint16_t;
++ typedef unsigned __short16 uint_least16_t;
++ typedef unsigned __short16 uint_fast16_t;
++# elif (USHRT_MAX == 0xffffffff) && defined(CRAY)
++ // no 16-bit types on Cray:
++ typedef short int_least16_t;
++ typedef short int_fast16_t;
++ typedef unsigned short uint_least16_t;
++ typedef unsigned short uint_fast16_t;
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++// 32-bit types -----------------------------------------------------------//
++
++# if UINT_MAX == 0xffffffff
++ typedef int int32_t;
++ typedef int int_least32_t;
++ typedef int int_fast32_t;
++ typedef unsigned int uint32_t;
++ typedef unsigned int uint_least32_t;
++ typedef unsigned int uint_fast32_t;
++# elif (USHRT_MAX == 0xffffffff)
++ typedef short int32_t;
++ typedef short int_least32_t;
++ typedef short int_fast32_t;
++ typedef unsigned short uint32_t;
++ typedef unsigned short uint_least32_t;
++ typedef unsigned short uint_fast32_t;
++# elif ULONG_MAX == 0xffffffff
++ typedef long int32_t;
++ typedef long int_least32_t;
++ typedef long int_fast32_t;
++ typedef unsigned long uint32_t;
++ typedef unsigned long uint_least32_t;
++ typedef unsigned long uint_fast32_t;
++# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)
++ // Integers are 64 bits on the MTA / XMT
++ typedef __int32 int32_t;
++ typedef __int32 int_least32_t;
++ typedef __int32 int_fast32_t;
++ typedef unsigned __int32 uint32_t;
++ typedef unsigned __int32 uint_least32_t;
++ typedef unsigned __int32 uint_fast32_t;
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++// 64-bit types + intmax_t and uintmax_t ----------------------------------//
++
++# if defined(BOOST_HAS_LONG_LONG) && \
++ !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \
++ (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \
++ (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
++# if defined(__hpux)
++ // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
++# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL)
++ // 2**64 - 1
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++ typedef ::boost::long_long_type intmax_t;
++ typedef ::boost::ulong_long_type uintmax_t;
++ typedef ::boost::long_long_type int64_t;
++ typedef ::boost::long_long_type int_least64_t;
++ typedef ::boost::long_long_type int_fast64_t;
++ typedef ::boost::ulong_long_type uint64_t;
++ typedef ::boost::ulong_long_type uint_least64_t;
++ typedef ::boost::ulong_long_type uint_fast64_t;
++
++# elif ULONG_MAX != 0xffffffff
++
++# if ULONG_MAX == 18446744073709551615 // 2**64 - 1
++ typedef long intmax_t;
++ typedef unsigned long uintmax_t;
++ typedef long int64_t;
++ typedef long int_least64_t;
++ typedef long int_fast64_t;
++ typedef unsigned long uint64_t;
++ typedef unsigned long uint_least64_t;
++ typedef unsigned long uint_fast64_t;
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG)
++ __extension__ typedef long long intmax_t;
++ __extension__ typedef unsigned long long uintmax_t;
++ __extension__ typedef long long int64_t;
++ __extension__ typedef long long int_least64_t;
++ __extension__ typedef long long int_fast64_t;
++ __extension__ typedef unsigned long long uint64_t;
++ __extension__ typedef unsigned long long uint_least64_t;
++ __extension__ typedef unsigned long long uint_fast64_t;
++# elif defined(BOOST_HAS_MS_INT64)
++ //
++ // we have Borland/Intel/Microsoft __int64:
++ //
++ typedef __int64 intmax_t;
++ typedef unsigned __int64 uintmax_t;
++ typedef __int64 int64_t;
++ typedef __int64 int_least64_t;
++ typedef __int64 int_fast64_t;
++ typedef unsigned __int64 uint64_t;
++ typedef unsigned __int64 uint_least64_t;
++ typedef unsigned __int64 uint_fast64_t;
++# else // assume no 64-bit integers
++# define BOOST_NO_INT64_T
++ typedef int32_t intmax_t;
++ typedef uint32_t uintmax_t;
++# endif
++
++} // namespace boost
++
++
++#endif // BOOST_HAS_STDINT_H
++
++// intptr_t/uintptr_t are defined separately because they are optional and not universally available
++#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H)
++// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h
++#include <stddef.h>
++#endif
++
++// PGI seems to not support intptr_t/uintptr_t properly. BOOST_HAS_STDINT_H is not defined for this compiler by Boost.Config.
++#if !defined(__PGIC__)
++
++#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \
++ || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \
++ || defined(__CYGWIN__) \
++ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
++ || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(sun)
++
++namespace boost {
++ using ::intptr_t;
++ using ::uintptr_t;
++}
++#define BOOST_HAS_INTPTR_T
++
++// Clang pretends to be GCC, so it'll match this condition
++#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
++
++namespace boost {
++ typedef __INTPTR_TYPE__ intptr_t;
++ typedef __UINTPTR_TYPE__ uintptr_t;
++}
++#define BOOST_HAS_INTPTR_T
++
++#endif
++
++#endif // !defined(__PGIC__)
++
++#endif // BOOST_CSTDINT_HPP
++
++
++/****************************************************
++
++Macro definition section:
++
++Added 23rd September 2000 (John Maddock).
++Modified 11th September 2001 to be excluded when
++BOOST_HAS_STDINT_H is defined (John Maddock).
++Modified 11th Dec 2009 to always define the
++INT#_C macros if they're not already defined (John Maddock).
++
++******************************************************/
++
++#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
++ (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
++//
++// For the following code we get several warnings along the lines of:
++//
++// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
++//
++// So we declare this a system header to suppress these warnings.
++//
++#if defined(__GNUC__) && (__GNUC__ >= 4)
++#pragma GCC system_header
++#endif
++
++#include <limits.h>
++# define BOOST__STDC_CONSTANT_MACROS_DEFINED
++# if defined(BOOST_HAS_MS_INT64)
++//
++// Borland/Intel/Microsoft compilers have width specific suffixes:
++//
++#ifndef INT8_C
++# define INT8_C(value) value##i8
++#endif
++#ifndef INT16_C
++# define INT16_C(value) value##i16
++#endif
++#ifndef INT32_C
++# define INT32_C(value) value##i32
++#endif
++#ifndef INT64_C
++# define INT64_C(value) value##i64
++#endif
++# ifdef __BORLANDC__
++ // Borland bug: appending ui8 makes the type a signed char
++# define UINT8_C(value) static_cast<unsigned char>(value##u)
++# else
++# define UINT8_C(value) value##ui8
++# endif
++#ifndef UINT16_C
++# define UINT16_C(value) value##ui16
++#endif
++#ifndef UINT32_C
++# define UINT32_C(value) value##ui32
++#endif
++#ifndef UINT64_C
++# define UINT64_C(value) value##ui64
++#endif
++#ifndef INTMAX_C
++# define INTMAX_C(value) value##i64
++# define UINTMAX_C(value) value##ui64
++#endif
++
++# else
++// do it the old fashioned way:
++
++// 8-bit types ------------------------------------------------------------//
++
++# if (UCHAR_MAX == 0xff) && !defined(INT8_C)
++# define INT8_C(value) static_cast<boost::int8_t>(value)
++# define UINT8_C(value) static_cast<boost::uint8_t>(value##u)
++# endif
++
++// 16-bit types -----------------------------------------------------------//
++
++# if (USHRT_MAX == 0xffff) && !defined(INT16_C)
++# define INT16_C(value) static_cast<boost::int16_t>(value)
++# define UINT16_C(value) static_cast<boost::uint16_t>(value##u)
++# endif
++
++// 32-bit types -----------------------------------------------------------//
++#ifndef INT32_C
++# if (UINT_MAX == 0xffffffff)
++# define INT32_C(value) value
++# define UINT32_C(value) value##u
++# elif ULONG_MAX == 0xffffffff
++# define INT32_C(value) value##L
++# define UINT32_C(value) value##uL
++# endif
++#endif
++
++// 64-bit types + intmax_t and uintmax_t ----------------------------------//
++#ifndef INT64_C
++# if defined(BOOST_HAS_LONG_LONG) && \
++ (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX))
++
++# if defined(__hpux)
++ // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
++# define INT64_C(value) value##LL
++# define UINT64_C(value) value##uLL
++# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \
++ (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \
++ (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \
++ (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \
++ (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL)
++
++# define INT64_C(value) value##LL
++# define UINT64_C(value) value##uLL
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++# elif ULONG_MAX != 0xffffffff
++
++# if ULONG_MAX == 18446744073709551615U // 2**64 - 1
++# define INT64_C(value) value##L
++# define UINT64_C(value) value##uL
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++# elif defined(BOOST_HAS_LONG_LONG)
++ // Usual macros not defined, work things out for ourselves:
++# if(~0uLL == 18446744073709551615ULL)
++# define INT64_C(value) value##LL
++# define UINT64_C(value) value##uLL
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++# ifdef BOOST_NO_INT64_T
++# define INTMAX_C(value) INT32_C(value)
++# define UINTMAX_C(value) UINT32_C(value)
++# else
++# define INTMAX_C(value) INT64_C(value)
++# define UINTMAX_C(value) UINT64_C(value)
++# endif
++#endif
++# endif // Borland/Microsoft specific width suffixes
++
++#endif // INT#_C macros.
+--- /dev/null
++++ b/lib/boost/smart_ptr/detail/sp_counted_base_clang.hpp
+@@ -0,0 +1,140 @@
++#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
++#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
++
++// MS compatible compilers support #pragma once
++
++#if defined(_MSC_VER) && (_MSC_VER >= 1020)
++# pragma once
++#endif
++
++// detail/sp_counted_base_clang.hpp - __c11 clang intrinsics
++//
++// Copyright (c) 2007, 2013, 2015 Peter Dimov
++//
++// Distributed under the Boost Software License, Version 1.0.
++// See accompanying file LICENSE_1_0.txt or copy at
++// http://www.boost.org/LICENSE_1_0.txt
++
++#include <boost/detail/sp_typeinfo.hpp>
++#include <boost/cstdint.hpp>
++
++namespace boost
++{
++
++namespace detail
++{
++
++typedef _Atomic( boost::int_least32_t ) atomic_int_least32_t;
++
++inline void atomic_increment( atomic_int_least32_t * pw )
++{
++ __c11_atomic_fetch_add( pw, 1, __ATOMIC_RELAXED );
++}
++
++inline boost::int_least32_t atomic_decrement( atomic_int_least32_t * pw )
++{
++ return __c11_atomic_fetch_sub( pw, 1, __ATOMIC_ACQ_REL );
++}
++
++inline boost::int_least32_t atomic_conditional_increment( atomic_int_least32_t * pw )
++{
++ // long r = *pw;
++ // if( r != 0 ) ++*pw;
++ // return r;
++
++ boost::int_least32_t r = __c11_atomic_load( pw, __ATOMIC_RELAXED );
++
++ for( ;; )
++ {
++ if( r == 0 )
++ {
++ return r;
++ }
++
++ if( __c11_atomic_compare_exchange_weak( pw, &r, r + 1, __ATOMIC_RELAXED, __ATOMIC_RELAXED ) )
++ {
++ return r;
++ }
++ }
++}
++
++class sp_counted_base
++{
++private:
++
++ sp_counted_base( sp_counted_base const & );
++ sp_counted_base & operator= ( sp_counted_base const & );
++
++ atomic_int_least32_t use_count_; // #shared
++ atomic_int_least32_t weak_count_; // #weak + (#shared != 0)
++
++public:
++
++ sp_counted_base()
++ {
++ __c11_atomic_init( &use_count_, 1 );
++ __c11_atomic_init( &weak_count_, 1 );
++ }
++
++ virtual ~sp_counted_base() // nothrow
++ {
++ }
++
++ // dispose() is called when use_count_ drops to zero, to release
++ // the resources managed by *this.
++
++ virtual void dispose() = 0; // nothrow
++
++ // destroy() is called when weak_count_ drops to zero.
++
++ virtual void destroy() // nothrow
++ {
++ delete this;
++ }
++
++ virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
++ virtual void * get_untyped_deleter() = 0;
++
++ void add_ref_copy()
++ {
++ atomic_increment( &use_count_ );
++ }
++
++ bool add_ref_lock() // true on success
++ {
++ return atomic_conditional_increment( &use_count_ ) != 0;
++ }
++
++ void release() // nothrow
++ {
++ if( atomic_decrement( &use_count_ ) == 1 )
++ {
++ dispose();
++ weak_release();
++ }
++ }
++
++ void weak_add_ref() // nothrow
++ {
++ atomic_increment( &weak_count_ );
++ }
++
++ void weak_release() // nothrow
++ {
++ if( atomic_decrement( &weak_count_ ) == 1 )
++ {
++ destroy();
++ }
++ }
++
++ long use_count() const // nothrow
++ {
++ return __c11_atomic_load( const_cast< atomic_int_least32_t* >( &use_count_ ), __ATOMIC_ACQUIRE );
++ }
++};
++
++} // namespace detail
++
++} // namespace boost
++
++#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
+--- /dev/null
++++ b/lib/boost/smart_ptr/detail/sp_counted_base_sync.hpp
+@@ -0,0 +1,156 @@
++#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
++#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
++
++// MS compatible compilers support #pragma once
++
++#if defined(_MSC_VER) && (_MSC_VER >= 1020)
++# pragma once
++#endif
++
++// detail/sp_counted_base_sync.hpp - g++ 4.1+ __sync intrinsics
++//
++// Copyright (c) 2007 Peter Dimov
++//
++// Distributed under the Boost Software License, Version 1.0.
++// See accompanying file LICENSE_1_0.txt or copy at
++// http://www.boost.org/LICENSE_1_0.txt
++
++#include <boost/detail/sp_typeinfo.hpp>
++#include <limits.h>
++
++#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
++# include <ia64intrin.h>
++#endif
++
++namespace boost
++{
++
++namespace detail
++{
++
++#if INT_MAX >= 2147483647
++
++typedef int sp_int32_t;
++
++#else
++
++typedef long sp_int32_t;
++
++#endif
++
++inline void atomic_increment( sp_int32_t * pw )
++{
++ __sync_fetch_and_add( pw, 1 );
++}
++
++inline sp_int32_t atomic_decrement( sp_int32_t * pw )
++{
++ return __sync_fetch_and_add( pw, -1 );
++}
++
++inline sp_int32_t atomic_conditional_increment( sp_int32_t * pw )
++{
++ // long r = *pw;
++ // if( r != 0 ) ++*pw;
++ // return r;
++
++ sp_int32_t r = *pw;
++
++ for( ;; )
++ {
++ if( r == 0 )
++ {
++ return r;
++ }
++
++ sp_int32_t r2 = __sync_val_compare_and_swap( pw, r, r + 1 );
++
++ if( r2 == r )
++ {
++ return r;
++ }
++ else
++ {
++ r = r2;
++ }
++ }
++}
++
++class sp_counted_base
++{
++private:
++
++ sp_counted_base( sp_counted_base const & );
++ sp_counted_base & operator= ( sp_counted_base const & );
++
++ sp_int32_t use_count_; // #shared
++ sp_int32_t weak_count_; // #weak + (#shared != 0)
++
++public:
++
++ sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
++ {
++ }
++
++ virtual ~sp_counted_base() // nothrow
++ {
++ }
++
++ // dispose() is called when use_count_ drops to zero, to release
++ // the resources managed by *this.
++
++ virtual void dispose() = 0; // nothrow
++
++ // destroy() is called when weak_count_ drops to zero.
++
++ virtual void destroy() // nothrow
++ {
++ delete this;
++ }
++
++ virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
++ virtual void * get_untyped_deleter() = 0;
++
++ void add_ref_copy()
++ {
++ atomic_increment( &use_count_ );
++ }
++
++ bool add_ref_lock() // true on success
++ {
++ return atomic_conditional_increment( &use_count_ ) != 0;
++ }
++
++ void release() // nothrow
++ {
++ if( atomic_decrement( &use_count_ ) == 1 )
++ {
++ dispose();
++ weak_release();
++ }
++ }
++
++ void weak_add_ref() // nothrow
++ {
++ atomic_increment( &weak_count_ );
++ }
++
++ void weak_release() // nothrow
++ {
++ if( atomic_decrement( &weak_count_ ) == 1 )
++ {
++ destroy();
++ }
++ }
++
++ long use_count() const // nothrow
++ {
++ return const_cast< sp_int32_t const volatile & >( use_count_ );
++ }
++};
++
++} // namespace detail
++
++} // namespace boost
++
++#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
+--- /dev/null
++++ b/lib/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+@@ -0,0 +1,182 @@
++#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
++#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
++
++// MS compatible compilers support #pragma once
++
++#if defined(_MSC_VER) && (_MSC_VER >= 1020)
++# pragma once
++#endif
++
++//
++// detail/sp_counted_base_gcc_mips.hpp - g++ on MIPS
++//
++// Copyright (c) 2009, Spirent Communications, Inc.
++//
++// Distributed under the Boost Software License, Version 1.0. (See
++// accompanying file LICENSE_1_0.txt or copy at
++// http://www.boost.org/LICENSE_1_0.txt)
++//
++//
++// Lock-free algorithm by Alexander Terekhov
++//
++
++#include <boost/detail/sp_typeinfo.hpp>
++
++namespace boost
++{
++
++namespace detail
++{
++
++inline void atomic_increment( int * pw )
++{
++ // ++*pw;
++
++ int tmp;
++
++ __asm__ __volatile__
++ (
++ "0:\n\t"
++ ".set push\n\t"
++ ".set mips2\n\t"
++ "ll %0, %1\n\t"
++ "addiu %0, 1\n\t"
++ "sc %0, %1\n\t"
++ ".set pop\n\t"
++ "beqz %0, 0b":
++ "=&r"( tmp ), "=m"( *pw ):
++ "m"( *pw )
++ );
++}
++
++inline int atomic_decrement( int * pw )
++{
++ // return --*pw;
++
++ int rv, tmp;
++
++ __asm__ __volatile__
++ (
++ "0:\n\t"
++ ".set push\n\t"
++ ".set mips2\n\t"
++ "ll %1, %2\n\t"
++ "addiu %0, %1, -1\n\t"
++ "sc %0, %2\n\t"
++ ".set pop\n\t"
++ "beqz %0, 0b\n\t"
++ "addiu %0, %1, -1":
++ "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
++ "m"( *pw ):
++ "memory"
++ );
++
++ return rv;
++}
++
++inline int atomic_conditional_increment( int * pw )
++{
++ // if( *pw != 0 ) ++*pw;
++ // return *pw;
++
++ int rv, tmp;
++
++ __asm__ __volatile__
++ (
++ "0:\n\t"
++ ".set push\n\t"
++ ".set mips2\n\t"
++ "ll %0, %2\n\t"
++ "beqz %0, 1f\n\t"
++ "addiu %1, %0, 1\n\t"
++ "sc %1, %2\n\t"
++ ".set pop\n\t"
++ "beqz %1, 0b\n\t"
++ "addiu %0, %0, 1\n\t"
++ "1:":
++ "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
++ "m"( *pw ):
++ "memory"
++ );
++
++ return rv;
++}
++
++class sp_counted_base
++{
++private:
++
++ sp_counted_base( sp_counted_base const & );
++ sp_counted_base & operator= ( sp_counted_base const & );
++
++ int use_count_; // #shared
++ int weak_count_; // #weak + (#shared != 0)
++
++public:
++
++ sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
++ {
++ }
++
++ virtual ~sp_counted_base() // nothrow
++ {
++ }
++
++ // dispose() is called when use_count_ drops to zero, to release
++ // the resources managed by *this.
++
++ virtual void dispose() = 0; // nothrow
++
++ // destroy() is called when weak_count_ drops to zero.
++
++ virtual void destroy() // nothrow
++ {
++ delete this;
++ }
++
++ virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
++ virtual void * get_untyped_deleter() = 0;
++
++ void add_ref_copy()
++ {
++ atomic_increment( &use_count_ );
++ }
++
++ bool add_ref_lock() // true on success
++ {
++ return atomic_conditional_increment( &use_count_ ) != 0;
++ }
++
++ void release() // nothrow
++ {
++ if( atomic_decrement( &use_count_ ) == 0 )
++ {
++ dispose();
++ weak_release();
++ }
++ }
++
++ void weak_add_ref() // nothrow
++ {
++ atomic_increment( &weak_count_ );
++ }
++
++ void weak_release() // nothrow
++ {
++ if( atomic_decrement( &weak_count_ ) == 0 )
++ {
++ destroy();
++ }
++ }
++
++ long use_count() const // nothrow
++ {
++ return static_cast<int const volatile &>( use_count_ );
++ }
++};
++
++} // namespace detail
++
++} // namespace boost
++
++#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch
deleted file mode 100644
index 98cd40c8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 781288d6307002cce70ddafb6efb200b7f60294d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:12:43 -0700
-Subject: [PATCH 3/6] Replace canonicalize_file_name with realpath() API
-
-Fixed build on musl where canonicalize_file_name is not implemented
-
-filesystem.cpp:46:15: error: 'canonicalize_file_name' was not declared in this scope
- char *p = canonicalize_file_name(path);
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/engine/filesystem.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/engine/filesystem.cpp b/lib/engine/filesystem.cpp
-index b99257e..6064837 100644
---- a/lib/engine/filesystem.cpp
-+++ b/lib/engine/filesystem.cpp
-@@ -43,7 +43,7 @@ void CanonicalPath::__canonicalize_path_name(const char *path)
- if (path == 0) {
- throw E_NULL_POINTER;
- }
-- char *p = canonicalize_file_name(path);
-+ char *p = realpath(path, NULL);
- assign(p);
- if (p) {
- free(p);
---
-2.13.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch
new file mode 100644
index 00000000..26135845
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch
@@ -0,0 +1,47 @@
+From 24e0f55c07080a59907c190a315e279f7b2355e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 14:25:02 -0700
+Subject: [PATCH 3/4] engine: Define discover(const String &path) in base class
+
+this fixes the confusion that compiler may have when inheriting two
+different classes where each of them defines discover() virtual function
+but with different signatures
+
+Remove ununsed orom_vmd
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/storage_object.h | 3 +++
+ lib/engine/vmd_raid_info.h | 2 --
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/engine/storage_object.h b/lib/engine/storage_object.h
+index f1feb62..9c1d3d8 100644
+--- a/lib/engine/storage_object.h
++++ b/lib/engine/storage_object.h
+@@ -123,6 +123,9 @@ public:
+ virtual void discover() {
+ throw E_INVALID_OPERATION;
+ }
++ virtual void discover(const String &path) {
++ throw E_INVALID_OPERATION;
++ }
+ virtual void addToSession(const boost::shared_ptr<Session>& pSession) = 0;
+ };
+
+diff --git a/lib/engine/vmd_raid_info.h b/lib/engine/vmd_raid_info.h
+index 2bea839..cc6ffbe 100644
+--- a/lib/engine/vmd_raid_info.h
++++ b/lib/engine/vmd_raid_info.h
+@@ -53,8 +53,6 @@ public:
+ return SSI_ControllerTypeVMD;
+ }
+
+-private:
+- struct orom_info orom_vmd;
+ };
+
+ #endif /* __VMD_RAID_INFO_H__INCLUDED__ */
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch
new file mode 100644
index 00000000..848d38b2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch
@@ -0,0 +1,43 @@
+From c817db76bb63b872fe2069e3c2449ac18affe8c1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:17:38 -0700
+Subject: [PATCH] replace canonicalize_file_name with realpath
+
+Use 'realpath()' (BSD, POSIX) instead of
+'canonicalize_file_name()' (GNU extension).
+
+Fixes
+error: use of undeclared identifier 'canonicalize_file_name'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/filesystem.cpp | 2 +-
+ tools/ssieventmonitor.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/engine/filesystem.cpp b/lib/engine/filesystem.cpp
+index bf5a776..194ab8a 100644
+--- a/lib/engine/filesystem.cpp
++++ b/lib/engine/filesystem.cpp
+@@ -54,7 +54,7 @@ void CanonicalPath::__canonicalize_path_name(const char *path)
+ if (path == NULL) {
+ throw E_NULL_POINTER;
+ }
+- char *p = canonicalize_file_name(path);
++ char *p = realpath(path, (char *)0);
+ assign(p);
+ if (p) {
+ free(p);
+diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
+index 80791fd..3eed877 100644
+--- a/tools/ssieventmonitor.cpp
++++ b/tools/ssieventmonitor.cpp
+@@ -120,7 +120,7 @@ static int _exec_ssimsg(void)
+ int status;
+ switch (pid) {
+ case 0: {
+- cp = canonicalize_file_name("/proc/self/exe");
++ cp = realpath("/proc/self/exe", (char *)0);
+ if (cp) {
+ strcpy_s(buffer, sizeof(buffer), cp);
+ free(cp);
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch
new file mode 100644
index 00000000..ca2ffc56
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch
@@ -0,0 +1,33 @@
+From 98fad8128d0f3b65619827ee5d65f7767b080c4c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 14:35:16 -0700
+Subject: [PATCH 4/4] Do not override flags coming from build environment
+
+e.g. we need some optimization level turned on when security flags are enabled
+without this change, the build would fail
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 34e41ea..9bd0fe3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -16,9 +16,9 @@ AM_INIT_AUTOMAKE(ssi, ${VERSION})
+ AM_CONFIG_HEADER(config.h)
+
+ dnl Set the language we use
+-CPPFLAGS="-g3 -gdwarf-2 -Wall -Werror -fvisibility=hidden -D_GNU_SOURCE -O3 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
+-CFLAGS="-std=gnu99 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
+-CXXFLAGS="-std=gnu++98 -fvisibility-inlines-hidden -O3 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
++#CPPFLAGS="-g3 -gdwarf-2 -Wall -Werror -fvisibility=hidden -D_GNU_SOURCE -O3 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
++#CFLAGS="-std=gnu99 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
++#CXXFLAGS="-std=gnu++98 -fvisibility-inlines-hidden -O3 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
+
+ dnl Automake 1.11 - silent build rules
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch
deleted file mode 100644
index 7dce0da4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 04e8b99d8195a0e39982ecd27802421610633724 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:18:31 -0700
-Subject: [PATCH 4/6] engine: Fix indentation and missing semi-colon
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/engine/mdadm_config.cpp | 5 +++--
- lib/engine/unique_id_manager.cpp | 2 +-
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/lib/engine/mdadm_config.cpp b/lib/engine/mdadm_config.cpp
-index 1914ddc..e40c2c7 100644
---- a/lib/engine/mdadm_config.cpp
-+++ b/lib/engine/mdadm_config.cpp
-@@ -118,9 +118,10 @@ void check_configuration()
- attr >> config;
- configOk = correct_config(config);
- } catch (Exception ex) {
-- if (ex != E_NOT_FOUND)
-+ if (ex != E_NOT_FOUND) {
- dlog("Warning: mdadm config file cannot be read, new one will be written");
- backup = false;
-+ }
- }
-
- if (configOk && monitor_running()) {
-@@ -134,7 +135,7 @@ void check_configuration()
- dlog("Warning: failed to update mdadm.conf");
- }
- if (restart_monitor() == 0)
-- dlog("Monitor restarted successfully")
-+ dlog("Monitor restarted successfully");
- else
- dlog("Error starting Monitor");
- }
-diff --git a/lib/engine/unique_id_manager.cpp b/lib/engine/unique_id_manager.cpp
-index 99c153c..87d6ddc 100644
---- a/lib/engine/unique_id_manager.cpp
-+++ b/lib/engine/unique_id_manager.cpp
-@@ -185,7 +185,7 @@ void UniqueIdManager::refresh()
- keyFile >> keyList;
- keyList += "\n";
- } catch (...) {
-- dlog("ssi.keys file missing")
-+ dlog("ssi.keys file missing");
- /* no file? that's ok */
- }
- /* process the list to update IdCaches */
---
-2.13.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch
new file mode 100644
index 00000000..d63eb506
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch
@@ -0,0 +1,25 @@
+From e90101128dfe75b9b1a0575a0179d211f677e6ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:19:50 -0700
+Subject: [PATCH] include limits.h
+
+Fixes
+error: use of undeclared identifier 'PATH_MAX'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/ssieventmonitor.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
+index 3eed877..0d11975 100644
+--- a/tools/ssieventmonitor.cpp
++++ b/tools/ssieventmonitor.cpp
+@@ -34,6 +34,7 @@
+ #include <unistd.h>
+ #include <dirent.h>
+ #include <errno.h>
++#include <limits.h>
+ #include <sys/fcntl.h>
+ #include <sys/select.h>
+ #include <sys/wait.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch
new file mode 100644
index 00000000..c516f652
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch
@@ -0,0 +1,228 @@
+From 3ec4eaf1688e413e8b5cb433148a3bc6e7987606 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 15:10:03 -0700
+Subject: [PATCH] enable out of source tree builds
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/efi/Makefile.am | 2 +-
+ lib/engine/Makefile.am | 2 +-
+ lib/orom/Makefile.am | 2 +-
+ lib/safeclib/Makefile.am | 2 +-
+ src/Makefile.am | 16 ++++++++--------
+ tools/Makefile.am | 10 +++++-----
+ ut/Makefile.am | 36 ++++++++++++++++++------------------
+ 7 files changed, 35 insertions(+), 35 deletions(-)
+
+--- a/lib/efi/Makefile.am
++++ b/lib/efi/Makefile.am
+@@ -7,6 +7,6 @@ libefi_la_SOURCES = \
+ efi.h
+
+ libefi_la_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+--- a/lib/engine/Makefile.am
++++ b/lib/engine/Makefile.am
+@@ -123,6 +123,7 @@ libengine_la_SOURCES = \
+ volume.h
+
+ libengine_la_CPPFLAGS = \
++ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+--- a/lib/orom/Makefile.am
++++ b/lib/orom/Makefile.am
+@@ -7,6 +7,6 @@ liborom_la_SOURCES = \
+ orom.h
+
+ liborom_la_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+--- a/lib/safeclib/Makefile.am
++++ b/lib/safeclib/Makefile.am
+@@ -37,7 +37,7 @@ libsafec_la_SOURCES = \
+ strtok_s.c
+
+ libsafec_la_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
+ -Wno-unused-variable
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = nostdinc
+ lib_LTLIBRARIES = libssi.la
+
+ libssi_la_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
+ -DBOOST_NO_USER_CONFIG
+@@ -46,10 +46,10 @@ libssi_la_SOURCES =
+ templates.h \
+ volume.cpp
+
+-libssi_la_LIBADD = \
+- ../lib/efi/libefi.la \
+- ../lib/log/liblog.la \
+- ../lib/orom/liborom.la \
+- ../lib/mpb/libmpb.la \
+- ../lib/engine/libengine.la \
+- ../lib/safeclib/libsafec.la
++libssi_la_LIBADD = \
++ $(top_builddir)/lib/efi/libefi.la \
++ $(top_builddir)/lib/log/liblog.la \
++ $(top_builddir)/lib/orom/liborom.la \
++ $(top_builddir)/lib/mpb/libmpb.la \
++ $(top_builddir)/lib/engine/libengine.la \
++ $(top_builddir)/lib/safeclib/libsafec.la
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -6,17 +6,18 @@ ssimsg_SOURCES =
+ ssimsg.cpp
+
+ ssimsg_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+
+-ssieventmonitor_SOURCES = \
++ssieventmonitor_SOURCES = \
+ ssieventmonitor.cpp
+
+-ssieventmonitor_CPPFLAGS = \
++ssieventmonitor_CPPFLAGS = \
++ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+
+ ssieventmonitor_LDADD = \
+- $(top_srcdir)/lib/safeclib/libsafec.la
++ $(top_builddir)/lib/safeclib/libsafec.la
+--- a/ut/Makefile.am
++++ b/ut/Makefile.am
+@@ -8,81 +8,81 @@ ut_events_SOURCES = \
+ ut_events.cpp
+
+ ut_events_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_events_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_volume_SOURCES = \
+ ut_volume.cpp
+
+ ut_volume_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_volume_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_session_SOURCES = \
+ ut_session.cpp
+
+ ut_session_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_session_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_info_SOURCES = \
+ ut_info.cpp
+
+ ut_info_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_info_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_markasspare_SOURCES = \
+ ut_markasspare.cpp
+
+ ut_markasspare_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_markasspare_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_migration_SOURCES = \
+ ut_migration.cpp
+
+ ut_migration_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_migration_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_phy_SOURCES = \
+ ut_phy.cpp
+
+ ut_phy_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_phy_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_initialize_volume_SOURCES = \
+ ut_initialize_volume.cpp
+
+ ut_initialize_volume_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_initialize_volume_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_filesystem_SOURCES = \
+ ut_filesystem.cpp \
+@@ -92,7 +92,7 @@ ut_filesystem_SOURCES = \
+
+ ut_filesystem_CPPFLAGS = \
+ -iquote $(top_srcdir)/lib/engine \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_string_SOURCES = \
+@@ -103,6 +103,6 @@ ut_string_SOURCES = \
+
+ ut_string_CPPFLAGS = \
+ -iquote $(top_srcdir)/lib/engine \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch
deleted file mode 100644
index 6f4dbf18..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a2e3a2e332c406ea3c56a8d74b61978107df68e6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:23:08 -0700
-Subject: [PATCH 5/6] engine: Define SENTINEL
-
-Fix warnings with gcc7
-test.cpp:12: warning: missing sentinel in function call
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/engine/utils.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/engine/utils.cpp b/lib/engine/utils.cpp
-index 44579a1..8812a8c 100644
---- a/lib/engine/utils.cpp
-+++ b/lib/engine/utils.cpp
-@@ -35,7 +35,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- #include "filesystem.h"
- #include "utils.h"
- #include "log/log.h"
--
-+#define SENTINEL (const char *)0
- /**
- * @brief capture shell output as binary data
- *
-@@ -139,7 +139,7 @@ int shell(const String &s)
- * Before switching into new executable close all non standard
- * file handlers.*/
- close_parent_fds();
-- execl("/bin/sh", "sh", "-c", cmd.get(), NULL);
-+ execl("/bin/sh", "sh", "-c", cmd.get(), SENTINEL);
- /* If we're here then execl failed*/
- exit(-1);
- break;
---
-2.13.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch
deleted file mode 100644
index a7b70e3f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From df1d56d6b6a6b15d0137619eb8a4b623de6c9633 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:28:59 -0700
-Subject: [PATCH 6/6] tools: Add missing includes and use realpath() instead of
- canonicalize_file_name
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tools/ssieventmonitor.cpp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
-index 0553386..f04b8f0 100644
---- a/tools/ssieventmonitor.cpp
-+++ b/tools/ssieventmonitor.cpp
-@@ -18,7 +18,9 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- #include <unistd.h>
- #include <dirent.h>
- #include <errno.h>
--#include <sys/fcntl.h>
-+#include <limits.h>
-+#include <fcntl.h>
-+#include <libgen.h>
- #include <sys/select.h>
- #include <sys/wait.h>
- #include <sys/inotify.h>
-@@ -99,7 +101,7 @@ static int _exec_ssimsg(void)
- int status;
- switch (pid) {
- case 0: {
-- cp = canonicalize_file_name("/proc/self/exe");
-+ cp = realpath("/proc/self/exe", NULL);
- if (cp) {
- strcpy(buffer, cp);
- free(cp);
---
-2.13.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch
deleted file mode 100644
index d45be590..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Do not override flags thereby respect the flags coming from environment,
-e.g. we need some optimization level turned on when security flags are enabled
-without this change, the build would fail
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: ssiapi.1.0.1/configure.ac
-===================================================================
---- ssiapi.1.0.1.orig/configure.ac
-+++ ssiapi.1.0.1/configure.ac
-@@ -15,11 +15,6 @@ AC_SUBST(VERSION)
- AM_INIT_AUTOMAKE(ssi, ${VERSION})
- AM_CONFIG_HEADER(config.h)
-
--dnl Set the language we use
--CPPFLAGS="-g3 -gdwarf-2 -Wall -Werror -D_GNU_SOURCE"
--CFLAGS="-std=gnu99"
--CXXFLAGS="-std=gnu++98"
--
- dnl Automake 1.11 - silent build rules
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
deleted file mode 100644
index 5eb4696b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Intel RSTe with Linux OS SSI API Library"
-
-DESCRIPTION = "Intel Rapid Storage Technology enterprise with Linux OS* Standard Storage Interface API Library. \
-The library allows user to manage storage devices including creating and managing Raid arrays on systems with Intel chipset."
-
-HOMEPAGE = "http://irstessi.sourceforge.net/"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0413ff365e0bd733c4869a6797551c6f"
-
-DEPENDS += "sg3-utils"
-
-SRC_URI = "http://sourceforge.net/projects/irstessi/files/${BPN}.${PV}.tgz \
- file://0001-Use-pragma-once-unconditionally.patch \
- file://0002-Convert-macros-into-functions.patch \
- file://0003-Replace-canonicalize_file_name-with-realpath-API.patch \
- file://0004-engine-Fix-indentation-and-missing-semi-colon.patch \
- file://0005-engine-Define-SENTINEL.patch \
- file://0006-tools-Add-missing-includes-and-use-realpath-instead-.patch \
- file://configure-cflags.patch \
- file://0001-ssieventmonitor-ordered-comparison-between-pointers-.patch \
- "
-SRC_URI[md5sum] = "02f16d7cbd30d28034093212906591f5"
-SRC_URI[sha256sum] = "e10d283b0f211afb8ebd0bde87c097769613d30a052cdf164753e35e803264c7"
-
-S ="${WORKDIR}/${BPN}.${PV}"
-
-inherit autotools-brokensep
-CXXFLAGS="-std=gnu++98 -D_GNU_SOURCE"
-
-do_configure_prepend(){
- ./autogen.sh
-}
-
-RDEPENDS_${PN} += "mdadm"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
new file mode 100644
index 00000000..ce46cf58
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Intel RSTe with Linux OS SSI API Library"
+
+DESCRIPTION = "Intel Rapid Storage Technology enterprise with Linux OS* Standard Storage Interface API Library. \
+The library allows user to manage storage devices including creating and managing Raid arrays on systems with Intel chipset."
+
+HOMEPAGE = "http://irstessi.sourceforge.net/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9d701a2fbb56039fd64afb2262008ddb"
+
+DEPENDS += "sg3-utils"
+
+SRC_URI = "http://sourceforge.net/projects/irstessi/files/${BPN}.${PV}.tgz \
+ file://0001-log-Avoid-shadowing-functions-from-std-lib.patch \
+ file://0002-boost-Backport-clang-support.patch \
+ file://0003-engine-Define-discover-const-String-path-in-base-cla.patch \
+ file://0004-Do-not-override-flags-coming-from-build-environment.patch \
+ file://0005-enable-out-of-source-tree-builds.patch \
+ file://0001-Don-t-use-__GNUC_PREREQ.patch \
+ file://0002-Use-stangard-int-types.patch \
+ file://0003-replace-canonicalize_file_name-with-realpath.patch \
+ file://0004-include-limits.h.patch \
+ file://0001-Include-libgen.h.patch \
+ "
+SRC_URI[md5sum] = "d06c9b426437a7697d77266e9835b520"
+SRC_URI[sha256sum] = "59daab29363d6e9f07c524029c4239653cfbbee6b0e57fd75df62499728dad8a"
+
+S ="${WORKDIR}/${BPN}.${PV}"
+
+inherit autotools
+
+do_configure_prepend(){
+ ${S}/autogen.sh
+}
+
+RDEPENDS_${PN} += "mdadm"
+
+COMPATIBLE_HOST_powerpc = 'null'
diff --git a/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-Add-linux-musleabi-to-ostable.patch b/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-Add-linux-musleabi-to-ostable.patch
deleted file mode 100644
index 269441fc..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-Add-linux-musleabi-to-ostable.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 087840efdbc86b1432ebdd81f25b4cb78c75f818 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 11 Sep 2018 12:28:10 -0700
-Subject: [PATCH] Add linux-musleabi to ostable
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ostable | 1 +
- triplettable | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/ostable b/ostable
-index 3bb6819..d0ffdc7 100644
---- a/ostable
-+++ b/ostable
-@@ -15,6 +15,7 @@
- uclibceabi-linux linux-uclibceabi linux[^-]*-uclibceabi
- uclibc-linux linux-uclibc linux[^-]*-uclibc
- musleabihf-linux linux-musleabihf linux[^-]*-musleabihf
-+musleabi-linux linux-musleabi linux[^-]*-musleabi
- musl-linux linux-musl linux[^-]*-musl
- gnueabihf-linux linux-gnueabihf linux[^-]*-gnueabihf
- gnueabi-linux linux-gnueabi linux[^-]*-gnueabi
-diff --git a/triplettable b/triplettable
-index 7257744..45864c3 100644
---- a/triplettable
-+++ b/triplettable
-@@ -6,6 +6,7 @@
- uclibceabi-linux-arm uclibc-linux-armel
- uclibc-linux-<cpu> uclibc-linux-<cpu>
- musleabihf-linux-arm musl-linux-armhf
-+musleabi-linux-arm musl-linux-arm
- musl-linux-<cpu> musl-linux-<cpu>
- gnueabihf-linux-arm armhf
- gnueabi-linux-arm armel
---
-2.18.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch b/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch
deleted file mode 100644
index e988efde..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 685645a20e39cf2ab7db8d1f5e3666a4228abca8 Mon Sep 17 00:00:00 2001
-From: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
-Date: Wed, 8 Jul 2015 09:44:57 +0300
-Subject: [PATCH 1/1] dpkg start-stop-daemon: Accept SIG prefixed signal names
-
----
- utils/start-stop-daemon.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/utils/start-stop-daemon.c b/utils/start-stop-daemon.c
-index 6aebe9b..e805082 100644
---- a/utils/start-stop-daemon.c
-+++ b/utils/start-stop-daemon.c
-@@ -18,6 +18,9 @@
- * and Andreas Schuldei <andreas@schuldei.org>
- *
- * Changes by Ian Jackson: added --retry (and associated rearrangements).
-+ *
-+ * Changes by Haris Okanovic <haris.okanovic@ni.com> to support 'SIG'
-+ * prefixed signal names placed in public domain as well.
- */
-
- #include <config.h>
-@@ -661,6 +664,12 @@ parse_signal(const char *sig_str, int *sig_num)
- if (parse_unsigned(sig_str, 10, sig_num) == 0)
- return 0;
-
-+ /* Skip over optional "SIG" prefix */
-+ if (strncmp(sig_str, "SIG", 3) == 0) {
-+ warning("Using deprecated signal name %s. Drop the 'SIG' prefix.\n", sig_str);
-+ sig_str += 3;
-+ }
-+
- for (i = 0; i < array_count(siglist); i++) {
- if (strcmp(sig_str, siglist[i].name) == 0) {
- *sig_num = siglist[i].signal;
---
-2.1.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb b/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb
deleted file mode 100644
index b9b22a31..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Debian's start-stop-daemon utility extracted from the dpkg \
-package"
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://utils/start-stop-daemon.c;endline=21;md5=8fbd0497a7d0b01e99820bffcb58e9ad"
-# start-stop-daemon is usually shipped by dpkg
-DEPENDS = "ncurses"
-RCONFLICTS_${PN} = "dpkg"
-
-SRC_URI = " \
- ${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz \
- file://0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch \
- file://0001-Add-linux-musleabi-to-ostable.patch \
-"
-
-SRC_URI[md5sum] = "e48fcfdb2162e77d72c2a83432d537ca"
-SRC_URI[sha256sum] = "07019d38ae98fb107c79dbb3690cfadff877f153b8c4970e3a30d2e59aa66baa"
-
-inherit autotools gettext pkgconfig
-
-S = "${WORKDIR}/dpkg-${PV}"
-
-EXTRA_OECONF = " \
- --without-bz2 \
- --without-selinux \
-"
-
-do_install_append () {
- # remove everything that is not related to start-stop-daemon, since there
- # is no explicit rule for only installing ssd
- find ${D} -type f -not -name "*start-stop-daemon*" -exec rm {} \;
- find ${D} -depth -type d -empty -exec rmdir {} \;
-
- # support for buggy init.d scripts that refer to an alternative
- # explicit path to start-stop-daemon
- if [ "${base_sbindir}" != "${sbindir}" ]; then
- mkdir -p ${D}${base_sbindir}
- ln -sf ${sbindir}/start-stop-daemon ${D}${base_sbindir}/start-stop-daemon
- fi
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb b/external/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb
index f5518bd8..dba89d18 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb
@@ -17,7 +17,7 @@ PV = "1.10.1+git${SRCPV}"
S = "${WORKDIR}/git"
-inherit cmake distro_features_check
+inherit cmake features_check
EXTRA_OECMAKE += "-DSYNERGY_BUILD_LEGACY_GUI=OFF"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch
index 0fc40be4..b5bfcd02 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch
@@ -1,6 +1,3 @@
-From caeccb7bec45f65bc89efa8195b3853368328361 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 17 Sep 2018 12:49:36 +0800
Subject: [PATCH] syslog-ng: fix segment fault during service start on arm64
service start failed since segment fault on arch arm64,
@@ -17,12 +14,15 @@ https://github.com/buytenh/ivykis/issues/15
Upstream-Status: Pending
Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+Update for 3.24.1.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
- lib/ivykis/src/pthr.h | 24 ++++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
+ lib/ivykis/src/pthr.h | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/lib/ivykis/src/pthr.h b/lib/ivykis/src/pthr.h
-index a41eaf3..72c5190 100644
+index 29e4be7..5d29096 100644
--- a/lib/ivykis/src/pthr.h
+++ b/lib/ivykis/src/pthr.h
@@ -24,6 +24,16 @@
@@ -47,12 +47,12 @@ index a41eaf3..72c5190 100644
#ifdef HAVE_PRAGMA_WEAK
-/*
-- * On Linux, pthread_atfork() is defined in libpthread_nonshared.a,
-- * a static library, and we want to avoid "#pragma weak" for that
-- * symbol because that causes it to be undefined even if you link
-- * libpthread_nonshared.a in explicitly.
+- * On Linux, pthread_atfork() is defined in libc_nonshared.a (for
+- * glibc >= 2.28) or libpthread_nonshared.a (for glibc <= 2.27), and
+- * we want to avoid "#pragma weak" for that symbol because that causes
+- * it to be undefined even if you link lib*_nonshared.a in explicitly.
- */
--#ifndef HAVE_LIBPTHREAD_NONSHARED
+-#if !defined(HAVE_LIBC_NONSHARED) && !defined(HAVE_LIBPTHREAD_NONSHARED)
-#pragma weak pthread_atfork
-#endif
-
@@ -60,16 +60,15 @@ index a41eaf3..72c5190 100644
#pragma weak pthread_create
#pragma weak pthread_detach
#pragma weak pthread_getspecific
-@@ -73,8 +74,7 @@ static inline int
+@@ -73,7 +74,7 @@ static inline int
pthr_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void))
{
if (pthreads_available())
- return pthread_atfork(prepare, parent, child);
--
+ return __register_atfork(prepare, parent, child, __dso_handle);
+
return ENOSYS;
}
-
--
2.7.4
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
index 553f4a51..4ad0afa9 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
@@ -6,25 +6,28 @@ This would avoid a implicit auto-detecting result.
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Update for 3.24.1.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
- configure.ac | 27 +++++++++++++++++----------
- 1 files changed, 17 insertions(+), 10 deletions(-)
+ configure.ac | 28 ++++++++++++++++------------
+ 1 file changed, 16 insertions(+), 12 deletions(-)
-Index: syslog-ng-3.8.1/configure.ac
-===================================================================
---- syslog-ng-3.8.1.orig/configure.ac
-+++ syslog-ng-3.8.1/configure.ac
-@@ -104,6 +104,9 @@ AC_CONFIG_HEADERS(config.h)
+diff --git a/configure.ac b/configure.ac
+index 00eb566..e7d5ac1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -143,6 +143,9 @@ AC_CONFIG_HEADERS(config.h)
dnl ***************************************************************************
dnl Arguments
-+AC_ARG_ENABLE(libnet,
++AC_ARG_ENABLE(libnet,
+ [ --enable-libnet Enable libnet support.],, enable_libnet="no")
+
AC_ARG_WITH(libnet,
[ --with-libnet=path use path to libnet-config script],
,
-@@ -893,22 +896,26 @@ dnl ************************************
+@@ -1047,19 +1050,20 @@ dnl ***************************************************************************
dnl libnet headers/libraries
dnl ***************************************************************************
AC_MSG_CHECKING(for LIBNET)
@@ -39,7 +42,14 @@ Index: syslog-ng-3.8.1/configure.ac
+ else
+ LIBNET_CONFIG="$with_libnet/libnet-config"
+ fi
-+
+
+-if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then
+- LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`"
+- LIBNET_LIBS="`$LIBNET_CONFIG --libs`"
+- AC_MSG_RESULT(yes)
+-dnl libnet-config does not provide the _DEFAULT_SOURCE define, that can cause warning during build
+-dnl as upstream libnet-config does uses _DEFAULT_SOURCE this is just a fix till
+- LIBNET_CFLAGS="$LIBNET_CFLAGS -D_DEFAULT_SOURCE"
+ if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then
+ LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`"
+ LIBNET_LIBS="`$LIBNET_CONFIG --libs`"
@@ -48,16 +58,8 @@ Index: syslog-ng-3.8.1/configure.ac
+ AC_MSG_ERROR([Could not find libnet, and libnet support was explicitly enabled.])
+ fi
--if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then
-- LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`"
-- LIBNET_LIBS="`$LIBNET_CONFIG --libs`"
-- AC_MSG_RESULT(yes)
else
LIBNET_LIBS=
- AC_MSG_RESULT(no)
- fi
-
--
- if test "x$enable_spoof_source" = "xauto"; then
- AC_MSG_CHECKING(whether to enable spoof source support)
- if test "x$LIBNET_LIBS" != "x"; then
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/shebang.patch b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/shebang.patch
new file mode 100644
index 00000000..35d96775
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/shebang.patch
@@ -0,0 +1,18 @@
+syslog-ng: change shebang to use python3
+
+Correct shebang for python3. This is far from the only python file with an out of date shebang,
+but it is the only one that winds up on a target.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/lib/merge-grammar.py
++++ b/lib/merge-grammar.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #############################################################################
+ # Copyright (c) 2010-2017 Balabit
+ #
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng-tmp.conf b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng-tmp.conf
new file mode 100644
index 00000000..32a79532
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng-tmp.conf
@@ -0,0 +1 @@
+d /var/run/syslog-ng 0755 root root
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
index 9e910caa..6a862767 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
@@ -1,11 +1,16 @@
-@version: 3.15
+@version: 3.24
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation. Originally written by anonymous (I can't find his name)
# Revised, and rewrited by me (SZALAY Attila <sasa@debian.org>)
+#
+# Move to 3.19
+# Only change is to add dns_cache(no) to options to suppress initialization warning.
+#
+# Joe Slater <joe.slater@windriver.com>
# First, set some global options.
-options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
+options { chain_hostnames(off); flush_lines(0); use_dns(no); dns_cache(no); use_fqdn(no);
owner("root"); group("adm"); perm(0640); stats_freq(0);
bad_hostname("^gconfd$");
};
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
index fb183ee1..32b98610 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
@@ -1,11 +1,16 @@
-@version: 3.15
+@version: 3.24
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation. Originally written by anonymous (I can't find his name)
# Revised, and rewrited by me (SZALAY Attila <sasa@debian.org>)
+#
+# Move to 3.19
+# Only change is to add dns_cache(no) to options to suppress initialization warning.
+#
+# Joe Slater <joe.slater@windriver.com>
# First, set some global options.
-options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
+options { chain_hostnames(off); flush_lines(0); use_dns(no); dns_cache(no); use_fqdn(no);
owner("root"); group("adm"); perm(0640); stats_freq(0);
bad_hostname("^gconfd$");
};
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
index 39c3f59c..0e1d0949 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
@@ -1,16 +1,17 @@
-From 0be9c08dd3f825e92fa02d4a08d8aff743109e61 Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Wed, 17 Jun 2015 14:46:30 +0900
-Subject: [PATCH] syslog-ng.service: the syslog-ng service can not start
+Subject: [PATCH] syslog-ng.service: the syslog-ng service can not start
successfully,so modify it.
Upstream-Status: pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
Updated-by: Andrej Valek <andrej.valek@siemens.com>
+
+Update for 3.24.1
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
- contrib/systemd/syslog-ng.service | 5 ++---
- 1 file changed, 2 insertion(+), 3 deletions(-)
+ contrib/systemd/syslog-ng@.service | 4 ++--
+ contrib/systemd/syslog-ng@default | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/contrib/systemd/syslog-ng@.service b/contrib/systemd/syslog-ng@.service
index a28640e..93aec94 100644
@@ -28,19 +29,18 @@ index a28640e..93aec94 100644
StandardError=journal
Restart=on-failure
diff --git a/contrib/systemd/syslog-ng@default b/contrib/systemd/syslog-ng@default
-index 02da288..3a8215d 100644
+index 0ccc2b9..7f08c0e 100644
--- a/contrib/systemd/syslog-ng@default
+++ b/contrib/systemd/syslog-ng@default
@@ -1,5 +1,5 @@
--CONFIG_FILE=/etc/syslog-ng.conf
+ CONFIG_FILE=/etc/syslog-ng/syslog-ng.conf
-PERSIST_FILE=/var/lib/syslog-ng/syslog-ng.persist
--CONTROL_FILE=/var/lib/syslog-ng/syslog-ng.ctl
+-CONTROL_FILE=/var/run/syslog-ng.ctl
-PID_FILE=/var/run/syslog-ng.pid
-+CONFIG_FILE=/etc/syslog-ng/syslog-ng.conf
+PERSIST_FILE=@LOCALSTATEDIR@/lib/syslog-ng/syslog-ng.persist
+CONTROL_FILE=@LOCALSTATEDIR@/lib/syslog-ng/syslog-ng.ctl
+PID_FILE=@LOCALSTATEDIR@/run/syslog-ng.pid
OTHER_OPTIONS="--enable-core"
-
--
-1.8.4.2
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
index b52deff5..ff6d9d26 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
@@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=24c0c5cb2c83d9f2ab725481e4df5240"
# util-linux added to get libuuid
DEPENDS = "libpcre flex glib-2.0 openssl util-linux"
+# We expect the recipe to add anything specific for that version to these defaults.
+#
SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \
file://syslog-ng.conf.systemd \
file://syslog-ng.conf.sysvinit \
@@ -25,7 +27,7 @@ SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.ta
UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases"
-inherit autotools gettext systemd pkgconfig update-rc.d
+inherit autotools gettext systemd pkgconfig update-rc.d multilib_header
EXTRA_OECONF = " \
--enable-dynamic-linking \
@@ -71,22 +73,26 @@ do_configure_prepend() {
}
do_install_append() {
- install -d ${D}/${sysconfdir}/${BPN}
- install -d ${D}/${sysconfdir}/init.d
- 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}
+ install -d ${D}${sysconfdir}/${BPN}
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
+
+ install -d ${D}${sysconfdir}/default/volatiles/
+ install -m 644 ${WORKDIR}/volatiles.03_syslog-ng ${D}${sysconfdir}/default/volatiles/03_syslog-ng
+ install -d ${D}${sysconfdir}/tmpfiles.d/
+ install -m 644 ${WORKDIR}/syslog-ng-tmp.conf ${D}${sysconfdir}/tmpfiles.d/syslog-ng.conf
+
+ install -d ${D}${localstatedir}/lib/${BPN}
# Remove /var/run as it is created on startup
rm -rf ${D}${localstatedir}/run
# support for systemd
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install ${WORKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf
+ install -m 644 ${WORKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf
install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service
- install -m 0644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default
+ install -m 644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service
+ install -m 644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
@@ -95,8 +101,10 @@ do_install_append() {
install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
ln -sf ../${BPN}@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/${BPN}@default.service
else
- install ${WORKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf
+ install -m 644 ${WORKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf
fi
+
+ oe_multilib_header syslog-ng/syslog-ng-config.h
}
FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools ${systemd_unitdir}/system/multi-user.target.wants/*"
@@ -117,6 +125,7 @@ RPROVIDES_${PN}-dbg += "${PN}-libs-dbg"
FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*"
FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la"
FILES_${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a"
+FILES_${PN} += "${systemd_unitdir}/system/*.service"
INSANE_SKIP_${PN}-libs = "dev-so"
RDEPENDS_${PN} += "${PN}-libs"
@@ -127,6 +136,7 @@ CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf"
RDEPENDS_${PN} += " ${@oe.utils.conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog"
+RCONFLICTS_${PN}-libs = "busybox-syslog sysklogd rsyslog"
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.16.1.bb b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.16.1.bb
deleted file mode 100644
index b5f42cf9..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.16.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require syslog-ng.inc
-
-SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \
- file://syslog-ng.conf.systemd \
- file://syslog-ng.conf.sysvinit \
- file://initscript \
- file://volatiles.03_syslog-ng \
- file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \
- file://fix-config-libnet.patch \
- file://fix-invalid-ownership.patch \
- file://syslog-ng.service-the-syslog-ng-service.patch \
- file://0001-syslog-ng-fix-segment-fault-during-service-start.patch \
- "
-
-SRC_URI[md5sum] = "72d44ad02c2e9ba0748b3ecd3f15a7ff"
-SRC_URI[sha256sum] = "c7ee6f1d5e98d86f191964e580111bfa71081ecbb3275cea035bbba177b73a29"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb
new file mode 100644
index 00000000..10bf00fd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb
@@ -0,0 +1,15 @@
+require syslog-ng.inc
+
+# We only want to add stuff we need to the defaults provided in syslog-ng.inc.
+#
+SRC_URI += " \
+ file://fix-config-libnet.patch \
+ file://fix-invalid-ownership.patch \
+ file://syslog-ng.service-the-syslog-ng-service.patch \
+ file://0001-syslog-ng-fix-segment-fault-during-service-start.patch \
+ file://shebang.patch \
+ file://syslog-ng-tmp.conf \
+ "
+
+SRC_URI[md5sum] = "ef9de066793f7358af7312b964ac0450"
+SRC_URI[sha256sum] = "d4d0a0357b452be96b69d6f741129275530d8f0451e35adc408ad5635059fa3d"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb b/external/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
index 26b4412f..1ce3c8e4 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
@@ -6,7 +6,7 @@ SRC_URI = "https://fedorahosted.org/releases/s/y/${BPN}/${BP}.tar.bz2"
SRC_URI[md5sum] = "c267db0ee7a2131ba418399dc17f9e72"
SRC_URI[sha256sum] = "218c883e4e2bfcc82bfe07e785707b5c2ece28df772f2155fd044b9bb1614284"
-inherit python-dir gettext
+inherit python3-dir gettext
DEPENDS += "intltool-native gettext-native"
EXTRA_OEMAKE = " \
diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb
deleted file mode 100644
index f8701040..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb
+++ /dev/null
@@ -1,45 +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 = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-PRDATE = "20170412"
-BRANCH = "tbb_2017"
-SRCREV = "a2cfdfe946933cbe38bffe1d8086ae36f06691a3"
-PV = "${PRDATE}+${SRCPV}"
-SRC_URI = "git://github.com/01org/tbb;branch=${BRANCH} \
- file://cross-compile.patch \
- file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \
- file://0002-linux-Fix-gcc-version-check.patch \
- file://tbb.pc \
-"
-
-S = "${WORKDIR}/git"
-
-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/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch
deleted file mode 100644
index 9824b61e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From aee098f1bf0511c6b5544de3170a9e8b51673b60 Mon Sep 17 00:00:00 2001
-From: Pierre Le Magourou <plemagourou@softbankrobotics.com>
-Date: Tue, 23 Jan 2018 15:25:50 +0100
-Subject: [PATCH] linux.gcc: Fix cross compilation error.
-
-When cross compiling on linux with gcc, the host gcc was used instead of
-the cross gcc to set compilation flags according to gcc version.
-
-When the cross gcc was in version 5.X and the host gcc in version 7.X,
-tbb was compiled with the -flifetime-dse=1 flag that does not exist on
-gcc 5.X.
----
- build/linux.gcc.inc | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc
-index 5c1889c..a4d6698 100644
---- a/build/linux.gcc.inc
-+++ b/build/linux.gcc.inc
-@@ -41,29 +41,29 @@ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
- C_FLAGS = $(CPLUS_FLAGS)
-
- # gcc 4.2 and higher support OpenMP
--ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
-+ifneq (,$(shell $(CC) -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
- OPENMP_FLAG = -fopenmp
- endif
-
- # gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
--ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[8-9]|[5-9])"))
-+ifneq (,$(shell $(CC) -dumpversion | egrep "^(4\.[8-9]|[5-9])"))
- RTM_KEY = -mrtm
- endif
-
- # gcc 4.0 and later have -Wextra that is used by some our customers.
--ifneq (,$(shell gcc -dumpversion | egrep "^([4-9])"))
-+ifneq (,$(shell $(CC) -dumpversion | egrep "^([4-9])"))
- TEST_WARNING_KEY += -Wextra
- endif
-
- # gcc 5.0 and later have -Wsuggest-override option
- # enable it via a pre-included header in order to limit to C++11 and above
--ifneq (,$(shell gcc -dumpversion | egrep "^([5-9])"))
-+ifneq (,$(shell $(CC) -dumpversion | egrep "^([5-9])"))
- INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h
- endif
-
- # gcc 6.0 and later have -flifetime-dse option that controls
- # elimination of stores done outside the object lifetime
--ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
-+ifneq (,$(shell $(CC) -dumpversion | egrep "^([6-9])"))
- # keep pre-contruction stores for zero initialization
- DSE_KEY = -flifetime-dse=1
- endif
---
-2.15.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch
new file mode 100644
index 00000000..6f28f6f3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch
@@ -0,0 +1,42 @@
+From 27956d4c5fb615098231cebfb8eef11057639d3c Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sun, 8 Dec 2019 18:14:38 +0100
+Subject: [PATCH] src/tbbmalloc/proxy.cpp: __GLIBC_PREREQ is not defined on
+ musl
+
+Do not call __GLIBC_PREREQ if it is not defined otherwise build will
+fail on musl
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+Upstream-Status: Submitted [https://github.com/oneapi-src/oneTBB/pull/203]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ src/tbbmalloc/proxy.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp
+index d96ae7a0..709ae839 100644
+--- a/src/tbbmalloc/proxy.cpp
++++ b/src/tbbmalloc/proxy.cpp
+@@ -24,7 +24,8 @@
+ // of aligned_alloc as required by new C++ standard, this makes it hard to
+ // redefine aligned_alloc here. However, running on systems with new libc
+ // version, it still needs it to be redefined, thus tricking system headers
+-#if defined(__GLIBC_PREREQ) && !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC
++#if defined(__GLIBC_PREREQ)
++#if !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC
+ // tell <cstdlib> that there is no aligned_alloc
+ #undef _GLIBCXX_HAVE_ALIGNED_ALLOC
+ // trick <stdlib.h> to define another symbol instead
+@@ -32,7 +33,8 @@
+ // Fix the state and undefine the trick
+ #include <cstdlib>
+ #undef aligned_alloc
+-#endif // defined(__GLIBC_PREREQ)&&!__GLIBC_PREREQ(2, 16)&&_GLIBCXX_HAVE_ALIGNED_ALLOC
++#endif // defined(__GLIBC_PREREQ)
++#endif // !__GLIBC_PREREQ(2, 16)&&_GLIBCXX_HAVE_ALIGNED_ALLOC
+ #endif // __linux__ && !__ANDROID__
+
+ #include "proxy.h"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
index d54b307e..36578543 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
@@ -1,39 +1,35 @@
Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
+
Upstream-Status: unsuitable
---
- build/linux.gcc.inc | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-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
+diff --git a/build/linux.clang.inc b/build/linux.clang.inc
+index fe9b5c98..b0dcd68b 100644
+--- a/build/linux.clang.inc
++++ b/build/linux.clang.inc
+@@ -12,8 +12,8 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
--CPLUS = g++
--CONLY = gcc
-+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
-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)
+ COMPILE_ONLY = -c -MMD
+ PREPROC_ONLY = -E -x c++
+ INCLUDE_KEY = -I
+diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc
+index d820c15d..62c76afd 100644
+--- a/build/linux.gcc.inc
++++ b/build/linux.gcc.inc
+@@ -12,8 +12,8 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
--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
+-CPLUS ?= g++
+-CONLY ?= gcc
++CPLUS ?= $(CXX)
++CONLY ?= $(CC)
+ COMPILE_ONLY = -c -MMD
+ PREPROC_ONLY = -E -x c++
+ INCLUDE_KEY = -I
diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc
index 644b64fb..4f9da114 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc
+++ b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc
@@ -5,7 +5,7 @@ includedir=${prefix}/include
Name: Threading Building Blocks
Description: Intel's parallelism library for C++
-URL: http://www.threadingbuildingblocks.org/
-Version: 3.0+r018
+URL: https://software.intel.com/en-us/tbb
+Version: 2020.2
Libs: -L${libdir} -ltbb
Cflags: -I${includedir}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.2.bb b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.2.bb
new file mode 100644
index 00000000..2f9fd7f5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.2.bb
@@ -0,0 +1,45 @@
+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 = "https://software.intel.com/en-us/tbb"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+BRANCH = "tbb_2020"
+SRCREV = "60b7d0a78f8910976678ba63a19fdaee22c0ef65"
+SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \
+ file://cross-compile.patch \
+ file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \
+ file://GLIBC-PREREQ-is-not-defined-on-musl.patch \
+ file://tbb.pc \
+"
+
+S = "${WORKDIR}/git"
+PE = "1"
+
+COMPILER ?= "gcc"
+COMPILER_toolchain-clang = "clang"
+
+do_compile() {
+ oe_runmake compiler=${COMPILER} arch=${HOST_ARCH}
+}
+
+do_install() {
+ install -d ${D}${includedir} ${D}${libdir}
+ rm ${S}/include/tbb/index.html -f
+ cp -R --no-dereference --preserve=mode,links -v ${S}/include/tbb ${D}${includedir}
+ for f in ${B}/build/linux_*_release/lib*.so*
+ do
+ install -Dm 0755 $f ${D}${libdir}/
+ done
+ install -Dm 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig/tbb.pc
+}
+
+# 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/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-fix-compile-failed-with-libc-musl.patch b/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-fix-compile-failed-with-libc-musl.patch
deleted file mode 100644
index 28b44da5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-fix-compile-failed-with-libc-musl.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From fcbcf9c494cca166106ae4cb03c1dd135ee4f25c Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 1 Aug 2018 09:34:00 +0800
-Subject: [PATCH] fix compile failed with libc musl
-
-There is a failure while compiling with libc musl:
-[snip]
-|./block-cache/io_engine.h:18:17: error: expected
-unqualified-id before numeric constant
-| unsigned const PAGE_SIZE = 4096;
-[snip]
-
-The musl defeines macro PAGE_SIZE, undef it conditionally
-could fix the issue.
-
-http://musl.openwall.narkive.com/tO8vrHdP/why-musl-define-page-size
-
-Upstream-Status: Submitted [git://github.com/jthornber/thin-provisioning-tools]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- block-cache/io_engine.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/block-cache/io_engine.h b/block-cache/io_engine.h
-index 1704251..e36b932 100644
---- a/block-cache/io_engine.h
-+++ b/block-cache/io_engine.h
-@@ -12,6 +12,10 @@
-
- //----------------------------------------------------------------
-
-+// Musl defines
-+#ifdef PAGE_SIZE
-+#undef PAGE_SIZE
-+#endif
- namespace bcache {
- using sector_t = uint64_t;
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch b/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
new file mode 100644
index 00000000..de934c19
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
@@ -0,0 +1,34 @@
+From 38397b42e2c3450c2aee20e6fb92f362db4e35ef Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 2 Jul 2019 13:20:39 +0800
+Subject: [PATCH] thin-provisioning-tools: use sh on path when invoking txt2man
+
+txt2man contains a test which might try to use ksh to run the script, so we
+avoid running /bin/sh.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: joe.slater <joe.slater@windriver.com>
+
+Rebase to 0.8.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 7c867b2..5303994 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -223,7 +223,7 @@ endif
+ %.8: %.txt bin/txt2man
+ @echo " [txt2man] $<"
+ @mkdir -p $(dir $@)
+- $(V) bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
++ $(V) sh bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
+
+ #----------------------------------------------------------------
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb b/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb
deleted file mode 100644
index 20cb17aa..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Tools of dm-thin device-mapper"
-DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target."
-HOMEPAGE = "https://github.com/jthornber/thin-provisioning-tools"
-LICENSE = "GPLv3"
-SECTION = "devel"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/jthornber/thin-provisioning-tools \
- file://0001-do-not-strip-pdata_tools-at-do_install.patch \
- file://0001-fix-compile-failed-with-libc-musl.patch \
-"
-
-SRCREV = "6f936992b8e6208a7838fcf1ec87c5bd3a694a77"
-
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-DEPENDS += "expat libaio boost"
-
-inherit autotools-brokensep
diff --git a/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb b/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb
new file mode 100644
index 00000000..9f89bac2
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tools of dm-thin device-mapper"
+DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target."
+HOMEPAGE = "https://github.com/jthornber/thin-provisioning-tools"
+LICENSE = "GPLv3"
+SECTION = "devel"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/jthornber/thin-provisioning-tools \
+ file://0001-do-not-strip-pdata_tools-at-do_install.patch \
+ file://use-sh-on-path.patch \
+"
+
+SRCREV = "5e5409f48b5403d2c6dffd9919b35ad77d6fb7b4"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+DEPENDS += "expat libaio boost"
+
+inherit autotools-brokensep
diff --git a/external/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb b/external/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
index 879b67b7..aba485e1 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
@@ -11,7 +11,7 @@ SRC_URI = "git://github.com/OSSystems/toscoterm.git"
S = "${WORKDIR}/git"
-inherit distro_features_check gitpkgv pkgconfig
+inherit features_check gitpkgv pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/tree/tree_1.7.0.bb b/external/meta-openembedded/meta-oe/recipes-support/tree/tree_1.7.0.bb
deleted file mode 100644
index 2e8ebdb4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/tree/tree_1.7.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A recursive directory listing command"
-HOMEPAGE = "http://mama.indstate.edu/users/ice/tree/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
-
-SRC_URI = "ftp://mama.indstate.edu/linux/${BPN}/${BP}.tgz"
-SRC_URI[md5sum] = "abe3e03e469c542d8e157cdd93f4d8a6"
-SRC_URI[sha256sum] = "6957c20e82561ac4231638996e74f4cfa4e6faabc5a2f511f0b4e3940e8f7b12"
-
-# tree's default CFLAGS for Linux
-CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
-
-EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
-
-do_configure[noexec] = "1"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/${BPN} ${D}${bindir}/
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/tree/tree_1.8.0.bb b/external/meta-openembedded/meta-oe/recipes-support/tree/tree_1.8.0.bb
new file mode 100644
index 00000000..01b1ac38
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/tree/tree_1.8.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A recursive directory listing command"
+HOMEPAGE = "http://mama.indstate.edu/users/ice/tree/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
+
+SRC_URI = "http://mama.indstate.edu/users/ice/tree/src/${BP}.tgz"
+SRC_URI[md5sum] = "715191c7f369be377fc7cc8ce0ccd835"
+SRC_URI[sha256sum] = "715d5d4b434321ce74706d0dd067505bb60c5ea83b5f0b3655dae40aa6f9b7c2"
+
+# tree's default CFLAGS for Linux
+CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
+
+EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
+
+do_configure[noexec] = "1"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/${BPN} ${D}${bindir}/
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
deleted file mode 100644
index 2823c54f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a6eab413f274376cf703a608e2866118291a6185 Mon Sep 17 00:00:00 2001
-From: Amarnath Valluri <amarnath.valluri@intel.com>
-Date: Thu, 9 Feb 2017 11:02:53 +0200
-Subject: [PATCH] Make udev rules directory configurable.
-
-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 08af5f4..9329186 100644
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -34,7 +34,6 @@ $(systemdservice_DATA): $(systemdservice_in_files) Makefile
- @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
- 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)
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch
deleted file mode 100644
index 8b4f4412..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 054ad6a06cfac7c3d172d53cd901204079a53ec3 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Fri, 29 May 2015 21:09:39 -0400
-Subject: [PATCH] fix build with newer glibc versions
-
-https://bugs.freedesktop.org/show_bug.cgi?id=90778
-
-Upstream-Status: Applied [1]
-
-[1] http://cgit.freedesktop.org/udisks/commit/?h=udisks1&id=9829152b12a8924d2e091a00133ed1a3a7ba75c0
-
----
- src/helpers/job-drive-detach.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/helpers/job-drive-detach.c b/src/helpers/job-drive-detach.c
-index eeafcab..d122a1f 100644
---- a/src/helpers/job-drive-detach.c
-+++ b/src/helpers/job-drive-detach.c
-@@ -18,6 +18,7 @@
- *
- */
-
-+#include <sys/stat.h>
- #include <stdio.h>
- #include <string.h>
- #include <errno.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-include-sys-sysmacros.h.patch b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-include-sys-sysmacros.h.patch
deleted file mode 100644
index f140793c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-include-sys-sysmacros.h.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 64f051963d6cdeebd19f9e7f0a7e584a1f7acc60 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 19:12:57 -0700
-Subject: [PATCH] include sys/sysmacros.h
-
-fixes build with glibc 2.28+
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/daemon.c | 1 +
- src/device.c | 1 +
- src/mount-monitor.c | 1 +
- tools/udisks.c | 1 +
- tools/umount-udisks.c | 1 +
- 5 files changed, 5 insertions(+)
-
-diff --git a/src/daemon.c b/src/daemon.c
-index 14e952f..2c61cfb 100644
---- a/src/daemon.c
-+++ b/src/daemon.c
-@@ -39,6 +39,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-diff --git a/src/device.c b/src/device.c
-index d73f9d6..5911d78 100644
---- a/src/device.c
-+++ b/src/device.c
-@@ -29,6 +29,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/wait.h>
- #include <sys/stat.h>
- #include <sys/time.h>
-diff --git a/src/mount-monitor.c b/src/mount-monitor.c
-index 573a69c..ccf3365 100644
---- a/src/mount-monitor.c
-+++ b/src/mount-monitor.c
-@@ -28,6 +28,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <mntent.h>
-
-diff --git a/tools/udisks.c b/tools/udisks.c
-index d30159b..f24a30a 100644
---- a/tools/udisks.c
-+++ b/tools/udisks.c
-@@ -29,6 +29,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <sys/wait.h>
- #include <fcntl.h>
-diff --git a/tools/umount-udisks.c b/tools/umount-udisks.c
-index 2813fe0..5cf6b4d 100644
---- a/tools/umount-udisks.c
-+++ b/tools/umount-udisks.c
-@@ -29,6 +29,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <pwd.h>
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch
deleted file mode 100644
index a890954f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch
+++ /dev/null
@@ -1,498 +0,0 @@
-From e8b3fbfa3d6a11eee25db2dc0f31f439aaf0b65a Mon Sep 17 00:00:00 2001
-From: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-Date: Thu, 26 May 2011 17:30:04 -0300
-Subject: [PATCH] Allow disabling atasmart, lvm2 and devicemapper support.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=37647
-
----
- configure.ac | 53 +++++++++++++++++++++++++++++++++++++++----------
- src/adapter-private.h | 1 -
- src/adapter.c | 1 -
- src/daemon.c | 4 ++++
- src/device-private.c | 2 +-
- src/device-private.h | 5 ++---
- src/device.c | 23 +++++++++++++++++----
- src/expander-private.h | 1 -
- src/expander.c | 1 -
- src/helpers/Makefile.am | 20 +++++++++++++------
- src/helpers/partutil.c | 3 ++-
- src/port-private.h | 1 -
- src/probers/Makefile.am | 8 ++++++--
- tools/udisks.c | 10 ++++++++--
- 14 files changed, 99 insertions(+), 34 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9454423..8c4e4c2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -155,13 +155,33 @@ PKG_CHECK_MODULES(POLKIT_GOBJECT_1, [polkit-gobject-1 >= 0.97])
- AC_SUBST(POLKIT_GOBJECT_1_CFLAGS)
- AC_SUBST(POLKIT_GOBJECT_1_LIBS)
-
--PKG_CHECK_MODULES(LIBPARTED, [libparted >= 1.8.8])
--AC_SUBST(LIBPARTED_CFLAGS)
--AC_SUBST(LIBPARTED_LIBS)
--
--PKG_CHECK_MODULES(DEVMAPPER, [devmapper >= 1.02])
--AC_SUBST(DEVMAPPER_CFLAGS)
--AC_SUBST(DEVMAPPER_LIBS)
-+have_parted=no
-+AC_ARG_ENABLE(parted, AS_HELP_STRING([--disable-parted], [disable disk partitioning]))
-+if test "x$enable_parted" != "xno"; then
-+ PKG_CHECK_MODULES(LIBPARTED, [libparted >= 1.8.8],
-+ [AC_DEFINE(USE_PARTED, 1, [Define if parted should be used]) have_parted=yes],
-+ have_parted=no)
-+ AC_SUBST(LIBPARTED_CFLAGS)
-+ AC_SUBST(LIBPARTED_LIBS)
-+ if test "x$have_parted" = xno -a "x$enable_parted" = xyes; then
-+ AC_MSG_ERROR([parted support requested but libraries not found])
-+ fi
-+fi
-+AM_CONDITIONAL(HAVE_PARTED, [test "$have_parted" = "yes"])
-+
-+have_devmapper=no
-+AC_ARG_ENABLE(devmapper, AS_HELP_STRING([--disable-devmapper], [disable device mapper support]))
-+if test "x$enable_devmapper" != "xno"; then
-+ PKG_CHECK_MODULES(DEVMAPPER, [devmapper >= 1.02],
-+ [AC_DEFINE(HAVE_DEVMAPPER, 1, [Define if device mapper is available]) have_devmapper=yes],
-+ have_devmapper=no)
-+ AC_SUBST(DEVMAPPER_CFLAGS)
-+ AC_SUBST(DEVMAPPER_LIBS)
-+ if test "x$have_devmapper" = xno -a "x$enable_devmapper" = xyes; then
-+ AC_MSG_ERROR([devmapper support requested but libraries not found])
-+ fi
-+fi
-+AM_CONDITIONAL(HAVE_DEVMAPPER, [test "$have_devmapper" = "yes"])
-
- have_lvm2=no
- AC_ARG_ENABLE(lvm2, AS_HELP_STRING([--enable-lvm2], [enable LVM2 support]))
-@@ -185,9 +205,19 @@ if test "x$enable_dmmp" = "xyes"; then
- fi
- AM_CONDITIONAL(HAVE_DMMP, [test "$have_dmmp" = "yes"])
-
--PKG_CHECK_MODULES(LIBATASMART, [libatasmart >= 0.14])
--AC_SUBST(LIBATASMART_CFLAGS)
--AC_SUBST(LIBATASMART_LIBS)
-+have_libatasmart=no
-+AC_ARG_ENABLE(libatasmart, AS_HELP_STRING([--disable-libatasmart], [disable libatasmart support]))
-+if test "x$enable_libatasmart" != "xno"; then
-+ PKG_CHECK_MODULES(LIBATASMART, [libatasmart >= 0.14],
-+ [AC_DEFINE(HAVE_LIBATASMART, 1, [Define if libatasmart is available]) have_libatasmart=yes],
-+ have_libatasmart=no)
-+ AC_SUBST(LIBATASMART_CFLAGS)
-+ AC_SUBST(LIBATASMART_LIBS)
-+ if test "x$have_libatasmart" = xno -a "x$enable_libatasmart" = xyes; then
-+ AC_MSG_ERROR([libatasmart support requested but libraries not found])
-+ fi
-+fi
-+AM_CONDITIONAL(HAVE_LIBATASMART, [test "$have_libatasmart" = "yes"])
-
- PKG_CHECK_MODULES(LIBUDEV, [libudev >= 143])
- AC_SUBST(LIBUDEV_CFLAGS)
-@@ -278,9 +308,12 @@ echo "
- cppflags: ${CPPFLAGS}
- xsltproc: ${XSLTPROC}
-
-+ Parted support: ${have_parted}
-+ Device Mapper support: ${have_devmapper}
- LVM2 support: ${have_lvm2}
- dm-multipath: ${have_dmmp}
- Remote Access: ${remote_access}
-+ libatasmart support: ${have_libatasmart}
-
- Maintainer mode: ${USE_MAINTAINER_MODE}
- Profiling: ${enable_profiling}
-diff --git a/src/adapter-private.h b/src/adapter-private.h
-index 3409e21..ef584e3 100644
---- a/src/adapter-private.h
-+++ b/src/adapter-private.h
-@@ -23,7 +23,6 @@
-
- #include <dbus/dbus-glib.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "types.h"
-
-diff --git a/src/adapter.c b/src/adapter.c
-index 65e05b0..45db8c8 100644
---- a/src/adapter.c
-+++ b/src/adapter.c
-@@ -30,7 +30,6 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "daemon.h"
- #include "adapter.h"
-diff --git a/src/daemon.c b/src/daemon.c
-index fafcf9a..14e952f 100644
---- a/src/daemon.c
-+++ b/src/daemon.c
-@@ -1748,6 +1748,7 @@ mdstat_changed_event (GIOChannel *channel,
- return TRUE;
- }
-
-+#ifdef HAVE_LIBATASMART
- static gboolean
- refresh_ata_smart_data (Daemon *daemon)
- {
-@@ -1776,6 +1777,7 @@ refresh_ata_smart_data (Daemon *daemon)
-
- return FALSE;
- }
-+#endif
-
- static gboolean
- register_disks_daemon (Daemon *daemon)
-@@ -1987,12 +1989,14 @@ daemon_new (void)
- mount_file_clean_stale (l);
- g_list_free (l);
-
-+#ifdef HAVE_LIBATASMART
- /* set up timer for refreshing ATA SMART data - we don't want to refresh immediately because
- * when adding a device we also do this...
- */
- daemon->priv->ata_smart_refresh_timer_id = g_timeout_add_seconds (ATA_SMART_REFRESH_INTERVAL_SECONDS,
- (GSourceFunc) refresh_ata_smart_data,
- daemon);
-+#endif
-
- PROFILE ("daemon_new(): end");
- return daemon;
-diff --git a/src/device-private.c b/src/device-private.c
-index 45418ce..fb1d959 100644
---- a/src/device-private.c
-+++ b/src/device-private.c
-@@ -1390,7 +1390,7 @@ device_set_drive_ata_smart_time_collected (Device *device,
-
- void
- device_set_drive_ata_smart_status (Device *device,
-- SkSmartOverall value)
-+ guint value)
- {
- if (G_UNLIKELY (device->priv->drive_ata_smart_status != value))
- {
-diff --git a/src/device-private.h b/src/device-private.h
-index 32a9bd0..8c57c13 100644
---- a/src/device-private.h
-+++ b/src/device-private.h
-@@ -23,7 +23,6 @@
-
- #include <dbus/dbus-glib.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "types.h"
-
-@@ -228,7 +227,7 @@ struct DevicePrivate
-
- gboolean drive_ata_smart_is_available;
- guint64 drive_ata_smart_time_collected;
-- SkSmartOverall drive_ata_smart_status;
-+ guint drive_ata_smart_status;
- void *drive_ata_smart_blob;
- gsize drive_ata_smart_blob_size;
-
-@@ -396,7 +395,7 @@ void device_set_holders_objpath (Device *device, GStrv value);
-
- void device_set_drive_ata_smart_is_available (Device *device, gboolean value);
- void device_set_drive_ata_smart_time_collected (Device *device, guint64 value);
--void device_set_drive_ata_smart_status (Device *device, SkSmartOverall value);
-+void device_set_drive_ata_smart_status (Device *device, guint value);
- void device_set_drive_ata_smart_blob_steal (Device *device, gchar *blob, gsize blob_size);
-
- G_END_DECLS
-diff --git a/src/device.c b/src/device.c
-index 2ae7f38..d73f9d6 100644
---- a/src/device.c
-+++ b/src/device.c
-@@ -50,7 +50,9 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
- #include <gudev/gudev.h>
-+#ifdef HAVE_LIBATASMART
- #include <atasmart.h>
-+#endif
-
- #include "daemon.h"
- #include "device.h"
-@@ -664,10 +666,14 @@ get_property (GObject *object,
- case PROP_DRIVE_ATA_SMART_STATUS:
- {
- const gchar *status;
-- if (device->priv->drive_ata_smart_status == (SkSmartOverall) - 1)
-+#ifdef HAVE_LIBATASMART
-+ if (device->priv->drive_ata_smart_status == (guint) - 1)
- status = "";
- else
- status = sk_smart_overall_to_string (device->priv->drive_ata_smart_status);
-+#else
-+ status = "";
-+#endif
- g_value_set_string (value, status);
- }
- break;
-@@ -5144,6 +5150,7 @@ device_new (Daemon *daemon,
- goto out;
- }
-
-+#ifdef HAVE_LIBATASMART
- /* if just added, update the smart data if applicable */
- if (device->priv->drive_ata_smart_is_available)
- {
-@@ -5151,6 +5158,7 @@ device_new (Daemon *daemon,
- gchar *ata_smart_refresh_data_options[] = { NULL };
- device_drive_ata_smart_refresh_data (device, ata_smart_refresh_data_options, NULL);
- }
-+#endif
-
- PROFILE ("device_new(native_path=%s): end", native_path);
- out:
-@@ -9840,16 +9848,18 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context,
- const char *stdout,
- gpointer user_data)
- {
-+#ifdef HAVE_LIBATASMART
- gint rc;
-- SkDisk *d;
-+ SkDisk *d = NULL;
-+ SkSmartOverall overall;
- gchar *blob;
- gsize blob_size;
- time_t time_collected;
-- SkSmartOverall overall;
-+#endif
-
- PROFILE ("drive_ata_smart_refresh_data_completed_cb(device=%s) start", device->priv->native_path);
-
-- d = NULL;
-+#ifdef HAVE_LIBATASMART
- blob = NULL;
-
- if (job_was_cancelled || stdout == NULL)
-@@ -9953,6 +9963,11 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context,
- g_free (blob);
- if (d != NULL)
- sk_disk_free (d);
-+
-+#else
-+ throw_error (context, ERROR_FAILED, "libatasmart support disabled");
-+#endif
-+
- PROFILE ("drive_ata_smart_refresh_data_completed_cb(device=%s) end", device->priv->native_path);
- }
-
-diff --git a/src/expander-private.h b/src/expander-private.h
-index ef4f440..98a8300 100644
---- a/src/expander-private.h
-+++ b/src/expander-private.h
-@@ -23,7 +23,6 @@
-
- #include <dbus/dbus-glib.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "types.h"
-
-diff --git a/src/expander.c b/src/expander.c
-index 734ec0a..e799f13 100644
---- a/src/expander.c
-+++ b/src/expander.c
-@@ -34,7 +34,6 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
- #include <stdlib.h>
-
- #include "daemon.h"
-diff --git a/src/helpers/Makefile.am b/src/helpers/Makefile.am
-index 4b863c0..d3ec4e9 100644
---- a/src/helpers/Makefile.am
-+++ b/src/helpers/Makefile.am
-@@ -19,15 +19,9 @@ INCLUDES = \
-
- libexec_PROGRAMS = \
- udisks-helper-mkfs \
-- udisks-helper-delete-partition \
-- udisks-helper-create-partition \
-- udisks-helper-modify-partition \
-- udisks-helper-create-partition-table \
- udisks-helper-change-filesystem-label \
- udisks-helper-linux-md-remove-component \
- udisks-helper-fstab-mounter \
-- udisks-helper-ata-smart-collect \
-- udisks-helper-ata-smart-selftest \
- udisks-helper-drive-detach \
- udisks-helper-drive-poll \
- udisks-helper-linux-md-check \
-@@ -48,6 +42,13 @@ udisks_helper_mkfs_SOURCES = job-shared.h job-mkfs.c
- udisks_helper_mkfs_CPPFLAGS = $(AM_CPPFLAGS)
- udisks_helper_mkfs_LDADD = $(GLIB_LIBS)
-
-+if HAVE_PARTED
-+libexec_PROGRAMS += \
-+ udisks-helper-delete-partition \
-+ udisks-helper-create-partition \
-+ udisks-helper-modify-partition \
-+ udisks-helper-create-partition-table
-+
- udisks_helper_delete_partition_SOURCES = job-shared.h job-delete-partition.c
- udisks_helper_delete_partition_CPPFLAGS = $(AM_CPPFLAGS)
- udisks_helper_delete_partition_LDADD = $(GLIB_LIBS) libpartutil.la
-@@ -63,11 +64,17 @@ udisks_helper_modify_partition_LDADD = $(GLIB_LIBS) libpartutil.la
- udisks_helper_create_partition_table_SOURCES = job-shared.h job-create-partition-table.c
- udisks_helper_create_partition_table_CPPFLAGS = $(AM_CPPFLAGS)
- udisks_helper_create_partition_table_LDADD = $(GLIB_LIBS) libpartutil.la
-+endif
-
- udisks_helper_change_filesystem_label_SOURCES = job-shared.h job-change-filesystem-label.c
- udisks_helper_change_filesystem_label_CPPFLAGS = $(AM_CPPFLAGS)
- udisks_helper_change_filesystem_label_LDADD = $(GLIB_LIBS)
-
-+if HAVE_LIBATASMART
-+libexec_PROGRAMS += \
-+ udisks-helper-ata-smart-collect \
-+ udisks-helper-ata-smart-selftest
-+
- udisks_helper_ata_smart_selftest_SOURCES = job-shared.h job-ata-smart-selftest.c
- udisks_helper_ata_smart_selftest_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS) $(GLIB_CFLAGS)
- udisks_helper_ata_smart_selftest_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS)
-@@ -75,6 +82,7 @@ udisks_helper_ata_smart_selftest_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS)
- udisks_helper_ata_smart_collect_SOURCES = job-ata-smart-collect.c
- udisks_helper_ata_smart_collect_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS) $(GLIB_CFLAGS)
- udisks_helper_ata_smart_collect_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS)
-+endif
-
- udisks_helper_linux_md_remove_component_SOURCES = job-shared.h job-linux-md-remove-component.c
- udisks_helper_linux_md_remove_component_CPPFLAGS = $(AM_CPPFLAGS)
-diff --git a/src/helpers/partutil.c b/src/helpers/partutil.c
-index 72a8fe3..8893a39 100644
---- a/src/helpers/partutil.c
-+++ b/src/helpers/partutil.c
-@@ -62,7 +62,6 @@ DEBUG (const gchar *format,
- # include <config.h>
- #endif
-
--#define USE_PARTED
- #ifdef USE_PARTED
- #include <parted/parted.h>
- #endif
-@@ -928,6 +927,7 @@ part_table_parse_apple (int fd,
- return p;
- }
-
-+#ifdef USE_PARTED
- static PartitionTable *
- part_table_load_from_disk_from_file (char *device_file)
- {
-@@ -948,6 +948,7 @@ part_table_load_from_disk_from_file (char *device_file)
- out:
- return ret;
- }
-+#endif
-
- PartitionTable *
- part_table_load_from_disk (int fd)
-diff --git a/src/port-private.h b/src/port-private.h
-index cc48376..a91532f 100644
---- a/src/port-private.h
-+++ b/src/port-private.h
-@@ -23,7 +23,6 @@
-
- #include <dbus/dbus-glib.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "types.h"
-
-diff --git a/src/probers/Makefile.am b/src/probers/Makefile.am
-index 06bb566..01c693b 100644
---- a/src/probers/Makefile.am
-+++ b/src/probers/Makefile.am
-@@ -22,8 +22,6 @@ INCLUDES = \
-
- udevhelperdir = $(slashlibdir)/udev
- udevhelper_PROGRAMS = udisks-part-id \
-- udisks-dm-export \
-- udisks-probe-ata-smart \
- udisks-probe-sas-expander \
- $(NULL)
-
-@@ -35,17 +33,23 @@ udisks_part_id_SOURCES = part-id.c
- udisks_part_id_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUDEV_CFLAGS)
- udisks_part_id_LDADD = $(GLIB_LIBS) $(LIBUDEV_LIBS) $(top_builddir)/src/helpers/libpartutil.la
-
-+if HAVE_DEVMAPPER
-+udevhelper_PROGRAMS += udisks-dm-export
- udisks_dm_export_SOURCES = udisks-dm-export.c
- udisks_dm_export_CPPFLAGS = $(AM_CPPFLAGS) $(DEVMAPPER_CFLAGS) $(GLIB_CFLAGS)
- udisks_dm_export_LDADD = $(DEVMAPPER_LIBS) $(GLIB_LIBS)
-+endif
-
- udisks_lvm_pv_export_SOURCES = udisks-lvm-pv-export.c
- udisks_lvm_pv_export_CPPFLAGS = $(AM_CPPFLAGS) $(DEVMAPPER_CFLAGS) $(LVM2_CFLAGS) $(GLIB_CFLAGS)
- udisks_lvm_pv_export_LDADD = $(DEVMAPPER_LIBS) $(LVM2_LIBS) $(GLIB_LIBS)
-
-+if HAVE_LIBATASMART
-+udevhelper_PROGRAMS += udisks-probe-ata-smart
- udisks_probe_ata_smart_SOURCES = udisks-probe-ata-smart.c
- udisks_probe_ata_smart_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS)
- udisks_probe_ata_smart_LDADD = $(LIBATASMART_LIBS)
-+endif
-
- udisks_probe_sas_expander_SOURCES = udisks-probe-sas-expander.c
- udisks_probe_sas_expander_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
-diff --git a/tools/udisks.c b/tools/udisks.c
-index 97e80d7..d30159b 100644
---- a/tools/udisks.c
-+++ b/tools/udisks.c
-@@ -43,7 +43,9 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
-
-+#ifdef HAVE_LIBATASMART
- #include <atasmart.h>
-+#endif
-
- #include "udisks-daemon-glue.h"
- #include "udisks-device-glue.h"
-@@ -983,6 +985,7 @@ end_highlight (void)
- g_print ("\x1B[0m");
- }
-
-+#ifdef HAVE_LIBATASMART
- static const gchar *
- ata_smart_status_to_desc (const gchar *status,
- gboolean *out_highlight)
-@@ -1163,6 +1166,7 @@ print_ata_smart_attr (SkDisk *d,
- g_free (threshold_str);
- g_free (pretty);
- }
-+#endif
-
- static void
- do_show_info (const char *object_path)
-@@ -1445,7 +1449,7 @@ do_show_info (const char *object_path)
- g_print (" if speed: %" G_GINT64_FORMAT " bits/s\n", props->drive_connection_speed);
-
- /* ------------------------------------------------------------------------------------------------- */
--
-+#ifdef HAVE_LIBATASMART
- if (!props->drive_ata_smart_is_available)
- {
- g_print (" ATA SMART: not available\n");
-@@ -1498,7 +1502,9 @@ do_show_info (const char *object_path)
- }
-
- }
--
-+#else
-+ g_print (" ATA SMART: not supported\n");
-+#endif
- /* ------------------------------------------------------------------------------------------------- */
-
- }
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch
deleted file mode 100644
index d4efa93d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a4f6aa5be37ae6e2194c9ded2ea8c1da330f5694 Mon Sep 17 00:00:00 2001
-From: David King <amigadave@amigadave.com>
-Date: Thu, 2 Jul 2015 13:49:22 +0100
-Subject: [PATCH] Fix systemd service file
-
-udisks-daemon is installed to $(libexecdir), not $(prefix)/lib/udisks.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1238664
-https://bugs.freedesktop.org/show_bug.cgi?id=91191
-
-Taken-From: [1]
-[1] http://pkgs.fedoraproject.org/cgit/udisks.git/tree/udisks-1.0.5-fix-service-file.patch
-
-Upstream-Status: Pending
-
----
- data/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/Makefile.am b/data/Makefile.am
-index 411ea0f..08af5f4 100644
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -31,7 +31,7 @@ systemdservicedir = $(systemdsystemunitdir)
- systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
-
- $(systemdservice_DATA): $(systemdservice_in_files) Makefile
-- @sed -e "s|\@libexecdir\@|$(prefix)/lib/udisks|" $< > $@
-+ @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
- endif
-
- udevrulesdir = $(slashlibdir)/udev/rules.d
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch
deleted file mode 100644
index 98e6c75f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-musl does not define __GNUC_PREREQ therefore check for C library being glibc
-if not then define the macro
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: udisks-2.1.7/udisks/udisksclient.c
-===================================================================
---- udisks-2.1.7.orig/udisks/udisksclient.c
-+++ udisks-2.1.7/udisks/udisksclient.c
-@@ -27,8 +27,15 @@
- #include "udisksobjectinfo.h"
-
- /* For __GNUC_PREREQ usage below */
--#ifdef __GNUC__
-+#ifdef __GLIBC__
- # include <features.h>
-+#else
-+#if defined(__GNUC__)
-+#define __GNUC_PREREQ(__maj, __min) \
-+ (__GNUC__ > (__maj) || __GNUC__ == (__maj) && __GNUC_MINOR__ >= (__min))
-+#else
-+#define __GNUC_PREREQ(__maj, __min) 0
-+#endif
- #endif
-
- /**
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.8.bb b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.8.bb
deleted file mode 100644
index 64b338f1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.8.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
-
-DEPENDS = " \
- acl \
- libatasmart \
- polkit \
- libgudev \
- dbus-glib \
- glib-2.0 \
- libblockdev \
- intltool-native \
- gnome-common-native \
- libxslt-native \
-"
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-RDEPENDS_${PN} = "acl"
-
-SRC_URI = " \
- git://github.com/storaged-project/udisks.git;branch=2.7.x-branch \
- file://non-gnu-libc.patch \
-"
-SRCREV = "47bc0141cb84624ba1e2242d596a89a30df1f5ea"
-S = "${WORKDIR}/git"
-
-CVE_PRODUCT = "udisks"
-
-inherit autotools systemd gtk-doc gobject-introspection
-
-EXTRA_OECONF = "--disable-man --disable-gtk-doc"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/ \
- ${datadir}/polkit-1 \
- ${datadir}/bash-completion \
- ${libdir}/polkit-1/extensions/*.so \
- ${nonarch_base_libdir}/udev/* \
- ${exec_prefix}${nonarch_base_libdir}/udisks2/* \
- ${systemd_system_unitdir} \
-"
-
-PACKAGES =+ "${PN}-libs"
-FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb
new file mode 100644
index 00000000..ecaf01e7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb
@@ -0,0 +1,55 @@
+SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
+
+DEPENDS = " \
+ acl \
+ libatasmart \
+ polkit \
+ libgudev \
+ dbus-glib \
+ glib-2.0 \
+ libblockdev \
+ libxslt-native \
+"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+RDEPENDS_${PN} = "acl"
+
+SRC_URI = " \
+ git://github.com/storaged-project/udisks.git;branch=master \
+"
+PV = "2.8.4+git${SRCREV}"
+SRCREV = "db5f487345da2eaa87976450ea51c2c465d9b82e"
+S = "${WORKDIR}/git"
+
+CVE_PRODUCT = "udisks"
+
+inherit autotools systemd gtk-doc gobject-introspection gettext features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+EXTRA_OECONF = "--disable-man --disable-gtk-doc"
+
+do_configure_prepend() {
+ # | configure.ac:656: error: required file 'build-aux/config.rpath' not found
+ mkdir -p ${S}/build-aux
+ touch ${S}/build-aux/config.rpath
+}
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/ \
+ ${datadir}/polkit-1 \
+ ${datadir}/bash-completion \
+ ${libdir}/polkit-1/extensions/*.so \
+ ${nonarch_base_libdir}/udev/* \
+ ${exec_prefix}${nonarch_base_libdir}/udisks2/* \
+ ${systemd_system_unitdir} \
+"
+
+PACKAGES =+ "${PN}-libs"
+FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
+FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb b/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
deleted file mode 100644
index 7cd99922..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-DESCRIPTION = "A storage daemon that implements well-defined D-Bus interfaces that can be used to query and manipulate storage devices."
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=73d83aebe7e4b62346afde80e0e94273"
-
-DEPENDS = "libatasmart sg3-utils polkit libgudev dbus-glib glib-2.0 intltool-native \
- dbus-glib-native \
-"
-# optional dependencies: device-mapper parted
-
-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 \
- file://0001-include-sys-sysmacros.h.patch \
- "
-
-SRC_URI[udisks.md5sum] = "70d48dcfe523a74cd7c7fbbc2847fcdd"
-SRC_URI[udisks.sha256sum] = "f2ec82eb0ea7e01dc299b5b29b3c18cdf861236ec43dcff66b3552b4b31c6f71"
-
-inherit autotools-brokensep systemd gtk-doc
-
-PACKAGECONFIG ??= "libdevmapper"
-PACKAGECONFIG[libdevmapper] = "--enable-devmapper,--disable-devmapper,libdevmapper"
-PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted"
-
-EXTRA_OECONF = "--disable-man-pages --libdir=${base_libdir} --sbindir=${base_sbindir}"
-EXTRA_OEMAKE = "udevrulesdir=${nonarch_base_libdir}/udev/rules.d/"
-
-FILES_${PN} += "${libdir}/polkit-1/extensions/*.so \
- ${datadir}/dbus-1/ \
- ${datadir}/polkit-1 \
- ${nonarch_base_libdir}/udev/* \
-"
-
-FILES_${PN}-dbg += "${nonarch_base_libdir}/udev/.debug"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "udisks.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.0.0.bb b/external/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.0.0.bb
deleted file mode 100644
index 6306ddb5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.0.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "USB hub per-port power control"
-HOMEPAGE = "https://github.com/mvp/uhubctl"
-BUGTRACKER = "https://github.com/mvp/uhubctl/issues"
-DEPENDS = "libusb1"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/mvp/${PN}/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "5c711911d766d76813333c3812277574"
-SRC_URI[sha256sum] = "4c31278b2c03e5be5a696c3088bc86cf2557a70e00f697799c163aba18e3c40e"
-
-# uhubctl gets its program version from "git describe". As we use the source
-# archive do reduce download size replace the call with our hardcoded version.
-do_configure_append() {
- sed -i "s/^\(GIT_VERSION :=\).*$/\1 ${PV}/g" ${S}/Makefile
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb b/external/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb
new file mode 100644
index 00000000..b294d77b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "USB hub per-port power control"
+HOMEPAGE = "https://github.com/mvp/uhubctl"
+BUGTRACKER = "https://github.com/mvp/uhubctl/issues"
+DEPENDS = "libusb1"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV = "c9fa3c68a1b2c9790c731602b8bae2b513e80605"
+SRC_URI = "git://github.com/mvp/${BPN}"
+S = "${WORKDIR}/git"
+
+# uhubctl gets its program version from "git describe". As we use the source
+# archive do reduce download size replace the call with our hardcoded version.
+do_configure_append() {
+ sed -i "s/^\(GIT_VERSION :=\).*$/\1 ${PV}/g" ${S}/Makefile
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch b/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
deleted file mode 100644
index 391b0e68..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 82f44f53b9a9766c2ec816f237506beb953eb332 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@suse.de>
-Date: Wed, 29 Oct 2014 14:18:28 +0100
-Subject: [PATCH] Add support for aarch64
-
-* include/private/gcconfig.h: Add support for aarch64.
-
----
- sigscheme/libgcroots/include/private/gcconfig.h | 37 +++++++++++++++++++++++++
- 1 file changed, 37 insertions(+)
-
-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"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch b/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch
new file mode 100644
index 00000000..34a1ea0f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch
@@ -0,0 +1,29 @@
+From f828a89cc1e956d56498422ec158d284fc97de3f Mon Sep 17 00:00:00 2001
+From: OBATA Akio <obache@outlook.com>
+Date: Fri, 10 Aug 2018 18:38:18 +0900
+Subject: [PATCH] Fix to set libedit path from configure option properly
+
+Upstream-Status: Backport [https://github.com/uim/uim/pull/134]
+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 00d1b02..9c0a5ec 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1311,8 +1311,8 @@ if test "x$with_libedit" != xno; then
+ if test "x$with_libedit" = xyes; then
+ libedit_path=/usr
+ else
+- with_libedit=yes
+ libedit_path="$with_libedit"
++ with_libedit=yes
+ fi
+
+ saved_CPPFLAGS=$CPPFLAGS
+--
+2.23.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch b/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
deleted file mode 100644
index 0c8f02d6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 08b5e51224ed95b1e76e99873b5f9f59840b0a74 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Fri, 21 Aug 2015 15:58:42 +0900
-Subject: [PATCH] fix bug for cross compile
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9be879c..9249bfd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1208,8 +1208,8 @@ AC_HELP_STRING([--with-libedit[=DIR], Enable libedit support
- if test "x$use_libedit" != "xno"; then
- saved_CPPFLAGS=$CPPFLAGS
- saved_LDFLAGS=$LDFLAGS
-- CPPFLAGS="${CPPFLAGS} -I$libedit_path/include"
-- LDFLAGS="${LDFLAGS} -L$libedit_path/lib"
-+ CPPFLAGS="${CPPFLAGS} "
-+ LDFLAGS="${LDFLAGS} "
- AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
- [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
- AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uim/uim/JMP_BUF_GC_jmp_buf.patch b/external/meta-openembedded/meta-oe/recipes-support/uim/uim/JMP_BUF_GC_jmp_buf.patch
new file mode 100644
index 00000000..adb9c4b0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/uim/uim/JMP_BUF_GC_jmp_buf.patch
@@ -0,0 +1,15 @@
+Fix error pointed out by gcc10
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/sigscheme/libgcroots/include/private/gc_priv.h
++++ b/sigscheme/libgcroots/include/private/gc_priv.h
+@@ -2026,7 +2026,7 @@ void GC_err_puts(const char *s);
+
+ # if defined(NEED_FIND_LIMIT) || \
+ defined(USE_PROC_FOR_LIBRARIES) && defined(THREADS)
+-JMP_BUF GC_jmp_buf;
++extern JMP_BUF GC_jmp_buf;
+
+ /* Set up a handler for address faults which will longjmp to */
+ /* GC_jmp_buf; */
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch b/external/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
index 3078af05..0fafc853 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
@@ -6,11 +6,9 @@ Date: Fri, 26 Jun 2015 12:57:48 +0900
scm/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/scm/Makefile.am b/scm/Makefile.am
-index 14d9393..e8a1083 100644
--- a/scm/Makefile.am
+++ b/scm/Makefile.am
-@@ -119,7 +119,7 @@ if EXPAT
+@@ -115,7 +115,7 @@ if EXPAT
module_names += "yahoo-jp"
endif
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb b/external/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
deleted file mode 100644
index 1c58d40b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
+++ /dev/null
@@ -1,144 +0,0 @@
-DESCRIPTION = "A multilingual user input method library"
-HOMEPAGE = "http://uim.freedesktop.org/"
-LICENSE = "BSD-3-Clause & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32463fd29aa303fb2360faeeae17256b"
-SECTION = "inputmethods"
-
-SRC_URI = "https://github.com/uim/uim/releases/download/uim-${PV}/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"
-
-DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool"
-DEPENDS_append_class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
-
-RDEPENDS_uim = "libuim0 libedit"
-RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0"
-RDEPENDS_uim-anthy_append_libc-glibc = " glibc-utils glibc-gconv-euc-jp"
-
-LEAD_SONAME = "libuim.so.1"
-
-inherit distro_features_check autotools pkgconfig gettext qemu gtk-immodules-cache
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-GTKIMMODULES_PACKAGES = "uim-gtk2.0 uim-gtk3"
-
-EXTRA_OECONF += "--disable-emacs \
- --without-scim \
- --without-m17nlib \
- --without-prime \
- --without-canna \
- --without-mana \
- --without-eb \
-"
-
-CONFIGUREOPTS_remove_class-target = "--disable-silent-rules"
-
-#Because m4 file's find maxdepth=2, so copy the m4 files of the deep depth.
-do_configure_prepend () {
- cp ${S}/sigscheme/m4/* ${S}/m4/
-}
-
-do_install_append() {
- rm -rf ${D}/${datadir}/applications
-}
-
-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-* \
- ${libdir}/libuim-scm* \
- ${libdir}/libgcroots* \
- ${libdir}/uim/plugin/libuim-* \
-"
-
-FILES_libuim0 = "${libdir}/uim/plugin/libuim-custom-enabler.* \
- ${libdir}/libuim-custom.so.* \
- ${datadir}/locale/ja/LC_MESSAGES/uim.mo \
- ${datadir}/locale/fr/LC_MESSAGES/uim.mo \
- ${datadir}/locale/ko/LC_MESSAGES/uim.mo \
- ${libdir}/libuim.so.* \
-"
-FILES_libuim-dev = "${libdir}/libuim*.a \
- ${libdir}/libuim*.la \
- ${libdir}/libuim*.so \
- ${includedir}/uim \
- ${libdir}/pkgconfig/uim.pc \
-"
-FILES_uim-anthy = "${libdir}/uim/plugin/libuim-anthy.* \
- ${datadir}/uim/anthy*.scm \
-"
-FILES_${PN}-dbg += "${libdir}/*/*/*/.debug ${libdir}/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/uim/plugin/*.la"
-
-FILES_uim-utils = "${bindir}/uim-sh \
- ${bindir}/uim-module-manager \
- ${libexecdir}/uim-helper-server \
-"
-FILES_uim-xim = "${bindir}/uim-xim \
- ${libexecdir}/uim-candwin-*gtk \
- ${libexecdir}/uim-candwin-*gtk3 \
- ${datadir}/man/man1/uim-xim.1 \
- ${sysconfdir}/X11/xinit/xinput.d/uim* \
-"
-FILES_uim-common = "${datadir}/uim/pixmaps/*.png \
- ${datadir}/uim \
-"
-FILES_uim-fep = "${bindir}/uim-fep*"
-
-FILES_uim-gtk2.0 = "${libdir}/gtk-2.0 \
- ${bindir}/uim-toolbar-gtk \
- ${bindir}/uim-toolbar-gtk-systray \
- ${bindir}/uim-*-gtk \
- ${bindir}/uim-input-pad-ja \
- ${libdir}/uim/uim-*-gtk \
-"
-FILES_uim-gtk3 = "${libdir}/gtk-3.0 \
- ${bindir}/uim-toolbar-gtk3 \
- ${bindir}/uim-toolbar-gtk3-systray \
- ${bindir}/uim-*-gtk3 \
- ${libdir}/uim/uim-*-gtk3 \
-"
-FILES_uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
- ${datadir}/uim/skk*.scm \
-"
-
-PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_uim-anthy() {
- if test -n "$D"; then
- ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register anthy --path $D${datadir}/uim
- else
- uim-module-manager --register anthy --path ${datadir}/uim
- fi
-}
-
-pkg_prerm_uim-anthy() {
- if test -n "$D"; then
- ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister anthy
- else
- uim-module-manager --path ${datadir}/uim --unregister anthy
- fi
-}
-
-pkg_postinst_uim-skk() {
- if test -n "$D"; then
- ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register skk --path $D${datadir}/uim
- else
- uim-module-manager --register skk --path ${datadir}/uim
- fi
-}
-
-pkg_postrm_uim-skk() {
- if test -n "$D"; then
- ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister skk
- else
- uim-module-manager --path ${datadir}/uim --unregister skk
- fi
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb b/external/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
new file mode 100644
index 00000000..507a3414
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
@@ -0,0 +1,154 @@
+DESCRIPTION = "A multilingual user input method library"
+HOMEPAGE = "http://uim.freedesktop.org/"
+LICENSE = "BSD-3-Clause & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ab2826b41ca0ff4030d38cc39791d1c8"
+SECTION = "inputmethods"
+
+SRC_URI = "https://github.com/uim/uim/releases/download/${PV}/uim-${PV}.tar.bz2 \
+ file://0001-Fix-to-set-libedit-path-from-configure-option-proper.patch \
+ file://JMP_BUF_GC_jmp_buf.patch \
+"
+SRC_URI_append_class-target = "\
+ file://uim-module-manager.patch \
+"
+SRC_URI[md5sum] = "01c7bd5d0d4f3a9f6f5befe6f57a470b"
+SRC_URI[sha256sum] = "34599bbcc4e5ab87832370763e38be5100984a64237555e9234a1ea225a0fadc"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+
+DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool libedit"
+DEPENDS_append_class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
+
+RDEPENDS_uim = "libuim0 libedit"
+RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0"
+RDEPENDS_uim-anthy_append_libc-glibc = " glibc-utils glibc-gconv-euc-jp"
+
+LEAD_SONAME = "libuim.so.1"
+
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
+inherit features_check autotools pkgconfig gettext qemu gtk-immodules-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+GTKIMMODULES_PACKAGES = "uim-gtk2.0 uim-gtk3"
+
+EXTRA_OECONF += "--disable-emacs \
+ --with-libedit=${STAGING_EXECPREFIXDIR} \
+ --without-scim \
+ --without-m17nlib \
+ --without-prime \
+ --without-canna \
+ --without-mana \
+ --without-eb \
+"
+
+CONFIGUREOPTS_remove_class-target = "--disable-silent-rules"
+
+# https://github.com/uim/uim/issues/44
+PARALLEL_MAKE = ""
+
+#Because m4 file's find maxdepth=2, so copy the m4 files of the deep depth.
+do_configure_prepend () {
+ cp ${S}/sigscheme/m4/* ${S}/m4/
+}
+
+do_install_append() {
+ rm -rf ${D}/${datadir}/applications
+}
+
+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-* \
+ ${libdir}/libuim-scm* \
+ ${libdir}/libgcroots* \
+ ${libdir}/uim/plugin/libuim-* \
+"
+
+FILES_libuim0 = "${libdir}/uim/plugin/libuim-custom-enabler.* \
+ ${libdir}/libuim-custom.so.* \
+ ${datadir}/locale/ja/LC_MESSAGES/uim.mo \
+ ${datadir}/locale/fr/LC_MESSAGES/uim.mo \
+ ${datadir}/locale/ko/LC_MESSAGES/uim.mo \
+ ${libdir}/libuim.so.* \
+"
+FILES_libuim-dev = "${libdir}/libuim*.a \
+ ${libdir}/libuim*.la \
+ ${libdir}/libuim*.so \
+ ${includedir}/uim \
+ ${libdir}/pkgconfig/uim.pc \
+"
+FILES_uim-anthy = "${libdir}/uim/plugin/libuim-anthy.* \
+ ${datadir}/uim/anthy*.scm \
+"
+FILES_${PN}-dbg += "${libdir}/*/*/*/.debug ${libdir}/*/*/.debug"
+FILES_${PN}-dev += "${libdir}/uim/plugin/*.la"
+
+FILES_uim-utils = "${bindir}/uim-sh \
+ ${bindir}/uim-module-manager \
+ ${libexecdir}/uim-helper-server \
+"
+FILES_uim-xim = "${bindir}/uim-xim \
+ ${libexecdir}/uim-candwin-*gtk \
+ ${libexecdir}/uim-candwin-*gtk3 \
+ ${datadir}/man/man1/uim-xim.1 \
+ ${sysconfdir}/X11/xinit/xinput.d/uim* \
+"
+FILES_uim-common = "${datadir}/uim/pixmaps/*.png \
+ ${datadir}/uim \
+"
+FILES_uim-fep = "${bindir}/uim-fep*"
+
+FILES_uim-gtk2.0 = "${libdir}/gtk-2.0 \
+ ${bindir}/uim-toolbar-gtk \
+ ${bindir}/uim-toolbar-gtk-systray \
+ ${bindir}/uim-*-gtk \
+ ${bindir}/uim-input-pad-ja \
+ ${libdir}/uim/uim-*-gtk \
+"
+FILES_uim-gtk3 = "${libdir}/gtk-3.0 \
+ ${bindir}/uim-toolbar-gtk3 \
+ ${bindir}/uim-toolbar-gtk3-systray \
+ ${bindir}/uim-*-gtk3 \
+ ${libdir}/uim/uim-*-gtk3 \
+"
+FILES_uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
+ ${datadir}/uim/skk*.scm \
+"
+
+PACKAGE_WRITE_DEPS += "qemu-native"
+pkg_postinst_uim-anthy() {
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register anthy --path $D${datadir}/uim
+ else
+ uim-module-manager --register anthy --path ${datadir}/uim
+ fi
+}
+
+pkg_prerm_uim-anthy() {
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister anthy
+ else
+ uim-module-manager --path ${datadir}/uim --unregister anthy
+ fi
+}
+
+pkg_postinst_uim-skk() {
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register skk --path $D${datadir}/uim
+ else
+ uim-module-manager --register skk --path ${datadir}/uim
+ fi
+}
+
+pkg_postrm_uim-skk() {
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister skk
+ else
+ uim-module-manager --path ${datadir}/uim --unregister skk
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/unicode-ucd/files/license.html b/external/meta-openembedded/meta-oe/recipes-support/unicode-ucd/files/license.html
new file mode 100644
index 00000000..a02442ad
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/unicode-ucd/files/license.html
@@ -0,0 +1,98 @@
+<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html>
+
+
+
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="VI60_defaultClientScript" content="JavaScript">
+<meta name="GENERATOR" content="Microsoft FrontPage 12.0">
+<meta name="keywords" content="Unicode Standard, copyright">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Unicode License Agreement</title>
+<link rel="stylesheet" type="text/css"
+
+href="http://www.unicode.org/webscripts/standard_styles.css">
+
+<style type="text/css">
+pre {
+ FONT-FAMILY: Arial, Geneva, sans-serif;
+}
+</style>
+
+
+</head>
+
+
+<body text="#330000">
+
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+
+ <!-- BEGIN CONTENTS -->
+
+ <td>
+
+
+<blockquote>
+<h2><a name="License">UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE</a></h2>
+
+<pre>
+See <a href="https://www.unicode.org/copyright.html">Terms of Use</a> for definitions of Unicode Inc.'s
+Data Files and Software.
+
+NOTICE TO USER: Carefully read the following legal agreement.
+BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
+DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
+YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
+TERMS AND CONDITIONS OF THIS AGREEMENT.
+IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
+THE DATA FILES OR SOFTWARE.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright © 1991-2019 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+</pre>
+
+</blockquote>
+
+
+
+ </td>
+
+ </tr>
+
+ </table>
+</body>
+</html>
diff --git a/external/meta-openembedded/meta-oe/recipes-support/unicode-ucd/unicode-ucd_12.1.0.bb b/external/meta-openembedded/meta-oe/recipes-support/unicode-ucd/unicode-ucd_12.1.0.bb
new file mode 100644
index 00000000..b29bb784
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/unicode-ucd/unicode-ucd_12.1.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Unicode Character Database"
+HOMEPAGE = "https://unicode.org/ucd/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../license.html;beginline=42;endline=85;md5=ddcaebcc17ab633995f12c383599f377"
+
+SRC_URI = " \
+ https://www.unicode.org/Public/zipped/${PV}/UCD.zip;name=ucd;subdir=ucd \
+ file://license.html \
+"
+SRC_URI[ucd.md5sum] = "430cbdac2615451571dd69a976dd08f6"
+SRC_URI[ucd.sha256sum] = "25ba51a0d4c6fa41047b7a5e5733068d4a734588f055f61e85f450097834a0a6"
+
+inherit allarch
+
+do_configure[noexec] = "1"
+
+do_install() {
+ install -d ${D}${datadir}/unicode
+ cp -rf ${WORKDIR}/ucd ${D}${datadir}/unicode
+}
+
+FILES_${PN} = "${datadir}/unicode/ucd"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb b/external/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb
deleted file mode 100644
index 2674d354..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "An Open Source ODBC sub-system"
-DESCRIPTION = "unixODBC is an Open Source ODBC sub-system and an ODBC SDK \
-for Linux, Mac OSX, and UNIX."
-
-HOMEPAGE = "http://www.unixodbc.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206"
-
-DEPENDS = "libtool mysql5"
-
-SRC_URI = "ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-${PV}.tar.gz \
- file://do-not-use-libltdl-source-directory.patch \
-"
-SRC_URI[md5sum] = "a8629fd2953b04b4639d0a9d8a5cf9d1"
-SRC_URI[sha256sum] = "88b637f647c052ecc3861a3baa275c3b503b193b6a49ff8c28b2568656d14d69"
-
-UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/unixODBC-${PV}"
-
-EXTRA_OEMAKE += "LIBS=-lltdl"
-
-do_configure_prepend() {
- # old m4 files will cause libtool version don't match
- rm -rf m4/*
- rm -fr libltdl
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb b/external/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
new file mode 100644
index 00000000..61378fec
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
@@ -0,0 +1,29 @@
+SUMMARY = "An Open Source ODBC sub-system"
+DESCRIPTION = "unixODBC is an Open Source ODBC sub-system and an ODBC SDK \
+for Linux, Mac OSX, and UNIX."
+
+HOMEPAGE = "http://www.unixodbc.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206"
+
+DEPENDS = "libtool readline"
+
+SRC_URI = "http://ftp.unixodbc.org/unixODBC-${PV}.tar.gz \
+ file://do-not-use-libltdl-source-directory.patch \
+"
+SRC_URI[md5sum] = "274a711b0c77394e052db6493840c6f9"
+SRC_URI[sha256sum] = "45f169ba1f454a72b8fcbb82abd832630a3bf93baa84731cf2949f449e1e3e77"
+
+UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/unixODBC-${PV}"
+
+EXTRA_OEMAKE += "LIBS=-lltdl"
+
+do_configure_prepend() {
+ # old m4 files will cause libtool version don't match
+ rm -rf m4/*
+ rm -fr libltdl
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/upower/upower/0001-linux-lower-severity-of-unhandled-action-messages.patch b/external/meta-openembedded/meta-oe/recipes-support/upower/upower/0001-linux-lower-severity-of-unhandled-action-messages.patch
deleted file mode 100644
index de89dc01..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/upower/upower/0001-linux-lower-severity-of-unhandled-action-messages.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f64b6ce8054b47e5bdcc8c4c7965534b388e6151 Mon Sep 17 00:00:00 2001
-From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-Date: Fri, 6 Apr 2018 11:26:54 -0700
-Subject: [PATCH] linux: lower severity of "unhandled action" messages
-
-Newer kernels emit bind/unbind uevents that are not of interest to
-powerd. To avoid littering logs with scary messages, let's lower their
-severity to "debug".
-
-https://bugs.freedesktop.org/show_bug.cgi?id=106019
-
-Upstream-Status: Backport
----
- src/linux/up-backend.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/linux/up-backend.c b/src/linux/up-backend.c
-index e668dc8..b8021e7 100644
---- a/src/linux/up-backend.c
-+++ b/src/linux/up-backend.c
-@@ -273,7 +273,7 @@ up_backend_uevent_signal_handler_cb (GUdevClient *client, const gchar *action,
- g_debug ("SYSFS change %s", g_udev_device_get_sysfs_path (device));
- up_backend_device_changed (backend, device);
- } else {
-- g_warning ("unhandled action '%s' on %s", action, g_udev_device_get_sysfs_path (device));
-+ g_debug ("unhandled action '%s' on %s", action, g_udev_device_get_sysfs_path (device));
- }
- }
-
---
-2.17.0.484.g0c8726318c-goog
diff --git a/external/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.11.bb b/external/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.11.bb
new file mode 100644
index 00000000..64084179
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.11.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
+
+DEPENDS = "intltool-native libusb1 libgudev glib-2.0 dbus-glib"
+
+SRC_URI = " \
+ http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+"
+SRC_URI[md5sum] = "abe6acb617f11f2e8dbd9846fcf86e24"
+SRC_URI[sha256sum] = "64b5ffbfccd5bdb15d925777979a4dbee1a957f9eaeb158dc76175267eddbdef"
+
+inherit autotools pkgconfig gettext gobject-introspection systemd features_check
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
+PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
+ --without-systemdutildir --without-systemdsystemunitdir,systemd"
+
+EXTRA_OECONF = " --with-backend=linux"
+
+SYSTEMD_SERVICE_${PN} = "upower.service"
+# don't start on boot by default - dbus does that on demand
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_configure_prepend() {
+ sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
+ sed -i -e 's: doc : :g' ${S}/Makefile.am
+}
+
+RDEPENDS_${PN} += "dbus"
+RRECOMMENDS_${PN} += "pm-utils"
+FILES_${PN} += "${datadir}/dbus-1/ \
+ ${base_libdir}/udev/* \
+"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb b/external/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
deleted file mode 100644
index 2cf3163b..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
-
-DEPENDS = "intltool-native libusb1 libgudev glib-2.0 dbus-glib polkit"
-
-SRC_URI = " \
- http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- file://0001-linux-lower-severity-of-unhandled-action-messages.patch \
-"
-SRC_URI[md5sum] = "236bb439d9ff1151450b3d8582399532"
-SRC_URI[sha256sum] = "24bcc2f6ab25a2533bac70b587bcb019e591293076920f5b5e04bdedc140a401"
-
-inherit autotools pkgconfig gettext gobject-introspection systemd
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
-PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
- --without-systemdutildir --without-systemdsystemunitdir,systemd"
-
-EXTRA_OECONF = " --with-backend=linux"
-
-SYSTEMD_SERVICE_${PN} = "upower.service"
-# don't start on boot by default - dbus does that on demand
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_configure_prepend() {
- sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
- sed -i -e 's: doc : :g' ${S}/Makefile.am
-}
-
-RDEPENDS_${PN} += "dbus"
-RRECOMMENDS_${PN} += "pm-utils"
-FILES_${PN} += "${datadir}/dbus-1/ \
- ${datadir}/polkit-1/ \
- ${base_libdir}/udev/* \
-"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb b/external/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb
deleted file mode 100644
index bfcdf837..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "RFC 3986 compliant URI parsing library"
-HOMEPAGE = "https://uriparser.github.io"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=72b0f9c74ae96eeab8cf1bf3efe08da2"
-
-SRC_URI := "${SOURCEFORGE_MIRROR}/project/uriparser/Sources/${PV}/uriparser-${PV}.tar.bz2"
-
-inherit autotools
-
-EXTRA_OECONF = "--disable-test --disable-doc"
-
-SRC_URI[md5sum] = "9aabdc3611546f553f4af372167de6d6"
-SRC_URI[sha256sum] = "ce7ccda4136974889231e8426a785e7578e66a6283009cfd13f1b24a5e657b23"
-
-BBCLASSEXTEND += "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb b/external/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb
new file mode 100644
index 00000000..d02cf5de
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb
@@ -0,0 +1,16 @@
+SUMMARY = "RFC 3986 compliant URI parsing library"
+HOMEPAGE = "https://uriparser.github.io"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fcc5a53146c2401f4b4f6a3bdf3f0168"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${BP}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "095e8a358a9ccbbef9d1f10d40495ca0fcb3d4490a948ba6449b213a66e08ef0"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DURIPARSER_BUILD_DOCS:BOOL=OFF -DURIPARSER_BUILD_TESTS:BOOL=OFF"
+
+BBCLASSEXTEND += "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb b/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb
deleted file mode 100644
index eeed5e27..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.bb b/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.bb
new file mode 100644
index 00000000..938c0f9c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.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] = "e8fce7eb949cbe16c61fb71bade4cc17"
+SRC_URI[sha256sum] = "3f039b60791c21c7cb15c7986cac89650f076dc274798fa242231b910785eaf9"
+
+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/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb b/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb
deleted file mode 100644
index ac0df8ba..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb
+++ /dev/null
@@ -1,27 +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] = "38ad5c9d70e06227a00361bdc2b1e568"
-SRC_URI[sha256sum] = "31c0be280d49a99ec3dc0be3325bef320d9c04b50714ef0ce1e36a614d687633"
-
-inherit pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "usb_modeswitch@.service"
-
-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
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${S}/usb_modeswitch@.service ${D}/${systemd_unitdir}/system
- fi
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.0.bb b/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.0.bb
new file mode 100644
index 00000000..baad3409
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) USB gear"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=091556bd6d0154cd4c2d17a1bfc7380a"
+
+DEPENDS = "libusb1"
+
+SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
+SRC_URI[md5sum] = "be73dcc84025794081a1d4d4e5a75e4c"
+SRC_URI[sha256sum] = "c215236e6bada6e659fc195a31d611ea298a4bdb4d57a0d68c553b56585f8ba3"
+
+inherit pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "usb_modeswitch@.service"
+
+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
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${S}/usb_modeswitch@.service ${D}/${systemd_unitdir}/system
+ fi
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/usbpath/usbpath/configure.patch b/external/meta-openembedded/meta-oe/recipes-support/usbpath/usbpath/configure.patch
deleted file mode 100644
index 271e6a53..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/usbpath/usbpath/configure.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: usbpath/configure.ac
-===================================================================
---- usbpath.orig/configure.ac 2014-07-17 20:40:26.000000000 +0000
-+++ usbpath/configure.ac 2014-07-18 07:01:40.933474420 +0000
-@@ -1,5 +1,5 @@
- AC_INIT([usbpath],[0.1])
--AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
-+AM_INIT_AUTOMAKE([foreign])
-
- AC_PROG_CC
- AC_PROG_RANLIB
diff --git a/external/meta-openembedded/meta-oe/recipes-support/usbpath/usbpath_svn.bb b/external/meta-openembedded/meta-oe/recipes-support/usbpath/usbpath_svn.bb
deleted file mode 100644
index 6c9cd049..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/usbpath/usbpath_svn.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Convert the physical locations of a USB device to/from its number"
-AUTHOR = "Werner Almesberger <werner@openmoko.org>"
-SECTION = "console/utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://usbpath.c;endline=20;md5=0aa8c7d2af9110c78a99fbf9a504dc3f"
-DEPENDS = "virtual/libusb0"
-DEPENDS_class-native = "virtual/libusb0-native"
-
-BBCLASSEXTEND = "native"
-
-SRCREV = "3172"
-PV = "0.0+svnr${SRCPV}"
-
-SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http \
- file://configure.patch"
-
-S = "${WORKDIR}/usbpath"
-
-inherit autotools pkgconfig
-
-RDEPENDS_${PN} += "perl"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb b/external/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb
deleted file mode 100644
index ccdd13b3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Hash table and linked list for C structures"
-DESCRIPTION = " uthash-dev provides a hash table implementation using C preprocessor macros.\n\
- This package also includes:\n\
- * utlist.h provides linked list macros for C structures\n\
- * utarray.h implements dynamic arrays using macros\n\
- * utstring.h implements a basic dynamic string\n\
-"
-HOMEPAGE = "https://troydhanson.github.io/uthash/"
-SECTION = "base"
-LICENSE = "BSD-1-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5cc1f1e4c71f19f580458586756c02b4"
-
-SRC_URI = "\
- https://github.com/troydhanson/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
- file://run-ptest \
-"
-UPSTREAM_CHECK_URI = "https://github.com/troydhanson/${BPN}/releases"
-
-SRC_URI[md5sum] = "d08632a58674274c9cd87e2930f5696a"
-SRC_URI[sha256sum] = "34a31d51dd7a839819cecd6f46049b4ffe031d7f3147d9a042f5504fdb1348d1"
-
-inherit ptest
-
-do_compile[noexec] = "1"
-
-do_compile_ptest() {
- oe_runmake -C tests tests_only TEST_TARGET=
-}
-
-do_install () {
- install -dm755 ${D}${includedir}
- install -m0644 src/*.h ${D}${includedir}
-}
-
-do_install_ptest() {
- install -dm755 ${D}${PTEST_PATH}/tests
- install -m0755 tests/test*[0-9] ${D}${PTEST_PATH}/tests
- install -m0644 tests/test*[0-9].ans ${D}${PTEST_PATH}/tests
- install -m0644 tests/test*[0-9].dat ${D}${PTEST_PATH}/tests
-}
-
-# The main package is empty and non-existent, so -dev
-# should not depend on it...
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb b/external/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb
new file mode 100644
index 00000000..09cef44a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Hash table and linked list for C structures"
+DESCRIPTION = " uthash-dev provides a hash table implementation using C preprocessor macros.\n\
+ This package also includes:\n\
+ * utlist.h provides linked list macros for C structures\n\
+ * utarray.h implements dynamic arrays using macros\n\
+ * utstring.h implements a basic dynamic string\n\
+"
+HOMEPAGE = "https://troydhanson.github.io/uthash/"
+SECTION = "base"
+LICENSE = "BSD-1-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a2513f7d2291df840527b76b2a8f9718"
+SRCREV = "8b214aefcb81df86a7e5e0d4fa20e59a6c18bc02"
+
+SRC_URI = "\
+ git://github.com/troydhanson/${BPN}.git \
+ file://run-ptest \
+"
+
+S = "${WORKDIR}/git"
+
+inherit ptest
+
+do_compile[noexec] = "1"
+
+do_compile_ptest() {
+ oe_runmake -C tests tests_only TEST_TARGET=
+}
+
+do_install () {
+ install -dm755 ${D}${includedir}
+ install -m0644 src/*.h ${D}${includedir}
+}
+
+do_install_ptest() {
+ install -dm755 ${D}${PTEST_PATH}/tests
+ install -m0755 tests/test*[0-9] ${D}${PTEST_PATH}/tests
+ install -m0644 tests/test*[0-9].ans ${D}${PTEST_PATH}/tests
+ install -m0644 tests/test*[0-9].dat ${D}${PTEST_PATH}/tests
+}
+
+# The main package is empty and non-existent, so -dev
+# should not depend on it...
+RDEPENDS_${PN}-dev = ""
+RDEPENDS_${PN}-ptest_remove = "${PN}"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..7cfd4704
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,79 @@
+From 60987a1df8eb8c9196222375574dcd7bc0ad2daa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 20:23:27 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/evemu-impl.h | 5 +++++
+ src/evemu.c | 20 ++++++++++++--------
+ 2 files changed, 17 insertions(+), 8 deletions(-)
+
+diff --git a/src/evemu-impl.h b/src/evemu-impl.h
+index acf2976..c08d861 100644
+--- a/src/evemu-impl.h
++++ b/src/evemu-impl.h
+@@ -21,6 +21,11 @@
+ #include <evemu.h>
+ #include <linux/uinput.h>
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #define EVPLAY_NBITS KEY_CNT
+ #define EVPLAY_NBYTES ((EVPLAY_NBITS + 7) / 8)
+
+diff --git a/src/evemu.c b/src/evemu.c
+index 21187af..7489449 100644
+--- a/src/evemu.c
++++ b/src/evemu.c
+@@ -363,7 +363,7 @@ int evemu_read(struct evemu_device *dev, FILE *fp)
+ int evemu_write_event(FILE *fp, const struct input_event *ev)
+ {
+ return fprintf(fp, "E: %lu.%06u %04x %04x %d\n",
+- ev->time.tv_sec, (unsigned)ev->time.tv_usec,
++ ev->input_event_sec, (unsigned)ev->input_event_usec,
+ ev->type, ev->code, ev->value);
+ }
+
+@@ -391,8 +391,8 @@ int evemu_read_event(FILE *fp, struct input_event *ev)
+ int value;
+ int ret = fscanf(fp, "E: %lu.%06u %04x %04x %d\n",
+ &sec, &usec, &type, &code, &value);
+- ev->time.tv_sec = sec;
+- ev->time.tv_usec = usec;
++ ev->input_event_sec = sec;
++ ev->input_event_usec = usec;
+ ev->type = type;
+ ev->code = code;
+ ev->value = value;
+@@ -410,13 +411,16 @@ int evemu_read_event_realtime(FILE *fp, struct input_event *ev,
+ return ret;
+
+ if (evtime) {
+- if (!evtime->tv_sec)
+- *evtime = ev->time;
+- usec = 1000000L * (ev->time.tv_sec - evtime->tv_sec);
+- usec += ev->time.tv_usec - evtime->tv_usec;
++ if (!evtime->tv_sec) {
++ evtime->tv_sec = ev->input_event_sec;
++ evtime->tv_usec = ev->input_event_usec;
++ }
++ usec = (ev->input_event_sec - evtime->tv_sec) * 1000000L;
++ usec += ev->input_event_usec - evtime->tv_usec;
+ if (usec > 500) {
+ usleep(usec);
+- *evtime = ev->time;
++ evtime->tv_sec = ev->input_event_sec;
++ evtime->tv_usec = ev->input_event_usec;
+ }
+ }
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb
index 1dd5a86d..7c5a7343 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb
@@ -7,10 +7,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
inherit autotools
-SRC_URI = "git://bitmath.org/git/evemu.git;protocol=http"
+SRC_URI = "git://bitmath.org/git/evemu.git;protocol=http \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ "
SRCREV = "9752b50e922572e4cd214ac45ed95e4ee410fe24"
-PV = "1.0.5+git${SRCPV}"
+PV = "1.0.6+git${SRCPV}"
S = "${WORKDIR}/git/"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..d405d43f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,41 @@
+From 895b6996e232700fb2a428838feaef418cc64b70 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 22:52:13 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/frame-mtdev.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/frame-mtdev.c b/src/frame-mtdev.c
+index c0f15d8..42ad380 100644
+--- a/src/frame-mtdev.c
++++ b/src/frame-mtdev.c
+@@ -25,6 +25,11 @@
+ #include <errno.h>
+ #include <math.h>
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ static int is_pointer(const struct evemu_device *dev)
+ {
+ return evemu_has_event(dev, EV_REL, REL_X) ||
+@@ -200,7 +205,7 @@ static int handle_abs_event(utouch_frame_handle fh,
+ static utouch_frame_time_t get_evtime_ms(const struct input_event *syn)
+ {
+ static const utouch_frame_time_t ms = 1000;
+- return syn->time.tv_usec / ms + syn->time.tv_sec * ms;
++ return syn->input_event_usec / ms + syn->input_event_sec * ms;
+ }
+
+ const struct utouch_frame *
diff --git a/external/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch
index f3c8eeb4..f3c8eeb4 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch
diff --git a/external/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/remove-man-page-creation.patch
index 8706d912..8706d912 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/remove-man-page-creation.patch
diff --git a/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
index 39d46af8..1ebebfa9 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
@@ -12,6 +12,7 @@ inherit autotools pkgconfig
SRC_URI = "git://bitmath.org/git/frame.git;protocol=http \
file://remove-man-page-creation.patch \
file://0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
"
SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-mtview_git.bb b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
index 8cb180dc..5f07bf28 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://bitmath.org/code/mtview/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=4c61b8950dc1aab4d2aa7c2ae6b1cfb3"
-inherit autotools pkgconfig distro_features_check
+inherit autotools pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-4.18.patch b/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-4.18.patch
deleted file mode 100644
index 93eaa3d6..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-4.18.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Description: Fix build failure with new kernel 4.18
-Author: Gianfranco Costamagna <locutusofborg@debian.org>
-
-Upstream-Status:Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: vbox_module/vboxsf/utils.c
-===================================================================
---- vbox_module.orig/vboxsf/utils.c
-+++ vbox_module/vboxsf/utils.c
-@@ -50,7 +50,11 @@ static void sf_timespec_from_ftime(RTTIM
- RTTimeSpecSetNano(ts, t);
- }
- #else /* >= 2.6.0 */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 18, 0)
- static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
-+#else
-+static void sf_ftime_from_timespec(struct timespec64 *tv, RTTIMESPEC *ts)
-+#endif
- {
- int64_t t = RTTimeSpecGetNano(ts);
- int64_t nsec;
-@@ -60,7 +64,11 @@ static void sf_ftime_from_timespec(struc
- tv->tv_nsec = nsec;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 18, 0)
- static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec *tv)
-+#else
-+static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec64 *tv)
-+#endif
- {
- int64_t t = (int64_t)tv->tv_nsec + (int64_t)tv->tv_sec * 1000000000;
- RTTimeSpecSetNano(ts, t);
diff --git a/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.18.bb b/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.18.bb
deleted file mode 100644
index 2a4cc387..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.18.bb
+++ /dev/null
@@ -1,78 +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 \
- file://kernel-4.18.patch \
-"
-SRC_URI[md5sum] = "d8e291525b84569356773eef507c49ce"
-SRC_URI[sha256sum] = "ed0a7efd56c7f39fae79c7ec3321473da412ef0d7914457b66f42679d513efcf"
-
-S = "${WORKDIR}/vbox_module"
-
-export BUILD_TARGET_ARCH="${ARCH}"
-export BUILD_TARGET_ARCH_x86-64="amd64"
-
-EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build'"
-
-addtask export_sources before do_patch after do_unpack
-
-do_export_sources() {
- mkdir -p "${S}"
- ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz
- tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
-
- # add a mount utility to use shared folder from VBox Addition Source Code
- mkdir -p "${S}/utils"
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
- install ${S}/../Makefile.utils ${S}/utils/Makefile
-
-}
-
-do_configure_prepend() {
- # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop.
- # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set. Stop.
- mkdir -p ${WORKDIR}/${KERNEL_VERSION}
- ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build
-}
-
-# compile and install mount utility
-do_compile_append() {
- oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
- if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
- echo "ERROR: One of vbox*.ko modules wasn't built"
- exit 1
- fi
-}
-
-module_do_install() {
- MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
- install -d $MODULE_DIR
- install -m 644 vboxguest.ko $MODULE_DIR
- install -m 644 vboxsf.ko $MODULE_DIR
- install -m 644 vboxvideo.ko $MODULE_DIR
-}
-
-do_install_append() {
- install -d ${D}${base_sbindir}
- install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
-}
-
-PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-
-FILES_${PN} = "${base_sbindir}"
-
-# autoload if installed
-KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.6.bb b/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.6.bb
new file mode 100644
index 00000000..89b1ee11
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.6.bb
@@ -0,0 +1,81 @@
+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] = "fe6328d22dfb20ea372daa4b58b12374"
+SRC_URI[sha256sum] = "b031c30d770f28c5f884071ad933e8c1f83e65b93aaba03a4012077c1d90a54f"
+
+S = "${WORKDIR}/vbox_module"
+
+export BUILD_TARGET_ARCH="${ARCH}"
+export BUILD_TARGET_ARCH_x86-64="amd64"
+
+EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1"
+
+# otherwise 5.2.22 builds just vboxguest
+MAKE_TARGETS = "all"
+
+addtask export_sources after do_patch before do_configure
+
+do_export_sources() {
+ mkdir -p "${S}"
+ ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz
+ tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
+
+ # add a mount utility to use shared folder from VBox Addition Source Code
+ mkdir -p "${S}/utils"
+ install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
+ install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
+ install ${S}/../Makefile.utils ${S}/utils/Makefile
+
+}
+
+do_configure_prepend() {
+ # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop.
+ # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set. Stop.
+ mkdir -p ${WORKDIR}/${KERNEL_VERSION}
+ ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build
+}
+
+# compile and install mount utility
+do_compile() {
+ oe_runmake all
+ 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/external/meta-openembedded/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch b/external/meta-openembedded/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
deleted file mode 100644
index 63a7b78f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 133ab27cdb17ca20ef6b0304cf30621d2bcbe757 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Thu, 31 Jan 2019 21:32:26 -0800
-Subject: [PATCH] src/Makefile: improve reproducibility
-
-Clear all_cflags, all_lflags, compiled_user
-and compiled_sys to avoid introducing build
-info to improve reproducibility as below:
-
-WARNING: vim-8.1.0347-r0 do_package_qa: QA Issue: File /work/core2-64-wrs-linux/vim/8.1.0347-r0/packages-split/vim/usr/bin/vim.vim in package contained reference to tmpdir [buildpaths]
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/Makefile | 14 ++++----------
- 1 file changed, 4 insertions(+), 10 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index f2fafa4dc..7148d4bd9 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -2845,16 +2845,10 @@ auto/pathdef.c: Makefile auto/config.mk
- -@echo '#include "vim.h"' >> $@
- -@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' | $(QUOTESED) >> $@
- -@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' | $(QUOTESED) >> $@
-- -@echo 'char_u *all_cflags = (char_u *)"$(CC) -c -I$(srcdir) $(ALL_CFLAGS)";' | $(QUOTESED) >> $@
-- -@echo 'char_u *all_lflags = (char_u *)"$(CC) $(ALL_LIB_DIRS) $(LDFLAGS) -o $(VIMTARGET) $(ALL_LIBS) ";' | $(QUOTESED) >> $@
-- -@echo 'char_u *compiled_user = (char_u *)"' | tr -d $(NL) >> $@
-- -@if test -n "$(COMPILEDBY)"; then \
-- echo "$(COMPILEDBY)" | tr -d $(NL) >> $@; \
-- else ((logname) 2>/dev/null || whoami) | tr -d $(NL) >> $@; fi
-- -@echo '";' >> $@
-- -@echo 'char_u *compiled_sys = (char_u *)"' | tr -d $(NL) >> $@
-- -@if test -z "$(COMPILEDBY)"; then hostname | tr -d $(NL) >> $@; fi
-- -@echo '";' >> $@
-+ -@echo 'char_u *all_cflags = (char_u *)"";' | $(QUOTESED) >> $@
-+ -@echo 'char_u *all_lflags = (char_u *)"";' | $(QUOTESED) >> $@
-+ -@echo 'char_u *compiled_user = (char_u *)"";' >> $@
-+ -@echo 'char_u *compiled_sys = (char_u *)"";' >> $@
- -@sh $(srcdir)/pathdef.sh
-
- GUI_GTK_RES_INPUTS = \
---
-2.17.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch b/external/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch
deleted file mode 100644
index 4720003c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5ed25c076a1fb1889a3c50dddf29f21850b59a13 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Tue, 26 Jun 2018 17:29:09 +0800
-Subject: [PATCH] disable acl header check
-
-Don't check 'sys/acl.h' if acl support disabled for vim/vim-tiny.
-
-Upstream-Status: pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/configure.ac | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/configure.ac b/src/configure.ac
-index 107c170..0ee86ad 100644
---- a/src/configure.ac
-+++ b/src/configure.ac
-@@ -3220,7 +3220,7 @@ AC_CHECK_HEADERS(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 \
- utime.h sys/param.h libintl.h libgen.h \
-- util/debug.h util/msg18n.h frame.h sys/acl.h \
-+ util/debug.h util/msg18n.h frame.h \
- sys/access.h sys/sysinfo.h wchar.h wctype.h)
-
- dnl sys/ptem.h depends on sys/stream.h on Solaris
-@@ -3848,6 +3848,7 @@ AC_ARG_ENABLE(acl,
- , [enable_acl="yes"])
- if test "$enable_acl" = "yes"; then
- AC_MSG_RESULT(no)
-+ AC_CHECK_HEADERS(sys/acl.h)
- AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"],
- AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl"
- AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch b/external/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
deleted file mode 100644
index 37914d4c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 38de4bccdb8a861ffdd447f12fdab19d6d852c02 Mon Sep 17 00:00:00 2001
-From: Chong Lu <Chong.Lu@windriver.com>
-Date: Tue, 26 Jun 2018 17:34:15 +0800
-Subject: [PATCH] vim: add knob whether elf.h are checked
-
-Previously, it still was checked when there was no elf library in sysroots directory.
-Add knob to decide whether elf.h are checked or not.
-
-Upstream-Status: Pending
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/configure.ac | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/configure.ac b/src/configure.ac
-index 0ee86ad..64736f0 100644
---- a/src/configure.ac
-+++ b/src/configure.ac
-@@ -3192,11 +3192,18 @@ AC_TRY_COMPILE([#include <stdio.h>], [int x __attribute__((unused));],
- AC_MSG_RESULT(no))
-
- dnl Checks for header files.
-+AC_MSG_CHECKING(whether or not to look for elf.h)
-+AC_ARG_ENABLE(elf-check,
-+ [ --enable-elf-check If elfutils, check for elf.h [default=no]],
-+ , enable_elf_check="no")
-+AC_MSG_RESULT($enable_elf_check)
-+if test "x$enable_elf_check" != "xno"; then
- AC_CHECK_HEADER(elf.h, HAS_ELF=1)
- dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
- if test "$HAS_ELF" = 1; then
- AC_CHECK_LIB(elf, main)
- fi
-+fi
-
- AC_HEADER_DIRENT
-
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.1.0347.bb b/external/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.1.0347.bb
deleted file mode 100644
index 8b1fb7b1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.1.0347.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require vim_${PV}.bb
-
-SUMMARY += " (with tiny features)"
-
-PROVIDES_remove = "xxd"
-ALTERNATIVE_${PN}_remove = "xxd"
-
-PACKAGECONFIG += "tiny"
-
-do_install() {
- install -D -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny
-}
-
-ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_TARGET = "${bindir}/vim.tiny"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/vim/vim_8.1.0347.bb b/external/meta-openembedded/meta-oe/recipes-support/vim/vim_8.1.0347.bb
deleted file mode 100644
index 4de4d8e3..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/vim/vim_8.1.0347.bb
+++ /dev/null
@@ -1,118 +0,0 @@
-SUMMARY = "Vi IMproved - enhanced vi editor"
-SECTION = "console/utils"
-
-PROVIDES = "xxd"
-DEPENDS = "ncurses gettext-native"
-# vimdiff doesn't like busybox diff
-RSUGGESTS_${PN} = "diffutils"
-LICENSE = "vim"
-LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72"
-
-SRC_URI = "git://github.com/vim/vim.git \
- file://disable_acl_header_check.patch;patchdir=.. \
- file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
- file://0001-src-Makefile-improve-reproducibility.patch;patchdir=.. \
-"
-SRCREV = "f1c118be93184e8e57e3e80b1b3383f464ed649e"
-
-S = "${WORKDIR}/git/src"
-
-VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}"
-
-inherit autotools-brokensep update-alternatives
-
-CLEANBROKEN = "1"
-
-# 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_tgetent=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 xxd"
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
-ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
-ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
-ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
-ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Fix-issue-599.patch b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Fix-issue-599.patch
deleted file mode 100644
index 2a9ea74c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Fix-issue-599.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 1dd07113f2a7489444a8990a95be42e035f8e9df Mon Sep 17 00:00:00 2001
-From: Kurt Roeckx <kroeckx@debian.org>
-Date: Tue, 1 Nov 2016 12:57:35 +0100
-Subject: [PATCH] Fix issue #599
-Forwarded: https://github.com/zaphoyd/websocketpp/pull/600
-
----
- websocketpp/transport/asio/security/tls.hpp | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
-index 7b32db8..a8aafec 100644
---- a/websocketpp/transport/asio/security/tls.hpp
-+++ b/websocketpp/transport/asio/security/tls.hpp
-@@ -355,13 +355,9 @@ protected:
- template <typename ErrorCodeType>
- lib::error_code translate_ec(ErrorCodeType ec) {
- if (ec.category() == lib::asio::error::get_ssl_category()) {
-- if (ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ) {
-- return make_error_code(transport::error::tls_short_read);
-- } else {
- // We know it is a TLS related error, but otherwise don't know
- // more. Pass through as TLS generic.
- return make_error_code(transport::error::tls_error);
-- }
- } else {
- // We don't know any more information about this error so pass
- // through
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch
deleted file mode 100644
index 530c960c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4 Mon Sep 17 00:00:00 2001
-From: Peter Thorson <git@zaphoyd.com>
-Date: Sun, 11 Jun 2017 16:13:25 -0500
-Subject: [PATCH] minor adjustments to recent extension negotiation related
- fixes, refactor a bit more extension negotiation code to be simpler
-
----
- websocketpp/impl/connection_impl.hpp | 6 +--
- websocketpp/processors/hybi13.hpp | 92 ++++++++++++++++++------------------
- 2 files changed, 49 insertions(+), 49 deletions(-)
-
-Index: websocketpp-0.7.0/websocketpp/impl/connection_impl.hpp
-===================================================================
---- websocketpp-0.7.0.orig/websocketpp/impl/connection_impl.hpp
-+++ websocketpp-0.7.0/websocketpp/impl/connection_impl.hpp
-@@ -1222,17 +1222,17 @@
- std::pair<lib::error_code,std::string> neg_results;
- neg_results = m_processor->negotiate_extensions(m_request);
-
-- if (neg_results.first == error::make_error_code(error::extension_parse_error)) {
-+ if (neg_results.first == processor::error::make_error_code(processor::error::extension_parse_error)) {
- // There was a fatal error in extension parsing that should result in
- // a failed connection attempt.
-- m_alog.write(log::alevel::info, "Bad request: " + neg_results.first.message());
-+ m_elog.write(log::elevel::info, "Bad request: " + neg_results.first.message());
- m_response.set_status(http::status_code::bad_request);
- return neg_results.first;
- } else if (neg_results.first) {
- // There was a fatal error in extension processing that is probably our
- // fault. Consider extension negotiation to have failed and continue as
- // if extensions were not supported
-- m_alog.write(log::alevel::info,
-+ m_elog.write(log::elevel::info,
- "Extension negotiation failed: " + neg_results.first.message());
- } else {
- // extension negotiation succeeded, set response header accordingly
-Index: websocketpp-0.7.0/websocketpp/processors/hybi13.hpp
-===================================================================
---- websocketpp-0.7.0.orig/websocketpp/processors/hybi13.hpp
-+++ websocketpp-0.7.0/websocketpp/processors/hybi13.hpp
-@@ -97,11 +97,6 @@
- /**
- * This exists mostly because the code for requests and responses is
- * identical and I can't have virtual template methods.
-- *
-- * NOTE: this method makes assumptions that the permessage-deflate
-- * extension is the only one supported. If additional extensions are
-- * ever supported it should be reviewed carefully. Most cases where
-- * that assumption is made are explicitly noted.
- */
- template <typename header_type>
- err_str_pair negotiate_extensions_helper(header_type const & header) {
-@@ -130,55 +125,60 @@
-
- http::parameter_list::const_iterator it;
-
-+ // look through the list of extension requests to find the first
-+ // one that we can accept.
- if (m_permessage_deflate.is_implemented()) {
- err_str_pair neg_ret;
- for (it = p.begin(); it != p.end(); ++it) {
-- // look through each extension, if the key is permessage-deflate
-- if (it->first == "permessage-deflate") {
-- // if we have already successfully negotiated this extension
-- // then skip any other requests to negotiate the same one
-- // with different parameters
-- if (m_permessage_deflate.is_enabled()) {
-- continue;
-- }
--
--
-- neg_ret = m_permessage_deflate.negotiate(it->second);
--
-- if (neg_ret.first) {
-- // Figure out if this is an error that should halt all
-- // extension negotiations or simply cause negotiation of
-- // this specific extension to fail.
-- //std::cout << "permessage-compress negotiation failed: "
-- // << neg_ret.first.message() << std::endl;
-- } else {
-- // Note: this list will need commas if WebSocket++ ever
-- // supports more than one extension
--
-- // Actually try to initialize the extension before we
-- // deem negotiation complete
-- ret.first = m_permessage_deflate.init(base::m_server);
-- if (!ret.first) {
--
-- // TODO: support multiple extensions.
-- // right now, because there is only one extension
-- // supported, it failing to negotiate means we are
-- // done with all negotiating. In the future if more
-- // extensions are supported a better solution will
-- // be needed here.
-- break;
-- } else {
-- ret.second += neg_ret.second;
--
-- // continue looking for more extensions
-- continue;
-- }
--
-- }
-+ // not a permessage-deflate extension request, ignore
-+ if (it->first != "permessage-deflate") {
-+ continue;
-+ }
-+
-+ // if we have already successfully negotiated this extension
-+ // then skip any other requests to negotiate the same one
-+ // with different parameters
-+ if (m_permessage_deflate.is_enabled()) {
-+ continue;
-+ }
-+
-+ // attempt to negotiate this offer
-+ neg_ret = m_permessage_deflate.negotiate(it->second);
-+
-+ if (neg_ret.first) {
-+ // negotiation offer failed. Do nothing. We will continue
-+ // searching for a permessage-deflate config that succeeds
-+ continue;
-+ }
-+
-+ // Negotiation tentatively succeeded
-+
-+ // Actually try to initialize the extension before we
-+ // deem negotiation complete
-+ lib::error_code ec = m_permessage_deflate.init(base::m_server);
-+
-+ if (ec) {
-+ // Negotiation succeeded but initialization failed this is
-+ // an error that should stop negotiation of permessage
-+ // deflate. Return the reason for the init failure
-+
-+ ret.first = ec;
-+ break;
-+ } else {
-+ // Successfully initialized, push the negotiated response into
-+ // the reply and stop looking for additional permessage-deflate
-+ // extensions
-+ ret.second += neg_ret.second;
-+ break;
- }
- }
- }
-
-+ // support for future extensions would go here. Should check the value of
-+ // ret.first before continuing. Might need to consider whether failure of
-+ // negotiation of an earlier extension should stop negotiation of subsequent
-+ // ones
-+
- return ret;
- }
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch
deleted file mode 100644
index 94bfeb2f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch
+++ /dev/null
@@ -1,600 +0,0 @@
-## Description: add some description
-## Origin/Author: add some origin or author
-## Bug: bug URL
-From 9ddb300d874a30db35e3ad58f188944bef0bf31b Mon Sep 17 00:00:00 2001
-From: Peter Thorson <git@zaphoyd.com>
-Date: Sun, 11 Jun 2017 15:24:43 -0500
-Subject: [PATCH] Update permessage-deflate support to reflect that zlib
- doesn't support a 256 bit window. Improve extension negotiation error
- checking and documentation. fixes #596 fixes #653
-
----
- changelog.md | 8 ++
- test/extension/permessage_deflate.cpp | 153 +++++++++++++++++----
- .../extensions/permessage_deflate/enabled.hpp | 94 ++++++++++---
- websocketpp/impl/connection_impl.hpp | 10 +-
- websocketpp/processors/hybi13.hpp | 28 +++-
- 5 files changed, 247 insertions(+), 46 deletions(-)
-
-diff --git a/changelog.md b/changelog.md
-index bba753cb..de98edd2 100644
-#--- a/changelog.md
-#+++ b/changelog.md
-#@@ -17,6 +17,14 @@ HEAD
-# - Compatibility: Update `telemetry_client` to use a slightly more cross platform
-# method of sleeping. Should work on windows now. Thank you Meir Yanovich for
-# reporting.
-#+- Compatibility: Updated permessage-deflate support to reflect that the zlib
-#+ library does not actually support a sliding window size of 256 bits.
-#+ WebSocket++ will no longer negotiate 256 bit deflate windows. If the user
-#+ of the library tries to request a 256 bit window a 512 bit window will be
-#+ specified instead (This was the previous behavior). #596 #653 Thank you
-#+ Vinnie Falco and Gianfranco Costamagna for reporting.
-#+- Compatibility: Better error handling and logging in cases where extension
-#+ requests parse correctly but negotiation fails.
-# - Bug: Store loggers in shared pointers to avoid crashes related to connections
-# trying to write logs entries after their respective endpoint has been
-# deallocated. Thank you Thalhammer for reporting and Jupp Müller for the
-diff --git a/test/extension/permessage_deflate.cpp b/test/extension/permessage_deflate.cpp
-index 4cd3e7b6..805afcc3 100644
---- a/test/extension/permessage_deflate.cpp
-+++ b/test/extension/permessage_deflate.cpp
-@@ -186,15 +186,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_invalid ) {
-
- BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_valid ) {
- ext_vars v;
-+
-+ // confirm that a request for a value of 8 is interpreted as 9
- v.attr["server_max_window_bits"] = "8";
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-
-+ v.attr["server_max_window_bits"] = "9";
- v.esp = v.exts.negotiate(v.attr);
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-
-- v.attr["server_max_window_bits"] = "15";
-
-+ v.attr["server_max_window_bits"] = "15";
- v.esp = v.exts.negotiate(v.attr);
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-@@ -213,7 +220,7 @@ BOOST_AUTO_TEST_CASE( invalid_set_server_max_window_bits ) {
-
- BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_decline ) {
- ext_vars v;
-- v.attr["server_max_window_bits"] = "8";
-+ v.attr["server_max_window_bits"] = "9";
-
- v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::decline);
- v.esp = v.exts.negotiate(v.attr);
-@@ -223,7 +230,7 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_decline ) {
- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept_8 ) {
- ext_vars v;
- v.attr["server_max_window_bits"] = "8";
-
-@@ -232,10 +239,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
-+ ext_vars v;
-+ v.attr["server_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::accept);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest_8 ) {
- ext_vars v;
- v.attr["server_max_window_bits"] = "8";
-
-@@ -244,10 +263,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
-+ ext_vars v;
-+ v.attr["server_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::largest);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest_8 ) {
- ext_vars v;
- v.attr["server_max_window_bits"] = "8";
-
-@@ -256,7 +287,19 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
-+ ext_vars v;
-+ v.attr["server_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::smallest);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
- }
-
- // Negotiate server_max_window_bits
-@@ -292,7 +335,13 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_valid ) {
- v.esp = v.exts.negotiate(v.attr);
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-+
-+ v.attr["client_max_window_bits"] = "9";
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-
- v.attr["client_max_window_bits"] = "15";
- v.esp = v.exts.negotiate(v.attr);
-@@ -311,7 +360,7 @@ BOOST_AUTO_TEST_CASE( invalid_set_client_max_window_bits ) {
- BOOST_CHECK_EQUAL(v.ec,pmde::make_error_code(pmde::invalid_max_window_bits));
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline_8 ) {
- ext_vars v;
- v.attr["client_max_window_bits"] = "8";
-
-@@ -323,7 +372,19 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
-+ ext_vars v;
-+ v.attr["client_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_client_max_window_bits(9,pmd_mode::decline);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept_8 ) {
- ext_vars v;
- v.attr["client_max_window_bits"] = "8";
-
-@@ -332,10 +393,22 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
-+ ext_vars v;
-+ v.attr["client_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::accept);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest_8 ) {
- ext_vars v;
- v.attr["client_max_window_bits"] = "8";
-
-@@ -344,10 +417,22 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
-+ ext_vars v;
-+ v.attr["client_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::largest);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest_8 ) {
- ext_vars v;
- v.attr["client_max_window_bits"] = "8";
-
-@@ -356,7 +441,19 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
-+ ext_vars v;
-+ v.attr["client_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::smallest);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
- }
-
-
-@@ -507,7 +604,8 @@ BOOST_AUTO_TEST_CASE( compress_data ) {
- std::string compress_out;
- std::string decompress_out;
-
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.compress(compress_in,compress_out);
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-@@ -520,7 +618,8 @@ BOOST_AUTO_TEST_CASE( compress_data ) {
- BOOST_AUTO_TEST_CASE( compress_data_multiple ) {
- ext_vars v;
-
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- for (int i = 0; i < 2; i++) {
- std::string compress_in = "Hello";
-@@ -545,11 +644,12 @@ BOOST_AUTO_TEST_CASE( compress_data_large ) {
-
- websocketpp::http::attribute_list alist;
-
-- alist["server_max_window_bits"] = "8";
-- v.exts.set_server_max_window_bits(8,websocketpp::extensions::permessage_deflate::mode::smallest);
-+ alist["server_max_window_bits"] = "9";
-+ v.exts.set_server_max_window_bits(9,websocketpp::extensions::permessage_deflate::mode::smallest);
-
- v.exts.negotiate(alist);
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.compress(compress_in,compress_out);
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-@@ -573,7 +673,8 @@ BOOST_AUTO_TEST_CASE( compress_data_no_context_takeover ) {
- v.exts.enable_server_no_context_takeover();
-
- v.exts.negotiate(alist);
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.compress(compress_in,compress_out1);
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-@@ -609,7 +710,8 @@ BOOST_AUTO_TEST_CASE( compress_empty ) {
- std::string compress_out;
- std::string decompress_out;
-
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.compress(compress_in,compress_out);
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-@@ -640,7 +742,8 @@ BOOST_AUTO_TEST_CASE( decompress_data ) {
- std::string out;
- std::string reference = "Hello";
-
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.decompress(in,11,out);
-
-diff --git a/websocketpp/extensions/permessage_deflate/enabled.hpp b/websocketpp/extensions/permessage_deflate/enabled.hpp
-index 1581f14c..f20a1b1d 100644
---- a/websocketpp/extensions/permessage_deflate/enabled.hpp
-+++ b/websocketpp/extensions/permessage_deflate/enabled.hpp
-@@ -46,7 +46,7 @@
- namespace websocketpp {
- namespace extensions {
-
--/// Implementation of the draft permessage-deflate WebSocket extension
-+/// Implementation of RFC 7692, the permessage-deflate WebSocket extension
- /**
- * ### permessage-deflate interface
- *
-@@ -174,18 +174,30 @@ namespace websocketpp {
- namespace extensions {
- namespace permessage_deflate {
-
--/// Default value for server_max_window_bits as defined by draft 17
-+/// Default value for server_max_window_bits as defined by RFC 7692
- static uint8_t const default_server_max_window_bits = 15;
--/// Minimum value for server_max_window_bits as defined by draft 17
-+/// Minimum value for server_max_window_bits as defined by RFC 7692
-+/**
-+ * NOTE: A value of 8 is not actually supported by zlib, the deflate
-+ * library that WebSocket++ uses. To preserve backwards compatibility
-+ * with RFC 7692 and previous versions of the library a value of 8
-+ * is accepted by the library but will always be negotiated as 9.
-+ */
- static uint8_t const min_server_max_window_bits = 8;
--/// Maximum value for server_max_window_bits as defined by draft 17
-+/// Maximum value for server_max_window_bits as defined by RFC 7692
- static uint8_t const max_server_max_window_bits = 15;
-
--/// Default value for client_max_window_bits as defined by draft 17
-+/// Default value for client_max_window_bits as defined by RFC 7692
- static uint8_t const default_client_max_window_bits = 15;
--/// Minimum value for client_max_window_bits as defined by draft 17
-+/// Minimum value for client_max_window_bits as defined by RFC 7692
-+/**
-+ * NOTE: A value of 8 is not actually supported by zlib, the deflate
-+ * library that WebSocket++ uses. To preserve backwards compatibility
-+ * with RFC 7692 and previous versions of the library a value of 8
-+ * is accepted by the library but will always be negotiated as 9.
-+ */
- static uint8_t const min_client_max_window_bits = 8;
--/// Maximum value for client_max_window_bits as defined by draft 17
-+/// Maximum value for client_max_window_bits as defined by RFC 7692
- static uint8_t const max_client_max_window_bits = 15;
-
- namespace mode {
-@@ -372,7 +384,7 @@ class enabled {
- /**
- * The bits setting is the base 2 logarithm of the maximum window size that
- * the server must use to compress outgoing messages. The permitted range
-- * is 8 to 15 inclusive. 8 represents a 256 byte window and 15 a 32KiB
-+ * is 9 to 15 inclusive. 9 represents a 512 byte window and 15 a 32KiB
- * window. The default setting is 15.
- *
- * Mode Options:
-@@ -386,6 +398,14 @@ class enabled {
- * adjusted by the server. A server may unilaterally set this value without
- * client support.
- *
-+ * NOTE: The permessage-deflate spec specifies that a value of 8 is allowed.
-+ * Prior to version 0.8.0 a value of 8 was also allowed by this library.
-+ * zlib, the deflate compression library that WebSocket++ uses has always
-+ * silently adjusted a value of 8 to 9. In recent versions of zlib (1.2.9
-+ * and greater) a value of 8 is now explicitly rejected. WebSocket++ 0.8.0
-+ * continues to perform the 8->9 conversion for backwards compatibility
-+ * purposes but this should be considered deprecated functionality.
-+ *
- * @param bits The size to request for the outgoing window size
- * @param mode The mode to use for negotiating this parameter
- * @return A status code
-@@ -394,6 +414,12 @@ class enabled {
- if (bits < min_server_max_window_bits || bits > max_server_max_window_bits) {
- return error::make_error_code(error::invalid_max_window_bits);
- }
-+
-+ // See note in doc comment above about what is happening here
-+ if (bits == 8) {
-+ bits = 9;
-+ }
-+
- m_server_max_window_bits = bits;
- m_server_max_window_bits_mode = mode;
-
-@@ -403,8 +429,8 @@ class enabled {
- /// Limit client LZ77 sliding window size
- /**
- * The bits setting is the base 2 logarithm of the window size that the
-- * client must use to compress outgoing messages. The permitted range is 8
-- * to 15 inclusive. 8 represents a 256 byte window and 15 a 32KiB window.
-+ * client must use to compress outgoing messages. The permitted range is 9
-+ * to 15 inclusive. 9 represents a 512 byte window and 15 a 32KiB window.
- * The default setting is 15.
- *
- * Mode Options:
-@@ -417,6 +443,14 @@ class enabled {
- * outgoing window size unilaterally. A server may only limit the client's
- * window size if the remote client supports that feature.
- *
-+ * NOTE: The permessage-deflate spec specifies that a value of 8 is allowed.
-+ * Prior to version 0.8.0 a value of 8 was also allowed by this library.
-+ * zlib, the deflate compression library that WebSocket++ uses has always
-+ * silently adjusted a value of 8 to 9. In recent versions of zlib (1.2.9
-+ * and greater) a value of 8 is now explicitly rejected. WebSocket++ 0.8.0
-+ * continues to perform the 8->9 conversion for backwards compatibility
-+ * purposes but this should be considered deprecated functionality.
-+ *
- * @param bits The size to request for the outgoing window size
- * @param mode The mode to use for negotiating this parameter
- * @return A status code
-@@ -425,6 +459,12 @@ class enabled {
- if (bits < min_client_max_window_bits || bits > max_client_max_window_bits) {
- return error::make_error_code(error::invalid_max_window_bits);
- }
-+
-+ // See note in doc comment above about what is happening here
-+ if (bits == 8) {
-+ bits = 9;
-+ }
-+
- m_client_max_window_bits = bits;
- m_client_max_window_bits_mode = mode;
-
-@@ -642,11 +682,17 @@ class enabled {
- * client requested that we use.
- *
- * options:
-- * - decline (refuse to use the attribute)
-- * - accept (use whatever the client says)
-- * - largest (use largest possible value)
-+ * - decline (ignore value, offer our default instead)
-+ * - accept (use the value requested by the client)
-+ * - largest (use largest value acceptable to both)
- * - smallest (use smallest possible value)
- *
-+ * NOTE: As a value of 8 is no longer explicitly supported by zlib but might
-+ * be requested for negotiation by an older client/server, if the result of
-+ * the negotiation would be to send a value of 8, a value of 9 is offered
-+ * instead. This ensures that WebSocket++ will only ever negotiate connections
-+ * with compression settings explicitly supported by zlib.
-+ *
- * @param [in] value The value of the attribute from the offer
- * @param [out] ec A reference to the error code to return errors via
- */
-@@ -678,6 +724,11 @@ class enabled {
- ec = make_error_code(error::invalid_mode);
- m_server_max_window_bits = default_server_max_window_bits;
- }
-+
-+ // See note in doc comment
-+ if (m_server_max_window_bits == 8) {
-+ m_server_max_window_bits = 9;
-+ }
- }
-
- /// Negotiate client_max_window_bits attribute
-@@ -687,11 +738,17 @@ class enabled {
- * negotiation mode.
- *
- * options:
-- * - decline (refuse to use the attribute)
-- * - accept (use whatever the client says)
-- * - largest (use largest possible value)
-+ * - decline (ignore value, offer our default instead)
-+ * - accept (use the value requested by the client)
-+ * - largest (use largest value acceptable to both)
- * - smallest (use smallest possible value)
- *
-+ * NOTE: As a value of 8 is no longer explicitly supported by zlib but might
-+ * be requested for negotiation by an older client/server, if the result of
-+ * the negotiation would be to send a value of 8, a value of 9 is offered
-+ * instead. This ensures that WebSocket++ will only ever negotiate connections
-+ * with compression settings explicitly supported by zlib.
-+ *
- * @param [in] value The value of the attribute from the offer
- * @param [out] ec A reference to the error code to return errors via
- */
-@@ -727,6 +784,11 @@ class enabled {
- ec = make_error_code(error::invalid_mode);
- m_client_max_window_bits = default_client_max_window_bits;
- }
-+
-+ // See note in doc comment
-+ if (m_client_max_window_bits == 8) {
-+ m_client_max_window_bits = 9;
-+ }
- }
-
- bool m_enabled;
-diff --git a/websocketpp/impl/connection_impl.hpp b/websocketpp/impl/connection_impl.hpp
-index 105911db..ae55c338 100644
---- a/websocketpp/impl/connection_impl.hpp
-+++ b/websocketpp/impl/connection_impl.hpp
-@@ -1222,12 +1222,18 @@ lib::error_code connection<config>::process_handshake_request() {
- std::pair<lib::error_code,std::string> neg_results;
- neg_results = m_processor->negotiate_extensions(m_request);
-
-- if (neg_results.first) {
-+ if (neg_results.first == error::make_error_code(error::extension_parse_error)) {
- // There was a fatal error in extension parsing that should result in
- // a failed connection attempt.
-- m_alog.write(log::alevel::devel, "Bad request: " + neg_results.first.message());
-+ m_alog.write(log::alevel::info, "Bad request: " + neg_results.first.message());
- m_response.set_status(http::status_code::bad_request);
- return neg_results.first;
-+ } else if (neg_results.first) {
-+ // There was a fatal error in extension processing that is probably our
-+ // fault. Consider extension negotiation to have failed and continue as
-+ // if extensions were not supported
-+ m_alog.write(log::alevel::info,
-+ "Extension negotiation failed: " + neg_results.first.message());
- } else {
- // extension negotiation succeeded, set response header accordingly
- // we don't send an empty extensions header because it breaks many
-diff --git a/websocketpp/processors/hybi13.hpp b/websocketpp/processors/hybi13.hpp
-index 79486654..a95bc649 100644
---- a/websocketpp/processors/hybi13.hpp
-+++ b/websocketpp/processors/hybi13.hpp
-@@ -97,6 +97,11 @@ class hybi13 : public processor<config> {
- /**
- * This exists mostly because the code for requests and responses is
- * identical and I can't have virtual template methods.
-+ *
-+ * NOTE: this method makes assumptions that the permessage-deflate
-+ * extension is the only one supported. If additional extensions are
-+ * ever supported it should be reviewed carefully. Most cases where
-+ * that assumption is made are explicitly noted.
- */
- template <typename header_type>
- err_str_pair negotiate_extensions_helper(header_type const & header) {
-@@ -149,9 +154,26 @@ class hybi13 : public processor<config> {
- } else {
- // Note: this list will need commas if WebSocket++ ever
- // supports more than one extension
-- ret.second += neg_ret.second;
-- m_permessage_deflate.init(base::m_server);
-- continue;
-+
-+ // Actually try to initialize the extension before we
-+ // deem negotiation complete
-+ ret.first = m_permessage_deflate.init(base::m_server);
-+ if (!ret.first) {
-+
-+ // TODO: support multiple extensions.
-+ // right now, because there is only one extension
-+ // supported, it failing to negotiate means we are
-+ // done with all negotiating. In the future if more
-+ // extensions are supported a better solution will
-+ // be needed here.
-+ break;
-+ } else {
-+ ret.second += neg_ret.second;
-+
-+ // continue looking for more extensions
-+ continue;
-+ }
-+
- }
- }
- }
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/disable-tests.patch b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/disable-tests.patch
deleted file mode 100644
index 342981d4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/disable-tests.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Description: Disable failing test_transport_asio_timers.
-Because of "address already in use" error
-/«PKGBUILDDIR»/test/transport/asio/timers.cpp(129): error in "tls_handshake_timeout": check ec == make_error_code(tls_handshake_timeout) failed [websocketpp.transport.asio.socket:8 != websocketpp.transport.asio.socket:5]
-Author: Gianfranco Costamagna <locutusofborg@debian.org>
-
---- websocketpp-0.7.0.orig/test/transport/CMakeLists.txt
-+++ websocketpp-0.7.0/test/transport/CMakeLists.txt
-@@ -1,24 +1,24 @@
- if (OPENSSL_FOUND)
-
--# Test transport integration
--file (GLOB SOURCE integration.cpp)
--
--init_target (test_transport)
--build_test (${TARGET_NAME} ${SOURCE})
--link_boost ()
--link_openssl()
--final_target ()
--set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
--
--# Test transport asio timers
--file (GLOB SOURCE asio/timers.cpp)
--
--init_target (test_transport_asio_timers)
--build_test (${TARGET_NAME} ${SOURCE})
--link_boost ()
--link_openssl()
--final_target ()
--set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
-+## Test transport integration
-+#file (GLOB SOURCE integration.cpp)
-+#
-+#init_target (test_transport)
-+#build_test (${TARGET_NAME} ${SOURCE})
-+#link_boost ()
-+#link_openssl()
-+#final_target ()
-+#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
-+#
-+## Test transport asio timers
-+#file (GLOB SOURCE asio/timers.cpp)
-+#
-+#init_target (test_transport_asio_timers)
-+#build_test (${TARGET_NAME} ${SOURCE})
-+#link_boost ()
-+#link_openssl()
-+#final_target ()
-+#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
-
- # Test transport asio security
- file (GLOB SOURCE asio/security.cpp)
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/0001-Correct-clang-compiler-flags.patch b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/0001-Correct-clang-compiler-flags.patch
new file mode 100644
index 00000000..7a99daf6
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/0001-Correct-clang-compiler-flags.patch
@@ -0,0 +1,32 @@
+From 5ccaff351297bca0e254bbfd66e3f03fef9d9c75 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 10 Jan 2020 21:54:39 -0800
+Subject: [PATCH] Correct clang compiler flags
+
+Fix misplaced quotes, this was leading to spurious ; in compiler cmdline
+Remove demanding libc++, clang can link with both libc++ and libstdc++
+and platforms have their own defaults, user can demand non defaults via
+adding it to cmake flags
+
+Upstream-Status: Submitted [https://github.com/zaphoyd/websocketpp/pull/859]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2d13117..c17354a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -154,7 +154,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+ endif()
+ set (WEBSOCKETPP_PLATFORM_TLS_LIBS ssl crypto)
+ set (WEBSOCKETPP_BOOST_LIBS system thread)
+- set (CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++0x -stdlib=libc++") # todo: is libc++ really needed here?
++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+ if (NOT APPLE)
+ add_definitions (-DNDEBUG -Wall -Wno-padded) # todo: should we use CMAKE_C_FLAGS for these?
+ endif ()
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/0001-cmake-Use-GNUInstallDirs.patch b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/0001-cmake-Use-GNUInstallDirs.patch
new file mode 100644
index 00000000..0ef2e123
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/0001-cmake-Use-GNUInstallDirs.patch
@@ -0,0 +1,35 @@
+From 771d79eeb0ac5079482a4b3a131bbda744793e7d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 20:07:11 -0800
+Subject: [PATCH] cmake: Use GNUInstallDirs
+
+Helps install cmakefiles in right libdir
+
+Upstream-Status: Submitted [https://github.com/zaphoyd/websocketpp/pull/854]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2786aba..080be3e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,11 +39,13 @@ endif()
+
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
++include(GNUInstallDirs)
++
+ set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files")
+ if (WIN32 AND NOT CYGWIN)
+ set (DEF_INSTALL_CMAKE_DIR cmake)
+ else ()
+- set (DEF_INSTALL_CMAKE_DIR lib/cmake/websocketpp)
++ set (DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/websocketpp)
+ endif ()
+ set (INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
+
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch
new file mode 100644
index 00000000..3245d941
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch
@@ -0,0 +1,23 @@
+From 3590d77bb9753fbbf076028e2395182ced6466ba Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Wed, 8 Jan 2020 17:59:48 +0100
+Subject: [PATCH] Fix cmake find boost with version >= 1.71
+
+For some reasons "system;thread;random;unit_test_framework" was seen as a single module, because of the quotes.
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2d13117b..9a46bc10 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -217,7 +217,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+ set (Boost_USE_MULTITHREADED TRUE)
+ set (Boost_ADDITIONAL_VERSIONS "1.39.0" "1.40.0" "1.41.0" "1.42.0" "1.43.0" "1.44.0" "1.46.1") # todo: someone who knows better spesify these!
+
+- find_package (Boost 1.39.0 COMPONENTS "${WEBSOCKETPP_BOOST_LIBS}")
++ find_package (Boost 1.39.0 COMPONENTS ${WEBSOCKETPP_BOOST_LIBS})
+
+ if (Boost_FOUND)
+ # Boost is a project wide global dependency.
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch
new file mode 100644
index 00000000..f221cd69
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch
@@ -0,0 +1,132 @@
+From 931a55347a322f38eb82d5f387b2924e6c7a1746 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Thu, 9 Jan 2020 10:07:20 +0100
+Subject: [PATCH] Update SConstruct with new Python3 syntax: - new raise
+ keyword syntax - has_key deprecated method is now removed - commands
+ deprecated library is replaced by subprocess - print function fixes
+
+This should fix FTBFS against new scons 3.1.2
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=947584
+---
+ SConstruct | 45 +++++++++++++++++++++++----------------------
+ 1 file changed, 23 insertions(+), 22 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index ae3df10b..9d1c8914 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1,18 +1,19 @@
+-import os, sys, commands
++import os, sys
++from subprocess import check_output
+ env = Environment(ENV = os.environ)
+
+ # figure out a better way to configure this
+-if os.environ.has_key('CXX'):
++if 'CXX' in os.environ:
+ env['CXX'] = os.environ['CXX']
+
+-if os.environ.has_key('DEBUG'):
++if 'DEBUG' in os.environ:
+ env['DEBUG'] = os.environ['DEBUG']
+
+-if os.environ.has_key('CXXFLAGS'):
++if 'CXXFLAGS' in os.environ:
+ #env['CXXFLAGS'] = os.environ['CXXFLAGS']
+ env.Append(CXXFLAGS = os.environ['CXXFLAGS'])
+
+-if os.environ.has_key('LINKFLAGS'):
++if 'LINKFLAGS' in os.environ:
+ #env['LDFLAGS'] = os.environ['LDFLAGS']
+ env.Append(LINKFLAGS = os.environ['LINKFLAGS'])
+
+@@ -22,24 +23,24 @@ if os.environ.has_key('LINKFLAGS'):
+ ## or set BOOST_INCLUDES and BOOST_LIBS if Boost comes with your OS distro e.g. and
+ ## needs BOOST_INCLUDES=/usr/include/boost and BOOST_LIBS=/usr/lib like Ubuntu.
+ ##
+-if os.environ.has_key('BOOSTROOT'):
++if 'BOOSTROOT' in os.environ:
+ os.environ['BOOST_ROOT'] = os.environ['BOOSTROOT']
+
+-if os.environ.has_key('BOOST_ROOT'):
++if 'BOOST_ROOT' in os.environ:
+ env['BOOST_INCLUDES'] = os.environ['BOOST_ROOT']
+ env['BOOST_LIBS'] = os.path.join(os.environ['BOOST_ROOT'], 'stage', 'lib')
+-elif os.environ.has_key('BOOST_INCLUDES') and os.environ.has_key('BOOST_LIBS'):
++elif 'BOOST_INCLUDES' in os.environ and 'BOOST_LIBS' in os.environ:
+ env['BOOST_INCLUDES'] = os.environ['BOOST_INCLUDES']
+ env['BOOST_LIBS'] = os.environ['BOOST_LIBS']
+ else:
+- raise SCons.Errors.UserError, "Neither BOOST_ROOT, nor BOOST_INCLUDES + BOOST_LIBS was set!"
++ raise SCons.Errors.UserError("Neither BOOST_ROOT, nor BOOST_INCLUDES + BOOST_LIBS were set!")
+
+ ## Custom OpenSSL
+-if os.environ.has_key('OPENSSL_PATH'):
++if 'OPENSSL_PATH' in os.environ:
+ env.Append(CPPPATH = os.path.join(os.environ['OPENSSL_PATH'], 'include'))
+ env.Append(LIBPATH = os.environ['OPENSSL_PATH'])
+
+-if os.environ.has_key('WSPP_ENABLE_CPP11'):
++if 'WSPP_ENABLE_CPP11' in os.environ:
+ env['WSPP_ENABLE_CPP11'] = True
+ else:
+ env['WSPP_ENABLE_CPP11'] = False
+@@ -76,7 +77,7 @@ if env['PLATFORM'].startswith('win'):
+ env['CCFLAGS'] = '%s /EHsc /GR /GS- /MD /nologo %s %s' % (warn_flags, arch_flags, opt_flags)
+ env['LINKFLAGS'] = '/INCREMENTAL:NO /MANIFEST /NOLOGO /OPT:REF /OPT:ICF /MACHINE:X86'
+ elif env['PLATFORM'] == 'posix':
+- if env.has_key('DEBUG'):
++ if 'DEBUG' in env:
+ env.Append(CCFLAGS = ['-g', '-O0'])
+ else:
+ env.Append(CPPDEFINES = ['NDEBUG'])
+@@ -84,9 +85,9 @@ elif env['PLATFORM'] == 'posix':
+ env.Append(CCFLAGS = ['-Wall'])
+ #env['LINKFLAGS'] = ''
+ elif env['PLATFORM'] == 'darwin':
+- if not os.environ.has_key('CXX'):
++ if not 'CXX' in os.environ:
+ env['CXX'] = "clang++"
+- if env.has_key('DEBUG'):
++ if 'DEBUG' in env:
+ env.Append(CCFLAGS = ['-g', '-O0'])
+ else:
+ env.Append(CPPDEFINES = ['NDEBUG'])
+@@ -157,29 +158,29 @@ env_cpp11 = env.Clone ()
+
+ if env_cpp11['CXX'].startswith('g++'):
+ # TODO: check g++ version
+- GCC_VERSION = commands.getoutput(env_cpp11['CXX'] + ' -dumpversion')
++ GCC_VERSION = check_output([env_cpp11['CXX'], '-dumpversion'])
+
+- if GCC_VERSION > "4.4.0":
+- print "C++11 build environment partially enabled"
++ if GCC_VERSION.decode('utf-8') > "4.4.0":
++ print("C++11 build environment partially enabled")
+ env_cpp11.Append(WSPP_CPP11_ENABLED = "true",CXXFLAGS = ['-std=c++0x'],TOOLSET = ['g++'],CPPDEFINES = ['_WEBSOCKETPP_CPP11_STL_'])
+ else:
+- print "C++11 build environment is not supported on this version of G++"
++ print("C++11 build environment is not supported on this version of G++")
+ elif env_cpp11['CXX'].startswith('clang++'):
+- print "C++11 build environment enabled"
++ print("C++11 build environment enabled")
+ env.Append(CXXFLANGS = ['-stdlib=libc++'],LINKFLAGS=['-stdlib=libc++'])
+ env_cpp11.Append(WSPP_CPP11_ENABLED = "true",CXXFLAGS = ['-std=c++0x','-stdlib=libc++'],LINKFLAGS = ['-stdlib=libc++'],TOOLSET = ['clang++'],CPPDEFINES = ['_WEBSOCKETPP_CPP11_STL_'])
+
+ # look for optional second boostroot compiled with clang's libc++ STL library
+ # this prevents warnings/errors when linking code built with two different
+ # incompatible STL libraries.
+- if os.environ.has_key('BOOST_ROOT_CPP11'):
++ if 'BOOST_ROOT_CPP11' in os.environ:
+ env_cpp11['BOOST_INCLUDES'] = os.environ['BOOST_ROOT_CPP11']
+ env_cpp11['BOOST_LIBS'] = os.path.join(os.environ['BOOST_ROOT_CPP11'], 'stage', 'lib')
+- elif os.environ.has_key('BOOST_INCLUDES_CPP11') and os.environ.has_key('BOOST_LIBS_CPP11'):
++ elif 'BOOST_INCLUDES_CPP11' in os.environ and 'BOOST_LIBS_CPP11' in os.environ:
+ env_cpp11['BOOST_INCLUDES'] = os.environ['BOOST_INCLUDES_CPP11']
+ env_cpp11['BOOST_LIBS'] = os.environ['BOOST_LIBS_CPP11']
+ else:
+- print "C++11 build environment disabled"
++ print("C++11 build environment disabled")
+
+ # if the build system is known to allow the isystem modifier for library include
+ # values then use it for the boost libraries. Otherwise just add them to the
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb
deleted file mode 100644
index 75a5f886..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "C++/Boost Asio based websocket client/server library."
-SECTION = "libs/network"
-HOMEPAGE = "https://github.com/zaphoyd/websocketpp"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=4d168d763c111f4ffc62249870e4e0ea"
-DEPENDS = "openssl boost zlib"
-
-SRC_URI = "git://github.com/zaphoyd/websocketpp.git;protocol=https;branch=master"
-
-# tag 0.8.1
-SRCREV= "c6d7e295bf5a0ab9b5f896720cc1a0e0fdc397a7"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
diff --git a/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb
new file mode 100644
index 00000000..79a5ac5c
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb
@@ -0,0 +1,38 @@
+SUMMARY = "C++/Boost Asio based websocket client/server library."
+SECTION = "libs/network"
+HOMEPAGE = "https://github.com/zaphoyd/websocketpp"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=4d168d763c111f4ffc62249870e4e0ea"
+
+DEPENDS = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'openssl boost zlib', '', d)} "
+
+SRC_URI = "git://github.com/zaphoyd/websocketpp.git;protocol=https \
+ file://0001-cmake-Use-GNUInstallDirs.patch \
+ file://855.patch \
+ file://857.patch \
+ file://0001-Correct-clang-compiler-flags.patch \
+ "
+
+EXTRA_OECMAKE = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '-DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON', '', d)} "
+
+# this is an header only library, do not depend on the main package
+RDEPENDS_${PN}-dev = ""
+
+# to add this package to an SDK, since it isn't a reverse-dependency of anything, just use something like this:
+# TOOLCHAIN_TARGET_TASK_append = " websocketpp-dev"
+
+# tag 0.8.2
+SRCREV= "56123c87598f8b1dd471be83ca841ceae07f95ba"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGES =+ "${PN}-examples"
+
+FILES_${PN}-examples = "${docdir}"
+
+do_install_append() {
+ install -d ${D}${docdir}/${BPN}
+ cp -R ${S}/examples ${D}${docdir}/${BPN}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch b/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch
deleted file mode 100644
index 90eff5bb..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch b/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch
deleted file mode 100644
index f67f784c..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch
+++ /dev/null
@@ -1,656 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb b/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb
deleted file mode 100644
index c66572b1..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Atheros 6K Wifi configuration utility"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://wmiconfig.c;endline=19;md5=4394a56bca1c5b2446c9f8e406c82911"
-SECTION = "console/network"
-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 \
- 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"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 wmiconfig ${D}${bindir}
-}
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.0.11.bb b/external/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.0.11.bb
deleted file mode 100644
index 9669d9bb..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.0.11.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Xdelta is a tool for differential compression"
-DESCRIPTION = "Open-source binary diff, differential compression tools, \
- VCDIFF (RFC 3284) delta compression."
-HOMEPAGE = "http://xdelta.org/"
-SECTION = "console/utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-SRC_URI = "https://github.com/jmacd/xdelta-devel/releases/download/v${PV}/${BPN}-${PV}.tar.gz \
- "
-SRC_URI[md5sum] = "445d8be2ac512113d5ca601ae8359626"
-SRC_URI[sha256sum] = "0ccc9751ceaa4d90d6b06938a4deddb481816f5d9284bd07d2e728609cb300aa"
-
-inherit autotools
-
-# Optional secondary compression
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lzma] = "--with-liblzma,--without-liblzma,xz"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb b/external/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb
new file mode 100644
index 00000000..d100030f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Xdelta is a tool for differential compression"
+DESCRIPTION = "Open-source binary diff, differential compression tools, \
+ VCDIFF (RFC 3284) delta compression."
+HOMEPAGE = "http://xdelta.org/"
+SECTION = "console/utils"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+
+SRC_URI = "git://github.com/jmacd/xdelta.git;branch=release3_1_apl"
+SRCREV = "4b4aed71a959fe11852e45242bb6524be85d3709"
+S = "${WORKDIR}/git/xdelta3"
+
+inherit autotools
+
+# Optional secondary compression
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lzma] = "--with-liblzma,--without-liblzma,xz"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch
new file mode 100644
index 00000000..53c11976
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch
@@ -0,0 +1,52 @@
+From 9ed3b4e628f9254d5c86006fe63c33a1eb02aee5 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 4 Feb 2020 23:39:49 -0800
+Subject: [PATCH] nss/nspr: fix for multilib
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ configure.ac | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b46d97d..39f4318 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -920,24 +920,24 @@ fi
+ dnl Priority 1: User specifies the path to installation
+ if test "z$NSPR_FOUND" = "zno" -a "z$with_nspr" != "z" -a "z$with_nspr" != "zyes" ; then
+ AC_MSG_CHECKING(for nspr library installation in "$with_nspr" folder)
+- if test -f "$with_nspr/include/$NSPR_INCLUDE_MARKER" -a -f "$with_nspr/lib/$NSPR_LIB_MARKER" ; then
+- NSPR_INCLUDE_PATH="$with_nspr/include"
+- NSPR_LIB_PATH="$with_nspr/lib"
++ if test -f "$with_nspr/${includedir}/$NSPR_INCLUDE_MARKER" -a -f "$with_nspr/${libdir}/$NSPR_LIB_MARKER" ; then
++ NSPR_INCLUDE_PATH="$with_nspr/${includedir}"
++ NSPR_LIB_PATH="$with_nspr/${libdir}"
+ NSPR_FOUND="yes"
+ AC_MSG_RESULT([yes])
+ else
+- AC_MSG_ERROR([not found: "$with_nspr/include/$NSPR_INCLUDE_MARKER" and/or "$with_nspr/lib/$NSPR_LIB_MARKER" files don't exist), typo?])
++ AC_MSG_ERROR([not found: "$with_nspr/${includedir}/$NSPR_INCLUDE_MARKER" and/or "$with_nspr/${libdir}/$NSPR_LIB_MARKER" files don't exist), typo?])
+ fi
+ fi
+ if test "z$NSS_FOUND" = "zno" -a "z$with_nss" != "z" -a "z$with_nss" != "zyes" ; then
+ AC_MSG_CHECKING(for nss library installation in "$with_nss" folder)
+- if test -f "$with_nss/include/$NSS_INCLUDE_MARKER" -a -f "$with_nss/lib/$NSS_LIB_MARKER" ; then
+- NSS_INCLUDE_PATH="$with_nss/include"
+- NSS_LIB_PATH="$with_nss/lib"
++ if test -f "$with_nss/${includedir}/$NSS_INCLUDE_MARKER" -a -f "$with_nss/${libdir}/$NSS_LIB_MARKER" ; then
++ NSS_INCLUDE_PATH="$with_nss/${includedir}"
++ NSS_LIB_PATH="$with_nss/${libdir}"
+ NSS_FOUND="yes"
+ AC_MSG_RESULT([yes])
+ else
+- AC_MSG_ERROR([not found: "$with_nss/include/$NSS_INCLUDE_MARKER" and/or "$with_nss/lib/$NSS_LIB_MARKER" files don't exist), typo?])
++ AC_MSG_ERROR([not found: "$with_nss/${includedir}/$NSS_INCLUDE_MARKER" and/or "$with_nss/${libdir}/$NSS_LIB_MARKER" files don't exist), typo?])
+ fi
+ fi
+
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch
new file mode 100644
index 00000000..1451ff56
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch
@@ -0,0 +1,27 @@
+From c1c980a95d85bcaf8802524d6148783522b300d7 Mon Sep 17 00:00:00 2001
+From: Yulong Pei <Yulong.pei@windriver.com>
+Date: Wed, 21 Jul 2010 22:33:43 +0800
+Subject: [PATCH] change finding path of nss and nspr
+
+Upstream-Status: Pending
+
+Signed-off-by: Yulong Pei <Yulong.pei@windriver.com>
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ configure.ac | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 951b3eb..1fdeb0f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -866,7 +866,7 @@ MOZILLA_MIN_VERSION="1.4"
+ NSPR_INCLUDE_MARKER="nspr/nspr.h"
+ NSPR_LIB_MARKER="libnspr4$shrext"
+ NSPR_LIBS_LIST="-lnspr4 -lplds4 -lplc4"
+-NSS_INCLUDE_MARKER="nss/nss.h"
++NSS_INCLUDE_MARKER="nss3/nss.h"
+ NSS_LIB_MARKER="libnss3$shrext"
+ NSS_LIBS_LIST="-lnss3 -lsmime3"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch
new file mode 100644
index 00000000..af598fe7
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch
@@ -0,0 +1,26 @@
+From 847dc52f5a50e34ee4d6e3dc2c708711747a58ca Mon Sep 17 00:00:00 2001
+From: Yulong Pei <Yulong.pei@windriver.com>
+Date: Thu, 21 Jan 2010 14:11:20 +0800
+Subject: [PATCH] force to use our own libtool
+
+Upstream-Status: Inappropriate [ OE specific ]
+
+Signed-off-by: Yulong Pei <Yulong.pei@windriver.com>
+
+---
+ ltmain.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 147d758..a61f16b 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6969,7 +6969,7 @@ func_mode_link ()
+ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+- [\\/]* | [A-Za-z]:[\\/]*) ;;
++ =* | [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch
new file mode 100644
index 00000000..d4535692
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch
@@ -0,0 +1,40 @@
+From 83a1381e1d6bd1b5ec3df6f7c4bc1f4fe4f860b6 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 15 Jun 2017 14:44:01 +0800
+Subject: [PATCH] xmlsec1: add new recipe
+
+This enables the building of the examples directory
+and it's installed as ptest.
+
+Upstream-Status: Inappropriate [ OE ptest specific ]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+---
+ examples/Makefile | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/examples/Makefile b/examples/Makefile
+index 89b1d61..c1cbcca 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -8,9 +8,17 @@ PROGRAMS = \
+ decrypt1 decrypt2 decrypt3 \
+ xmldsigverify
+
++ifndef CC
+ CC = gcc
+-CFLAGS += -g $(shell xmlsec1-config --cflags) -DUNIX_SOCKETS
+-LDLIBS += -g $(shell xmlsec1-config --libs)
++endif
++
++CFLAGS += -I../include -g $(shell PKG_CONFIG_PATH=.. pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS
++LDLIBS += -L../src/.libs -g $(shell PKG_CONFIG_PATH=.. pkg-config --libs xmlsec1 )
++
++DESTDIR = /usr/share/xmlsec1
++install-ptest:
++ if [ ! -d $(DESTDIR) ]; then mkdir -p $(DESTDIR); fi
++ cp * $(DESTDIR)
+
+ all: $(PROGRAMS)
+
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
new file mode 100755
index 00000000..a203c38f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+check_return() {
+ if [ $? == 0 ]; then
+ echo -e "PASS: $1\n"
+ else
+ echo -e "FAIL: $1\n"
+ fi
+}
+
+echo "---------------------------------------------------"
+echo "Signing a template file..."
+./sign1 sign1-tmpl.xml rsakey.pem > sign1-res.xml
+./verify1 sign1-res.xml rsapub.pem
+check_return sign-tmpl
+
+echo "---------------------------------------------------"
+echo "Signing a dynamicaly created template..."
+./sign2 sign2-doc.xml rsakey.pem > sign2-res.xml
+./verify1 sign2-res.xml rsapub.pem
+check_return sign-dynamic-templ
+
+echo "---------------------------------------------------"
+echo "Signing with X509 certificate..."
+./sign3 sign3-doc.xml rsakey.pem rsacert.pem > sign3-res.xml
+./verify3 sign3-res.xml ca2cert.pem cacert.pem
+check_return sign-x509
+
+echo "---------------------------------------------------"
+echo "Verifying a signature with a single key..."
+./verify1 sign1-res.xml rsapub.pem
+./verify1 sign2-res.xml rsapub.pem
+check_return verify-single-key
+
+echo "---------------------------------------------------"
+echo "Verifying a signature with keys manager..."
+./verify2 sign1-res.xml rsapub.pem
+./verify2 sign2-res.xml rsapub.pem
+check_return verify-keys-manager
+
+echo "---------------------------------------------------"
+echo "Verifying a signature with X509 certificates..."
+./verify3 sign3-res.xml ca2cert.pem cacert.pem
+check_return verify-x509
+
+echo "---------------------------------------------------"
+echo "Verifying a signature with additional restrictions..."
+./verify4 verify4-res.xml ca2cert.pem cacert.pem
+check_return verify-res
+
+echo "---------------------------------------------------"
+echo "Encrypting data with a template file..."
+./encrypt1 encrypt1-tmpl.xml deskey.bin > encrypt1-res.xml
+./decrypt1 encrypt1-res.xml deskey.bin
+check_return encrypt-tmpl
+
+echo "---------------------------------------------------"
+echo "Encrypting data with a dynamicaly created template..."
+./encrypt2 encrypt2-doc.xml deskey.bin > encrypt2-res.xml
+./decrypt1 encrypt2-res.xml deskey.bin
+check_return encrypt-dynamic-tmpl
+
+echo "---------------------------------------------------"
+echo "Encrypting data with a session key..."
+./encrypt3 encrypt3-doc.xml rsakey.pem > encrypt3-res.xml
+./decrypt3 encrypt3-res.xml
+check_return encrypt-session-key
+
+echo "---------------------------------------------------"
+echo "Decrypting data with a single key..."
+./decrypt1 encrypt1-res.xml deskey.bin
+./decrypt1 encrypt2-res.xml deskey.bin
+check_return encrypt-single-key
+
+echo "---------------------------------------------------"
+echo "Decrypting data with keys manager..."
+./decrypt2 encrypt1-res.xml deskey.bin
+./decrypt2 encrypt2-res.xml deskey.bin
+check_return encrypt-keys-manager
+
+echo "---------------------------------------------------"
+echo "Writing a custom keys manager..."
+./decrypt3 encrypt1-res.xml
+./decrypt3 encrypt2-res.xml
+check_return write-keys-manager
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch
new file mode 100644
index 00000000..8b2533ed
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch
@@ -0,0 +1,30 @@
+From 0c38c6864e7ba8f53a657d87894f24374a6a4932 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Tue, 30 Dec 2014 11:18:17 +0800
+Subject: [PATCH] examples: allow build in separate dir
+
+Upstream-Status: Inappropriate [ OE specific ]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+---
+ examples/Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/examples/Makefile b/examples/Makefile
+index c1cbcca..3f1bd14 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -12,8 +12,10 @@ ifndef CC
+ CC = gcc
+ endif
+
+-CFLAGS += -I../include -g $(shell PKG_CONFIG_PATH=.. pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS
+-LDLIBS += -L../src/.libs -g $(shell PKG_CONFIG_PATH=.. pkg-config --libs xmlsec1 )
++top_srcdir = ..
++top_builddir = ..
++CFLAGS += -I$(top_srcdir)/include -g $(shell PKG_CONFIG_PATH=$(top_srcdir) pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS
++LDLIBS += -L$(top_builddir)/src/.libs -g $(shell PKG_CONFIG_PATH=$(top_srcdir) pkg-config --libs xmlsec1 )
+
+ DESTDIR = /usr/share/xmlsec1
+ install-ptest:
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.30.bb b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.30.bb
new file mode 100644
index 00000000..20c7b2d3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.30.bb
@@ -0,0 +1,65 @@
+SUMMARY = "XML Security Library is a C library based on LibXML2"
+DESCRIPTION = "\
+ XML Security Library is a C library based on \
+ LibXML2 and OpenSSL. The library was created with a goal to support major \
+ XML security standards "XML Digital Signature" and "XML Encryption". \
+ "
+HOMEPAGE = "http://www.aleksey.com/xmlsec/"
+DEPENDS = "libtool libxml2 libxslt zlib"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=352791d62092ea8104f085042de7f4d0"
+
+SECTION = "libs"
+
+SRC_URI = "http://www.aleksey.com/xmlsec/download/${BP}.tar.gz \
+ file://fix-ltmain.sh.patch \
+ file://change-finding-path-of-nss.patch \
+ file://makefile-ptest.patch \
+ file://xmlsec1-examples-allow-build-in-separate-dir.patch \
+ file://0001-nss-nspr-fix-for-multilib.patch \
+ file://run-ptest \
+ "
+
+SRC_URI[md5sum] = "b66ec21e0a0ac331afb4b1bc5c9ef966"
+SRC_URI[sha256sum] = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8"
+
+inherit autotools-brokensep ptest pkgconfig
+
+#CFLAGS += "-I${STAGING_INCDIR}/nss3"
+#CPPFLAGS += "-I${STAGING_INCDIR}/nss3"
+
+PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des"
+PACKAGECONFIG[gnutls] = ",,gnutls"
+PACKAGECONFIG[libgcrypt] = ",,libgcrypt"
+PACKAGECONFIG[nss] = "--with-nss=${STAGING_DIR_HOST} --with-nspr=${STAGING_DIR_HOST},,nss nspr"
+PACKAGECONFIG[openssl] = ",,openssl"
+PACKAGECONFIG[des] = ",--disable-des,,"
+
+# these can be dynamically loaded with xmlSecCryptoDLLoadLibrary()
+FILES_SOLIBSDEV = "${libdir}/libxmlsec1.so"
+FILES_${PN} += "${libdir}/libxmlsec1-*.so"
+INSANE_SKIP_${PN} = "dev-so"
+
+FILES_${PN}-dev += "${libdir}/xmlsec1Conf.sh"
+FILES_${PN}-dbg += "${PTEST_PATH}/.debug/*"
+
+RDEPENDS_${PN}-ptest += "${PN}-dev"
+INSANE_SKIP_${PN}-ptest += "dev-deps"
+
+PTEST_EXTRA_ARGS = "top_srcdir=${S} top_builddir=${B}"
+
+do_compile_ptest () {
+ oe_runmake -C ${S}/examples ${PTEST_EXTRA_ARGS} all
+}
+
+do_install_append() {
+ for i in ${bindir}/xmlsec1-config ${libdir}/xmlsec1Conf.sh \
+ ${libdir}/pkgconfig/xmlsec1-openssl.pc; do
+ sed -i -e "s@${RECIPE_SYSROOT}@@g" ${D}$i
+ done
+}
+
+do_install_ptest () {
+ oe_runmake -C ${S}/examples DESTDIR=${D}${PTEST_PATH} ${PTEST_EXTRA_ARGS} install-ptest
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb b/external/meta-openembedded/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb
index 0bdafdf3..481e7303 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb
@@ -7,7 +7,7 @@ inherit autotools pkgconfig
DEPENDS = "virtual/libx11 xserver-xorg xrdp nasm-native"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "x11 pam"
SRC_URI = "git://github.com/neutrinolabs/xorgxrdp.git"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch b/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch
deleted file mode 100644
index 4c93647f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-Subject: [PATCH] Fix CVE-2017-16927
-
-sesman: scpv0, accept variable length data fields
-
-Upstream-Status: Backport
-
----
- sesman/libscp/libscp_v0.c | 32 +++++++++++++++++++++++++-------
- 1 file changed, 25 insertions(+), 7 deletions(-)
-
-diff --git a/sesman/libscp/libscp_v0.c b/sesman/libscp/libscp_v0.c
-index 5a0c8bf..5693407 100644
---- a/sesman/libscp/libscp_v0.c
-+++ b/sesman/libscp/libscp_v0.c
-@@ -161,7 +161,7 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
- struct SCP_SESSION *session = 0;
- tui16 sz;
- tui32 code = 0;
-- char buf[257];
-+ char *buf = 0;
-
- if (!skipVchk)
- {
-@@ -226,27 +226,31 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- /* reading username */
- in_uint16_be(c->in_s, sz);
-- buf[sz] = '\0';
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
--
-+ buf[sz] = '\0';
- if (0 != scp_session_set_username(session, buf))
- {
- scp_session_destroy(session);
- log_message(LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting username", __LINE__);
-+ g_free(buf);
- return SCP_SERVER_STATE_INTERNAL_ERR;
- }
-+ g_free(buf);
-
- /* reading password */
- in_uint16_be(c->in_s, sz);
-- buf[sz] = '\0';
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
--
-+ buf[sz] = '\0';
- if (0 != scp_session_set_password(session, buf))
- {
- scp_session_destroy(session);
- log_message(LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting password", __LINE__);
-+ g_free(buf);
- return SCP_SERVER_STATE_INTERNAL_ERR;
- }
-+ g_free(buf);
-
- /* width */
- in_uint16_be(c->in_s, sz);
-@@ -272,9 +276,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- if (sz > 0)
- {
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
- buf[sz] = '\0';
- scp_session_set_domain(session, buf);
-+ g_free(buf);
- }
- }
-
-@@ -285,9 +291,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- if (sz > 0)
- {
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
- buf[sz] = '\0';
- scp_session_set_program(session, buf);
-+ g_free(buf);
- }
- }
-
-@@ -298,9 +306,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- if (sz > 0)
- {
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
- buf[sz] = '\0';
- scp_session_set_directory(session, buf);
-+ g_free(buf);
- }
- }
-
-@@ -311,9 +321,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- if (sz > 0)
- {
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
- buf[sz] = '\0';
- scp_session_set_client_ip(session, buf);
-+ g_free(buf);
- }
- }
- }
-@@ -332,29 +344,35 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
- scp_session_set_type(session, SCP_GW_AUTHENTICATION);
- /* reading username */
- in_uint16_be(c->in_s, sz);
-- buf[sz] = '\0';
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
-+ buf[sz] = '\0';
-
- /* g_writeln("Received user name: %s",buf); */
- if (0 != scp_session_set_username(session, buf))
- {
- scp_session_destroy(session);
- /* until syslog merge log_message(s_log, LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting username", __LINE__);*/
-+ g_free(buf);
- return SCP_SERVER_STATE_INTERNAL_ERR;
- }
-+ g_free(buf);
-
- /* reading password */
- in_uint16_be(c->in_s, sz);
-- buf[sz] = '\0';
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
-+ buf[sz] = '\0';
-
- /* g_writeln("Received password: %s",buf); */
- if (0 != scp_session_set_password(session, buf))
- {
- scp_session_destroy(session);
- /* until syslog merge log_message(s_log, LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting password", __LINE__); */
-+ g_free(buf);
- return SCP_SERVER_STATE_INTERNAL_ERR;
- }
-+ g_free(buf);
- }
- else
- {
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch b/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch
deleted file mode 100644
index deaadde8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From a9c460f158d68c1b3de6a31ce853de5379977695 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Thu, 30 Nov 2017 11:10:04 +0900
-Subject: [PATCH] Fix sesman.ini and xrdp.ini
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- sesman/sesman.ini | 20 ++++++--------------
- xrdp/xrdp.ini | 10 ----------
- 2 files changed, 6 insertions(+), 24 deletions(-)
-
-diff --git a/sesman/sesman.ini b/sesman/sesman.ini
-index 8225ee4..c09189e 100644
---- a/sesman/sesman.ini
-+++ b/sesman/sesman.ini
-@@ -54,12 +54,14 @@ LogLevel=DEBUG
- EnableSyslog=1
- SyslogLevel=DEBUG
-
--[X11rdp]
--param=X11rdp
--param=-bs
-+[Xorg]
-+param=Xorg
-+param=-config
-+param=xrdp/xorg.conf
-+param=-noreset
- param=-nolisten
- param=tcp
--param=-uds
-+
-
- [Xvnc]
- param=Xvnc
-@@ -70,16 +72,6 @@ param=-localhost
- param=-dpi
- param=96
-
--[Xorg]
--param=Xorg
--param=-config
--param=xrdp/xorg.conf
--param=-noreset
--param=-nolisten
--param=tcp
--param=-logfile
--param=.xorgxrdp.%s.log
--
- [Chansrv]
- ; drive redirection, defaults to xrdp_client if not set
- FuseMountName=thinclient_drives
-diff --git a/xrdp/xrdp.ini b/xrdp/xrdp.ini
-index cb6d7c3..9f63a69 100644
---- a/xrdp/xrdp.ini
-+++ b/xrdp/xrdp.ini
-@@ -157,16 +157,6 @@ ip=127.0.0.1
- port=-1
- code=20
-
--[X11rdp]
--name=X11rdp
--lib=libxup.so
--username=ask
--password=ask
--ip=127.0.0.1
--port=-1
--xserverbpp=24
--code=10
--
- [Xvnc]
- name=Xvnc
- lib=libvnc.so
---
-1.8.4.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.11.bb b/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.11.bb
new file mode 100644
index 00000000..deda0fd1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.11.bb
@@ -0,0 +1,97 @@
+SUMMARY = "An open source remote desktop protocol(rdp) server."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \
+"
+
+inherit features_check autotools pkgconfig useradd systemd
+
+DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native"
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+SRC_URI = "git://github.com/neutrinolabs/xrdp.git \
+ file://xrdp.sysconfig \
+ file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \
+ file://0001-Fix-the-compile-error.patch \
+ "
+
+SRCREV = "1e4b03eb3c9aa7173de251a328c93c073dcc0fca"
+
+PV = "0.9.11"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system xrdp"
+USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \
+ --no-create-home --shell /bin/false xrdp"
+
+FILES_${PN} += "${datadir}/dbus-1/services/*.service \
+ ${datadir}/dbus-1/accessibility-services/*.service "
+
+FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \
+ ${libdir}/xrdp/libxrdp.so \
+ ${libdir}/xrdp/libscp.so \
+ ${libdir}/xrdp/libxrdpapi.so "
+
+EXTRA_OECONF = "--enable-pam-config=suse"
+
+do_configure_prepend() {
+ cd ${S}
+ ./bootstrap
+ cd -
+}
+
+do_compile_prepend() {
+ sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in
+}
+
+
+do_install_append() {
+ install -d ${D}${sysconfdir}
+ install -d ${D}${sysconfdir}/xrdp
+ install -d ${D}${sysconfdir}/xrdp/pam.d
+ install -d ${D}${sysconfdir}/sysconfig/xrdp
+
+ # deal with systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service
+ install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+
+ install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/sesman/sesman.ini.in ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/xrdp/xrdp.ini.in ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/instfiles/xrdp.sh ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/
+ chown xrdp:xrdp ${D}${sysconfdir}/xrdp
+}
+
+SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service"
+
+pkg_postinst_${PN}() {
+ if test -z "$D"
+ then
+ if test -x ${bindir}/xrdp-keygen
+ then
+ ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null
+ fi
+ if test ! -s ${sysconfdir}/xrdp/cert.pem
+ then
+ openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \
+ -keyout ${sysconfdir}/xrdp/key.pem \
+ -out ${sysconfdir}/xrdp/cert.pem \
+ -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1
+ chmod 400 ${sysconfdir}/xrdp/key.pem
+ fi
+ fi
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb b/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb
deleted file mode 100644
index 3ef7c985..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb
+++ /dev/null
@@ -1,99 +0,0 @@
-SUMMARY = "An open source remote desktop protocol(rdp) server."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \
-"
-
-inherit distro_features_check autotools pkgconfig useradd systemd
-
-DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native"
-
-REQUIRED_DISTRO_FEATURES = "x11 pam"
-
-SRC_URI = "git://github.com/neutrinolabs/xrdp.git \
- file://xrdp.sysconfig \
- file://0001-Fix-sesman.ini-and-xrdp.ini.patch \
- file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \
- file://0001-Fix-the-compile-error.patch \
- file://0001-Fix-of-CVE-2017-16927.patch \
- "
-
-SRCREV = "c295dd61b882e8b56677cf12791f43634f9190b5"
-
-PV = "0.9.4+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system xrdp"
-USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \
- --no-create-home --shell /bin/false xrdp"
-
-FILES_${PN} += "${datadir}/dbus-1/services/*.service \
- ${datadir}/dbus-1/accessibility-services/*.service "
-
-FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \
- ${libdir}/xrdp/libxrdp.so \
- ${libdir}/xrdp/libscp.so \
- ${libdir}/xrdp/libxrdpapi.so "
-
-EXTRA_OECONF = "--enable-pam-config=suse"
-
-do_configure_prepend() {
- cd ${S}
- ./bootstrap
- cd -
-}
-
-do_compile_prepend() {
- sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in
-}
-
-
-do_install_append() {
- install -d ${D}${sysconfdir}
- install -d ${D}${sysconfdir}/xrdp
- install -d ${D}${sysconfdir}/xrdp/pam.d
- install -d ${D}${sysconfdir}/sysconfig/xrdp
-
- # deal with systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service
- install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
-
- install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/sesman/sesman.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/xrdp/xrdp.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/instfiles/xrdp.sh ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/
- install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/
- chown xrdp:xrdp ${D}${sysconfdir}/xrdp
-}
-
-SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service"
-
-pkg_postinst_${PN}() {
- if test -z "$D"
- then
- if test -x ${bindir}/xrdp-keygen
- then
- ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null
- fi
- if test ! -s ${sysconfdir}/xrdp/cert.pem
- then
- openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \
- -keyout ${sysconfdir}/xrdp/key.pem \
- -out ${sysconfdir}/xrdp/cert.pem \
- -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1
- chmod 400 ${sysconfdir}/xrdp/key.pem
- fi
- fi
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb b/external/meta-openembedded/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb
new file mode 100644
index 00000000..1d75d52d
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb
@@ -0,0 +1,41 @@
+SUMMARY = "X.Org X cvt"
+HOMEPAGE = "https://linux.die.net/man/1/cvt"
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
+
+DEPENDS += "pixman-native xorgproto-native libxrandr-native"
+
+XORG_PN = "xorg-server"
+
+SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "c9fc7e21e11286dbedd22c00df652130"
+SRC_URI[sha256sum] = "a81d8243f37e75a03d4f8c55f96d0bc25802be6ec45c3bfa5cb614c6d01bac9d"
+
+S = "${WORKDIR}/${XORG_PN}-${PV}"
+B = "${WORKDIR}/build"
+
+inherit native pkgconfig
+
+do_configure[noexec] = "1"
+
+do_compile() {
+ cd ${S}
+ for header in `find -name '*.h'`; do
+ path=`dirname $header`
+ if ! echo "$incpaths" | grep -q "$path" ; then
+ incpaths="$incpaths -I$path"
+ fi
+ done
+ CFLAGS="${CFLAGS} -DXORG_VERSION_CURRENT=1 $incpaths `pkg-config --cflags pixman-1`"
+ LDFLAGS="${LDFLAGS} -lm `pkg-config --libs pixman-1`"
+ ${CC} $CFLAGS -o ${B}/cvt \
+ ${S}/hw/xfree86/utils/cvt/cvt.c \
+ ${S}/hw/xfree86/modes/xf86cvt.c \
+ ${S}/os/xprintf.c \
+ $LDFLAGS
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 755 ${B}/cvt ${D}${bindir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.7.3.bb b/external/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.7.3.bb
new file mode 100644
index 00000000..865adc5a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.7.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Extremely fast non-cryptographic hash algorithm"
+DESCRIPTION = "xxHash is an extremely fast non-cryptographic hash algorithm, \
+working at speeds close to RAM limits."
+HOMEPAGE = "http://www.xxhash.com/"
+LICENSE = "BSD-2-Clause & GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01a7eba4212ef1e882777a38585e7a9b"
+
+SRC_URI = "git://github.com/Cyan4973/xxHash.git"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+SRCREV = "d408e9b0606d07b1ddc5452ffc0ec8512211b174"
+
+S = "${WORKDIR}/git"
+
+do_compile () {
+ oe_runmake all
+}
+
+do_install () {
+ oe_runmake DESTDIR=${D} install
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch b/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch
index 04239bac..c93af329 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch
+++ b/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch
@@ -14,8 +14,6 @@ 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])
@@ -23,10 +21,16 @@ index 56d3dd0..9f85fd7 100644
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])
++AM_INIT_AUTOMAKE([1.10 -Wall -Wno-error 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
-
+@@ -47,7 +47,7 @@ AC_DEFINE_UNQUOTED([LIB_VERSION_REVISION
+ [Library revision])
+
+ AM_CPPFLAGS="-I$srcdir/include"
+-AM_CFLAGS="-Wall -Wno-parentheses -Werror"
++AM_CFLAGS="-Wall -Wno-parentheses"
+ AM_CXXFLAGS="$AM_CFLAGS"
+ AC_SUBST([AM_CPPFLAGS])
+ AC_SUBST([AM_CFLAGS])
diff --git a/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch b/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch
deleted file mode 100644
index f7d8ba1e..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb b/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb
deleted file mode 100644
index 6b6e5011..00000000
--- a/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb b/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb
new file mode 100644
index 00000000..935e09cd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb
@@ -0,0 +1,31 @@
+DESRIPTION = "2D barcode scanner toolkit."
+SECTION = "graphics"
+LICENSE = "LGPL-2.1"
+
+DEPENDS = "pkgconfig intltool-native libpng jpeg"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4015840237ca7f0175cd626f78714ca8"
+
+PV = "0.10+git${SRCPV}"
+
+# iPhoneSDK-1.3.1 tag
+SRCREV = "67003d2a985b5f9627bee2d8e3e0b26d0c474b57"
+SRC_URI = "git://github.com/ZBar/Zbar \
+ file://0001-make-relies-GNU-extentions.patch \
+"
+S = "${WORKDIR}/git"
+
+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"
+
+CPPFLAGS += "-Wno-error"
+
+do_install_append() {
+ #remove usr/bin if empty
+ rmdir ${D}${bindir}
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.6.bb b/external/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.6.bb
new file mode 100644
index 00000000..e041132b
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.6.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A file format designed for highly efficient deltas while maintaining good compression"
+AUTHOR = "Jonathan Dieter"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cd6e590282010ce90a94ef25dd31410f"
+
+SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https"
+
+SRCREV = "f5593aa11584faa691c81b4898f0aaded47f8bf7"
+S = "${WORKDIR}/git"
+
+DEPENDS = "\
+ curl \
+ zstd \
+ "
+
+DEPENDS_append_libc-musl = " argp-standalone"
+LDFLAGS_append_libc-musl = " -largp"
+
+inherit meson
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb b/external/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb
index 515cf413..acd49149 100644
--- a/external/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb
+++ b/external/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb
@@ -5,7 +5,7 @@ DEPENDS = "ncurses bdwgc"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \
+SRC_URI = "${GNU_MIRROR}/zile/${BP}.tar.gz \
file://remove-help2man.patch \
"
@@ -20,6 +20,6 @@ do_install_append() {
}
PACKAGECONFIG ??= ""
-PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
+PACKAGECONFIG_append = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
diff --git a/external/meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb b/external/meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb
new file mode 100644
index 00000000..a8179744
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Bash Automated Testing System"
+DESCRIPTION = "Bats is a TAP-compliant testing framework for Bash. It \
+provides a simple way to verify that the UNIX programs you write behave as expected."
+AUTHOR = "Sam Stephenson & bats-core organization"
+HOMEPAGE = "https://github.com/bats-core/bats-core"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2970203aedf9e829edb96a137a4fe81b"
+
+SRC_URI = "git://github.com/bats-core/bats-core.git \
+ "
+# v1.1.0
+SRCREV = "c706d1470dd1376687776bbe985ac22d09780327"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ # Just a bunch of bash scripts to install
+ ${S}/install.sh ${D}${prefix}
+}
+
+RDEPENDS_bats = "bash"
diff --git a/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2/0001-Fix-convert-from-char-on-ARM-build.patch b/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2/0001-Fix-convert-from-char-on-ARM-build.patch
deleted file mode 100644
index 30737756..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2/0001-Fix-convert-from-char-on-ARM-build.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 5729874fa5059c39aa97cfa08fddf107b7a65c9e Mon Sep 17 00:00:00 2001
-From: Miguel Gaio <mgaio35@gmail.com>
-Date: Wed, 3 Oct 2018 10:22:16 +0200
-Subject: [PATCH] Fix convert from char on ARM build
-
-Some platforms set the signedness of char to unsigned (eg. ARM).
-Convert from char should not assume the signedness of char.
-
-Fix build issue with -Werror,-Wtautological-unsigned-zero-compare flags.
-
-Signed-off-by: Miguel Gaio <mgaio35@gmail.com>
-
-Upstream-Status: Accepted [Commit f1faaa9c107113692301ad8bb56084460ef1a2ff]
-
-Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
----
- include/internal/catch_tostring.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/include/internal/catch_tostring.cpp b/include/internal/catch_tostring.cpp
-index 4e0c027d..8cbabbf2 100644
---- a/include/internal/catch_tostring.cpp
-+++ b/include/internal/catch_tostring.cpp
-@@ -205,7 +205,7 @@ std::string StringMaker<bool>::convert(bool b) {
- return b ? "true" : "false";
- }
-
--std::string StringMaker<char>::convert(char value) {
-+std::string StringMaker<signed char>::convert(signed char value) {
- if (value == '\r') {
- return "'\\r'";
- } else if (value == '\f') {
-@@ -222,8 +222,8 @@ std::string StringMaker<char>::convert(char value) {
- return chstr;
- }
- }
--std::string StringMaker<signed char>::convert(signed char c) {
-- return ::Catch::Detail::stringify(static_cast<char>(c));
-+std::string StringMaker<char>::convert(char c) {
-+ return ::Catch::Detail::stringify(static_cast<signed char>(c));
- }
- std::string StringMaker<unsigned char>::convert(unsigned char c) {
- return ::Catch::Detail::stringify(static_cast<char>(c));
---
-2.19.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.4.1.bb b/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
deleted file mode 100644
index 0183c2e4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
-TDD and BDD - using C++11, C++14, C++17 and later."
-AUTHOR = "Phil Nash, Martin Horenovsky and others"
-HOMEPAGE = "https://github.com/catchorg/Catch2"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-SRC_URI = "git://github.com/catchorg/Catch2.git \
- file://0001-Fix-convert-from-char-on-ARM-build.patch"
-SRCREV = "9e1bdca4667295fcb16265eae00efa8423f07007"
-
-S = "${WORKDIR}/git"
-
-inherit cmake python3native
-
-# Header-only library
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
-
-do_install_append() {
- rm ${D}/${datadir}/Catch2/lldbinit
- rm ${D}/${datadir}/Catch2/gdbinit
- rmdir ${D}/${datadir}/Catch2/
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb b/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb
new file mode 100644
index 00000000..57fc935f
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
+TDD and BDD - using C++11, C++14, C++17 and later."
+AUTHOR = "Phil Nash, Martin Horenovsky and others"
+HOMEPAGE = "https://github.com/catchorg/Catch2"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI = "git://github.com/catchorg/Catch2.git"
+SRCREV = "2c869e17e4803d30b3d5ca5b0d76387b9db97fa5"
+
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+do_install_append() {
+ rm ${D}${datadir}/Catch2/lldbinit
+ rm ${D}${datadir}/Catch2/gdbinit
+ rmdir ${D}${datadir}/Catch2/
+}
+# Header-only library
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/external/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb b/external/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb
deleted file mode 100644
index 65b08b06..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.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] = "d1c6bdd5a76c66d2c38331e2d287bc01"
-SRC_URI[sha256sum] = "3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f"
-
-inherit autotools
diff --git a/external/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb b/external/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb
new file mode 100644
index 00000000..92db31e1
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.15.1.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=b0e9ef921ff780eb328bdcaeebec3269"
+
+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] = "9dc669e6145cadd9674873e24943e6dd"
+SRC_URI[sha256sum] = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7"
+
+inherit autotools
diff --git a/external/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch b/external/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
index 6a20c128..441876e4 100644
--- a/external/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
+++ b/external/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
@@ -17,15 +17,12 @@ diff --git a/doc/Makefile.am b/doc/Makefile.am
index 8815476..3237499 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
-@@ -22,7 +22,7 @@ htmldir += $(pkgdatadir)/html
+@@ -8,7 +8,7 @@ htmldir += $(pkgdatadir)/html
html_DATA += $(static_pages) html/index.html
install-data-hook:
- cp -pR html/* $(DESTDIR)$(htmldir)
+ cp -R html/* $(DESTDIR)$(htmldir)
- # Automake's "distcheck" is sensitive to having files left over
- # after "make uninstall", so we have to clean up the install hook.
---
-2.5.0
-
+ uninstall-local:
+ rm -rf $(DESTDIR)$(htmldir)
diff --git a/external/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb b/external/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
index c9d87e36..babf8048 100644
--- a/external/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
+++ b/external/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
@@ -11,9 +11,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/project/cunit/CUnit/${PV}/CUnit-${PV}.tar.bz2 \
SRC_URI[md5sum] = "b5f1a9f6093869c070c6e4a9450cc10c"
SRC_URI[sha256sum] = "f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214"
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/cunit/files/releases"
+
inherit autotools-brokensep remove-libtool
EXTRA_OECONF = "--enable-memtrace --enable-automated --enable-basic --enable-console"
FILES_${PN}-dev += "${datadir}/CUnit"
FILES_${PN}-doc += "${docdir}"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb b/external/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb
deleted file mode 100644
index 29150117..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-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/external/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb b/external/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb
new file mode 100644
index 00000000..252eea36
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "CxxTest is a unit testing framework for C++ that is similar in spirit to JUnit, CppUnit, and xUnit."
+HOMEPAGE = "http://cxxtest.com/"
+SECTION = "devel"
+LICENSE = "LGPL-2.0"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/cxxtest-${PV}/COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI = "http://downloads.sourceforge.net/project/cxxtest/cxxtest/${PV}/cxxtest-${PV}.tar.gz"
+SRC_URI[md5sum] = "c3cc3355e2ac64e34c215f28e44cfcec"
+SRC_URI[sha256sum] = "1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8"
+
+S = "${WORKDIR}/cxxtest-${PV}/python"
+
+inherit distutils3
+
+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/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..706322d5
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,41 @@
+From fa57c78c33d26084f85f1a6b4c29378631dc9395 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 11:58:58 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/libevdev/evtest/merge_requests/6]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ evtest.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/evtest.c b/evtest.c
+index 548c203..93063cd 100644
+--- a/evtest.c
++++ b/evtest.c
+@@ -61,6 +61,11 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #define BITS_PER_LONG (sizeof(long) * 8)
+ #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
+ #define OFF(x) ((x)%BITS_PER_LONG)
+@@ -1140,7 +1145,7 @@ static int print_events(int fd)
+ type = ev[i].type;
+ code = ev[i].code;
+
+- printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec);
++ printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_sec);
+
+ if (type == EV_SYN) {
+ if (code == SYN_MT_REPORT)
diff --git a/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch b/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch
new file mode 100644
index 00000000..b2bf94fd
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch
@@ -0,0 +1,37 @@
+From 5eb4ab1c139ea38ebe6bb4acba08b09ee7d77d3c Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Sun, 18 Aug 2019 10:01:06 +0300
+Subject: Add missing limits.h include
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes build with musl libc that does not include limits.h indirectly via
+other headers.
+
+evtest.c: In function ‘scan_devices’:
+evtest.c:886:14: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean INT8_MAX’?
+ char fname[PATH_MAX];
+ ^~~~~~~~
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ evtest.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/evtest.c b/evtest.c
+index 37d4f85..548c203 100644
+--- a/evtest.c
++++ b/evtest.c
+@@ -56,6 +56,7 @@
+ #include <getopt.h>
+ #include <ctype.h>
+ #include <signal.h>
++#include <limits.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+--
+cgit v1.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb b/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb
new file mode 100644
index 00000000..a3a23c89
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Simple tool for input event debugging"
+HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/"
+AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "libxml2"
+
+SRCREV = "16e5104127a620686bdddc4a9ad62881134d6c69"
+SRC_URI = "git://gitlab.freedesktop.org/libevdev/evtest.git;protocol=https \
+ file://add_missing_limits_h_include.patch \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb b/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb
deleted file mode 100644
index fa0d6e2f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Simple tool for input event debugging"
-HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/"
-AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "libxml2"
-
-SRCREV = "ab140a2dab1547f7deb5233be6d94a388cf08b26"
-SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git"
-
-PV = "1.33+${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch b/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
index 611ccc8f..6795ba84 100644
--- a/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
+++ b/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
@@ -12,33 +12,33 @@ Upstream-Status: Pending
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 4daa9e8f..873f23eb 100644
+index 62c9ba8..435ec23 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -14,7 +14,7 @@ AM_CPPFLAGS = \
- `pkg-config --silence-errors --cflags json` \
- `pkg-config --silence-errors --cflags json-c` \
+ `pkg-config --silence-errors --cflags json` \
+ `pkg-config --silence-errors --cflags json-c` \
-pthread `pkg-config --cflags glib-2.0 gio-2.0` \
-- -Wall -Werror -Wextra
-+ -Wall -Wextra
+- -Wall -Werror -Wextra \
++ -Wall -Wextra \
+ -Wno-address-of-packed-member
bin_PROGRAMS = fwts
-
diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am
-index fa232451..082403a2 100644
+index 6bcf9f8..de89bf1 100644
--- a/src/lib/src/Makefile.am
+++ b/src/lib/src/Makefile.am
@@ -24,7 +24,7 @@ AM_CPPFLAGS = \
`pkg-config --silence-errors --cflags json-c` \
`pkg-config --cflags glib-2.0 gio-2.0` \
-DDATAROOTDIR=\"$(datarootdir)\" \
-- -Wall -Werror -Wextra
-+ -Wall -Wextra
+- -Wall -Werror -Wextra \
++ -Wall -Wextra \
+ -Wno-address-of-packed-member
pkglib_LTLIBRARIES = libfwts.la
-
diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am
-index aa37de55..4d5297cc 100644
+index 21f969e..82009a0 100644
--- a/src/utilities/Makefile.am
+++ b/src/utilities/Makefile.am
@@ -16,7 +16,7 @@
diff --git a/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch b/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
deleted file mode 100644
index ae3665b4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 5bd05ad8569880985ddf6d4c06ed927d388c297f 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 3cca9db9..60fb758f 100644
---- a/src/dmi/dmicheck/dmicheck.c
-+++ b/src/dmi/dmicheck/dmicheck.c
-@@ -211,6 +211,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 },
-@@ -251,6 +253,7 @@ static const fwts_chassis_type_map fwts_dmi_chassis_type[] = {
- { "Mini PC", FWTS_SMBIOS_CHASSIS_MINI_PC },
- { "Stick PC", FWTS_SMBIOS_CHASSIS_STICK_PC },
- };
-+#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 c7ba59be..bdd224aa 100644
---- a/src/lib/src/fwts_acpi_tables.c
-+++ b/src/lib/src/fwts_acpi_tables.c
-@@ -393,10 +393,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)) {
-@@ -415,6 +419,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 c2031741..7a33d19d 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/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb b/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb
new file mode 100644
index 00000000..88a89fb0
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Firmware testsuite"
+DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
+HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
+
+SRCREV = "b0ec7aa2ef743d113fd8c5e57c0ca3d5edd86f0e"
+SRC_URI = "http://fwts.ubuntu.com/release/fwts-V19.06.00.tar.gz;subdir=${BPN}-${PV} \
+ file://0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch \
+ file://0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
+ file://0003-Undefine-PAGE_SIZE.patch \
+ file://0001-Add-correct-printf-qualifier-for-off_t.patch \
+ file://0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \
+ file://0001-Remove-Werror-from-build.patch \
+ "
+SRC_URI[md5sum] = "012f933329510cc5a71817ede681eee2"
+SRC_URI[sha256sum] = "13aa991f12c69f48df368aae5e5d0fbc9136413b4bfe115421bc3216d919f8a2"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
+
+DEPENDS = "libpcre json-c glib-2.0 dtc bison-native libbsd"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+inherit autotools bash-completion pkgconfig
+
+CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
+LDFLAGS_append_libc-musl = " -lexecinfo"
+
+FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
+FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
+FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
+FILES_${PN}-dbg += "${libdir}/fwts/.debug"
+
+TOOLCHAIN = "gcc"
+
diff --git a/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb b/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb
deleted file mode 100644
index d3fb644d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Firmware testsuite"
-DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
-HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
-
-PV = "18.05.00+git${SRCPV}"
-
-SRCREV = "b0ec7aa2ef743d113fd8c5e57c0ca3d5edd86f0e"
-SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \
- file://0001-ignore-constant-logical-operand-warning-with-clang.patch \
- file://0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch \
- file://0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
- file://0003-Undefine-PAGE_SIZE.patch \
- file://0001-Add-correct-printf-qualifier-for-off_t.patch \
- file://0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \
- file://0001-Remove-Werror-from-build.patch \
- "
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
-
-DEPENDS = "libpcre json-c glib-2.0 dtc bison-native"
-DEPENDS_append_libc-musl = " libexecinfo"
-
-inherit autotools bash-completion pkgconfig
-
-CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
-LDFLAGS_append_libc-musl = " -lexecinfo"
-
-FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
-FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
-FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
-FILES_${PN}-dbg += "${libdir}/fwts/.debug"
-
-TOOLCHAIN = "gcc"
-
diff --git a/external/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb b/external/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb
new file mode 100644
index 00000000..354e7de3
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Google's framework for writing C++ tests"
+HOMEPAGE = "https://github.com/google/googletest"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
+ file://googletest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
+
+PV = "1.10.0"
+
+PROVIDES += "gmock gtest"
+
+S = "${WORKDIR}/git"
+SRCREV = "703bd9caab50b139428cea1aaff9974ebee5742e"
+SRC_URI = "git://github.com/google/googletest.git"
+
+inherit cmake
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-dbg = "1"
+
+RDEPENDS_${PN}-dev += "${PN}-staticdev"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_configure_prepend() {
+ # explicitly use python3
+ # the scripts are already python3 compatible since https://github.com/google/googletest/commit/d404af0d987a9c38cafce82a7e26ec8468c88361 and other fixes like this
+ # but since this oe-core change http://git.openembedded.org/openembedded-core/commit/?id=5f8f16b17f66966ae91aeabc23e97de5ecd17447
+ # there isn't python in HOSTTOOLS so "env python" fails
+ sed -i 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@g' ${S}/googlemock/scripts/*py ${S}/googlemock/scripts/generator/*py ${S}/googlemock/scripts/generator/cpp/*py ${S}/googlemock/test/*py ${S}/googletest/scripts/*py ${S}/googletest/test/*py
+}
diff --git a/external/meta-openembedded/meta-oe/recipes-test/gtest/gtest/Add-pkg-config-support.patch b/external/meta-openembedded/meta-oe/recipes-test/gtest/gtest/Add-pkg-config-support.patch
deleted file mode 100644
index 4c8977b4..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/gtest/gtest/Add-pkg-config-support.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From ec9256bb704e94f41407fc8ace6a580491430196 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Thu, 15 Dec 2016 04:35:41 -0800
-Subject: [PATCH] Add pkg-config support
-
-Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br>
-Signed-off-by: Rodrigo Caimi <caimi@datacom.ind.br>
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- googlemock/CMakeLists.txt | 9 +++++++--
- googlemock/gmock.pc.in | 9 +++++++++
- googletest/CMakeLists.txt | 9 +++++++--
- googletest/gtest.pc.in | 9 +++++++++
- 4 files changed, 32 insertions(+), 4 deletions(-)
- create mode 100644 googlemock/gmock.pc.in
- create mode 100644 googletest/gtest.pc.in
-
-diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt
-index beb259a..f17e2d7 100644
---- a/googlemock/CMakeLists.txt
-+++ b/googlemock/CMakeLists.txt
-@@ -27,6 +27,9 @@ if (COMMAND pre_project_set_up_hermetic_build)
- pre_project_set_up_hermetic_build()
- endif()
-
-+# pkg-config support
-+configure_file("gmock.pc.in" "gmock.pc" @ONLY)
-+
- ########################################################################
- #
- # Project-wide settings
-@@ -104,9 +107,11 @@ endif()
- #
- # Install rules
- install(TARGETS gmock gmock_main
-- DESTINATION lib)
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
- install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock
-- DESTINATION include)
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmock.pc"
-+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
-
- ########################################################################
- #
-diff --git a/googlemock/gmock.pc.in b/googlemock/gmock.pc.in
-new file mode 100644
-index 0000000..04bc0b4
---- /dev/null
-+++ b/googlemock/gmock.pc.in
-@@ -0,0 +1,9 @@
-+Name: libgmock
-+Version: 1.8.0
-+Description: Google's framework for writing C++ tests on a variety of platforms
-+
-+prefix=@CMAKE_INSTALL_PREFIX@
-+includedir=@CMAKE_INSTALL_INCLUDEDIR@
-+libdir=@CMAKE_INSTALL_LIBDIR@
-+Cflags:-I${includedir}/gmock
-+Libs: -L${libdir} -lgmock -lgmock_main
-diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt
-index 621d0f0..58aaf54 100644
---- a/googletest/CMakeLists.txt
-+++ b/googletest/CMakeLists.txt
-@@ -34,6 +34,9 @@ if (COMMAND pre_project_set_up_hermetic_build)
- pre_project_set_up_hermetic_build()
- endif()
-
-+# pkg-config support
-+configure_file("gtest.pc.in" "gtest.pc" @ONLY)
-+
- ########################################################################
- #
- # Project-wide settings
-@@ -103,9 +106,11 @@ endif()
- #
- # Install rules
- install(TARGETS gtest gtest_main
-- DESTINATION lib)
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
- install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest
-- DESTINATION include)
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc"
-+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
-
- ########################################################################
- #
-diff --git a/googletest/gtest.pc.in b/googletest/gtest.pc.in
-new file mode 100644
-index 0000000..fb95152
---- /dev/null
-+++ b/googletest/gtest.pc.in
-@@ -0,0 +1,9 @@
-+Name: libgtest
-+Version: 1.8.0
-+Description: Google's framework for writing C++ tests on a variety of platforms
-+
-+prefix=@CMAKE_INSTALL_PREFIX@
-+includedir=@CMAKE_INSTALL_INCLUDEDIR@
-+libdir=@CMAKE_INSTALL_LIBDIR@
-+Cflags:-I${includedir}/gtest
-+Libs: -L${libdir} -lgtest -lgtest_main
---
-1.9.1
-
diff --git a/external/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb b/external/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb
deleted file mode 100644
index 48cf4e04..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "Google's framework for writing C++ tests"
-HOMEPAGE = "https://github.com/google/googletest"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
- file://googletest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
-
-PROVIDES += "gmock"
-
-S = "${WORKDIR}/git"
-SRCREV = "ec44c6c1675c25b9827aacd08c02433cccde7780"
-SRC_URI = "\
- git://github.com/google/googletest.git;protocol=https; \
- file://Add-pkg-config-support.patch \
-"
-
-inherit cmake
-
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-dbg = "1"
-
-RDEPENDS_${PN}-dev += "${PN}-staticdev"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb b/external/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
index 09290909..7e9971ea 100644
--- a/external/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
@@ -65,4 +65,4 @@ do_install () {
RDEPENDS_${PN} +="bash"
# http://errors.yoctoproject.org/Errors/Details/186956/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch b/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch
deleted file mode 100644
index 469791d8..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7c97710bfc44d895b7111bef9c55866f00a3589c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Aug 2018 11:54:27 -0700
-Subject: [PATCH] Revert "Makefile: force sync after build in case reboot loses
- executable"
-
-This reverts commit ae6322b1baea56a589207c96e358daae8edd0a8f.
-
-Not needed for cross-builds
-
-Upstream-Status: Inappropriate [Cross compile specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index c0db72c0..5781dda6 100644
---- a/Makefile
-+++ b/Makefile
-@@ -348,7 +348,6 @@ endif
- stress-ng: $(OBJS)
- @echo "LD $@"
- @$(CC) $(CPPFLAGS) $(CFLAGS) $(OBJS) -lm $(LDFLAGS) -o $@
-- @sync
-
- makeconfig:
- @if [ ! -s config ]; then \
---
-2.17.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch b/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
deleted file mode 100644
index c0b34490..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 9bcb4e170f01dbe0a9e7bf6b899c5d9b5283d4c6 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Sun, 11 Nov 2018 23:00:53 -0500
-Subject: [PATCH] Several changes to fix musl build
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Rebased patch for:
-
-stress-{context, stackmmap}.c: Set tests to non-implemented because uses
-swapcontext, musl provide the definition but not the implementation due
- to that functions are pre-POSIX and set to be deprecated.
- stress-{resources, pty}.c: Doesn't include termio.h and remove stress
- operations that uses struct termio, musl doesn't provide that struct.
-stress-malloc.c: Check for definition of M_MMAP_THRESHOLD musl doesn't
- ptovide that constant.
-stress-madvise.c: Add static poision_count integer, definition of
- MADV_SOFT_OFFLINE doesn't grauntee MADV_HWPOISON to be defined.
-cache.c: Define GLOB_ONLYDIR not available on MUSL.
-
-Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
-Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
-Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
-
-Upstream-status: Pending
----
- cache.c | 4 ++++
- stress-madvise.c | 1 +
- stress-pty.c | 18 ------------------
- stress-resources.c | 1 -
- stress-stackmmap.c | 2 +-
- 5 files changed, 6 insertions(+), 20 deletions(-)
-
-diff --git a/cache.c b/cache.c
-index e8a0f791..4c7bb486 100644
---- a/cache.c
-+++ b/cache.c
-@@ -28,6 +28,10 @@ typedef struct {
-
- #include <glob.h>
-
-+#ifndef GLOB_ONLYDIR
-+#define GLOB_ONLYDIR 0x100
-+#endif
-+
- #if defined(__linux__)
- #define SYS_CPU_PREFIX "/sys/devices/system/cpu"
- #define GLOB_PATTERN SYS_CPU_PREFIX "/cpu[0-9]*"
-diff --git a/stress-madvise.c b/stress-madvise.c
-index b2e3497f..77e43a91 100644
---- a/stress-madvise.c
-+++ b/stress-madvise.c
-@@ -146,6 +146,7 @@ static int stress_random_advise(const args_t *args)
- #if defined(MADV_SOFT_OFFLINE)
- if (advise == MADV_SOFT_OFFLINE) {
- static int soft_offline_count;
-+ static int poison_count;
-
- /* ..and minimize number of soft offline pages */
- if ((soft_offline_count >= NUM_SOFT_OFFLINE_MAX) ||
-diff --git a/stress-pty.c b/stress-pty.c
-index 4dd88ab9..c79a7021 100644
---- a/stress-pty.c
-+++ b/stress-pty.c
-@@ -26,7 +26,6 @@
-
- #if defined(__linux__)
-
--#include <termio.h>
- #include <termios.h>
-
- typedef struct {
-@@ -111,7 +110,6 @@ static int stress_pty(const args_t *args)
- */
- for (i = 0; i < n; i++) {
- struct termios ios;
-- struct termio io;
- struct winsize ws;
- int arg;
-
-@@ -133,22 +131,6 @@ static int stress_pty(const args_t *args)
- if (ioctl(ptys[i].slave, TCSETSF, &ios) < 0)
- pr_fail_err("ioctl TCSETSF on slave pty");
- #endif
--#if defined(TCGETA)
-- if (ioctl(ptys[i].slave, TCGETA, &io) < 0)
-- pr_fail_err("ioctl TCGETA on slave pty");
--#endif
--#if defined(TCSETA)
-- if (ioctl(ptys[i].slave, TCSETA, &io) < 0)
-- pr_fail_err("ioctl TCSETA on slave pty");
--#endif
--#if defined(TCSETAW)
-- if (ioctl(ptys[i].slave, TCSETAW, &io) < 0)
-- pr_fail_err("ioctl TCSETAW on slave pty");
--#endif
--#if defined(TCSETAF)
-- if (ioctl(ptys[i].slave, TCSETAF, &io) < 0)
-- pr_fail_err("ioctl TCSETAF on slave pty");
--#endif
- #if defined(TIOCGLCKTRMIOS)
- if (ioctl(ptys[i].slave, TIOCGLCKTRMIOS, &ios) < 0)
- pr_fail_err("ioctl TIOCGLCKTRMIOS on slave pty");
-diff --git a/stress-resources.c b/stress-resources.c
-index f3dcfb38..86f9a5ba 100644
---- a/stress-resources.c
-+++ b/stress-resources.c
-@@ -28,7 +28,6 @@
- #include <sys/inotify.h>
- #endif
- #if defined(__linux__)
--#include <termio.h>
- #include <termios.h>
- #endif
- #if defined(HAVE_LIB_PTHREAD) && defined(__linux__)
-diff --git a/stress-stackmmap.c b/stress-stackmmap.c
-index c2f4c31d..54308777 100644
---- a/stress-stackmmap.c
-+++ b/stress-stackmmap.c
-@@ -24,7 +24,7 @@
- */
- #include "stress-ng.h"
-
--#if defined(__linux__)
-+#if defined(__linux__) && False
-
- #include <ucontext.h>
-
---
-2.17.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb b/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb
deleted file mode 100644
index 3e8f2d4f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A tool to load and stress a computer system"
-HOMEPAGE = "http://kernel.ubuntu.com/~cking/stress-ng/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "zlib libaio"
-
-SRC_URI = "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
- file://0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch \
- "
-SRC_URI_append_libc-musl = " \
- file://0001-Several-changes-to-fix-musl-build.patch \
- "
-
-SRC_URI[md5sum] = "b03744c2eb68bf7e9a300e78e397f348"
-SRC_URI[sha256sum] = "0741e3004bf590bb7af3db979a46fe89bee7aaad6065cd1d87d0b7fa49046cb2"
-
-UPSTREAM_CHECK_URI ?= "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/"
-UPSTREAM_CHECK_REGEX ?= "(?P<pver>\d+(\.\d+)+)\.tar"
-
-CFLAGS += "-Wall -Wextra -DVERSION='"$(VERSION)"'"
-
-do_install_append() {
- install -d ${D}${bindir}
- install -m 755 ${S}/stress-ng ${D}${bindir}/stress-ng
-}
diff --git a/external/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb b/external/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
index 28e96776..ace376ef 100644
--- a/external/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
+++ b/external/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "Berkeley TestFloat is a small collection of programs for \
HOMEPAGE = "http://www.jhauser.us/arithmetic/TestFloat.html"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://TestFloat-${PV}/COPYING.txt;md5=e45c175a323b5727777fb6bd4b26eafc"
SRC_URI = "\
diff --git a/external/meta-openembedded/meta-perl/README b/external/meta-openembedded/meta-perl/README
index 3c787f41..fed2da34 100644
--- a/external/meta-openembedded/meta-perl/README
+++ b/external/meta-openembedded/meta-perl/README
@@ -52,7 +52,7 @@ Dependencies
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
- branch: thud
+ branch: dunfell
revision: HEAD
prio: default
@@ -75,12 +75,12 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-perl][thud]' in the subject.
+'[meta-perl][dunfell]' 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][thud][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][dunfell][PATCH'
-Thud maintainers: Armin kuster <akuster808@gmail.com>
+dunfell maintainers: Armin kuster <akuster808@gmail.com>
License
-------
diff --git a/external/meta-openembedded/meta-perl/conf/layer.conf b/external/meta-openembedded/meta-perl/conf/layer.conf
index b2bb3791..1361fe08 100644
--- a/external/meta-openembedded/meta-perl/conf/layer.conf
+++ b/external/meta-openembedded/meta-perl/conf/layer.conf
@@ -15,4 +15,4 @@ LAYERVERSION_perl-layer = "1"
LAYERDEPENDS_perl-layer = "core openembedded-layer"
-LAYERSERIES_COMPAT_perl-layer = "thud"
+LAYERSERIES_COMPAT_perl-layer = "thud warrior zeus dunfell"
diff --git a/external/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.19.bb b/external/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.19.bb
deleted file mode 100644
index 873ac2b1..00000000
--- a/external/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.19.bb
+++ /dev/null
@@ -1,78 +0,0 @@
-SUMMARY = "Analyzes log files and sends noticeable events as email"
-DESCRIPTION = "\
-Logcheck is a simple utility which is designed to allow a system administrator \
-to view the log-files which are produced upon hosts under their control. \
-It does this by mailing summaries of the log-files to them, after first \
-filtering out "normal" entries. \
-Normal entries are entries which match one of the many included regular \
-expression files contain in the database."
-SECTION = "Applications/System"
-HOMEPAGE = "http://logcheck.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/l/${BPN}/${BPN}_${PV}.tar.xz \
- file://99_logcheck \
-"
-SRC_URI[md5sum] = "7b50d10da6f185228627c55fdd51f624"
-SRC_URI[sha256sum] = "06294c092b2115eca3d054c57778718c91dd2e0fd1c46650b7343c2a92672ca9"
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "-m -g ${BPN} -G adm -r -d ${localstatedir}/lib/${BPN} \
- -s /bin/false -c 'logcheck account' ${BPN}"
-GROUPADD_PARAM_${PN} = "-r ${BPN}"
-
-do_install() {
- # Fix QA Issue
- sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile
-
- # "make install" do not install the manpages. Install them manually.
- install -m 755 -d ${D}${mandir}/man1
- install -m 755 -d ${D}${mandir}/man8
- install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/
- install -m 644 docs/logtail.8 ${D}${mandir}/man8/
- install -m 644 docs/logtail2.8 ${D}${mandir}/man8/
-
- install -m 755 -d ${D}${sysconfdir}/cron.d
- install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck
- install -m 755 -d ${D}/var/lib/logcheck
-
- oe_runmake install DESTDIR=${D}
-
- # install header.txt for generated mails
- install -m 0644 ${S}/debian/header.txt ${D}${sysconfdir}/${BPN}
-
- chown -R ${BPN}:${BPN} ${D}${localstatedir}/lib/${BPN}
- chown -R root:${BPN} ${D}${sysconfdir}/${BPN}
-
- # Don't install /var/lock when populating rootfs. Do it through volatile
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/99_logcheck ${D}${sysconfdir}/default/volatiles
- fi
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /var/lock/logcheck 0755 logcheck logcheck -" \
- > ${D}${sysconfdir}/tmpfiles.d/logcheck.conf
- fi
-}
-
-VIRTUAL-RUNTIME_syslog ??= "rsyslog"
-
-RDEPENDS_${PN} = "\
- bash \
- cronie \
- debianutils-run-parts \
- grep \
- lockfile-progs \
- mime-construct \
- perl \
- perl-module-file-basename \
- perl-module-getopt-std \
- perl-module-file-glob \
- ${VIRTUAL-RUNTIME_syslog} \
-"
-
-FILES_${PN} += "${datadir}/logtail"
diff --git a/external/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.20.bb b/external/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.20.bb
new file mode 100644
index 00000000..10b281a6
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.20.bb
@@ -0,0 +1,80 @@
+SUMMARY = "Analyzes log files and sends noticeable events as email"
+DESCRIPTION = "\
+Logcheck is a simple utility which is designed to allow a system administrator \
+to view the log-files which are produced upon hosts under their control. \
+It does this by mailing summaries of the log-files to them, after first \
+filtering out "normal" entries. \
+Normal entries are entries which match one of the many included regular \
+expression files contain in the database."
+SECTION = "Applications/System"
+HOMEPAGE = "http://logcheck.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/l/${BPN}/${BPN}_${PV}.tar.xz \
+ file://99_logcheck \
+"
+SRC_URI[md5sum] = "1c6e9a97f9cc485353c25147cb99fb25"
+SRC_URI[sha256sum] = "9fb6d02b933470d0b1d1efb54ea186e0d0d27336f9d146be592f65ce60dfb3e6"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "-m -g ${BPN} -G adm -r -d ${localstatedir}/lib/${BPN} \
+ -s /bin/false -c 'logcheck account' ${BPN}"
+GROUPADD_PARAM_${PN} = "-r ${BPN}"
+
+do_install() {
+ # Fix QA Issue
+ sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile
+
+ # "make install" do not install the manpages. Install them manually.
+ install -m 755 -d ${D}${mandir}/man1
+ install -m 755 -d ${D}${mandir}/man8
+ install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/
+ install -m 644 docs/logtail.8 ${D}${mandir}/man8/
+ install -m 644 docs/logtail2.8 ${D}${mandir}/man8/
+
+ install -m 755 -d ${D}${sysconfdir}/cron.d
+ install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck
+ install -m 755 -d ${D}/var/lib/logcheck
+
+ oe_runmake install DESTDIR=${D}
+
+ # install header.txt for generated mails
+ install -m 0644 ${S}/debian/header.txt ${D}${sysconfdir}/${BPN}
+
+ chown -R ${BPN}:${BPN} ${D}${localstatedir}/lib/${BPN}
+ chown -R root:${BPN} ${D}${sysconfdir}/${BPN}
+
+ # Don't install /var/lock when populating rootfs. Do it through volatile
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/99_logcheck ${D}${sysconfdir}/default/volatiles
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /var/lock/logcheck 0755 logcheck logcheck -" \
+ > ${D}${sysconfdir}/tmpfiles.d/logcheck.conf
+ fi
+}
+
+VIRTUAL-RUNTIME_syslog ??= "rsyslog"
+
+RDEPENDS_${PN} = "\
+ bash \
+ cronie \
+ debianutils-run-parts \
+ grep \
+ lockfile-progs \
+ mime-construct \
+ perl \
+ perl-module-file-basename \
+ perl-module-getopt-std \
+ perl-module-file-glob \
+ ${VIRTUAL-RUNTIME_syslog} \
+"
+
+FILES_${PN} += "${datadir}/logtail"
diff --git a/external/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb b/external/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb
index 501f3bf1..2516fbfc 100644
--- a/external/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb
+++ b/external/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb
@@ -17,7 +17,7 @@ SRC_URI[sha256sum] = "4cd7bb61b51d41192d1498c1051aa6a4ccd75aeb09b71d2ec706a7084a
inherit cpan
-RDEPENDS_${PN} = "libmime-types-perl libproc-waitstat-perl msmtp \
+RDEPENDS_${PN} += "libmime-types-perl libproc-waitstat-perl msmtp \
perl-module-filehandle perl-module-mime-base64 perl-module-mime-quotedprint perl-module-posix \
"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb b/external/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb
index 660a7f77..80cf1428 100644
--- a/external/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb
+++ b/external/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=caed49ab166f22ef31bf1127f558d0ef
SRC_URI = "https://launchpad.net/debian/+archive/primary/+sourcefiles/adduser/${PV}/${BPN}_${PV}.tar.xz \
file://adduser-add-M-option-for-useradd.patch \
+ file://0001-adduser-set-default-shell-with-sbin-nologin.patch \
"
SRC_URI[md5sum] = "44ba2475ebdaafc9613236bdda321c97"
@@ -22,7 +23,7 @@ do_install() {
install -m 0755 ${S}/adduser ${D}${sbindir}
install -m 0755 ${S}/deluser ${D}${sbindir}
- install -D -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl/${@get_perl_version(d)}/Debian/AdduserCommon.pm
+ install -D -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl5/${@get_perl_version(d)}/Debian/AdduserCommon.pm
sed -i -e "s/VERSION/${PV}/" ${D}${sbindir}/*
install -d ${D}/${sysconfdir}
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch b/external/meta-openembedded/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch
new file mode 100644
index 00000000..91cc6bcb
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch
@@ -0,0 +1,34 @@
+From 75e949bf80bf5e3e5bd8f81b258095e662b705c4 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Thu, 9 Jan 2020 13:51:28 +0800
+Subject: [PATCH] adduser: set default shell with /sbin/nologin
+
+Shell nologin whether provided by shadow or util-linux is installed to
+/sbin/nologin in oe-core. But the default shell of adduser is
+/usr/sbin/nologin and will fail to create a new user.
+
+Set the default shell with /sbin/nologin to fix the issue.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ adduser | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/adduser b/adduser
+index 0f24cc9..ab554d0 100755
+--- a/adduser
++++ b/adduser
+@@ -431,7 +431,7 @@ if ($action eq "addsysuser") {
+ printf gtx("Adding new user `%s' (UID %d) with group `%s' ...\n"),$new_name,$new_uid,$ingroup_name
+ if $verbose;
+ $home_dir = $special_home || &homedir($new_name, $ingroup_name);
+- $shell = $special_shell || '/usr/sbin/nologin';
++ $shell = $special_shell || '/sbin/nologin';
+ $undouser = $new_name;
+ my $useradd = &which('useradd');
+ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-base.bb b/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-base.bb
new file mode 100644
index 00000000..ec671020
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-base.bb
@@ -0,0 +1,7 @@
+SUMMARY = "meta-per build test image"
+
+IMAGE_INSTALL = "packagegroup-core-boot"
+
+LICENSE = "MIT"
+
+inherit core-image
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb b/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb
new file mode 100644
index 00000000..c10d20a6
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb
@@ -0,0 +1,5 @@
+require meta-perl-base.bb
+
+SUMMARY = "meta-perl build test image"
+
+IMAGE_INSTALL += "packagegroup-meta-perl"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb b/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb
new file mode 100644
index 00000000..3b776f81
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb
@@ -0,0 +1,5 @@
+require meta-perl-base.bb
+
+SUMMARY = "meta-perl build ptest image"
+
+IMAGE_INSTALL += "packagegroup-meta-perl-ptest"
diff --git a/external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest b/external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest
index f1c833e6..f1c833e6 100644
--- a/external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest
diff --git a/external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch b/external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
index 9798af49..9798af49 100644
--- a/external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
diff --git a/external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb b/external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb
index ea5bb1b0..7118dc00 100644
--- a/external/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb
@@ -34,6 +34,14 @@ RDEPENDS_${PN} += "\
perl-module-io-select \
perl-module-io-socket \
"
-RDEPENDS_${PN}-ptest += "${PN} freeradius"
+RDEPENDS_${PN}-ptest += " \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'freeradius', '', d)} \
+"
BBCLASSEXTEND = "native"
+
+python() {
+ if bb.utils.contains('PTEST_ENABLED', '1', 'True', 'False', d) and \
+ 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('ptest requires meta-networking to be present.')
+}
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb
deleted file mode 100644
index 2719811c..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Capture::Tiny - Capture STDOUT and STDERR from Perl, XS or external programs."
-DESCRIPTION = "Capture::Tiny provies a simple, portable way to capture \
-almost anything sent to STDOUT or STDERR, regardless of whether it comes \
-from Perl, from XS code or from an external program. Optionally, output can \
-be teed so that it is captured while being passed through to the original \
-filehandles. Yes, it even works on Windows (usually). Stop guessing which of \
-a dozen capturing modules to use in any particular situation and just use \
-this one."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~dagolden/Capture-Tiny/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f"
-
-SRCNAME = "Capture-Tiny"
-SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DAGOLDEN/${SRCNAME}-${PV}.tar.gz"
-SRC_URI[md5sum] = "d718af07729d26a793949ca6ba2580a7"
-SRC_URI[sha256sum] = "5d7a6a830cf7f2b2960bf8b8afaac16a537ede64f3023827acea5bd24ca77015"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-scalar-util \
- perl-module-io-file \
- perl-module-extutils-makemaker \
- perl-module-file-spec \
- perl-module-exporter \
- perl-module-carp \
- perl-module-test-more \
- perl-module-file-temp \
- perl-module-lib \
- perl-module-overloading \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb
new file mode 100644
index 00000000..3b3e31dd
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Capture::Tiny - Capture STDOUT and STDERR from Perl, XS or external programs."
+DESCRIPTION = "Capture::Tiny provies a simple, portable way to capture \
+almost anything sent to STDOUT or STDERR, regardless of whether it comes \
+from Perl, from XS code or from an external program. Optionally, output can \
+be teed so that it is captured while being passed through to the original \
+filehandles. Yes, it even works on Windows (usually). Stop guessing which of \
+a dozen capturing modules to use in any particular situation and just use \
+this one."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~dagolden/Capture-Tiny/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f"
+
+SRCNAME = "Capture-Tiny"
+SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DAGOLDEN/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "f5d24083ad270f8326dd659dd83eeb54"
+SRC_URI[sha256sum] = "6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} = " \
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-extutils-makemaker \
+ perl-module-extutils-mm-unix \
+ perl-module-file-spec \
+ perl-module-file-temp \
+ perl-module-io-handle \
+ perl-module-lib \
+ perl-module-overloading \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-scalar-util \
+ perl-module-strict \
+ perl-module-test-more \
+ perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += "perl-module-perlio"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb
deleted file mode 100644
index db16d830..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb
+++ /dev/null
@@ -1,25 +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] = "0aeb8563d533e7f83724ed068b5bfc37"
-SRC_URI[sha256sum] = "8c58f4a529bb92a914b22b7e64c5e31185c9854a4070a6dfad44fe5cc248e7d4"
-
-S = "${WORKDIR}/CGI-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} += "\
- perl-module-deprecate \
- perl-module-if \
-"
-
-RPROVIDES_${PN} += "perl-module-cgi"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.46.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.46.bb
new file mode 100644
index 00000000..33ec7377
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.46.bb
@@ -0,0 +1,51 @@
+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=415fc49abed2728f9480cd32c8d67beb"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "c2ae443de78a69d85e3931c8c29596d1"
+SRC_URI[sha256sum] = "788998ddc33ca382e5d7ce72c6c0ea1d8366c93067371fe2f14239ddea2e4298"
+
+S = "${WORKDIR}/CGI-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += "\
+ libhtml-parser-perl \
+ perl-module-base \
+ perl-module-deprecate \
+ perl-module-if \
+"
+
+do_install_prepend() {
+ # requires "-T" (taint) command line option
+ rm -rf ${B}/t/push.t
+ rm -rf ${B}/t/utf8.t
+ # tests building of docs
+ rm -rf ${B}/t/compiles_pod.t
+}
+
+RDEPENDS_${PN}-ptest += " \
+ libtest-deep-perl \
+ libtest-warn-perl \
+ perl-module-bytes \
+ perl-module-file-find \
+ perl-module-filehandle \
+ perl-module-findbin \
+ perl-module-lib \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+ perl-module-utf8 \
+"
+
+RPROVIDES_${PN} += "perl-module-cgi"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libclass/libclass-method-modifiers-perl_2.12.bb b/external/meta-openembedded/meta-perl/recipes-perl/libclass/libclass-method-modifiers-perl_2.12.bb
deleted file mode 100644
index 3979b314..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libclass/libclass-method-modifiers-perl_2.12.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Class::Method::Modifiers - provides Moose-like method modifiers"
-DESCRIPTION = "Method modifiers are a convenient feature from the CLOS \
-(Common Lisp Object System) world."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://github.com/moose/Class-Method-Modifiers/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=16fd0ec7b73c0e158426f753943f1058"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETHER/Class-Method-Modifiers-${PV}.tar.gz"
-SRC_URI[md5sum] = "f55400c7a8134acf3657f8af89bdd7af"
-SRC_URI[sha256sum] = "e44c1073020bf55b8c97975ed77235fd7e2a6a56f29b5c702301721184e27ac8"
-
-S = "${WORKDIR}/Class-Method-Modifiers-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-b \
- perl-module-base \
- perl-module-carp \
- perl-module-exporter \
- perl-module-strict \
- perl-module-warnings \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libclass/libclass-method-modifiers-perl_2.13.bb b/external/meta-openembedded/meta-perl/recipes-perl/libclass/libclass-method-modifiers-perl_2.13.bb
new file mode 100644
index 00000000..58ed37ca
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libclass/libclass-method-modifiers-perl_2.13.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Class::Method::Modifiers - provides Moose-like method modifiers"
+DESCRIPTION = "Method modifiers are a convenient feature from the CLOS \
+(Common Lisp Object System) world."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://github.com/moose/Class-Method-Modifiers/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=16fd0ec7b73c0e158426f753943f1058"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETHER/Class-Method-Modifiers-${PV}.tar.gz"
+SRC_URI[md5sum] = "b1398e3682aa2e075b913b9f9000b596"
+SRC_URI[sha256sum] = "ab5807f71018a842de6b7a4826d6c1f24b8d5b09fcce5005a3309cf6ea40fd63"
+
+S = "${WORKDIR}/Class-Method-Modifiers-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-b \
+ perl-module-base \
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-strict \
+ perl-module-warnings \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.318.bb b/external/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.318.bb
new file mode 100644
index 00000000..afd26fa1
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.318.bb
@@ -0,0 +1,41 @@
+# Copyright (C) 2020 Jens Rehsack <sno@netbsd.org>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A module to implement some of AutoConf macros in pure perl"
+DESCRIPTION = "Config::AutoConf is intended to provide the same opportunities to Perl \
+developers as GNU Autoconf <http://www.gnu.org/software/autoconf/> does for \
+Shell developers."
+
+HOMEPAGE= "https://metacpan.org/release/Config-AutoConf"
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \
+file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/R/RE/REHSACK/Config-AutoConf-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0bea721ad3996e20324b84b3b924ec71"
+SRC_URI[sha256sum] = "33c930feec3003de251ca222abe8bbeb74610ad07f65fc16f27d74d195eeab34"
+RDEPENDS_${PN} += "libcapture-tiny-perl"
+RDEPENDS_${PN} += "perl-module-base"
+RDEPENDS_${PN} += "perl-module-carp"
+RDEPENDS_${PN} += "perl-module-config"
+RDEPENDS_${PN} += "perl-module-constant"
+RDEPENDS_${PN} += "perl-module-file-basename"
+RDEPENDS_${PN} += "perl-module-file-spec"
+RDEPENDS_${PN} += "perl-module-file-temp"
+RDEPENDS_${PN} += "perl-module-extutils-cbuilder"
+RDEPENDS_${PN} += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_${PN} += "perl-module-scalar-util"
+RDEPENDS_${PN} += "perl-module-strict"
+RDEPENDS_${PN} += "perl-module-text-parsewords"
+RDEPENDS_${PN} += "perl-module-warnings"
+RRECOMMENDS_${PN} += "libfile-slurper-perl"
+
+S = "${WORKDIR}/Config-AutoConf-${PV}"
+
+inherit cpan ptest-perl
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb
new file mode 100644
index 00000000..57df78b4
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Guess OpenSSL include path"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ea914cc2718e8d53bd7744d96e66c03c"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Guess-${PV}.tar.gz "
+
+SRC_URI[md5sum] = "e768fe2c07826b0ac9ea604c79f93032"
+SRC_URI[sha256sum] = "aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e7703149094d7167"
+
+DEPENDS += "openssl"
+
+RDEPENDS_${PN} = "\
+ perl-module-config \
+ perl-module-exporter \
+ perl-module-extutils-mm \
+ perl-module-extutils-mm-unix \
+ perl-module-file-spec \
+ perl-module-symbol \
+ perl-module-strict \
+ perl-module-warnings \
+"
+
+EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'"
+
+S = "${WORKDIR}/Crypt-OpenSSL-Guess-${PV}"
+
+inherit cpan ptest-perl
+
+BBCLASSEXTEND = "native"
+
+# for backwards compatibility
+PROVIDES_${PN} += "libcrypt-openssl-guess"
+
+RDEPENDS_${PN}-ptest += "\
+ perl-module-test-more \
+"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb
deleted file mode 100644
index 21be0472..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Guess OpenSSL include path"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ea914cc2718e8d53bd7744d96e66c03c"
-
-SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Guess-${PV}.tar.gz "
-
-SRC_URI[md5sum] = "e768fe2c07826b0ac9ea604c79f93032"
-SRC_URI[sha256sum] = "aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e7703149094d7167"
-
-DEPENDS += "openssl"
-
-RDEPENDS_${PN}="perl-module-config perl-module-exporter perl-module-symbol perl-module-file-spec"
-
-EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'"
-
-S = "${WORKDIR}/Crypt-OpenSSL-Guess-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb
deleted file mode 100644
index 8456e313..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Crypt Openssl Random cpan module"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=089c18d635ae273e1727ec385e64063b"
-
-SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Random-${PV}.tar.gz "
-SRC_URI[md5sum] = "5d71337503e0356ce1ce1481504e5885"
-SRC_URI[sha256sum] = "bb8c81c6a39b9b13a22d818ee9a746242f136f0fadceb6b9776ae615e7524c7a"
-
-S = "${WORKDIR}/Crypt-OpenSSL-Random-${PV}"
-
-DEPENDS += " openssl \
-"
-inherit cpan
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb
new file mode 100644
index 00000000..a2ebb8c7
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Crypt::OpenSSL::Random - OpenSSL/LibreSSL pseudo-random number generator access"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=089c18d635ae273e1727ec385e64063b"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Random-${PV}.tar.gz "
+SRC_URI[md5sum] = "bcde8d5a822c91376deda3c4f0c75fbe"
+SRC_URI[sha256sum] = "f0876faa1ba3111e39b86aa730c603211eff2905e460c72a57b61e8cf475cef4"
+
+S = "${WORKDIR}/Crypt-OpenSSL-Random-${PV}"
+
+DEPENDS += " \
+ openssl \
+ libcrypt-openssl-guess-perl-native \
+"
+
+EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -L${STAGING_BASELIBDIR} -lcrypto'"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += "\
+ perl-module-exporter \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-xsloader \
+"
+
+RDEPENDS_${PN}-ptest += "\
+ perl-module-file-copy \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb
deleted file mode 100644
index 0a2ad8aa..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Crypt Openssl RSA cpan module"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a67ceecc5d9a91a5a0d003ba50c26346"
-
-SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-RSA-${PV}.tar.gz "
-
-SRC_URI[md5sum] = "10bca2fc6d0ba1aa329f227424ae87d5"
-SRC_URI[sha256sum] = "23e13531397af102db4fd24bcf70137add7c85c23cca697c43aa71c2959a29ac"
-
-DEPENDS += "libcrypt-openssl-guess-native openssl"
-
-RDEPENDS_${PN}="libcrypt-openssl-random-perl"
-
-EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'"
-
-S = "${WORKDIR}/Crypt-OpenSSL-RSA-${PV}"
-
-inherit cpan
-
-do_compile() {
- export OTHERLDFLAGS='-Wl,-rpath'
- cpan_do_compile
-}
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb
new file mode 100644
index 00000000..68d921c3
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Crypt Openssl RSA cpan module"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a67ceecc5d9a91a5a0d003ba50c26346"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-RSA-${PV}.tar.gz "
+
+SRC_URI[md5sum] = "d33681e19d2094df7c26bc7a4509265e"
+SRC_URI[sha256sum] = "4173403ad4cf76732192099f833fbfbf3cd8104e0246b3844187ae384d2c5436"
+
+DEPENDS += "libcrypt-openssl-guess-perl-native openssl"
+
+RDEPENDS_${PN} = " \
+ libcrypt-openssl-random-perl \
+ perl-module-autoloader \
+ perl-module-carp \
+ perl-module-strict \
+ perl-module-warnings \
+ perl-module-xsloader \
+"
+
+EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'"
+
+S = "${WORKDIR}/Crypt-OpenSSL-RSA-${PV}"
+
+inherit cpan ptest-perl
+
+do_compile() {
+ export OTHERLDFLAGS='-Wl,-rpath'
+ cpan_do_compile
+}
+
+RDEPENDS_${PN}-ptest = " \
+ ${PN} \
+ perl-module-file-copy \
+ perl-module-test \
+ perl-module-test-more \
+"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb b/external/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
deleted file mode 100644
index c72e536d..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "A Perl DBI driver for SQLite"
-DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
-thing in the distribution. So in order to get a fast transaction capable \
-RDBMS working for your perl project you simply have to install this \
-module, and nothing else. \
-"
-HOMEPAGE = "http://search.cpan.org/~ishigaki/DBD-SQLite/"
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-DEPENDS += "libdbi-perl-native"
-RDEPENDS_${PN} += "libdbi-perl \
- sqlite3 \
- perl-module-constant \
- perl-module-locale \
- perl-module-tie-hash \
-"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
- file://sqlite-perl-test.pl \
-"
-
-SRC_URI[md5sum] = "8f835ddacb9a4a92a52bbe2d24d18a8e"
-SRC_URI[sha256sum] = "3929a6dbd8d71630f0cb57f85dcef9588cd7ac4c9fa12db79df77b9d3a4d7269"
-
-UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/DBD-SQLite-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
-
-do_install_append() {
- if [ ${PERL_DBM_TEST} = "1" ]; then
- install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
- fi
-}
-
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb b/external/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb
new file mode 100644
index 00000000..468add97
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.64.bb
@@ -0,0 +1,56 @@
+SUMMARY = "A Perl DBI driver for SQLite"
+DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
+thing in the distribution. So in order to get a fast transaction capable \
+RDBMS working for your perl project you simply have to install this \
+module, and nothing else. \
+"
+HOMEPAGE = "https://metacpan.org/release/DBD-SQLite"
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
+ file://sqlite-perl-test.pl \
+"
+
+SRC_URI[md5sum] = "10796495b52927eb2e1df34c86924027"
+SRC_URI[sha256sum] = "f4ae8f7b50842305566aadd90f7bfd12a9e32b6c603a9b1c1529e73eb82aff01"
+
+UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/DBD-SQLite-${PV}"
+
+DEPENDS += "libdbi-perl-native"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += "libdbi-perl \
+ sqlite3 \
+ perl-module-constant \
+ perl-module-locale \
+ perl-module-tie-hash \
+"
+
+do_install_append() {
+ if [ ${PERL_DBM_TEST} = "1" ]; then
+ install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
+ fi
+}
+
+do_install_ptest() {
+ cp -r ${B}/MANIFEST ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN}-ptest += " \
+ libtest-nowarnings-perl \
+ perl-module-lib \
+ perl-module-encode \
+ perl-module-file-spec \
+ perl-module-file-spec-functions \
+ perl-module-findbin \
+ perl-module-test-more \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb b/external/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb
deleted file mode 100644
index 9861c56e..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-# NOTE:
-# You should use perl-module-encode rather than this package
-# unless you specifically need a version newer than what is
-# provided by perl.
-
-SUMMARY = "Encode - character encodings"
-DESCRIPTION = "The \"Encode\" module provides the interfaces between \
-Perl's strings and the rest of the system. Perl strings are sequences \
-of characters."
-
-AUTHOR = "Dan Kogai <dankogai+cpan@gmail.com>"
-HOMEPAGE = "https://metacpan.org/release/Encode"
-SECTION = "lib"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://META.json;md5=d8e909447b983532b2b460c830e7a7e4"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
-SRC_URI[md5sum] = "f995e0eb9e52d01ed57abe835bf3ccb6"
-SRC_URI[sha256sum] = "acb3a4af5e3ee38f94de8baa7454e0b836a0649e7ac4180f28dfca439ad60cff"
-
-UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/Encode-${PV}"
-
-inherit cpan
-
-# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-RCONFLICTS_${PN} = "perl-misc"
-
-RDEPENDS_${PN} += " perl-module-bytes \
- perl-module-constant \
- perl-module-parent \
- perl-module-storable \
- perl-module-xsloader \
-"
-
-RPROVIDES_${PN} += "libencode-alias-perl \
- libencode-byte-perl \
- libencode-cjkconstants-perl \
- libencode-cn-perl \
- libencode-cn-hz-perl \
- libencode-config-perl \
- libencode-ebcdic-perl \
- libencode-encoder-perl \
- libencode-encoding-perl \
- libencode-gsm0338-perl \
- libencode-guess-perl \
- libencode-jp-perl \
- libencode-jp-h2z-perl \
- libencode-jp-jis7-perl \
- libencode-kr-perl \
- libencode-kr-2022_kr-perl \
- libencode-mime-header-perl \
- libencode-mime-name-perl \
- libencode-symbol-perl \
- libencode-tw-perl \
- libencode-unicode-perl \
- libencode-unicode-utf7-perl \
- libencoding-perl \
- libencode-internal-perl \
- libencode-mime-header-iso_2022_jp-perl \
- libencode-utf8-perl \
- libencode-utf_ebcdic-perl \
- "
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.05.bb b/external/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.05.bb
new file mode 100644
index 00000000..62430e91
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.05.bb
@@ -0,0 +1,106 @@
+# NOTE:
+# You should use perl-module-encode rather than this package
+# unless you specifically need a version newer than what is
+# provided by perl.
+
+SUMMARY = "Encode - character encodings"
+DESCRIPTION = "The \"Encode\" module provides the interfaces between \
+Perl's strings and the rest of the system. Perl strings are sequences \
+of characters."
+
+AUTHOR = "Dan Kogai <dankogai+cpan@gmail.com>"
+HOMEPAGE = "https://metacpan.org/release/Encode"
+SECTION = "lib"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
+SRC_URI[md5sum] = "137aef00bfc3d5cb97096ad985d3153a"
+SRC_URI[sha256sum] = "e0f51e03cd787a3e26026503e806afdc03f3823ae3551c711a9b04ad901a8794"
+
+UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Encode-${PV}"
+
+inherit cpan ptest-perl
+
+do_install_prepend() {
+ # Requires "-T" (taint) option on command line
+ rm -rf ${B}/t/taint.t
+ # Circular dependency of perl-module-open on perl-module-encode
+ # and we cannot load perl-module-encode because we are providing
+ # an alternative
+ rm -rf ${B}/t/use-Encode-Alias.t
+}
+
+do_install_ptest() {
+ mkdir ${D}${PTEST_PATH}/bin
+ cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin
+ cp -r ${B}/blib ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+RCONFLICTS_${PN} = "perl-misc perl-module-encode"
+
+RDEPENDS_${PN} += " \
+ perl-module-bytes \
+ perl-module-constant \
+ perl-module-parent \
+ perl-module-storable \
+ perl-module-xsloader \
+ "
+
+RPROVIDES_${PN} += " \
+ libencode-alias-perl \
+ libencode-byte-perl \
+ libencode-cjkconstants-perl \
+ libencode-cn-perl \
+ libencode-cn-hz-perl \
+ libencode-config-perl \
+ libencode-ebcdic-perl \
+ libencode-encoder-perl \
+ libencode-encoding-perl \
+ libencode-gsm0338-perl \
+ libencode-guess-perl \
+ libencode-jp-perl \
+ libencode-jp-h2z-perl \
+ libencode-jp-jis7-perl \
+ libencode-kr-perl \
+ libencode-kr-2022_kr-perl \
+ libencode-mime-header-perl \
+ libencode-mime-name-perl \
+ libencode-symbol-perl \
+ libencode-tw-perl \
+ libencode-unicode-perl \
+ libencode-unicode-utf7-perl \
+ libencoding-perl \
+ libencode-internal-perl \
+ libencode-mime-header-iso_2022_jp-perl \
+ libencode-utf8-perl \
+ libencode-utf_ebcdic-perl \
+ "
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-blib \
+ perl-module-charnames \
+ perl-module-file-compare \
+ perl-module-file-copy \
+ perl-module-filehandle \
+ perl-module-findbin \
+ perl-module-integer \
+ perl-module-io-select \
+ perl-module-ipc-open3 \
+ perl-module-mime-base64 \
+ perl-module-perlio \
+ perl-module-perlio-encoding \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+ perl-module-tie-scalar \
+ perl-module-unicore \
+ perl-module-utf8 \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libenv/libenv-perl_1.04.bb b/external/meta-openembedded/meta-perl/recipes-perl/libenv/libenv-perl_1.04.bb
new file mode 100644
index 00000000..dd8e1159
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libenv/libenv-perl_1.04.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Perl module that imports environment variables as scalars or arrays"
+DESCRIPTION = "Perl maintains environment variables in a special hash named %ENV. \
+For when this access method is inconvenient, the Perl module Env allows environment \
+variables to be treated as scalar or array variables."
+
+HOMEPAGE = "http://search.cpan.org/~flora/Env/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=76c1cbf18db56b3340d91cb947943bd3"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Env-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "fdba5c0690e66972c96fee112cf5f25c"
+SRC_URI[sha256sum] = "d94a3d412df246afdc31a2199cbd8ae915167a3f4684f7b7014ce1200251ebb0"
+
+S = "${WORKDIR}/Env-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb
index e93d388e..7e1418d4 100644
--- a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb
@@ -13,10 +13,11 @@ SRC_URI[sha256sum] = "ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e6
S = "${WORKDIR}/ExtUtils-Config-${PV}"
-inherit cpan
+inherit cpan ptest-perl
RDEPENDS_${PN} = " perl-module-extutils-makemaker \
perl-module-data-dumper \
+ perl-module-ipc-open3 \
perl-module-test-more \
perl-module-file-temp \
"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.12.bb b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.12.bb
deleted file mode 100644
index 99df6f33..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.12.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "ExtUtils::CppGuess - guess C++ compiler and flags"
-DESCRIPTION = "ExtUtils::CppGuess attempts to guess the system's C++ \
-compiler that is compatible with the C compiler that your perl was built \
-with. \
-It can generate the necessary options to the Module::Build constructor or \
-to ExtUtils::MakeMaker's WriteMakefile function."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~smueller/ExtUtils-CppGuess/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETJ/ExtUtils-CppGuess-${PV}.tar.gz"
-SRC_URI[md5sum] = "28be49072585b25df87e54180f741a4d"
-SRC_URI[sha256sum] = "31c47b5b15e3e9fd5ae7b35881a0fffd26a2983b241e7e3a1bc340d6d446186b"
-
-S = "${WORKDIR}/ExtUtils-CppGuess-${PV}"
-
-inherit cpan
-
-do_install () {
- cpan_do_install
-}
-
-RDEPENDS_${PN} = " libcapture-tiny-perl \
- perl-module-scalar-util \
- perl-module-io-file \
- perl-module-extutils-makemaker \
- perl-module-file-spec \
- perl-module-exporter \
- perl-module-carp \
- perl-module-file-temp \
- perl-module-lib \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.21.bb b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.21.bb
new file mode 100644
index 00000000..a11b4d2d
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.21.bb
@@ -0,0 +1,37 @@
+SUMMARY = "ExtUtils::CppGuess - guess C++ compiler and flags"
+DESCRIPTION = "ExtUtils::CppGuess attempts to guess the system's C++ \
+compiler that is compatible with the C compiler that your perl was built \
+with. \
+It can generate the necessary options to the Module::Build constructor or \
+to ExtUtils::MakeMaker's WriteMakefile function."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~smueller/ExtUtils-CppGuess/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETJ/ExtUtils-CppGuess-${PV}.tar.gz"
+SRC_URI[md5sum] = "62bdf731bcbe988d07486836e11585f7"
+SRC_URI[sha256sum] = "ff629178321a1e591b83f809712593eae4408a413aa448654bce59b156f24153"
+
+S = "${WORKDIR}/ExtUtils-CppGuess-${PV}"
+
+inherit cpan
+
+do_install () {
+ cpan_do_install
+}
+
+RDEPENDS_${PN} = " libcapture-tiny-perl \
+ perl-module-scalar-util \
+ perl-module-io-file \
+ perl-module-extutils-makemaker \
+ perl-module-file-spec \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-file-temp \
+ perl-module-lib \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb
deleted file mode 100644
index 6eb434a9..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "ExtUtils::InstallPaths - Build.PL install path logic made easy"
-DESCRIPTION = "This module tries to make install path resolution as easy \
-as possible."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-InstallPaths/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b6fa54d873ce6bcf4809ea88bdf97769"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-${PV}.tar.gz"
-SRC_URI[md5sum] = "9c75894c3c8c899ab6bfafc5eaa97999"
-SRC_URI[sha256sum] = "7609fa048cdcf1451cad5b1d7d494f30e3d5bad0672d15404f1ea60e1df0067c"
-
-S = "${WORKDIR}/ExtUtils-InstallPaths-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-extutils-makemaker \
- perl-module-data-dumper \
- perl-module-test-more \
- perl-module-file-temp \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb
new file mode 100644
index 00000000..2da5e3b4
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb
@@ -0,0 +1,34 @@
+SUMMARY = "ExtUtils::InstallPaths - Build.PL install path logic made easy"
+DESCRIPTION = "This module tries to make install path resolution as easy \
+as possible."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-InstallPaths/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b6fa54d873ce6bcf4809ea88bdf97769"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-${PV}.tar.gz"
+SRC_URI[md5sum] = "9a8d66aab1ffec98ea260faf03ac612b"
+SRC_URI[sha256sum] = "84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed"
+
+S = "${WORKDIR}/ExtUtils-InstallPaths-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} = " \
+ libextutils-config-perl \
+ perl-module-bytes \
+ perl-module-data-dumper \
+ perl-module-extutils-makemaker \
+ perl-module-file-temp \
+ perl-module-test-more \
+"
+
+RDEPENDS_${PN}-ptest = " \
+ ${PN} \
+ perl-module-file-spec-functions \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb
index 33707a0a..f57e1224 100644
--- a/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb
@@ -21,7 +21,7 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit cpan
-RDEPENDS_${PN} = " perl-module-carp \
+RDEPENDS_${PN} += " perl-module-carp \
perl-module-cwd \
perl-module-dynaloader \
perl-module-extutils-cbuilder \
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurper-perl_0.012.bb b/external/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurper-perl_0.012.bb
new file mode 100644
index 00000000..3678ad76
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurper-perl_0.012.bb
@@ -0,0 +1,36 @@
+SUMMARY = "A simple, sane and efficient module to slurp a file"
+DESCRIPTION = "This module provides functions for fast and correct slurping and spewing. \
+All functions are optionally exported. All functions throw exceptions on \
+errors, write functions don't return any meaningful value."
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+HOMEPAGE= "https://metacpan.org/release/File-Slurper"
+
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \
+file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/File-Slurper-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "5742c63096392dfee50b8db314bcca18"
+SRC_URI[sha256sum] = "4efb2ea416b110a1bda6f8133549cc6ea3676402e3caf7529fce0313250aa578"
+RDEPENDS_${PN} = " \
+ perl-module-carp \
+ perl-module-encode \
+ perl-module-exporter \
+ perl-module-perlio \
+ perl-module-perlio-encoding \
+ perl-module-strict \
+ perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += "libtest-warnings-perl \
+ perl-module-test-more \
+ "
+
+S = "${WORKDIR}/File-Slurper-${PV}"
+
+inherit cpan ptest-perl
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb b/external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
index e202de05..a4c69c97 100644
--- a/external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
@@ -16,10 +16,30 @@ S = "${WORKDIR}/HTML-Parser-${PV}"
EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-inherit cpan
+inherit cpan ptest-perl
do_compile() {
export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
cpan_do_compile
}
+
+RDEPENDS_${PN} += "\
+ perl-module-exporter \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-xsloader \
+ libhtml-tagset-perl \
+"
+
+RDEPENDS_${PN}-ptest += "\
+ liburi-perl \
+ perl-module-config \
+ perl-module-file-spec \
+ perl-module-filehandle \
+ perl-module-io-file \
+ perl-module-selectsaver \
+ perl-module-test \
+ perl-module-test-more \
+"
+
BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb b/external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb
new file mode 100644
index 00000000..d6483cc5
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb
@@ -0,0 +1,29 @@
+SUMMARY = "HTML::Tageset - data tables useful in parsing HTML"
+DESCRIPTION = "This module contains several data tables useful in various \
+kinds of HTML parsing operations."
+HOMEPAGE = "https://metacpan.org/release/HTML-Tagset"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;beginline=62;endline=66;md5=aa91eed6adfe182d2af676954f06a7c9"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/P/PE/PETDANCE/HTML-Tagset-${PV}.tar.gz"
+SRC_URI[md5sum] = "d2bfa18fe1904df7f683e96611e87437"
+SRC_URI[sha256sum] = "adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2"
+
+S = "${WORKDIR}/HTML-Tagset-${PV}"
+
+
+inherit cpan ptest-perl
+
+
+RDEPENDS_${PN} += "perl-module-strict perl-module-vars"
+
+RDEPENDS_${PN}-ptest += "perl-module-test"
+
+do_install_prepend() {
+ # requires "-T" (taint) command line option
+ rm -rf ${B}/t/pod.t
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.060.bb b/external/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.060.bb
deleted file mode 100644
index 20f88082..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.060.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Perl library for transparent SSL"
-DESCRIPTION = "This module is a true drop-in replacement for IO::Socket::INET that \
-uses SSL to encrypt data before it is transferred to a remote server \
-or client. IO::Socket::SSL supports all the extra features that one \
-needs to write a full-featured SSL client or server application: \
-multiple SSL contexts, cipher selection, certificate verification, and \
-SSL version selection. As an extra bonus, it works perfectly with \
-mod_perl."
-HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/"
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0|GPLv1+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
-
-RDEPENDS_${PN} += "\
- libnet-ssleay-perl \
- perl-module-autoloader \
- perl-module-scalar-util \
- perl-module-io-socket \
-"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz \
- file://run-ptest \
- "
-SRC_URI[md5sum] = "97fa6cd64f15db60f810cd8ab02d57fc"
-SRC_URI[sha256sum] = "fb5b2877ac5b686a5d7b8dd71cf5464ffe75d10c32047b5570674870e46b1b8c"
-
-S = "${WORKDIR}/IO-Socket-SSL-${PV}"
-
-inherit cpan ptest
-
-do_install_append () {
- mkdir -p ${D}${docdir}/${PN}/
- cp ${S}/BUGS ${D}${docdir}/${PN}/
- cp ${S}/Changes ${D}${docdir}/${PN}/
- cp ${S}/README ${D}${docdir}/${PN}/
- cp -pRP ${S}/docs ${D}${docdir}/${PN}/
- cp -pRP ${S}/certs ${D}${docdir}/${PN}/
- cp -pRP ${S}/example ${D}${docdir}/${PN}/
-}
-
-do_install_ptest () {
- cp -r ${B}/t ${D}${PTEST_PATH}
- cp -r ${B}/certs ${D}${PTEST_PATH}
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.068.bb b/external/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.068.bb
new file mode 100644
index 00000000..fc9786be
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.068.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Perl library for transparent SSL"
+DESCRIPTION = "This module is a true drop-in replacement for IO::Socket::INET that \
+uses SSL to encrypt data before it is transferred to a remote server \
+or client. IO::Socket::SSL supports all the extra features that one \
+needs to write a full-featured SSL client or server application: \
+multiple SSL contexts, cipher selection, certificate verification, and \
+SSL version selection. As an extra bonus, it works perfectly with \
+mod_perl."
+HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=12;endline=12;md5=963ce28228347875ace682de56eef8e8"
+
+RDEPENDS_${PN} += "\
+ libnet-ssleay-perl \
+ perl-module-autoloader \
+ perl-module-scalar-util \
+ perl-module-io-socket \
+"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "4230c829c8875889848093b2b46a7284"
+SRC_URI[sha256sum] = "4420fc0056f1827b4dd1245eacca0da56e2182b4ef6fc078f107dc43c3fb8ff9"
+
+S = "${WORKDIR}/IO-Socket-SSL-${PV}"
+
+inherit cpan ptest
+
+do_install_append () {
+ mkdir -p ${D}${docdir}/${PN}/
+ cp ${S}/BUGS ${D}${docdir}/${PN}/
+ cp ${S}/Changes ${D}${docdir}/${PN}/
+ cp ${S}/README ${D}${docdir}/${PN}/
+ cp -pRP ${S}/docs ${D}${docdir}/${PN}/
+ cp -pRP ${S}/certs ${D}${docdir}/${PN}/
+ cp -pRP ${S}/example ${D}${docdir}/${PN}/
+}
+
+do_install_ptest () {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+ cp -r ${B}/certs ${D}${PTEST_PATH}
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb b/external/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb
deleted file mode 100644
index d523a7a0..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Module::Build - Build and install Perl modules"
-DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
-Makefile.PL file to drive distribution configuration, build, test and \
-installation. Traditionally, Build.PL uses Module::Build as the underlying \
-build system. This module provides a simple, lightweight, drop-in replacement. \
-Whereas Module::Build has over 6,700 lines of code; this module has less than \
-120, yet supports the features needed by most distributions."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/release/Module-Build"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=960;endline=965;md5=624c06db56a2af4d70cf9edc29fcae1b"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-${PV}.tar.gz"
-SRC_URI[md5sum] = "b74c2f6e84b60aad3a3defd30b6f0f4d"
-SRC_URI[sha256sum] = "a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782"
-
-S = "${WORKDIR}/Module-Build-${PV}"
-
-inherit cpan_build
-
-# From:
-# https://github.com/rehsack/meta-cpan/blob/master/recipes-devel/module-build-perl/module-build-perl_0.4216.bb
-#
-do_patch_module_build () {
- cd ${S}
- sed -i -e 's,my $interpreter = $self->{properties}{perl};,my $interpreter = "${bindir}/perl";,g' lib/Module/Build/Base.pm
-}
-
-do_patch[postfuncs] += "do_patch_module_build"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003004.bb b/external/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003004.bb
deleted file mode 100644
index a260ab87..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003004.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Moo - Minimalist Object Orientation (with Moose compatibility)"
-DESCRIPTION = "This module us an extremely light-weight subset of \"Moose\" \
-optimised for rapid startup and \"pay only for what you use\"."
-
-SECTION = "libs"
-
-HOMEPAGE = "http://metapan.org/release/Moo/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=731;endline=776;md5=27efedd175eeaddbd18f4e3572bd72a8"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Moo-${PV}.tar.gz"
-SRC_URI[md5sum] = "d4fcd0f240033198571fcc81ce7c5f15"
-SRC_URI[sha256sum] = "f8bbb625f8e963eabe05cff9048fdd72bdd26777404ff2c40bc690f558be91e1"
-
-S = "${WORKDIR}/Moo-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " libclass-method-modifiers-perl \
- libdevel-globaldestruction-perl \
- libmodule-runtime-perl \
- librole-tiny-perl \
- perl-module-constant \
- perl-module-exporter \
- perl-module-mro \
- perl-module-scalar-util \
-"
-
-RPROVIDES_${PN} = " libmethod-inliner-perl \
- libmethod-generate-accessor-perl \
- libmethod-generate-buildall-perl \
- libmethod-generate-constructor-perl \
- libmethod-generate-demolishall-perl \
- libmoo-perl \
- libmoo-handlemoose-perl \
- libmoo-handlemoose-fakemetaclass-perl \
- libmoo-object-perl \
- libmoo-role-perl \
- libsub-defer-perl \
- libsub-quote-perl \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.004000.bb b/external/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.004000.bb
new file mode 100644
index 00000000..dbad74d2
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.004000.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Moo - Minimalist Object Orientation (with Moose compatibility)"
+DESCRIPTION = "This module us an extremely light-weight subset of \"Moose\" \
+optimised for rapid startup and \"pay only for what you use\"."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://metapan.org/release/Moo/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=742;endline=787;md5=0e7ee44f5ce5e9b84619cd198caad1d6"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Moo-${PV}.tar.gz"
+SRC_URI[md5sum] = "e542104553d616b15631b5c66ccee904"
+SRC_URI[sha256sum] = "323240d000394cf38ec42e865b05cb8928f625c82c9391cd2cdc72b33c51b834"
+
+S = "${WORKDIR}/Moo-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " libclass-method-modifiers-perl \
+ libdevel-globaldestruction-perl \
+ libmodule-runtime-perl \
+ librole-tiny-perl \
+ perl-module-constant \
+ perl-module-exporter \
+ perl-module-mro \
+ perl-module-scalar-util \
+"
+
+RPROVIDES_${PN} = " libmethod-inliner-perl \
+ libmethod-generate-accessor-perl \
+ libmethod-generate-buildall-perl \
+ libmethod-generate-constructor-perl \
+ libmethod-generate-demolishall-perl \
+ libmoo-perl \
+ libmoo-handlemoose-perl \
+ libmoo-handlemoose-fakemetaclass-perl \
+ libmoo-object-perl \
+ libmoo-role-perl \
+ libsub-defer-perl \
+ libsub-quote-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.18.bb b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.18.bb
deleted file mode 100644
index 4e0c9c44..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.18.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-DESCRIPTION = "This package contains the DNS.pm module with friends."
-HOMEPAGE = "http://www.net-dns.org/"
-SECTION = "libs"
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://README;beginline=252;endline=269;md5=27db37b42cd1a5173a53922d67072bcb"
-
-DEPENDS += "perl"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "67af7e5c1c339f60c45c1054374bd8ee"
-SRC_URI[sha256sum] = "52ce1494fc9707fd5a60ed71db5cde727157b7f2363787d730d4d1bd9800a9d3"
-
-UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/Net-DNS-${PV}"
-
-EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-
-inherit cpan ptest-perl
-
-RDEPENDS_${PN} = " \
- libdigest-hmac-perl \
- perl-module-base \
- perl-module-constant \
- perl-module-digest-md5 \
- perl-module-digest-sha \
- perl-module-file-spec \
- perl-module-integer \
- perl-module-io-file \
- perl-module-io-select \
- perl-module-io-socket \
- perl-module-io-socket-ip \
- perl-module-mime-base64 \
- perl-module-scalar-util \
- perl-module-test-more \
- perl-module-time-local \
-"
-
-RRECOMMENDS_${PN} += " \
- libnet-dns-sec-perl \
-"
-
-RDEPENDS_${PN}-ptest += " \
- perl-module-encode \
- perl-module-encode-byte \
- perl-module-extutils-mm \
- perl-module-extutils-mm-unix \
- perl-module-overload \
-"
-
-python __anonymous () {
- # rather than use "find" to determine libc-*.so,
- # statically export the known paths for glibc and musl
- import os
- if d.getVar('TCLIBC') == "glibc":
- os.environ["LIBC"] = "${STAGING_BASELIBDIR}/libc.so.6"
- elif d.getVar('TCLIBC') == "musl":
- os.environ["LIBC"] = "${STAGING_LIBDIR}/libc.so"
- else:
- raise bb.parse.SkipRecipe("incompatible with %s C library" %
- d.getVar('TCLIBC'))
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.24.bb b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.24.bb
new file mode 100644
index 00000000..8994f692
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.24.bb
@@ -0,0 +1,66 @@
+DESCRIPTION = "This package contains the DNS.pm module with friends."
+HOMEPAGE = "http://www.net-dns.org/"
+SECTION = "libs"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://README;beginline=252;endline=269;md5=27db37b42cd1a5173a53922d67072bcb"
+
+DEPENDS += "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "1bf07817bb272d412a737ecc2347d70b"
+SRC_URI[sha256sum] = "11a6c2ba6cb1c6640f01c9bbf2036bcbe3974232e9b939ab94985230c92cde63"
+
+UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Net-DNS-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} = " \
+ libdigest-hmac-perl \
+ perl-module-base \
+ perl-module-constant \
+ perl-module-digest-md5 \
+ perl-module-digest-sha \
+ perl-module-file-spec \
+ perl-module-integer \
+ perl-module-io-file \
+ perl-module-io-select \
+ perl-module-io-socket \
+ perl-module-io-socket-ip \
+ perl-module-mime-base64 \
+ perl-module-scalar-util \
+ perl-module-test-more \
+ perl-module-time-local \
+"
+
+RRECOMMENDS_${PN} += " \
+ libnet-dns-sec-perl \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-encode \
+ perl-module-encode-byte \
+ perl-module-extutils-mm \
+ perl-module-extutils-mm-unix \
+ perl-module-overload \
+"
+
+python __anonymous () {
+ # rather than use "find" to determine libc-*.so,
+ # statically export the known paths for glibc and musl
+ import os
+ if d.getVar('TCLIBC') == "glibc":
+ os.environ["LIBC"] = "${STAGING_BASELIBDIR}/libc.so.6"
+ elif d.getVar('TCLIBC') == "musl":
+ os.environ["LIBC"] = "${STAGING_LIBDIR}/libc.so"
+ else:
+ raise bb.parse.SkipRecipe("incompatible with %s C library" %
+ d.getVar('TCLIBC'))
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb
index 3fa6294f..240ffec4 100644
--- a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb
@@ -29,5 +29,3 @@ RDEPENDS_${PN} = " \
perl-module-mime-base64 \
perl-module-test-more \
"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb
deleted file mode 100644
index f2b1f163..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-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/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.66.bb b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.66.bb
new file mode 100644
index 00000000..26c7c389
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.66.bb
@@ -0,0 +1,45 @@
+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 = "${CPAN_MIRROR}/authors/id/M/MA/MARSCHAP/perl-ldap-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "c4c1ae9299cd488e75c1b82904458bef"
+SRC_URI[sha256sum] = "09263ce6166e80c98d689d41d09995b813389fd069b784601f6dc57f8e2b4102"
+
+S = "${WORKDIR}/perl-ldap-${PV}"
+
+inherit cpan ptest-perl
+
+do_configure_prepend() {
+ perl -pi -e 's/auto_install_now.*//g' Makefile.PL
+}
+
+do_install_ptest() {
+ cp -r ${B}/data ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += " \
+ libconvert-asn1-perl \
+ libio-socket-ssl-perl \
+ libauthen-sasl-perl \
+ perl-module-integer \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ libxml-sax-base-perl \
+ libxml-sax-writer-perl \
+ perl-module-file-compare \
+ perl-module-perlio \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb
index dccef164..50ab5af3 100644
--- a/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb
@@ -42,8 +42,6 @@ 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/external/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000006.bb b/external/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000006.bb
deleted file mode 100644
index c2755ea0..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000006.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Role::Tiny - Roles. Like a nouvelle cousine portion size of Moose."
-DESCRIPTION = "\"Role::Tiny\" is a minimalist role composition tool."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/pod/Role::Tiny"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=177;endline=214;md5=26df7e7c20551fb1906e2286624f0b71"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Role-Tiny-${PV}.tar.gz"
-SRC_URI[md5sum] = "7c277728a7e090f64b495857cadfed08"
-SRC_URI[sha256sum] = "cc73418c904a0286ecd8915eac11f5be2a8d1e17ea9cb54c9116b0340cd3e382"
-
-S = "${WORKDIR}/Role-Tiny-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-exporter \
- perl-module-strict \
- perl-module-test-more \
- perl-module-warnings \
-"
-
-RPROVIDES_${PN} = " librole-tiny-perl \
- librole-tiny-with-perl \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.001004.bb b/external/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.001004.bb
new file mode 100644
index 00000000..41743d50
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.001004.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Role::Tiny - Roles. Like a nouvelle cousine portion size of Moose."
+DESCRIPTION = "\"Role::Tiny\" is a minimalist role composition tool."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/pod/Role::Tiny"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=182;endline=219;md5=26df7e7c20551fb1906e2286624f0b71"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Role-Tiny-${PV}.tar.gz"
+SRC_URI[md5sum] = "98446826608b1e943e65c1f6e35942fe"
+SRC_URI[sha256sum] = "92ba5712850a74102c93c942eb6e7f62f7a4f8f483734ed289d08b324c281687"
+
+S = "${WORKDIR}/Role-Tiny-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-exporter \
+ perl-module-strict \
+ perl-module-test-more \
+ perl-module-warnings \
+"
+
+RPROVIDES_${PN} = " librole-tiny-perl \
+ librole-tiny-with-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb b/external/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb
new file mode 100644
index 00000000..a1bb4a39
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Perl interface to the libstatgrab library"
+DESCRIPTION = "Unix::Statgrab is a wrapper for libstatgrab as available from \
+<http://www.i-scream.org/libstatgrab/>. It is a reasonably portable attempt \
+to query interesting stats about your computer. It covers information on \
+the operating system, CPU, memory usage, network interfaces, hard-disks \
+etc."
+
+HOMEPAGE = "https://metacpan.org/release/Unix-Statgrab"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+ | LGPL-2.1+"
+DEPENDS += "libcapture-tiny-perl-native"
+DEPENDS += "libconfig-autoconf-perl-native"
+DEPENDS += "libstatgrab"
+RDEPENDS_${PN} += "\
+ libstatgrab \
+ perl-module-autoloader \
+ perl-module-carp \
+ perl-module-dynaloader \
+ perl-module-exporter \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-warnings \
+"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/R/RE/REHSACK/Unix-Statgrab-${PV}.tar.gz"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \
+ file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d \
+ file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \
+"
+
+SRC_URI[md5sum] = "a6bc06b3f7749f7d77a2b1bd13402821"
+SRC_URI[sha256sum] = "16a29f7acaeec081bf0e7303ba5ee24fda1d21a1104669b837745f3ea61d6afa"
+
+S = "${WORKDIR}/Unix-Statgrab-${PV}"
+
+inherit cpan pkgconfig ptest-perl
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb b/external/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb
deleted file mode 100644
index a6808d3f..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "strictures - turn on strict and make all warnings fatal"
-DESCRIPTION = "I've been writing the equivalent of this module at the top \
-of my code for about a year now. I figured it was time to make it shorter. \
-\
-Things like the importer in \"use Moose\" don't help me because they turn \
-warnings on but don't make them fatal -- which from my point of view is \
-useless because I want an exception to tell me my code isn't warnings-clean. \
-\
-Any time I see a warning from my code, that indicates a mistake. \
-\
-Any time my code encounters a mistake, I want a crash -- not spew to STDERR \
-and then unknown (and probably undesired) subsequent behaviour. \
-\
-I also want to ensure that obvious coding mistakes, like indirect object \
-syntax (and not so obvious mistakes that cause things to accidentally compile \
-as such) get caught, but not at the cost of an XS dependency and not at the \
-cost of blowing things up on another machine. \
-\
-Therefore, \"strictures\" turns on additional checking, but only when it \
-thinks it's running in a test file in a VCS checkout -- although if this \
-causes undesired behaviour this can be overridden by setting the \
-PERL_STRICTURES_EXTRA environment variable."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/pod/strictures"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=246;endline=262;md5=43be558cf4f19823cdd6af22135cf5f8"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/strictures-${PV}.tar.gz"
-SRC_URI[md5sum] = "78244cfab6168dcf196370d1e2309536"
-SRC_URI[sha256sum] = "27f8ea096a521e9754d36ea32889c2cda28346d04e3e399e7ea118d182dbaf22"
-
-S = "${WORKDIR}/strictures-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-carp \
- perl-module-strict \
- perl-module-test-more \
- perl-module-warnings \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb b/external/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb
new file mode 100644
index 00000000..d1a5b478
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb
@@ -0,0 +1,48 @@
+SUMMARY = "strictures - turn on strict and make all warnings fatal"
+DESCRIPTION = "I've been writing the equivalent of this module at the top \
+of my code for about a year now. I figured it was time to make it shorter. \
+\
+Things like the importer in \"use Moose\" don't help me because they turn \
+warnings on but don't make them fatal -- which from my point of view is \
+useless because I want an exception to tell me my code isn't warnings-clean. \
+\
+Any time I see a warning from my code, that indicates a mistake. \
+\
+Any time my code encounters a mistake, I want a crash -- not spew to STDERR \
+and then unknown (and probably undesired) subsequent behaviour. \
+\
+I also want to ensure that obvious coding mistakes, like indirect object \
+syntax (and not so obvious mistakes that cause things to accidentally compile \
+as such) get caught, but not at the cost of an XS dependency and not at the \
+cost of blowing things up on another machine. \
+\
+Therefore, \"strictures\" turns on additional checking, but only when it \
+thinks it's running in a test file in a VCS checkout -- although if this \
+causes undesired behaviour this can be overridden by setting the \
+PERL_STRICTURES_EXTRA environment variable."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/pod/strictures"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=246;endline=262;md5=43be558cf4f19823cdd6af22135cf5f8"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/strictures-${PV}.tar.gz"
+SRC_URI[md5sum] = "35c14fd25320f32ff40e977feae95d0d"
+SRC_URI[sha256sum] = "09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57"
+
+S = "${WORKDIR}/strictures-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += " \
+ perl-module-carp \
+ perl-module-strict \
+ perl-module-test-more \
+ perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += "perl-module-perlio perl-module-perlio-scalar"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb b/external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb
index 64d19c0f..3d530d1a 100644
--- a/external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb
@@ -13,8 +13,6 @@ HOMEPAGE = "https://metacpan.org/pod/Sub-Exporter-Progressive/"
LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=003fa970662359a43ac2c2961108b0f1"
-DEPENDS_${PN} = " perl-module-test-more"
-
SRC_URI = "${CPAN_MIRROR}/authors/id/F/FR/FREW/Sub-Exporter-Progressive-${PV}.tar.gz"
SRC_URI[md5sum] = "72cf6acdd2a0a8b105821a4db98e4ebe"
SRC_URI[sha256sum] = "d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-uplevel-perl_0.2800.bb b/external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-uplevel-perl_0.2800.bb
new file mode 100644
index 00000000..f0510378
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-uplevel-perl_0.2800.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Sub::Uplevel - apparently run a function in a higher stack frame"
+DESCRIPTION = " Like Tcl's uplevel() function, but not quite so dangerous. \
+The idea is just to fool caller(). All the really naughty bits of Tcl's \
+uplevel() are avoided. \
+\
+THIS IS NOT THE SORT OF THING YOU WANT TO DO EVERYDAY \
+"
+
+SECTION = "libs"
+HOMEPAGE= "https://metacpan.org/release/Sub-Uplevel"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7f1207cd3108e4ade18448d81e6bcb6c"
+
+CPAN_PACKAGE = "Sub-Uplevel"
+CPAN_AUTHOR = "DAGOLDEN"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/${CPAN_AUTHOR}/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "6c6a174861fd160e8d5871a86df00baf"
+SRC_URI[sha256sum] = "b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += " \
+ perl-module-carp \
+ perl-module-constant \
+ perl-module-strict \
+ perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-cpan \
+ perl-module-exporter \
+ perl-module-extutils-makemaker \
+ perl-module-file-spec \
+ perl-module-lib \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb b/external/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb
deleted file mode 100644
index 6b76682c..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Term::ReadKey - A perl module for simple terminal control."
-DESCRIPTION = "Term::ReadKey is a compiled perl module dedicated to providing simple \
-control over terminal driver modes (cbreak, raw, cooked, etc.,) support \
-for non-blocking reads, if the architecture allows, and some generalized \
-handy functions for working with terminals. One of the main goals is to \
-have the functions as portable as possible, so you can just plug in "use \
-Term::ReadKey" on any architecture and have a good likelihood of it \
-working."
-HOMEPAGE = "http://search.cpan.org/~jstowe/TermReadKey-${PV}"
-SECTION = "libraries"
-
-LICENSE = "Artistic-1.0 | GPLv1+"
-LIC_FILES_CHKSUM = "file://README;md5=c275db663c8489a5709ebb22b185add5"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/J/JS/JSTOWE/TermReadKey-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "e8ea15c16333ac4f8d146d702e83cc0c"
-SRC_URI[sha256sum] = "4a9383cf2e0e0194668fe2bd546e894ffad41d556b41d2f2f577c8db682db241"
-
-S = "${WORKDIR}/TermReadKey-${PV}"
-
-# It needs depend on native to let dynamic loader use native modules
-# rather than target ones.
-DEPENDS = "libterm-readkey-perl-native"
-
-inherit cpan
-
-do_configure_append () {
- # Hack the dynamic module loader so that it use native modules since it can't load
- # the target ones.
- if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
- sed -i -e "s#-I\$(INST_ARCHLIB)#-I${STAGING_BINDIR_NATIVE}/perl-native/perl/vendor_perl/${@get_perl_version(d)}#g" Makefile
- fi
-}
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb b/external/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb
new file mode 100644
index 00000000..cc1ac6ed
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Term::ReadKey - A perl module for simple terminal control."
+DESCRIPTION = "Term::ReadKey is a compiled perl module dedicated to providing simple \
+control over terminal driver modes (cbreak, raw, cooked, etc.,) support \
+for non-blocking reads, if the architecture allows, and some generalized \
+handy functions for working with terminals. One of the main goals is to \
+have the functions as portable as possible, so you can just plug in 'use \
+Term::ReadKey' on any architecture and have a good likelihood of it \
+working."
+HOMEPAGE = "http://search.cpan.org/~jstowe/TermReadKey-${PV}"
+SECTION = "libraries"
+
+LICENSE = "Artistic-1.0 | GPLv1+"
+LIC_FILES_CHKSUM = "file://README;md5=c275db663c8489a5709ebb22b185add5"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/J/JS/JSTOWE/TermReadKey-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "b2b4aab7a0e6bddb7ac3b21ba637482c"
+SRC_URI[sha256sum] = "5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290"
+
+S = "${WORKDIR}/TermReadKey-${PV}"
+
+UPSTREAM_CHECK_URI = "https://metacpan.org/release/TermReadKey"
+UPSTREAM_CHECK_REGEX = "TermReadKey\-(?P<pver>(\d+\.\d+))(?!_\d+)\.tar.gz"
+
+# It needs depend on native to let dynamic loader use native modules
+# rather than target ones.
+DEPENDS = "libterm-readkey-perl-native"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-test-more \
+"
+
+do_configure_append () {
+ # Hack the dynamic module loader so that it use native modules since it can't load
+ # the target ones.
+ if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
+ sed -i -e "s#-I\$(INST_ARCHLIB)#-I${STAGING_BINDIR_NATIVE}/perl-native/perl/vendor_perl/${@get_perl_version(d)}#g" Makefile
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.130.bb b/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.130.bb
new file mode 100644
index 00000000..c82a1a17
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.130.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Test::Deep - Extremely flexible deep comparison"
+DESCRIPTION = "If you don't know anything about automated testing in Perl \
+then you should probably read about Test::Simple and Test::More before \
+preceding. Test::Deep uses the Test::Builder framework. \
+\
+Test::Deep gives you very flexible ways to check that the result you got is \
+the result you were expecting. At its simplest it compares two structures \
+by going through each level, ensuring that the values match, that arrays and \
+hashes have the same elements and that references are blessed into the \
+correct class. It also handles circular data structures without getting \
+caught in an infinite loop. \
+\
+Where it becomes more interesting is in allowing you to do something besides \
+simple exact comparisons. With strings, the \'eq\' operator checks that 2 \
+strings are exactly equal but sometimes that's not what you want. When you \
+don't know exactly what the string should be but you do know some things \
+about how it should look, \'eq\' is no good and you must use pattern matching \
+instead. Test::Deep provides pattern matching for complex data structures \
+distribution."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://github.com/rjbs/Test-Deep/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://lib/Test/Deep.pm;beginline=1817;endline=1826;md5=a897a42bafc3422cab17c2eb94f87a7c"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/R/RJ/RJBS/Test-Deep-${PV}.tar.gz"
+SRC_URI[md5sum] = "d466e471108f7f7a5df3802cb13761ac"
+SRC_URI[sha256sum] = "4064f494f5f62587d0ae501ca439105821ee5846c687dc6503233f55300a7c56"
+
+UPSTREAM_CHECK_REGEX = "Test\-Deep\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Test-Deep-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += " \
+ perl-module-dynaloader \
+ perl-module-exporter \
+ perl-module-fcntl \
+ perl-module-list-util \
+ perl-module-scalar-util \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-if \
+ perl-module-lib \
+ perl-module-test-more \
+ perl-module-test-tester \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-nowarnings-perl_1.04.bb b/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-nowarnings-perl_1.04.bb
new file mode 100644
index 00000000..f3c28d39
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-nowarnings-perl_1.04.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Make sure you didn't emit any warnings while testing"
+DESCRIPTION = "In general, your tests shouldn't produce warnings. This \
+modules causes any warnings to be captured and stored. It automatically \
+adds an extra test that will run when your script ends to check that there \
+were no warnings. If there were any warings, the test will give a \\"not ok\\" \
+and diagnostics of where, when and what the warning was, including a stack \
+trace of what was going on when the it occurred.\
+\
+If some of your tests are supposed to produce warnings then you should \
+be capturing and checking them with Test::Warn, that way \
+Test::NoWarnings will not see them and so not complain.\
+\
+The test is run by an \\"END\\" block in Test::NoWarnings. It will not be \
+run when any forked children exit."
+
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+
+HOMEPAGE= "https://metacpan.org/release/Test-NoWarnings"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+CPAN_PACKAGE = "Test-NoWarnings"
+CPAN_AUTHOR = "ADAMK"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/A/AD/${CPAN_AUTHOR}/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "682ed043f7d3e38f3dfd8745fd21c49a"
+SRC_URI[sha256sum] = "638a57658cb119af1fe5b15e73d47c2544dcfef84af0c6b1b2e97f08202b686c"
+
+RDEPENDS_${PN} += "perl-module-test-builder perl-module-test-more perl-module-test-tester"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan ptest-perl
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb b/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb
new file mode 100644
index 00000000..c336da80
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Test::Warn - Perl extension to test methods for warnings"
+DESCRIPTION = "This module provides a few convenience methods for testing \
+warning based code. \
+\
+If you are not already familiar with the Test::More manpage now would be \
+the time to go take a look. \
+"
+
+SECTION = "libs"
+HOMEPAGE= "https://metacpan.org/release/Test-Warn"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=73;endline=78;md5=42b423d91c92ba59c215835a2ee9b57a"
+
+CPAN_PACKAGE = "Test-Warn"
+CPAN_AUTHOR = "BIGJ"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/B/BI/${CPAN_AUTHOR}/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "3d958f43d36db263994affde5da09b51"
+SRC_URI[sha256sum] = "ecbca346d379cef8d3c0e4ac0c8eb3b2613d737ffaaeae52271c38d7bf3c6cda"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan ptest-perl
+
+do_install_ptest() {
+ cp -r ${B}/blib ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += " \
+ libsub-uplevel-perl \
+ perl-module-blib \
+ perl-module-carp \
+ perl-module-test-builder \
+ perl-module-test-builder-tester \
+ perl-module-test-tester \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-file-spec \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warnings-perl_0.028.bb b/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warnings-perl_0.028.bb
new file mode 100644
index 00000000..f2dda194
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warnings-perl_0.028.bb
@@ -0,0 +1,29 @@
+# Copyright (C) 2020 Jens Rehsack <sno@netbsd.org>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "If you've ever tried to use Test::NoWarnings to confirm there are no \
+warnings generated by your tests, combined with the convenience of \
+\\"done_testing\\" to not have to declare a test count, you'll have discovered \
+that these two features do not play well together, as the test count will \
+be calculated *before* the warnings test is run, resulting in a TAP error. \
+(See "examples/test_nowarnings.pl" in this distribution for a \
+demonstration.)"
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+HOMEPAGE= "https://metacpan.org/release/Test-Warnings"
+
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \
+file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Warnings-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "cd007342017fedfb02d6fde75602e473"
+SRC_URI[sha256sum] = "26fda9f8d279e943d27e43a4a3a5cea8a6592cd36e7308695f8dc6602262c0e0"
+
+S = "${WORKDIR}/Test-Warnings-${PV}"
+
+inherit cpan ptest-perl
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb b/external/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb
deleted file mode 100644
index 5ccb411f..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm."
-DESCRIPTION = "Unicode::LineBreak performs Line Breaking Algorithm described in Unicode \
-Standard Annex #14 [UAX #14]. East_Asian_Width informative property \
-defined by Annex #11 [UAX #11] will be concerned to determine breaking \
-positions."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~nezumi/Unicode-LineBreak-${PV}/"
-
-LICENSE = "Artistic-1.0 | GPLv1+"
-LIC_FILES_CHKSUM = "file://README;md5=77241abd74fec561b3f3de1b44c0241b"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/Unicode-LineBreak-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "de7672227922260ac92d20bbad29660b"
-SRC_URI[sha256sum] = "655bc3c4cb60ad0770d97816716cfe322f24e602c70e595f5941dfa02c40cb76"
-
-S = "${WORKDIR}/Unicode-LineBreak-${PV}"
-
-DEPENDS = "libsombok3 libmime-charset-perl"
-
-RDEPENDS_${PN} = "libsombok3 libmime-charset-perl"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2019.001.bb b/external/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2019.001.bb
new file mode 100644
index 00000000..304b3757
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2019.001.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm."
+DESCRIPTION = "Unicode::LineBreak performs Line Breaking Algorithm described in Unicode \
+Standard Annex #14 [UAX #14]. East_Asian_Width informative property \
+defined by Annex #11 [UAX #11] will be concerned to determine breaking \
+positions."
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/release/Unicode-LineBreak"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=5;endline=9;md5=b5e8b1099b86b86fbc315b50484231ab"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/Unicode-LineBreak-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "003d6da7a13700e069afed9238c864b9"
+SRC_URI[sha256sum] = "486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a"
+
+S = "${WORKDIR}/Unicode-LineBreak-${PV}"
+
+DEPENDS = "libsombok3 libmime-charset-perl"
+
+inherit cpan ptest-perl
+
+do_install_ptest() {
+ cp -r ${B}/test-data ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += " \
+ libmime-charset-perl \
+ libsombok3 \
+ perl-module-carp \
+ perl-module-constant \
+ perl-module-encode \
+ perl-module-exporter \
+ perl-module-overload \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-warnings \
+ perl-module-xsloader \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-findbin \
+ perl-module-lib \
+ perl-module-strict \
+ perl-module-test-more \
+"
+
+RPROVIDES_${PN} += " \
+ libtext-linefold-perl \
+ libunicode-gcstring-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb b/external/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb
deleted file mode 100644
index 1f184011..00000000
--- a/external/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Perl interface to the libxml2 library"
-DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \
-with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \
-interface and a XML::XPath-like interface to XPath API of libxml2. \
-The module is split into several packages which are not described in this \
-section; unless stated otherwise, you only need to use XML::LibXML; in \
-your programs."
-
-HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0|GPLv1+"
-DEPENDS += "libxml2 \
- libxml-sax-perl-native \
- zlib \
-"
-RDEPENDS_${PN} += "\
- libxml2 \
- libxml-sax-perl \
- libxml-sax-base-perl \
- perl-module-encode \
- perl-module-data-dumper \
- zlib \
-"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \
- file://disable-libxml2-check.patch \
- file://fix-CATALOG-conditional-compile.patch \
- file://using-DOCB-conditional.patch \
-"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=64eda1bc135f0ece1d1187f2a8ac82c1 \
- file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446 \
-"
-SRC_URI[libxml.md5sum] = "43546fd9a3974f19323f9fb04861ece9"
-SRC_URI[libxml.sha256sum] = "721452e3103ca188f5968ab06d5ba29fe8e00e49f4767790882095050312d476"
-
-S = "${WORKDIR}/XML-LibXML-${PV}"
-
-inherit cpan
-
-EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}"
-
-BBCLASSEXTEND = "native"
-
-CFLAGS += " -D_GNU_SOURCE "
-BUILD_CFLAGS += " -D_GNU_SOURCE "
-
-FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/"
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb b/external/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
new file mode 100644
index 00000000..6fabf268
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Perl interface to the libxml2 library"
+DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \
+with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \
+interface and a XML::XPath-like interface to XPath API of libxml2. \
+The module is split into several packages which are not described in this \
+section; unless stated otherwise, you only need to use XML::LibXML; in \
+your programs."
+
+HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0|GPLv1+"
+DEPENDS += "libxml2 \
+ libxml-sax-perl-native \
+ zlib \
+"
+RDEPENDS_${PN} += "\
+ libxml2 \
+ libxml-sax-perl \
+ libxml-sax-base-perl \
+ perl-module-encode \
+ perl-module-data-dumper \
+ zlib \
+"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \
+ file://disable-libxml2-check.patch \
+ file://fix-CATALOG-conditional-compile.patch \
+ file://using-DOCB-conditional.patch \
+"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=64eda1bc135f0ece1d1187f2a8ac82c1 \
+ file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446 \
+"
+SRC_URI[libxml.md5sum] = "dce687dd8b7e82d1c359fd74b1852f64"
+SRC_URI[libxml.sha256sum] = "f0bca4d0c2da35d879fee4cd13f352014186cedab27ab5e191f39b5d7d4f46cf"
+
+S = "${WORKDIR}/XML-LibXML-${PV}"
+
+inherit cpan ptest-perl
+
+EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}"
+
+BBCLASSEXTEND = "native"
+
+CFLAGS += " -D_GNU_SOURCE "
+BUILD_CFLAGS += " -D_GNU_SOURCE "
+
+FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/"
+
+RDEPENDS_${PN}-ptest += " \
+ liburi-perl \
+ perl-module-encode-byte \
+ perl-module-encode-unicode \
+ perl-module-locale \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+"
+
+do_install_prepend() {
+ # test requires "-T" (taint) command line option
+ rm -rf ${B}/t/pod.t
+ # this only applies to author build
+ rm -rf ${B}/t/pod-files-presence.t
+}
+
+do_install_ptest() {
+ cp -r ${B}/t/data ${D}${PTEST_PATH}/t/
+ cp -r ${B}/t/lib ${D}${PTEST_PATH}/t/
+ cp -r ${B}/example ${D}${PTEST_PATH}
+ cp -r ${B}/test ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
diff --git a/external/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb b/external/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb
new file mode 100644
index 00000000..9b2406ba
--- /dev/null
+++ b/external/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Meta-perl packagegroup"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-perl \
+ packagegroup-meta-perl-extended \
+'
+
+RDEPENDS_packagegroup-meta-perl = "\
+ libproc-waitstat-perl libmoo-perl libterm-readkey-perl \
+ libunicode-linebreak-perl libcurses-perl libmime-types-perl \
+ libmime-charset-perl libio-socket-ssl-perl libio-stringy-perl \
+ libtext-iconv-perl libtext-charwidth-perl libtext-diff-perl \
+ libtext-wrapi18n-perl liblocale-gettext-perl libdata-hexdump-perl \
+ libextutils-installpaths-perl libextutils-helpers-perl libextutils-parsexs-perl \
+ libextutils-config-perl libextutils-cppguess-perl libimport-into-perl \
+ libcrypt-openssl-rsa-perl libcrypt-openssl-guess-perl libcrypt-openssl-random-perl \
+ libxml-sax-writer-perl libxml-libxml-perl libxml-filter-buffertext-perl \
+ adduser \
+ libauthen-sasl-perl libnet-ldap-perl libnet-dns-perl \
+ libnet-dns-sec-perl libnet-libidn-perl libnet-ssleay-perl \
+ libnet-telnet-perl libdevel-globaldestruction-perl libipc-signal-perl \
+ librole-tiny-perl libencode-perl libencode-locale-perl \
+ libfile-slurp-perl libcapture-tiny-perl \
+ po4a \
+ libstrictures-perl libtest-harness-perl libsub-exporter-progressive-perl \
+ libclass-method-modifiers-perl libhtml-parser-perl libhtml-tree-perl \
+ libmodule-pluggable-perl libmodule-build-perl libmodule-runtime-perl \
+ libmodule-build-tiny-perl libcgi-perl libalgorithm-diff-perl \
+ libdbd-sqlite-perl libdigest-sha1-perl libdigest-hmac-perl \
+ "
+
+RDEPENDS_packagegroup-meta-perl-extended = "\
+ logcheck mime-construct \
+ "
+
+RDEPENDS_packagegroup-meta-perl-ptest = "\
+ libmime-types-perl-ptest \
+ libio-socket-ssl-perl-ptest \
+ libdata-hexdump-perl-ptest \
+ libauthen-sasl-perl-ptest \
+ libnet-dns-perl-ptest \
+ libnet-dns-sec-perl-ptest \
+ libnet-ssleay-perl-ptest \
+ libtest-harness-perl-ptest \
+ libdigest-sha1-perl-ptest \
+ libdigest-hmac-perl-ptest \
+ "
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/external/meta-openembedded/meta-python/README b/external/meta-openembedded/meta-python/README
index 9c10c78a..237dff30 100644
--- a/external/meta-openembedded/meta-python/README
+++ b/external/meta-openembedded/meta-python/README
@@ -13,12 +13,12 @@ The meta-python layer depends on:
URI: git://git.openembedded.org/openembedded-core
layers: meta
- branch: thud
+ branch: dunfell
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: thud
+ branch: dunfell
revision: HEAD
Please follow the recommended setup procedures of your OE distribution.
@@ -35,13 +35,13 @@ 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][thud]' in the subject.
+'[meta-python][dunfell]' 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][thud][PATCH'
+'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][dunfell][PATCH'
Maintenance
-------------------------
-Thud Maintainers: Armin Kuster <akuster808@gmail.com>
+dunfell Maintainers: Armin Kuster <akuster808@gmail.com>
diff --git a/external/meta-openembedded/meta-python/classes/bandit.bbclass b/external/meta-openembedded/meta-python/classes/bandit.bbclass
new file mode 100644
index 00000000..dc1041e4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/classes/bandit.bbclass
@@ -0,0 +1,63 @@
+# Class to scan Python code for security issues, using Bandit.
+#
+# $ bitbake python-foo -c bandit
+#
+# Writes the report to $DEPLOY_DIR/bandit/python-foo.html.
+# No output if no issues found, a warning if issues found.
+#
+# https://github.com/PyCQA/bandit
+
+# Default location of sources, based on standard distutils
+BANDIT_SOURCE ?= "${S}/build"
+
+# The report format to use.
+# https://bandit.readthedocs.io/en/latest/formatters/index.html
+BANDIT_FORMAT ?= "html"
+
+# Whether a scan should be done every time the recipe is built.
+#
+# By default the scanning needs to be done explicitly, but by setting BANDIT_AUTO
+# to 1 the scan will be done whenever the recipe it built. Note that you
+# shouldn't set BANDIT_AUTO to 1 globally as it will then try to scan every
+# recipe, including non-Python recipes, causing circular loops.
+BANDIT_AUTO ?= "0"
+
+# Whether Bandit finding issues results in a warning (0) or an error (1).
+BANDIT_FATAL ?= "0"
+
+do_bandit[depends] = "python3-bandit-native:do_populate_sysroot"
+python do_bandit() {
+ import os, subprocess
+ try:
+ report = d.expand("${DEPLOY_DIR}/bandit/${PN}-${PV}.${BANDIT_FORMAT}")
+ os.makedirs(os.path.dirname(report), exist_ok=True)
+
+ args = ("bandit",
+ "--format", d.getVar("BANDIT_FORMAT"),
+ "--output", report,
+ "-ll",
+ "--recursive", d.getVar("BANDIT_SOURCE"))
+ subprocess.check_output(args, stderr=subprocess.STDOUT)
+ bb.note("Bandit found no issues (report written to %s)" % report)
+ except subprocess.CalledProcessError as e:
+ if e.returncode == 1:
+ if oe.types.boolean(d.getVar("BANDIT_FATAL")):
+ bb.error("Bandit found issues (report written to %s)" % report)
+ else:
+ bb.warn("Bandit found issues (report written to %s)" % report)
+ else:
+ bb.error("Bandit failed:\n" + e.output.decode("utf-8"))
+}
+
+python() {
+ before = "do_build"
+ after = "do_compile"
+
+ if oe.types.boolean(d.getVar("BANDIT_AUTO")):
+ bb.build.addtask("do_bandit", before, after, d)
+ else:
+ bb.build.addtask("do_bandit", None, after, d)
+}
+
+# TODO: store report in sstate
+# TODO: a way to pass extra args or .bandit file, basically control -ll
diff --git a/external/meta-openembedded/meta-python/conf/layer.conf b/external/meta-openembedded/meta-python/conf/layer.conf
index 321d51be..0dbc4296 100644
--- a/external/meta-openembedded/meta-python/conf/layer.conf
+++ b/external/meta-openembedded/meta-python/conf/layer.conf
@@ -12,8 +12,8 @@ BBFILE_PRIORITY_meta-python = "7"
# cause compatibility issues with other layers
LAYERVERSION_meta-python = "1"
-LAYERDEPENDS_meta-python = "core openembedded-layer"
+LAYERDEPENDS_meta-python = "core (>= 12) openembedded-layer"
-LAYERSERIES_COMPAT_meta-python = "thud"
+LAYERSERIES_COMPAT_meta-python = "thud warrior zeus dunfell"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb b/external/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
deleted file mode 100644
index 5d2ca00e..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "HTML5 (plugin-free) web-based terminal emulator and SSH client"
-LICENSE = "AGPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=834cbc6995db88433db17cdf8953a428"
-HOMEPAGE = "http://liftoffsoftware.com/Products/GateOne"
-
-PV = "1.2+git${SRCPV}"
-SRCREV = "f7a9be46cb90f57459ebd363d24702de0e651034"
-SRC_URI = "git://github.com/liftoff/GateOne.git;branch=master \
- file://gateone-avahi.service \
- file://80oe.conf.in \
- file://gateone.service.in \
- file://gateone-init.in \
-"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools python-dir systemd update-rc.d
-
-DISTUTILS_INSTALL_ARGS += " \
- --install-data=${PYTHON_SITEPACKAGES_DIR} \
- --install-scripts=${bindir} \
- --skip_init_scripts"
-
-do_install_append() {
-
- # fix up hardcoded paths
- for file in gateone.service gateone-init 80oe.conf; do
- sed -e s:@bindir@:${bindir}:g \
- -e s:@localstate@:${localstatedir}:g \
- < ${WORKDIR}/$file.in \
- > ${WORKDIR}/$file
- done
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/gateone.service ${D}${systemd_unitdir}/system
-
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/gateone-init ${D}${sysconfdir}/init.d/gateone
-
- install -m 0755 -d ${D}${sysconfdir}/avahi/services/
- install -m 0644 ${WORKDIR}/gateone-avahi.service ${D}${sysconfdir}/avahi/services/
-
- install -m 0755 -d ${D}${sysconfdir}/gateone/conf.d/
- install -m 0644 ${WORKDIR}/80oe.conf ${D}${sysconfdir}/gateone/conf.d/80oe.conf
-
- install -d ${D}${localstatedir}/lib/gateone
-}
-
-FILES_${PN} = "${localstatedir}/lib ${bindir} ${base_libdir} ${sysconfdir} ${PYTHON_SITEPACKAGES_DIR}"
-RDEPENDS_${PN} = "mime-support \
- openssh-ssh \
- python-compression \
- python-contextlib \
- python-crypt \
- python-datetime \
- python-email \
- python-fcntl \
- python-futures \
- python-html \
- python-imaging \
- python-io \
- python-json \
- python-logging \
- python-misc \
- python-multiprocessing \
- python-netclient \
- python-pkgutil \
- python-pyopenssl \
- python-re \
- python-setuptools \
- python-shell \
- python-simplejson \
- python-subprocess \
- python-syslog \
- python-terminal \
- python-textutils \
- python-tornado \
- python-unixadmin \
- python-xml \
- python-html5lib \
- bash \
-"
-
-SYSTEMD_SERVICE_${PN} = "gateone.service"
-INITSCRIPT_NAME = "gateone"
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.6.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.6.bb
deleted file mode 100644
index e96ad1ca..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-gsocketpool.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-h2/python-h2.inc b/external/meta-openembedded/meta-python/recipes-connectivity/python-h2/python-h2.inc
new file mode 100644
index 00000000..c457836b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-h2/python-h2.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "HTTP/2 State-Machine based protocol implementation"
+HOMEPAGE = "https://github.com/python-hyper/hyper-h2"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b6b2f6bbe76528af543242d606c14851"
+
+SRC_URI[md5sum] = "950b5a62a2a608dc4547a01edf99aa8f"
+SRC_URI[sha256sum] = "b8a32bd282594424c0ac55845377eea13fa54fe4a8db012f3a198ed923dc3ab4"
+
+inherit pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-hpack ${PYTHON_PN}-hyperframe"
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-h2/python3-h2_3.1.1.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-h2/python3-h2_3.1.1.bb
new file mode 100644
index 00000000..7230a27e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-h2/python3-h2_3.1.1.bb
@@ -0,0 +1,3 @@
+require python-h2.inc
+
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python-hpack.inc b/external/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python-hpack.inc
new file mode 100644
index 00000000..eccfa8c5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python-hpack.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Pure-Python HPACK header compression"
+HOMEPAGE = "https://github.com/python-hyper/hpack"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5bf1c68e73fbaec2b1687b7e71514393"
+
+SRC_URI[md5sum] = "556b0ae66180f54c2ce8029a0952088b"
+SRC_URI[sha256sum] = "8eec9c1f4bfae3408a3f30500261f7e6a65912dc138526ea054f9ad98892e9d2"
+
+inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_3.0.0.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_3.0.0.bb
new file mode 100644
index 00000000..e196c55b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-hpack/python3-hpack_3.0.0.bb
@@ -0,0 +1,3 @@
+require python-hpack.inc
+
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python-hyperframe.inc b/external/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python-hyperframe.inc
new file mode 100644
index 00000000..0066bf8e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python-hyperframe.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "HTTP/2 framing layer for Python"
+HOMEPAGE = "https://github.com/python-hyper/hyperframe"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5bf1c68e73fbaec2b1687b7e71514393"
+
+SRC_URI[md5sum] = "6919183242feb26d8bce3b4cba81defd"
+SRC_URI[sha256sum] = "a9f5c17f2cc3c719b917c4f33ed1c61bd1f8dfac4b1bd23b7c80b3400971b41f"
+
+inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_5.2.0.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_5.2.0.bb
new file mode 100644
index 00000000..f10fb6df
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_5.2.0.bb
@@ -0,0 +1,3 @@
+require python-hyperframe.inc
+
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc b/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
index 05fbae48..e9eebe84 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4ba825394aec026b5f94edca44426859"
DEPENDS += "${PYTHON_PN}-gevent"
RDEPENDS_${PN} += "${PYTHON_PN}-gevent ${PYTHON_PN}-msgpack ${PYTHON_PN}-gsocketpool"
-SRC_URI[md5sum] = "acde1f346411997d76ab89790a356823"
-SRC_URI[sha256sum] = "e8ddd47e7a2fb2d3b203fcc522443ee5be56c8f7e2c6d915c047445951cef1fb"
+SRC_URI[md5sum] = "8d97961051422f3de315613434982d3b"
+SRC_URI[sha256sum] = "3589fd127482e291b1ec314d6f0e55cc13311c12932ace356d6178ea1ca28f6a"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb
deleted file mode 100644
index 6b2ea219..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-mprpc.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.16.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb
index 837d604e..837d604e 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.16.bb
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-priority/python-priority.inc b/external/meta-openembedded/meta-python/recipes-connectivity/python-priority/python-priority.inc
new file mode 100644
index 00000000..aa93819b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-priority/python-priority.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "A pure-Python implementation of the HTTP/2 priority tree"
+HOMEPAGE = "https://github.com/python-hyper/priority"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ae57d8a09fc8b6b164d7357339619045"
+
+SRC_URI[md5sum] = "4f1ff52f7fa448e9d9cb46337ae86d1e"
+SRC_URI[sha256sum] = "6bc1961a6d7fcacbfc337769f1a382c8e746566aaa365e78047abe9f66b2ffbe"
+
+inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-priority/python3-priority_1.3.0.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-priority/python3-priority_1.3.0.bb
new file mode 100644
index 00000000..fe756b56
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-priority/python3-priority_1.3.0.bb
@@ -0,0 +1,3 @@
+require python-priority.inc
+
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc b/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc
index beb2baf8..8517079b 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc
@@ -4,8 +4,8 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI[md5sum] = "b7fa82034b1c0e1fb1b518ffe3bb4fc0"
-SRC_URI[sha256sum] = "46c64c0692063fd0c9fb0216d49f7884bec9fa9760d8473db4b1e2f8162fab4a"
+SRC_URI[md5sum] = "d60bdffbd9c920f005fdc5e05a8b94cd"
+SRC_URI[sha256sum] = "d3a63a039c82b08a1171b003eafa62c6f128aa4eaa1ce7a55a9401b48f9ad926"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb
deleted file mode 100644
index 3c12db94..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require python-pyconnman.inc
-
-inherit setuptools
-
-RDEPENDS_${PN} += "python-dbus python-pprint"
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb
index e0f3fdd7..e0f3fdd7 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb
deleted file mode 100644
index 88f5b185..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python Remote Objects"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cd13dafd4eeb0802bb6efea6b4a4bdbc"
-
-SRC_URI[md5sum] = "0375c061b93411feb86da01e801df888"
-SRC_URI[sha256sum] = "536b07a097d0619e7ab1effa3747fda177a24168d17a07a93ca9ac30977608f7"
-
-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/external/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.77.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.77.bb
new file mode 100644
index 00000000..ffe58ee9
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python3-pyro4_4.77.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Python Remote Objects"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cd13dafd4eeb0802bb6efea6b4a4bdbc"
+
+SRC_URI[md5sum] = "21f015ae93cf9ea2bbbc418a2267e9fb"
+SRC_URI[sha256sum] = "2bfe12a22f396474b0e57c898c7e2c561a8f850bf2055d8cf0f7119f0c7a523f"
+
+PYPI_PACKAGE = "Pyro4"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-serpent \
+ ${PYTHON_PN}-threading \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc b/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc
index 79a8bfb2..3991a830 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc
@@ -2,8 +2,8 @@ SUMMARY = "Python TUN/TAP tunnel module"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=13f7629e8e4989b66b4a913ab05a91de"
-SRC_URI[md5sum] = "5b35b1cf80a02cca7ec72eb95d6b0192"
-SRC_URI[sha256sum] = "07595dadf85f5176eb08c8d4d9ba5b862a180e96633f670f91437c47a1bead0d"
+SRC_URI[md5sum] = "adcaeea56d0ed06814487cdbde32d198"
+SRC_URI[sha256sum] = "5ead86b3391acef239535ebcabeb04d2cdc6b40ab14580d28c6da193c2d1fe53"
PYPI_PACKAGE = "python-pytun"
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb
deleted file mode 100644
index 3fc587f3..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pytun.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.3.0.bb
index 938d9d73..938d9d73 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.3.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb
deleted file mode 100644
index 10cff425..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python bindings for the Apache Thrift RPC system"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=e3641ae1a26cf5c12a3a71bd3030ab0e"
-
-SRC_URI[md5sum] = "36165d5c80e6b101dbe9fcf7ef524d51"
-SRC_URI[sha256sum] = "7d59ac4fdcb2c58037ebd4a9da5f9a49e3e034bf75b3f26d9fe48ba3d8806e6b"
-
-inherit pypi setuptools
-
-# Use different filename to prevent conflicts with thrift itself
-PYPI_SRC_URI_append = ";downloadfilename=${BP}.${PYPI_PACKAGE_EXT}"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-threading \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python3-thrift_0.13.0.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python3-thrift_0.13.0.bb
new file mode 100644
index 00000000..80f1a501
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python3-thrift_0.13.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python bindings for the Apache Thrift RPC system"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=e95cd2f17c70d3180a2b361332319fe0"
+
+SRC_URI[md5sum] = "c3bc8d9a910d2c9ce26f2ad1f7c96762"
+SRC_URI[sha256sum] = "9af1c86bf73433afc6010ed376a6c6aca2b54099cc0d61895f640870a9ae7d89"
+
+inherit pypi setuptools3
+
+# Use different filename to prevent conflicts with thrift itself
+PYPI_SRC_URI_append = ";downloadfilename=${BP}.${PYPI_PACKAGE_EXT}"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-txws/python-txws_0.9.1.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-txws/python-txws_0.9.1.bb
deleted file mode 100644
index f3631cda..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/python-txws/python-txws_0.9.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Twisted Web Sockets"
-HOMEPAGE = "https://github.com/MostAwesomeDude/txWS"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=76699830db7fa9e897f6a1ad05f98ec8"
-
-DEPENDS = "python-twisted python-six python-vcversioner python-six-native python-vcversioner-native"
-
-SRC_URI = "git://github.com/MostAwesomeDude/txWS.git"
-SRCREV= "88cf6d9b9b685ffa1720644bd53c742afb10a414"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools
-
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/python-txws/python3-txws_0.9.1.bb b/external/meta-openembedded/meta-python/recipes-connectivity/python-txws/python3-txws_0.9.1.bb
new file mode 100644
index 00000000..e235682c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/python-txws/python3-txws_0.9.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Twisted Web Sockets"
+HOMEPAGE = "https://github.com/MostAwesomeDude/txWS"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=76699830db7fa9e897f6a1ad05f98ec8"
+
+DEPENDS = "python3-twisted python3-six python3-vcversioner python3-six-native python3-vcversioner-native"
+
+SRC_URI = "git://github.com/MostAwesomeDude/txWS.git"
+SRCREV= "88cf6d9b9b685ffa1720644bd53c742afb10a414"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/parallel_make.patch
index 24882460..24882460 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/parallel_make.patch
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/remove_duplicate_install.patch
index df95a4c1..df95a4c1 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/remove_duplicate_install.patch
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/telepathy-python_fix_for_automake_1.12.patch
index f613fdce..f613fdce 100644
--- a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3-0.15.19/telepathy-python_fix_for_automake_1.12.patch
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3_0.15.19.bb b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3_0.15.19.bb
new file mode 100644
index 00000000..d92e6577
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python3_0.15.19.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Telepathy IM framework - Python package"
+HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://src/utils.py;beginline=1;endline=17;md5=9a07d1a9791a7429a14e7b25c6c86822"
+
+DEPENDS = "libxslt-native"
+
+SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-python/telepathy-python-${PV}.tar.gz \
+ file://parallel_make.patch \
+ file://remove_duplicate_install.patch \
+ file://telepathy-python_fix_for_automake_1.12.patch"
+
+PR = "r6"
+
+S = "${WORKDIR}/telepathy-python-${PV}"
+
+inherit autotools python3native
+
+SRC_URI[md5sum] = "f7ca25ab3c88874015b7e9728f7f3017"
+SRC_URI[sha256sum] = "244c0e1bf4bbd78ae298ea659fe10bf3a73738db550156767cc2477aedf72376"
+
+FILES_${PN} += "\
+ ${libdir}/python*/site-packages/telepathy/*.py \
+ ${libdir}/python*/site-packages/telepathy/*/*.py \
+"
+
+do_install_append () {
+ rm -fr ${D}${libdir}/python*/site-packages/telepathy/__pycache__
+ rm -fr ${D}${libdir}/python*/site-packages/telepathy/__pycache__
+ rm -fr ${D}${libdir}/python*/site-packages/telepathy/*/__pycache__
+ rm -fr ${D}${libdir}/python*/site-packages/telepathy/*/__pycache__
+}
+RDEPENDS_${PN} += "python3-dbus"
diff --git a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb b/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
deleted file mode 100644
index b7aea24a..00000000
--- a/external/meta-openembedded/meta-python/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Telepathy IM framework - Python package"
-HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://src/utils.py;beginline=1;endline=17;md5=9a07d1a9791a7429a14e7b25c6c86822"
-
-DEPENDS = "libxslt-native"
-RDEPENDS_${PN} += "python-dbus"
-
-SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
- file://parallel_make.patch \
- file://remove_duplicate_install.patch \
- file://telepathy-python_fix_for_automake_1.12.patch"
-
-PR = "r6"
-
-inherit autotools pythonnative
-
-SRC_URI[md5sum] = "f7ca25ab3c88874015b7e9728f7f3017"
-SRC_URI[sha256sum] = "244c0e1bf4bbd78ae298ea659fe10bf3a73738db550156767cc2477aedf72376"
-
-FILES_${PN} += "\
- ${libdir}/python*/site-packages/telepathy/*.py \
- ${libdir}/python*/site-packages/telepathy/*/*.py \
-"
-
-do_install_append () {
- rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyc
- rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyo
- rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyc
- rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyo
-}
diff --git a/external/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb b/external/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb
new file mode 100644
index 00000000..81081e61
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb
@@ -0,0 +1,7 @@
+SUMMARY = "meta-python build test image"
+
+IMAGE_INSTALL = "packagegroup-core-boot"
+
+LICENSE = "MIT"
+
+inherit core-image
diff --git a/external/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb b/external/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb
new file mode 100644
index 00000000..cc75fe6e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb
@@ -0,0 +1,6 @@
+require meta-python-image-base.bb
+
+SUMMARY = "meta-python build test image"
+
+IMAGE_INSTALL += "packagegroup-meta-python \
+ packagegroup-meta-python3"
diff --git a/external/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb b/external/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb
new file mode 100644
index 00000000..7ee15354
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb
@@ -0,0 +1,5 @@
+require meta-python-image-base.bb
+
+SUMMARY = "meta-python ptest test image"
+
+IMAGE_INSTALL += "packagegroup-meta-python-ptest"
diff --git a/external/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/external/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
new file mode 100644
index 00000000..12a05625
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
@@ -0,0 +1,74 @@
+SUMMARY = "Meta-oe ptest packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-python3 \
+'
+
+RDEPENDS_packagegroup-meta-python3 = "\
+ packagegroup-meta-python3-extended \
+ packagegroup-meta-python3-connectivity \
+"
+
+RDEPENDS_packagegroup-meta-python3 = "\
+ python3-pyserial python3-gevent python3-alembic python3-robotframework-seriallibrary \
+ python3-rfc3987 python3-xlrd python3-bandit python3-constantly python3-inflection \
+ python3-javaobj-py3 python3-sh python3-pycrypto python3-pyasn1 python3-pydbus python3-wtforms \
+ python3-pybluez python3-babel python3-parse-type python3-bitarray python3-django-south \
+ python3-pyusb python3-prctl python3-jinja2 python3-werkzeug python3-pyjks python3-requests-ftp \
+ python3-behave python3-pyparsing python3-pyyaml python3-tzlocal python3-pretend python3-stevedore \
+ python3-sijax python3-langtable python3-requests-file python3-crcmod python3-robotframework \
+ python3-pint python3-coverage python3-iso8601 python3-ndg-httpsclient python3-yappi python3-twofish \
+ python3-speaklater python3-smbus python3-djangorestframework python3-msgpack python3-jsonpointer \
+ python3-flask-script python3-cassandra-driver python3-cython python3-ujson python3-aws-iot-device-sdk-python \
+ python3-pytest-runner python3-pyiface python3-docutils python3-flask-login python3-markupsafe python3-setuptools-scm \
+ python3-semver python3-sdnotify python3-flask-user python3-tornado python3-jsonpatch python3-pexpect \
+ python3-progress python3-jsonschema python3-xstatic python3-pyroute2 python3-idna python3-sqlalchemy \
+ python3-urllib3 python3-flask-mail python3-asn1crypto python3-pyinotify python3-intervals python3-pyperclip \
+ python3-flask-bootstrap python3-pyudev python3-decorator python3-pybind11 python3-pluggy python3-redis \
+ python3-pycryptodome python3-passlib python3-dominate python3-ply python3-ntplib python3-serpent python3-wrapt \
+ python3-attrs python3-appdirs python3-isort python3-evdev python3-incremental python3-click python3-flask-nav \
+ python3-webcolors python3-dateutil python3-blinker python3-hyperlink python3-lxml python3-pylint \
+ python3-flask-migrate python3-pytest-tempdir python3-flask-restful python3-feedformatter \
+ python3-pyasn1-modules python3-scapy python3-html5lib python3-dnspython python3-automat \
+ python3-itsdangerous python3-pandas python3-pyfirmata python3-protobuf \
+ python3-flask-babel python3-anyjson python3-flask-xstatic python3-multidict python3-prompt-toolkit \
+ python3-periphery python3-greenlet python3-pytz python3-pyexpect python3-zopeinterface \
+ python3-bcrypt python3-xstatic-font-awesome python3-m2crypto python3-parse python3-attr \
+ python3-beautifulsoup4 python3-pycodestyle python3-oauthlib python3-grpcio python3-scrypt \
+ python3-pyjwt python3-astroid python3-flask-pymongo python3-wcwidth python3-lazy-object-proxy \
+ python3-websockets python3-pyzmq python3-pytest python3-chardet python3-vcversioner python3-whoosh \
+ python3-pymisp python3-certifi python3-psutil python3-flask-sqlalchemy python3-humanize \
+ python3-grpcio-tools python3-configparser python3-strict-rfc3339 python3-paho-mqtt \
+ python3-pytest-helpers-namespace python3-flask python3-flask-wtf python3-visitor python3-pynetlinux \
+ python3-requests python3-cryptography-vectors python3-spidev python3-pid python3-pymongo \
+ python3-future python3-django python3-unidiff python3-webencodings python3-can python3-pyalsaaudio \
+ python3-flask-sijax python3-cryptography python3-twisted python3-netaddr python3-pycparser \
+ python3-flask-uploads python3-pysocks python3-cffi python3-editor python3-ptyprocess \
+ python3-pyopenssl python3-ordered-set python3-simplejson python3-py \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "python3-systemd", "", d)} \
+"
+
+RDEPENDS_packagegroup-meta-python3-extended = "\
+ python3-pykickstart \
+ python3-meh \
+ python3-blivet \
+ python3-pywbem \
+ python3-pyparted \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "python3-blivetgui", "", d)} \
+"
+
+RDEPENDS_packagegroup-meta-python3-connectivity = "\
+ python3-pytun \
+ python3-mprpc \
+ python3-pyconnman \
+ python3-gsocketpool \
+"
+
+RDEPENDS_packagegroup-meta-python3-ptest = "\
+ python3-cryptography \
+ "
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/gyp/gyp.inc b/external/meta-openembedded/meta-python/recipes-devtools/gyp/gyp.inc
new file mode 100644
index 00000000..98ed42cc
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/gyp/gyp.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "GYP is a Meta-Build system: a build system that generates other build systems."
+HOMEPAGE = "https://gyp.gsrc.io/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ab828cb8ce4c62ee82945a11247b6bbd"
+SECTION = "devel"
+
+SRC_URI = "git://chromium.googlesource.com/external/gyp;protocol=https"
+SRCREV = "fcd686f1880fa52a1ee78d3e98af1b88cb334528"
+
+S = "${WORKDIR}/git"
+PV = "0.1+git${SRCPV}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb b/external/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb
new file mode 100644
index 00000000..8e48a27f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require gyp.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref.inc b/external/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref.inc
new file mode 100644
index 00000000..45deb09c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref.inc
@@ -0,0 +1,11 @@
+SUMMARY = "jsonref is a library for automatic dereferencing of JSON Reference objects for Python"
+HOMEPAGE = "https://github.com/gazpachoking/jsonref"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a34264f25338d41744dca1abfe4eb18f"
+
+SRC_URI[md5sum] = "42b518b9ccd6852d1d709749bc96cb70"
+SRC_URI[sha256sum] = "f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_0.2.bb
new file mode 100644
index 00000000..d97893f5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_0.2.bb
@@ -0,0 +1 @@
+require python-jsonref.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/pamela_0.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/pamela_0.3.0.bb
index 8071fcb0..b6bee0ca 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/pamela_0.3.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/pamela_0.3.0.bb
@@ -7,9 +7,9 @@ SRC_URI[sha256sum] = "1e198446a6cdd87704aa0def7621d62e7c20b0e6068e2788b9a866a835
PYPI_PACKAGE = "pamela"
-inherit pypi setuptools
+inherit pypi setuptools3
RDEPENDS_${PN} = "libpam"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
index 9d851abe..798daeb2 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
@@ -8,7 +8,7 @@ PYPI_PACKAGE_EXT = "tar.bz2"
SRC_URI[md5sum] = "7c87da94656b620dfe532ca63d642eb8"
SRC_URI[sha256sum] = "b2d701b25ad3f9a1542057f3eb492c5c1d7dbe2b8d1e8f763043dcc14ee1d933"
-inherit pypi setuptools
+inherit pypi setuptools3
PACKAGES =+ "${PN}-tests ${PN}-samples"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
deleted file mode 100644
index 477e89c5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "A database migration tool for SQLAlchemy"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c5f1361296835ff94bda73db7dd312a6"
-
-SRC_URI[md5sum] = "762ab9ba56d1c0b1bfbc7c9f7f849c92"
-SRC_URI[sha256sum] = "52d73b1d750f1414fa90c25a08da47b87de1e4ad883935718a8f36396e19e78e"
-
-PYPI_PACKAGE = "alembic"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-editor \
- ${PYTHON_PN}-mako \
- ${PYTHON_PN}-sqlalchemy \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.0.bb
deleted file mode 100644
index efcb2b1d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-alembic.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc
deleted file mode 100644
index a0d20ff4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-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/external/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb
deleted file mode 100644
index 31b8749f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-anyjson.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs.inc
deleted file mode 100644
index c4826723..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "A small Python module for determining appropriate + platform-specific dirs, e.g. a user data dir."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=31625363c45eb0c67c630a2f73e438e4"
-
-SRC_URI[md5sum] = "44c679904082a2133f5566c8a0d3ab42"
-SRC_URI[sha256sum] = "9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs_1.4.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs_1.4.3.bb
deleted file mode 100644
index e9ff9b3f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-appdirs_1.4.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-appdirs.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
deleted file mode 100644
index f1f0a3c5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "A fast, pure Python library for parsing and serializing ASN.1 structures"
-HOMEPAGE = "https://github.com/wbond/asn1crypto"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=52010cd3c7d7bd965b55721ef4d93ec2"
-
-PYPI_PACKAGE = "asn1crypto"
-
-SRC_URI[md5sum] = "de3520426e81a6581352d4366f310eb1"
-SRC_URI[sha256sum] = "9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49"
-
-inherit pypi
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-crypt \
- ${PYTHON_PN}-ctypes \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-netclient \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.24.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.24.0.bb
deleted file mode 100644
index 46aace28..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.24.0.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit setuptools
-require python-asn1crypto.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-textutils \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
deleted file mode 100644
index fae0f13c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "An abstract syntax tree for Python with inference support."
-HOMEPAGE = "https://pypi.python.org/pypi/astroid"
-SECTION = "devel/python"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI[md5sum] = "2dd01ef0d5b5f0fc754c1ba40137b61c"
-SRC_URI[sha256sum] = "fc9b582dba0366e63540982c3944a9230cbc6f303641c51483fa547dcc22393a"
-
-inherit pypi
-
-PACKAGES =+ "${PN}-tests"
-
-FILES_${PN}-tests += " \
- ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \
- ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \
-"
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-distutils \
- ${PYTHON_PN}-lazy-object-proxy \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-wrapt \
- ${PYTHON_PN}-setuptools \
-"
-
-RDEPENDS_${PN}-tests_class-target += "\
- ${PYTHON_PN}-unittest \
- ${PYTHON_PN}-xml \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.5.bb
deleted file mode 100644
index 687394da..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit setuptools
-require python-astroid.inc
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-enum34 \
- ${PYTHON_PN}-backports-functools-lru-cache \
- ${PYTHON_PN}-re \
- ${PYTHON_PN}-singledispatch \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-attr.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-attr.inc
deleted file mode 100644
index 1d93dd71..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-attr.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-DESCRIPTION = "Simple decorator to set attributes of target function or class in a DRY way"
-HOMEPAGE = "https://github.com/denis-ryzhkov/attr"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=59805a0285f4d2b6abdedae73db4f5c1"
-
-SRC_URI[md5sum] = "68b9a503991241fb2df28488686b0e1e"
-SRC_URI[sha256sum] = "9091548058d17f132596e61fa7518e504f76b9a4c61ca7d86e1f96dbf7d4775d"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-attr_0.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-attr_0.3.1.bb
deleted file mode 100644
index 979d6cb6..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-attr_0.3.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-attr.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
deleted file mode 100644
index fa73ea54..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Classes Without Boilerplate"
-HOMEPAGE = "http://www.attrs.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
-
-SRC_URI[sha256sum] = "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b"
-SRC_URI[md5sum] = "3f3f3e0750dab74cfa1dc8b0fd7a5f86"
-
-inherit pypi
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-cryptography \
- ${PYTHON_PN}-ctypes \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_18.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_18.1.0.bb
deleted file mode 100644
index e3bec0fd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_18.1.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-attrs.inc
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc
deleted file mode 100644
index f6cbb35c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "Self-service finite-state machines for the programmer on the go"
-HOMEPAGE = "https://github.com/glyph/Automat"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4ad213bcca81688e94593e5f60c87477"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/python-automat:"
-
-SRC_URI[md5sum] = "b72d5b7a83c2b1bd6e9ec3614a69f9ea"
-SRC_URI[sha256sum] = "cbd78b83fa2d81fe2a4d23d258e1661dd7493c9a50ee2f1a5b2cac61c1793b0e"
-
-PYPI_PACKAGE = "Automat"
-
-inherit pypi
-
-SRC_URI_append = " \
- file://0001-setup.py-remove-the-dependency-on-m2r.patch \
-"
-
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-attrs \
- ${PYTHON_PN}-six \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.7.0.bb
deleted file mode 100644
index 8ac8c9c0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.7.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-automat.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
deleted file mode 100644
index 7423fa76..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "SDK for connecting to AWS IoT using Python."
-HOMEPAGE = "https://github.com/aws/aws-iot-device-sdk-python"
-LICENSE = "Apache-2.0 & (EPL-1.0 | EDL-1.0)"
-LICENSE_${PN}-examples = "Apache-2.0"
-LIC_FILES_CHKSUM = "\
- file://LICENSE.txt;md5=9ac49901b833e769c7d6f21e8dbd7b30 \
- file://AWSIoTPythonSDK/core/protocol/paho/client.py;endline=14;md5=5a3c8a1a4bb71bd934f450ecff972ad9 \
-"
-
-SRC_URI[md5sum] = "50a5c46410c2b44b5c09f1ea5eb15a3b"
-SRC_URI[sha256sum] = "b3c8af3ce24eab861447a194f3c382509dd70e90452c86a5426f1e7272460177"
-
-inherit pypi
-
-PYPI_PACKAGE = "AWSIoTPythonSDK"
-
-do_install_append() {
- install -d -m0755 ${D}${datadir}/${BPN}/examples
- cp --preserve=mode,timestamps -R ${S}/samples/* ${D}${datadir}/${BPN}/examples
- # this requires the full blown AWS Python SDK
- rm -r ${D}${datadir}/${BPN}/examples/basicPubSub
-}
-
-PACKAGES =+ "${PN}-examples"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-crypt \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-math \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-threading \
-"
-RDEPENDS_${PN}-examples += "${PN}"
-
-FILES_${PN}-examples = "${datadir}/${BPN}/examples"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.0.bb
deleted file mode 100644
index 490e9739..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-aws-iot-device-sdk-python.inc
-
-RDEPENDS_${PN}-examples += "${PYTHON_PN}-argparse"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
deleted file mode 100644
index 14b5a9f5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "A collection of tools for internationalizing Python applications"
-HOMEPAGE = "http://babel.edgewall.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=eebdc057dc12abcc2d6c4453628bfcd4"
-
-SRC_URI[md5sum] = "c384ac03026e8fe6f9b90f55201f1bff"
-SRC_URI[sha256sum] = "8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"
-
-PYPI_PACKAGE = "Babel"
-
-inherit pypi
-
-CLEANBROKEN = "1"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-difflib \
- ${PYTHON_PN}-distutils \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-pytz \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-threading \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb
deleted file mode 100644
index f7c166eb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-babel.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-abc_0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-abc_0.4.bb
deleted file mode 100644
index 6a4d267b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-abc_0.4.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "collections.abc from Python 3.4"
-DESCRIPTION = "A backport of recent additions to the 'collections.abc' module"
-
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=dd98d01d471fac8d8dbdd975229dba03"
-
-# pypi package doesn't have valid entry for license
-SRC_URI += "https://raw.githubusercontent.com/cython/backports_abc/master/LICENSE;name=license"
-
-SRC_URI[md5sum] = "0b65a216ce9dc9c1a7e20a729dd7c05b"
-SRC_URI[sha256sum] = "8b3e4092ba3d541c7a2f9b7d0d9c0275b21c6a01c53a61c731eba6686939d0a5"
-SRC_URI[license.md5sum] = "dd98d01d471fac8d8dbdd975229dba03"
-SRC_URI[license.sha256sum] = "0a4f3b38055f50f047a42521568fa6ddb9a5976c2884f6ae138796d0f71150ca"
-
-
-
-PYPI_PACKAGE = "backports_abc"
-inherit pypi setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb
deleted file mode 100644
index 825444ff..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Backport of functools.lru_cache from Python 3.3"
-HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=57;endline=57;md5=98fc3658e5970d26f6b2109808c766be"
-
-PYPI_PACKAGE = "backports.functools_lru_cache"
-
-SRC_URI[md5sum] = "20f53f54cd3f04b3346ce75a54959754"
-SRC_URI[sha256sum] = "9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a"
-
-DEPENDS += "python-setuptools-scm-native"
-
-inherit setuptools pypi
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-threading \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb
deleted file mode 100644
index 45492daa..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "The ssl.match_hostname() function from Python 3.4"
-DESCRIPTION = "The Secure Sockets layer is only actually secure if you check the hostname in the \
-certificate returned by the server to which you are connecting, and verify that it matches to hostname \
-that you are trying to reach. But the matching logic, defined in RFC2818, can be a bit tricky to implement \
-on your own. So the ssl package in the Standard Library of Python 3.2 and greater now includes a \
-match_hostname() function for performing this check instead of requiring every application to \
-implement the check separately. This backport brings match_hostname() to users of earlier versions of Python"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=95a5ee8fd779fbeca8b4cbca64433c87"
-
-SRC_URI[md5sum] = "c03fc5e2c7b3da46b81acf5cbacfe1e6"
-SRC_URI[sha256sum] = "502ad98707319f4a51fa2ca1c677bd659008d27ded9f6380c79e8932e38dcdf2"
-
-PYPI_PACKAGE = "backports.ssl_match_hostname"
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "${PYTHON_PN}-pkgutil"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
deleted file mode 100644
index 44909697..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
+++ /dev/null
@@ -1,17 +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_PN}-cffi-native"
-
-SRC_URI[md5sum] = "8408abc974446e64862a9742104e97b6"
-SRC_URI[sha256sum] = "67ed1a374c9155ec0840214ce804616de49c3df9c5bc66740687c1c9b1cd9e8d"
-
-inherit pypi
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-cffi \
- ${PYTHON_PN}-ctypes \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-six \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb
deleted file mode 100644
index b136aa48..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-bcrypt.inc
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc
deleted file mode 100644
index d60d987c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Screen-scraping library"
-HOMEPAGE = " https://www.crummy.com/software/BeautifulSoup/bs4"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=f2d38d8a40bf73fd4b3d16ca2e5882d1"
-
-SRC_URI[md5sum] = "c17714d0f91a23b708a592cb3c697728"
-SRC_URI[sha256sum] = "808b6ac932dccb0a4126558f7dfdcf41710dd44a4ef497a0bb59a77f9f078e89"
-
-inherit pypi
-
-RDEPENDS_${PN}_class-target = "\
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-html5lib \
- ${PYTHON_PN}-lxml \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.6.0.bb
deleted file mode 100644
index 907285ac..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-beautifulsoup4.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-behave.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-behave.inc
deleted file mode 100644
index ded75801..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-behave.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A behavior-driven development framework, Python style"
-HOMEPAGE = "https://github.com/behave/behave"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d950439e8ea6ed233e4288f5e1a49c06"
-
-SRC_URI[md5sum] = "3f05c859a1c45f5ed33e925817ad887d"
-SRC_URI[sha256sum] = "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86"
-
-inherit pypi
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-parse-type \
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-six \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb
deleted file mode 100644
index 66221682..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-inherit setuptools
-require python-behave.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-argparse \
- ${PYTHON_PN}-enum34 \
- ${PYTHON_PN}-traceback2 \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
deleted file mode 100644
index 480f048b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "A high-level Python efficient arrays of booleans -- C extension"
-HOMEPAGE = "https://github.com/ilanschnell/bitarray"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=f4ce1ae80a385140f0ddb2bcef410b06"
-
-SRC_URI[md5sum] = "f3131ac2a277f3b70dbb6132ca8f8889"
-SRC_URI[sha256sum] = "050cd30b810ddb3aa941e7ddfbe0d8065e793012d0a88cb5739ec23624b9895e"
-
-inherit pypi
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.3.bb
deleted file mode 100644
index f78c7abd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-bitarray.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-blinker.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-blinker.inc
deleted file mode 100644
index eaf39083..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-blinker.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-DESCRIPTION = "Fast, simple object-to-object and broadcast signaling."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=946d7e89af6f7733aeaebed5635d2682"
-
-SRC_URI[md5sum] = "8b3722381f83c2813c52de3016b68d33"
-SRC_URI[sha256sum] = "471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6"
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-blinker_1.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-blinker_1.4.bb
deleted file mode 100644
index bc4164e9..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-blinker_1.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-blinker.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
deleted file mode 100644
index 46f08593..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-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] = "dcdd3f6b924e3f20acb1ccf4598236cf"
-SRC_URI[sha256sum] = "b5e93b2ee32bdd597d9d908afe5171c402a04c9678ba47b60f33506738b1375b"
-
-PYPI_PACKAGE="python-can"
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-ctypes \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-misc \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-sqlite3 \
- ${PYTHON_PN}-wrapt \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.2.1.bb
deleted file mode 100644
index f0edb640..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.2.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require python-can.inc
-inherit pypi setuptools
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-argparse \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-zlib \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
deleted file mode 100644
index 1cc1f4c4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-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] = "c5bed026bf48c821424c1f6296193908"
-SRC_URI[sha256sum] = "b65218e2582277f5b77d1436e420db8616f63e3437a9e839cdcd7172d760e861"
-
-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/external/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
deleted file mode 100644
index c7955c57..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Python package for providing Mozilla's CA Bundle."
-DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \
-Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \
-which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set."
-HOMEPAGE = " http://certifi.io/"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
-
-SRC_URI[md5sum] = "a84571995a209dcd00a1702a74302b88"
-SRC_URI[sha256sum] = "4c1d68a1408dd090d2f3a869aa94c3947cc1d967821d1ed303208c9f41f0f2f4"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.8.13.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.8.13.bb
deleted file mode 100644
index adfe6238..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.8.13.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-certifi.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
deleted file mode 100644
index e6071eec..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Foreign Function Interface for Python calling C code"
-HOMEPAGE = "http://cffi.readthedocs.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
-DEPENDS += "libffi ${PYTHON_PN}-pycparser"
-
-SRC_URI[md5sum] = "ac8492f4ad952360737413e82d661908"
-SRC_URI[sha256sum] = "e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4"
-
-RDEPENDS_${PN}_class-target = " \
- ${PYTHON_PN}-ctypes \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-shell \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.5.bb
deleted file mode 100644
index bc667b80..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.5.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require python-cffi.inc
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
deleted file mode 100644
index 63052997..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Universal encoding detector for Python 2 and 3"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-inherit pypi
-
-# setup.py of chardet needs this.
-DEPENDS += "${PYTHON_PN}-pytest-runner-native"
-
-SRC_URI[md5sum] = "7dd1ba7f9c77e32351b0a0cfacf4055c"
-SRC_URI[sha256sum] = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGES =+ "${PN}-cli"
-RDEPENDS_${PN}-cli = "${PN} "
-FILES_${PN}-cli += " \
- ${PYTHON_SITEPACKAGES_DIR}/chardet/cli \
-"
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-logging \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb
deleted file mode 100644
index 3b6feeef..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-chardet.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-argparse"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb
deleted file mode 100644
index 20fc2fdc..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Python template engine and code generation tool"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=aff1107514aa6aae948f9fe71fdc393b"
-
-PR = "r3"
-
-PYPI_PACKAGE = "Cheetah"
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "python-pickle python-pprint"
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI[md5sum] = "853917116e731afbc8c8a43c37e6ddba"
-SRC_URI[sha256sum] = "be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
deleted file mode 100644
index c81545b1..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "A simple wrapper around optparse for powerful command line utilities."
-DESCRIPTION = "\
-Click is a Python package for creating beautiful command line interfaces \
-in a composable way with as little code as necessary. It's the "Command \
-Line Interface Creation Kit". It's highly configurable but comes with \
-sensible defaults out of the box."
-HOMEPAGE = "http://click.pocoo.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=09e8b7869f94ba9e9a7b260d53c65dab"
-
-SRC_URI[md5sum] = "fc4cc00c4863833230d3af92af48abd4"
-SRC_URI[sha256sum] = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
-
-UPSTREAM_CHECK_REGEX = "click/(?P<pver>\d+(\.\d+)+)/"
-
-CLEANBROKEN = "1"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-threading \
- "
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb
deleted file mode 100644
index f63e27c8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools
-require python-click.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-contextlib"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb
deleted file mode 100644
index 1b75e347..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Extra features for standard library's cmd module"
-HOMEPAGE = "http://packages.python.org/cmd2/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=60bc6842001870a418935bd84570b676"
-
-SRC_URI[md5sum] = "bfe0900a2288283a40f0ee7533486a2f"
-SRC_URI[sha256sum] = "e7b6b4b76272a051c943c3c709cd760142af16fbc9218e0ed3c22b28ea38d0a8"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-doctest \
- ${PYTHON_PN}-pyparsing \
- ${PYTHON_PN}-pyperclip \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-textutils \
- "
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
deleted file mode 100644
index 133dbba7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what's found in Microsoft Windows INI files."
-SECTION = "devel/python"
-HOMEPAGE = "https://docs.python.org/3/library/configparser.html"
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-
-SRC_URI[md5sum] = "cfdd915a5b7a6c09917a64a573140538"
-SRC_URI[sha256sum] = "5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb
deleted file mode 100644
index 69f045db..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-configparser.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-constantly.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-constantly.inc
deleted file mode 100644
index 81535049..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-constantly.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Symbolic constants in Python"
-HOMEPAGE = "https://github.com/twisted/constantly"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e393e4ddd223e3a74982efa784f89fd7"
-
-SRC_URI[md5sum] = "f0762f083d83039758e53f8cf0086eef"
-SRC_URI[sha256sum] = "586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35"
-
-inherit pypi
-
-RDEPENDS_${PN} += "${PYTHON_PN}-json"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-constantly_15.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-constantly_15.1.0.bb
deleted file mode 100644
index 29b15eb6..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-constantly_15.1.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-constantly.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod.inc
deleted file mode 100644
index 85da7cb3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "A Python module for generating objects that compute the Cyclic Redundancy Check."
-HOMEPAGE = "https://pypi.org/project/crcmod"
-LICENSE = "MIT"
-SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a19291627cad2d1dfbfcf3c9fb85c2"
-
-SRC_URI[md5sum] = "2d5b92117d958dcead94f9e17f54cd32"
-SRC_URI[sha256sum] = "dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e"
-
-inherit pypi
-
-RDEPENDS_${PN} += "${PYTHON_PN}-unittest"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod_1.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod_1.7.bb
deleted file mode 100644
index 45b9a2ce..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod_1.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-crcmod.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
deleted file mode 100644
index d1e254b4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Test vectors for the cryptography package."
-HOMEPAGE = "https://cryptography.io/"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0 | BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
-
-DEPENDS += " \
- ${PYTHON_PN}-cryptography \
-"
-
-SRC_URI[md5sum] = "294d44f32885a6b97d5f9cdd7ffc73a3"
-SRC_URI[sha256sum] = "356a2ded84ae379e556515eec9b68dd74957651a38465d10605bb9fbae280f15"
-
-PYPI_PACKAGE = "cryptography_vectors"
-
-BBCLASSEXTEND = "native nativesdk"
-
-UPSTREAM_CHECK_REGEX = ""
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb
deleted file mode 100644
index 4975278a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-cryptography-vectors.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
deleted file mode 100644
index dbbfe2cb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "Provides cryptographic recipes and primitives to python developers"
-HOMEPAGE = "https://cryptography.io/"
-LICENSE = "Apache-2.0 | BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=097f805837700cfac572ac274cd38124"
-
-DEPENDS += " \
- ${PYTHON_PN}-cffi \
- ${PYTHON_PN}-cffi-native \
- ${PYTHON_PN}-asn1crypto \
- ${PYTHON_PN}-six \
-"
-
-SRC_URI[md5sum] = "a0f3f563ab1c5c3bc02fae8d4aa3ad16"
-SRC_URI[sha256sum] = "c132bab45d4bd0fff1d3fe294d92b0a6eb8404e93337b3127bdec9f21de117e6"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-cffi \
- ${PYTHON_PN}-idna \
- ${PYTHON_PN}-asn1crypto \
- ${PYTHON_PN}-pycparser \
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-six \
-"
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-cffi \
- ${PYTHON_PN}-idna \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-asn1crypto \
- ${PYTHON_PN}-pycparser \
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-threading \
-"
-
-RDEPENDS_${PN}-ptest += " \
- ${PN} \
- ${PYTHON_PN}-cryptography-vectors \
- ${PYTHON_PN}-iso8601 \
- ${PYTHON_PN}-pretend \
- ${PYTHON_PN}-pytest \
- ${PYTHON_PN}-pytz \
-"
-
-inherit ptest
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
- install -d ${D}${PTEST_PATH}/tests/hazmat
- cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/
-}
-
-FILES_${PN}-dbg += " \
- ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/run-ptest
deleted file mode 100644
index 0ba239c2..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/run-ptest
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-py.test
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb
deleted file mode 100644
index 9c2f8841..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-inherit pypi setuptools
-require python-cryptography.inc
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-DEPENDS += " \
- ${PYTHON_PN}-enum34 \
-"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-enum34 \
- ${PYTHON_PN}-ipaddress \
-"
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-enum34 \
- ${PYTHON_PN}-ipaddress \
- ${PYTHON_PN}-contextlib \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
index 0939cad2..3260e92b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
PYPI_PACKAGE = "Cython"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI[md5sum] = "0cb620e1259818e4ecc1a056e8c3a8be"
-SRC_URI[sha256sum] = "b64575241f64f6ec005a4d4137339fb0ba5e156e826db2fdb5f458060d9979e0"
+SRC_URI[md5sum] = "6e2f139e30bb08d68366f9370d87964c"
+SRC_URI[sha256sum] = "e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.5.bb
deleted file mode 100644
index d803a6ed..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit setuptools
-require python-cython.inc
-
-UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Cython/"
-UPSTREAM_CHECK_REGEX = "/Cython/(?P<pver>(\d+[\.\-_]*)+)"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-distribute \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
deleted file mode 100644
index ffb5beb5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "Library to implement a well-behaved Unix daemon process"
-HOMEPAGE = "https://pagure.io/python-daemon/"
-SECTION = "devel/python"
-
-DEPENDS += "python-docutils-native"
-RDEPENDS_${PN} = "python-docutils \
- python-lockfile (>= 0.10) \
- python-resource \
-"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "9c57343d81f2a96c51cffeab982b04d2"
-SRC_URI[sha256sum] = "261c859be5c12ae7d4286dc6951e87e9e1a70a882a8b41fd926efc1ec4214f73"
-
-# Fix for build error in Yocto:
-# i = p.rfind('/') + 1
-# AttributeError: 'NoneType' object has no attribute 'rfind'
-#S = "${WORKDIR}/python-daemon"
-SRC_URI_append = " \
- file://0001-Workaround-for-issue-2-1.patch \
-"
-
-PYPI_PACKAGE = "python-daemon"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.7.bb
deleted file mode 100644
index 98f23aba..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.7.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Library to enable your code run as a daemon process on Unix-like systems"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=13e982bf1b7b164b9d6d1665dac83873"
-SRCNAME = "daemonize"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
- python-fcntl \
- python-unixadmin \
- python-logging \
- python-resource \
-"
-
-SRC_URI[md5sum] = "6759005b12dfeea0d4305f8536b4b0c2"
-SRC_URI[sha256sum] = "c0194e861826be456c7c69985825ac7b79632d8ac7ad4cde8e12fee7971468c8"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
index 9c5a89dd..e70e963e 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
@@ -4,8 +4,8 @@ HOMEPAGE = "https://dateutil.readthedocs.org"
LICENSE = "BSD-3-Clause & Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3155c7bdc71f66e02678411d2abf996"
-SRC_URI[md5sum] = "175b7c1a3cc0cb01151eced07c61c0b8"
-SRC_URI[sha256sum] = "e27001de32f627c22380a688bcc43ce83504a7bc5da472209b4c70f02829f0b8"
+SRC_URI[md5sum] = "f2a1d4b680b297b367a974664ca3a4f6"
+SRC_URI[sha256sum] = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"
PYPI_PACKAGE = "python-dateutil"
inherit pypi
@@ -15,9 +15,11 @@ FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-RDEPENDS_${PN}_class-target = "\
+RDEPENDS_${PN} = "\
${PYTHON_PN}-datetime \
${PYTHON_PN}-numbers \
${PYTHON_PN}-six \
${PYTHON_PN}-stringold \
"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.3.bb
deleted file mode 100644
index 12ae4c31..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-dateutil.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb
deleted file mode 100644
index b3f72405..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Python bindings for the DBus inter-process communication system"
-SECTION = "devel/python"
-HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
-LICENSE = "MIT & AFL-2.1 | GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4 \
- file://dbus-gmain/COPYING;md5=05c3eacd50f69bb1d58afec460baad57 "
-DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native"
-
-SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "7379db774c10904f27e7e2743d90fb43"
-SRC_URI[sha256sum] = "abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f"
-S = "${WORKDIR}/dbus-python-${PV}"
-
-inherit distutils-base autotools pkgconfig
-
-# documentation needs python-sphinx, which is not in oe-core or meta-python for now
-# change to use PACKAGECONFIG when python-sphinx is added to oe-core or meta-python
-EXTRA_OECONF += "--disable-documentation"
-
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml"
-
-FILES_${PN}-dev += "${libdir}/pkgconfig"
-
-do_install_append() {
- # Remove files that clash with python3-dbus; their content is same
- rm ${D}${includedir}/dbus-1.0/dbus/dbus-python.h ${D}${libdir}/pkgconfig/dbus-python.pc
-}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb
deleted file mode 100644
index ec8c54aa..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2014 LG Electronics, Inc.
-
-SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus"
-AUTHOR = "Martin Pitt <martin.pitt@ubuntu.com>"
-
-LICENSE = "GPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-SRC_URI[md5sum] = "80f8caa838fad96483a8751e11d384f9"
-SRC_URI[sha256sum] = "2d2ea892fa4633c3ec6ac1e912120ec493047a5c6522849b7d1c95ad755bce75"
-
-SRC_URI += " \
- file://0001-Add-functionality-to-add-own-objects-to-internal-obj.patch \
- file://0002-Add-possibility-to-import-templates-from-packages.patch \
-"
-
-PYPI_PACKAGE = "python-dbusmock"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-dbus \
- ${PYTHON_PN}-pygobject \
- ${PYTHON_PN}-xml \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
index 44edb8ad..3faee391 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
@@ -6,11 +6,11 @@ various non-trivial examples. Of course, as all techniques, decorators \
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=893f896413826096ce5270c700a498fd"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=be2fd2007972bf96c08af3293d728b22"
-SRC_URI[md5sum] = "249e7299b9b4bced0c382343f84eb1c0"
-SRC_URI[sha256sum] = "c39efa13fbdeb4506c476c9b3babf6a718da943dab7811c206005a4a956c080c"
+SRC_URI[md5sum] = "d83c624cce93e6bdfab144821b526e1d"
+SRC_URI[sha256sum] = "e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.3.0.bb
deleted file mode 100644
index 2a2b455f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.3.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-decorator.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-contextlib"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb
deleted file mode 100644
index 357b766a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-django-south.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
index ee3aee63..c02b3fa5 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
@@ -3,13 +3,10 @@ HOMEPAGE = "http://www.djangoproject.com/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
-SRC_URI[md5sum] = "38e82b59a1c27bbf98ccf0564ead7426"
-SRC_URI[sha256sum] = "eb9271f0874f53106a2719c0c35ce67631f6cc27cf81a60c6f8c9817b35a3f6e"
-
PYPI_PACKAGE = "Django"
inherit pypi
-UPSTREAM_CHECK_REGEX = "(?P<pver>1(\.\d+)+)"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
FILES_${PN} += "${datadir}/django"
@@ -31,4 +28,7 @@ RDEPENDS_${PN} += "\
${PYTHON_PN}-threading \
${PYTHON_PN}-unixadmin \
${PYTHON_PN}-xml \
+ ${PYTHON_PN}-distutils \
"
+
+CVE_PRODUCT = "django"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.14.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.14.bb
deleted file mode 100644
index d2347cc9..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.14.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require python-django.inc
-inherit setuptools
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-argparse \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-zlib \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework_3.9.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework_3.9.0.bb
deleted file mode 100644
index 540d12dc..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework_3.9.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-djangorestframework.inc
-inherit setuptools \ No newline at end of file
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
index 6a04429b..84502aff 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
@@ -1,10 +1,10 @@
DESCRIPTION = "DNS toolkit for Python"
HOMEPAGE = "http://www.dnspython.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b9d855ee0d7bea17c8b0994d37985e1e"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5af50906b5929837f667dfe31052bd34"
-SRC_URI[md5sum] = "05d33ffb5d8f35ae0474bb952778a344"
-SRC_URI[sha256sum] = "40f563e1f7a7b80dc5a4e76ad75c23da53d62f1e15e6e517293b04e1f84ead7c"
+SRC_URI[md5sum] = "bc9ca3b3a82164667d5730ec6d5248a2"
+SRC_URI[sha256sum] = "36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01"
PYPI_PACKAGE_EXT = "zip"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb
deleted file mode 100644
index 9dbcd0ff..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-dnspython.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb
deleted file mode 100644
index 68436a1a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Text processing system for documentation"
-HOMEPAGE = "http://docutils.sourceforge.net"
-SECTION = "devel/python"
-LICENSE = "PSF & BSD-2-Clause & GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=35a23d42b615470583563132872c97d6"
-
-DEPENDS = "python"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz"
-SRC_URI[md5sum] = "2f4bee6451958252f7bec71f18b05be3"
-SRC_URI[sha256sum] = "3caee0bcb2a49fdf24fcfa70849a60abb7a181aa68b030f7cb7494096181830c"
-
-S = "${WORKDIR}/docutils-${PV}"
-
-inherit distutils
-
-BBCLASSEXTEND = "native"
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dominate.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dominate.inc
deleted file mode 100644
index ecf74a0b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dominate.inc
+++ /dev/null
@@ -1,11 +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://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
-
-SRC_URI[md5sum] = "45bd97e6f7888aac24ae86013c57638e"
-SRC_URI[sha256sum] = "4b8ce6f33633c9dd9175b228d21c00c801b6bd0327747cd5e17fc2da934c3a69"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-threading \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
deleted file mode 100644
index c19445e7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-dominate.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-editor.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-editor.inc
index 30650bda..734ce2bd 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-editor.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-editor.inc
@@ -2,8 +2,8 @@ DESCRIPTION = "Programmatically open and editor, capture the result"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-SRC_URI[md5sum] = "0aca5f2ef176ce68e98a5b7e31372835"
-SRC_URI[sha256sum] = "a3c066acee22a1c94f63938341d4fb374e3fdd69366ed6603d7b24bed1efc565"
+SRC_URI[md5sum] = "0e52648a4a6e7c89e3be44e9456530b4"
+SRC_URI[sha256sum] = "51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b"
PYPI_PACKAGE = "python-editor"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-editor_1.0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-editor_1.0.3.bb
deleted file mode 100644
index f7a9a8c0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-editor_1.0.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-editor.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc
new file mode 100644
index 00000000..965f4201
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Engine.IO server"
+HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8"
+
+inherit pypi
+
+PYPI_PACKAGE = "python-engineio"
+
+SRC_URI[md5sum] = "e6ea8b3f2f32eeeb02014c46092f2adb"
+SRC_URI[sha256sum] = "2481732d93646998f7372ef0ecf003af7817b82720b881db173c3d50b4887916"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
deleted file mode 100644
index d50b5c7c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "backport of Python 3.4's enum package"
-HOMEPAGE = "https://bitbucket.org/stoneleaf/enum34"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://enum/LICENSE;md5=0a97a53a514564c20efd7b2e8976c87e"
-
-SRC_URI[md5sum] = "5f13a0841a61f7fc295c514490d120d0"
-SRC_URI[sha256sum] = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb
deleted file mode 100644
index dd9799fa..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Epydoc is a tool for generating API documentation for Python modules, based on their docstrings"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=011c0d78eb6054d731c879132d7313f0"
-HOMEPAGE = "http://epydoc.sourceforge.net/"
-
-SRC_URI[md5sum] = "cdd6f6c76dd8bab5e653a343a0544294"
-SRC_URI[sha256sum] = "d4e5c8d90937d01b05170f592c1fa9b29e9ed0498dfe7f0eb2a3af61725b6ad1"
-
-inherit pypi distutils
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-re \
- ${PYTHON_PN}-xml \
- "
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc
index 5a3884a6..5f5426aa 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc
@@ -1,10 +1,14 @@
SUMMARY = "Python evdev lib"
HOMEPAGE = "https://github.com/gvalkov/python-evdev"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=18debddbb3f52c661a129724a883a8e2"
-SRC_URI[md5sum] = "c7e855ae9f97f869a59e75b29f05ce74"
-SRC_URI[sha256sum] = "57edafc469a414f58b51af1bfb9ee2babb9f626dd2df530d71c1176871850aa1"
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-evdev:"
+
+SRC_URI = "${PYPI_SRC_URI}"
+
+SRC_URI[md5sum] = "05f9e900d6e11e1674475d2dd2668f0d"
+SRC_URI[sha256sum] = "b1c649b4fed7252711011da235782b2c260b32e004058d62473471e5cd30634d"
do_compile_prepend() {
rm -rf ${S}/evdev/ecodes.c
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
deleted file mode 100644
index 63541363..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-evdev.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-fann2.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-fann2.inc
new file mode 100644
index 00000000..c415b35a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-fann2.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Python bindings for Fast Artificial Neural Networks 2.2.0 (FANN >= 2.2.0)"
+SECTION = "devel/python"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c73b943dc75f6f65e007c56ac6515c8f"
+
+SRC_URI[md5sum] = "0b85b418018746d63ed66b55465697a9"
+SRC_URI[sha256sum] = "cdca0a65ad48e08320672affe38c3dd4ea15e27821e5e1db9fa2b34299bdd41e"
+
+DEPENDS += "swig-native libfann"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
index a333ef4e..6ddcaa98 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
@@ -1,7 +1,7 @@
DESCRIPTION = "A Python library for generating news feeds in RSS and Atom formats"
HOMEPAGE = "http://code.google.com/p/feedformatter/"
SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=258e3f39e2383fbd011035d04311008d"
SRCREV = "7391193c83e10420b5a2d8ef846d23fc368c6d85"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter_0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter_0.4.bb
deleted file mode 100644
index 175f9447..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter_0.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-feedformatter.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedparser_5.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedparser_5.2.1.bb
deleted file mode 100644
index b8ee700f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-feedparser_5.2.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Python Atom and RSS feed parser"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c21a7713ef6dc1b99644061c397e7c2a"
-
-SRC_URI[md5sum] = "d552f7a2a55e8e33b2a3fe1082505b42"
-SRC_URI[sha256sum] = "bd030652c2d08532c034c27fcd7c85868e7fa3cb2b17f230a44a6bbc92519bf9"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-email \
- ${PYTHON_PN}-html \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-stringold \
- "
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc
index b60ee17d..0e507f33 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc
@@ -1,9 +1,9 @@
DESCRIPTION = "i18n and l10n support for Flask based on babel and pytz"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=51917f3e8e858f5ae295a7d0e2eb3cc9"
-SRC_URI[md5sum] = "07803453743f139309021572a799c6b3"
-SRC_URI[sha256sum] = "c0d75710bd4b0fe866f9f2347de6e19208712f9cec006436b4c1c15d4cb0c939"
+SRC_URI[md5sum] = "fcf2f360ff279d3133e40974804efd72"
+SRC_URI[sha256sum] = "316ad183e42003f3922957fa643d0a1e8e34a0f0301a88c3a8f605bc37ba5c86"
PYPI_PACKAGE = "Flask-Babel"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel_0.11.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel_0.11.2.bb
deleted file mode 100644
index 38e78c73..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel_0.11.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-babel.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb
deleted file mode 100644
index f035862d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Bcrypt hashing for Flask."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0ee2ee5bee7fe96597770e92db5719a8"
-
-SRC_URI[md5sum] = "d345c36ac6637d3ca9fa942e238d00ca"
-SRC_URI[sha256sum] = "d71c8585b2ee1c62024392ebdbc447438564e2c8c02b4e57b56a4cafd8d13c5f"
-
-PYPI_PACKAGE = "Flask-Bcrypt"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "${PYTHON_PN}-bcrypt ${PYTHON_PN}-flask"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
deleted file mode 100644
index eeaade9a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-bootstrap.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.1.bb
deleted file mode 100644
index 510cedf2..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-login.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc
index bb087034..0df276d1 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc
@@ -1,7 +1,7 @@
SUMMARY = "Flask extension for sending email"
DESCRIPTION = "A Flask extension for sending email"
HOMEPAGE = " https://github.com/rduplain/flask-email"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5b16dfa6d3f275ace5985bb92949f770"
SRC_URI[md5sum] = "04b35a42a44ec7aa724ec8ce55e2e08e"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail_0.9.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail_0.9.1.bb
deleted file mode 100644
index 8324da86..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail_0.9.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-mail.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc
index dfb20e9e..5202f8be 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc
@@ -2,8 +2,8 @@ DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alemb
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85"
-SRC_URI[md5sum] = "aaeee55431d0287063657122ff41a0e6"
-SRC_URI[sha256sum] = "cd1b4e6cb829eeb41c02ad9202d83bef5f4b7a036dd9fad72ce96ad1e22efb07"
+SRC_URI[md5sum] = "bedeb0366740fda6912fea683be11968"
+SRC_URI[sha256sum] = "a96ff1875a49a40bd3e8ac04fce73fdb0870b9211e6168608cbafa4eb839d502"
PYPI_PACKAGE = "Flask-Migrate"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.2.1.bb
deleted file mode 100644
index ece516f5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.2.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-migrate.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav_0.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav_0.6.bb
deleted file mode 100644
index 30b5b3b3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav_0.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-nav.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-navigation_0.2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-navigation_0.2.0.bb
deleted file mode 100644
index b2dc96e3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-navigation_0.2.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "The navigation of Flask application."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=af2ec695dc1f3eb7bd74f79a68a0d789"
-
-SRC_URI[md5sum] = "d1075ee02a3f69da37e5cadad3395f31"
-SRC_URI[sha256sum] = "c42d30efa989ca877444a410e8a1cd2563546f9effe3d9fe388eedf7a6c69285"
-
-PYPI_PACKAGE = "Flask-Navigation"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-blinker \
- ${PYTHON_PN}-flask \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
index fb2d6ed8..5fc35c19 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
@@ -2,12 +2,14 @@ SUMMARY = "PyMongo support for Flask applications"
DESCRIPTION = "PyMongo support for Flask applications."
HOMEPAGE = "https://github.com/mitsuhiko/flask/"
SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;beginline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d"
-SRC_URI[md5sum] = "d7a1b717f27154e1f3a355f8ec2467d6"
-SRC_URI[sha256sum] = "2baaa2ba5107d72b3a8bd4b5c0c8881316e35340ad1ae979cc13f1f3c8843b3d"
+SRC_URI[md5sum] = "94df71e6800b1d7915cc91a74b70f959"
+SRC_URI[sha256sum] = "620eb02dc8808a5fcb90f26cab6cba9d6bf497b15032ae3ca99df80366e33314"
PYPI_PACKAGE = "Flask-PyMongo"
+DEPENDS = "${PYTHON_PN}-vcversioner ${PYTHON_PN}-vcversioner-native"
+
RDEPENDS_${PN} = "${PYTHON_PN}-pymongo ${PYTHON_PN}-flask"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb
deleted file mode 100644
index d41d0234..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-pymongo.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc
index 0485f85a..dcbcd0d7 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc
@@ -6,8 +6,8 @@ HOMEPAGE = "https://github.com/flask-restful/flask-restful"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=685bb55ed99a366bb431995f5eef2783"
-SRC_URI[md5sum] = "8243ca101185b130d8fa529cbdbdbddd"
-SRC_URI[sha256sum] = "5795519501347e108c436b693ff9a4d7b373a3ac9069627d64e4001c05dd3407"
+SRC_URI[md5sum] = "a7217ef1159be38af5faf61aa09aabef"
+SRC_URI[sha256sum] = "f8240ec12349afe8df1db168ea7c336c4e5b0271a36982bff7394f93275f2ca9"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful_0.3.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful_0.3.6.bb
deleted file mode 100644
index 1968d1d9..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful_0.3.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-flask-restful.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc
index fca777bc..f48af8bc 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc
@@ -1,5 +1,5 @@
DESCRIPTION = "Scripting support for flask"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e686048adb69341fc8a08caeda528b41"
SRC_URI[md5sum] = "3fbd91fe13cebedfb2431331f6eabb68"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script_2.0.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script_2.0.6.bb
deleted file mode 100644
index b7d55af1..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script_2.0.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-script.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax_0.4.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax_0.4.1.bb
deleted file mode 100644
index 74738fc2..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax_0.4.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools
-require python-flask-sijax.inc
-
-SRC_URI[sha256sum] = "fb2bf2d4f75408185102195055d75549fee8d9c9e954dca2427186925cdc429f" \ No newline at end of file
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-socketio.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-socketio.inc
new file mode 100644
index 00000000..8d778d4b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-socketio.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Socket.IO integration for Flask applications"
+HOMEPAGE = "https://github.com/miguelgrinberg/Flask-SocketIO/"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=38cc21254909604298ce763a6e4440a0"
+
+inherit pypi
+
+PYPI_PACKAGE = "Flask-SocketIO"
+
+SRC_URI[md5sum] = "b23222fb7dd2f0676d78bbe24153fd80"
+SRC_URI[sha256sum] = "2172dff1e42415ba480cee02c30c2fc833671ff326f1598ee3d69aa02cf768ec"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-flask \
+ ${PYTHON_PN}-socketio \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc
index e0efbc63..86ba9dda 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc
@@ -1,9 +1,9 @@
DESCRIPTION = "Adds SQLAlchemy support to your Flask application."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5ed1b8cc741515a835a7f6bf2f62ef4a"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
-SRC_URI[md5sum] = "373ce61dfd03b593ad2eaba68c9fee35"
-SRC_URI[sha256sum] = "5971b9852b5888655f11db634e87725a9031e170f37c0ce7851cf83497f56e53"
+SRC_URI[md5sum] = "1f5781cf3e1a2b1aabda47a5b20d2073"
+SRC_URI[sha256sum] = "6974785d913666587949f7c2946f7001e4fa2cb2d19f4e69ead02e4b8f50b33d"
PYPI_PACKAGE = "Flask-SQLAlchemy"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.2.bb
deleted file mode 100644
index 3dc355c5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-sqlalchemy.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads_0.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads_0.2.1.bb
deleted file mode 100644
index d39b07f6..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads_0.2.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-uploads.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc
index c2b71829..adef32cc 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc
@@ -3,7 +3,7 @@ DESCRIPTION = "Customizable User Account Management for Flask; Register \
Confirm email, Login, Change username, Change password, Forgot Password \
and more."
HOMEPAGE = " https://github.com/lingthio/Flask-User"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=97de97cd9d6e23c88129d884588ce71a"
SRC_URI[md5sum] = "f7965e66ca139c8436896da07e66c21f"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user_0.6.19.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user_0.6.19.bb
deleted file mode 100644
index 654d3775..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user_0.6.19.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-user.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc
index 3c90656a..86367115 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc
@@ -1,5 +1,5 @@
DESCRIPTION = "Simple integration of Flask and WTForms."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3ca6bb31670492f791e6a9f2fb9f8a80"
SRC_URI[md5sum] = "586f50f233926cade42e3d744aca3e8f"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.14.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.14.2.bb
deleted file mode 100644
index dbf091bc..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.14.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-wtf.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc
index a1fe14ed..48ff7149 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc
@@ -1,5 +1,5 @@
DESCRIPTION = "XStatic support for flask"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=659968f6ebd4b70b6c3190d20b4a924c"
SRC_URI[md5sum] = "2f56023e1444c8bd1fec41afe93de743"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic_0.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic_0.0.1.bb
deleted file mode 100644
index dff14a8c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic_0.0.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask-xstatic.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
index 66ad1a6e..1263383d 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
@@ -3,14 +3,14 @@ DESCRIPTION = "\
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \
intentions. And before you ask: It’s BSD licensed!"
HOMEPAGE = "https://github.com/mitsuhiko/flask/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c011883ac26229b8ba3084f55c7664c6"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
-SRC_URI[md5sum] = "824f0f20aae1f44c9c7dc4054adb7969"
-SRC_URI[sha256sum] = "2271c0070dbcb5275fad4a82e29f23ab92682dc45f9dfbc22c02ba9b9322ce48"
+SRC_URI[md5sum] = "0e3ed44ece1c489ed835d1b7047e349c"
+SRC_URI[sha256sum] = "13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52"
CLEANBROKEN = "1"
PYPI_PACKAGE = "Flask"
-RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-werkzeug-tests ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click"
+RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask_1.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask_1.0.2.bb
deleted file mode 100644
index a0a28ab8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-flask_1.0.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-flask.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb
deleted file mode 100644
index dad15ee0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-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/external/meta-openembedded/meta-python/recipes-devtools/python/python-functools32_3.2.3-2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-functools32_3.2.3-2.bb
deleted file mode 100644
index cb4bba49..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-functools32_3.2.3-2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Backport of the functools module from Python 3.2.3 for use on 2.7 and PyPy."
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=27cf2345969ed18e6730e90fb0063a10"
-
-SRC_URI[md5sum] = "09f24ffd9af9f6cd0f63cb9f4e23d4b2"
-SRC_URI[sha256sum] = "f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-future.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-future.inc
index 22475618..c0a2b39b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-future.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-future.inc
@@ -1,10 +1,10 @@
DESCRIPTION = "Clean single-source support for Python 3 and 2"
HOMEPAGE = "https://python-future.org"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3f457538b297bd0ef86564b8ac216ad7"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a253924061f8ecc41ad7a2ba1560e8e7"
-SRC_URI[md5sum] = "3e8e88a2bda48d54b1da7634d04760d7"
-SRC_URI[sha256sum] = "e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
+SRC_URI[md5sum] = "e4579c836b9c025872efe230f6270349"
+SRC_URI[sha256sum] = "b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"
PYPI_PACKAGE_HASH = "99abde815842bc6e97d5a7806ad51236630da14ca2f3b1fce94c0bb94d3d"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb
deleted file mode 100644
index d95e1ba7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-future.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb
deleted file mode 100644
index 897581f1..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-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/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
index 13513f21..bc89d104 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
@@ -4,8 +4,9 @@ a high-level synchronous API on top of the libevent event loop."
HOMEPAGE = "http://www.gevent.org"
LICENSE = "MIT & Python-2.0 & BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65 \
- file://NOTICE;md5=5966cd2c6582656d28ab3c33da3860f8 \
- file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
+ file://NOTICE;md5=18108df3583462cafd457f024b9b09b5 \
+ file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347 \
+ "
DEPENDS += "libevent"
DEPENDS += "${PYTHON_PN}-greenlet"
RDEPENDS_${PN} = "${PYTHON_PN}-greenlet \
@@ -17,10 +18,11 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/python-gevent:"
SRC_URI_append = " \
file://libev-conf.patch;patch=1;pnum=1 \
+ file://0002-setup.py-do-not-query-for-include-dir.patch \
"
-SRC_URI[md5sum] = "7f0baf355384fe5ff2ecf66853422554"
-SRC_URI[sha256sum] = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"
+SRC_URI[md5sum] = "6b9dd98917061803d9158e5258b8f412"
+SRC_URI[sha256sum] = "1eb7fa3b9bd9174dfe9c3b59b7a09b768ecd496debfc4976a9530a3e15c990d1"
# The python-gevent has no autoreconf ability
# and the logic for detecting a cross compile is flawed
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch
new file mode 100644
index 00000000..7536b71a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch
@@ -0,0 +1,26 @@
+From a53ed6b2f967a5f95e69d51cad3f8c120d7df65b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 7 Feb 2019 15:21:15 +0100
+Subject: [PATCH] setup.py: do not query for include dir
+
+As this will return the native python directory erroneously.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 86d6c5a..5d22291 100755
+--- a/setup.py
++++ b/setup.py
+@@ -52,7 +52,7 @@ from _setupares import ARES
+ # Get access to the greenlet header file.
+ # The sysconfig dir is not enough if we're in a virtualenv
+ # See https://github.com/pypa/pip/issues/4610
+-include_dirs = [sysconfig.get_path("include")]
++include_dirs = []
+ venv_include_dir = os.path.join(sys.prefix, 'include', 'site',
+ 'python' + sysconfig.get_python_version())
+ venv_include_dir = os.path.abspath(venv_include_dir)
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
deleted file mode 100644
index f13bfd7b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require python-gevent.inc
-inherit setuptools
-
-RDEPENDS_${PN} += "${PYTHON_PN}-re"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
index fcd81f6c..c7c656c8 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
@@ -3,7 +3,7 @@ LICENSE = "MIT & PSF"
LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
-SRC_URI[md5sum] = "a87b6028c3b742b210bf5973939db595"
-SRC_URI[sha256sum] = "f1cc268a15ade58d9a0c04569fe6613e19b8b0345b64453064e2c3c6d79051af"
+SRC_URI[md5sum] = "10fa304f673fc18b28fa6d8c6658cb80"
+SRC_URI[sha256sum] = "9416443e219356e3c31f1f918a91badf2e37acf297e2fa13d24d1cc2380f8fbc"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb
deleted file mode 100644
index c14976ed..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit distutils
-require python-greenlet.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc
index 91cc62f4..1a15c48d 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc
@@ -5,8 +5,8 @@ SECTION = "devel/python"
DEPENDS_append = "${PYTHON_PN}-grpcio"
RDEPENDS_${PN} = "${PYTHON_PN}-grpcio"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.14.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.14.1.bb
deleted file mode 100644
index 5b19bebf..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.14.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-grpcio-tools.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
deleted file mode 100644
index 23d25f7a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Google gRPC"
-HOMEPAGE = "http://www.grpc.io/"
-SECTION = "devel/python"
-
-DEPENDS_append = "${PYTHON_PN}-protobuf"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/python-grpcio:"
-SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch "
-
-RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-six \
-"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
-
-inherit pypi
-
-SRC_URI[md5sum] = "0987ae2e47b5103de3cacc437874a3c5"
-SRC_URI[sha256sum] = "4bf23666e763ca7ff6010465864e9f088f4ac7ecc1e11abd6f85b250e66b2c05"
-
-CLEANBROKEN = "1"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
deleted file mode 100644
index 996597b1..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From b02be74a2eff8abc612ef84f30e0fbce6a7f65f5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 4 Aug 2017 09:04:07 -0700
-Subject: [PATCH] setup.py: Do not mix C and C++ compiler options
-
-EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX
-so using -std=c++11 or -std=gnu99 together will cause
-build time errors espcially with clang
-
-error: invalid argument '-std=gnu99' not allowed with 'C++'
-
-gcc7 ( defaults are -std=gnu11 and -std=gnu++14 )
- as well clang default to these standards mode or newer
-anyway
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: grpcio-1.14.1/setup.py
-===================================================================
---- grpcio-1.14.1.orig/setup.py
-+++ grpcio-1.14.1/setup.py
-@@ -123,7 +123,7 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.
- EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None)
- EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None)
- if EXTRA_ENV_COMPILE_ARGS is None:
-- EXTRA_ENV_COMPILE_ARGS = ' -std=c++11'
-+ EXTRA_ENV_COMPILE_ARGS = ""
- if 'win32' in sys.platform and sys.version_info < (3, 5):
- EXTRA_ENV_COMPILE_ARGS += ' -D_hypot=hypot'
- # We use define flags here and don't directly add to DEFINE_MACROS below to
-@@ -135,7 +135,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
- else:
- EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64'
- elif "linux" in sys.platform:
-- EXTRA_ENV_COMPILE_ARGS += ' -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions'
-+ EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
- elif "darwin" in sys.platform:
- EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
- EXTRA_ENV_COMPILE_ARGS += ' -DPB_FIELD_16BIT'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb
deleted file mode 100644
index 820bea44..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-grpcio.inc
-
-RDEPENDS_${PN} += " python-enum34 \
- python-futures \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-html2text.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-html2text.inc
new file mode 100644
index 00000000..678dcef3
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-html2text.inc
@@ -0,0 +1,12 @@
+SUMMARY = "Convert HTML to Markdown-formatted text"
+HOMEPAGE = "https://github.com/Alir3z4/html2text"
+
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI[md5sum] = "21aad7ec95b70606024b783c8253899c"
+SRC_URI[sha256sum] = "f516b9c10284174e2a974d86f91cab02b3cf983a17752075da751af0e895ef5e"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
index 0eb8bf32..a8e0fb40 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
@@ -13,3 +13,5 @@ RDEPENDS_${PN} += "\
${PYTHON_PN}-webencodings \
${PYTHON_PN}-xml \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_1.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_1.0.1.bb
deleted file mode 100644
index f5941a2a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_1.0.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-html5lib.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly.inc
new file mode 100644
index 00000000..94f7f8b8
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "Human friendly output for text interfaces using Python"
+HOMEPAGE = "https://humanfriendly.readthedocs.io/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=690da298a43805797a4fa7bbe180b3c6"
+
+PYPI_PACKAGE = "humanfriendly"
+
+SRC_URI[md5sum] = "9573f9f37a5454d8205cfd1b9b8db9d2"
+SRC_URI[sha256sum] = "33ee8ceb63f1db61cce8b5c800c531e1a61023ac5488ccde2ba574a85be00a85"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-stringold \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb
deleted file mode 100644
index 57693093..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-humanize.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
index 78e3ee83..653170ca 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
@@ -3,12 +3,12 @@ HOMEPAGE = "https://github.com/python-hyper/hyperlink"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3893d4ed05dcc823f8ed685a9ea19bcb"
-SRC_URI[sha256sum] = "f01b4ff744f14bc5d0a22a6b9f1525ab7d6312cb0ff967f59414bbac52f0a306"
-SRC_URI[md5sum] = "f41a96779b324d824864696a94b24823"
+SRC_URI[sha256sum] = "4288e34705da077fada1111a24a0aa08bb1e76699c9ce49876af722441845654"
+SRC_URI[md5sum] = "4772fb4d87c26a1ab22a6161424e3cba"
inherit pypi
-RDEPENDS_${PN} += "${PYTHON_PN}-stringold ${PYTHON_PN}-netclient"
+RDEPENDS_${PN} += "${PYTHON_PN}-stringold ${PYTHON_PN}-netclient ${PYTHON_PN}-idna"
PACKAGES =. "${PN}-test "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink_18.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink_18.0.0.bb
deleted file mode 100644
index 59a9a5c8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink_18.0.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-hyperlink.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna-ssl.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna-ssl.inc
new file mode 100644
index 00000000..e74bbd7c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna-ssl.inc
@@ -0,0 +1,10 @@
+SUMMARY = "Patch ssl.match_hostname for Unicode(idna) domains support"
+HOMEPAGE = "https://github.com/aio-libs/idna-ssl"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a61b9c5aec8796b64a6bf15d42605073"
+
+SRC_URI[md5sum] = "dd44ec53bac36e68446766fd8d3835bd"
+SRC_URI[sha256sum] = "a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c"
+
+PYPI_PACKAGE = "idna-ssl"
+inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
index 519812dd..13b0cdb6 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "https://github.com/kjd/idna"
LICENSE = "BSD-3-Clause & Python-2.0 & Unicode"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=782775b32f96098512e283fb5d4546cd"
-SRC_URI[md5sum] = "0e5bb69018ddef1b9d95f681182be82c"
-SRC_URI[sha256sum] = "684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"
+SRC_URI[md5sum] = "2e9ae0b4a0b26d1747c6127cdb060bc1"
+SRC_URI[sha256sum] = "c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"
RDEPENDS_${PN}_class-target = "\
${PYTHON_PN}-codecs \
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb
deleted file mode 100644
index 2dcf72a2..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-idna.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb
deleted file mode 100644
index 60dd7d0a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Python Imaging Library (PIL)"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README;beginline=92;endline=120;md5=c4371af4579f1e489cf881c1443dd4ec"
-DEPENDS = "freetype jpeg tiff"
-SRCNAME = "Imaging"
-PR = "r5"
-
-SRC_URI = "http://effbot.org/downloads/Imaging-${PV}.tar.gz \
- file://0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch \
- file://allow.to.disable.some.features.patch \
- file://fix-freetype-includes.patch \
- file://remove-host-libdir.patch \
- file://python-imaging-CVE-2016-2533.patch \
-"
-
-SRC_URI[md5sum] = "fc14a54e1ce02a0225be8854bfba478e"
-SRC_URI[sha256sum] = "895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-# There isn't enable/disable option, and lcms is in meta-oe, at least make it explicit when enabled
-# setup.py already has FIXME: add mechanism to explicitly *disable* the use of a library
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lcms] = ",,lcms"
-
-inherit distutils
-
-do_compile() {
- export STAGING_LIBDIR=${STAGING_LIBDIR}
- export STAGING_INCDIR=${STAGING_INCDIR}
- export LCMS_ENABLED=${@bb.utils.contains('PACKAGECONFIG', 'lcms', 'True', 'False', d)}
- distutils_do_compile
-}
-
-do_install() {
- export STAGING_LIBDIR=${STAGING_LIBDIR}
- export STAGING_INCDIR=${STAGING_INCDIR}
- export LCMS_ENABLED=${@bb.utils.contains('PACKAGECONFIG', 'lcms', 'True', 'False', d)}
- distutils_do_install
- install -d ${D}${datadir}/doc/${BPN}/html/
- install -m 0644 ${S}/README ${D}${datadir}/doc/${BPN}/
- install -m 0644 ${S}/Docs/* ${D}${datadir}/doc/${BPN}/html/
-
- # get rid of #!/usr/local/bin/python
- sed -i -e 's:/usr/local/bin/:${bindir}/env :g' ${D}${bindir}/*
-}
-
-RDEPENDS_${PN} += "python-lang python-stringold"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata.inc
new file mode 100644
index 00000000..b6165dc5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "Read metadata from Python packages"
+HOMEPAGE = "https://pypi.org/project/importlib-metadata/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e"
+
+SRC_URI = "https://files.pythonhosted.org/packages/d7/cd/3b1dffa46b19dac269d586b9d45090588a8bd7a5741602a369d45e1bdf65/importlib_metadata-1.5.2.tar.gz"
+S = "${WORKDIR}/importlib_metadata-${PV}"
+SRC_URI[md5sum] = "35a85a81c7d86605f4f49397f4e7e39c"
+SRC_URI[sha256sum] = "dfc83688553a91a786c6c91eeb5f3b1d31f24d71877bbd94ecbf5484e57690a2"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
index b63fac97..ef5e903f 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
@@ -17,4 +17,4 @@ RDEPENDS_${PN} += " \
# prevent a circular dependency. The build apparently does not use the part of
# python-incremental which uses python-twisted, so this hack is OK.
RDEPENDS_${PYTHON_PN}-incremental-native_remove = "${PYTHON_PN}-twisted-native"
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental_17.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental_17.5.0.bb
deleted file mode 100644
index 139ac0c5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-incremental_17.5.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-incremental.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-inflection_0.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-inflection_0.3.1.bb
deleted file mode 100644
index 4a9d4979..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-inflection_0.3.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-inflection.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-codecs"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc
index 1ecca352..4489aa59 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc
@@ -2,14 +2,14 @@ DESCRIPTION = "Interval arithmetic for Python"
HOMEPAGE = "https://github.com/AlexandreDecan/python-intervals"
SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05f1e16a8e59ce3e9a979e881816c2ab"
PYPI_PACKAGE := "python-intervals"
inherit pypi
-SRC_URI[md5sum] = "a35dd44269fdb134bf19cfd80cb2c120"
-SRC_URI[sha256sum] = "a8a15b7c2fadb8465310f44aa96e384828b35a29de38ac74738cd665924cb8ac"
+SRC_URI[md5sum] = "8955317ff4e42590c90ba6247b1caaed"
+SRC_URI[sha256sum] = "0d26746eaed0be78a61dd289bb7a10721b08770bb3e807614835f490d514f2a5"
BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals_1.5.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals_1.5.4.bb
deleted file mode 100644
index 3c2a33bb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-intervals_1.5.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-intervals.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb
deleted file mode 100644
index 66de8b63..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
-HOMEPAGE = "https://github.com/phihag/ipaddress"
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
-
-DEPENDS += "python-pip"
-
-SRC_URI[md5sum] = "74c1ce3109f30eaa1ab3dd342e7b76d4"
-SRC_URI[sha256sum] = "b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ipy.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ipy.inc
new file mode 100644
index 00000000..46b2fad0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ipy.inc
@@ -0,0 +1,19 @@
+SUMMARY = "IPy - class and tools for handling of IPv4 and IPv6 addresses and networks"
+DESCRIPTION = "IPy is a Python module for handling IPv4 and IPv6 Addresses and Networks \
+in a fashion similar to perl's Net::IP and friends. The IP class allows \
+a comfortable parsing and handling for most notations in use for IPv4 \
+and IPv6 Addresses and Networks."
+SECTION = "devel/python"
+HOMEPAGE = "https://github.com/autocracy/python-ipy"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=848d24919845901b4f48bae5f13252e6"
+
+SRC_URI[md5sum] = "1a90c68174234672241a7e60c7ea0fb9"
+SRC_URI[sha256sum] = "2f2bf658a858d43868d8a4352b3889cf78c66e2ce678b300dcf518c9149ba621"
+
+inherit pypi
+
+PYPI_PACKAGE = "IPy"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
index 61e9abba..a70843ea 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
@@ -8,6 +8,7 @@ SRC_URI[sha256sum] = "49c4b20e1f38aa5cf109ddcd39647ac419f928512c869dc01d5c7098ed
RDEPENDS_${PN} += "\
${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-numbers \
"
BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.12.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.12.bb
deleted file mode 100644
index c543cf9f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.12.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-iso8601.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
new file mode 100644
index 00000000..8c128919
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
@@ -0,0 +1,14 @@
+SUMMARY = "ISO 8601 date/time parser"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
+
+SRC_URI[md5sum] = "0e1203fce27ce65e2d01c5f21c4d428f"
+SRC_URI[sha256sum] = "2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-six \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
index 359b1801..324d4cf1 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
@@ -4,8 +4,8 @@ LICENSE = "MIT"
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-SRC_URI[md5sum] = "fb554e9c8f9aa76e333a03d470a5cf52"
-SRC_URI[sha256sum] = "b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8"
+SRC_URI[md5sum] = "05d66f2eb7ce2c2d702e86bac24bf9e4"
+SRC_URI[sha256sum] = "54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.3.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.3.4.bb
deleted file mode 100644
index fa46d89b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.3.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-isort.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc
index 84f9e774..241786a7 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc
@@ -1,10 +1,10 @@
SUMMARY = "Various helpers to pass trusted data to untrusted environments and back."
HOMEPAGE = "http://github.com/mitsuhiko/itsdangerous"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b61841e2bf5f07884148e2a6f1bcab0c"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=370799bf709a1e4a6a369fa089ac73a6"
-SRC_URI[md5sum] = "a3d55aa79369aef5345c036a8a26307f"
-SRC_URI[sha256sum] = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
+SRC_URI[md5sum] = "9b7f5afa7f1e3acfb7786eeca3d99307"
+SRC_URI[sha256sum] = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19"
CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous_0.24.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous_0.24.bb
deleted file mode 100644
index 8c99cb4c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous_0.24.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit pypi setuptools
-require python-itsdangerous.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-zlib \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3.inc
index a0e802ca..e667057b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3.inc
@@ -5,10 +5,10 @@ DESCRIPTION = "python-javaobj is a python library that provides functions\
representation is a standard data interchange format in Java world."
HOMEPAGE = "https://github.com/tcalmant/python-javaobj"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://javaobj.py;beginline=21;endline=33;md5=8b504419ce78f8133b21b4d4a89ef7e9"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=15;endline=27;md5=af9ce26ac2de1b7436eb08c9308b4a1e"
-SRC_URI[md5sum] = "f669bb8099380e3dd84db3d542aa5b68"
-SRC_URI[sha256sum] = "b8b0d310fd97e1c7914d7911ee9d3f4b3d84d2a674aa95a4b0da3d8f155fc1bb"
+SRC_URI[md5sum] = "352fe0df9336b8699ad0799ef152da6b"
+SRC_URI[sha256sum] = "18c44cfaa214813784a823432b4ab9829c9626b2b00072011627b4008b0067cd"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3_0.2.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3_0.2.4.bb
deleted file mode 100644
index ed34740e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3_0.2.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-javaobj-py3.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
deleted file mode 100644
index 0c0bf0de..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python."
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=20c831f91dd3bd486020f672ba2be386"
-
-PYPI_PACKAGE = "Jinja2"
-
-SRC_URI[md5sum] = "61ef1117f945486472850819b8d1eb3d"
-SRC_URI[sha256sum] = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-io ${PYTHON_PN}-pickle ${PYTHON_PN}-crypt \
- ${PYTHON_PN}-math ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-markupsafe \
- ${PYTHON_PN}-json ${PYTHON_PN}-threading ${PYTHON_PN}-numbers"
-
-CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.10.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.10.bb
deleted file mode 100644
index 5233cf40..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.10.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-inherit pypi setuptools
-require python-jinja2.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-lang \
- ${PYTHON_PN}-re \
- ${PYTHON_PN}-textutils \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
index 409c09ad..e23f96b6 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
@@ -1,12 +1,12 @@
SUMMARY = "Appling JSON patches in Python 2.6+ and 3.x"
HOMEPAGE = "https://github.com/stefankoegl/python-json-patch"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
inherit pypi
-SRC_URI[md5sum] = "83c4c9faccb4a2ff8c1db80cbddc590d"
-SRC_URI[sha256sum] = "49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9"
+SRC_URI[md5sum] = "fcc546892414bef2f7f89f0e2a618a9e"
+SRC_URI[sha256sum] = "ddc0f7628b8bfdd62e3cbfbc24ca6671b0b6265b50d186c2cf3659dc0f78fd6a"
RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-stringold"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb
deleted file mode 100644
index 90cd3180..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-jsonpatch.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-re"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc
index 4ed01ed6..3e41b70b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc
@@ -1,9 +1,9 @@
SUMMARY = "Resolve JSON Pointers in Python"
HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32b15c843b7a329130f4e266a281ebb3"
-inherit pypi
+inherit pypi ptest
SRC_URI[md5sum] = "741b98d0e693b08b5e44e0a9da5a7bb7"
SRC_URI[sha256sum] = "c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362"
@@ -11,3 +11,17 @@ SRC_URI[sha256sum] = "c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83
RDEPENDS_${PN} += " \
${PYTHON_PN}-json \
"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ cp -f ${S}/tests.py ${D}${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_2.0.bb
deleted file mode 100644
index e13a776a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_2.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-jsonpointer.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-re"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
index 6fdc0249..8135b0fe 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
@@ -1,24 +1,48 @@
SUMMARY = "An implementation of JSON Schema validation for Python"
+HOMEPAGE = "https://github.com/Julian/jsonschema"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
+ file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af"
+DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native"
-SRC_URI[md5sum] = "50c6b69a373a8b55ff1e0ec6e78f13f4"
-SRC_URI[sha256sum] = "6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02"
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-jsonschema:"
-DEPENDS += "${PYTHON_PN}-vcversioner-native"
+SRC_URI[md5sum] = "f1a0b5011f05a02a8dee1070cd10a26d"
+SRC_URI[sha256sum] = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"
+
+PACKAGECONFIG ??= "format"
+PACKAGECONFIG[format] = ",,,\
+ ${PYTHON_PN}-idna \
+ ${PYTHON_PN}-jsonpointer \
+ ${PYTHON_PN}-webcolors \
+ ${PYTHON_PN}-rfc3987 \
+ ${PYTHON_PN}-strict-rfc3339 \
+"
+PACKAGECONFIG[nongpl] = ",,,\
+ ${PYTHON_PN}-idna \
+ ${PYTHON_PN}-jsonpointer \
+ ${PYTHON_PN}-webcolors \
+ ${PYTHON_PN}-rfc3986-validator \
+ ${PYTHON_PN}-rfc3339-validator \
+"
RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-attrs \
${PYTHON_PN}-core \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-importlib-metadata \
${PYTHON_PN}-io \
${PYTHON_PN}-json \
${PYTHON_PN}-netclient \
${PYTHON_PN}-numbers \
${PYTHON_PN}-pkgutil \
${PYTHON_PN}-pprint \
- ${PYTHON_PN}-rfc3987 \
+ ${PYTHON_PN}-pyrsistent \
${PYTHON_PN}-shell \
- ${PYTHON_PN}-strict-rfc3339 \
+ ${PYTHON_PN}-six \
${PYTHON_PN}-unittest \
+ ${PYTHON_PN}-setuptools-scm \
+ ${PYTHON_PN}-zipp \
"
BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
deleted file mode 100644
index b677c646..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-inherit pypi setuptools
-require python-jsonschema.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-argparse \
- ${PYTHON_PN}-contextlib \
- ${PYTHON_PN}-functools32 \
- ${PYTHON_PN}-lang \
- ${PYTHON_PN}-re \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-textutils \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib.inc
new file mode 100644
index 00000000..3dc4961c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib.inc
@@ -0,0 +1,8 @@
+DESCRIPTION = "Kconfiglib is a Kconfig implementation in Python"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=712177a72a3937909543eda3ad1bfb7c"
+
+SRC_URI[md5sum] = "4ad68618824d4bad1d1de1d7eb838bba"
+SRC_URI[sha256sum] = "bed2cc2216f538eca4255a83a4588d8823563cdd50114f86cf1a2674e602c93c"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc
index 83d2ea3c..bbbd66ce 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc
@@ -1,10 +1,12 @@
SUMMARY = "A fast and thorough lazy object proxy"
HOMEPAGE = "https://python-lazy-object-proxy.readthedocs.io/"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ec680df42d8ad56427a83308817658cc"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9c5c2c74370826468065c5702b8a1fcf"
-SRC_URI[md5sum] = "e128152b76eb5b9ba759504936139fd0"
-SRC_URI[sha256sum] = "eb91be369f945f10d3a49f5f9be8b3d0b93a4c2be8f8a5b83b0571b8123e0a7a"
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+SRC_URI[md5sum] = "5c64c06affcd2a7c6ddc848af4280cca"
+SRC_URI[sha256sum] = "f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"
inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.3.1.bb
deleted file mode 100644
index df4d60bf..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.3.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-lazy-object-proxy.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-license-expression.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-license-expression.inc
new file mode 100644
index 00000000..add25810
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-license-expression.inc
@@ -0,0 +1,29 @@
+SUMMARY = "Utility library to parse, compare, simplify and normalize license expressions"
+HOMEPAGE = "https://github.com/nexB/license-expression"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://apache-2.0.LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa"
+
+SRC_URI[md5sum] = "81477f779099f55071c6a7b88a29bb01"
+SRC_URI[sha256sum] = "8aaa455c5b97c4f2174090178b19792b2a1c620e80591aafd4e0a99b713f9e8d"
+
+inherit pypi ptest
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-booleanpy \
+ "
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-linecache2_1.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-linecache2_1.0.0.bb
deleted file mode 100644
index 386da2da..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-linecache2_1.0.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "A backport of linecache to older supported Pythons"
-HOMEPAGE = "https://github.com/testing-cabal/linecache2"
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=19;endline=19;md5=368ddc8588431c180ae7c33f4fb57519"
-
-DEPENDS = "${PYTHON_PN}-pbr-native"
-
-SRC_URI[md5sum] = "7b25d0289ec36bff1f9e63c4329ce65c"
-SRC_URI[sha256sum] = "4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c"
-
-inherit pypi setuptools
-
-CLEAN_BROKEN = "1"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
deleted file mode 100644
index 9ad865d4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Platform-independent file locking module"
-HOMEPAGE = "http://launchpad.net/pylockfile"
-SECTION = "devel/python"
-
-RDEPENDS_${PN} = "python-threading"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "a6a1a82957a23afdf44cfdd039b65ff9"
-SRC_URI[sha256sum] = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
- python-pbr-native \
- "
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing.inc
new file mode 100644
index 00000000..d125151c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing.inc
@@ -0,0 +1,16 @@
+SUMMARY = "Python LR parsing library"
+SECTION = "devel/python"
+LICENSE = "AGPL-3.0"
+LIC_FILES_CHKSUM = "file://agpl-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788"
+
+HOMEPAGE = "http://lrparsing.sourceforge.net/"
+BUGTRACKER = "https://sourceforge.net/p/lrparsing/tickets/"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lrparsing/files/"
+UPSTREAM_CHECK_REGEX = "lrparsing-(?P<pver>\d+(\.\d+)+)"
+SRC_URI = "${SOURCEFORGE_MIRROR}/lrparsing/lrparsing-${PV}.tar.gz"
+SRC_URI[md5sum] = "34357d69bce87654d792cd8f02d148b2"
+SRC_URI[sha256sum] = "b45afda44001dc5ba632934f74c043d40cce653f1a7526cfbcb68f6be055b8d7"
+
+S = "${WORKDIR}/lrparsing-${PV}"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
index 7f355a7b..05b5eae4 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
@@ -11,15 +11,15 @@ LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \
file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \
file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \
file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=939e7430ce85e1242ff50c4ee9430752 \
+ file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=fc85684a8dd5fa272c086bceb0d99e10 \
file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;beginline=2;endline=24;md5=cc86b7b2bbc678e13f58ea403eb9929b \
file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;beginline=2;endline=7;md5=5b03236d293dc3784205542b409d2f53 \
"
DEPENDS += "libxml2 libxslt"
-SRC_URI[md5sum] = "31239400ca4e130b69993bb3c14204b3"
-SRC_URI[sha256sum] = "e2afbe403090f5893e254958d02875e0732975e73c4c0cdd33c1f009a61963ca"
+SRC_URI[md5sum] = "f088e452ed45b030b6f84269f1e84d11"
+SRC_URI[sha256sum] = "8620ce80f50d023d414183bf90cc2576c2837b88e00bea3f33ad2630133bbb60"
DISTUTILS_BUILD_ARGS += " \
--with-xslt-config='pkg-config libxslt' \
@@ -33,11 +33,18 @@ DISTUTILS_INSTALL_ARGS += " \
inherit pypi
-do_configure_prepend() {
- sed -i -e 's/--version/--modversion/' ${B}/setupinfo.py
-}
+# {standard input}: Assembler messages:
+# {standard input}:1488805: Error: branch out of range
+DEBUG_OPTIMIZATION_remove_mips = " -Og"
+DEBUG_OPTIMIZATION_append_mips = " -O"
+BUILD_OPTIMIZATION_remove_mips = " -Og"
+BUILD_OPTIMIZATION_append_mips = " -O"
+
+DEBUG_OPTIMIZATION_remove_mipsel = " -Og"
+DEBUG_OPTIMIZATION_append_mipsel = " -O"
+BUILD_OPTIMIZATION_remove_mipsel = " -Og"
+BUILD_OPTIMIZATION_append_mipsel = " -O"
BBCLASSEXTEND = "native nativesdk"
RDEPENDS_${PN} += "libxml2 libxslt ${PYTHON_PN}-compression"
-RDEPENDS_${PN}_class-native = "libxml2-native libxslt-native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb
deleted file mode 100644
index 81ccb12d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-lxml.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc
index a36ab8a7..81c81645 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc
@@ -17,7 +17,17 @@ PYPI_PACKAGE = "M2Crypto"
inherit pypi siteinfo
DEPENDS += "openssl swig-native"
-RDEPENDS_${PN} += "python-typing"
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-smtpd \
+ ${PYTHON_PN}-typing \
+ ${PYTHON_PN}-xmlrpc \
+"
DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}"
DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}"
@@ -32,7 +42,7 @@ export SWIG_FEATURES
#
do_configure_prepend() {
${CPP} -dM - < /dev/null | grep -v '__\(STDC\|REGISTER_PREFIX\|GNUC\|STDC_HOSTED\)__' \
- | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > SWIG/gcc_macros.h
+ | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > ${S}/SWIG/gcc_macros.h
if [ "${SITEINFO_BITS}" = "64" ];then
bit="64"
@@ -42,11 +52,11 @@ do_configure_prepend() {
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"
+ sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "${S}/$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"
+ sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "${S}/$i"
done
fi
}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.30.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.30.1.bb
deleted file mode 100644
index c612fcdc..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.30.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-m2crypto.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
index a9fa5563..abcbb884 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
@@ -2,14 +2,14 @@ SUMMARY = "A super-fast templating language that borrows the best ideas from the
HOMEPAGE = "http://www.makotemplates.org/"
SECTION = "devel/python"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=df7e6c7c82990acf0228a55e00d29bc9"
PYPI_PACKAGE = "Mako"
inherit pypi
-SRC_URI[md5sum] = "5836cc997b1b773ef389bf6629c30e65"
-SRC_URI[sha256sum] = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae"
+SRC_URI[md5sum] = "6c3f2da0b74af529a4c4a537d0848bf2"
+SRC_URI[sha256sum] = "a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b"
RDEPENDS_${PN} = " \
${PYTHON_PN}-html \
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.7.bb
deleted file mode 100644
index 3372eeb2..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-mako.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
index 927f8445..48087626 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
@@ -1,12 +1,27 @@
DESCRIPTION = "Implements a XML/HTML/XHTML Markup safe string for Python"
HOMEPAGE = "http://github.com/mitsuhiko/markupsafe"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c6d1adcf45d69359f256c1cea3254127"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
-SRC_URI[md5sum] = "2fcedc9284d50e577b5192e8e3578355"
-SRC_URI[sha256sum] = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
+SRC_URI[md5sum] = "43fd756864fe42063068e092e220c57b"
+SRC_URI[sha256sum] = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"
PYPI_PACKAGE = "MarkupSafe"
-inherit pypi
+inherit pypi ptest
RDEPENDS_${PN} += "${PYTHON_PN}-stringold"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -f ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb
deleted file mode 100644
index 05bbe8a3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-markupsafe.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-re"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
deleted file mode 100644
index 21b9094a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-This fixes the numpy import problem in setupext.py using a hard-coded path.
-
-Index: matplotlib-2.0.2/setupext.py
-===================================================================
---- matplotlib-2.0.2.orig/setupext.py
-+++ matplotlib-2.0.2/setupext.py
-@@ -148,6 +148,7 @@ def has_include_file(include_dirs, filen
- Returns `True` if `filename` can be found in one of the
- directories in `include_dirs`.
- """
-+ return True
- if sys.platform == 'win32':
- include_dirs += os.environ.get('INCLUDE', '.').split(';')
- for dir in include_dirs:
-@@ -172,7 +173,7 @@ def get_base_dirs():
- Returns a list of standard base directories on this platform.
- """
- if options['basedirlist']:
-- return options['basedirlist']
-+ return [os.environ['STAGING_LIBDIR']]
-
- basedir_map = {
- 'win32': ['win32_static', ],
-@@ -260,14 +261,6 @@ def make_extension(name, files, *args, *
- `distutils.core.Extension` constructor.
- """
- ext = DelayedExtension(name, files, *args, **kwargs)
-- for dir in get_base_dirs():
-- include_dir = os.path.join(dir, 'include')
-- if os.path.exists(include_dir):
-- ext.include_dirs.append(include_dir)
-- for lib in ('lib', 'lib64'):
-- lib_dir = os.path.join(dir, lib)
-- if os.path.exists(lib_dir):
-- ext.library_dirs.append(lib_dir)
- ext.include_dirs.append('.')
-
- return ext
-@@ -314,6 +307,7 @@ class PkgConfig(object):
- " matplotlib may not be able to find some of its dependencies")
-
- def set_pkgconfig_path(self):
-+ return
- pkgconfig_path = sysconfig.get_config_var('LIBDIR')
- if pkgconfig_path is None:
- return
-@@ -875,14 +869,14 @@ class Numpy(SetupPackage):
- reload(numpy)
-
- ext = Extension('test', [])
-- ext.include_dirs.append(numpy.get_include())
-+ ext.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/'))
- if not has_include_file(
- ext.include_dirs, os.path.join("numpy", "arrayobject.h")):
- warnings.warn(
- "The C headers for numpy could not be found. "
- "You may need to install the development package")
-
-- return [numpy.get_include()]
-+ return [os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')]
-
- def check(self):
- min_version = extract_versions()['__version__numpy__']
-Index: matplotlib-2.0.2/setup.py
-===================================================================
---- matplotlib-2.0.2.orig/setup.py
-+++ matplotlib-2.0.2/setup.py
-@@ -66,28 +66,6 @@ mpl_packages = [
- setupext.Python(),
- setupext.Platform(),
- 'Required dependencies and extensions',
-- setupext.Numpy(),
-- setupext.Six(),
-- setupext.Dateutil(),
-- setupext.FuncTools32(),
-- setupext.Subprocess32(),
-- setupext.Pytz(),
-- setupext.Cycler(),
-- setupext.Tornado(),
-- setupext.Pyparsing(),
-- setupext.LibAgg(),
-- setupext.FreeType(),
-- setupext.FT2Font(),
-- setupext.Png(),
-- setupext.Qhull(),
-- setupext.Image(),
-- setupext.TTConv(),
-- setupext.Path(),
-- setupext.ContourLegacy(),
-- setupext.Contour(),
-- setupext.Delaunay(),
-- setupext.QhullWrap(),
-- setupext.Tri(),
- 'Optional subpackages',
- setupext.SampleData(),
- setupext.Toolkits(),
-@@ -100,13 +78,8 @@ mpl_packages = [
- setupext.BackendMacOSX(),
- setupext.BackendQt5(),
- setupext.BackendQt4(),
-- setupext.BackendGtk3Agg(),
- setupext.BackendGtk3Cairo(),
-- setupext.BackendGtkAgg(),
-- setupext.BackendTkAgg(),
-- setupext.BackendWxAgg(),
- setupext.BackendGtk(),
-- setupext.BackendAgg(),
- setupext.BackendCairo(),
- setupext.Windowing(),
- 'Optional LaTeX dependencies',
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb
deleted file mode 100644
index 5b1c3f05..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats"
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74"
-
-DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz"
-RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz"
-
-SRC_URI = "https://github.com/matplotlib/matplotlib/archive/v${PV}.tar.gz \
- file://fix_setupext.patch \
-"
-SRC_URI[md5sum] = "89717c1ef3c6fdcd6fb1f3b597a4858c"
-SRC_URI[sha256sum] = "aebed23921562792b68b8ca355de5abc176af4424f1987e2fa95f65e5c5e7e89"
-S = "${WORKDIR}/matplotlib-${PV}"
-EXTRA_OECONF = "--disable-docs"
-
-inherit setuptools pkgconfig
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb
deleted file mode 100644
index 6b63cd78..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "McCabe checker, plugin for flake8"
-HOMEPAGE = "https://github.com/dreamhost/cliff"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.rst;md5=f8b50fba1711ecac6bcdb6324f85a66d"
-
-SRC_URI += " \
- file://0001-python-mccabe-remove-unnecessary-setup_requires-pyte.patch \
-"
-
-SRC_URI[md5sum] = "8c425db05f310adcd4bb174b991f26f5"
-SRC_URI[sha256sum] = "9a2b12ebd876e77c72e41ebf401cc2e7c5b566649d50105ca49822688642207b"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
- python-prettytable \
- python-cmd2 \
- python-pyparsing"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-meld3.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-meld3.inc
new file mode 100644
index 00000000..558e436c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-meld3.inc
@@ -0,0 +1,15 @@
+SUMMARY = "meld3 templating system used by Supervisor"
+DESCRIPTION = "\
+meld3 is an HTML/XML templating system for Python which keeps \
+template markup and dynamic rendering logic separate from one \
+another. See http://www.entrian.com/PyMeld for a treatise on the \
+benefits of this pattern."
+HOMEPAGE = "https://github.com/supervisor/meld3"
+LICENSE = "BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9e7581cef5645475fcefebdc15ed7abf"
+
+SRC_URI[md5sum] = "3ccc78cd79cffd63a751ad7684c02c91"
+SRC_URI[sha256sum] = "f7b754a0fde7a4429b2ebe49409db240b5699385a572501bb0d5627d299f9558"
+
+PYPI_PACKAGE = "meld3"
+inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
deleted file mode 100644
index 210502ff..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "A Python Mocking and Patching Library for Testing"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=de9dfbf780446b18aab11f00baaf5b7e"
-
-SRC_URI[md5sum] = "0febfafd14330c9dcaa40de2d82d40ad"
-SRC_URI[sha256sum] = "b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba"
-
-inherit pypi setuptools
-
-DEPENDS += " \
- python-pbr-native"
-
-RDEPENDS_${PN} += " \
- python-prettytable \
- python-cmd2 \
- python-pyparsing \
- python-mccabe \
- python-pep8 \
- python-pyflakes \
- python-pbr \
- python-funcsigs \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.5.bb
deleted file mode 100644
index 01e7b1ca..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "An implementation of time.monotonic() for Python 2.0 through 3.2"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-SRC_URI[md5sum] = "9f81cb0e5966479754453dea2b6822f4"
-SRC_URI[sha256sum] = "23953d55076df038541e648a53676fb24980f7a1be290cdda21300b3bc21dfb0"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "${PYTHON_PN}-ctypes ${PYTHON_PN}-io ${PYTHON_PN}-re ${PYTHON_PN}-threading"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools.inc
new file mode 100644
index 00000000..0b684c1b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools.inc
@@ -0,0 +1,21 @@
+DESCRIPTION = "More routines for operating on iterables, beyond itertools"
+HOMEPAGE = "https://github.com/erikrose/more-itertools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5"
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
deleted file mode 100644
index fdc89261..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "MessagePack (de)serializer"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
-
-SRC_URI[md5sum] = "6d644c06a87a5a111bbbf5b34b4be440"
-SRC_URI[sha256sum] = "378cc8a6d3545b532dfd149da715abae4fda2a3adb6d74e525d0d5e51f46909b"
-
-PYPI_PACKAGE = "msgpack-python"
-inherit pypi
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-io \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb
deleted file mode 100644
index 2c2c8f2a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-msgpack.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
index 91235b96..bca58f76 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
HOMEPAGE = "http://python-requests.org"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0"
SRC_URI[md5sum] = "b0fc8ea38f87d2c1ab1ed79a95c078f9"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.5.1.bb
deleted file mode 100644
index 9cd881a3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.5.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require python-ndg-httpsclient.inc
-inherit pypi setuptools update-alternatives
-
-ALTERNATIVE_${PN} = "ndg_httpclient"
-ALTERNATIVE_LINK_NAME[ndg_httpclient] = "${bindir}/ndg_httpclient"
-ALTERNATIVE_PRIORITY = "20"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
index 5b6d4dff..bea9be67 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
@@ -1,5 +1,5 @@
SUMMARY = "A network address manipulation library for Python."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
SRC_URI[md5sum] = "51019ef59c93f3979bcb37d3b8527e07"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
deleted file mode 100644
index ca5a79a7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require python-netaddr.inc
-inherit setuptools
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-textutils \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-netifaces.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-netifaces.inc
new file mode 100644
index 00000000..daccc4fb
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-netifaces.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Portable network interface information for Python"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df"
+
+SRC_URI[md5sum] = "de92cc322b4f56047c073f802ad77860"
+SRC_URI[sha256sum] = "2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3"
+
+inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-networkx.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-networkx.inc
new file mode 100644
index 00000000..4bca636d
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-networkx.inc
@@ -0,0 +1,8 @@
+DESCRIPTION = "Python package for creating and manipulating graphs and networks"
+LICENSE = "BSD-3-Clause"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-decorator \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb
deleted file mode 100644
index bc0c6863..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Python package for creating and manipulating graphs and networks"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3376ff7c9c58048c62d91431f7f08cde"
-
-SRC_URI[md5sum] = "4a2c2a62dfc46ba7d594daca7c834995"
-SRC_URI[sha256sum] = "64272ca418972b70a196cb15d9c85a5a6041f09a2f32e0d30c0255f25d458bb1"
-
-PYPI_PACKAGE_EXT = "zip"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "python-2to3"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb
deleted file mode 100644
index c91d77c8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A sophisticated Numeric Processing Package for Python"
-SECTION = "devel/python"
-LICENSE = "PSF & LLNL"
-LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e"
-
-PR = "ml3"
-
-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
-
-SRC_URI[md5sum] = "2ae672656e06716a149acb048cca3093"
-SRC_URI[sha256sum] = "5f72e729eb6ff57442f2a38bfc9931738b59e5077928e2e70d22b4610ff15258"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc
index c5de8a09..fea07144 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc
@@ -1,7 +1,7 @@
SUMMARY = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
HOMEPAGE = "https://github.com/idan/oauthlib"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5ba9ce41463615e082609806255bce1b"
SRC_URI = "https://pypi.python.org/packages/a5/8a/212e9b47fb54be109f3ff0684165bb38c51117f34e175c379fce5c7df754/oauthlib-${PV}.tar.gz"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb
deleted file mode 100644
index 4329d21a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-oauthlib.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-re ${PYTHON_PN}-lang"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-packaging.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-packaging.inc
new file mode 100644
index 00000000..418483f4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-packaging.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Core utilities for Python packages"
+HOMEPAGE = "https://github.com/pypa/packaging"
+LICENSE = "Apache-2.0 & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
+
+SRC_URI[md5sum] = "19e0d1f82a9007b448650ccfeffd0a26"
+SRC_URI[sha256sum] = "3c292b474fda1671ec57d46d739d072bfd495a4f51ad01a055121d81e952b7a3"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-pyparsing"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
deleted file mode 100644
index f834e6fd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "MQTT version 3.1/3.1.1 client library"
-LICENSE = "EPL-1.0 | EDL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc \
- file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
- file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
-"
-SRCNAME = "paho-mqtt"
-
-inherit pypi
-SRC_URI[md5sum] = "2cc27d8b369700b1fc99325add0dadd2"
-SRC_URI[sha256sum] = "31911f6031de306c27ed79dc77b690d7c55b0dcb0f0434ca34ec6361d0371122"
-
-DEPENDS += "${PYTHON_PN}-pytest-runner-native"
-
-RDEPENDS_${PN} = "\
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-math \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-threading \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb
deleted file mode 100644
index a1031176..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-paho-mqtt.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pam_1.8.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pam_1.8.2.bb
deleted file mode 100644
index 60a3b43d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pam_1.8.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Python PAM module using ctypes, py3/py2."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=64326d42471b493c5c088305364ad5da"
-
-SRC_URI[md5sum] = "db71b6b999246fb05d78ecfbe166629d"
-SRC_URI[sha256sum] = "26efe4e79b869b10f97cd8c4a6bbb04a4e54d41186364e975b4108c9c071812c"
-
-PYPI_PACKAGE = "python-pam"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "libpam"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
deleted file mode 100644
index d6ca2431..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "pandas library for high-performance data analysis tools"
-DESCRIPTION = "pandas is an open source, BSD-licensed library providing \
-high-performance, easy-to-use data structures and data analysis tools for \
-the Python programming language."
-HOMEPAGE = "http://pandas.pydata.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ee0470f2de336c370a71c2f8d5e81c11"
-
-SRC_URI[md5sum] = "7b597c7f989652e0c9af5f09a157e3ae"
-SRC_URI[sha256sum] = "5b24ca47acf69222e82530e89111dd9d14f9b970ab2cd3a1c2c78f0c4fbba4f4"
-
-inherit pypi
-
-DEPENDS += " \
- ${PYTHON_PN}-numpy-native ${PYTHON_PN}-cython-native \
-"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-numpy \
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-pytz \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb
deleted file mode 100644
index b3bfab96..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit setuptools
-require python-pandas.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-future \
- ${PYTHON_PN}-json \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type.inc
index 4549ec98..147ea644 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type.inc
@@ -7,6 +7,19 @@ SRC_URI[md5sum] = "b5fa59e45965d1b2896023742df2e707"
SRC_URI[sha256sum] = "f596bdc75d3dd93036fbfe3d04127da9f6df0c26c36e01e76da85adef4336b3c"
PYPI_PACKAGE = "parse_type"
-inherit pypi
+inherit pypi ptest
RDEPENDS_${PN} += "${PYTHON_PN}-parse"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb
deleted file mode 100644
index 8e10e801..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-parse-type.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc
index fa55a93c..ecfd6717 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc
@@ -1,14 +1,26 @@
SUMMARY = "Parse strings using a specification based on the Python format() syntax"
HOMEPAGE = "https://github.com/r1chardj0n3s/parse"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://parse.py;beginline=1273;endline=1291;md5=5147afdd9b3615290ad8733f0137a1a1"
+LIC_FILES_CHKSUM = "file://parse.py;beginline=1325;endline=1345;md5=3d987b2e73881bbce768a80f9cdd23d9"
-SRC_URI[md5sum] = "fa69ab2fe846f9b183411391f7c6897b"
-SRC_URI[sha256sum] = "c3cdf6206f22aeebfa00e5b954fcfea13d1b2dc271c75806b6025b94fb490939"
+SRC_URI[md5sum] = "a5aa82b2b8b4d733d227e3c99d7d01b4"
+SRC_URI[sha256sum] = "a6d4e2c2f1fbde6717d28084a191a052950f758c0cbd83805357e6575c2b95c0"
-inherit pypi
+inherit pypi ptest
RDEPENDS_${PN} += "\
${PYTHON_PN}-datetime \
${PYTHON_PN}-logging \
"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ cp -f ${S}/test_parse.py ${D}${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.4.bb
deleted file mode 100644
index d31ccc72..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-parse.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
index 9e477ecf..9cf02807 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
@@ -6,11 +6,11 @@ managing existing password hashes. It’s designed to be useful for a wide range
tasks, from verifying a hash found in /etc/shadow, to providing full-strength password \
hashing for multi-user applications."
HOMEPAGE = "https://bitbucket.org/ecollins/passlib"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=73eed1a5470b969951dac411086c7036"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=44fd7dcd5d42b48d6dea59ac643a0179"
-SRC_URI[md5sum] = "254869dae3fd9f09f0746a3cb29a0b15"
-SRC_URI[sha256sum] = "3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0"
+SRC_URI[md5sum] = "b908529cfd4c33057c244324c692eae7"
+SRC_URI[sha256sum] = "8d666cef936198bc2ab47ee9b0410c94adf2ba798e5a84bf220be079ae7ab6a8"
RDEPENDS_${PN} += "\
${PYTHON_PN}-crypt \
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb
deleted file mode 100644
index 11c598a0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-passlib.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb
deleted file mode 100644
index 6b4019f8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Tools for using a Web Server Gateway Interface stack"
-HOMEPAGE = "http://pythonpaste.org/"
-LICENSE = "MIT"
-RDEPENDS_${PN} = "python-six"
-
-LIC_FILES_CHKSUM = "file://docs/license.txt;md5=1798f29d55080c60365e6283cb49779c"
-
-SRC_URI[md5sum] = "1231e14eae62fa7ed76e9130b04bc61e"
-SRC_URI[sha256sum] = "2346a347824c32641bf020c17967b49ae74d3310ec1bc9b958d4b84e2d985218"
-
-PYPI_PACKAGE = "Paste"
-inherit pypi setuptools
-
-FILES_${PN} += "/usr/lib/*"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2.inc
new file mode 100644
index 00000000..d69d5273
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2.inc
@@ -0,0 +1,11 @@
+DESCRIPTION = "Object-oriented filesystem paths"
+HOMEPAGE = "https://github.com/mcmtroffaes/pathlib2"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=042856c23a3e903b33bf361ea1cbe29a"
+
+SRC_URI[md5sum] = "f2bd0a363eb0f8fa0556f35c1d9e66fb"
+SRC_URI[sha256sum] = "6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
deleted file mode 100644
index a4b56cdb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools
-# The inc file is in oe-core
-require recipes-devtools/python/python-pbr.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb
deleted file mode 100644
index 54ce9781..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Python style guide checker"
-HOMEPAGE = "https://github.com/dreamhost/cliff"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.rst;md5=d8ebbbe831259ce010179d2f310b0f3e"
-
-SRC_URI[md5sum] = "603821d06db945c71d811b5a8d78423c"
-SRC_URI[sha256sum] = "fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
- python-prettytable \
- python-cmd2 \
- python-pyparsing"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery.inc
index 539c3579..0171f63f 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery.inc
@@ -2,6 +2,8 @@ DESCRIPTION = "A pure Python 2/3 library for peripheral I/O (GPIO, LED, PWM, SPI
HOMEPAGE = "http://pythonhosted.org/python-periphery/"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=063846af82b555d48822cf43dc6db6af"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1ecf5c2354c22fb5bfd53eefb8f9e65b"
-PYPI_PACKAGE = "python-periphery" \ No newline at end of file
+PYPI_PACKAGE = "python-periphery"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-mmap"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery_1.1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery_1.1.1.bb
deleted file mode 100644
index 6ae7fed8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-periphery_1.1.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools
-require python-periphery.inc
-
-SRC_URI[sha256sum] = "fe8f351934edce72cd919b4eb070878ebff551db5e21aea61e0f446101f0a79f" \ No newline at end of file
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
index efeab831..c6230b2b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
@@ -4,8 +4,10 @@ SECTION = "devel/python"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1c7a725251880af8c6a148181665385b"
-SRC_URI[md5sum] = "d4f3372965a996238d57d19b95d2e03a"
-SRC_URI[sha256sum] = "2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba"
+SRC_URI += "file://0001-FSM.py-change-shebang-from-python-to-python3.patch"
+
+SRC_URI[md5sum] = "153eb25184249d6a85fde9acf4804085"
+SRC_URI[sha256sum] = "fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"
UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/pexpect"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb
deleted file mode 100644
index 1c46b47a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pexpect.inc
-inherit pypi setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc
new file mode 100644
index 00000000..bde154fe
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc
@@ -0,0 +1,22 @@
+SUMMARY = "Pika is a RabbitMQ (AMQP 0-9-1) client library for Python."
+DESCRIPTION = " \
+Pika is a pure-Python implementation of the AMQP 0-9-1 protocol \
+including RabbitMQ’s extensions. \
+"
+SECTION = "devel/python"
+HOMEPAGE = "https://pika.readthedocs.io"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=535836bf0a5de515a7bfee026075701d"
+
+SRC_URI[md5sum] = "6002400cdd33bf85ec8680ece72910d4"
+SRC_URI[sha256sum] = "9fa76ba4b65034b878b2b8de90ff8660a59d925b087c5bb88f8fdbb4b64a1dbf"
+
+inherit pypi
+
+PYPI_PACKAGE = "pika"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-tornado \
+ ${PYTHON_PN}-twisted \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc
index 53f77839..5c348100 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc
@@ -3,13 +3,28 @@ HOMEPAGE = "https://github.com/AlexandreDecan/python-intervals"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bccf824202692270a1e0829a62e3f47b"
PYPI_PACKAGE := "Pint"
-inherit pypi
+inherit pypi ptest
-SRC_URI[md5sum] = "e1f80f3f8fc4e61f68ad3912db26b3a8"
-SRC_URI[sha256sum] = "afcf31443a478c32bbac4b00337ee9026a13d0e2ac83d30c79151462513bb0d4"
+SRC_URI[md5sum] = "3a8f29c2a30efd35af4b5c5a224ef965"
+SRC_URI[sha256sum] = "308f1070500e102f83b6adfca6db53debfce2ffc5d3cbe3f6c367da359b5cf4d"
-BBCLASSEXTEND = "native"
+DEPENDS += "python3-setuptools-scm-native"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite
+ cp -rf ${S}/pint/testsuite/* ${D}${PTEST_PATH}/testsuite/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pint_0.8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pint_0.8.1.bb
deleted file mode 100644
index 480f0887..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pint_0.8.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pint.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pip_18.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pip_18.0.bb
deleted file mode 100644
index 6b943b00..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pip_18.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "PIP is a tool for installing and managing Python packages"
-HOMEPAGE = "https://pip.pypa.io/"
-LICENSE = "MIT & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=593c6cd9d639307226978cbcae61ad4b"
-
-SRC_URI[md5sum] = "52f75ceb21e96c258f289859a2996b60"
-SRC_URI[sha256sum] = "a0e11645ee37c90b40c46d607070c4fd583e2cd46231b1c06e389c5e814eed76"
-
-inherit pypi setuptools
-
-# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
-RDEPENDS_${PN}_class-target = "python-modules python-distribute python-misc"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc
index 320359aa..1198d5f7 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc
@@ -1,9 +1,27 @@
SUMMARY = "Plugin and hook calling mechanisms for python"
HOMEPAGE = "https://github.com/pytest-dev/pluggy"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=338dad807ed9337bfaeb9979c3bfe20f"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2"
-SRC_URI[md5sum] = "ffdde7c3a5ba9a440404570366ffb6d5"
-SRC_URI[sha256sum] = "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff"
+SRC_URI[md5sum] = "7f610e28b8b34487336b585a3dfb803d"
+SRC_URI[sha256sum] = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"
-inherit pypi
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-importlib-metadata \
+ ${PYTHON_PN}-more-itertools \
+"
+
+inherit pypi ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testing
+ cp -rf ${S}/testing/* ${D}${PTEST_PATH}/testing/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb
deleted file mode 100644
index edcd4f51..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pluggy.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc
index a744950b..149fe058 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc
@@ -2,7 +2,7 @@ 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"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://README.md;beginline=5;endline=32;md5=f5ee5c355c0e6719c787a71b8f0fa96c"
SRC_URI[md5sum] = "6465f602e656455affcd7c5734c638f8"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.11.bb
deleted file mode 100644
index 2b6165c5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-ply.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pocketsphinx.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pocketsphinx.inc
new file mode 100644
index 00000000..1f8f66a1
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pocketsphinx.inc
@@ -0,0 +1,9 @@
+SUMMARY = "This package provides a python interface to CMU Sphinxbase and Pocketsphinx libraries created with SWIG and Setuptools."
+SECTION = "devel/python"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=826ebda787eb48e78aec2624f9faba72"
+
+SRC_URI[md5sum] = "c0f2bfd54bc4c438c3bb64825f57d575"
+SRC_URI[sha256sum] = "2cc493ed48c1301e0d2e69b137dc646c2f8caca190ef4bce61836eac96d1796f"
+
+DEPENDS += "swig-native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
index b342aef5..58f19619 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
@@ -1,6 +1,6 @@
SUMMARY = "A library for stubbing in Python"
HOMEPAGE = "https://github.com/alex/pretend"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99"
SRC_URI[md5sum] = "ad53883ede48aeac7ae584f0de0240e8"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend_1.0.9.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend_1.0.9.bb
deleted file mode 100644
index 73b8ed4d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pretend_1.0.9.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pretend.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc
new file mode 100644
index 00000000..c77a4919
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc
@@ -0,0 +1,43 @@
+SUMMARY = "Python library for displaying tabular data in a ASCII table format"
+HOMEPAGE = "http://code.google.com/p/prettytable"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282"
+
+SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899"
+SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"
+
+SRCNAME = "prettytable"
+
+SRC_URI = "https://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+do_install_append() {
+ 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+[\.\-_]*)+)"
+
+BBCLASSEXTEND = "native nativesdk"
+inherit ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-html \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ cp -f ${S}/prettytable_test.py ${D}${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
deleted file mode 100644
index 406555ac..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Python library for displaying tabular data in a ASCII table format"
-HOMEPAGE = "http://code.google.com/p/prettytable"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282"
-
-SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899"
-SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"
-
-SRCNAME = "prettytable"
-
-SRC_URI = "https://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-do_install_append() {
- 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+[\.\-_]*)+)"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc
index 9f00615c..d59ba2cc 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://github.com/verigak/progress/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=aef5566ac4fede9815eccf124c281317"
-SRC_URI[md5sum] = "057981e2f09029288f5255b1ea3ab64d"
-SRC_URI[sha256sum] = "5e2f9da88ed8236a76fffbee3ceefd259589cf42dfbc2cec2877102189fae58a"
+SRC_URI[md5sum] = "408df0e3db0ad4b74f19f6beec814ae4"
+SRC_URI[sha256sum] = "69ecedd1d1bbe71bf6313d88d1e6c4d2957b7f1d4f71312c211257f7dae64372"
RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-datetime \
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.4.bb
deleted file mode 100644
index 80608627..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-progress.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
index 1a4bd35c..91aa7bb1 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
@@ -1,9 +1,9 @@
SUMMARY = "Library for building powerful interactive command lines in Python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f"
-SRC_URI[md5sum] = "8db8b8e40e91bc6dce133d8d5727a717"
-SRC_URI[sha256sum] = "ff58ce8bb82c11c43416dd3eec7701dcbe8c576e2d7649f1d2b9d21a2fd93808"
+SRC_URI[md5sum] = "5016c523e603cd7119644fbc0f00ce53"
+SRC_URI[sha256sum] = "f15af68f66e664eaa559d4ac8a928111eebd5feda0c11738b5998045224829db"
PYPI_PACKAGE = "prompt_toolkit"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_2.0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_2.0.4.bb
deleted file mode 100644
index 527c905a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_2.0.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit pypi setuptools
-require python-prompt-toolkit.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
index b617904d..5716894f 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
@@ -3,12 +3,12 @@ HOMEPAGE = "https://developers.google.com/protocol-buffers/"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=19e8f490f9526b1de84f8d949cfcfd4e"
inherit pypi
-SRC_URI[md5sum] = "e2daef80e70249aa1f05363670c6b3f8"
-SRC_URI[sha256sum] = "1489b376b0f364bcc6f89519718c057eb191d7ad6f1b395ffd93d1aa45587811"
+SRC_URI[md5sum] = "eeda7dea65fc94e560fc9a8180eb1872"
+SRC_URI[sha256sum] = "c77c974d1dadf246d789f6dad1c24426137c9091e930dbf50e0a29c1fcf00b1f"
# http://errors.yoctoproject.org/Errors/Details/184715/
# Can't find required file: ../src/google/protobuf/descriptor.proto
@@ -28,4 +28,5 @@ RDEPENDS_${PN} += " \
"
# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb
deleted file mode 100644
index f04fc489..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-protobuf.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
index 67ae118b..dfb33e8d 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -1,9 +1,9 @@
SUMMARY = "A cross-platform process and system utilities module for Python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b"
-SRC_URI[md5sum] = "200e073cdd56cc7a9ba9a06088569200"
-SRC_URI[sha256sum] = "686e5a35fe4c0acc25f3466c32e716f2d498aaae7b7edc03e2305b682226bcf6"
+SRC_URI[md5sum] = "ed7b0f11ed214bcabbe76b7cf52f3ae3"
+SRC_URI[sha256sum] = "685ec16ca14d079455892f25bd124df26ff9137664af445563c1bd36629b5e0e"
PACKAGES =+ "${PN}-tests"
@@ -18,3 +18,5 @@ RDEPENDS_${PN} += " \
${PYTHON_PN}-threading \
${PYTHON_PN}-xml \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.6.bb
deleted file mode 100644
index 9aabfb20..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.6.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit pypi setuptools
-require python-psutil.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc
index 49cc5a43..a6dc21cf 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc
@@ -15,6 +15,27 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
RDEPENDS_${PN} = "\
${PYTHON_PN}-core \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-terminal \
+ ${PYTHON_PN}-resource \
"
BBCLASSEXTEND = "native nativesdk"
+
+inherit ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-terminal \
+ ${PYTHON_PN}-resource \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.6.0.bb
deleted file mode 100644
index 7ca45877..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-ptyprocess.inc
-inherit pypi setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
deleted file mode 100644
index 8144523c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities"
-HOMEPAGE = "http://py.readthedocs.io/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
-
-SRC_URI[md5sum] = "5ccd0cd5373c55171cf9fd61b9f19a1b"
-SRC_URI[sha256sum] = "06a30435d058473046be836d3fc4f27167fd84c45b99704f2fb5509ef61f9af1"
-
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.6.0.bb
deleted file mode 100644
index 5ad2c197..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-py.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb
deleted file mode 100644
index e5153421..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyalsaaudio.inc
-inherit pypi setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
index 87dbd1d3..ce979199 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
@@ -4,13 +4,26 @@ DESCRIPTION = "A collection of ASN.1 modules expressed in form of pyasn1\
data structures (X.509, PKCS etc.)."
HOMEPAGE = "https://github.com/etingof/pyasn1-modules"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=815ac3f9ca693006349094b358ab3155"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a14482d15c2249de3b6f0e8a47e021fd"
-SRC_URI[md5sum] = "65ce1ea1021679bffe96065baab232de"
-SRC_URI[sha256sum] = "a0cf3e1842e7c60fde97cb22d275eb6f9524f5c5250489e292529de841417547"
+SRC_URI[md5sum] = "18c77d56abeef631d94f95ff2d652859"
+SRC_URI[sha256sum] = "0c35a52e00b672f832e5846826f1fb7507907f7d52fba6faa9e3c4cbe874fe4b"
-inherit pypi
+inherit pypi ptest
RDEPENDS_${PN} = "${PYTHON_PN}-pyasn1"
BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb
deleted file mode 100644
index eb788840..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyasn1-modules.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
index ab34d250..d9557646 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
@@ -1,10 +1,10 @@
SUMMARY = "Python library implementing ASN.1 types."
HOMEPAGE = "http://pyasn1.sourceforge.net/"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=815ac3f9ca693006349094b358ab3155"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=a14482d15c2249de3b6f0e8a47e021fd"
-SRC_URI[md5sum] = "0d182b71e1f72fe147d7957bc90be7f2"
-SRC_URI[sha256sum] = "f58f2a3d12fd754aa123e9fa74fb7345333000a035f3921dbdaa08597aa53137"
+SRC_URI[md5sum] = "dffae4ff9f997a83324b3f33fe62be54"
+SRC_URI[sha256sum] = "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"
RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-codecs \
@@ -14,3 +14,18 @@ RDEPENDS_${PN}_class-target += " \
"
BBCLASSEXTEND = "native nativesdk"
+
+inherit ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.4.bb
deleted file mode 100644
index a13c74dd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit pypi setuptools
-require python-pyasn1.inc
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-lang \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyaudio.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyaudio.inc
new file mode 100644
index 00000000..0d3ddb1a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyaudio.inc
@@ -0,0 +1,13 @@
+SUMMARY = "PyAudio provides Python bindings for PortAudio, the cross-platform audio I/O library"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README;md5=288793c2b9b05bd67abbd2a8f5d144f7"
+
+PYPI_PACKAGE = "PyAudio"
+
+SRC_URI[md5sum] = "7e4c88139284033f67b4336c74eda3b8"
+SRC_URI[sha256sum] = "93bfde30e0b64e63a46f2fd77e85c41fd51182a4a3413d9edfaf9ffaa26efb74"
+
+DEPENDS += "portaudio-v19"
+
+RDEPENDS_${PN} += "portaudio-v19"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
index 1722875a..d1d53e12 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
@@ -3,5 +3,5 @@ HOMEPAGE = "https://github.com/wjakob/pybind11"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=beb87117af69fd10fbf9fb14c22a2e62"
-SRC_URI[md5sum] = "5b9611041e4ea66b2b919239e3bacd65"
-SRC_URI[sha256sum] = "87ff3ae777d9326349af5272974581270b2a0909b2392dc0cc57eb28ce23bcc3"
+SRC_URI[md5sum] = "23fdca8191b16ce3e7f38fb9e4252b2d"
+SRC_URI[sha256sum] = "72e6def53fb491f7f4e92692029d2e7bb5a0783314f20d80222735ff10a75758"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.3.bb
deleted file mode 100644
index e5674300..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pybind11.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez.inc
deleted file mode 100644
index 399fe579..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Bluetooth Python extension module"
-HOMEPAGE = "http://karulis.github.io/pybluez/"
-SECTION = "devel/python"
-
-DEPENDS = "bluez5"
-
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
-
-inherit pypi
-
-SRC_URI = "https://pypi.python.org/packages/c1/98/3149481d508bee174335be6725880f00d297afebe75c15e917af8f6fe169/PyBluez-0.22.zip"
-SRC_URI[md5sum] = "49dab9d5a8f0b798c8125c7f649be3cd"
-SRC_URI[sha256sum] = "4ce006716a54d9d18e8186a3f1c8b12a8e6befecffe8fd5828a291fb694ce49d"
-
-S = "${WORKDIR}/PyBluez-${PV}"
-
-RDEPENDS_${PN} += "\
- bluez5 \
- ${PYTHON_PN}-fcntl \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb
deleted file mode 100644
index 3158f4b6..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pybluez.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc
deleted file mode 100644
index c0e46b7e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Python style guide checker (formly called pep8)"
-HOMEPAGE = "https://pypi.org/project/pycodestyle"
-LICENSE = "MIT"
-SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=01831ddbaf398471da3cc87f5037e822"
-
-SRC_URI[md5sum] = "85bbebd2c90d2f833c1db467d4d0e9a3"
-SRC_URI[sha256sum] = "cbfca99bd594a10f674d0cd97a3d802a1fdef635d4361e1a2658de47ed261e3a"
-
-inherit pypi
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb
deleted file mode 100644
index 7c736e76..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-pycodestyle.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-lang"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
deleted file mode 100644
index d112d9f7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Parser of the C language, written in pure Python"
-HOMEPAGE = "https://github.com/eliben/pycparser"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86f1cedb4e6410a88ce8e30b91079169"
-
-SRC_URI[md5sum] = "72370da54358202a60130e223d488136"
-SRC_URI[sha256sum] = "99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226"
-
-BBCLASSEXTEND = "native nativesdk"
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-ply \
- ${PYTHON_PN}-pprint \
- cpp \
- cpp-symlinks \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
deleted file mode 100644
index 98742737..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit pypi setuptools
-require python-pycparser.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
deleted file mode 100644
index e13db01b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-inherit distutils
-require python-pycrypto.inc
-
-# We explicitly call distutils_do_install, since we want it to run, but
-# *don't* want the autotools install to run, since this package doesn't
-# provide a "make install" target.
-do_install() {
- distutils_do_install
-}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc
deleted file mode 100644
index c4969f96..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Cryptographic library for Python"
-DESCRIPTION = "PyCryptodome is a self-contained Python package of low-level\
- cryptographic primitives."
-HOMEPAGE = "http://www.pycryptodome.org"
-LICENSE = "PD & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=775fe77831c03bf82f35abc0e230d4c1"
-
-SRC_URI[md5sum] = "a2587b6381b0ef4eb960cea1e7507d04"
-SRC_URI[sha256sum] = "c5dd29e9f1b733e74311bf95d0e544e91bd1d14bc0366e8f443562d8d9920b7d"
-
-inherit pypi
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-math \
-"
-
-RDEPENDS_${PN}-tests += " \
- ${PYTHON_PN}-unittest \
-"
-
-PACKAGES =+ "${PN}-tests"
-
-FILES_${PN}-tests += " \
- ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/ \
- ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/__pycache__/ \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.4.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.4.11.bb
deleted file mode 100644
index c7701eb9..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.4.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pycryptodome.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus.inc
deleted file mode 100644
index 0773b7ff..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Pythonic DBus library"
-HOMEPAGE = "https://pypi.python.org/pypi/pydbus/"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a916467b91076e631dd8edb7424769c7"
-
-SRC_URI[md5sum] = "c6abd44862322679bd4e907bebc3e0d0"
-SRC_URI[sha256sum] = "4207162eff54223822c185da06c1ba8a34137a9602f3da5a528eedf3f78d0f2c"
-
-S = "${WORKDIR}/pydbus-${PV}"
-
-RDEPENDS_${PN} = "${PYTHON_PN}-pygobject"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus_0.6.0.bb
deleted file mode 100644
index 1722a80c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus_0.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pydbus.inc
-inherit pypi setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect.inc
deleted file mode 100644
index d2d41d51..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Python expectaton library"
-DESCRIPTION = "Minimal but very flexible implementation of the expect pattern"
-SECTION = "devel/python"
-HOMEPAGE = " https://bitbucket.org/dwt/pyexpect"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://README.md;md5=500b884e9dcd5f677a53cbbee8ace939"
-
-inherit pypi
-
-SRC_URI[md5sum] = "c71307d6c7096fdbde0813018dfa0092"
-SRC_URI[sha256sum] = "d656ef7e07a8aa539ce0a4883a683341037b6fc1c329bf55b63bffbf2cce9582"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect_1.0.17.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect_1.0.17.bb
deleted file mode 100644
index d26beb79..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect_1.0.17.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pyexpect.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata.inc
deleted file mode 100644
index 2365379a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "A Python interface for the Firmata protocol"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=84ddcef430b7c44caa22b2ff4b37a3df"
-PYPI_PACKAGE = "pyFirmata"
-
-RDEPENDS_${PN} = "\
- ${PYTHON_PN}-pyserial \
-"
-
-SRC_URI[md5sum] = "ee4c23ca5c35d3091d550a63540811a3"
-SRC_URI[sha256sum] = "b54d49d66a9d93c1ef9c72ca01264414cb2de177baac116c12d5cce0c380160c"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata_1.0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata_1.0.3.bb
deleted file mode 100644
index d77e0f38..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyfirmata_1.0.3.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools
-require python-pyfirmata.inc
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
deleted file mode 100644
index a16a880d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "passive checker of Python programs"
-HOMEPAGE = "https://github.com/dreamhost/cliff"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.rst;md5=029ce1beb023f2c4ca9f417e4984a865"
-
-SRC_URI[md5sum] = "b385b0e4cd40a522553e97cd2d83573e"
-SRC_URI[sha256sum] = "8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-prettytable \
- ${PYTHON_PN}-cmd2 \
- ${PYTHON_PN}-pyparsing"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch
deleted file mode 100644
index 09c4394c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 2ef124e235a47dd4742813cf80e11a89cf4f02f8 Mon Sep 17 00:00:00 2001
-From: Andrew Jeffery <andrew@aj.id.au>
-Date: Thu, 3 May 2018 12:35:31 +0930
-Subject: [PATCH] ptrace: Abstract over user_regs_struct name, which differs on
- ARM32
-
-Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
----
- src/ptrace.cc | 6 +++---
- src/ptrace.h | 10 ++++++++--
- 2 files changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/src/ptrace.cc b/src/ptrace.cc
-index 485f58e4d82e..610fabb3b8e8 100644
---- a/src/ptrace.cc
-+++ b/src/ptrace.cc
-@@ -122,8 +122,8 @@ void PtraceInterrupt(pid_t pid) {
- DoWait(pid);
- }
-
--struct user_regs_struct PtraceGetRegs(pid_t pid) {
-- struct user_regs_struct regs;
-+user_regs_struct PtraceGetRegs(pid_t pid) {
-+ user_regs_struct regs;
- if (ptrace(PTRACE_GETREGS, pid, 0, &regs)) {
- std::ostringstream ss;
- ss << "Failed to PTRACE_GETREGS: " << strerror(errno);
-@@ -132,7 +132,7 @@ struct user_regs_struct PtraceGetRegs(pid_t pid) {
- return regs;
- }
-
--void PtraceSetRegs(pid_t pid, struct user_regs_struct regs) {
-+void PtraceSetRegs(pid_t pid, user_regs_struct regs) {
- if (ptrace(PTRACE_SETREGS, pid, 0, &regs)) {
- std::ostringstream ss;
- ss << "Failed to PTRACE_SETREGS: " << strerror(errno);
-diff --git a/src/ptrace.h b/src/ptrace.h
-index 7083be1c4dfd..d6af8bf9f83a 100644
---- a/src/ptrace.h
-+++ b/src/ptrace.h
-@@ -23,6 +23,12 @@
-
- #include "./config.h"
-
-+#if defined(__arm__)
-+typedef struct user_regs user_regs_struct;
-+#else
-+typedef struct user_regs_struct user_regs_struct;
-+#endif
-+
- namespace pyflame {
-
- int DoWait(pid_t pid, int options = 0);
-@@ -39,10 +45,10 @@ void PtraceSeize(pid_t pid);
- void PtraceInterrupt(pid_t pid);
-
- // get regs from a process
--struct user_regs_struct PtraceGetRegs(pid_t pid);
-+user_regs_struct PtraceGetRegs(pid_t pid);
-
- // set regs in a process
--void PtraceSetRegs(pid_t pid, struct user_regs_struct regs);
-+void PtraceSetRegs(pid_t pid, user_regs_struct regs);
-
- // poke a long word into an address
- void PtracePoke(pid_t pid, unsigned long addr, long data);
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch
deleted file mode 100644
index 3eefc9cb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 007965d341349679607699d005c4af811b2c419a Mon Sep 17 00:00:00 2001
-From: Andrew Jeffery <andrew@aj.id.au>
-Date: Fri, 4 May 2018 11:23:53 +0930
-Subject: [PATCH] symbol: Account for prelinked shared objects
-
-Some projects, such as those derived from Yocto, tend to prelink their
-binaries and libraries to reduce runtime overhead. Currently this trips
-up pyflame in its symbol address calculations, and leads to ptrace
-failures due to spurious addresses:
-
- $ pyflame -t python -c "print 'foo'"
- Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
- Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
- Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
- Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
- Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
- ...
-
-Add support for reading a prelinked base p_vaddr out of the ELF and
-adjust the PyAddresses values accordingly.
-
-Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
----
- src/symbol.cc | 15 +++++++++++++++
- src/symbol.h | 29 ++++++++++++++++++++++++++++-
- 2 files changed, 43 insertions(+), 1 deletion(-)
-
-diff --git a/src/symbol.cc b/src/symbol.cc
-index 125174efeeb5..39c3e8132dd1 100644
---- a/src/symbol.cc
-+++ b/src/symbol.cc
-@@ -166,6 +166,17 @@ PyABI ELF::WalkTable(int sym, int str, PyAddresses *addrs) {
- return abi;
- }
-
-+addr_t ELF::GetBaseAddress() {
-+ int32_t phnum = hdr()->e_phnum;
-+ int32_t i;
-+ for (i = 0; i < phnum && phdr(i)->p_type != PT_LOAD; i++) {
-+ }
-+ if (i == phnum) {
-+ throw FatalException("Failed to find PT_LOAD entry in program headers");
-+ }
-+ return phdr(i)->p_vaddr;
-+}
-+
- PyAddresses ELF::GetAddresses(PyABI *abi) {
- PyAddresses addrs;
- PyABI detected_abi = WalkTable(dynsym_, dynstr_, &addrs);
-@@ -176,6 +187,10 @@ PyAddresses ELF::GetAddresses(PyABI *abi) {
- if (abi != nullptr) {
- *abi = detected_abi;
- }
-+ // Handle prelinked shared objects
-+ if (hdr()->e_type == ET_DYN) {
-+ return addrs - GetBaseAddress();
-+ }
- return addrs;
- }
- } // namespace pyflame
-diff --git a/src/symbol.h b/src/symbol.h
-index 124853bcc1c1..bb92b9a2604b 100644
---- a/src/symbol.h
-+++ b/src/symbol.h
-@@ -28,15 +28,19 @@
-
- #if USE_ELF64
- #define ehdr_t Elf64_Ehdr
-+#define phdr_t Elf64_Phdr
- #define shdr_t Elf64_Shdr
- #define dyn_t Elf64_Dyn
- #define sym_t Elf64_Sym
-+#define addr_t Elf64_Addr
- #define ARCH_ELFCLASS ELFCLASS64
- #else
- #define ehdr_t Elf32_Ehdr
-+#define phdr_t Elf32_Phdr
- #define shdr_t Elf32_Shdr
- #define dyn_t Elf32_Dyn
- #define sym_t Elf32_Sym
-+#define addr_t Elf32_Addr
- #define ARCH_ELFCLASS ELFCLASS32
- #endif
-
-@@ -67,8 +71,18 @@ struct PyAddresses {
- interp_head_hint(0),
- pie(false) {}
-
-+ PyAddresses operator-(const unsigned long base) const {
-+ PyAddresses res(*this);
-+ res.tstate_addr = this->tstate_addr == 0 ? 0 : this->tstate_addr - base;
-+ res.interp_head_addr =
-+ this->interp_head_addr == 0 ? 0 : this->interp_head_addr - base;
-+ res.interp_head_fn_addr =
-+ this->interp_head_fn_addr == 0 ? 0 : this->interp_head_fn_addr - base;
-+ return res;
-+ }
-+
- PyAddresses operator+(const unsigned long base) const {
-- PyAddresses res;
-+ PyAddresses res(*this);
- res.tstate_addr = this->tstate_addr == 0 ? 0 : this->tstate_addr + base;
- res.interp_head_addr =
- this->interp_head_addr == 0 ? 0 : this->interp_head_addr + base;
-@@ -113,6 +127,9 @@ class ELF {
- // ABI.
- PyAddresses GetAddresses(PyABI *abi);
-
-+ // Extract the base load address from the Program Header table
-+ addr_t GetBaseAddress();
-+
- private:
- void *addr_;
- size_t length_;
-@@ -122,6 +139,16 @@ class ELF {
- return reinterpret_cast<const ehdr_t *>(addr_);
- }
-
-+ inline const phdr_t *phdr(int idx) const {
-+ if (idx < 0) {
-+ std::ostringstream ss;
-+ ss << "Illegal phdr index: " << idx;
-+ throw FatalException(ss.str());
-+ }
-+ return reinterpret_cast<const phdr_t *>(p() + hdr()->e_phoff +
-+ idx * hdr()->e_phentsize);
-+ }
-+
- inline const shdr_t *shdr(int idx) const {
- if (idx < 0) {
- std::ostringstream ss;
---
-2.14.1
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
deleted file mode 100644
index 340aab74..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Pyflame: A Ptracing Profiler For Python"
-HOMEPAGE = "https://github.com/uber/pyflame"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-DEPENDS = "python"
-
-SRC_URI = "git://github.com/uber/pyflame.git;protocol=https"
-S = "${WORKDIR}/git"
-
-inherit pkgconfig autotools
-
-COMPATIBLE_HOST_libc-musl_class-target = "null"
-COMPATIBLE_HOST_mipsarch_class-target = "null"
-COMPATIBLE_HOST_aarch64_class-target = "null"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb
deleted file mode 100644
index 8dedb892..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require python-pyflame.inc
-
-# v1.6.6
-SRCREV = "8a9d8c2acc3b3bb027475b738134f1e6fff14e6c"
-SRC_URI += "file://0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch"
-SRC_URI += "file://0001-symbol-Account-for-prelinked-shared-objects.patch"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme_0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme_0.3.bb
deleted file mode 100644
index 14e967db..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme_0.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A Python module for working with OpenPGP messages"
-DESCRIPTION = "PyGPGME is a Python module that lets you sign, verify, \
- encrypt and decrypt messages using the OpenPGP format."
-HOMEPAGE = "https://launchpad.net/pygpgme"
-
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=6517bdc8f2416f27ab725d4702f7aac3"
-
-SRC_URI = "file://run-ptest \
- file://0001-reflect-2.1-reporting-for-key-imports.patch \
- file://0002-passphrase_cb-is-deprecated.patch \
- file://0003-handle-generic-error-when-no-passphrase-callback-pre.patch \
-"
-
-SRC_URI[md5sum] = "d38355af73f0352cde3d410b25f34fd0"
-SRC_URI[sha256sum] = "5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1"
-
-DEPENDS += "gpgme"
-RDEPENDS_${PN} += "gnupg"
-
-inherit pypi setuptools ptest
-
-do_install_ptest(){
- install ${S}/test_all.py ${D}${PTEST_PATH}
- cp -r ${S}/tests ${D}${PTEST_PATH}
-}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyhamcrest_1.9.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyhamcrest_1.9.0.bb
deleted file mode 100644
index 02d4f54e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyhamcrest_1.9.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Hamcrest framework for matcher objects"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f6df1318c6071dd1707f5e3b6c11f24f"
-
-PYPI_PACKAGE = "PyHamcrest"
-
-SRC_URI[md5sum] = "8b833a3fa30197455df79424f30c8c3f"
-SRC_URI[sha256sum] = "8ffaa0a53da57e89de14ced7185ac746227a8894dbd5a3c718bf05ddbd1d56cd"
-
-inherit pypi setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc
deleted file mode 100644
index 2e398fce..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Pyiface is a package that exposes the network interfaces of the operating system in a easy to use and transparent way"
-SECTION = "devel/python"
-HOMEPAGE = "https://pypi.python.org/pypi/pyiface/"
-LICENSE = "GPLv3+"
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fe869ee987a340198fb0d54c55c47f1"
-
-SRC_URI[md5sum] = "b066aa984656742738127c9c75436ab4"
-SRC_URI[sha256sum] = "e231e5735d329c5b2d4fc8854f069fdaa5436d3ef91ed64ee49e41e3f5e8a3f5"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.11.bb
deleted file mode 100644
index 854cb30e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pyiface.inc \ No newline at end of file
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
deleted file mode 100644
index 975f11c1..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Python pyinotify: Linux filesystem events monitoring"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ab173cade7965b411528464589a08382"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-misc \
- ${PYTHON_PN}-shell \
-"
-
-SRC_URI[md5sum] = "8e580fa1ff3971f94a6f81672b76c406"
-SRC_URI[sha256sum] = "9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify_0.9.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify_0.9.6.bb
deleted file mode 100644
index 0c9a2c72..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify_0.9.6.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-pyinotify.inc
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks.inc
deleted file mode 100644
index d866c565..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Pure-Python Java Keystore (JKS) library"
-DESCRIPTION = "PyJKS enables Python projects to load and manipulate\
- Java KeyStore (JKS) data without a JVM dependency. PyJKS supports JKS,\
- JCEKS, BKS and UBER (BouncyCastle) keystores."
-HOMEPAGE = "http://github.com/kurtbrose/pyjks"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9694d6cc724caf7f7386be88a4a81958"
-
-SRC_URI[md5sum] = "d53501e7c80d465969742bc6bee91d49"
-SRC_URI[sha256sum] = "709c44a303dd6b2464078ebeb677417e717818d4b3dc3844a462bef9d215dcc8"
-
-inherit pypi
-
-RDEPENDS_${PN} = "\
- ${PYTHON_PN}-javaobj-py3 \
- ${PYTHON_PN}-pyasn1 \
- ${PYTHON_PN}-pyasn1-modules \
- ${PYTHON_PN}-pycryptodome \
- ${PYTHON_PN}-twofish\
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks_17.1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks_17.1.1.bb
deleted file mode 100644
index ce99f283..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks_17.1.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyjks.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc
deleted file mode 100644
index 00c38e31..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "JSON Web Token implementation in Python"
-SUMMARY = "JSON Web Token implementation in Python"
-DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\
- Original implementation was written by https://github.com/progrium"
-HOMEPAGE = "http://github.com/jpadilla/pyjwt"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=68626705a7b513ca8d5f44a3e200ed0c"
-
-SRC_URI[md5sum] = "2731c6b66b67b95d1944f072f5fa35a9"
-SRC_URI[sha256sum] = "4ee413b357d53fd3fb44704577afac88e72e878716116270d722723d65b42176"
-
-PYPI_PACKAGE = "PyJWT"
-inherit pypi
-
-RDEPENDS_${PN} = "${PYTHON_PN}-cryptography"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.4.bb
deleted file mode 100644
index f0a77b67..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyjwt.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc
deleted file mode 100644
index ba85b988..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc
+++ /dev/null
@@ -1,38 +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] = "2eb5f3cb8fe567eaf5420dd415012202"
-SRC_URI[sha256sum] = "c77311859e0c2d7932095f30d2b1bfdc4b6fe111f534450ba727a52eae330ef2"
-
-inherit pypi
-
-DEPENDS += "${PYTHON_PN}-pytest-runner-native"
-
-do_install_append(){
- rm ${D}${bindir}/pylint
- cat >> ${D}${bindir}/pylint <<EOF
-#!/usr/bin/env ${PYTHON_PN}
-from pylint import run_pylint
-run_pylint()
-EOF
- chmod 755 ${D}${bindir}/pylint
- sed -i -e 's:^#!/usr/bin/python:#!/usr/bin/env\ ${PYTHON_PN}:g' ${D}/${PYTHON_SITEPACKAGES_DIR}/pylint/test/data/ascript
-}
-
-PACKAGES =+ "${PN}-tests"
-FILES_${PN}-tests+= " \
- ${PYTHON_SITEPACKAGES_DIR}/pylint/test/ \
- ${PYTHON_SITEPACKAGES_DIR}/pylint/testutils.py \
-"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-astroid \
- ${PYTHON_PN}-isort \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-pkgutil \
- ${PYTHON_PN}-difflib \
- ${PYTHON_PN}-netserver \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.8.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.8.3.bb
deleted file mode 100644
index 7b51d3fb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.8.3.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools python-dir
-require python-pylint.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-backports-functools-lru-cache"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
deleted file mode 100644
index 468a8012..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Python API for MISP"
-HOMEPAGE = "https://github.com/MISP/PyMISP"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
-
-SRC_URI[md5sum] = "6d549b36cbfa8c1a3323c5d6e299789e"
-SRC_URI[sha256sum] = "f4ed2000cbe1a314f1f88fd8a8eba4ad05974b351b96f1235c6e532158a39fe0"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-jsonschema \
- ${PYTHON_PN}-requests \
- ${PYTHON_PN}-six \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.93.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.93.bb
deleted file mode 100644
index 1b1fbe95..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.93.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pymisp.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
deleted file mode 100644
index b5277f1c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Python driver for MongoDB <http://www.mongodb.org>"
-DESCRIPTION = "\
-The PyMongo distribution contains tools for interacting with MongoDB \
-database from Python. The bson package is an implementation of the BSON \
-format for Python. The pymongo package is a native Python driver for \
-MongoDB. The gridfs package is a gridfs implementation on top of pymongo."
-HOMEPAGE = "http://github.com/mongodb/mongo-python-driver"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-
-SRC_URI[md5sum] = "7449c81a6c32c3c8cb9bebebc848fded"
-SRC_URI[sha256sum] = "f14fb6c4058772a0d74d82874d3b89d7264d89b4ed7fa0413ea0ef8112b268b9"
-
-PACKAGES =+ "${PYTHON_PN}-bson"
-
-FILES_${PYTHON_PN}-bson = "${PYTHON_SITEPACKAGES_DIR}/bson/*"
-
-RDEPENDS_${PYTHON_PN}-bson += " \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-threading \
-"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-bson \
- ${PYTHON_PN}-pprint \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.7.1.bb
deleted file mode 100644
index b1778b2f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.7.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pymongo.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc
deleted file mode 100644
index 6a398962..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Linux network configuration library for Python"
-DESCRIPTION = "This library contains Python bindings to ioctl calls"
-SECTION = "devel/python"
-HOMEPAGE = "http://github.com/rlisagor/pynetlinux"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=74e1861736ee959824fe7542323c12e9"
-
-inherit pypi
-
-SRC_URI[md5sum] = "3336e5d4a478acca4e35bf3125b4f883"
-SRC_URI[sha256sum] = "4ad08298c9f5ba15a11cddc639ba8778cabdfc402b51066d9e0a325e5a5b391c"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux_1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux_1.1.bb
deleted file mode 100644
index c45ad6ad..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux_1.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pynetlinux.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
deleted file mode 100644
index 516e7958..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Simple Python wrapper around the OpenSSL library"
-HOMEPAGE = "https://pyopenssl.org/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS += "openssl ${PYTHON_PN}-cryptography"
-
-SRC_URI[md5sum] = "c92e9c85b520b7e153fef0f7f3c5dda7"
-SRC_URI[sha256sum] = "6488f1423b00f73b7ad5167885312bb0ce410d3312eb212393795b53c8caa580"
-
-PYPI_PACKAGE = "pyOpenSSL"
-
-PACKAGES =+ "${PN}-tests"
-FILES_${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test"
-
-RDEPENDS_${PN}_class-target = " \
- ${PYTHON_PN}-cryptography \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-threading \
-"
-RDEPENDS_${PN}-tests = "${PN}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_18.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_18.0.0.bb
deleted file mode 100644
index b7d51461..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_18.0.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyopenssl.inc
-inherit pypi setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
deleted file mode 100644
index e30839f8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-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 \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb
deleted file mode 100644
index 90217f3c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pyparsing.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc
deleted file mode 100644
index 4ee47eef..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "A cross-platform clipboard module for Python. (only handles plain text for now)"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=4a3129a2c1b8bdc0e2895a1ec0e2dae2"
-
-SRC_URI[md5sum] = "3680607974f99d6e4411b102358b1884"
-SRC_URI[sha256sum] = "43496f0a1f363a5ecfc4cda5eba6a2a3d5056fe6c7ffb9a99fbb1c5a3c7dea05"
-
-inherit pypi
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-ctypes \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.2.bb
deleted file mode 100644
index 6c9fcbd8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.2.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit setuptools
-require python-pyperclip.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-contextlib \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex-native_0.9.9.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex-native_0.9.9.bb
deleted file mode 100644
index e8ef1aa1..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex-native_0.9.9.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require python-pyrex_${PV}.bb
-inherit native pythonnative
-DEPENDS = "python-native"
-RDEPENDS_${PN} = ""
-PR = "r3"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex_0.9.9.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex_0.9.9.bb
deleted file mode 100644
index c4dd2e69..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex_0.9.9.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Language for writing Python extension modules"
-DESCRIPTION = "Pyrex is a language specially designed for writing Python extension modules. \
-It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \
-and the messy, low-level world of C."
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=771d472f53f933033f57eeee7808e5bd"
-SRCNAME = "Pyrex"
-PR = "r4"
-
-SRC_URI = "\
- http://www.cosc.canterbury.ac.nz/greg.ewing/python/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
- file://pyrex-fix-optimized-mode.patch \
-"
-
-SRC_URI[md5sum] = "515dee67d15d4393841e2d60e8341947"
-SRC_URI[sha256sum] = "5f87df06831d0b3412eb4bc9d3fc2ee7bfae1b913d7da8c23ab2bf5699fb6b50"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit distutils
-
-FILES_${PN} += "${datadir}${base_libdir}/${PYTHON_DIR}/site-packages/Pyrex/Compiler/Lexicon.pickle"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
deleted file mode 100644
index ed1981e4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "A pure Python netlink and Linux network configuration library"
-LICENSE = "GPLv2 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce"
-
-SRC_URI[md5sum] = "2f6f951e94356ae9d224f417dc6ebed2"
-SRC_URI[sha256sum] = "42bf74495d95a0196a74dd171357f660175aba2bfc23f9b5f63e3830ccbef9ac"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyroute2:"
-
-inherit pypi
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-ctypes \
- ${PYTHON_PN}-distutils \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-multiprocessing \
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-pkgutil \
- ${PYTHON_PN}-pprint \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-unixadmin \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.5.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.5.2.bb
deleted file mode 100644
index f25f1b4a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.5.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require python-pyroute2.inc
-inherit setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
deleted file mode 100644
index 52a7e05c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Serial Port Support for Python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d476d94926db6e0008a5b3860d1f5c0d"
-
-SRC_URI[md5sum] = "ed6183b15519a0ae96675e9c3330c69b"
-SRC_URI[sha256sum] = "6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627"
-
-inherit pypi
-
-PACKAGES =+ "${PN}-java ${PN}-osx ${PN}-win32 ${PN}-tools"
-
-FILES_${PN}-java = " \
- ${PYTHON_SITEPACKAGES_DIR}/serial/*java* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*java* \
-"
-
-FILES_${PN}-osx = " \
- ${PYTHON_SITEPACKAGES_DIR}/serial/tools/*osx* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/*osx* \
-"
-
-FILES_${PN}-win32 = " \
- ${PYTHON_SITEPACKAGES_DIR}/serial/*serialcli* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*serialcli* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/*win32* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*win32* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/tools/miniterm* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/miniterm* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/tools/*windows* \
- ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/*windows* \
-"
-
-RDEPENDS_${PN} = "\
- ${PYTHON_PN}-fcntl \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-threading \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb
deleted file mode 100644
index fd852a2b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-pyserial.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-argparse"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb
deleted file mode 100644
index 24759b5d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "SNMP SMI/MIB Parser"
-DESCRIPTION = "A pure-Python implementation of SNMP/SMI MIB \
- parsing and conversion library. Can produce PySNMP MIB modules. \
-"
-HOMEPAGE = "https://pypi.python.org/pypi/pysmi"
-SECTION = "devel/python"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=d8b1bbadd635f187dee74d999a8c67b8"
-
-SRC_URI[md5sum] = "3b0f71e4e9f730d211f09d8ef5371140"
-SRC_URI[sha256sum] = "2a315cc3e556b3428372b69da663a24d2f0df9e9ab075b022cb133855f25aef7"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "python-ply"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb
deleted file mode 100644
index 0b38d58e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-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/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
deleted file mode 100644
index 53ec1b7d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "A Python SOCKS client module"
-HOMEPAGE = "http://python-requests.org"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
-
-SRC_URI[md5sum] = "441c4e3bf5b042f7e70613cd871df26c"
-SRC_URI[sha256sum] = "3fe52c55890a248676fd69dc9e3c4e811718b777834bcaab7a8125cf9deac672"
-
-PYPI_PACKAGE = "PySocks"
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-email \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-shell \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.8.bb
deleted file mode 100644
index 8a24e4c4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.8.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pysocks.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc
deleted file mode 100644
index 88455657..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-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/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb
deleted file mode 100644
index 95938f2b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pysqlite.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pystache.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pystache.inc
deleted file mode 100644
index 6dbc99f5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pystache.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Python implementation of Mustache"
-HOMEPAGE = "https://github.com/defunkt/pystache"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=eb4417802c56384aac71b34505528a60"
-
-SRC_URI[md5sum] = "485885e67a0f6411d5252e69b20a35ca"
-SRC_URI[sha256sum] = "f7bbc265fb957b4d6c7c042b336563179444ab313fb93a719759111eabd3b85a"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-netserver \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pystache_0.5.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pystache_0.5.4.bb
deleted file mode 100644
index a4550124..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pystache_0.5.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pystache.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace.inc
deleted file mode 100644
index a69867d9..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "This plugin does not provide any helpers to pytest, it does, however, provide a helpers namespace in pytest which enables you to register helper functions in your conftest.py to be used within your tests without having to import them."
-HOMEPAGE = "https://github.com/saltstack/pytest-helpers-namespace"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=71fac4dfeee99c39c51f617e9486237c"
-
-SRC_URI[md5sum] = "80fe3e515f640b1459709b539f6b857e"
-SRC_URI[sha256sum] = "d8bdb017c0f7271699c08850b6b12e1ce9e52913cbd4461b5febd21082a29113"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace_2016.7.10.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace_2016.7.10.bb
deleted file mode 100644
index 2b6ee855..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace_2016.7.10.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require python-pytest-helpers-namespace.inc
-
-inherit setuptools
-
-RDEPENDS_${PN} += " \
- python-pytest \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
deleted file mode 100644
index 3b057b0c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Invoke py.test as distutils command with dependency resolution"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
-
-SRC_URI[md5sum] = "4b696b0f35767f0694f183d0a1855300"
-SRC_URI[sha256sum] = "d23f117be39919f00dd91bffeb4f15e031ec797501b717a245e377aee0f577be"
-
-inherit pypi
-
-DEPENDS += " \
- ${PYTHON_PN}-setuptools-scm-native"
-
-RDEPENDS_${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json \
- ${PYTHON_PN}-io"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb
deleted file mode 100644
index 1765a732..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools
-require python-pytest-runner.inc
-
-# Dependency only exists for python2
-RDEPENDS_${PN} += "python-argparse python-compiler"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir.inc
deleted file mode 100644
index 196f6d64..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "Adds support for a predictable and repeatable temporary directory."
-HOMEPAGE = "https://github.com/saltstack/pytest-tempdir"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=8751a9cf4a70be4f02697a9b89e686ce"
-
-SRC_URI[md5sum] = "f87f2583f5f8aaca7203d57ada3948b5"
-SRC_URI[sha256sum] = "65ff815966ea6dfc07ca1b43747c9888a6d883971170e67b16290f9f50d434ea"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir_2016.8.20.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir_2016.8.20.bb
deleted file mode 100644
index 8a9b83e3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir_2016.8.20.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require python-pytest-tempdir.inc
-
-inherit setuptools
-
-RDEPENDS_${PN} += " \
- python-pytest \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
deleted file mode 100644
index 4c32dfb0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Simple powerful teting with python"
-HOMEPAGE = "http://pytest.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4"
-
-SRC_URI[md5sum] = "1b83a25d45fad893f430fc5031653c56"
-SRC_URI[sha256sum] = "117bad36c1a787e1a8a659df35de53ba05f9f3398fb9e4ac17e80ad5903eb8c5"
-
-SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch \
- file://pytest_version_fix.patch "
-
-inherit update-alternatives
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-attrs \
- ${PYTHON_PN}-debugger \
- ${PYTHON_PN}-doctest \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-pluggy \
- ${PYTHON_PN}-py \
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-six \
-"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/python-pytest:"
-
-ALTERNATIVE_${PN} += "py.test pytest"
-
-NATIVE_LINK_NAME[pytest] = "${bindir}/pytest"
-ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest"
-
-ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test"
-ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
deleted file mode 100644
index 06dfcdfc..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 24a901fd17926e8e05be4ed2e01b0113a2e3a852 Mon Sep 17 00:00:00 2001
-From: Derek Straka <derek@asterius.io>
-Date: Tue, 19 Dec 2017 11:36:39 -0500
-Subject: [PATCH] [PATCH 1/1] setup.py: remove the setup_requires for
- setuptools-scm
-
-The setup_requires argument forces the download of the egg file for setuptools-scm
-during the do_compile phase. This download is incompatible with the typical fetch
-and mirror structure. The only usage of scm is the generation of the _version.py
-file and in the release tarball it is already correctly created
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Derek Straka <derek@asterius.io>
----
- setup.py | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 3eb38ef..1163202 100644
---- a/setup.py
-+++ b/setup.py
-@@ -82,7 +82,6 @@ def main():
- keywords="test unittest",
- cmdclass={'test': PyTest},
- # the following should be enabled for release
-- setup_requires=['setuptools-scm'],
- python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
- install_requires=install_requires,
- extras_require=extras_require,
---
-2.7.4
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
deleted file mode 100644
index b373d93e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Upstream-Status: Inappropriate (OE specific)
-
-python-pytest: remove fetch during do_compile phase
-commit: c974fbf9ebf185552ab65301e07af44f36517abf
-
-introduced an issue by making the version 0.0.0
-this fixes that
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: pytest-3.2.2/setup.py
-===================================================================
---- pytest-3.2.2.orig/setup.py
-+++ pytest-3.2.2/setup.py
-@@ -1,5 +1,6 @@
- import os
- import sys
-+import re
- import setuptools
- import pkg_resources
- from setuptools import setup, Command
-@@ -22,6 +23,18 @@ classifiers = [
- with open('README.rst') as fd:
- long_description = fd.read()
-
-+def read(*names, **kwargs):
-+ with open(os.path.join( *names), 'r') as fp:
-+ return fp.read()
-+
-+def find_version(*file_paths):
-+ version_file = read(*file_paths)
-+ version_match = re.search(r"^version = ['\']([^'\"]*)['\']",
-+ version_file, re.M)
-+
-+ if version_match:
-+ return version_match.group(1)
-+ raise RuntimeError("Unable to find version string.")
-
- def get_environment_marker_support_level():
- """
-@@ -59,9 +72,7 @@ def main():
- name='pytest',
- description='pytest: simple powerful testing with Python',
- long_description=long_description,
-- use_scm_version={
-- 'write_to': '_pytest/_version.py',
-- },
-+ version=find_version("_pytest", "_version.py"),
- url='http://pytest.org',
- license='MIT license',
- platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb
deleted file mode 100644
index 39e50aca..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-inherit pypi setuptools
-require python-pytest.inc
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-argparse \
- ${PYTHON_PN}-compiler \
- ${PYTHON_PN}-funcsigs \
-"
-ALTERNATIVE_PRIORITY = "10"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
deleted file mode 100644
index aedffe15..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "World timezone definitions, modern and historical"
-HOMEPAGE = "http://pythonhosted.org/pytz"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4878a915709225bceab739bdc2a18e8d"
-
-inherit pypi
-
-SRC_URI[md5sum] = "45409cbfa3927bdd2f3ee914dd5b1060"
-SRC_URI[sha256sum] = "ffb9ef1de172603304d9d2819af6f5ece76f2e85ec10692a524dd876e72bf277"
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-doctest \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-pprint \
- ${PYTHON_PN}-threading \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.5.bb
deleted file mode 100755
index f2ffc596..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.5.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pytz.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
deleted file mode 100644
index 683a75cd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A libudev binding"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI[md5sum] = "cf4d9db7d772622144ca1be6b5d9353b"
-SRC_URI[sha256sum] = "094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b"
-
-do_configure_prepend() {
- sed -i "/import pyudev/d" ${S}/setup.py
- sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py
-}
-
-RDEPENDS_${PN} = "\
- ${PYTHON_PN}-ctypes \
- ${PYTHON_PN}-misc \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-threading \
- libudev \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
deleted file mode 100644
index a3e15014..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require python-pyudev.inc
-
-RDEPENDS_${PN} = "\
- ${PYTHON_PN}-contextlib \
- ${PYTHON_PN}-subprocess \
-"
-
-inherit pypi setuptools
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
deleted file mode 100644
index 30bbe85a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "PyUSB provides USB access on the Python language"
-HOMEPAGE = "http://pyusb.sourceforge.net/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=51691ed11cc2c7ae93e383f60ed49b0f"
-DEPENDS += "libusb1"
-
-SRC_URI[md5sum] = "862b56452c64948c787ad8ef9498590b"
-SRC_URI[sha256sum] = "4e9b72cc4a4205ca64fbf1f3fff39a335512166c151ad103e55c8223ac147362"
-
-inherit pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.2.bb
deleted file mode 100644
index 99a795b2..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pyusb.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
deleted file mode 100644
index afce543f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python support for YAML"
-HOMEPAGE = "http://www.pyyaml.org"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5591701d32590f9fa94f3bfee820b634"
-DEPENDS = "libyaml ${PYTHON_PN}-cython-native ${PYTHON_PN}"
-
-PYPI_PACKAGE = "PyYAML"
-inherit pypi
-
-SRC_URI[md5sum] = "b78b96636d68ac581c0e2f38158c224f"
-SRC_URI[sha256sum] = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-datetime \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb
deleted file mode 100644
index 5a4c92d8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyyaml.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq.inc
deleted file mode 100644
index 2447c2f3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Pyzmq provides Zero message queue access for the Python language"
-HOMEPAGE = "http://zeromq.org/bindings:python"
-LICENSE = "BSD & LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e \
- file://COPYING.LESSER;md5=12c592fa0bcfff3fb0977b066e9cb69e"
-DEPENDS = "zeromq"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyzmq:"
-
-SRC_URI += "file://club-rpath-out.patch"
-SRC_URI[md5sum] = "aecdfc328193fbd81f6dc23228319943"
-SRC_URI[sha256sum] = "2199f753a230e26aec5238b0518b036780708a4c887d4944519681a920b9dee4"
-
-inherit pypi pkgconfig
-
-RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing"
-
-FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug"
-
-do_compile_prepend() {
- echo [global] > ${S}/setup.cfg
- echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg
- echo have_sys_un_h = True >> ${S}/setup.cfg
- echo skip_check_zmq = True >> ${S}/setup.cfg
- echo libzmq_extension = False >> ${S}/setup.cfg
- echo no_libzmq_extension = True >> ${S}/setup.cfg
-}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_17.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_17.1.0.bb
deleted file mode 100644
index b690106b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_17.1.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyzmq.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc
deleted file mode 100644
index 1a65d731..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Python client for Redis key-value store"
-DESCRIPTION = "The Python interface to the Redis key-value store."
-HOMEPAGE = "http://github.com/andymccurdy/redis-py"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=51d9ad56299ab60ba7be65a621004f27"
-
-SRC_URI[md5sum] = "048348d8cfe0b5d0bba2f4d835005c3b"
-SRC_URI[sha256sum] = "a22ca993cea2962dbb588f9f30d0015ac4afcc45bee27d3978c0dbe9e97c6c0f"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-datetime \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.6.bb
deleted file mode 100644
index 6c3ca851..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-redis_2.10.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-redis.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
deleted file mode 100644
index 301c2f82..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "Python HTTP for Humans."
-HOMEPAGE = "http://python-requests.org"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bfbeafb85a2cee261510d65d5ec19156"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/python-requests:"
-
-SRC_URI += "file://0001-Strip-Authorization-header-whenever-root-URL-changes.patch \
- file://0002-Rework-authorization-stripping-logic-as-discussed.patch \
- "
-
-SRC_URI[md5sum] = "6c1a31afec9d614e2e71a91ee6ca2878"
-SRC_URI[sha256sum] = "ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a"
-
-inherit pypi
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-email \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-ndg-httpsclient \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-pyasn1 \
- ${PYTHON_PN}-pyopenssl \
- ${PYTHON_PN}-pysocks \
- ${PYTHON_PN}-urllib3 \
- ${PYTHON_PN}-chardet \
- ${PYTHON_PN}-idna \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch
deleted file mode 100644
index 80ef5ffb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From fb0d391138df48e93c44a2087ea796cca5e229c0 Mon Sep 17 00:00:00 2001
-From: Bruce Merry <bmerry@ska.ac.za>
-Date: Thu, 28 Jun 2018 16:38:42 +0200
-Subject: [PATCH 1/2] Strip Authorization header whenever root URL changes
-
-Previously the header was stripped only if the hostname changed, but in
-an https -> http redirect that can leak the credentials on the wire
-(#4716). Based on with RFC 7235 section 2.2, the header is now stripped
-if the "canonical root URL" (scheme+authority) has changed, by checking
-scheme, hostname and port.
-
-Upstream-Status: Backport
-
-Fix CVE-2018-18074
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- requests/sessions.py | 4 +++-
- tests/test_requests.py | 12 +++++++++++-
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/requests/sessions.py b/requests/sessions.py
-index ba13526..2969d83 100644
---- a/requests/sessions.py
-+++ b/requests/sessions.py
-@@ -242,7 +242,9 @@ class SessionRedirectMixin(object):
- original_parsed = urlparse(response.request.url)
- redirect_parsed = urlparse(url)
-
-- if (original_parsed.hostname != redirect_parsed.hostname):
-+ if (original_parsed.hostname != redirect_parsed.hostname
-+ or original_parsed.port != redirect_parsed.port
-+ or original_parsed.scheme != redirect_parsed.scheme):
- del headers['Authorization']
-
- # .netrc might have more auth for us on our new host.
-diff --git a/tests/test_requests.py b/tests/test_requests.py
-index fcddb1d..e0e801a 100644
---- a/tests/test_requests.py
-+++ b/tests/test_requests.py
-@@ -1575,7 +1575,17 @@ class TestRequests:
- auth=('user', 'pass'),
- )
- assert r.history[0].request.headers['Authorization']
-- assert not r.request.headers.get('Authorization', '')
-+ assert 'Authorization' not in r.request.headers
-+
-+ def test_auth_is_stripped_on_scheme_redirect(self, httpbin, httpbin_secure, httpbin_ca_bundle):
-+ r = requests.get(
-+ httpbin_secure('redirect-to'),
-+ params={'url': httpbin('get')},
-+ auth=('user', 'pass'),
-+ verify=httpbin_ca_bundle
-+ )
-+ assert r.history[0].request.headers['Authorization']
-+ assert 'Authorization' not in r.request.headers
-
- def test_auth_is_retained_for_redirect_on_host(self, httpbin):
- r = requests.get(httpbin('redirect/1'), auth=('user', 'pass'))
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch
deleted file mode 100644
index ef069fb9..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 698c2fa850bfc8b3bdb768e1c1cd6d57e643811d Mon Sep 17 00:00:00 2001
-From: Bruce Merry <bmerry@ska.ac.za>
-Date: Tue, 14 Aug 2018 13:30:43 +0200
-Subject: [PATCH 2/2] Rework authorization stripping logic as discussed
-
-The exception for http->https upgrade now requires the standard HTTP(S)
-ports to be used, either implicitly (no port specified) or explicitly.
-
-Upstream-Status: Backport
-
-Follow-up fix for CVE-2018-18074
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- requests/sessions.py | 26 ++++++++++++++++++--------
- tests/test_requests.py | 33 ++++++++++++++++++++++-----------
- 2 files changed, 40 insertions(+), 19 deletions(-)
-
-diff --git a/requests/sessions.py b/requests/sessions.py
-index 2969d83..c11a3a2 100644
---- a/requests/sessions.py
-+++ b/requests/sessions.py
-@@ -115,6 +115,22 @@ class SessionRedirectMixin(object):
- return to_native_string(location, 'utf8')
- return None
-
-+ def should_strip_auth(self, old_url, new_url):
-+ """Decide whether Authorization header should be removed when redirecting"""
-+ old_parsed = urlparse(old_url)
-+ new_parsed = urlparse(new_url)
-+ if old_parsed.hostname != new_parsed.hostname:
-+ return True
-+ # Special case: allow http -> https redirect when using the standard
-+ # ports. This isn't specified by RFC 7235, but is kept to avoid
-+ # breaking backwards compatibility with older versions of requests
-+ # that allowed any redirects on the same host.
-+ if (old_parsed.scheme == 'http' and old_parsed.port in (80, None)
-+ and new_parsed.scheme == 'https' and new_parsed.port in (443, None)):
-+ return False
-+ # Standard case: root URI must match
-+ return old_parsed.port != new_parsed.port or old_parsed.scheme != new_parsed.scheme
-+
- def resolve_redirects(self, resp, req, stream=False, timeout=None,
- verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs):
- """Receives a Response. Returns a generator of Responses or Requests."""
-@@ -236,16 +252,10 @@ class SessionRedirectMixin(object):
- headers = prepared_request.headers
- url = prepared_request.url
-
-- if 'Authorization' in headers:
-+ if 'Authorization' in headers and self.should_strip_auth(response.request.url, url):
- # If we get redirected to a new host, we should strip out any
- # authentication headers.
-- original_parsed = urlparse(response.request.url)
-- redirect_parsed = urlparse(url)
--
-- if (original_parsed.hostname != redirect_parsed.hostname
-- or original_parsed.port != redirect_parsed.port
-- or original_parsed.scheme != redirect_parsed.scheme):
-- del headers['Authorization']
-+ del headers['Authorization']
-
- # .netrc might have more auth for us on our new host.
- new_auth = get_netrc_auth(url) if self.trust_env else None
-diff --git a/tests/test_requests.py b/tests/test_requests.py
-index e0e801a..148067b 100644
---- a/tests/test_requests.py
-+++ b/tests/test_requests.py
-@@ -1567,17 +1567,7 @@ class TestRequests:
- preq = req.prepare()
- assert test_url == preq.url
-
-- @pytest.mark.xfail(raises=ConnectionError)
-- def test_auth_is_stripped_on_redirect_off_host(self, httpbin):
-- r = requests.get(
-- httpbin('redirect-to'),
-- params={'url': 'http://www.google.co.uk'},
-- auth=('user', 'pass'),
-- )
-- assert r.history[0].request.headers['Authorization']
-- assert 'Authorization' not in r.request.headers
--
-- def test_auth_is_stripped_on_scheme_redirect(self, httpbin, httpbin_secure, httpbin_ca_bundle):
-+ def test_auth_is_stripped_on_http_downgrade(self, httpbin, httpbin_secure, httpbin_ca_bundle):
- r = requests.get(
- httpbin_secure('redirect-to'),
- params={'url': httpbin('get')},
-@@ -1594,6 +1584,27 @@ class TestRequests:
-
- assert h1 == h2
-
-+ def test_should_strip_auth_host_change(self):
-+ s = requests.Session()
-+ assert s.should_strip_auth('http://example.com/foo', 'http://another.example.com/')
-+
-+ def test_should_strip_auth_http_downgrade(self):
-+ s = requests.Session()
-+ assert s.should_strip_auth('https://example.com/foo', 'http://example.com/bar')
-+
-+ def test_should_strip_auth_https_upgrade(self):
-+ s = requests.Session()
-+ assert not s.should_strip_auth('http://example.com/foo', 'https://example.com/bar')
-+ assert not s.should_strip_auth('http://example.com:80/foo', 'https://example.com/bar')
-+ assert not s.should_strip_auth('http://example.com/foo', 'https://example.com:443/bar')
-+ # Non-standard ports should trigger stripping
-+ assert s.should_strip_auth('http://example.com:8080/foo', 'https://example.com/bar')
-+ assert s.should_strip_auth('http://example.com/foo', 'https://example.com:8443/bar')
-+
-+ def test_should_strip_auth_port_change(self):
-+ s = requests.Session()
-+ assert s.should_strip_auth('http://example.com:1234/foo', 'https://example.com:4321/bar')
-+
- def test_manual_redirect_with_partial_body_read(self, httpbin):
- s = requests.Session()
- r1 = s.get(httpbin('redirect/2'), allow_redirects=False, stream=True)
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb
deleted file mode 100644
index 0d7a29f7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-requests.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-zlib"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3339-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3339-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch
new file mode 100644
index 00000000..ce8ca0bc
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3339-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch
@@ -0,0 +1,32 @@
+From 2de281fdca88f223ace1eb6428a77b9903c69264 Mon Sep 17 00:00:00 2001
+From: Nicola Lunghi <nicola.lunghi@jci.com>
+Date: Thu, 14 Nov 2019 11:58:28 +0000
+Subject: [PATCH] setup.py: move pytest-runner to test_requirements
+
+This fixes an issue with yocto build.
+pytest-runner is only needed when running tests.
+
+Upstream-Status: Pending
+---
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 9a50767..e3b1c6e 100644
+--- a/setup.py
++++ b/setup.py
+@@ -12,9 +12,9 @@ requirements = [
+ 'six',
+ ]
+
+-setup_requirements = ['pytest-runner', ]
++setup_requirements = []
+
+-test_requirements = ['pytest>=3', ]
++test_requirements = ['pytest>=3', 'pytest-runner']
+
+ setup(
+ author="Nicolas Aimetti",
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3986-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3986-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch
new file mode 100644
index 00000000..8a646874
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3986-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch
@@ -0,0 +1,32 @@
+From 3531ff73631a0d59234eb4713e7b3a7f5ea57bbb Mon Sep 17 00:00:00 2001
+From: Nicola Lunghi <nicola.lunghi@jci.com>
+Date: Thu, 14 Nov 2019 12:17:51 +0000
+Subject: [PATCH] setup.py: move pytest-runner to test_requirements
+
+This fixes an issue with yocto build.
+pytest-runner is only needed when running tests.
+
+Upstream-Status: Pending
+---
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 53ebea7..ebb0de2 100644
+--- a/setup.py
++++ b/setup.py
+@@ -10,9 +10,9 @@ with open('README.md') as readme_file:
+
+ requirements = []
+
+-setup_requirements = ['pytest-runner', ]
++setup_requirements = []
+
+-test_requirements = ['pytest>=3', ]
++test_requirements = ['pytest>=3', 'pytest-runner']
+
+ setup(
+ author="Nicolas Aimetti",
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987.inc
deleted file mode 100644
index 46159041..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=9;md5=2b723edf67b2f3088bc5e339b1ceda2d"
-
-SRC_URI[md5sum] = "aa108c7590902fe609c036864ecb7f84"
-SRC_URI[sha256sum] = "91a7826b0a26c246a5a91bef09c2c0809c713a689be689b9571e78a13f6557a4"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987_1.3.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987_1.3.7.bb
deleted file mode 100644
index dcda5aa4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987_1.3.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-rfc3987.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc
deleted file mode 100644
index 9f07b657..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Robot Framework test library for serial connection"
-HOMEPAGE = "https://github.com/whosaysni/robotframework-seriallibrary"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI[md5sum] = "b7c9565d54c30df7cd3f3c0e29adffa3"
-SRC_URI[sha256sum] = "256ad60fc0b7df4be44d82c302f5ed8fad4935cda99e4b45942e3c88179d1e19"
-
-SRC_URI = "https://files.pythonhosted.org/packages/ce/e1/1e337dc84a20b9d92d7b243d16bb9f6fc0084967eca7454228bb546efec7/robotframework-seriallibrary-0.3.1.tar.gz"
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-pyserial \
- ${PYTHON_PN}-robotframework \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary_0.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary_0.3.1.bb
deleted file mode 100644
index 440f69cb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary_0.3.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-robotframework-seriallibrary.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc
deleted file mode 100644
index e920c51d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A Python generic test automation framework"
-DESCRIPTION = "Generic open source test atomation framework for acceptance\
-testing and acceptance test-driven development (ATDD). It has easy-to-use\
-tabular test data syntax and it utilizes the keyword-driven testing approach.\
-Its testing capabilities can be extended by test libraries implemented either\
-with Python or Java, and users can create new higher-level keywords from\
-existing ones using the same syntax that is used for creating test cases."
-HOMEPAGE = "http://robotframework.org"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-inherit pypi
-
-SRC_URI[md5sum] = "ee753415645ff4831ff0d366a0467fe7"
-SRC_URI[sha256sum] = "ab94257cbd848dfca7148e092d233a12853cc7e840ce8231af9cbb5e7f51aa47"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-pprint \
- ${PYTHON_PN}-xml \
- ${PYTHON_PN}-difflib \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-html \
- ${PYTHON_PN}-docutils \
- ${PYTHON_PN}-ctypes \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.4.bb
deleted file mode 100644
index ff7dedb5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-robotframework.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-zlib \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc
deleted file mode 100644
index 783d05b7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Bindings for the scrypt key derivation function library"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=8bef8e6712b1be5aa76af1ebde9d6378"
-HOMEPAGE="https://bitbucket.org/mhallin/py-scrypt/overview"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/python-scrypt:"
-
-SRC_URI += "file://0001-py-scrypt-remove-the-hard-coded-include-paths.patch"
-
-SRC_URI[md5sum] = "ae8e3263aa31b040c1f9c7f1e1843a56"
-SRC_URI[sha256sum] = "f8239b2d47fa1d40bc27efd231dc7083695d10c1c2ac51a99380360741e0362d"
-
-inherit pypi
-
-RDEPENDS_${PN}_class-target += "\
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt_0.8.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt_0.8.6.bb
deleted file mode 100644
index 9fbd00e0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt_0.8.6.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools python-dir
-require python-scrypt.inc
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify.inc
deleted file mode 100644
index ea0e575c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-HOMEPAGE = "https://github.com/bb4242/sdnotify"
-SUMMARY = "A pure Python implementation of systemd's service notification protocol (sd_notify)"
-
-DESCRIPTION = "\
- sdnotify is a pure Python implementation of the systemd sd_notify protocol. \
- This protocol can be used to inform systemd about service start-up completion, \
- watchdog events, and other service status changes. \
- Thus, this package can be used to write system services in Python that play nicely with systemd. \
- "
-
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cc572ccc4b18a4b7d13be5d01bc8213e"
-
-SRC_URI[md5sum] = "749ddca1c70be1697fecc443fb1fdb16"
-SRC_URI[sha256sum] = "73977fc746b36cc41184dd43c3fe81323e7b8b06c2bb0826c4f59a20c56bb9f1"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify_0.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify_0.3.2.bb
deleted file mode 100644
index 39ae3fb0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sdnotify_0.3.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools pypi
-require python-sdnotify.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.2.bb
deleted file mode 100644
index 69545ebb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Backport of the selectors module from Python 3.4"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=2fae0222c31d6c10488d4ab93a863af7"
-
-SRC_URI[md5sum] = "bc855a1c8839a811476c019dc07d92dd"
-SRC_URI[sha256sum] = "09f5066337f8a76fb5233f267873f89a27a17c10bf79575954894bb71686451c"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-six \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-semver.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-semver.inc
deleted file mode 100644
index 3c95c06e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-semver.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Python module for Semantic Versioning"
-HOMEPAGE = "https://github.com/k-bx/python-semver"
-BUGTRACKER = "https://github.com/k-bx/python-semver/issues"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
-
-SRC_URI[md5sum] = "dc579ba9d0bb2137bad5324d4bdb7e40"
-SRC_URI[sha256sum] = "5b09010a66d9a3837211bb7ae5a20d10ba88f8cb49e92cb139a69ef90d5060d8"
-
-inherit pypi
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-semver_2.8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-semver_2.8.1.bb
deleted file mode 100644
index 0572feb3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-semver_2.8.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-semver.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
deleted file mode 100644
index 2ba65706..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Serialization based on ast.literal_eval"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5a8193ba89f1083617f32d522f6485e9"
-
-SRC_URI[md5sum] = "0f9684622125a527fa4fbe2587738973"
-SRC_URI[sha256sum] = "264a028e059c1b557701ae7c567cdab330dbd228ff924489343efcb39bd828a0"
-
-inherit pypi
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.25.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.25.bb
deleted file mode 100644
index 0db3cf98..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.25.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-serpent.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
deleted file mode 100644
index 98883ec3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "the blessed package to manage your versions by scm tags"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-
-SRC_URI[md5sum] = "cfec5d2dbbd0a85c40066f79035b5878"
-SRC_URI[sha256sum] = "a767141fecdab1c0b3c8e4c788ac912d7c94a0d6c452d40777ba84f918316379"
-
-PYPI_PACKAGE = "setuptools_scm"
-inherit pypi
-
-RDEPENDS_${PN}_class-target = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json"
-RDEPENDS_${PN}_class-native = "${PYTHON_PN}-setuptools-native"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_2.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_2.1.0.bb
deleted file mode 100644
index 64b36e3a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_2.1.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-setuptools-scm.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-argparse"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sh.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sh.inc
deleted file mode 100644
index f2fd562b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sh.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Python subprocess replacement"
-HOMEPAGE = "https://github.com/amoffat/sh"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6"
-
-SRC_URI[md5sum] = "a8351aef25d25f707c17e0a7a6280251"
-SRC_URI[sha256sum] = "b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc"
-
-PYPI_PACKAGE = "sh"
-
-inherit pypi
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-resource \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-terminal \
- ${PYTHON_PN}-tests \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-unixadmin \
-"
-
-# WARNING: We were unable to map the following python package/module
-# dependencies to the bitbake packages which include them:
-# coverage - only used in test and there is a check to see if it is
-# available before importing.
-# queue - part of threading
-# signal - part of core in python3. not sure how it is imported in python2.
-# No complants in compiling.
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sh_1.12.14.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sh_1.12.14.bb
deleted file mode 100644
index 7cb5140d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sh_1.12.14.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require python-sh.inc
-inherit setuptools
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-contextlib \
- ${PYTHON_PN}-lang \
- ${PYTHON_PN}-textutils \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sijax.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sijax.inc
deleted file mode 100644
index 9e46893d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sijax.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-DESCRIPTION = "An easy to use AJAX library for Python based on jQuery.ajax"
-HOMEPAGE = "https://github.com/spantaleev/sijax-python"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=16e213d75641a392478df50cf0841903"
-
-PYPI_PACKAGE = "Sijax"
-inherit pypi \ No newline at end of file
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sijax_0.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sijax_0.3.2.bb
deleted file mode 100644
index 4226c423..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sijax_0.3.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "An easy to use AJAX library for Python based on jQuery.ajax"
-HOMEPAGE = "https://github.com/spantaleev/sijax-python"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=16e213d75641a392478df50cf0841903"
-
-PYPI_PACKAGE = "Sijax"
-inherit setuptools
-require python-sijax.inc
-
-SRC_URI[sha256sum] = "11b062f4a8b2aad95c87e7c09e5daf5a6b0d0f08abf9efe5f91a0075c6be7c0d" \ No newline at end of file
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
deleted file mode 100644
index 3d36f960..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-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] = "744fa99aed207478f8fbf9dd9f04fad3"
-SRC_URI[sha256sum] = "b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5"
-
-inherit pypi
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-numbers \
-"
-
-PACKAGES =+ "${PN}-tests"
-RDEPENDS_${PN}-tests = "${PN} ${PYTHON_PN}-unittest"
-FILES_${PN}-tests+= " \
- ${PYTHON_SITEPACKAGES_DIR}/simplejson/tests \
- ${PYTHON_SITEPACKAGES_DIR}/simplejson/tool.py* \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb
deleted file mode 100644
index 24ad9a96..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-simplejson.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-re"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
deleted file mode 100644
index 44c9505b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "functools.singledispatch from Python 3.4"
-DESCRIPTION = "PEP 443 proposed to expose a mechanism in the functools standard library module \
-in Python 3.4 that provides a simple form of generic programming known as single-dispatch \
-generic functions. This library is a backport of this functionality to Python 2.6 - 3.3"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.rst;md5=ee3cd67264adc7eb07981f3644dc17dc"
-
-SRC_URI[md5sum] = "af2fc6a3d6cc5a02d0bf54d909785fcb"
-SRC_URI[sha256sum] = "5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c"
-
-inherit pypi setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
deleted file mode 100644
index a5915c11..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Python 2 and 3 compatibility library"
-HOMEPAGE = "http://pypi.python.org/pypi/six/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=35cec5bf04dd0820d0a18533ea7c774a"
-
-SRC_URI[md5sum] = "d12789f9baf7e9fb2524c0c64f1773f8"
-SRC_URI[sha256sum] = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"
-
-do_compile_append() {
- ${PYTHON} setup.py -q bdist_egg --dist-dir ./
-}
-do_install_append() {
- install -m 0644 ${S}/*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
-}
-
-RDEPENDS_${PN} += "${PYTHON_PN}-io"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.11.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.11.0.bb
deleted file mode 100644
index 9075745d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.11.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-six.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
deleted file mode 100644
index dc587e76..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
+++ /dev/null
@@ -1,31 +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://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
-}
-
-# http://errors.yoctoproject.org/Errors/Details/184713/
-# python-native/python: can't open file 'setup.py': [Errno 2] No such file or directory
-CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
deleted file mode 100644
index f472a57f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Set of i2c tools for linux - Python module"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://smbusmodule.c;beginline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8"
-PR = "r1"
-
-SRC_URI = "${KERNELORG_MIRROR}/software/utils/i2c-tools/i2c-tools-${PV}.tar.gz "
-SRC_URI[md5sum] = "d92a288d70f306d3895e3a7e9c14c9aa"
-SRC_URI[sha256sum] = "5b60daf6f011de0acb61de57dba62f2054bb39f19961d67e0c91610f071ca403"
-
-DEPENDS += "i2c-tools"
-
-S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_4.0.bb
deleted file mode 100644
index 1b957788..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_4.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit distutils
-require python-smbus.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-snakefood_1.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-snakefood_1.4.bb
deleted file mode 100644
index e4a6d767..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-snakefood_1.4.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Dependency graphing for Python"
-DESCRIPTION = " Generate dependency graphs from Python code. This \
-dependency tracker package has a few distinguishing characteristics \
-\
- * It uses the AST to parse the Python files. This is very reliable, \
- it always runs.\
- * No module is loaded. Loading modules to figure out dependencies is \
- almost always problem, because a lot of codebases run initialization \
- code in the global namespace, which often requires additional setup. \
- Snakefood is guaranteed not to have this problem (it just runs, no \
- matter what).\
- * It works on a set of files, i.e. you do not have to specify a single \
- script, you can select a directory (package or else) or a set of files.\
- It finds all the Python files recursively automatically.\
- * Automatic/no configuration: your PYTHONPATH is automatically adjusted \
- to include the required package roots. It figures out the paths that \
- are required from the files/directories given as input. You should not \
- have to setup ANYTHING.\
- * It does not have to automatically 'follow' dependencies between modules,\
- i.e. by default it only considers the files and directories you specify \
- on the command-line and their immediate dependencies. It also has an \
- option to automatically include only the dependencies within the \
- packages of the files you specify.\
- * It follows the UNIX philosophy of small programs that do one thing well:\
- it consists of a few simple programs whose outputs you combine via \
- pipes. Graphing dependencies always requires the user to filter and \
- cluster the filenames, so this is appropriate. You can combine it with \
- your favourite tools, grep, sed, etc.\
-\
-A problem with dependency trackers that run code is that they are unreliable, \
-due to the dynamic nature of Python (the presence of imports within function \
-calls and __import__ hooks makes it almost impossible to always do the right \
-thing). This script aims at being right 99% of the time, and we think that \
-given the trade-offs, 99% is good enough for 99% of the uses.\
-"
-AUTHOR = "Martin Blais <blais@furius.ca>"
-HOMEPAGE = "http://furius.ca/snakefood"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI[md5sum] = "56c88667a33d8909b0aabf2ab6903bdf"
-SRC_URI[sha256sum] = "295784668032254e7391ca99ba7060edd3ae4eca1a330ac11627b18ab5923b77"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = " python-logging python-compiler python-shell"
-# the above modules do not have a -native counterpart
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.12.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.12.bb
deleted file mode 100644
index c5af48dd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.12.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Interactive SNMP tool"
-DESCRIPTION = "Snimpy is a Python-based tool providing a simple interface to build SNMP query"
-HOMEPAGE = "https://pypi.python.org/pypi/snimpy"
-SECTION = "devel/python"
-
-DEPENDS += "libsmi python-cffi-native python-vcversioner-native"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://docs/license.rst;md5=7c53ab2d1240828625c3e093d049d4f4"
-
-SRC_URI[md5sum] = "6d016b6356db432e6a87ad708eb8fcb6"
-SRC_URI[sha256sum] = "04efcfba867ffb0e10cc8d7f93a553ceb6bdf2ee34e49762749028a2c76096c1"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "python-cffi \
- python-pycparser \
- python-pysnmp \
- python-setuptools \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sparts_0.7.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sparts_0.7.3.bb
deleted file mode 100644
index a1253112..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sparts_0.7.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Library for rapid service prototyping with minimal boilerplate"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0c1554636a564da3baf037ac652fc831"
-
-SRC_URI[md5sum] = "6aa8815652c6f5e5e8e5b2ac1813dd87"
-SRC_URI[sha256sum] = "b25707c349079a7c888155e7fdfd8394df2da9aca9c8eee4e205528cb16b7662"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
- python-subprocess \
- python-six \
- python-argparse \
- python-re \
- python-shell \
- python-threading \
- python-logging \
- python-unixadmin \
- python-distutils \
- python-daemonize \
- python-futures \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc
deleted file mode 100644
index 94fa8a6c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-DESCRIPTION = "Media asset management for Python, with glue code for various frameworks"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b810770075a29bf44b96607440e7c801"
-
-SRC_URI[md5sum] = "e8d5dbe36e53d5a35cff227e795e8bbf"
-SRC_URI[sha256sum] = "59fea336d0eed38c1f0bf3181ee1222d0ef45f3a9dd34ebe65e6bfffdd6a65a9"
-
-PYPI_PACKAGE = "speaklater"
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater_1.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater_1.3.bb
deleted file mode 100644
index 56fd5557..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater_1.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-speaklater.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc
deleted file mode 100644
index 1b93763d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-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/external/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
deleted file mode 100644
index 0c191ae7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
+++ /dev/null
@@ -1,20 +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=b1c412c9d8d1ce018f7a9374407c22bb"
-
-PYPI_PACKAGE = "SQLAlchemy"
-inherit pypi
-
-SRC_URI[md5sum] = "03db1c8f8ae911977c0bf3950a4c9c21"
-SRC_URI[sha256sum] = "6b55ec379c11ad696f9371ce8e0de93c7f21134323f56a56a1b0d8fbef17013c"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-threading \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb
deleted file mode 100644
index 53c8fecf..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-sqlalchemy.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc
deleted file mode 100644
index 14ebc0ef..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Manage dynamic plugins for Python applications"
-HOMEPAGE = "https://github.com/dreamhost/stevedore"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI[md5sum] = "525186cba577852e0408c92c3f8fac65"
-SRC_URI[sha256sum] = "1e153545aca7a6a49d8337acca4f41c212fbfa60bf864ecd056df0cafb9627e8"
-
-inherit pypi
-
-DEPENDS += "${PYTHON_PN}-pbr-native"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-pbr ${PYTHON_PN}-six"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.29.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.29.0.bb
deleted file mode 100644
index 70a00c13..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.29.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-stevedore.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339.inc
deleted file mode 100644
index dca9ea93..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Strict, simple, lightweight RFC3339 function.s"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-
-SRC_URI[md5sum] = "4d9b635b4df885bc37bc1189d66c9abc"
-SRC_URI[sha256sum] = "5cad17bedfc3af57b399db0fed32771f18fc54bbd917e85546088607ac5e1277"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339_0.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339_0.7.bb
deleted file mode 100644
index b01ea99a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339_0.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-strict-rfc3339.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-subprocess32_3.2.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-subprocess32_3.2.7.bb
deleted file mode 100644
index f4370692..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-subprocess32_3.2.7.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A backport of the subprocess module from Python 3.2 for use on 2.x"
-DESCRIPTION = "This is a backport of the subprocess standard library module \
-from Python 3.2 - 3.5 for use on Python 2. It includes bugfixes and some new \
-features. On POSIX systems it is guaranteed to be reliable when used in \
-threaded applications. It includes timeout support from Python 3.3 and the \
-run() API from 3.5 but otherwise matches 3.2's API."
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d3e62baa8fb96b11a59d3f2cd335d5c0"
-
-SRC_URI[md5sum] = "824c801e479d3e916879aae3e9c15e16"
-SRC_URI[sha256sum] = "1e450a4a4c53bf197ad6402c564b9f7a53539385918ef8f12bdf430a61036590"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc
index 5be5de09..b14f8250 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc
@@ -7,7 +7,7 @@ PYPI_PACKAGE = "systemd-python"
DEPENDS += "systemd (<=234)"
RDEPENDS_${PN} += "systemd ${PYTHON_PN}-syslog ${PYTHON_PN}-logging"
REQUIRED_DISTRO_FEATURES = "systemd"
-inherit pypi distro_features_check
+inherit pypi features_check
SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
@@ -15,4 +15,6 @@ SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895
# allow for common patches for python- and python3-systemd
FILESEXTRAPATHS_prepend := "${THISDIR}/python-systemd:"
+SRC_URI += "file://endian.patch"
+
SRC_URI_append_libc-musl = " file://0001-Provide-implementation-of-strndupa-for-musl.patch"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd/endian.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd/endian.patch
new file mode 100644
index 00000000..e09aea73
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd/endian.patch
@@ -0,0 +1,14 @@
+Include endian.h for missing definitions of htobe16
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/systemd/util.c
++++ b/systemd/util.c
+@@ -28,6 +28,7 @@
+ #include <stdbool.h>
+ #include <assert.h>
+ #include <errno.h>
++#include <endian.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <net/if.h>
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
deleted file mode 100644
index 80f29007..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-systemd.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado-redis_2.4.18.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado-redis_2.4.18.bb
deleted file mode 100644
index 46a20a5e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado-redis_2.4.18.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Tornado-Redis is an asyncronous Redis client for the Tornado Web Server"
-DESCRIPTION = "Tornado-Redis is a Redis client that uses Tornado's native 'tornado-gen' interface. \
-It can be used alongside redis-py in Tornado applications: \
-tornado-redis to subscribe to Pub/Sub notifications and for blocking commands (such as BLPOP, BRPOP, BRPOPLPUSH); \
-redis-py for other commands."
-HOMEPAGE = "https://github.com/leporo/tornado-redis"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=ca307e8f37b5fa7f8dbbec033f7db7de"
-
-SRC_URI[md5sum] = "1c7ec0f645d15400871141c1149e6934"
-SRC_URI[sha256sum] = "8fd3b324158291ad5fb7f5f8dc2e8763b2895556bd2a44f2dd721b703c669046"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "python-tornado"
-
-RDEPENDS_${PN}-test += "${PN} python-tornado"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
index 16899f88..7cb61931 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
@@ -6,8 +6,8 @@ HOMEPAGE = "http://www.tornadoweb.org/en/stable/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI[md5sum] = "bd264851c409f926d1dae1ad5055d28d"
-SRC_URI[sha256sum] = "4f66a2172cb947387193ca4c2c3e19131f1c70fa8be470ddbbd9317fd0801582"
+SRC_URI[md5sum] = "cab4b11480f6d032e46465586192d343"
+SRC_URI[sha256sum] = "c845db36ba616912074c5b1ee897f8e0124df269468f25e4fe21fe72f6edd7a9"
RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-numbers ${PYTHON_PN}-email \
${PYTHON_PN}-pkgutil ${PYTHON_PN}-html ${PYTHON_PN}-json ${PYTHON_PN}-certifi ${PYTHON_PN}-threading \
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_5.1.bb
deleted file mode 100644
index 193a4db7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_5.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-inherit pypi setuptools
-require python-tornado.inc
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-backports-abc \
- ${PYTHON_PN}-backports-ssl \
- ${PYTHON_PN}-singledispatch \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-traceback2_1.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-traceback2_1.4.0.bb
deleted file mode 100644
index 696c875c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-traceback2_1.4.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A backport of traceback to older supported Pythons"
-HOMEPAGE = "https://github.com/testing-cabal/traceback2"
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=31;endline=31;md5=368ddc8588431c180ae7c33f4fb57519"
-
-DEPENDS = "${PYTHON_PN}-pbr-native"
-
-SRC_URI[md5sum] = "9e9723f4d70bfc6308fa992dd193c400"
-SRC_URI[sha256sum] = "05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030"
-
-inherit pypi setuptools
-
-CLEANBROKEN = "1"
-
-RDEPENDS_${PN} = "${PYTHON_PN}-linecache2"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
index 01616b16..7537bafd 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
@@ -5,10 +5,15 @@ HOMEPAGE = "http://www.twistedmatrix.com"
#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL.
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=04e7730aecedc79d805625a91bc06145"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1743f12d8b8f5aec625c0569a058f0a6"
-SRC_URI[sha256sum] = "a4cc164a781859c74de47f17f0e85f4bce8a3321a9d0892c015c8f80c4158ad9"
-SRC_URI[md5sum] = "da8142ad4e9971a75fe751ac96a33b95"
+# allow for common patches for python- and python3-twisted
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-twisted:"
+
+SRC_URI += "file://0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch"
+
+SRC_URI[sha256sum] = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d"
+SRC_URI[md5sum] = "f2d70f7a66ecdf54152310164cceadfe"
PYPI_PACKAGE = "Twisted"
PYPI_PACKAGE_EXT = "tar.bz2"
@@ -35,7 +40,6 @@ PACKAGES += "\
"
PACKAGES =+ "\
- ${PN}-src \
${PN}-bin \
"
@@ -57,9 +61,20 @@ RDEPENDS_${PN} = "\
${PN}-zsh \
"
-RDEPENDS_${PN}-core = "${PYTHON_PN}-core ${PYTHON_PN}-zopeinterface ${PYTHON_PN}-incremental ${PYTHON_PN}-constantly ${PYTHON_PN}-hyperlink ${PYTHON_PN}-automat"
+RDEPENDS_${PN}-core = "${PYTHON_PN}-appdirs \
+ ${PYTHON_PN}-automat \
+ ${PYTHON_PN}-constantly \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-hyperlink \
+ ${PYTHON_PN}-incremental \
+ ${PYTHON_PN}-pyhamcrest \
+ ${PYTHON_PN}-pyserial \
+ ${PYTHON_PN}-unixadmin \
+ ${PYTHON_PN}-zopeinterface \
+"
RDEPENDS_${PN}-test = "${PN}"
-RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols"
+RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols ${PYTHON_PN}-bcrypt ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1 ${PYTHON_PN}-pickle"
RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols"
RDEPENDS_${PN}-names = "${PN}-core"
RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols"
@@ -242,9 +257,10 @@ FILES_${PN}-doc += " \
${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_pydoctortemplates/ \
"
-RDEPENDS_{PN}-src = "${PN}"
+RDEPENDS_${PN}-src = "${PN}"
FILES_${PN}-src = " \
${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \
${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \
${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \
"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted/0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted/0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch
new file mode 100644
index 00000000..39fc7d43
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted/0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch
@@ -0,0 +1,38 @@
+From 754f21282ad2775db8ff501d40bbc497faeb17ba Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <trevor.gamblin@windriver.com>
+Date: Tue, 17 Dec 2019 15:09:22 -0500
+Subject: [PATCH] fix MemoryReactor import in test_runner to be from
+ twisted.internet.testing
+
+Upstream-Status: Backport [https://github.com/twisted/twisted/commit/754f21282ad2775db8ff501d40bbc497faeb17ba]
+
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
+---
+ src/twisted/application/newsfragments/9746.misc | 1 +
+ src/twisted/application/runner/test/test_runner.py | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+ create mode 100644 src/twisted/application/newsfragments/9746.misc
+
+diff --git a/src/twisted/application/newsfragments/9746.misc b/src/twisted/application/newsfragments/9746.misc
+new file mode 100644
+index 000000000..8b1378917
+--- /dev/null
++++ b/src/twisted/application/newsfragments/9746.misc
+@@ -0,0 +1 @@
++
+diff --git a/src/twisted/application/runner/test/test_runner.py b/src/twisted/application/runner/test/test_runner.py
+index 9abc3449a..cce495b12 100644
+--- a/src/twisted/application/runner/test/test_runner.py
++++ b/src/twisted/application/runner/test/test_runner.py
+@@ -15,7 +15,7 @@ from twisted.logger import (
+ LogLevel, LogPublisher, LogBeginner,
+ FileLogObserver, FilteringLogObserver, LogLevelFilterPredicate,
+ )
+-from twisted.test.proto_helpers import MemoryReactor
++from twisted.internet.testing import MemoryReactor
+
+ from ...runner import _runner
+ from .._exit import ExitStatus
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_18.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_18.4.0.bb
deleted file mode 100644
index 5903db3e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_18.4.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-inherit pypi setuptools
-require python-twisted.inc
-
-RDEPENDS_${PN}-core += "${PYTHON_PN}-contextlib"
-
-RDEPENDS_${PN} += " \
- ${PN}-news \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twofish.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-twofish.inc
deleted file mode 100644
index 79ab285e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twofish.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Bindings for the Twofish implementation by Niels Ferguson"
-DESCRIPTION = "Bindings for the Twofish implementation by Niels Ferguson\
- libtwofish-dev."
-HOMEPAGE = "http://github.com/keybase/python-twofish"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=33a63abf6d7567b1689d8ce69f00e43b"
-
-SRC_URI[md5sum] = "d7d22f16dc4ffa0e3ae2200654033abe"
-SRC_URI[sha256sum] = "b09d8bb50d33b23ff34cafb1f9209f858f752935c6a5c901efb92a41acb830fa"
-
-inherit pypi
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twofish_0.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-twofish_0.3.0.bb
deleted file mode 100644
index 85b02159..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-twofish_0.3.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-twofish.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
deleted file mode 100644
index a0ee6b24..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-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] = "5b2ade08d83be488f17b5fe587c27c74"
-SRC_URI[sha256sum] = "d400a9344254803a2368533e4533a4200d21eb7b6b729c173bc38201a74db3f2"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.4.bb
deleted file mode 100644
index 04ce063c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-typing.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
deleted file mode 100644
index c3d0bfee..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Ultra fast JSON encoder and decoder for Python"
-DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3."
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
-
-SRC_URI[md5sum] = "42f77b0cce686dfa4da2e68480b1dd24"
-SRC_URI[sha256sum] = "f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"
-
-inherit pypi
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-numbers \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb
deleted file mode 100644
index b3c6ae66..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-ujson.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc
deleted file mode 100644
index fc120620..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc
+++ /dev/null
@@ -1,14 +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] = "47f669d7273541fec45e4cc0fba8d8e9"
-SRC_URI[sha256sum] = "9c9ab5fb96b6988b4cd5def6b275492442c04a570900d33aa6373105780025bc"
-
-inherit pypi
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-io \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.5.bb
deleted file mode 100644
index bdb3d27f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.5.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-unidiff.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
deleted file mode 100644
index 288ed8b9..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more"
-HOMEPAGE = "https://github.com/shazow/urllib3"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ea114851ad9a8c311aac8728a681a067"
-
-SRC_URI[md5sum] = "1ad43e4b5ab7a0794c89dc057e1d7179"
-SRC_URI[sha256sum] = "a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-certifi \
- ${PYTHON_PN}-cryptography \
- ${PYTHON_PN}-email \
- ${PYTHON_PN}-idna \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-pyopenssl \
- ${PYTHON_PN}-threading \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.23.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.23.bb
deleted file mode 100644
index 6c81f1db..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.23.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-urllib3.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
deleted file mode 100644
index cd6fa8df..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Python vcversioner, automagically update the project's version"
-HOMEPAGE = "https://github.com/habnabit/vcversioner"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=827a7a91a8d20d3c666b665cd96db8e3"
-
-SRC_URI[md5sum] = "aab6ef5e0cf8614a1b1140ed5b7f107d"
-SRC_URI[sha256sum] = "dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b"
-
-inherit pypi setuptools
-
-do_compile_append() {
- ${PYTHON} setup.py -q bdist_egg --dist-dir ./
-}
-
-do_install_append() {
- install -m 0644 ${S}/vcversioner*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
-}
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-subprocess \
- "
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-visitor.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-visitor.inc
deleted file mode 100644
index 8c2288cf..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-visitor.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SUMMARY = "A tiny pythonic visitor implementation."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-
-SRC_URI[md5sum] = "94a024ed0ec1b02b4497c15267d319ca"
-SRC_URI[sha256sum] = "2c737903b2b6864ebc6167eef7cf3b997126f1aa94bdf590f90f1436d23e480a"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb
deleted file mode 100644
index eee25a54..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-visitor.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.6.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.6.1.bb
deleted file mode 100644
index d31f2f5a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.6.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Python package for parsing and generating vCard and vCalendar files"
-HOMEPAGE = "http://vobject.skyhouseconsulting.com/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI[md5sum] = "06357e96a84d55de2a71b36d39f6853e"
-SRC_URI[sha256sum] = "96512aec74b90abb71f6b53898dd7fe47300cc940104c4f79148f0671f790101"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-numbers \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth.inc
deleted file mode 100644
index 1429450b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Library for building powerful interactive command lines in Python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=11fba47286258744a6bc6e43530c32a1"
-
-SRC_URI[md5sum] = "b3b6a0a08f0c8a34d1de8cf44150a4ad"
-SRC_URI[sha256sum] = "3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth_0.1.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth_0.1.7.bb
deleted file mode 100644
index ef107c16..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth_0.1.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-wcwidth.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
deleted file mode 100644
index a02bbbbe..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Simple Python module for working with HTML/CSS color definitions."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=197add016087e6884a012b0f185d44ad"
-
-SRC_URI[md5sum] = "40890db38b2a856e526a568864025fe6"
-SRC_URI[sha256sum] = "030562f624467a9901f0b455fef05486a88cfb5daa1e356bd4aacea043850b59"
-
-RDEPENDS_${PN}_class-target = "\
- ${PYTHON_PN}-stringold \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.8.1.bb
deleted file mode 100644
index a0b6708c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.8.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-webcolors.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb
deleted file mode 100644
index 7a6437dc..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "This project aims to provide an object-oriented Python WebDAV client-side library\
- based on Python`s standard httplib and Greg Stein`s davlib.\
- The client shall fully support RFCs 4918 (basic specification),\
- 3744 (access control), and 3253 (versioning)."
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/webdav/WebdavClient.py;endline=15;md5=a1520fad859feb7b0d7f05277bc6ce48"
-HOMEPAGE = "http://sourceforge.net/projects/pythonwebdavlib/"
-SRCNAME = "Python_WebDAV_Library"
-DEPENDS = "python"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pythonwebdavlib/Python%20WebDAV%20Library%20-%20${PV}/${SRCNAME}-${PV}.zip"
-SRC_URI[md5sum] = "8e49e0ecc5b4327c4f752a544ee10e1a"
-SRC_URI[sha256sum] = "72c029ad1e25de950f59c2f1812d009d2c1691b70e4b5b09f1af9006e8fd5f23"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit distutils
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
deleted file mode 100644
index 34ca7066..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Character encoding aliases for legacy web content"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
-
-SRC_URI[md5sum] = "32f6e261d52e57bf7e1c4d41546d15b8"
-SRC_URI[sha256sum] = "b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
-
-inherit pypi
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-json \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.1.bb
deleted file mode 100644
index 5de2ed1d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-webencodings.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
deleted file mode 100644
index c04a4e0c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "The Swiss Army knife of Python web development"
-DESCRIPTION = "\
-Werkzeug started as simple collection of various utilities for WSGI \
-applications and has become one of the most advanced WSGI utility modules. \
-It includes a powerful debugger, full featured request and response objects, \
-HTTP utilities to handle entity tags, cache control headers, HTTP dates, \
-cookie handling, file uploads, a powerful URL routing system and a bunch \
-of community contributed addon modules."
-HOMEPAGE = "http://werkzeug.pocoo.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ed9a0b7c0254616d72dadb98b293ef1b"
-
-SRC_URI[md5sum] = "6d20b5be2d245be4ac7706cc390d130c"
-SRC_URI[sha256sum] = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c"
-
-PYPI_PACKAGE = "Werkzeug"
-
-CLEANBROKEN = "1"
-
-PACKAGES =+ "${PN}-tests"
-FILES_${PN}-tests+= " \
- ${PYTHON_SITEPACKAGES_DIR}/werkzeug/test* \
- ${PYTHON_SITEPACKAGES_DIR}/werkzeug/__pycache__/test* \
- ${PYTHON_SITEPACKAGES_DIR}/werkzeug/contrib/test* \
- ${PYTHON_SITEPACKAGES_DIR}/werkzeug/contrib/__pycache__/test* \
-"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-difflib \
- ${PYTHON_PN}-email \
- ${PYTHON_PN}-html \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-pkgutil \
- ${PYTHON_PN}-pprint \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-unixadmin \
-"
-
-RDEPENDS_${PN}-tests = " \
- ${PN} \
- ${PYTHON_PN}-unittest \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.14.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.14.1.bb
deleted file mode 100644
index db41161b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.14.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit pypi setuptools
-require python-werkzeug.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-zlib \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc
deleted file mode 100644
index a4ca5dcd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Fast, pure-Python full text indexing, search, and spell checking library."
-DESCRIPTION = "\
-Whoosh is a fast, featureful full-text indexing and searching library \
-implemented in pure Python. Programmers can use it to easily add search \
-functionality to their applications and websites. Every part of how \
-Whoosh works can be extended or replaced to meet your needs exactly."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05303186defc6141143629961c7c8a60"
-
-SRC_URI[md5sum] = "893433e9c0525ac043df33e6e04caab2"
-SRC_URI[sha256sum] = "e0857375f63e9041e03fedd5b7541f97cf78917ac1b6b06c1fcc9b45375dda69"
-
-PYPI_PACKAGE = "Whoosh"
-PYPI_PACKAGE_EXT = "zip"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-email \
- ${PYTHON_PN}-multiprocessing \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-stringold \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh_2.7.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh_2.7.4.bb
deleted file mode 100644
index 3b4291f4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh_2.7.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit pypi setuptools
-require python-whoosh.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
deleted file mode 100644
index c85548fb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A Python module for decorators, wrappers and monkey patching."
-HOMEPAGE = "http://wrapt.readthedocs.org/"
-LICENSE = "BSD"
-SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=61c27930012e86b3dc7e36f92e83c4d8"
-
-SRC_URI[md5sum] = "e1346f31782d50401f81c2345b037076"
-SRC_URI[sha256sum] = "d4d560d479f2c21e1b5443bbd15fe7ec4b37fe7e53d335d3b9b0a7b1226fe3c6"
-
-inherit pypi
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-threading \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.11.bb
deleted file mode 100644
index bb424765..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-wrapt.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
deleted file mode 100644
index 868686bf..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "A flexible forms validation and rendering library for python web development."
-HOMEPAGE = "https://pypi.python.org/pypi/WTForms"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c4660c132770d5d0a5757541f6b79493"
-
-SRC_URI[md5sum] = "41c0008dbe7bd98892c58f7457a46a4a"
-SRC_URI[sha256sum] = "0cdbac3e7f6878086c334aa25dc5a33869a3954e9d1e015130d65a69309b3b61"
-
-PYPI_PACKAGE = "WTForms"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-numbers \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.2.1.bb
deleted file mode 100644
index fdb015e8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.2.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-wtforms.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
deleted file mode 100644
index d1ab05d4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
-DESCRIPTION = "Extract data from Excel spreadsheets (.xls and .xlsx,\
- versions 2.0 onwards) on any platform. Pure Python (2.6, 2.7, 3.2+). \
-Strong support for Excel dates. Unicode-aware."
-HOMEPAGE = "http://www.python-excel.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=08bd814936237b6e1355e6370b24b2c1"
-
-SRC_URI[md5sum] = "b85c9916ac755cad489a9005f5a0d390"
-SRC_URI[sha256sum] = "8a21885513e6d915fe33a8ee5fdfa675433b61405ba13e2a69e62ee36828d7e2"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.1.0.bb
deleted file mode 100644
index 3a4d709e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.1.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-xlrd.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome.inc
deleted file mode 100644
index d13cb83f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Font Awesome icons packaged for setuptools (easy_install) / pip."
-HOMEPAGE = "https://pypi.python.org/pypi/XStatic-Font-Awesome"
-SECTION = "devel/python"
-LICENSE = "Apache-2"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=313d021898694cd2b0ea6508bdfe51a2"
-
-PYPI_PACKAGE = "XStatic-Font-Awesome"
-
-inherit pypi
-
-SRC_URI[md5sum] = "141a0e9a7e21e82f922573a00ae0c166"
-SRC_URI[sha256sum] = "e01fb480caaa7c7963dcb3328a4700e631bef6070db0e8b685816d220e685f6c"
-
-DEPENDS += " \
- ${PYTHON_PN}-xstatic \
- ${PYTHON_PN}-pip \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome_4.7.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome_4.7.0.0.bb
deleted file mode 100644
index 41e85f4a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome_4.7.0.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-xstatic-font-awesome.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic.inc
deleted file mode 100644
index f7c7db99..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "XStatic base package with minimal support code"
-HOMEPAGE = "https://pypi.python.org/pypi/XStatic"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README.txt;md5=36a1e7eaa71e1bd07b8d2247839f228e"
-
-PYPI_PACKAGE = "XStatic"
-
-SRC_URI[md5sum] = "7064b5ea7fd1ee990e0ae0538301d9bc"
-SRC_URI[sha256sum] = "0ec93d7c66ebb9e0d31b664753437dc8634cb66e13310cb47c9eb1e0bc66d726"
-
-DEPENDS += " \
- ${PYTHON_PN}-pip \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic_1.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic_1.0.1.bb
deleted file mode 100644
index 80730370..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic_1.0.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-xstatic.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-yappi.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-yappi.inc
deleted file mode 100644
index 651ce773..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-yappi.inc
+++ /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=6b131c3041637f6a5175a43112dde05c"
-
-SRC_URI[md5sum] = "dc56240575c99938a924eaeb7c0d8beb"
-SRC_URI[sha256sum] = "5f657129e1b9b952379ffbc009357d0dcdb58c50f3bfe88ffbb992e4b27b263c"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-threading \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
deleted file mode 100644
index a3bdde5c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-yappi.inc
-inherit setuptools
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc b/external/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
deleted file mode 100644
index 12623c9b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
+++ /dev/null
@@ -1,22 +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] = "7b669cd692d817772c61d2e3ad0f1e71"
-SRC_URI[sha256sum] = "57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c"
-
-PYPI_PACKAGE = "zope.interface"
-
-PACKAGES =. "${PN}-test "
-
-RPROVIDES_${PN} += "zope-interfaces"
-
-RDEPENDS_${PN}_class-target += "${PYTHON_PN}-datetime"
-
-FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug"
-FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c"
-FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt"
-FILES_${PN}-test += " \
- ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \
- ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.5.0.bb
deleted file mode 100644
index 1bdfd4d3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.5.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools
-require python-zopeinterface.inc
-
-RDEPENDS_${PN}-test += "python-unittest python-doctest"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb
new file mode 100644
index 00000000..c65a6d7d
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Abseil Python Common Libraries"
+HOMEPAGE = "https://github.com/abseil/abseil-py"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://github.com/abseil/abseil-py.git"
+SRCREV ?= "e3ce504183c57fc4eca52fe84732c11cda99d131"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_2.2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_2.2.3.bb
new file mode 100644
index 00000000..16d2a881
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_2.2.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Advanced Enumerations library"
+HOMEPAGE = "https://pypi.org/project/aenum/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://aenum/LICENSE;md5=c6a85477543f8b8591b9c1f82abebbe9"
+
+SRC_URI[md5sum] = "026786dbb37c15c2c8dc91fbf5828e97"
+SRC_URI[sha256sum] = "a4334cabf47c167d44ab5a6198837b80deec5d5bad1b5cf70c966c3a330260e8"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.4.0.bb
new file mode 100644
index 00000000..b21cade5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.4.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "File support for asyncio"
+DESCRIPTION = "Asynchronous local file IO library for asyncio and Python"
+HOMEPAGE = "https://github.com/aio-libs/aiohttp"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRC_URI[md5sum] = "cb33cf96c371fbd56fc27ab0bd81bd61"
+SRC_URI[sha256sum] = "021ea0ba314a86027c166ecc4b4c07f2d40fc0f4b3a950d1868a0f2571c2bbee"
+
+PYPI_PACKAGE = "aiofiles"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-asyncio \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.6.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.6.2.bb
new file mode 100644
index 00000000..121447cd
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.6.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Async http client/server framework"
+DESCRIPTION = "Asynchronous HTTP client/server framework for asyncio and Python"
+HOMEPAGE = "https://github.com/aio-libs/aiohttp"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cf056e8e7a0a5477451af18b7b5aa98c"
+
+SRC_URI[md5sum] = "ca40144c199a09fc1a141960cf6295f0"
+SRC_URI[sha256sum] = "259ab809ff0727d0e834ac5e8a283dc5e3e0ecc30c4d80b3cd17a4139ce1f326"
+
+PYPI_PACKAGE = "aiohttp"
+inherit setuptools3 pypi
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-async-timeout \
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-chardet \
+ ${PYTHON_PN}-idna-ssl \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-multidict \
+ ${PYTHON_PN}-typing \
+ ${PYTHON_PN}-yarl \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.0.bb
deleted file mode 100644
index e248fe7c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-alembic.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.2.bb
new file mode 100644
index 00000000..22630604
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.4.2.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "A database migration tool for SQLAlchemy"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bd64aba1b968c2bfbc2b525a181ce85c"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "1d67bdbd3abd33f0319afcd29bc59686"
+SRC_URI[sha256sum] = "035ab00497217628bf5d0be82d664d8713ab13d37b630084da8e1f98facf4dbf"
+
+PYPI_PACKAGE = "alembic"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-editor \
+ ${PYTHON_PN}-mako \
+ ${PYTHON_PN}-sqlalchemy \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.5.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.5.2.bb
new file mode 100644
index 00000000..8e586ea3
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.5.2.bb
@@ -0,0 +1,13 @@
+DESCRPTION = "ansi2html - Convert text with ANSI color codes to HTML or to LaTeX"
+HOMEPAGE = "https://github.com/ralphbean/ansi2html"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3000208d539ec061b899bce1d9ce9404"
+LICENSE = "GPLv3"
+
+PYPI_PACKAGE = "ansi2html"
+
+SRC_URI[md5sum] = "52d6085ad1c5970082ea5305a26af981"
+SRC_URI[sha256sum] = "96ae85ae7b26b7da674d87de2870ba4d1964bca733ae4614587080b6358c3ba9"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "${PYTHON_PN}-six"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb
index 199e225b..91c66724 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb
@@ -1,2 +1,13 @@
-inherit setuptools3
-require python-anyjson.inc
+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 setuptools3
+
+SRC_URI[md5sum] = "2ea28d6ec311aeeebaf993cb3008b27c"
+SRC_URI[sha256sum] = "37812d863c9ad3e35c0734c42e0bf0320ce8c3bed82cd20ad54cb34d158157ba"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-simplejson"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs/run-ptest
new file mode 100644
index 00000000..5287f3e0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest | sed -e 's/\[100%\]//g' | sed -e 's/\.\.F/: FAIL/g' | sed -e 's/\.\.\./: PASS/g'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.3.bb
deleted file mode 100644
index d24e1d8b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-appdirs.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb
new file mode 100644
index 00000000..eef5c027
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A small Python module for determining appropriate + platform-specific dirs, e.g. a user data dir."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=31625363c45eb0c67c630a2f73e438e4"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+SRC_URI[md5sum] = "d6bca12613174185dd9abc8a29f4f012"
+SRC_URI[sha256sum] = "7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"
+
+inherit pypi setuptools3 ptest
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.4.bb
new file mode 100644
index 00000000..8d23678a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-apply-defaults_0.1.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Apply values to optional params"
+HOMEPAGE = "https://github.com/bcb/apply_defaults"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c89120516900f96f4c60d35fdc4c3f15"
+
+PYPI_PACKAGE = "apply_defaults"
+
+SRC_URI[md5sum] = "719abb133f4b46283ebd940fcdf30a78"
+SRC_URI[sha256sum] = "1ce26326a61d8773d38a9726a345c6525a91a6120d7333af79ad792dacb6246c"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-core"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.9.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.9.2.bb
new file mode 100644
index 00000000..802a5b2e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.9.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Arpeggio is a recursive descent parser with memoization based on PEG grammars (aka Packrat parser)"
+HOMEPAGE = "https://pypi.org/project/Arpeggio/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=33b8d1ba459a2fa4d801acfd1d1b7ceb"
+
+SRC_URI[md5sum] = "39667a626217c670bc634444be6e904a"
+SRC_URI[sha256sum] = "948ce06163a48a72c97f4fe79ad3d1c1330b6fec4f22ece182fb60ef60bd022b"
+
+PYPI_PACKAGE = "Arpeggio"
+inherit pypi setuptools3
+
+# setup.py of Arpeggio needs this.
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_0.24.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_0.24.0.bb
deleted file mode 100644
index cfbe5752..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_0.24.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools3
-require python-asn1crypto.inc
-
-RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-shell \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.3.0.bb
new file mode 100644
index 00000000..0d38da98
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.3.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "A fast, pure Python library for parsing and serializing ASN.1 structures"
+HOMEPAGE = "https://github.com/wbond/asn1crypto"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7439e38f5e04ff62fae436184786b7ca"
+
+PYPI_PACKAGE = "asn1crypto"
+
+SRC_URI[md5sum] = "daad112940181917e3ff169b47b9bd9a"
+SRC_URI[sha256sum] = "5a215cb8dc12f892244e3a113fe05397ee23c5c4ca7a69cd6e69811755efc42d"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-codecs \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.1.bb
new file mode 100644
index 00000000..125a0236
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Easy manipulation of Python source via the AST."
+HOMEPAGE = "https://github.com/berkerpeksag/astor"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=561205fdabc3ec52cae2d30815b8ade7"
+
+SRC_URI = "git://github.com/berkerpeksag/astor.git "
+SRCREV ?= "c7553c79f9222e20783fe9bd8a553f932e918072"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.5.bb
deleted file mode 100644
index 6e32c288..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.5.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-astroid.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.3.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.3.3.bb
new file mode 100644
index 00000000..dc1ce0eb
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.3.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "An abstract syntax tree for Python with inference support."
+HOMEPAGE = "https://pypi.python.org/pypi/astroid"
+SECTION = "devel/python"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI[md5sum] = "5f3d73d82d1753b59bb49a6bc6046dee"
+SRC_URI[sha256sum] = "71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a"
+
+inherit pypi setuptools3
+
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES_${PN}-tests += " \
+ ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \
+ ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \
+"
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-lazy-object-proxy \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-wrapt \
+ ${PYTHON_PN}-setuptools \
+"
+
+RDEPENDS_${PN}-tests_class-target += "\
+ ${PYTHON_PN}-unittest \
+ ${PYTHON_PN}-xml \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_3.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_3.0.1.bb
new file mode 100644
index 00000000..22dffe64
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_3.0.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "asyncio-compatible timeout context manager"
+DESCRIPTION = "\
+The context manager is useful in cases when you want to apply \
+timeout logic around block of code or in cases when asyncio.wait_for() \
+is not suitable. Also it's much faster than asyncio.wait_for() because \
+timeout doesn't create a new task."
+HOMEPAGE = "https://github.com/aio-libs/async-timeout"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SRC_URI[md5sum] = "305c4fa529f2485c403d0dbe14390175"
+SRC_URI[sha256sum] = "0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f"
+
+PYPI_PACKAGE = "async-timeout"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-asyncio \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-atomicwrites_1.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-atomicwrites_1.3.0.bb
new file mode 100644
index 00000000..e43bf088
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-atomicwrites_1.3.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Powerful Python library for atomic file writes"
+HOMEPAGE = "https://github.com/untitaker/python-atomicwrites"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91cc36cfafeefb7863673bcfcb1d4da4"
+
+SRC_URI[md5sum] = "ce11f780a4ce0fce8a55d64494a88178"
+SRC_URI[sha256sum] = "75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "${PYTHON_PN}-misc"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attr_0.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attr_0.3.1.bb
index e80648c8..22c5218c 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attr_0.3.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attr_0.3.1.bb
@@ -1,2 +1,9 @@
-inherit setuptools3
-require python-attr.inc
+DESCRIPTION = "Simple decorator to set attributes of target function or class in a DRY way"
+HOMEPAGE = "https://github.com/denis-ryzhkov/attr"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=59805a0285f4d2b6abdedae73db4f5c1"
+
+SRC_URI[md5sum] = "68b9a503991241fb2df28488686b0e1e"
+SRC_URI[sha256sum] = "9091548058d17f132596e61fa7518e504f76b9a4c61ca7d86e1f96dbf7d4775d"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_18.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_18.1.0.bb
deleted file mode 100644
index c34693f5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_18.1.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-attrs.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb
new file mode 100644
index 00000000..7ff8049e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Classes Without Boilerplate"
+HOMEPAGE = "http://www.attrs.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
+
+SRC_URI[sha256sum] = "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"
+SRC_URI[md5sum] = "5b2db50fcc31be34d32798183c9bd062"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-ctypes \
+"
+RDEPENDS_${PN}_class-nativesdk += " \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-ctypes \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
index c29b659b..c29b659b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.7.0.bb
deleted file mode 100644
index 2c747643..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.7.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-automat.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.8.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.8.0.bb
new file mode 100644
index 00000000..f8981bcb
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.8.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Self-service finite-state machines for the programmer on the go"
+HOMEPAGE = "https://github.com/glyph/Automat"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4ad213bcca81688e94593e5f60c87477"
+
+SRC_URI[md5sum] = "47e980a48201a1dabe37fa11f0187013"
+SRC_URI[sha256sum] = "269a09dfb063a3b078983f4976d83f0a0d3e6e7aaf8e27d8df1095e09dc4a484"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+SRC_URI_append = " \
+ file://0001-setup.py-remove-the-dependency-on-m2r.patch \
+"
+
+PYPI_PACKAGE = "Automat"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-six \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.0.bb
deleted file mode 100644
index c43649db..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-aws-iot-device-sdk-python.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.8.bb
new file mode 100644
index 00000000..f763067c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.8.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "SDK for connecting to AWS IoT using Python."
+HOMEPAGE = "https://github.com/aws/aws-iot-device-sdk-python"
+LICENSE = "Apache-2.0 & (EPL-1.0 | EDL-1.0)"
+LICENSE_${PN}-examples = "Apache-2.0"
+LIC_FILES_CHKSUM = "\
+ file://LICENSE.txt;md5=9ac49901b833e769c7d6f21e8dbd7b30 \
+ file://AWSIoTPythonSDK/core/protocol/paho/client.py;endline=14;md5=5a3c8a1a4bb71bd934f450ecff972ad9 \
+"
+
+SRC_URI[md5sum] = "d05596f02774ea39517765c5dced874a"
+SRC_URI[sha256sum] = "bcd68cb7fdb044dbd5e5d3a02c311b25717c0376168e7c992982130f19c51b03"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "AWSIoTPythonSDK"
+
+do_install_append() {
+ install -d -m0755 ${D}${datadir}/${BPN}/examples
+ cp --preserve=mode,timestamps -R ${S}/samples/* ${D}${datadir}/${BPN}/examples
+ # this requires the full blown AWS Python SDK
+ rm -r ${D}${datadir}/${BPN}/examples/basicPubSub
+}
+
+PACKAGES =+ "${PN}-examples"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
+RDEPENDS_${PN}-examples += "${PN}"
+
+FILES_${PN}-examples = "${datadir}/${BPN}/examples"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb
deleted file mode 100644
index 0715d59f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-babel.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.8.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.8.0.bb
new file mode 100644
index 00000000..c69098b2
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.8.0.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "A collection of tools for internationalizing Python applications"
+HOMEPAGE = "http://babel.edgewall.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=942469df9305abb1c59e95f778310384"
+
+SRC_URI[md5sum] = "6fad9772e75421969ddb41975483abdf"
+SRC_URI[sha256sum] = "1aac2ae2d0d8ea368fa90906567f5c08463d98ade155c0c4bfedd6a0f7160e38"
+
+PYPI_PACKAGE = "Babel"
+
+inherit pypi setuptools3
+
+CLEANBROKEN = "1"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-codecs \
+ ${PYTHON_PN}-difflib \
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-pytz \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.1.bb
new file mode 100644
index 00000000..c95a759a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.6.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Backport of functools.lru_cache from Python 3.3"
+HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+PYPI_PACKAGE = "backports.functools_lru_cache"
+
+SRC_URI[md5sum] = "103000b21a8e683647e2ce41929f2a9d"
+SRC_URI[sha256sum] = "8fde5f188da2d593bd5bc0be98d9abc46c95bb8a9dde93429570192ee6cc2d4a"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-threading \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb
deleted file mode 100644
index 84f47614..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Security oriented static analyser for python code."
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI[md5sum] = "f74155cb9921be857693b32d2531e857"
-SRC_URI[sha256sum] = "cb977045497f83ec3a02616973ab845c829cdab8144ce2e757fe031104a9abd4"
-
-DEPENDS = "python3-pyyaml python3-six python3-stevedore python3-pbr-native"
-
-inherit setuptools3 pypi
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.6.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.6.2.bb
new file mode 100644
index 00000000..fa28861e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.6.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Security oriented static analyser for python code."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI[md5sum] = "c6a6772d7afa0af8828b3384e73b7085"
+SRC_URI[sha256sum] = "41e75315853507aa145d62a78a2a6c5e3240fe14ee7c601459d0df9418196065"
+
+DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore"
+
+inherit setuptools3 pypi
+
+RDEPENDS_${PN} += "python3-modules python3-git python3-pbr python3-pyyaml python3-six python3-stevedore"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.4.bb
deleted file mode 100644
index d2ec9e38..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-bcrypt.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.7.bb
new file mode 100644
index 00000000..0f2d31f5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.7.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Modern password hashing for your software and your servers."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c"
+
+DEPENDS += "${PYTHON_PN}-cffi-native"
+
+SRC_URI[md5sum] = "5d6f93b575ce52470af37a8e7dce76fe"
+SRC_URI[sha256sum] = "0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-cffi \
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-six \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.6.0.bb
deleted file mode 100644
index d98df11e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-beautifulsoup4.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.2.bb
new file mode 100644
index 00000000..63fbd095
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Screen-scraping library"
+HOMEPAGE = " https://www.crummy.com/software/BeautifulSoup/bs4"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=f2d38d8a40bf73fd4b3d16ca2e5882d1"
+
+SRC_URI[md5sum] = "5dbdb56c009e4632bae7bed1b385804b"
+SRC_URI[sha256sum] = "05fd825eb01c290877657a56df4c6e4c311b3965bda790c613a3d6fb01a5462a"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-html5lib \
+ ${PYTHON_PN}-lxml \
+ ${PYTHON_PN}-soupsieve \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb
index 1c55871b..a28e5273 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb
@@ -1,2 +1,15 @@
-inherit setuptools3
-require python-behave.inc
+SUMMARY = "A behavior-driven development framework, Python style"
+HOMEPAGE = "https://github.com/behave/behave"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d950439e8ea6ed233e4288f5e1a49c06"
+
+SRC_URI[md5sum] = "3f05c859a1c45f5ed33e925817ad887d"
+SRC_URI[sha256sum] = "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-parse-type \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-six \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.3.bb
deleted file mode 100644
index 7ee444dc..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-bitarray.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.2.1.bb
new file mode 100644
index 00000000..2bf2937d
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.2.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A high-level Python efficient arrays of booleans -- C extension"
+HOMEPAGE = "https://github.com/ilanschnell/bitarray"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=dc301a25ebe210dcc53b0a2d5a038eae"
+
+SRC_URI[md5sum] = "a46bf869f6adf34f5b0dc82b469793b7"
+SRC_URI[sha256sum] = "2ed675f460bb0d3d66fd8042a6f1f0d36cf213e52e72a745283ddb245da7b9cf"
+
+inherit setuptools3 pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.4.bb
index 924b3cf5..e2f76c33 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.4.bb
@@ -1,2 +1,8 @@
+DESCRIPTION = "Fast, simple object-to-object and broadcast signaling."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=946d7e89af6f7733aeaebed5635d2682"
+
+SRC_URI[md5sum] = "8b3722381f83c2813c52de3016b68d33"
+SRC_URI[sha256sum] = "471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6"
+
inherit pypi setuptools3
-require python-blinker.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-booleanpy_3.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-booleanpy_3.7.bb
new file mode 100644
index 00000000..ebf7ba4e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-booleanpy_3.7.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Define boolean algebras, create and parse boolean expressions and create custom boolean DSL"
+HOMEPAGE = "https://github.com/bastikr/boolean.py"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e319747a5eb94cddf646037c01ddba47"
+
+SRC_URI[md5sum] = "1189d115a38f84f5df743014926a9159"
+SRC_URI[sha256sum] = "bd19b412435611ecc712603d0fd7d0e280e24698e7a6e3d5f610473870c5dd1e"
+
+PYPI_PACKAGE = "boolean.py"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.12.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.12.6.bb
new file mode 100644
index 00000000..7c45ed33
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.12.6.bb
@@ -0,0 +1,29 @@
+SUMMARY = "httplib2 caching for requests"
+HOMEPAGE = "https://pypi.org/project/CacheControl/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6dc7e1b428eda03d850209fdbd6c71f1"
+
+# On PyPi, this is "CacheControl", rather than "cachecontrol", so we need to
+# override PYPI_PACKAGE so fetch succeeds.
+PYPI_PACKAGE = "CacheControl"
+
+SRC_URI[md5sum] = "5890b797f9b48b2b4cd1448cca89e396"
+SRC_URI[sha256sum] = "be9aa45477a134aee56c8fac518627e1154df063e85f67d4f83ce0ccc23688e8"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ python3-crypt \
+ python3-datetime \
+ python3-email \
+ python3-lockfile \
+ python3-json \
+ python3-logging \
+ python3-msgpack \
+ python3-netclient \
+ python3-pickle \
+ python3-requests \
+ python3-urllib3 \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.1.0.bb
new file mode 100644
index 00000000..7411a749
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.1.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Extensible memoizing collections and decorators"
+HOMEPAGE = "https://github.com/tkem/cachetools"
+DESCRIPTION = "This module provides various memoizing \
+collections and decorators, including variants of the \
+Python 3 Standard Library @lru_cache function decorator."
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2d1e1bf0ccb26126a230c51f997ce362"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "4468da43443115a00c02c126cf601ae0"
+SRC_URI[sha256sum] = "1d057645db16ca7fe1f3bd953558897603d6f0b9c51ed9d11eb4d071ec4e2aab"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.2.1.bb
deleted file mode 100644
index aaa9e811..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.2.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require python-can.inc
-inherit pypi setuptools3
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-compression \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.2.bb
new file mode 100644
index 00000000..698eaf5b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.2.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Controller Area Network (CAN) interface module for Python"
+SECTION = "devel/python"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI[md5sum] = "b724553a330478270267380b4888a18e"
+SRC_URI[sha256sum] = "5fefb5c1e7e7f07faefc02c6eac79f9b58376f007048a04d8e7f325d48ec6b2e"
+
+PYPI_PACKAGE="python-can"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-aenum \
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-codecs \
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-sqlite3 \
+ ${PYTHON_PN}-wrapt \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.14.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.14.0.bb
index 34f149d3..768e557b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.14.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.14.0.bb
@@ -1,8 +1,35 @@
-inherit setuptools3
-require python-cassandra-driver.inc
+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"
-# Requires concurrent which is currently in -misc
-RDEPENDS_${PN} += " \
+SRC_URI[md5sum] = "c5bed026bf48c821424c1f6296193908"
+SRC_URI[sha256sum] = "b65218e2582277f5b77d1436e420db8616f63e3437a9e839cdcd7172d760e861"
+
+DISTUTILS_BUILD_ARGS += " \
+ --no-libev \
+"
+DISTUTILS_INSTALL_ARGS += " \
+ --no-libev \
+"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-cython \
+ ${PYTHON_PN}-json \
${PYTHON_PN}-misc \
+ ${PYTHON_PN}-multiprocessing \
${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-six \
+ libevent \
+"
+
+DEPENDS += "\
+ ${PYTHON_PN}-cython \
"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.8.13.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.8.13.bb
deleted file mode 100644
index 70f674b2..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.8.13.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-certifi.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.11.28.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.11.28.bb
new file mode 100644
index 00000000..c9e945f2
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.11.28.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Python package for providing Mozilla's CA Bundle."
+DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \
+Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \
+which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set."
+HOMEPAGE = " http://certifi.io/"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
+
+SRC_URI[md5sum] = "4d5229c4d9f0a4a79106f9e2c2cfd381"
+SRC_URI[sha256sum] = "25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.5.bb
deleted file mode 100644
index e8880843..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.5.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-cffi.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.0.bb
new file mode 100644
index 00000000..53c8ee26
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.14.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Foreign Function Interface for Python calling C code"
+HOMEPAGE = "http://cffi.readthedocs.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
+DEPENDS += "libffi ${PYTHON_PN}-pycparser"
+
+SRC_URI[md5sum] = "74845f8d2b7b583dd9a3574f402edf39"
+SRC_URI[sha256sum] = "2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target = " \
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-pycparser \
+ ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb
index 38d8122c..80785b8d 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb
@@ -1,7 +1,24 @@
-inherit setuptools3
-require python-chardet.inc
+SUMMARY = "Universal encoding detector for Python 2 and 3"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
-do_install_append () {
- # rename scripts that would conflict with the Python 2 build of chardet
- mv ${D}${bindir}/chardetect ${D}${bindir}/chardetect3
-}
+SRC_URI[md5sum] = "7dd1ba7f9c77e32351b0a0cfacf4055c"
+SRC_URI[sha256sum] = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"
+
+# setup.py of chardet needs this.
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+inherit pypi setuptools3
+
+PACKAGES =+ "${PN}-cli"
+FILES_${PN}-cli += " \
+ ${PYTHON_SITEPACKAGES_DIR}/chardet/cli \
+"
+
+RDEPENDS_${PN}-cli = "${PN} "
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-logging \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.4.bb
new file mode 100644
index 00000000..05882d08
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Python template engine and code generation tool"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=15e13a4ed0e5880e3e55ec88b0921181"
+
+PYPI_PACKAGE = "Cheetah3"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "python3-pickle python3-pprint"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI[md5sum] = "8c0ac643263ffc3454fb321342284d0a"
+SRC_URI[sha256sum] = "caabb9c22961a3413ac85cd1e5525ec9ca80daeba6555f4f60802b6c256e252b"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
deleted file mode 100644
index 19206440..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-click.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb
new file mode 100644
index 00000000..cfa3e0fe
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A simple wrapper around optparse for powerful command line utilities."
+DESCRIPTION = "\
+Click is a Python package for creating beautiful command line interfaces \
+in a composable way with as little code as necessary. It's the "Command \
+Line Interface Creation Kit". It's highly configurable but comes with \
+sensible defaults out of the box."
+HOMEPAGE = "http://click.pocoo.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c13ed890b210a882c1778216694c98c7"
+
+SRC_URI[md5sum] = "7f53d50f7b7373ebc7963f9ff697450a"
+SRC_URI[sha256sum] = "5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
+
+PYPI_PACKAGE = "Click"
+inherit pypi setuptools3
+
+UPSTREAM_CHECK_REGEX = "click/(?P<pver>\d+(\.\d+)+)/"
+
+CLEANBROKEN = "1"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-threading \
+ "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.23.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.23.bb
new file mode 100644
index 00000000..803ca4a4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.23.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://LICENSE;md5=9791cd24ca7d1807388ccd55cd066def"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+SRC_URI[md5sum] = "6db66a06210d5f1edb44693b887ed62b"
+SRC_URI[sha256sum] = "8ad12ef3cc46d03073c545b6e80a3f84a5921f6653073a60e7d9a7ff3b352c9e"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-colorama \
+ ${PYTHON_PN}-pyperclip \
+ ${PYTHON_PN}-wcwidth \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.3.bb
new file mode 100644
index 00000000..7a3f533f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.3.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Cross-platform colored terminal text."
+HOMEPAGE = "https://github.com/tartley/colorama"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "02daee502863d24112a8c05a5d69a612"
+SRC_URI[sha256sum] = "e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coloredlogs_10.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coloredlogs_10.0.bb
new file mode 100644
index 00000000..88fac87c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coloredlogs_10.0.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Colored terminal output for Python's logging module"
+HOMEPAGE = "https://coloredlogs.readthedocs.io"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=690da298a43805797a4fa7bbe180b3c6"
+
+SRC_URI[md5sum] = "0a186966a1955fff8cf9489373e691d9"
+SRC_URI[sha256sum] = "b869a2dda3fa88154b9dd850e27828d8755bfab5a838a1c97fbc850c6e377c36"
+
+inherit pypi setuptools3
+
+do_compile_prepend() {
+ sed -ie "s/find_pth_directory(),/'',/g" ${S}/setup.py
+}
+
+do_install_append() {
+ rm -rf ${D}${datadir}
+}
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-humanfriendly \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.1.0.bb
new file mode 100644
index 00000000..ea4c575e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_4.1.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "A colored formatter for the python logging module"
+HOMEPAGE = "https://github.com/borntyping/python-colorlog"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.md;md5=05592f7a5b83bfc756f62dbd70a9b9b5"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "colorlog"
+
+SRC_URI[md5sum] = "25f79b76421132e2a9e08da15e4e0a73"
+SRC_URI[sha256sum] = "30aaef5ab2a1873dec5da38fd6ba568fa761c9fa10b40241027fa3edea47f3d2"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_0.15.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_0.15.1.bb
new file mode 100644
index 00000000..0797898a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_0.15.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables."
+HOMEPAGE = "https://github.com/bw2/ConfigArgParse"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943"
+
+SRC_URI[md5sum] = "aba15b7973b7a70bea86fd69289f8fe3"
+SRC_URI[sha256sum] = "baaf0fd2c1c108d007f402dab5481ac5f12d77d034825bf5a27f8224757bd0ac"
+
+PYPI_PACKAGE = "ConfigArgParse"
+
+inherit pypi setuptools3
+
+PACKAGECONFIG ?= "yaml"
+PACKAGECONFIG[yaml] = ",,,${PYTHON_PN}-pyyaml"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb
deleted file mode 100644
index 770cba59..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-configparser.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_4.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_4.0.2.bb
new file mode 100644
index 00000000..19666092
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_4.0.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what's found in Microsoft Windows INI files."
+SECTION = "devel/python"
+HOMEPAGE = "https://docs.python.org/3/library/configparser.html"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=10;endline=10;md5=23f9ad5cad3d8cc0336e2a5d8a87e1fa"
+
+SRC_URI[md5sum] = "35926cc4b9133f1f9ca70a1fd2fdf237"
+SRC_URI[sha256sum] = "c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.28.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.28.bb
new file mode 100644
index 00000000..2d9ec079
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-configshell-fb_1.1.28.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A Python library for building configuration shells"
+DESCRIPTION = "configshell-fb is a Python library that provides a framework for \
+building simple but nice CLI-based applications. This runs with Python 2 and \
+2to3 is run by setup.py to run on Python 3."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI = "git://github.com/open-iscsi/configshell-fb.git;protocol=https;branch=master"
+SRCREV = "da8f0cef114e7343a7ae96ff1db7c8c574f819be"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS_${PN} += "python3-modules python3-fcntl python3-six"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb
index 3f667540..ad24f6de 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb
@@ -1,2 +1,11 @@
-inherit setuptools3
-require python-constantly.inc
+DESCRIPTION = "Symbolic constants in Python"
+HOMEPAGE = "https://github.com/twisted/constantly"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e393e4ddd223e3a74982efa784f89fd7"
+
+SRC_URI[md5sum] = "f0762f083d83039758e53f8cf0086eef"
+SRC_URI[sha256sum] = "586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-json"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-contextlib2_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-contextlib2_0.6.0.bb
new file mode 100644
index 00000000..6074efa7
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-contextlib2_0.6.0.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Backports and enhancements for the contextlib module"
+HOMEPAGE = "http://contextlib2.readthedocs.org/"
+SECTION = "devel/python"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=43d1c7827e8fad6454b553caf0e1d734"
+
+SRC_URI[md5sum] = "d03a631073b40073b5c41364ad8f5979"
+SRC_URI[sha256sum] = "7197aa736777caac513dbd800944c209a49765bf1979b12b037dce0277077ed3"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.2.bb
deleted file mode 100644
index c983e0b5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Code coverage measurement for Python"
-HOMEPAGE = "https://coverage.readthedocs.io"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI[md5sum] = "29a9fe85377e0f7327cf5db1e335483f"
-SRC_URI[sha256sum] = "309d91bd7a35063ec7a0e4d75645488bfab3f0b66373e7722f23da7f5b0f34cc"
-
-inherit pypi setuptools3
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.0.2.bb
new file mode 100644
index 00000000..9407278e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_5.0.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Code coverage measurement for Python"
+HOMEPAGE = "https://coverage.readthedocs.io"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SRC_URI[md5sum] = "876be562bc78deac6fc2a06ee4a6d551"
+SRC_URI[sha256sum] = "b251c7092cbb6d789d62dc9c9e7c4fb448c9138b51285c36aeb72462cad3600e"
+
+inherit pypi setuptools3
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-crcmod_1.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-crcmod_1.7.bb
index 6996b13d..14a344f7 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-crcmod_1.7.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-crcmod_1.7.bb
@@ -1,2 +1,14 @@
-inherit setuptools3
-require python-crcmod.inc
+SUMMARY = "A Python module for generating objects that compute the Cyclic Redundancy Check."
+HOMEPAGE = "https://pypi.org/project/crcmod"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a19291627cad2d1dfbfcf3c9fb85c2"
+
+SRC_URI[md5sum] = "2d5b92117d958dcead94f9e17f54cd32"
+SRC_URI[sha256sum] = "dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-unittest"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb
deleted file mode 100644
index 58994fff..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-cryptography-vectors.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.8.bb
new file mode 100644
index 00000000..948aab9e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.8.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Test vectors for the cryptography package."
+HOMEPAGE = "https://cryptography.io/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0 | BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
+
+SRC_URI[md5sum] = "a744ed29bb9ef56b3a50317fea3b218e"
+SRC_URI[sha256sum] = "6cd32174c56a3eca72f64af43c1daacaae758cfa5ff9d280dfcf818fa11ef116"
+
+PYPI_PACKAGE = "cryptography_vectors"
+
+inherit pypi setuptools3
+
+DEPENDS += " \
+ ${PYTHON_PN}-cryptography \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = ""
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb
deleted file mode 100644
index 19592334..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-inherit pypi setuptools3
-require python-cryptography.inc
-
-LDSHARED += "-pthread"
-
-SRC_URI += " \
- file://run-ptest \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.8.bb
new file mode 100644
index 00000000..c75dabb9
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.8.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Provides cryptographic recipes and primitives to python developers"
+HOMEPAGE = "https://cryptography.io/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0 | BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=097f805837700cfac572ac274cd38124"
+
+LDSHARED += "-pthread"
+
+SRC_URI[md5sum] = "77730058b556c6d9838679a94c6229ce"
+SRC_URI[sha256sum] = "3cda1f0ed8747339bbdf71b9f38ca74c7b592f24f65cdb3ab3765e4b02871651"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+inherit pypi setuptools3
+
+DEPENDS += " \
+ ${PYTHON_PN}-cffi \
+ ${PYTHON_PN}-cffi-native \
+ ${PYTHON_PN}-asn1crypto \
+ ${PYTHON_PN}-six \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-cffi \
+ ${PYTHON_PN}-idna \
+ ${PYTHON_PN}-asn1crypto \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-six \
+"
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-cffi \
+ ${PYTHON_PN}-idna \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-asn1crypto \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-threading \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PN} \
+ ${PYTHON_PN}-cryptography-vectors \
+ ${PYTHON_PN}-iso8601 \
+ ${PYTHON_PN}-pretend \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-pytz \
+"
+
+inherit ptest
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ install -d ${D}${PTEST_PATH}/tests/hazmat
+ cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/
+}
+
+FILES_${PN}-dbg += " \
+ ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb
new file mode 100644
index 00000000..cd21be8a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cycler_0.10.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Composable style cycles"
+HOMEPAGE = "http://github.com/matplotlib/cycler"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7713fe42cd766b15c710e19392bfa811"
+
+SRC_URI[md5sum] = "4cb42917ac5007d1cdff6cccfe2d016b"
+SRC_URI[sha256sum] = "cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ python3-core \
+ python3-six \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.14.bb
index 2ce6bdbd..2ce6bdbd 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.5.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.14.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.8.1.bb
index 1d2baf55..1d2baf55 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.3.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.8.1.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.2.bb
new file mode 100644
index 00000000..2784013a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.1.2.bb
@@ -0,0 +1,13 @@
+SUMMARY = "A zero-dependency DBus library for Python with asyncio support"
+HOMEPAGE = "https://github.com/acrisci/python-dbus-next"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=b32e18a71bcdd072bce21f204629a104"
+
+SRC_URI[md5sum] = "df838d695284dd1775860f9691a8663f"
+SRC_URI[sha256sum] = "a567d845ceed5feac48dda7faeb9ff2571f9a434a3c32b9b363f763e82368762"
+
+PYPI_PACKAGE = "dbus_next"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
index c4d81784..c4d81784 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch
index 06ab1f05..06ab1f05 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock_0.16.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock_0.16.7.bb
new file mode 100644
index 00000000..cd760ab8
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbusmock_0.16.7.bb
@@ -0,0 +1,25 @@
+# Copyright (c) 2014 LG Electronics, Inc.
+
+SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus"
+AUTHOR = "Martin Pitt <martin.pitt@ubuntu.com>"
+
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI[md5sum] = "80f8caa838fad96483a8751e11d384f9"
+SRC_URI[sha256sum] = "2d2ea892fa4633c3ec6ac1e912120ec493047a5c6522849b7d1c95ad755bce75"
+
+SRC_URI += " \
+ file://0001-Add-functionality-to-add-own-objects-to-internal-obj.patch \
+ file://0002-Add-possibility-to-import-templates-from-packages.patch \
+"
+
+PYPI_PACKAGE = "python-dbusmock"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-dbus \
+ ${PYTHON_PN}-pygobject \
+ ${PYTHON_PN}-xml \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbussy_1.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbussy_1.2.1.bb
new file mode 100644
index 00000000..ac4b8c2a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dbussy_1.2.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "language bindings for libdbus, for Python 3.5 or later"
+HOMEPAGE = "https://github.com/ldo/dbussy"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
+
+SRC_URI = "git://github.com/ldo/dbussy.git"
+
+SRCREV = "d0ec0223f3797e1612d835e71694a1083881149f"
+
+S = "${WORKDIR}/git"
+
+inherit distutils3
+
+RDEPENDS_${PN} += "\
+ python3-asyncio \
+ python3-core \
+ python3-ctypes \
+ python3-xml \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.4.2.bb
index 844cbdc9..844cbdc9 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.3.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.4.2.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb
new file mode 100644
index 00000000..d041d0e6
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "XML bomb protection for Python stdlib modules"
+DESCRIPTION = "Python package with modified subclasses of all stdlib XML \
+parsers that prevent any potentially malicious operation."
+
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=056fea6a4b395a24d0d278bf5c80249e"
+
+SRC_URI[md5sum] = "a59741f675c4cba649de40a99f732897"
+SRC_URI[sha256sum] = "f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.5.0.bb
new file mode 100644
index 00000000..aaaee0de
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-distro_1.5.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Distro is an OS platform information API"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+PYPI_PACKAGE = "distro"
+
+SRC_URI[md5sum] = "0ed68b4064709bdaaf6cce69780ddc51"
+SRC_URI[sha256sum] = "0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.14.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.14.bb
deleted file mode 100644
index e1e38c32..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.14.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-django.inc
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.7.bb
new file mode 100644
index 00000000..e56453ab
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.7.bb
@@ -0,0 +1,9 @@
+require python-django.inc
+inherit setuptools3
+
+SRC_URI[md5sum] = "b0833024aac4c8240467e4dc91a12e9b"
+SRC_URI[sha256sum] = "16040e1288c6c9f68c6da2fe75ebde83c0a158f6f5d54f4c5177b0c1478c5b86"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-sqlparse \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.16.0.bb
index ce4dfdc7..ce4dfdc7 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.16.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.3.1.bb
deleted file mode 100644
index 5304ccc1..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.3.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-dominate.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.1.bb
new file mode 100644
index 00000000..dd8c5960
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.5.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] = "35eeb6b5587c8c9a51cd22c83e07ac49"
+SRC_URI[sha256sum] = "9b05481605ea8c0afd0a98c0156a9fb78d9c406368d66b3e6fedf36920fb9d78"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dt-schema_git.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dt-schema_git.bb
new file mode 100644
index 00000000..06a9012c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-dt-schema_git.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Tooling for devicetree validation using YAML and jsonschema"
+AUTHOR = "Rob Herring"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=2;endline=3;md5=c795d4924c5f739424fa8d9b569c6659"
+
+inherit setuptools3
+
+SRC_URI = "git://github.com/robherring/dt-schema.git"
+SRCREV = "5009e47c1c76e48871f5988e08dad61f3c91196b"
+PV = "0.1+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS_${PN} = "python3-jsonschema python3-ruamel-yaml"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.4.bb
index 8ad2b869..8ad2b869 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.3.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.4.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.12.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.12.1.bb
new file mode 100644
index 00000000..028d1104
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.12.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-engineio.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.0.1.bb
new file mode 100644
index 00000000..cfff150c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.0.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "et_xmlfile is a low memory library for creating large XML files"
+DESCRIPTION = "It is based upon the xmlfile module from lxml with the aim of allowing code \
+to be developed that will work with both libraries. It was developed initially for \
+the openpyxl project but is now a standalone module."
+
+HOMEPAGE = "https://bitbucket.org/openpyxl/et_xmlfile/src/default/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=b3d89cae66f26c3a0799be8a96f3178b"
+
+SRC_URI[md5sum] = "f47940fd9d556375420b2e276476cfaf"
+SRC_URI[sha256sum] = "614d9722d572f6246302c4491846d2c393c199cfa4edc9af593437691683335b"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell"
+
+inherit setuptools3
+PYPI_PACKAGE ?= "et_xmlfile"
+PYPI_SRC_URI ?= "https://files.pythonhosted.org/packages/source/e/et_xmlfile/et_xmlfile-1.0.1.tar.gz"
+SECTION = "devel/python"
+SRC_URI += "${PYPI_SRC_URI}"
+S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_0.7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_0.7.0.bb
deleted file mode 100644
index 3a92b6ec..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_0.7.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-evdev.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_1.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_1.3.0.bb
new file mode 100644
index 00000000..d87bf2fe
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_1.3.0.bb
@@ -0,0 +1,3 @@
+inherit pypi setuptools3
+require python-evdev.inc
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2/0001-setup.py-Don-t-hardcode-swig-and-fann2-binary-locati.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2/0001-setup.py-Don-t-hardcode-swig-and-fann2-binary-locati.patch
new file mode 100644
index 00000000..cbc838f0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2/0001-setup.py-Don-t-hardcode-swig-and-fann2-binary-locati.patch
@@ -0,0 +1,28 @@
+From 85307f592c7cb87af162cca4b121b874108b7754 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Tue, 2 Apr 2019 11:25:15 -0700
+Subject: [PATCH] setup.py: Don't hardcode swig and fann2 binary locations
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+---
+ setup.py | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 37af7c7..8e416f2 100755
+--- a/setup.py
++++ b/setup.py
+@@ -81,11 +81,8 @@ def find_swig():
+
+ def build_swig():
+ '''Run SWIG with specified parameters'''
+- print("Looking for FANN libs...")
+- find_fann()
+- print("running SWIG...")
+ swig_bin = find_swig()
+- swig_cmd = [swig_bin, '-c++', '-python', 'fann2/fann2.i']
++ swig_cmd = ['swig', '-c++', '-python', 'fann2/fann2.i']
+ subprocess.Popen(swig_cmd).wait()
+
+ if "sdist" not in sys.argv:
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb
new file mode 100644
index 00000000..a04c961f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb
@@ -0,0 +1,4 @@
+require python-fann2.inc
+inherit pypi setuptools3
+
+SRC_URI += " file://0001-setup.py-Don-t-hardcode-swig-and-fann2-binary-locati.patch"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fasteners_0.15.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fasteners_0.15.bb
new file mode 100644
index 00000000..8786a148
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-fasteners_0.15.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A python package that provides useful locks."
+HOMEPAGE = "https://github.com/harlowja/fasteners"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4476c4be31402271e101d9a4a3430d52"
+
+SRC_URI[md5sum] = "440f8ab461c8fed941355860d8669556"
+SRC_URI[sha256sum] = "3a176da6b70df9bb88498e1a18a9e4a8579ed5b9141207762368a1017bf8f5ef"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.11.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.12.2.bb
index 104e7c28..104e7c28 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.11.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.12.2.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jsonpify_1.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jsonpify_1.5.0.bb
new file mode 100644
index 00000000..5d7e9b51
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jsonpify_1.5.0.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "A Flask extension adding a decorator for JSONP support"
+HOMEPAGE = "https://github.com/CoryDolphin/flask-jsonpify"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.rst;md5=bd59445a234a0c8250b39178d42e3148"
+
+PYPI_PACKAGE = "Flask-Jsonpify"
+
+SRC_URI[md5sum] = "8a10e37942c43d93d107644a3fe77d98"
+SRC_URI[sha256sum] = "8ac4c732aa5b11d9f6c2de58065d3b669f139518ca8f529bce943817e2fedbfb"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-flask"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt_0.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt_0.3.2.bb
new file mode 100644
index 00000000..779a2e25
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt_0.3.2.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "JWT token authentication for Flask apps"
+HOMEPAGE = "https://github.com/mattupstate/flask-jwt"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ff00db41c47ec84b4567a8b3c246a959"
+
+PYPI_PACKAGE = "Flask-JWT"
+
+SRC_URI[md5sum] = "878ad79a12afa70ad38a12d5ffd2dc1e"
+SRC_URI[sha256sum] = "49c0672fbde0f1cd3374bd834918d28956e3c521c7e00089cdc5380d323bd0ad"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-pyjwt ${PYTHON_PN}-flask"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.2.bb
index c98cbfdd..c98cbfdd 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.2.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.5.2.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb
index 2102554b..2102554b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.7.bb
index 6bff59a5..6bff59a5 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.6.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.7.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.2.1.bb
new file mode 100644
index 00000000..ffc4aa7f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_4.2.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-flask-socketio.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.1.bb
index 07f45bcf..07f45bcf 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.3.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.4.1.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.1.bb
index cd439900..cd439900 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.0.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.1.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.16.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.18.2.bb
index f059186b..f059186b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.16.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.18.2.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb
new file mode 100644
index 00000000..6e08a199
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "A generic AST to represent Python2 and Python3's Abstract Syntax Tree(AST)."
+HOMEPAGE = "https://github.com/serge-sans-paille/gast"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a3ad9b6802e713fc5e307e1230f1ea90"
+
+SRC_URI = "git://github.com/serge-sans-paille/gast.git"
+SRCREV ?= "ed82e2a507505c6b18eb665d3738b6c0602da5e7"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb
new file mode 100644
index 00000000..7c3c23b2
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_2.5.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python bindings and utilities for GeoJSON"
+HOMEPAGE = "https://pypi.org/project/geojson/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=f48972abe5cddee79e301574742ed745"
+
+SRC_URI[md5sum] = "14753ed28678828b1de73f68b04e2324"
+SRC_URI[sha256sum] = "6e4bb7ace4226a45d9c8c8b1348b3fc43540658359f93c3f7e03efa9f15f658a"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-simplejson python3-math"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb
deleted file mode 100644
index 1f172e58..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require python-gevent.inc
-inherit setuptools3
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb
new file mode 100644
index 00000000..df688e42
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb
@@ -0,0 +1,2 @@
+require python-gevent.inc
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.5.bb
new file mode 100644
index 00000000..379c7679
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Client for MQTT protocol"
+HOMEPAGE = "https://github.com/wialon/gmqtt"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=903f1792621a3b35ee546da75d139177"
+
+SRC_URI[md5sum] = "9388ec09b6536c4e68c5ac5c31de3dc9"
+SRC_URI[sha256sum] = "c12b2d7d5a90f3304b7291b1d9d21df47e228dfb4ff990e965008fdd1a55ce60"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ python3-asyncio \
+ python3-core \
+ python3-datetime \
+ python3-json \
+ python3-logging \
+ python3-netclient \
+ python3-typing \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.7.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.7.11.bb
new file mode 100644
index 00000000..25e3b9c3
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_1.7.11.bb
@@ -0,0 +1,9 @@
+SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, Moderator, and many other Google APIs."
+HOMEPAGE = "https://github.com/googleapis/google-api-python-client"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94023d14f6b58272fd885e4e3f2f08b3"
+
+SRC_URI[md5sum] = "6e28e8caf2e4d55ed5b7c48a538a61c9"
+SRC_URI[sha256sum] = "a8a88174f66d92aed7ebbd73744c2c319b4b1ce828e565f9ec721352d2e2fb8c"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.15.bb
index 1aedf7fa..1aedf7fa 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.15.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-Fix-build-on-riscv32.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-Fix-build-on-riscv32.patch
new file mode 100644
index 00000000..920fc116
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-Fix-build-on-riscv32.patch
@@ -0,0 +1,65 @@
+From 04e28fdda03b545a0f7b446a784ec2fa7249cbb8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Apr 2020 15:37:40 -0700
+Subject: [PATCH] Fix build on riscv32
+
+Define __NR_mmap in terms of __NR_mmap2 and __NR_futex interms of
+__NR_futex_time64 for rv32, since there calls dont exist for rv32
+
+Also recognise rv32 as a new 32bit platform
+
+Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/675]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ absl/base/internal/direct_mmap.h | 5 +++++
+ absl/base/internal/spinlock_linux.inc | 4 ++++
+ absl/synchronization/internal/waiter.cc | 4 ++++
+ 3 files changed, 13 insertions(+)
+
+--- a/third_party/abseil-cpp/absl/base/internal/direct_mmap.h
++++ b/third_party/abseil-cpp/absl/base/internal/direct_mmap.h
+@@ -26,6 +26,10 @@
+
+ #ifdef __linux__
+
++#if !defined(__NR_mmap) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_mmap __NR_mmap2
++#endif
++
+ #include <sys/types.h>
+ #ifdef __BIONIC__
+ #include <sys/syscall.h>
+@@ -72,6 +76,7 @@ inline void* DirectMmap(void* start, siz
+ #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
+ (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) || \
+ (defined(__PPC__) && !defined(__PPC64__)) || \
++ (defined(__riscv) && __riscv_xlen == 32) || \
+ (defined(__s390__) && !defined(__s390x__))
+ // On these architectures, implement mmap with mmap2.
+ static int pagesize = 0;
+--- a/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc
++++ b/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc
+@@ -14,6 +14,10 @@
+ //
+ // This file is a Linux-specific part of spinlock_wait.cc
+
++#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_futex __NR_futex_time64
++#endif
++
+ #include <linux/futex.h>
+ #include <sys/syscall.h>
+ #include <unistd.h>
+--- a/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc
++++ b/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc
+@@ -24,6 +24,10 @@
+ #include <unistd.h>
+ #endif
+
++#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32
++# define __NR_futex __NR_futex_time64
++#endif
++
+ #ifdef __linux__
+ #include <linux/futex.h>
+ #include <sys/syscall.h>
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
new file mode 100644
index 00000000..bff50a0a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -0,0 +1,74 @@
+From 2ef8a85933f3ac36b289979ff9edd49dd12d0d16 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 4 Aug 2017 09:04:07 -0700
+Subject: [PATCH] setup.py: Do not mix C and C++ compiler options
+
+EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX
+so using -std=c++11 or -std=gnu99 together will cause
+build time errors espcially with clang
+
+error: invalid argument '-std=gnu99' not allowed with 'C++'
+
+gcc7 ( defaults are -std=gnu11 and -std=gnu++14 )
+ as well clang default to these standards mode or newer
+anyway
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+1. Keep '-std=c++11' and '-std=gnu99' to fix native build error
+with old gcc (such as gcc 5.4.0 on ubuntu 16.04), for clang
+we will remove them through GRPC_PYTHON_CFLAGS at do_compile
+in bb recipe.
+
+2. While export CC="gcc ", cc_args is None, it will
+cause subprocess.Popen always return 1. On centos 8, if you don't
+install package libatomic, there will be a native build error
+`cannot find /usr/lib64/libatomic.so.1.2.0'.
+
+Add no harm '-g' to cc_args if cc_args is empty.
+
+Upstream-Status: Inappropriate [oe specific]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.py | 6 +++++-
+ src/python/grpcio/commands.py | 5 ++++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index e950057..1b68221 100644
+--- a/setup.py
++++ b/setup.py
+@@ -144,9 +144,13 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.get(
+
+ def check_linker_need_libatomic():
+ """Test if linker on system needs libatomic."""
++ compiler, cc_args = os.environ.get('CC').split(' ', 1) or 'gcc'
++ if not cc_args:
++ cc_args = "-g"
++
+ code_test = (b'#include <atomic>\n' +
+ b'int main() { return std::atomic<int64_t>{}; }')
+- cc_test = subprocess.Popen(['cc', '-x', 'c++', '-std=c++11', '-'],
++ cc_test = subprocess.Popen([compiler, cc_args, '-x', 'c++', '-std=c++11', '-'],
+ stdin=PIPE,
+ stdout=PIPE,
+ stderr=PIPE)
+diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
+index 064dda9..a75d8b9 100644
+--- a/src/python/grpcio/commands.py
++++ b/src/python/grpcio/commands.py
+@@ -216,7 +216,10 @@ class BuildExt(build_ext.build_ext):
+ when invoked in C mode. GCC is okay with this, while clang is not.
+ """
+ # TODO(lidiz) Remove the generated a.out for success tests.
+- cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++11', '-'],
++ compiler, cc_args = os.environ.get('CC').split(' ', 1) or 'gcc'
++ if not cc_args:
++ cc_args = "-g"
++ cc_test = subprocess.Popen([compiler, cc_args, '-x', 'c', '-std=c++11', '-'],
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch
new file mode 100644
index 00000000..8ac2aef8
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch
@@ -0,0 +1,17 @@
+Let boringSSL compile on ppc32 bit
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/third_party/boringssl/include/openssl/base.h
++++ b/third_party/boringssl/include/openssl/base.h
+@@ -99,6 +99,9 @@ extern "C" {
+ #elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN)
+ #define OPENSSL_64_BIT
+ #define OPENSSL_PPC64LE
++#elif (defined(__PPC__) || defined(__powerpc__))
++#define OPENSSL_32_BIT
++#define OPENSSL_PPC
+ #elif defined(__mips__) && !defined(__LP64__)
+ #define OPENSSL_32_BIT
+ #define OPENSSL_MIPS
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch
new file mode 100644
index 00000000..8c9ffa21
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch
@@ -0,0 +1,21 @@
+Add RISC-V 64bit support
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/third_party/boringssl/include/openssl/base.h
++++ b/third_party/boringssl/include/openssl/base.h
+@@ -108,6 +108,14 @@ extern "C" {
+ #elif defined(__mips__) && defined(__LP64__)
+ #define OPENSSL_64_BIT
+ #define OPENSSL_MIPS64
++#elif defined(__riscv)
++# if (__riscv_xlen == 64)
++# define OPENSSL_64_BIT
++# define OPENSSL_RISCV64
++# elif(__riscv_xlen == 32)
++# define OPENSSL_32_BIT
++# define OPENSSL_RISCV32
++# endif
+ #elif defined(__pnacl__)
+ #define OPENSSL_32_BIT
+ #define OPENSSL_PNACL
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb
deleted file mode 100644
index d4720b4b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-grpcio.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.27.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.27.1.bb
new file mode 100644
index 00000000..129bb35b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.27.1.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Google gRPC"
+HOMEPAGE = "http://www.grpc.io/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS += "${PYTHON_PN}-protobuf"
+
+SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch"
+SRC_URI_append_class-target = " file://ppc-boringssl-support.patch \
+ file://riscv64_support.patch \
+ file://0001-Fix-build-on-riscv32.patch \
+"
+SRC_URI[md5sum] = "ccaf4e7eb4f031d926fb80035d193b98"
+SRC_URI[sha256sum] = "a899725d34769a498ecd3be154021c4368dd22bdc69473f6ec46779696f626c4"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-six \
+"
+
+inherit setuptools3
+inherit pypi
+
+export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1"
+
+do_compile_prepend_toolchain-clang() {
+ export GRPC_PYTHON_CFLAGS='-fvisibility=hidden -fno-wrapv -fno-exceptions'
+}
+
+CLEANBROKEN = "1"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CCACHE_DISABLE = "1"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.0.4.bb
new file mode 100644
index 00000000..5bd8d51c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.0.4.bb
@@ -0,0 +1,11 @@
+SUMMARY = "WSGI HTTP Server for UNIX"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f75f3fb94cdeab1d607e2adaa6077752"
+
+SRC_URI[md5sum] = "543669fcbb5739ee2af77184c5e571a1"
+SRC_URI[sha256sum] = "1904bb2b8a43658807108d59c3f3d56c2b6121a701161de0ddf9ad140073c626"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-setuptools ${PYTHON_PN}-fcntl"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch
new file mode 100644
index 00000000..ff50c85a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch
@@ -0,0 +1,46 @@
+From 7e3b1745c1fef34683a0610381dd3308ad4d1ba9 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 29 Jan 2019 17:08:32 +0800
+Subject: [PATCH] cross compiling support
+
+Remove useless dirs
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup_build.py | 4 ----
+ setup_configure.py | 2 +-
+ 2 files changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/setup_build.py b/setup_build.py
+index 85b321a..2c78e92 100644
+--- a/setup_build.py
++++ b/setup_build.py
+@@ -53,10 +53,6 @@ if sys.platform.startswith('win'):
+ ('_HDF5USEDLL_', None),
+ ('H5_BUILT_AS_DYNAMIC_LIB', None)
+ ])
+-else:
+- FALLBACK_PATHS['include_dirs'].extend(['/opt/local/include', '/usr/local/include'])
+- FALLBACK_PATHS['library_dirs'].extend(['/opt/local/lib', '/usr/local/lib'])
+-
+
+ class h5py_build_ext(build_ext):
+
+diff --git a/setup_configure.py b/setup_configure.py
+index a2de76a..197f2da 100644
+--- a/setup_configure.py
++++ b/setup_configure.py
+@@ -208,7 +208,7 @@ def autodetect_version(hdf5_dir=None):
+ else:
+ regexp = re.compile(r'^libhdf5.so')
+
+- libdirs = ['/usr/local/lib', '/opt/local/lib']
++ libdirs = []
+ try:
+ if pkgconfig.exists("hdf5"):
+ libdirs.extend(pkgconfig.parse("hdf5")['library_dirs'])
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb
new file mode 100644
index 00000000..7822e463
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Provides both a high- and low-level interface to the HDF5 library from Python. "
+HOMEPAGE = "https://www.h5py.org/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=107;endline=107;md5=795ecad0d261c998cc526c84a822dff6"
+
+SRC_URI = "git://github.com/h5py/h5py.git \
+ file://0001-cross-compiling-support.patch \
+ "
+SRCREV ?= "8d96a14c3508de1bde77aec5db302e478dc5dbc4"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS = "python3-pkgconfig-native \
+ python3-cython-native \
+ python3-numpy-native \
+ python3-six-native \
+ python3 \
+ hdf5 \
+ "
+
+RDEPENDS_${PN} = "python3-numpy \
+ python3-six \
+ "
+
+export HDF5_VERSION="1.8.19"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.2.0.bb
new file mode 100644
index 00000000..fc2cc7d6
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.2.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Calculate the distance between 2 points on Earth"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI[md5sum] = "6b1badeb63aac6214c978d07a4ecd171"
+SRC_URI[sha256sum] = "b710aaf32c442a6d04aa89678be55e3f6c11f9752fc01c216e89b13120b36269"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-numpy"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2019.8.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2019.8.11.bb
new file mode 100644
index 00000000..9cb5b01e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2019.8.11.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-html2text.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-httplib2_0.17.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-httplib2_0.17.3.bb
new file mode 100644
index 00000000..57047c9a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-httplib2_0.17.3.bb
@@ -0,0 +1,10 @@
+SUMMARY = "A comprehensive HTTP client library, httplib2 supports many features left out of other HTTP libraries."
+HOMEPAGE = "https://github.com/httplib2/httplib2"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=4edb3f072a9d815734530f608039a167"
+
+SRC_URI[md5sum] = "5730490cfe83350477b54b0a8a190c8a"
+SRC_URI[sha256sum] = "39dd15a333f67bfb70798faa9de8a6e99c819da6ad82b77f9a259a5c7b1225a2"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_4.18.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_4.18.bb
new file mode 100644
index 00000000..2ca5fe36
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_4.18.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-humanfriendly.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_18.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_19.0.0.bb
index 70813bf3..70813bf3 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_18.0.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_19.0.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna-ssl_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna-ssl_1.1.0.bb
new file mode 100644
index 00000000..3643fcfd
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna-ssl_1.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-idna-ssl.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.8.bb
index a08ca714..a08ca714 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.8.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.6.0.bb
new file mode 100644
index 00000000..8fe4b988
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.6.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Python library that provides an easy interface to read and \
+write a wide range of image data, including animated images, video, \
+volumetric data, and scientific formats."
+SECTION = "devel/python"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8b7fdd0dff0fd18f35c05365d3d7bf7"
+
+SRC_URI = "git://github.com/imageio/imageio.git;protocol=https"
+SRCREV = "0b161649b3ee108f80bd99466aeab2e65cf82cd8"
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS_${PN} = "python3-numpy python3-pillow"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-importlib-metadata_1.5.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-importlib-metadata_1.5.2.bb
new file mode 100644
index 00000000..8a971dac
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-importlib-metadata_1.5.2.bb
@@ -0,0 +1,5 @@
+inherit pypi setuptools3
+require python-importlib-metadata.inc
+
+RDEPENDS_${PN}_append_class-target = " python3-misc"
+RDEPENDS_${PN}_append_class-nativesdk = " python3-misc"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.5.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.10.0.bb
index 8cbe1090..8cbe1090 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.5.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.10.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ipaddress_1.0.23.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ipaddress_1.0.23.bb
new file mode 100644
index 00000000..796213fc
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ipaddress_1.0.23.bb
@@ -0,0 +1,11 @@
+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"
+
+SRC_URI[md5sum] = "aaee67a8026782af1831148beb0d9060"
+SRC_URI[sha256sum] = "b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy_1.00.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy_1.00.bb
new file mode 100644
index 00000000..ea6a1055
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy_1.00.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-ipy.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166_1.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166_1.0.1.bb
new file mode 100644
index 00000000..23fc4eb7
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166_1.0.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Self-contained ISO 3166-1 country definitions"
+HOMEPAGE = "https://pypi.org/project/iso3166/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5e2f4edc7e7408a82e4a1d05f229b695"
+
+SRC_URI[md5sum] = "53c313c7ae8721e40ddd5e7a01bbcb7e"
+SRC_URI[sha256sum] = "b1e58dbcf50fbb2c9c418ec7a6057f0cdb30b8f822ac852f72e71ba769dae8c5"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-numbers"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb
new file mode 100644
index 00000000..0e79ae99
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-isodate.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.3.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.3.21.bb
index 755b3e2f..755b3e2f 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.3.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.3.21.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_0.24.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_1.1.0.bb
index a71c20f0..a71c20f0 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_0.24.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_1.1.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.2.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.0.1.bb
index 0ec23ba9..0ec23ba9 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.2.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.0.1.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal/run-ptest
new file mode 100644
index 00000000..5cec7116
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb
new file mode 100644
index 00000000..46deeae1
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jdcal_1.4.1.bb
@@ -0,0 +1,27 @@
+SUMMARY = "This module contains functions for converting between Julian dates and calendar dates"
+DESCRIPTION = "A function for converting Gregorian calendar dates to Julian dates, \
+and another function for converting Julian calendar dates to Julian dates are defined. \
+Two functions for the reverse calculations are also defined."
+
+HOMEPAGE = "https://github.com/phn/jdcal"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=bd236e1f590973467a427bb354be0f46"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI[md5sum] = "e05bdb60fa80f25bc60e73e0c6b7c5dc"
+SRC_URI[sha256sum] = "472872e096eb8df219c23f2689fc336668bdb43d194094b5cc1707e1640acfc8"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ cp -f ${S}/test_jdcal.py ${D}${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2/run-ptest
new file mode 100644
index 00000000..5cec7116
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.bb
deleted file mode 100644
index 61156b63..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-jinja2.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.11.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.11.2.bb
new file mode 100644
index 00000000..681acf8f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.11.2.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python."
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
+
+SRC_URI[sha256sum] = "89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0"
+
+PYPI_PACKAGE = "Jinja2"
+
+CLEANBROKEN = "1"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-unixadmin \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-markupsafe \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers\
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsmin/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsmin/run-ptest
new file mode 100644
index 00000000..cbcfffda
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsmin/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+python3 test.py
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsmin_2.2.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsmin_2.2.2.bb
new file mode 100644
index 00000000..9b7a8240
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsmin_2.2.2.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "JavaScript minifier."
+HOMEPAGE = "https://github.com/tikitu/jsmin/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3a3301ce2ad647e172f4a1016c67324d"
+
+inherit setuptools3 pypi ptest
+SRC_URI[md5sum] = "00e7a3179a4591aab2ee707b3214e2fd"
+SRC_URI[sha256sum] = "b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ cp -f ${S}/jsmin/test.py ${D}${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.25.bb
index 73efceee..73efceee 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.25.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer/run-ptest
new file mode 100644
index 00000000..51e609f4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+python3 tests.py
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.1.2.bb
new file mode 100644
index 00000000..e23720c3
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.1.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Library to process JSON-RPC requests"
+HOMEPAGE = "https://github.com/bcb/jsonrpcserver"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c89120516900f96f4c60d35fdc4c3f15"
+
+SRC_URI[md5sum] = "fd4091bc19eb18579c15b97af70714eb"
+SRC_URI[sha256sum] = "73db55d1cf245ebdfb96ca05c4cce01c51b61be845a2a981f539ea1e6a4e0c4a"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ python3-apply-defaults \
+ python3-asyncio \
+ python3-core \
+ python3-json \
+ python3-jsonschema \
+ python3-logging \
+ python3-netclient \
+ python3-pkgutil \
+ python3-typing \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.2.0.bb
index 92699074..92699074 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.2.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_14.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_14.1.0.bb
new file mode 100644
index 00000000..ab0944ff
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_14.1.0.bb
@@ -0,0 +1,2 @@
+require python-kconfiglib.inc
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.8.bb
new file mode 100644
index 00000000..4293a63c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.8.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Reference implementations of popular deep learning models"
+HOMEPAGE = "https://github.com/keras-team/keras-applications"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=366e2fd3c9714f162d3663b6f97cfe41"
+
+SRC_URI = "git://github.com/keras-team/keras-applications.git"
+SRCREV ?= "3b180cb10eda683dda7913ecee2e6487288d292d"
+
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN} = "python3-numpy \
+ python3-h5py \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.1.0.bb
new file mode 100644
index 00000000..eacb3402
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.1.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Easy data preprocessing and data augmentation for deep learning models"
+HOMEPAGE = "https://github.com/keras-team/keras-preprocessing"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1744b320500cc2e3112964d00cce7aa4"
+
+SRC_URI = "git://github.com/keras-team/keras-preprocessing.git"
+SRCREV ?= "ff90696c0416b74344b91df097b228e694339b88"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.1.0.bb
new file mode 100644
index 00000000..a1083025
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.1.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A fast implementation of the Cassowary constraint solver"
+HOMEPAGE = "https://github.com/nucleic/kiwi"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://setup.py;endline=7;md5=1c177d169db050341d3b890c69fb80e3"
+
+SRC_URI[md5sum] = "fc8a614367f7ba0d34a02fd08c535afc"
+SRC_URI[sha256sum] = "53eaed412477c836e1b9522c19858a8557d6e595077830146182225613b11a75"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ python3-core \
+ python3-setuptools \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.4.3.bb
index 150e12fd..150e12fd 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.3.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.4.3.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression/run-ptest
new file mode 100644
index 00000000..5cec7116
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_1.0.bb
new file mode 100644
index 00000000..10a702ca
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-license-expression.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lockfile_0.12.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lockfile_0.12.2.bb
new file mode 100644
index 00000000..30b1297e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lockfile_0.12.2.bb
@@ -0,0 +1,17 @@
+# This recipe is originally from meta-openstack:
+# https://git.yoctoproject.org/cgit/cgit.cgi/meta-cloud-services/tree/meta-openstack/recipes-devtools/python/python-lockfile_0.12.2.bb
+
+SUMMARY = "Platform-independent file locking module"
+HOMEPAGE = "https://pypi.org/project/lockfile/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2340dffbbfea534b58f1349984eeef72"
+
+SRC_URI[md5sum] = "a6a1a82957a23afdf44cfdd039b65ff9"
+SRC_URI[sha256sum] = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"
+
+inherit pypi setuptools3
+
+DEPENDS += "python3-distutils-extra-native python3-pbr-native"
+RDEPENDS_${PN} += "python3-sqlite3"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lrparsing_1.0.16.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lrparsing_1.0.16.bb
new file mode 100644
index 00000000..21a80cde
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lrparsing_1.0.16.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-lrparsing.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.12.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.12.0.bb
new file mode 100644
index 00000000..cdb1ac8b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_1.12.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A component library to support SBC display drivers"
+DESCRIPTION = "A component library to support SBC display drivers"
+HOMEPAGE = "https://github.com/rm-hull/luma.core"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=eda804060ba2312e41fe96b6fa334fd7"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "4378edb99cd12540b4e4a588969567ee"
+SRC_URI[sha256sum] = "864a427de78bcc16758f4f4402a9e61f31cc8857bfae9aba8041159aaec3a491"
+
+CLEANBROKEN = "1"
+
+PYPI_PACKAGE = "luma.core"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-pillow \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-smbus2 \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.4.0.bb
new file mode 100644
index 00000000..ee3b00e7
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.4.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A small library to drive an OLED device"
+DESCRIPTION = "\
+A small library to drive an OLED device with either SSD1306 , SSD1309, SSD1322, \
+SSD1325, SSD1327, SSD1331, SSD1351 or SH1106 chipset"
+HOMEPAGE = "https://github.com/rm-hull/luma.oled"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c328c862c3335ad464e1c9a3ba574249"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "2944155b2242b9d2ddeb6e139c6083b8"
+SRC_URI[sha256sum] = "2ea2b535e7e2f056a51a8c54ad78aa1f00d5699fc439c01bc7c2902823889552"
+
+CLEANBROKEN = "1"
+
+PYPI_PACKAGE = "luma.oled"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-luma-core \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.5.0.bb
index b95d7bae..b95d7bae 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.5.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb
new file mode 100644
index 00000000..cdfe5496
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "A Python implementation of John Gruber's Markdown."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "Markdown"
+PYPI_SRC_URI = "https://files.pythonhosted.org/packages/3c/52/7bae9e99a7a4be6af4a713fe9b692777e6468d28991c54c273dfb6ec9fb2/Markdown-${PV}.tar.gz"
+SRC_URI[md5sum] = "72219f46ca440b657bf227500731bdf1"
+SRC_URI[sha256sum] = "d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-logging ${PYTHON_PN}-setuptools"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe/run-ptest
new file mode 100644
index 00000000..5cec7116
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.1.1.bb
index 765e3c90..765e3c90 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.1.1.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.2.1.bb
new file mode 100644
index 00000000..f6d8c53d
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.2.1.bb
@@ -0,0 +1,37 @@
+SUMMARY = "matplotlib: plotting with Python"
+DESCRIPTION = "\
+Matplotlib is a Python 2D plotting library which produces \
+publication-quality figures in a variety of hardcopy formats \
+and interactive environments across platforms."
+HOMEPAGE = "https://github.com/matplotlib/matplotlib"
+SECTION = "devel/python"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "\
+ file://setup.py;beginline=250;endline=250;md5=2a114620e4e6843aa7568d5902501753 \
+ file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74 \
+"
+DEPENDS = "\
+ freetype \
+ libpng \
+ python3-numpy-native \
+ python3-dateutil-native \
+ python3-pytz-native \
+"
+
+SRC_URI[md5sum] = "6c018a644a88120886cc7211f7c826f0"
+SRC_URI[sha256sum] = "ffe2f9cdcea1086fc414e82f42271ecf1976700b8edd16ca9d376189c6d93aee"
+
+inherit pypi setuptools3 pkgconfig
+
+RDEPENDS_${PN} = "\
+ freetype \
+ libpng \
+ python3-numpy \
+ python3-pyparsing \
+ python3-cycler \
+ python3-dateutil \
+ python3-kiwisolver \
+ python3-pytz \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-meld3_1.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-meld3_1.0.2.bb
new file mode 100644
index 00000000..f6959162
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-meld3_1.0.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-meld3.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-monotonic_1.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-monotonic_1.5.bb
new file mode 100644
index 00000000..94b90524
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-monotonic_1.5.bb
@@ -0,0 +1,9 @@
+SUMMARY = "This module provides a monotonic() function which returns the value (in fractional seconds) of a clock which never goes backwards."
+HOMEPAGE = "https://github.com/atdt/monotonic"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRC_URI[md5sum] = "9f81cb0e5966479754453dea2b6822f4"
+SRC_URI[sha256sum] = "23953d55076df038541e648a53676fb24980f7a1be290cdda21300b3bc21dfb0"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.2.0.bb
new file mode 100644
index 00000000..c3b34d36
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_8.2.0.bb
@@ -0,0 +1,5 @@
+inherit pypi setuptools3
+require python-more-itertools.inc
+
+SRC_URI[md5sum] = "55e7e0a5eabc5a57bc8353c65c6f9965"
+SRC_URI[sha256sum] = "b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.1.0.bb
new file mode 100644
index 00000000..7879a85c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-mpmath_1.1.0.bb
@@ -0,0 +1,16 @@
+# This recipe is adapted from one in meta-jupyter:
+# https://github.com/Xilinx/meta-jupyter/blob/master/recipes-python/python3-mpmath_0.19.bb
+
+SUMMARY = "Python library for arbitrary-precision floating-point arithmetic"
+HOMEPAGE = "https://pypi.org/project/mpmath/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=efe9feb00df0b763941f2b1bbac7c402"
+
+SRC_URI[md5sum] = "acb1cdddf38e16084628065b174ddbfe"
+SRC_URI[sha256sum] = "fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-image"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack/run-ptest
new file mode 100644
index 00000000..5cec7116
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb
deleted file mode 100644
index 096d7ddc..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-msgpack.inc
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.2.bb
new file mode 100644
index 00000000..6d7e7a0d
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "MessagePack (de)serializer"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
+
+PYPI_PACKAGE = "msgpack"
+inherit pypi setuptools3 ptest
+
+SRC_URI[md5sum] = "ba46fdee995565f40e332bd7eea882f1"
+SRC_URI[sha256sum] = "ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830"
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-io \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.13.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.13.bb
new file mode 100644
index 00000000..3f2aaf48
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.13.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A tool to help with creating, uploading, and upgrading Mycroft skills on the skills repo."
+HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-kit"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.md;md5=2f90e43663eddf1c33087419fbb35e28"
+
+SRC_URI[md5sum] = "11d9fc865ef627efe68f25fc113974e8"
+SRC_URI[sha256sum] = "55be86ff2cd0087016759f2b15b40861cda2a8d8a8d0c669fdacdf32a77a10da"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-git"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.3.bb
new file mode 100644
index 00000000..24e1ccb3
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Mycroft Skill Manager, in python!"
+HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-manager"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa"
+
+SRC_URI[md5sum] = "d5f580c58389b337f5577cb92f36e788"
+SRC_URI[sha256sum] = "c201785997f3b766ec376a89bbb3367889ac542183ca26733ffe002bb94917b4"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ python3-pako \
+ python3-monotonic \
+ python3-appdirs \
+"
+
+do_install_append() {
+ # Stop this from being installed
+ rm -rf ${D}/usr/share
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/run-ptest
new file mode 100644
index 00000000..5cec7116
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
deleted file mode 100644
index e65d7d4f..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
-HOMEPAGE = "https://github.com/aio-libs/multidict/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e74c98abe0de8f798ca609137f9cef4a"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "06ca91d993de2d04c7ee6df0cbb44ea2"
-SRC_URI[sha256sum] = "f82e61c7408ed0dce1862100db55595481911f159d6ddec0b375d35b6449509b"
-
-# Work-around for broken make clean. Note this is fixed in v4.0.0.
-# https://github.com/aio-libs/multidict/issues/194
-CLEANBROKEN = "1"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_4.7.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_4.7.4.bb
new file mode 100644
index 00000000..0636972e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_4.7.4.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
+HOMEPAGE = "https://github.com/aio-libs/multidict/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e74c98abe0de8f798ca609137f9cef4a"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI[md5sum] = "22b46f759cf2cc3ca1d2c9f82cc9bb79"
+SRC_URI[sha256sum] = "d7d428488c67b09b26928950a395e41cc72bb9c3d5abfe9f0521940ee4f796d4"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.10.9.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.10.9.bb
new file mode 100644
index 00000000..69d5c674
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.10.9.bb
@@ -0,0 +1,2 @@
+require python-netifaces.inc
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.4.bb
new file mode 100644
index 00000000..efa82e21
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.4.bb
@@ -0,0 +1,8 @@
+require python-networkx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b68290ee1026b204170a23bbdb27a4fd"
+
+SRC_URI[md5sum] = "63e3fdc9d3a46bcabc776acc5ea5fe48"
+SRC_URI[sha256sum] = "f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64"
+
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.1.bb
new file mode 100644
index 00000000..80384845
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.4.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "python-nmap is a python library which helps in using nmap port scanner"
+HOMEPAGE = "https://www.nmmapper.com/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+DEPENDS += "${PYTHON_PN}-wheel-native"
+
+PYPI_PACKAGE = "python3-nmap"
+
+SRC_URI[md5sum] = "64a382c870e14b53f2f52b7455996321"
+SRC_URI[sha256sum] = "9b64c5956789f4cac9e8ea2e0de6763dea1cecde1a20ae50a4b4dc5ab0ab6e42"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "nmap ${PYTHON_PN}-requests"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb
index 93df83ad..ce2618b8 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb
@@ -11,4 +11,4 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit setuptools3 python3native pypi
-RDEPENDS_${PN} += "${PYTHON_PN}-datetime"
+RDEPENDS_${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-io"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb
new file mode 100644
index 00000000..eb8a5a74
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "A python module for handling realtime sensor data from OBD-II vehicle ports"HOMEPAGE = "https://github.com/brendan-w/python-OBD"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://README.md;md5=58ba896fa086c96ad23317cebfeab277"
+
+SRC_URI[md5sum] = "305efcb6c650db7b9583532355ebeb7c"
+SRC_URI[sha256sum] = "8b81ea5896157b6e861af12e173c10b001cb6cca6ebb04db2c01d326812ad77b"
+
+inherit setuptools3 pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-pyserial ${PYTHON_PN}-pint ${PYTHON_PN}-setuptools"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.3.bb
new file mode 100644
index 00000000..018c4abe
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files"
+DESCRIPTION = "It was born from lack of existing library to read/write natively \
+from Python the Office Open XML format. All kudos to the PHPExcel team as openpyxl \
+was initially based on PHPExcel."
+
+HOMEPAGE = "http://www.python-excel.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a6e506457afab4a25ecbaeb4bc3ed623"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "9583cea56b9d4441d96eb63a8a5c92a4"
+SRC_URI[sha256sum] = "547a9fc6aafcf44abe358b89ed4438d077e9d92e4f182c87e2dc294186dc4b64"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-jdcal ${PYTHON_PN}-et-xmlfile"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set/run-ptest
new file mode 100644
index 00000000..f7b9d090
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest test.py
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.0.1.bb
deleted file mode 100644
index 662d3eeb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.0.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "A MutableSet that remembers its order, so that every entry has an index."
-HOMEPAGE = "http://github.com/LuminosoInsight/ordered-set"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://MIT-LICENSE;md5=2b36be0d99854aa2ae292a800a7c1d4e"
-
-SRC_URI[md5sum] = "a8059c7b99cde0f8dda01ddee6b43c2c"
-SRC_URI[sha256sum] = "3d6fd7bffbb15f613a9e8a6281bf97c2d67f7bb8677deca8249df2fbdd9cce7b"
-
-inherit pypi setuptools3
-
-DEPENDS += "python3-pytest-runner-native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.1.1.bb
new file mode 100644
index 00000000..bf362daa
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.1.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "A MutableSet that remembers its order, so that every entry has an index."
+HOMEPAGE = "http://github.com/LuminosoInsight/ordered-set"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://MIT-LICENSE;md5=2b36be0d99854aa2ae292a800a7c1d4e"
+
+SRC_URI[md5sum] = "6e12312c8dc4c90fe840e86e8a352644"
+SRC_URI[sha256sum] = "a7bfa858748c73b096e43db14eb23e2bc714a503f990c89fac8fab9b0ee79724"
+
+inherit pypi setuptools3 ptest
+
+DEPENDS += "python3-pytest-runner-native"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ cp -f ${S}/test.py ${D}${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-packaging_20.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-packaging_20.3.bb
new file mode 100644
index 00000000..aa20fb26
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-packaging_20.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-packaging.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-padaos_0.1.10.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-padaos_0.1.10.bb
new file mode 100644
index 00000000..f506a786
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-padaos_0.1.10.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A rigid, lightweight, dead-simple intent parser"
+HOMEPAGE = "https://github.com/MycroftAI/padaos"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.md;md5=b51c3e8e53a7cd95c13c5aab6cbc8e67"
+
+SRC_URI[md5sum] = "dbf852015ef87a6694549779fb475b52"
+SRC_URI[sha256sum] = "2ac05fcbc826873c574568aa5ce09945d6ea987bee10399e766eb8f7c6356d72"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-padatious_0.4.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-padatious_0.4.7.bb
new file mode 100644
index 00000000..4abe7c74
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-padatious_0.4.7.bb
@@ -0,0 +1,9 @@
+SUMMARY = "An efficient and agile neural network intent parser. Padatious is a core component of Mycroft AI."
+HOMEPAGE = "https://github.com/MycroftAI/padatious"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.md;md5=77baec496a458dd0e0fc4ca64cd305bc"
+
+SRC_URI[md5sum] = "1f53967a1633baa8fd48f11139808a33"
+SRC_URI[sha256sum] = "3c235942ff4151a3c36536fd776bd8a6d4d57c97046723d2fa80a89b34faac1f"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb
deleted file mode 100644
index 4981e61e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools3
-require python-paho-mqtt.inc
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.5.0.bb
new file mode 100644
index 00000000..cc6f4dc8
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.5.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "MQTT version 3.1/3.1.1 client library"
+LICENSE = "EPL-1.0 | EDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc \
+ file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
+ file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
+"
+SRCNAME = "paho-mqtt"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "45e80d9b8066a8d0ba1ecfffe271bd3d"
+SRC_URI[sha256sum] = "e3d286198baaea195c8b3bc221941d25a3ab0e1507fc1779bdb7473806394be4"
+
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-threading \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.2.3.bb
new file mode 100644
index 00000000..21c48fca
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.2.3.bb
@@ -0,0 +1,13 @@
+SUMMARY = "The universal package manager library"
+HOMEPAGE = "https://github.com/MycroftAI/pako"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa"
+
+SRC_URI[md5sum] = "8eb7077075091c50e4b8a9f939607277"
+SRC_URI[sha256sum] = "6be55fd8c5a2a6f02974f37438c1c47a3d9e764ce81c9d0a1a8c9a1815a59778"
+
+inherit pypi setuptools3
+
+do_install_append() {
+ rm -rf ${D}/usr/share
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.23.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.23.4.bb
deleted file mode 100644
index b5dd5e09..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.23.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pandas.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.0.3.bb
new file mode 100644
index 00000000..099e035e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.0.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "pandas library for high-performance data analysis tools"
+DESCRIPTION = "pandas is an open source, BSD-licensed library providing \
+high-performance, easy-to-use data structures and data analysis tools for \
+the Python programming language."
+HOMEPAGE = "http://pandas.pydata.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ee0470f2de336c370a71c2f8d5e81c11"
+
+SRC_URI[md5sum] = "a3ea90326c5b55944d369bef87740a72"
+SRC_URI[sha256sum] = "32f42e322fb903d0e189a4c10b75ba70d90958cc4f66a1781ed027f1a1d14586"
+
+inherit pypi setuptools3
+
+DEPENDS += " \
+ ${PYTHON_PN}-numpy-native ${PYTHON_PN}-cython-native \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-numpy \
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-pytz \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb
new file mode 100644
index 00000000..40876d35
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parallax_1.0.6.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Execute commands and copy files over SSH to multiple machines at once."
+HOMEPAGE = "https://github.com/krig/parallax/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=52c67ffa6102f288a0347f8c5802fd18"
+
+SRC_URI[md5sum] = "e312397b083426af84db7076dc2a28d7"
+SRC_URI[sha256sum] = "c16703202ff67aed4740c0727df304abe9f3e7851e653533b24de21b338d9081"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-fcntl ${PYTHON_PN}-threading ${PYTHON_PN}-unixadmin"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse/run-ptest
new file mode 100644
index 00000000..40c28479
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse/run-ptest
@@ -0,0 +1,2 @@
+#!/bin/sh
+pytest
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.8.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.15.0.bb
index b1242545..b1242545 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.8.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.15.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.2.bb
index 18180a07..18180a07 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.2.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pathlib2_2.3.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pathlib2_2.3.5.bb
new file mode 100644
index 00000000..66f71e57
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pathlib2_2.3.5.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pathlib2.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_1.1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_1.1.1.bb
deleted file mode 100644
index ba9a95db..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_1.1.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools3
-require python-periphery.inc
-
-SRC_URI[sha256sum] = "fe8f351934edce72cd919b4eb070878ebff551db5e21aea61e0f446101f0a79f" \ No newline at end of file
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_2.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_2.0.1.bb
new file mode 100644
index 00000000..e9944274
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_2.0.1.bb
@@ -0,0 +1,5 @@
+inherit pypi setuptools3
+require python-periphery.inc
+
+SRC_URI[md5sum] = "1d958f02575d4a19734ee2dd92336157"
+SRC_URI[sha256sum] = "5da4d5f40ff8974cf6c724587baa674d7e0593f07b6f6ee896104f11c1be18ec"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-petact_0.1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-petact_0.1.2.bb
new file mode 100644
index 00000000..58cd05e2
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-petact_0.1.2.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Petact is a library used for installing and updating compressed tar files"
+HOMEPAGE = "https://github.com/matthewscholefield/petact"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.md;md5=c8533d4ba77519398cdae0173db799a1"
+
+SRC_URI[md5sum] = "47e9a6abc91b4022953e4007ddae9e68"
+SRC_URI[sha256sum] = "5dcb0d44f86a601e41a2def9770993cd0ea45c76d37eb3f35e3dd61aa50350e6"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect/0001-FSM.py-change-shebang-from-python-to-python3.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect/0001-FSM.py-change-shebang-from-python-to-python3.patch
new file mode 100644
index 00000000..bee772da
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect/0001-FSM.py-change-shebang-from-python-to-python3.patch
@@ -0,0 +1,25 @@
+From 35462d7b778eea32fd0cc0bbc79d6e6f53d942b4 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 23 Apr 2020 08:01:42 +0000
+Subject: [PATCH] FSM.py: change shebang from python to python3
+
+Upstream-Status: Pending
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ pexpect/FSM.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pexpect/FSM.py b/pexpect/FSM.py
+index 46b392e..4e77654 100644
+--- a/pexpect/FSM.py
++++ b/pexpect/FSM.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ '''This module implements a Finite State Machine (FSM). In addition to state
+ this FSM also maintains a user defined "memory". So this FSM can be used as a
+--
+2.24.1
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.8.0.bb
index cf39233a..cf39233a 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.8.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch
deleted file mode 100644
index 3beef070..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 04d04a8fa1ef3d8dbdaebbaac9ae936e1c8234c1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 28 Jun 2017 21:17:43 -0400
-Subject: [PATCH] remove requirement of nose
-
-The nose extends unittest to make testing easier.
-Do not need the test suite, so remove requirement of nose.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- setup.py | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 3f7c7cb..c42a546 100644
---- a/setup.py
-+++ b/setup.py
-@@ -53,6 +53,4 @@ setup(
- keywords='pid pidfile context manager decorator',
- packages=["pid"],
- install_requires=[],
-- test_suite='nose.collector',
-- setup_requires=['nose>=1.0'],
- )
---
-2.8.1
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.0.bb
deleted file mode 100644
index e4383198..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Pidfile featuring stale detection and file-locking, can also \
-be used as context-manager or decorator"
-HOMEPAGE = "https://github.com/trbs/pid/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=83d53cbd3105063f20305bc313464e29"
-
-SRC_URI[md5sum] = "04d30308013d16aa882b3806feda8ab2"
-SRC_URI[sha256sum] = "d8bb2ceec21a4ae84be6e9d320db1f56934b30e676e31c6f098ca7218b3d67d4"
-
-inherit pypi setuptools3
-
-SRC_URI += " \
- file://0001-remove-requirement-of-nose.patch \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.5.bb
new file mode 100644
index 00000000..ef194788
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.5.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Pidfile featuring stale detection and file-locking, can also \
+be used as context-manager or decorator"
+HOMEPAGE = "https://github.com/trbs/pid/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=83d53cbd3105063f20305bc313464e29"
+
+SRC_URI[md5sum] = "ad352ee1dc28b9746a15451c0c53e9d7"
+SRC_URI[sha256sum] = "96eb7dba326b88f5164bc1afdc986c7793e0d32d7f62366256a3903c7b0614ef"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-fcntl ${PYTHON_PN}-logging ${PYTHON_PN}-io"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.1.0.bb
new file mode 100644
index 00000000..a1515881
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pika.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
new file mode 100644
index 00000000..35aee421
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
@@ -0,0 +1,37 @@
+From 862a981ce462cd83a99e3db9faeeda1f8c64983f Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 18 Mar 2019 23:23:55 -0400
+Subject: [PATCH] explicitly set compile options
+
+OE does not support to install egg package, so
+explicitly set build_ext options for oe-core's
+`setup.py install'
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ setup.cfg | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/setup.cfg b/setup.cfg
+index 1c6ebc84..1ccc3d69 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -13,3 +13,15 @@ multi_line_output = 3
+
+ [tool:pytest]
+ addopts = -rs
++
++[build_ext]
++disable-platform-guessing = 1
++enable-zlib = 1
++enable-jpeg = 1
++enable-tiff = 1
++enable-freetype = 1
++enable-lcms = 1
++enable-jpeg2000 = 1
++disable-webp = 1
++disable-webpmux = 1
++disable-imagequant = 1
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
new file mode 100644
index 00000000..6de19ad8
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
@@ -0,0 +1,61 @@
+From ae7c8d0336381dd4c10e809e9c8926f9deeafeb8 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 14 Mar 2019 03:48:10 -0400
+Subject: [PATCH] support cross compiling
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.py | 13 +++----------
+ 1 file changed, 3 insertions(+), 10 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 5ceae344..07863340 100755
+--- a/setup.py
++++ b/setup.py
+@@ -105,7 +105,7 @@ _LIB_IMAGING = (
+ "codec_fd",
+ )
+
+-DEBUG = False
++DEBUG = True
+
+
+ class DependencyException(Exception):
+@@ -396,21 +396,16 @@ class pil_build_ext(build_ext):
+ _add_directory(library_dirs, match.group(1))
+
+ # include, rpath, if set as environment variables:
+- for k in ("C_INCLUDE_PATH", "CPATH", "INCLUDE"):
++ for k in ('C_INCLUDE_PATH', 'CPATH', 'INCLUDE', 'STAGING_INCDIR'):
+ if k in os.environ:
+ for d in os.environ[k].split(os.path.pathsep):
+ _add_directory(include_dirs, d)
+
+- for k in ("LD_RUN_PATH", "LIBRARY_PATH", "LIB"):
++ for k in ('LD_RUN_PATH', 'LIBRARY_PATH', 'LIB', 'STAGING_LIBDIR'):
+ if k in os.environ:
+ for d in os.environ[k].split(os.path.pathsep):
+ _add_directory(library_dirs, d)
+
+- prefix = sysconfig.get_config_var("prefix")
+- if prefix:
+- _add_directory(library_dirs, os.path.join(prefix, "lib"))
+- _add_directory(include_dirs, os.path.join(prefix, "include"))
+-
+ #
+ # add platform directories
+
+@@ -469,8 +464,6 @@ class pil_build_ext(build_ext):
+ or sys.platform.startswith("gnu")
+ or sys.platform.startswith("freebsd")
+ ):
+- for dirname in _find_library_dirs_ldconfig():
+- _add_directory(library_dirs, dirname)
+ if sys.platform.startswith("linux") and os.environ.get(
+ "ANDROID_ROOT", None
+ ):
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.2.1.bb
new file mode 100644
index 00000000..a383a3ff
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.2.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \
+Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \
+Contributors."
+HOMEPAGE = "https://pillow.readthedocs.io"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=55c0f320370091249c1755c0d2b48e89"
+
+SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=6.2.x \
+ file://0001-support-cross-compiling.patch \
+ file://0001-explicitly-set-compile-options.patch \
+"
+SRCREV ?= "6e0f07bbe38def22d36ee176b2efd9ea74b453a6"
+
+
+inherit setuptools3
+
+DEPENDS += " \
+ zlib \
+ jpeg \
+ tiff \
+ freetype \
+ lcms \
+ openjpeg \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-numbers \
+"
+
+CVE_PRODUCT = "pillow"
+
+S = "${WORKDIR}/git"
+
+RPROVIDES_${PN} += "python3-imaging"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint/run-ptest
new file mode 100644
index 00000000..5cec7116
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.11.bb
index f793ac4a..f793ac4a 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.8.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.11.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb
new file mode 100644
index 00000000..fc7a47a4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Python module to interface with the pkg-config command line too"
+HOMEPAGE = "http://github.com/matze/pkgconfig"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=faa7f82be8f220bff6156be4790344fc"
+
+SRC_URI = "git://github.com/matze/pkgconfig.git"
+SRCREV ?= "8af0102346847e8873af8e76ab3f34ba9da806e2"
+
+RDEPENDS_${PN} = "pkgconfig \
+ ${PYTHON_PN}-shell \
+ "
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.1.bb
index 941e8e3d..941e8e3d 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.1.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pocketsphinx_0.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pocketsphinx_0.1.0.bb
new file mode 100644
index 00000000..2275d1b5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pocketsphinx_0.1.0.bb
@@ -0,0 +1,2 @@
+require python-pocketsphinx.inc
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_1.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_1.4.0.bb
new file mode 100644
index 00000000..d81ee544
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_1.4.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A Python implementation of Google's Encoded Polyline Algorithm Format"
+HOMEPAGE = "https://pypi.org/project/polyline/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0fbd13500cabd06dd751ba6b2be304c6"
+
+SRC_URI[md5sum] = "b97c57378605c4a856c437569f95a0cb"
+SRC_URI[sha256sum] = "7c7f89d09a09c7b6161bdbfb4fd304b186fc7a2060fa4f31cb3f61c646a5c074"
+
+inherit pypi setuptools3 ptest
+
+RDEPENDS_${PN} += "python3-six"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb
new file mode 100644
index 00000000..6155b798
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A lightweight, simple-to-use, RNN wake word listener."
+HOMEPAGE = "https://github.com/MycroftAI/mycroft-precise"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.md;md5=2ad29e930f3107d52d2a55728bf62116"
+
+SRC_URI[md5sum] = "a2434be110444192e804f4dada0ccecf"
+SRC_URI[sha256sum] = "1a464209fb4bf0a3f5d5a428310cb2a70487a01a6bc3a960d1dda90af896b80d"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_0.7.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_0.7.2.bb
new file mode 100644
index 00000000..5445f101
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_0.7.2.bb
@@ -0,0 +1,3 @@
+inherit setuptools3
+require python-prettytable.inc
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.5.bb
index 45e26421..45e26421 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.5.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_2.0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_2.0.10.bb
index 0e99917c..0e99917c 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_2.0.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_2.0.10.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.11.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.11.3.bb
new file mode 100644
index 00000000..30ea34e9
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.11.3.bb
@@ -0,0 +1,10 @@
+inherit setuptools3
+require python-protobuf.inc
+
+DEPENDS += "protobuf"
+DISTUTILS_BUILD_ARGS += "--cpp_implementation"
+DISTUTILS_INSTALL_ARGS += "--cpp_implementation"
+
+do_compile_prepend_class-native () {
+ export KOKORO_BUILD_NUMBER="1"
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
deleted file mode 100644
index 781d1dc4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-protobuf.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.7.0.bb
index c1969ea6..c1969ea6 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.6.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.7.0.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess/run-ptest
new file mode 100644
index 00000000..15c3f628
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_20.2.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_20.2.4.bb
new file mode 100644
index 00000000..f0db9682
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_20.2.4.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Python (3.x and 2.x) high-level interface and ctypes-based bindings for PulseAudio (libpulse), mostly focused on mixer-like controls and introspection-related operations (as opposed to e.g. submitting sound samples to play, player-like client)."
+HOMEPAGE = "https://github.com/mk-fg/python-pulse-control"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f1d10048469ff90123263eb5e214061d"
+
+SRC_URI[md5sum] = "07d7a5fddc49f5da22634464aa008003"
+SRC_URI[sha256sum] = "fca9ed501bef2efd551b35773fd24bba36bbd21bc448f402cf8ee13c12423c19"
+
+RDEPENDS_${PN} += "pulseaudio"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.6.0.bb
deleted file mode 100644
index 0ee373d2..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.6.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-py.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.1.bb
new file mode 100644
index 00000000..ff66aeaa
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE = "http://py.readthedocs.io/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
+
+SRC_URI[md5sum] = "42c67de84b07ac9cc867b8b70843a45b"
+SRC_URI[sha256sum] = "5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-netclient"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.7.bb
index 3b1186f0..3b1186f0 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.7.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.8.bb
index a5e2a713..a5e2a713 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.8.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.34.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.34.0.bb
new file mode 100644
index 00000000..3bdb86b4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.34.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Python bindings for DBus AT-SPI2 accessibility"
+DESCRIPTION = "AT-SPI2 is a protocol over DBus, toolkit widgets use to provide content to screen readers such as Orca"
+SECTION = "devel/python"
+HOMEPAGE = "https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=db29218e6ba3794c56df7d4987dc7e4d \
+ file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "python3-dbus-native glib-2.0 dbus-glib libxml2 atk gtk+ python3-pygobject"
+
+SRC_URI = "git://github.com/GNOME/pyatspi2.git;protocol=https;branch=mainline"
+SRCREV = "cc99d68db66174f4499b9b325bc788393b972edd"
+S = "${WORKDIR}/git"
+
+# Same restriction as gtk+
+inherit features_check
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+
+inherit pkgconfig autotools python3native
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/pyatspi/*"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.11.bb
new file mode 100644
index 00000000..abb01bf6
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.11.bb
@@ -0,0 +1,2 @@
+require python-pyaudio.inc
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.4.3.bb
index 355e2846..355e2846 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.3.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.4.3.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.22.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.22.bb
index 9712a760..26902e18 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.22.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.22.bb
@@ -1,2 +1,20 @@
-require python-pybluez.inc
-inherit setuptools3
+DESCRIPTION = "Bluetooth Python extension module"
+HOMEPAGE = "http://karulis.github.io/pybluez/"
+SECTION = "devel/python"
+
+DEPENDS = "bluez5"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
+
+SRC_URI[md5sum] = "49dab9d5a8f0b798c8125c7f649be3cd"
+SRC_URI[sha256sum] = "4ce006716a54d9d18e8186a3f1c8b12a8e6befecffe8fd5828a291fb694ce49d"
+
+PYPI_PACKAGE = "PyBluez"
+PYPI_PACKAGE_EXT = "zip"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ bluez5 \
+ ${PYTHON_PN}-fcntl \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_4.2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_4.2.3.bb
new file mode 100644
index 00000000..f561753a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_4.2.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast."
+HOMEPAGE = "https://github.com/balloob/pychromecast"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
+
+SRC_URI[md5sum] = "56632e0d94f2648a29d89affddddaaec"
+SRC_URI[sha256sum] = "d7b7b35254203ab4617389061bee25b0fa67c6628c48bd6a75ccfefef74f1edb"
+
+PYPI_PACKAGE = "PyChromecast"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb
deleted file mode 100644
index cedcdb3b..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pycodestyle.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.5.0.bb
new file mode 100644
index 00000000..7f00ab62
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.5.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Python style guide checker (formly called pep8)"
+HOMEPAGE = "https://pypi.org/project/pycodestyle"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01831ddbaf398471da3cc87f5037e822"
+
+SRC_URI[md5sum] = "40e7a76f364a18f531aaba11a4476e21"
+SRC_URI[sha256sum] = "e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb
deleted file mode 100644
index 7cc024ea..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit pypi setuptools3
-require python-pycparser.inc
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-netclient \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.20.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.20.bb
new file mode 100644
index 00000000..2a5f414b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.20.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Parser of the C language, written in pure Python"
+HOMEPAGE = "https://github.com/eliben/pycparser"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86f1cedb4e6410a88ce8e30b91079169"
+
+SRC_URI[md5sum] = "b8f88de737db8c346ee8d31c07c7a25a"
+SRC_URI[sha256sum] = "2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-ply \
+ ${PYTHON_PN}-pprint \
+ cpp \
+ cpp-symlinks \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto/0001-Replace-time.clock-with-time.process_time.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto/0001-Replace-time.clock-with-time.process_time.patch
new file mode 100644
index 00000000..282fdd3e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto/0001-Replace-time.clock-with-time.process_time.patch
@@ -0,0 +1,34 @@
+From 1d90727ff2368012d6e2f91b1a3198f626495b7f Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Sat, 25 Jan 2020 14:36:16 +0100
+Subject: [PATCH] Replace time.clock() with time.process_time()
+
+The use of time.clock() is deprecated in python 3.8, change to use
+time.process_time().
+
+Reference:
+https://docs.python.org/3.3/library/time.html#time.clock
+
+Upstream-Status: Pending
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ lib/Crypto/Random/_UserFriendlyRNG.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Crypto/Random/_UserFriendlyRNG.py b/lib/Crypto/Random/_UserFriendlyRNG.py
+index 957e006..d2a0259 100644
+--- a/lib/Crypto/Random/_UserFriendlyRNG.py
++++ b/lib/Crypto/Random/_UserFriendlyRNG.py
+@@ -74,7 +74,7 @@ class _EntropyCollector(object):
+ self._time_es.feed(struct.pack("@I", int(2**30 * (t - floor(t)))))
+
+ # Add the fractional part of time.clock()
+- t = time.clock()
++ t = time.process_time()
+ self._clock_es.feed(struct.pack("@I", int(2**30 * (t - floor(t)))))
+
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto_2.6.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto_2.6.1.bb
index 02d634cb..a20eafec 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto_2.6.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto_2.6.1.bb
@@ -1,6 +1,8 @@
inherit distutils3
require python-pycrypto.inc
+SRC_URI += "file://0001-Replace-time.clock-with-time.process_time.patch"
+
# We explicitly call distutils_do_install, since we want it to run, but
# *don't* want the autotools install to run, since this package doesn't
# provide a "make install" target.
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.4.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.4.11.bb
deleted file mode 100644
index 0c062ddd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.4.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pycryptodome.inc
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.5.bb
new file mode 100644
index 00000000..5a1c1797
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "A Python Interface To The cURL library"
+DESCRIPTION = "\
+PycURL is a Python interface to libcurl, the multiprotocol file \
+transfer library. Similarly to the urllib Python module, PycURL can \
+be used to fetch objects identified by a URL from a Python program \
+"
+SECTION = "devel/python"
+HOMEPAGE = "http://pycurl.io/"
+
+LICENSE = "LGPLv2 | MIT"
+LIC_FILES_CHKSUM = "file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING-MIT;md5=60872a112595004233b769b6cbfd65b6 \
+ "
+
+SRC_URI[md5sum] = "0b387d4609ed20c88baede8579a4d425"
+SRC_URI[sha256sum] = "ec7dd291545842295b7b56c12c90ffad2976cc7070c98d7b1517b7b6cd5994b3"
+
+inherit pypi setuptools3
+
+DEPENDS = "\
+ curl \
+ ${PYTHON_PN}\
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
index adaa86d5..807e7b2d 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
@@ -1,6 +1,19 @@
-require python-pydbus.inc
-inherit pypi setuptools3
+DESCRIPTION = "Pythonic DBus library"
+HOMEPAGE = "https://pypi.python.org/pypi/pydbus/"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a916467b91076e631dd8edb7424769c7"
SRC_URI += "file://0001-Support-asynchronous-calls-58.patch \
file://0002-Support-transformation-between-D-Bus-errors-and-exce.patch \
"
+
+SRC_URI[md5sum] = "c6abd44862322679bd4e907bebc3e0d0"
+SRC_URI[sha256sum] = "4207162eff54223822c185da06c1ba8a34137a9602f3da5a528eedf3f78d0f2c"
+
+inherit pypi setuptools3
+
+S = "${WORKDIR}/pydbus-${PV}"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-pygobject \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.17.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.17.bb
deleted file mode 100644
index bfd58404..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.17.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pyexpect.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.19.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.19.bb
new file mode 100644
index 00000000..ea3c018a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.19.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Python expectaton library"
+DESCRIPTION = "Minimal but very flexible implementation of the expect pattern"
+SECTION = "devel/python"
+HOMEPAGE = " https://bitbucket.org/dwt/pyexpect"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://README.md;md5=500b884e9dcd5f677a53cbbee8ace939"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "dc744289858001925c75d21e26f1260f"
+SRC_URI[sha256sum] = "bff4654b113dac6c2231e486e11dcb23281ddc0742a5404467303fe7638829ef"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.0.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.0.3.bb
deleted file mode 100644
index 25af1b5c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.0.3.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools3
-require python-pyfirmata.inc
-
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.1.0.bb
new file mode 100644
index 00000000..c6e95eb5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyfirmata_1.1.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "A Python interface for the Firmata protocol"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84ddcef430b7c44caa22b2ff4b37a3df"
+PYPI_PACKAGE = "pyFirmata"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-pyserial \
+"
+
+SRC_URI[md5sum] = "159673cfb56c72ceafc30fe91eedd847"
+SRC_URI[sha256sum] = "cc180d1b30c85a2bbca62c15fef1b871db048cdcfa80959968356d97bd3ff08e"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.1.1.bb
new file mode 100644
index 00000000..c1388224
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_2.1.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "passive checker of Python programs"
+HOMEPAGE = "https://github.com/dreamhost/cliff"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=5127315117a8561a1504343d59620647"
+
+SRC_URI[md5sum] = "a0f71a15724e553c46e03ba5ed56703c"
+SRC_URI[sha256sum] = "d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-prettytable \
+ ${PYTHON_PN}-cmd2 \
+ ${PYTHON_PN}-pyparsing"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_1.9.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_1.9.0.bb
new file mode 100644
index 00000000..ee96a079
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_1.9.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Hamcrest framework for matcher objects"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f6df1318c6071dd1707f5e3b6c11f24f"
+
+PYPI_PACKAGE = "PyHamcrest"
+
+SRC_URI[md5sum] = "8b833a3fa30197455df79424f30c8c3f"
+SRC_URI[sha256sum] = "8ffaa0a53da57e89de14ced7185ac746227a8894dbd5a3c718bf05ddbd1d56cd"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-six"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.11.bb
index 721e7b1c..3022d083 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.11.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.11.bb
@@ -1,2 +1,11 @@
-inherit setuptools3
-require python-pyiface.inc
+SUMMARY = "Pyiface is a package that exposes the network interfaces of the operating system in a easy to use and transparent way"
+SECTION = "devel/python"
+HOMEPAGE = "https://pypi.python.org/pypi/pyiface/"
+LICENSE = "GPLv3+"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fe869ee987a340198fb0d54c55c47f1"
+
+SRC_URI[md5sum] = "b066aa984656742738127c9c75436ab4"
+SRC_URI[sha256sum] = "e231e5735d329c5b2d4fc8854f069fdaa5436d3ef91ed64ee49e41e3f5e8a3f5"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyinotify_0.9.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyinotify_0.9.6.bb
index b3bab989..ab339531 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyinotify_0.9.6.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyinotify_0.9.6.bb
@@ -1,2 +1,16 @@
-inherit setuptools3
-require python-pyinotify.inc
+DESCRIPTION = "Python pyinotify: Linux filesystem events monitoring"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ab173cade7965b411528464589a08382"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-smtpd \
+"
+
+SRC_URI[md5sum] = "8e580fa1ff3971f94a6f81672b76c406"
+SRC_URI[sha256sum] = "9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_17.1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_17.1.1.bb
deleted file mode 100644
index 8982fceb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_17.1.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyjks.inc
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_19.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_19.0.0.bb
new file mode 100644
index 00000000..ee2f3075
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_19.0.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Pure-Python Java Keystore (JKS) library"
+DESCRIPTION = "PyJKS enables Python projects to load and manipulate\
+ Java KeyStore (JKS) data without a JVM dependency. PyJKS supports JKS,\
+ JCEKS, BKS and UBER (BouncyCastle) keystores."
+HOMEPAGE = "http://github.com/kurtbrose/pyjks"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9694d6cc724caf7f7386be88a4a81958"
+
+SRC_URI[md5sum] = "b6e8f3b91be355d15e3ba99de2cccf9b"
+SRC_URI[sha256sum] = "9ce5b40289bcdffcd6a8e7118b333ba8ba2ec4c9ebc5e324885cc8a69767011a"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-javaobj-py3 \
+ ${PYTHON_PN}-pyasn1 \
+ ${PYTHON_PN}-pyasn1-modules \
+ ${PYTHON_PN}-pycryptodome \
+ ${PYTHON_PN}-twofish\
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.4.bb
deleted file mode 100644
index dc16d228..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyjwt.inc
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.7.1.bb
new file mode 100644
index 00000000..d2f7be46
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.7.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "JSON Web Token implementation in Python"
+DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\
+ Original implementation was written by https://github.com/progrium"
+HOMEPAGE = "http://github.com/jpadilla/pyjwt"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=68626705a7b513ca8d5f44a3e200ed0c"
+
+SRC_URI[md5sum] = "a4712f980c008696e13e09504120b2a0"
+SRC_URI[sha256sum] = "8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96"
+
+PYPI_PACKAGE = "PyJWT"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "${PYTHON_PN}-cryptography"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pykwalify_1.7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pykwalify_1.7.0.bb
new file mode 100644
index 00000000..5d029bd7
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pykwalify_1.7.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "YAML/JSON validation library"
+DESCRIPTION = "pykwalify is a schema validator for YAML and JSON"
+HOMEPAGE = "https://pypi.org/project/pykwalify/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a72ea5159364a2cd7f45c6dcbee37872"
+
+SRC_URI[md5sum] = "58357f1d0f77de976e73dbd3660af75b"
+SRC_URI[sha256sum] = "7e8b39c5a3a10bc176682b3bd9a7422c39ca247482df198b402e8015defcceb2"
+
+PYPI_PACKAGE = "pykwalify"
+inherit setuptools3 pypi
+unset _PYTHON_SYSCONFIGDATA_NAME
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-pyyaml \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.8.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.8.3.bb
index 563e8316..7a873a1e 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.8.3.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.8.3.bb
@@ -1,2 +1,38 @@
-inherit setuptools3 python3-dir
-require python-pylint.inc
+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] = "2eb5f3cb8fe567eaf5420dd415012202"
+SRC_URI[sha256sum] = "c77311859e0c2d7932095f30d2b1bfdc4b6fe111f534450ba727a52eae330ef2"
+
+inherit pypi setuptools3 python3-dir
+
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+do_install_append(){
+ rm ${D}${bindir}/pylint
+ cat >> ${D}${bindir}/pylint <<EOF
+#!/usr/bin/env ${PYTHON_PN}
+from pylint import run_pylint
+run_pylint()
+EOF
+ chmod 755 ${D}${bindir}/pylint
+ sed -i -e 's:^#!/usr/bin/python:#!/usr/bin/env\ ${PYTHON_PN}:g' ${D}/${PYTHON_SITEPACKAGES_DIR}/pylint/test/data/ascript
+}
+
+PACKAGES =+ "${PN}-tests"
+FILES_${PN}-tests+= " \
+ ${PYTHON_SITEPACKAGES_DIR}/pylint/test/ \
+ ${PYTHON_SITEPACKAGES_DIR}/pylint/testutils.py \
+"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-astroid \
+ ${PYTHON_PN}-isort \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-difflib \
+ ${PYTHON_PN}-netserver \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb
new file mode 100644
index 00000000..207751c4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Pythonic Implementation of lyrics.wikia.com"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=14;endline=14;md5=95d480cd6f8471abaeae21bd0ed277ba"
+
+SRC_URI[md5sum] = "1f3c997edeba149a8fb2b861cbad89c3"
+SRC_URI[sha256sum] = "c5f36e8ef0ed3b487a9242ce34c19f9684e418a5bbffd5d367dc1d1604b4cd0b"
+
+PYPI_PACKAGE = "PyLyrics"
+PYPI_PACKAGE_EXT = "zip"
+
+inherit pypi setuptools3 \ No newline at end of file
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.122.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.122.bb
new file mode 100644
index 00000000..bf2da006
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.122.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Python API for MISP"
+HOMEPAGE = "https://github.com/MISP/PyMISP"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
+
+SRC_URI[md5sum] = "ef41185d4c2753dc2c1a9ab937e3614a"
+SRC_URI[sha256sum] = "ecdc362b4bb5dd500a5f0b9e795b35ed75037de64f8dcf39c24d029e7657ad7f"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-jsonschema \
+ ${PYTHON_PN}-requests \
+ ${PYTHON_PN}-six \
+"
+
+# Fixes: python3-pymisp requires /bin/bash, but no
+# providers found in RDEPENDS_python3-pymisp? [file-rdep
+RDEPENDS_${PN} += "bash"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.93.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.93.bb
deleted file mode 100644
index 4523d9e3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.93.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pymisp.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.10.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.10.1.bb
new file mode 100644
index 00000000..f69ca53c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.10.1.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Python driver for MongoDB <http://www.mongodb.org>"
+DESCRIPTION = "\
+The PyMongo distribution contains tools for interacting with MongoDB \
+database from Python. The bson package is an implementation of the BSON \
+format for Python. The pymongo package is a native Python driver for \
+MongoDB. The gridfs package is a gridfs implementation on top of pymongo."
+HOMEPAGE = "http://github.com/mongodb/mongo-python-driver"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI[md5sum] = "e31b9c0190c9eaf1f792d0277b2a8ebe"
+SRC_URI[sha256sum] = "993257f6ca3cde55332af1f62af3e04ca89ce63c08b56a387cdd46136c72f2fa"
+
+inherit pypi setuptools3
+
+PACKAGES =+ "${PYTHON_PN}-bson"
+
+FILES_${PYTHON_PN}-bson = "${PYTHON_SITEPACKAGES_DIR}/bson/*"
+
+RDEPENDS_${PYTHON_PN}-bson += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-bson \
+ ${PYTHON_PN}-pprint \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.7.1.bb
deleted file mode 100644
index 5164b186..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.7.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pymongo.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.9.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.9.3.bb
new file mode 100644
index 00000000..6a64ccb1
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.9.3.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A pure-Python MySQL client library"
+DESCRIPTION = " \
+ This package contains a pure-Python MySQL client library, based on PEP 249 \
+ Most public APIs are compatible with mysqlclient and MySQLdb. \
+ "
+SECTION = "devel/python"
+HOMEPAGE = "https://pymysql.readthedocs.io"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=528175c84163bb800d23ad835c7fa0fc"
+
+SRC_URI[md5sum] = "e5d9183cc0a775ac29f9e0365cca6556"
+SRC_URI[sha256sum] = "d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7"
+
+PYPI_PACKAGE = "PyMySQL"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-cryptography"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pynetlinux_1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pynetlinux_1.1.bb
index f6d9e3c0..c80a1661 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pynetlinux_1.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pynetlinux_1.1.bb
@@ -1,2 +1,11 @@
-inherit setuptools3
-require python-pynetlinux.inc
+SUMMARY = "Linux network configuration library for Python"
+DESCRIPTION = "This library contains Python bindings to ioctl calls"
+SECTION = "devel/python"
+HOMEPAGE = "http://github.com/rlisagor/pynetlinux"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=74e1861736ee959824fe7542323c12e9"
+
+SRC_URI[md5sum] = "3336e5d4a478acca4e35bf3125b4f883"
+SRC_URI[sha256sum] = "4ad08298c9f5ba15a11cddc639ba8778cabdfc402b51066d9e0a325e5a5b391c"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_18.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_18.0.0.bb
deleted file mode 100644
index 0f0f83e3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_18.0.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pyopenssl.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.1.0.bb
new file mode 100644
index 00000000..da783ea2
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.1.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Simple Python wrapper around the OpenSSL library"
+HOMEPAGE = "https://pyopenssl.org/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS += "openssl ${PYTHON_PN}-cryptography"
+
+SRC_URI[md5sum] = "d9804fedbd1eb0c7d9243397b1fbf972"
+SRC_URI[sha256sum] = "9a24494b2602aaf402be5c9e30a0b82d4a5c67528fe8fb475e3f3bc00dd69507"
+
+PYPI_PACKAGE = "pyOpenSSL"
+inherit pypi setuptools3
+
+PACKAGES =+ "${PN}-tests"
+FILES_${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test"
+
+RDEPENDS_${PN}_class-target = " \
+ ${PYTHON_PN}-cryptography \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-threading \
+"
+RDEPENDS_${PN}-tests = "${PN}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb
deleted file mode 100644
index 0805fee3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pyparsing.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.6.bb
new file mode 100644
index 00000000..a6ec1cb9
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.6.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Python parsing module"
+HOMEPAGE = "http://pyparsing.wikispaces.com/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1"
+
+SRC_URI[md5sum] = "29733ea8cbee0291aad121c69c6e51a1"
+SRC_URI[sha256sum] = "4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.2.bb
deleted file mode 100644
index ee6f88bb..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pyperclip.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.7.0.bb
new file mode 100644
index 00000000..52d109ab
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.7.0.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "A cross-platform clipboard module for Python. (only handles plain text for now)"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a428356ada7737b416ec4b63dc65d581"
+
+SRC_URI[md5sum] = "6bbb8598579cc3ee50554b4c59d0cfae"
+SRC_URI[sha256sum] = "979325468ccf682104d5dcaf753f869868100631301d3e72f47babdea5700d1c"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-ctypes \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.7.1.bb
new file mode 100644
index 00000000..081e904e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.7.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A toolkit to write, run and analyze benchmarks"
+DESCRIPTION = " \
+The Python pyperf module is a toolkit to write, run and analyze benchmarks. \
+Features: \
+ * Simple API to run reliable benchmarks \
+ * Automatically calibrate a benchmark for a time budget. \
+ * Spawn multiple worker processes. \
+ * Compute the mean and standard deviation. \
+ * Detect if a benchmark result seems unstable. \
+ * JSON format to store benchmark results. \
+ * Support multiple units: seconds, bytes and integer. \
+"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8"
+
+SRC_URI[md5sum] = "d9e894dc843bb7f0abff109931a29895"
+SRC_URI[sha256sum] = "c37690e810116a83a244dfeec47885e2f0475b4c450313904be3bc2cdaf6d50a"
+
+DEPENDS += "${PYTHON_PN}-six-native"
+
+PYPI_PACKAGE = "pyperf"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2/run-ptest
new file mode 100644
index 00000000..ea429ba2
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.12.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.12.bb
new file mode 100644
index 00000000..440f8993
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.12.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A pure Python netlink and Linux network configuration library"
+LICENSE = "GPLv2 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce"
+
+SRC_URI[md5sum] = "4370e9a5875486a1223705ea9b001eff"
+SRC_URI[sha256sum] = "0157801c5496177856c3296b590065e691b041a3adde6fb8ffad2a8d05013ed3"
+
+inherit setuptools3 pypi ptest
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-multiprocessing \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-unixadmin \
+"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-fcntl \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.2.bb
deleted file mode 100644
index a23e72c4..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyroute2.inc
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.15.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.15.7.bb
new file mode 100644
index 00000000..53251aa5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.15.7.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Persistent/Immutable/Functional data structures for Python"
+HOMEPAGE = "https://github.com/tobgu/pyrsistent"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE.mit;md5=ca574f2891cf528b3e7a2ee570337e7c"
+
+SRC_URI[md5sum] = "da9486d00ef5b213f40d5cf3c5bca82d"
+SRC_URI[sha256sum] = "cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-six \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_3.2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_3.2.3.bb
new file mode 100644
index 00000000..dbd222f5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_3.2.3.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python project template generator with batteries included"
+DESCRIPTION = "PyScaffold package helps to setup a new Python project. \
+After installation, it provides a new command [putup], which could be \
+used to create template Projects."
+
+HOMEPAGE = "https://github.com/pyscaffold/pyscaffold"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "PyScaffold"
+
+SRC_URI[md5sum] = "6769d2a26a9d1f3038944b8fbfe728ff"
+SRC_URI[sha256sum] = "96c3e7f5529df0b5b351e879a141e1e5c9f26211f30d493c23d8c09d9d610a6f"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial/run-ptest
new file mode 100644
index 00000000..e301963f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb
index 17ed3f8b..d65c9a88 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb
@@ -1,7 +1,62 @@
-inherit setuptools3
-require python-pyserial.inc
+SUMMARY = "Serial Port Support for Python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d476d94926db6e0008a5b3860d1f5c0d"
+
+SRC_URI[md5sum] = "ed6183b15519a0ae96675e9c3330c69b"
+SRC_URI[sha256sum] = "6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627"
+
+inherit pypi setuptools3 ptest
do_install_append() {
rm -f ${D}${bindir}/miniterm.py
rmdir ${D}${bindir}
}
+
+PACKAGES =+ "${PN}-java ${PN}-osx ${PN}-win32 ${PN}-tools"
+
+FILES_${PN}-java = " \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/*java* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*java* \
+"
+
+FILES_${PN}-osx = " \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/tools/*osx* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/*osx* \
+"
+
+FILES_${PN}-win32 = " \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/*serialcli* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*serialcli* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/*win32* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*win32* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/tools/miniterm* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/miniterm* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/tools/*windows* \
+ ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/*windows* \
+"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.8.bb
deleted file mode 100644
index bbda05a5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.8.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit pypi setuptools3
-require python-pysocks.inc
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-netclient \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.1.bb
new file mode 100644
index 00000000..d0db8a06
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "A Python SOCKS client module"
+HOMEPAGE = "http://python-requests.org"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
+
+SRC_URI[md5sum] = "89b1a6865c61bae67a32417517612ee6"
+SRC_URI[sha256sum] = "3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"
+
+PYPI_PACKAGE = "PySocks"
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pystache_0.5.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pystache_0.5.4.bb
new file mode 100644
index 00000000..feb49861
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pystache_0.5.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Python implementation of Mustache"
+HOMEPAGE = "https://github.com/defunkt/pystache"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb4417802c56384aac71b34505528a60"
+
+SRC_URI[md5sum] = "485885e67a0f6411d5252e69b20a35ca"
+SRC_URI[sha256sum] = "f7bbc265fb957b4d6c7c042b336563179444ab313fb93a719759111eabd3b85a"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-netserver \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.7.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.7.0.bb
new file mode 100644
index 00000000..66f026ca
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.7.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python bindings for interacting with systemd over DBus"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[md5sum] = "f493c3e54457e49fe3c160274b863bac"
+SRC_URI[sha256sum] = "f5dc49d02995ab96335d9e94f9fe036673d89b8cc9907e7a0ac83c06665f2430"
+
+DEPENDS = "systemd"
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit pypi setuptools3 features_check
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.10.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.10.0.bb
new file mode 100644
index 00000000..a7e963b0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.10.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-asyncio"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=ae62268d207c73b615fbefddaf91a881"
+
+SRC_URI[md5sum] = "247a7ec32f24a185341327c42a0f85bf"
+SRC_URI[sha256sum] = "9fac5100fd716cbecf6ef89233e8590a4ad61d729d1732e0a96b84182df1daaf"
+
+inherit pypi setuptools3
+
+DEPENDS += "${PYTHON_PN}-pytest-native"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2016.7.10.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2016.7.10.bb
deleted file mode 100644
index f03f5d41..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2016.7.10.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require python-pytest-helpers-namespace.inc
-
-inherit setuptools3
-
-RDEPENDS_${PN} += " \
- python3-pytest \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2019.1.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2019.1.8.bb
new file mode 100644
index 00000000..b3aced4f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2019.1.8.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "This plugin does not provide any helpers to pytest, it does, however, provide a helpers namespace in pytest which enables you to register helper functions in your conftest.py to be used within your tests without having to import them."
+HOMEPAGE = "https://github.com/saltstack/pytest-helpers-namespace"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=cc99508c43d9d14fd51c7fac622ffd23"
+
+SRC_URI[md5sum] = "04ec1d8750f9b154e782a47cf8b30736"
+SRC_URI[sha256sum] = "4eff23a19f92410c0166f6dffbfa8901d3e14a80e97d70cd08428b6d597771ce"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-pytest \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-html_1.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-html_1.6.bb
new file mode 100644
index 00000000..8ace29ed
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-html_1.6.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "pytest plugin for generating html reports from test results"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-html"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://../pytest-html.LICENSE;md5=5d425c8f3157dbf212db2ec53d9e5132"
+
+# Per README.rst the license statement is fetched from
+# https://raw.githubusercontent.com/davehunt/pytest-html/master/LICENSE
+SRC_URI += "https://raw.githubusercontent.com/davehunt/pytest-html/master/LICENSE;name=license;downloadfilename=pytest-html.LICENSE"
+
+PYPI_PACKAGE = "pytest-html"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "ac956864a9b3392203dacd287ae450f0"
+SRC_URI[sha256sum] = "a359de04273239587bd1a15b29b2266daeaf56b7a13f8224bc4fb3ae0ba72c3f"
+SRC_URI[license.md5sum] = "5d425c8f3157dbf212db2ec53d9e5132"
+SRC_URI[license.sha256sum] = "2bfdca60adf803108d4c7f009000bea76ad00e621e163197881b0eaae91b530e"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-pytest"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-metadata_1.8.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-metadata_1.8.0.bb
new file mode 100644
index 00000000..807b0ced
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-metadata_1.8.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "pytest-metadata is a plugin that allowed for accessing pytest metadata"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-metadata"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5d425c8f3157dbf212db2ec53d9e5132"
+
+PYPI_PACKAGE = "pytest-metadata"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "95674c2390b58e0138cabac5101d1908"
+SRC_URI[sha256sum] = "2071a59285de40d7541fde1eb9f1ddea1c9db165882df82781367471238b66ba"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-pytest"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb
deleted file mode 100644
index df56ba6d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pytest-runner.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.2.bb
new file mode 100644
index 00000000..d00cd487
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Invoke py.test as distutils command with dependency resolution"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+SRC_URI[md5sum] = "e5f66b8e8e87f62c59631c35c919d321"
+SRC_URI[sha256sum] = "96c7e73ead7b93e388c5d614770d2bae6526efd997757d3543fe17b557a0942b"
+
+inherit pypi setuptools3
+
+DEPENDS += " \
+ ${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json \
+ ${PYTHON_PN}-io"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2016.8.20.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2016.8.20.bb
deleted file mode 100644
index 02e82156..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2016.8.20.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require python-pytest-tempdir.inc
-
-inherit setuptools3
-
-RDEPENDS_${PN} += " \
- python3-pytest \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2019.10.12.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2019.10.12.bb
new file mode 100644
index 00000000..7a48fd52
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2019.10.12.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Adds support for a predictable and repeatable temporary directory."
+HOMEPAGE = "https://github.com/saltstack/pytest-tempdir"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=9872c3a37cc9baf79a464cd168282be5"
+
+SRC_URI[md5sum] = "79b997d418fb85c2529ab50cd4333689"
+SRC_URI[sha256sum] = "e7d91813a9aa991db87dacdef8cfd3f1657632d731d56d06238c5ffb63ab36d8"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-pytest \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_1.3.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_1.3.4.bb
new file mode 100644
index 00000000..a359969e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_1.3.4.bb
@@ -0,0 +1,13 @@
+SUMMARY = "py.test plugin to abort hanging tests"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-timeout/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8048cd156eda3df2e7f111b0ae9ceff"
+
+PYPI_PACKAGE = "pytest-timeout"
+
+SRC_URI[md5sum] = "1594762ae77ed7c6c2727aa8b4aa8bfb"
+SRC_URI[sha256sum] = "80faa19cd245a42b87a51699d640c00d937c02b749052bfca6bae8bdbe12c48e"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "${PYTHON_PN}-pytest"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
new file mode 100644
index 00000000..c29fb12d
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
@@ -0,0 +1,36 @@
+From ff784f4803ab33f5e3389e40d038d52d1e211843 Mon Sep 17 00:00:00 2001
+From: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+Date: Wed, 28 Aug 2019 16:12:27 +0900
+Subject: [PATCH] [PATCH] setup.py: remove the setup_requires for
+ setuptools-scm
+
+The setup_requires argument forces the download of the egg file for setuptools-scm
+during the do_compile phase. This download is incompatible with the typical fetch
+and mirror structure. The only usage of scm is the generation of the _version.py
+file and in the release tarball it is already correctly created
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+
+Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index adbafb5..75fdd09 100644
+--- a/setup.py
++++ b/setup.py
+@@ -19,7 +19,7 @@ INSTALL_REQUIRES = [
+ def main():
+ setup(
+ use_scm_version={"write_to": "src/_pytest/_version.py"},
+- setup_requires=["setuptools-scm", "setuptools>=40.0"],
++ setup_requires=["setuptools>=40.0"],
+ package_dir={"": "src"},
+ extras_require={
+ "testing": [
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb
deleted file mode 100644
index eba6632a..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools3
-require python-pytest.inc
-
-ALTERNATIVE_PRIORITY = "100"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.3.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.3.5.bb
new file mode 100644
index 00000000..8dad13a9
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.3.5.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Simple powerful testing with python"
+HOMEPAGE = "http://pytest.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b"
+
+SRC_URI[md5sum] = "d5ef453f723be46d93e0795f3be86c88"
+SRC_URI[sha256sum] = "0d5fe9189a148acc3c3eb2ac8e1ac0742cb7618c084f3d228baaec0c254b318d"
+
+SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch "
+
+inherit update-alternatives pypi setuptools3
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-doctest \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-pluggy \
+ ${PYTHON_PN}-py \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-atomicwrites \
+ ${PYTHON_PN}-importlib-metadata \
+ ${PYTHON_PN}-pathlib2 \
+ ${PYTHON_PN}-wcwidth \
+ ${PYTHON_PN}-more-itertools \
+ ${PYTHON_PN}-packaging \
+"
+
+ALTERNATIVE_${PN} += "py.test pytest"
+
+NATIVE_LINK_NAME[pytest] = "${bindir}/pytest"
+ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest"
+
+ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test"
+ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.7110.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.7110.bb
new file mode 100644
index 00000000..be63fed0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.7110.bb
@@ -0,0 +1,9 @@
+SUMMARY = "This module provides ctypes-based bindings for the native libvlc API of the VLC video player."
+HOMEPAGE = "wiki.videolan.org/PythonBinding"
+LICENSE = "LGPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[md5sum] = "e128abf7115d6513582bd460c0e74485"
+SRC_URI[sha256sum] = "821bca0dbe08fbff97a65e56ff2318ad7d499330876579c39f01f3fb38c7b679"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml_0.1.21.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml_0.1.21.bb
new file mode 100644
index 00000000..1533a895
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml_0.1.21.bb
@@ -0,0 +1,30 @@
+SUMMARY = "A TOML-0.4.0 parser/writer for Python"
+HOMEPAGE = "https://pypi.python.org/pypi/pytoml/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cfff423699bdaef24331933ac4f56078"
+
+SRC_URI[md5sum] = "e59dd36a559dd2a876e4c149c69e947b"
+SRC_URI[sha256sum] = "8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7"
+
+inherit pypi setuptools3 ptest
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-stringold \
+ "
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.5.bb
deleted file mode 100755
index 19a89dc5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.5.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pytz.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.3.bb
new file mode 100644
index 00000000..c28a0148
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.3.bb
@@ -0,0 +1,36 @@
+SUMMARY = "World timezone definitions, modern and historical"
+HOMEPAGE = "http://pythonhosted.org/pytz"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4878a915709225bceab739bdc2a18e8d"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI[md5sum] = "c3d84a465fc56a4edd52cca8873ac0df"
+SRC_URI[sha256sum] = "b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be"
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-doctest \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/pytz
+ install -d ${D}${PTEST_PATH}/pytz/tests
+ cp -rf ${S}/pytz/tests/* ${D}${PTEST_PATH}/pytz/tests/
+ cp -f ${S}/README.txt ${D}${PTEST_PATH}/
+
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb
index a62d944b..49a3628f 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb
@@ -1,2 +1,22 @@
-require python-pyudev.inc
+SUMMARY = "A libudev binding"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI[md5sum] = "cf4d9db7d772622144ca1be6b5d9353b"
+SRC_URI[sha256sum] = "094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b"
+
inherit pypi setuptools3
+
+do_configure_prepend() {
+ sed -i "/import pyudev/d" ${S}/setup.py
+ sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py
+}
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-fcntl \
+ libudev \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb
index 1ecede7c..44c24f42 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb
@@ -1,2 +1,12 @@
-inherit setuptools3
-require python-pyusb.inc
+SUMMARY = "PyUSB provides USB access on the Python language"
+HOMEPAGE = "http://pyusb.sourceforge.net/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=51691ed11cc2c7ae93e383f60ed49b0f"
+DEPENDS += "libusb1"
+
+SRC_URI[md5sum] = "862b56452c64948c787ad8ef9498590b"
+SRC_URI[sha256sum] = "4e9b72cc4a4205ca64fbf1f3fff39a335512166c151ad103e55c8223ac147362"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb
deleted file mode 100644
index 470aca60..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pyyaml.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.3.1.bb
new file mode 100644
index 00000000..8cf90930
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.3.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python support for YAML"
+DEPENDS += "libyaml ${PYTHON_PN}-cython-native"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7bbd28caa69f81f5cd5f48647236663d"
+
+PYPI_PACKAGE = "PyYAML"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-netclient \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb
index 050f53af..2369f067 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb
@@ -1,2 +1,27 @@
-require python-pyzmq.inc
-inherit setuptools3
+SUMMARY = "Pyzmq provides Zero message queue access for the Python language"
+HOMEPAGE = "http://zeromq.org/bindings:python"
+LICENSE = "BSD & LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e \
+ file://COPYING.LESSER;md5=12c592fa0bcfff3fb0977b066e9cb69e"
+DEPENDS = "zeromq"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyzmq:"
+
+SRC_URI += "file://club-rpath-out.patch"
+SRC_URI[md5sum] = "aecdfc328193fbd81f6dc23228319943"
+SRC_URI[sha256sum] = "2199f753a230e26aec5238b0518b036780708a4c887d4944519681a920b9dee4"
+
+inherit pypi pkgconfig setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing"
+
+FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug"
+
+do_compile_prepend() {
+ echo [global] > ${S}/setup.cfg
+ echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg
+ echo have_sys_un_h = True >> ${S}/setup.cfg
+ echo skip_check_zmq = True >> ${S}/setup.cfg
+ echo libzmq_extension = False >> ${S}/setup.cfg
+ echo no_libzmq_extension = True >> ${S}/setup.cfg
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-raven_6.10.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-raven_6.10.0.bb
new file mode 100644
index 00000000..b0d19c31
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-raven_6.10.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Raven is the legacy Python client for Sentry (getsentry.com)"
+DESCRIPTION = "\
+Raven is the official legacy Python client for Sentry, officially \
+supports Python 2.6–2.7 & 3.3–3.7, and runs on PyPy and Google App Engine."
+HOMEPAGE = "https://github.com/getsentry/raven-python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b9a4414e08f0571d55184531cefc131b"
+
+SRC_URI[md5sum] = "3676f31dadfa61526444dd0245c78a38"
+SRC_URI[sha256sum] = "3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54"
+
+PYPI_PACKAGE = "raven"
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb
new file mode 100644
index 00000000..f7e7f631
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "RDFLib is a pure Python package for working with RDF"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=68c1a3bb687bd63b8e5552f3ea249840"
+
+SRC_URI[md5sum] = "534fe35b13c5857d53fa1ac5a41eca67"
+SRC_URI[sha256sum] = "da1df14552555c5c7715d8ce71c08f404c988c58a1ecd38552d0da4fc261280d"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-isodate \
+ ${PYTHON_PN}-pyparsing \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.6.bb
index b192ed87..3acc2fda 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.6.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_2.10.6.bb
@@ -1,2 +1,14 @@
+SUMMARY = "Python client for Redis key-value store"
+DESCRIPTION = "The Python interface to the Redis key-value store."
+HOMEPAGE = "http://github.com/andymccurdy/redis-py"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=51d9ad56299ab60ba7be65a621004f27"
+
+SRC_URI[md5sum] = "048348d8cfe0b5d0bba2f4d835005c3b"
+SRC_URI[sha256sum] = "a22ca993cea2962dbb588f9f30d0015ac4afcc45bee27d3978c0dbe9e97c6c0f"
+
inherit pypi setuptools3
-require python-redis.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2020.1.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2020.1.8.bb
new file mode 100644
index 00000000..6bdc0399
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2020.1.8.bb
@@ -0,0 +1,12 @@
+SUMMARY = ""
+HOMEPAGE = "http://pythonhosted.org/regex"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3d9edb84b293ab5a9ed5bcaf1b769ab6"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "73abc3d7e902e94b4281fd2652f5a94f"
+SRC_URI[sha256sum] = "d0f424328f9822b0323b3b6f2e4b9c90960b24743d220763c7f07071e0778351"
+
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-futures_0.9.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-futures_0.9.5.bb
new file mode 100644
index 00000000..b94929d8
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-futures_0.9.5.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Small add-on for the python requests http library. Makes use of python 3.2’s concurrent.futures or the backport for prior versions of python."
+HOMEPAGE = "https://github.com/ross/requests-futures"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e1e50798d0afe0e1f87594c6619a2fa5"
+
+SRC_URI[md5sum] = "e20dc6f063c70888a7f8225e349b6682"
+SRC_URI[sha256sum] = "33aa8a3b7892850701707d7e094b1e1ce7c4f7a36ff2a1dcc2da4e01a1a00f7e"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ python3-requests \
+"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_1.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_1.3.0.bb
new file mode 100644
index 00000000..fd48cd33
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_1.3.0.bb
@@ -0,0 +1,9 @@
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=22d117a849df10d047ed9b792838e863"
+
+SRC_URI[md5sum] = "1ebcd55f1b1b9281940b4bc33010e2ba"
+SRC_URI[sha256sum] = "b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-requests"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb
deleted file mode 100644
index 0a2410f8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-requests.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.23.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.23.0.bb
new file mode 100644
index 00000000..9f3fb7d2
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.23.0.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Python HTTP for Humans."
+HOMEPAGE = "http://python-requests.org"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=19b6be66ed463d93fa88c29f7860bcd7"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-requests:"
+
+SRC_URI[md5sum] = "abfdc28db1065bbd0bc32592ac9d27a6"
+SRC_URI[sha256sum] = "b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-ndg-httpsclient \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-pyasn1 \
+ ${PYTHON_PN}-pyopenssl \
+ ${PYTHON_PN}-pysocks \
+ ${PYTHON_PN}-urllib3 \
+ ${PYTHON_PN}-chardet \
+ ${PYTHON_PN}-idna \
+"
+
+CVE_PRODUCT = "requests"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.1.bb
new file mode 100644
index 00000000..1f5d91d3
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "A pure python RFC3339 validator"
+HOMEPAGE = "https://github.com/naimetti/rfc3339-validator"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-rfc3339-validator:"
+
+SRC_URI[md5sum] = "9d8899041d83f98180bddd8b62ee7e99"
+SRC_URI[sha256sum] = "20a600d01fbb1f793cbb6f4ec4ebb2104f4c9e80d74d5f78350b63ecc6cccd08"
+
+PYPI_PACKAGE = "rfc3339_validator"
+
+inherit pypi setuptools3
+
+SRC_URI_append = " \
+ file://0001-setup.py-move-pytest-runner-to-test_requirements.patch \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-six \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb
new file mode 100644
index 00000000..ed668fba
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Pure python rfc3986 validator"
+HOMEPAGE = "https://github.com/naimetti/rfc3986-validator"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-rfc3986-validator:"
+
+SRC_URI[md5sum] = "47f7657b790aaf6011a1ab3d86c6be95"
+SRC_URI[sha256sum] = "3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"
+
+PYPI_PACKAGE = "rfc3986_validator"
+
+inherit pypi setuptools3
+
+SRC_URI_append = " \
+ file://0001-setup.py-move-pytest-runner-to-test_requirements.patch \
+"
+
+RDEPENDS_${PN} += "\
+ python3-core \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.7.bb
deleted file mode 100644
index cd1536b3..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-rfc3987.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.8.bb
new file mode 100644
index 00000000..80e2aa5b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.8.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=9;md5=2b723edf67b2f3088bc5e339b1ceda2d"
+
+SRC_URI[md5sum] = "b6c4028acdc788a9ba697e1c1d6b896c"
+SRC_URI[sha256sum] = "d3c4d257a560d544e9826b38bc81db676890c79ab9d7ac92b39c7a253d5ca733"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary/e31d5fdf2ea00ac6349e64580a20816783064dd4.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary/e31d5fdf2ea00ac6349e64580a20816783064dd4.patch
new file mode 100644
index 00000000..21e97fd9
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary/e31d5fdf2ea00ac6349e64580a20816783064dd4.patch
@@ -0,0 +1,45 @@
+From e31d5fdf2ea00ac6349e64580a20816783064dd4 Mon Sep 17 00:00:00 2001
+From: Hideki Takeoka <hideki.takeoka@smartfrog.com>
+Date: Sun, 25 Aug 2019 19:25:00 +0200
+Subject: [PATCH] Update setup.py for python3.7+ support
+
+---
+ setup.py | 9 +++++----
+ src/SerialLibrary/version.py | 3 +++
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 4c34705..70bb1af 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,6 +1,5 @@
+ #!/usr/bin/env python
+
+-from imp import load_source
+ from os.path import abspath, dirname, join
+ from sys import platform
+
+@@ -18,9 +17,11 @@
+
+
+ CURDIR = dirname(abspath(__file__))
+-VERSION = load_source(
+- 'version', 'version',
+- open(join(CURDIR, 'src', 'SerialLibrary', 'version.py'))).VERSION
++
++with open(join(CURDIR, 'src', 'SerialLibrary', 'version.py')) as f:
++ exec(f.read())
++ VERSION = get_version()
++
+ README = open(join(CURDIR, 'README.rst')).read()
+ CLASSIFIERS = '\n'.join(
+ map(' :: '.join, [
+diff --git a/src/SerialLibrary/version.py b/src/SerialLibrary/version.py
+index 6ce65c4..19831bc 100644
+--- a/src/SerialLibrary/version.py
++++ b/src/SerialLibrary/version.py
+@@ -1 +1,4 @@
+ VERSION = (0, 3, 1)
++
++def get_version():
++ return VERSION;
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb
index 440f69cb..b6de42f7 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb
@@ -1,2 +1,20 @@
-inherit pypi setuptools
-require python-robotframework-seriallibrary.inc
+SUMMARY = "Robot Framework test library for serial connection"
+HOMEPAGE = "https://github.com/whosaysni/robotframework-seriallibrary"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515"
+
+SRC_URI[md5sum] = "b7c9565d54c30df7cd3f3c0e29adffa3"
+SRC_URI[sha256sum] = "256ad60fc0b7df4be44d82c302f5ed8fad4935cda99e4b45942e3c88179d1e19"
+
+PYPI_PACKAGE = "robotframework-seriallibrary"
+
+inherit pypi setuptools3
+
+SRC_URI += "file://e31d5fdf2ea00ac6349e64580a20816783064dd4.patch"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-pyserial \
+ ${PYTHON_PN}-robotframework \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.4.bb
index 8f613c38..0628f92d 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.4.bb
@@ -1,2 +1,26 @@
-inherit setuptools3
-require python-robotframework.inc
+SUMMARY = "A Python generic test automation framework"
+DESCRIPTION = "Generic open source test atomation framework for acceptance\
+testing and acceptance test-driven development (ATDD). It has easy-to-use\
+tabular test data syntax and it utilizes the keyword-driven testing approach.\
+Its testing capabilities can be extended by test libraries implemented either\
+with Python or Java, and users can create new higher-level keywords from\
+existing ones using the same syntax that is used for creating test cases."
+HOMEPAGE = "http://robotframework.org"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "ee753415645ff4831ff0d366a0467fe7"
+SRC_URI[sha256sum] = "ab94257cbd848dfca7148e092d233a12853cc7e840ce8231af9cbb5e7f51aa47"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-xml \
+ ${PYTHON_PN}-difflib \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-html \
+ ${PYTHON_PN}-docutils \
+ ${PYTHON_PN}-ctypes \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.5.bb
new file mode 100644
index 00000000..ba095648
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.5.bb
@@ -0,0 +1,16 @@
+SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order."
+AUTHOR = "Anthon van der Neut"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=caf8bd842440b537c044e131785a4666"
+
+PYPI_PACKAGE = "ruamel.yaml"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "7d5a5b0a7621a1247b081cc8e4978354"
+SRC_URI[sha256sum] = "412a6f5cfdc0525dee6a27c08f5415c7fd832a7afcb7a0ed7319628aed23d408"
+
+do_install_prepend() {
+ export RUAMEL_NO_PIP_INSTALL_CHECK=1
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch
index d535e432..d535e432 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb
index f4966532..7588fc54 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb
@@ -1,3 +1,24 @@
-inherit setuptools3 python3-dir
-require python-scrypt.inc
+DESCRIPTION = "Bindings for the scrypt key derivation function library"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=168ff75417f75a83e63c8875292d44dc"
+HOMEPAGE="https://bitbucket.org/mhallin/py-scrypt/overview"
+SRC_URI += "file://0001-py-scrypt-remove-the-hard-coded-include-paths.patch"
+
+SRC_URI[md5sum] = "ae8e3263aa31b040c1f9c7f1e1843a56"
+SRC_URI[sha256sum] = "f8239b2d47fa1d40bc27efd231dc7083695d10c1c2ac51a99380360741e0362d"
+
+inherit pypi ptest setuptools3
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb
index 377af12e..221a8c87 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sdnotify_0.3.2.bb
@@ -1,2 +1,18 @@
+HOMEPAGE = "https://github.com/bb4242/sdnotify"
+SUMMARY = "A pure Python implementation of systemd's service notification protocol (sd_notify)"
+
+DESCRIPTION = "\
+ sdnotify is a pure Python implementation of the systemd sd_notify protocol. \
+ This protocol can be used to inform systemd about service start-up completion, \
+ watchdog events, and other service status changes. \
+ Thus, this package can be used to write system services in Python that play nicely with systemd. \
+ "
+
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cc572ccc4b18a4b7d13be5d01bc8213e"
+
+SRC_URI[md5sum] = "749ddca1c70be1697fecc443fb1fdb16"
+SRC_URI[sha256sum] = "73977fc746b36cc41184dd43c3fe81323e7b8b06c2bb0826c4f59a20c56bb9f1"
+
inherit setuptools3 pypi
-require python-sdnotify.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.8.1.bb
index 77925ae2..a469b23b 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.8.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.8.1.bb
@@ -1,2 +1,12 @@
-inherit setuptools3
-require python-semver.inc
+DESCRIPTION = "Python module for Semantic Versioning"
+HOMEPAGE = "https://github.com/k-bx/python-semver"
+BUGTRACKER = "https://github.com/k-bx/python-semver/issues"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
+
+SRC_URI[md5sum] = "dc579ba9d0bb2137bad5324d4bdb7e40"
+SRC_URI[sha256sum] = "5b09010a66d9a3837211bb7ae5a20d10ba88f8cb49e92cb139a69ef90d5060d8"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.14.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.14.0.bb
new file mode 100644
index 00000000..894e1f90
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_0.14.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "The new Python SDK for Sentry.io"
+DESCRIPTION = "This is the next line of the Python SDK \
+for Sentry, intended to replace the raven package on PyPI."
+HOMEPAGE = "https://github.com/getsentry/sentry-python"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0c79f8d3c91fc847350efd28bfe0a341"
+
+SRC_URI[md5sum] = "2d5cc43c8a178134b739c77439d1f26b"
+SRC_URI[sha256sum] = "8e2d38dc58dc992280487e553ec3d97a424e4d179f4fad802ef3b08f64ccf4d8"
+
+PYPI_PACKAGE = "sentry-sdk"
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent/run-ptest
new file mode 100644
index 00000000..b63c4de0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.25.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.25.bb
deleted file mode 100644
index 1e04def7..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.25.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-serpent.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.28.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.28.bb
new file mode 100644
index 00000000..af2d4aa4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.28.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Serialization based on ast.literal_eval"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5cd70632b6cdb96df9ddaf6a4ce619e6"
+
+SRC_URI[md5sum] = "15ef8b67c76a6d19bac9c16731a1e62a"
+SRC_URI[sha256sum] = "f306336ca09aa38e526f3b03cab58eb7e45af09981267233167bcf3bfd6436ab"
+
+inherit pypi ptest setuptools3
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-pytz \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_2.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_2.1.0.bb
deleted file mode 100644
index 5bf59838..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_2.1.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-setuptools-scm.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_3.3.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_3.3.3.bb
new file mode 100644
index 00000000..a1fc3831
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_3.3.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "the blessed package to manage your versions by scm tags"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+SRC_URI[md5sum] = "50b2199082fe808d032ec1710c9d7415"
+SRC_URI[sha256sum] = "bd25e1fb5e4d603dcf490f1fde40fb4c595b357795674c3e5cb7f6217ab39ea5"
+
+PYPI_PACKAGE = "setuptools_scm"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-py \
+ ${PYTHON_PN}-setuptools \
+"
+RDEPENDS_${PN}_class-native = "\
+ ${PYTHON_PN}-setuptools-native \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.12.14.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.12.14.bb
index 812bd4b1..b7858734 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.12.14.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.12.14.bb
@@ -1,5 +1,24 @@
-require python-sh.inc
-inherit setuptools3
+SUMMARY = "Python subprocess replacement"
+HOMEPAGE = "https://github.com/amoffat/sh"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6"
+
+SRC_URI[md5sum] = "a8351aef25d25f707c17e0a7a6280251"
+SRC_URI[sha256sum] = "b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc"
+
+PYPI_PACKAGE = "sh"
+
+inherit pypi setuptools3
RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-codecs \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-resource \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-terminal \
+ ${PYTHON_PN}-tests \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-unixadmin \
"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sijax_0.3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sijax_0.3.2.bb
index 24e68337..9a28fc55 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sijax_0.3.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sijax_0.3.2.bb
@@ -1,4 +1,10 @@
-inherit setuptools3
-require python-sijax.inc
+DESCRIPTION = "An easy to use AJAX library for Python based on jQuery.ajax"
+HOMEPAGE = "https://github.com/spantaleev/sijax-python"
+LICENSE = "BSD-3-Clause"
-SRC_URI[sha256sum] = "11b062f4a8b2aad95c87e7c09e5daf5a6b0d0f08abf9efe5f91a0075c6be7c0d" \ No newline at end of file
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=16e213d75641a392478df50cf0841903"
+
+SRC_URI[sha256sum] = "11b062f4a8b2aad95c87e7c09e5daf5a6b0d0f08abf9efe5f91a0075c6be7c0d"
+
+PYPI_PACKAGE = "Sijax"
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval_0.9.10.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval_0.9.10.bb
new file mode 100644
index 00000000..1cacf9af
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval_0.9.10.bb
@@ -0,0 +1,23 @@
+SUMMARY = "A simple, safe single expression evaluator library"
+HOMEPAGE = "https://pypi.org/project/simpleeval/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=dc9277482effe59b734b004cbcc1fee7"
+
+SRC_URI[md5sum] = "f175fc12d408487ca26fa3905e0a6691"
+SRC_URI[sha256sum] = "692055488c2864637f6c2edb5fa48175978a2a07318009e7cf03c9790ca17bea"
+
+inherit pypi setuptools3 ptest
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ cp -f ${S}/test_simpleeval.py ${D}${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb
deleted file mode 100644
index 38f406c5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-simplejson.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.0.bb
new file mode 100644
index 00000000..b76ae529
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.0.bb
@@ -0,0 +1,25 @@
+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] = "8a5ed75c367b90fedc3d685742e2a1c7"
+SRC_URI[sha256sum] = "2b4b2b738b3b99819a17feaf118265d0753d5536049ea570b3c43b51c4701e81"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+"
+
+PACKAGES =+ "${PN}-tests"
+RDEPENDS_${PN}-tests = "${PN} ${PYTHON_PN}-unittest"
+FILES_${PN}-tests+= " \
+ ${PYTHON_SITEPACKAGES_DIR}/simplejson/tests \
+ ${PYTHON_SITEPACKAGES_DIR}/simplejson/tool.py* \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb
new file mode 100644
index 00000000..23099f32
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Convenience functions for dbus services in Python 2.x"
+HOMEPAGE = "https://github.com/nphilipp/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}"
+
+SRC_URI[md5sum] = "28ae5f93853466c44ec96706ba2a1eb4"
+SRC_URI[sha256sum] = "c726c086f0dd93a0ac7a0176f383a12af91b6657b78a301e3f5b25d9f8d4d10b"
+
+do_compile_prepend() {
+ sed -e 's/@VERSION@/${PV}/g' ${S}/setup.py.in > ${S}/setup.py
+}
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-six \
+"
+# http://errors.yoctoproject.org/Errors/Details/184713/
+# python-native/python: can't open file 'setup.py': [Errno 2] No such file or directory
+CLEANBROKEN = "1"
+
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.3.0.bb
new file mode 100644
index 00000000..7a619272
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.3.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Drop-in replacement for smbus-cffi/smbus-python in pure Python"
+DESCRIPTION = "smbus2 is a drop-in replacement for smbus-cffi/smbus-python in pure Python"
+HOMEPAGE = "https://github.com/kplindegaard/smbus2"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "d5ed5acc889b4770a84cc932853ed20a"
+SRC_URI[sha256sum] = "210e66eebe4d0b1fe836b3ec2751841942e1c4918c0b429b20a0e20a222228b4"
+
+CLEANBROKEN = "1"
+
+PYPI_PACKAGE = "smbus2"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-fcntl \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.0.bb
deleted file mode 100644
index b357bcd8..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit distutils3
-require python-smbus.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.1.bb
new file mode 100644
index 00000000..1be77393
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Set of i2c tools for linux - Python module"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://smbusmodule.c;beginline=1;endline=18;md5=46e424fb045901ab25e0f92c28c80055"
+PR = "r1"
+
+SRC_URI = "${KERNELORG_MIRROR}/software/utils/i2c-tools/i2c-tools-${PV}.tar.gz "
+SRC_URI[md5sum] = "3536237a6b51fb10caacdc3b8a496237"
+SRC_URI[sha256sum] = "ef8f77afc70e7dbfd1171bfeae87a8a7f10074829370ce8d9ccd585a014e0073"
+
+DEPENDS += "i2c-tools"
+
+S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/"
+inherit distutils3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.5.1.bb
new file mode 100644
index 00000000..54ecbbaa
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.5.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Socket.IO server"
+HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "python-socketio"
+
+SRC_URI[md5sum] = "3dbd0a2ebcf34632f67327b665cbb951"
+SRC_URI[sha256sum] = "149b98c33f8c3d09273fb4ebeb83781e4dc9411b56b27d9f058bec1bd1ed74b7"
+
+PACKAGECONFIG ?= "asyncio_client client"
+PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets"
+PACKAGECONFIG[client] = ",,,${PYTHON_PN}-requests ${PYTHON_PN}-websocket-client"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-engineio \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-attrs \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_1.9.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_1.9.4.bb
new file mode 100644
index 00000000..df69e007
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_1.9.4.bb
@@ -0,0 +1,12 @@
+SUMMARY = "CSS selector library for python-beautifulsoup4"
+HOMEPAGE = "https://github.com/facelessuser/soupsieve"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5a6fd3b0c24fc5a041a3d1bbb22c81b5"
+
+SRC_URI[md5sum] = "43d8ea20c58494446aa65ba5cc6320fe"
+SRC_URI[sha256sum] = "605f89ad5fdbfefe30cdc293303665eff2d188865d4dbe4eb510bba1edfbfce3"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-speaklater_1.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-speaklater_1.3.bb
index aa4f699b..5948dc85 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-speaklater_1.3.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-speaklater_1.3.bb
@@ -1,2 +1,9 @@
+DESCRIPTION = "Media asset management for Python, with glue code for various frameworks"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b810770075a29bf44b96607440e7c801"
+
+SRC_URI[md5sum] = "e8d5dbe36e53d5a35cff227e795e8bbf"
+SRC_URI[sha256sum] = "59fea336d0eed38c1f0bf3181ee1222d0ef45f3a9dd34ebe65e6bfffdd6a65a9"
+
+PYPI_PACKAGE = "speaklater"
inherit pypi setuptools3
-require python-speaklater.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.2.bb
new file mode 100644
index 00000000..a901bbac
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Command line interface for testing internet bandwidth using speedtest.net"
+HOMEPAGE = "https://github.com/sivel/speedtest-cli"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[md5sum] = "543d38f8939e1716641cc7c00169ca03"
+SRC_URI[sha256sum] = "cf1d386222f94c324e3125ba9a0d187e46d4a13dca08c023bdb9a23096be2e54"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "${PYTHON_PN}-misc"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb
index 610611e4..65679594 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb
@@ -1,2 +1,16 @@
-inherit setuptools3
-require python-spidev.inc
+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 setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.4.bb
new file mode 100644
index 00000000..334d658d
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.4.bb
@@ -0,0 +1,16 @@
+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 = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+SRCNAME = "spidev"
+
+SRC_URI[md5sum] = "bbab6352449f1d572cc9eefeafc58bd1"
+SRC_URI[sha256sum] = "4314e52f573d95233c907f307558893313a8a606e197e77bb711526b0e179e80"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb
deleted file mode 100644
index 86cf9edd..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-sqlalchemy.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.17.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.17.bb
new file mode 100644
index 00000000..b9c58e5b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.17.bb
@@ -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=c19467890539ff718c00a019c9c7a7b2"
+
+SRC_URI[md5sum] = "478214152b9293bf5652815d7312c890"
+SRC_URI[sha256sum] = "156a27548ba4e1fed944ff9fcdc150633e61d350d673ae7baaf6c25c04ac1f71"
+
+PYPI_PACKAGE = "SQLAlchemy"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/0001-sqlparse-change-shebang-to-python3.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/0001-sqlparse-change-shebang-to-python3.patch
new file mode 100644
index 00000000..ad6c50ff
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/0001-sqlparse-change-shebang-to-python3.patch
@@ -0,0 +1,51 @@
+From 10c9d3341d64d697f678a64ae707f6bda21565bb Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 9 Mar 2020 13:10:37 +0800
+Subject: [PATCH] sqlparse: change shebang to python3
+
+Upstream-Status: Pending
+
+Don't send upstream since upstream still support python2,
+we can only make this change after python2 is offcially
+dropped.
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ setup.py | 2 +-
+ sqlparse/__main__.py | 2 +-
+ sqlparse/cli.py | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 345d0ce..ce3abc3 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ #
+ # Copyright (C) 2009-2018 the sqlparse authors and contributors
+diff --git a/sqlparse/__main__.py b/sqlparse/__main__.py
+index 867d75d..dd0c074 100644
+--- a/sqlparse/__main__.py
++++ b/sqlparse/__main__.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ #
+ # Copyright (C) 2009-2018 the sqlparse authors and contributors
+diff --git a/sqlparse/cli.py b/sqlparse/cli.py
+index 25555a5..8bf050a 100755
+--- a/sqlparse/cli.py
++++ b/sqlparse/cli.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ #
+ # Copyright (C) 2009-2018 the sqlparse authors and contributors
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.3.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.3.1.bb
new file mode 100644
index 00000000..1aef28be
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.3.1.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Non-validating SQL parser module"
+HOMEPAGE = "http://pypi.python.org/pypi/sqlparse"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2b136f573f5386001ea3b7b9016222fc"
+
+SRC_URI += "file://0001-sqlparse-change-shebang-to-python3.patch \
+ file://run-ptest \
+ "
+
+SRC_URI[md5sum] = "423047887a3590b04dd18f8caf843a2f"
+SRC_URI[sha256sum] = "e162203737712307dfe78860cc56c8da8a852ab2ee33750e33aeadf38d12c548"
+
+export BUILD_SYS
+export HOST_SYS
+
+inherit pypi ptest setuptools3
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-unixadmin \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.29.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.29.0.bb
deleted file mode 100644
index 3f557f2c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.29.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-stevedore.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.31.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.31.0.bb
new file mode 100644
index 00000000..b985ca5b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.31.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Manage dynamic plugins for Python applications"
+HOMEPAGE = "https://github.com/dreamhost/stevedore"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[md5sum] = "42fa2bf0251c96b543765c5ce13f37c9"
+SRC_URI[sha256sum] = "e0739f9739a681c7a1fda76a102b65295e96a144ccdb552f2ae03c5f0abe8a14"
+
+DEPENDS += "${PYTHON_PN}-pbr-native"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-pbr ${PYTHON_PN}-six"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
index 9e37052a..52ae9ebe 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
@@ -1,2 +1,10 @@
+SUMMARY = "Strict, simple, lightweight RFC3339 function.s"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+SRC_URI[md5sum] = "4d9b635b4df885bc37bc1189d66c9abc"
+SRC_URI[sha256sum] = "5cad17bedfc3af57b399db0fed32771f18fc54bbd917e85546088607ac5e1277"
+
inherit pypi setuptools3
-require python-strict-rfc3339.inc
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor/supervisor.service b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor/supervisor.service
new file mode 100644
index 00000000..e9d3f706
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor/supervisor.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Supervisor process control system for UNIX
+Documentation=http://supervisord.org
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
+ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
+ExecReload=/usr/bin/supervisorctl -c /etc/supervisor/supervisord.conf $OPTIONS reload
+KillMode=process
+Restart=on-failure
+RestartSec=50s
+
+[Install]
+WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor/supervisord.conf b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor/supervisord.conf
new file mode 100644
index 00000000..3fb9b492
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor/supervisord.conf
@@ -0,0 +1,31 @@
+; supervisor config file
+
+[unix_http_server]
+file=/var/run/supervisor.sock ; (the path to the socket file)
+chmod=0700 ; sockef file mode (default 0700)
+
+[supervisord]
+logfile=/var/log/supervisord.log ; (main log file;default $CWD/supervisord.log)
+pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
+childlogdir=/var/log/ ; ('AUTO' child log dir, default $TEMP)
+
+; the below section must remain in the config file for RPC
+; (supervisorctl/web interface) to work, additional interfaces may be
+; added by defining them in separate rpcinterface: sections
+[rpcinterface:supervisor]
+supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
+
+[supervisorctl]
+serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
+
+; The [include] section can just contain the "files" setting. This
+; setting can list multiple files (separated by whitespace or
+; newlines). It can also contain wildcards. The filenames are
+; interpreted as relative to this file. Included files *cannot*
+; include files themselves.
+
+[include]
+files = /etc/supervisor/conf.d/*.conf
+
+;[inet_http_server]
+;port=127.0.0.1:9001
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.1.0.bb
new file mode 100644
index 00000000..56ab27e0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.1.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Supervisor: A Process Control System"
+DESCRIPTION = "\
+Supervisor is a client/server system that allows its users \
+to monitorand control a number of processes on UNIX-like \
+operating systems."
+HOMEPAGE = "https://github.com/Supervisor/supervisor"
+LICENSE = "BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=5b4e3a2172bba4c47cded5885e7e507e"
+
+SRC_URI[md5sum] = "ecea94eedc70ba5127fdeb0665bcca0d"
+SRC_URI[sha256sum] = "2dc86fe0476e945e61483d614ceb2cf4f93b95282eb243bdf792621994360383"
+
+PYPI_PACKAGE = "supervisor"
+inherit pypi systemd setuptools3
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-meld3 \
+"
+
+SRC_URI += "file://supervisord.conf \
+ file://supervisor.service \
+ "
+SYSTEMD_SERVICE_${PN} = "supervisor.service"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/supervisor
+ install -d ${D}${systemd_system_unitdir}
+
+ install -m 0644 ${WORKDIR}/supervisord.conf ${D}${sysconfdir}/supervisor
+ install -m 0644 ${WORKDIR}/supervisor.service ${D}${systemd_system_unitdir}
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.5.1.bb
new file mode 100644
index 00000000..c0c382a5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.5.1.bb
@@ -0,0 +1,16 @@
+# This recipe is adapted from one in meta-jupyter:
+# https://github.com/Xilinx/meta-jupyter/blob/master/recipes-python/python3-sympy_1.1.bb
+
+SUMMARY = "Computer algebra system (CAS) in Python"
+HOMEPAGE = "https://pypi.org/project/sympy/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=611b41534dbf5aa01d7c827bf667ef66"
+
+SRC_URI[md5sum] = "b11b310c3e1642bf66e51038cb3c0021"
+SRC_URI[sha256sum] = "d77901d748287d15281f5ffe5b0fef62dd38f357c2b827c44ff07f35695f4e7e"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-mpmath"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
index 580d9935..78ec4315 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
@@ -1,2 +1,3 @@
require python-systemd.inc
+RDEPENDS_${PN} += "python3-syslog"
inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb
new file mode 100644
index 00000000..723f1db5
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "An enhanced version of the tty module"
+SECTION = "devel/python"
+LICENSE = "Python-2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d90e2d280a4836c607520383d1639be1"
+
+SRC_URI[md5sum] = "ab0c1bce381b1109fe4390c56aa06237"
+SRC_URI[sha256sum] = "3dcc8c212e04700784e5c1c5b601916ba0549ae6025b35b64fd62144899e7180"
+
+PYPI_PACKAGE_EXT = "zip"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb
new file mode 100644
index 00000000..17df7f98
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "ANSII Color formatting for output in terminal"
+HOMEPAGE = "https://pypi.python.org/pypi/termcolor"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=809e8749b63567978acfbd81d9f6a27d"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "043e89644f8909d462fbbfa511c768df"
+SRC_URI[sha256sum] = "1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb
new file mode 100644
index 00000000..14943a4b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Generator is a helper for generating test methods for nose while still using unittest."
+DESCRIPTION = "Python package with modified subclasses of all stdlib XML \
+parsers that prevent any potentially malicious operation."
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=041a2bff595d40ccb4b36356f89dab00"
+
+SRC_URI[md5sum] = "6c69e73ba5b4b3ed62f7bcda071c64f1"
+SRC_URI[sha256sum] = "ad5925c814bfe79497b43df096e3bb52c166d1577f7aff160137301676232f4a"
+
+inherit pypi setuptools3
+
+DEPENDS += "python3-nose-native"
+
+RDEPENDS_${PN} += "python3-six"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tinyrecord_0.1.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tinyrecord_0.1.5.bb
new file mode 100644
index 00000000..65df2e1c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tinyrecord_0.1.5.bb
@@ -0,0 +1,15 @@
+SUMMARY = "transaction support for TinyDB"
+DESCRIPTION = "\
+Tinyrecord is a library which implements atomic transaction \
+support for the TinyDB NoSQL database. It uses a record-first \
+then execute architecture which allows us to minimize the time \
+that we are within a thread lock."
+HOMEPAGE = "https://github.com/eugene-eeo/tinyrecord"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README;md5=31c1dc11b4ae83546538de4c16bceabc"
+
+SRC_URI[md5sum] = "e47dcfe299686cd3fa7ffaa7cb2ee8b1"
+SRC_URI[sha256sum] = "bc7e6a8e78600df234d7a85c2f5d584130f2c6ffd7cd310f9d3a1d976d3373c8"
+
+PYPI_PACKAGE = "tinyrecord"
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb
new file mode 100644
index 00000000..5a7b04c9
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Python Library for Tom's Obvious, Minimal Language"
+HOMEPAGE = "https://github.com/uiri/toml"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6d6012eea477117abf51c31262a152f8"
+
+SRC_URI[md5sum] = "63fffbe2d632865ec29cd69bfdf36682"
+SRC_URI[sha256sum] = "229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-misc \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.0.3.bb
index 77c9fb51..77c9fb51 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_5.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.0.3.bb
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.43.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.43.0.bb
new file mode 100644
index 00000000..642246c0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.43.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Fast, Extensible Progress Meter"
+HOMEPAGE = "http://tqdm.github.io/"
+SECTION = "devel/python"
+
+LICENSE = "MIT & MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=7ea57584e3f8bbde2ae3e1537551de25"
+
+SRC_URI[md5sum] = "81454c26572e4e47911596ea065eb1b7"
+SRC_URI[sha256sum] = "f35fb121bafa030bd94e74fcfd44f3c2830039a2ddef7fc87ef1c2d205237b24"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_1.13.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_1.13.0.bb
new file mode 100644
index 00000000..f5cc70f9
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_1.13.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Six is a Python 2 and 3 compatibility library"
+HOMEPAGE = "https://github.com/benjaminp/six"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.rst;md5=3963bdcee7562bedae1effa09e7542b2"
+
+SRC_URI[md5sum] = "6fb4da0c7d81ddfd48f619b8caa1493c"
+SRC_URI[sha256sum] = "d6c29c933ecfc74e9b1d9fa13aa1f87c5d5770e119f5a4ce032092f0ff5b14dc"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
deleted file mode 100644
index 6bd8c52e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-inherit pypi setuptools3
-require python-twisted.inc
-
-PACKAGES_remove = "${PN}-src"
-
-FILES_${PN}-core_append += " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \
-"
-
-FILES_${PN}-names_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \
-"
-
-FILES_${PN}-news_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \
-"
-
-FILES_${PN}-protocols_append += " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \
-"
-
-FILES_${PN}-conch_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \
-"
-
-FILES_${PN}-lore_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \
-"
-FILES_${PN}-mail_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \
-"
-
-FILES_${PN}-web_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \
-"
-
-FILES_${PN}-words_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \
-"
-
-FILES_${PN}-flow_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \
-"
-
-FILES_${PN}-pair_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \
-"
-
-FILES_${PN}-runner_append = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.10.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.10.0.bb
new file mode 100644
index 00000000..c12d1cc0
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.10.0.bb
@@ -0,0 +1,65 @@
+inherit pypi setuptools3
+require python-twisted.inc
+
+FILES_${PN}-core_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \
+"
+
+FILES_${PN}-names_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \
+"
+
+FILES_${PN}-news_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \
+"
+
+FILES_${PN}-protocols_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \
+"
+
+FILES_${PN}-conch_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \
+"
+
+FILES_${PN}-lore_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \
+"
+FILES_${PN}-mail_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \
+"
+
+FILES_${PN}-web_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \
+"
+
+FILES_${PN}-words_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \
+"
+
+FILES_${PN}-flow_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \
+"
+
+FILES_${PN}-pair_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \
+"
+
+FILES_${PN}-runner_append = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.8.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.8.0.bb
new file mode 100644
index 00000000..78f66a44
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.8.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Twitter for Python"
+DESCRIPTION = "Python module to support twitter API"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=8f702b489acb6863cec8b261a55931d8"
+
+SRC_URI[md5sum] = "8aeff278b7cefcd384c65929bc921e2c"
+SRC_URI[sha256sum] = "8abd828ba51a85a2b5bb7373715d6d3bb32d18ac624e3a4db02e4ef8ab48316b"
+
+PYPI_PACKAGE = "tweepy"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-pip \
+ ${PYTHON_PN}-pysocks \
+ ${PYTHON_PN}-requests \
+ ${PYTHON_PN}-six \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch
new file mode 100644
index 00000000..c25b2457
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch
@@ -0,0 +1,38 @@
+From 5704610f4b3aed5210e9c5b7c05ff8b5b2364c9c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 12 Aug 2019 08:18:21 +0000
+Subject: [PATCH] Fix missing return statements in module stubs
+
+* fixes build with -Werror=return-type
+ twofish.c: In function 'init_twofish':
+ twofish.c:45:1: error: control reaches end of non-void function [-Werror=return-type]
+ 45 | PyMODINIT_FUNC init_twofish(void) { }
+ | ^~~~~~~~~~~~~~
+ twofish.c: In function 'PyInit__twofish':
+ twofish.c:46:1: error: control reaches end of non-void function [-Werror=return-type]
+ 46 | PyMODINIT_FUNC PyInit__twofish(void) { }
+ | ^~~~~~~~~~~~~~
+ cc1: some warnings being treated as errors
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Upstream-Status: Submitted [https://github.com/keybase/python-twofish/pull/6]
+---
+ twofish.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/twofish.c b/twofish.c
+index e324c34..d4487d8 100644
+--- a/twofish.c
++++ b/twofish.c
+@@ -42,5 +42,5 @@ DL_EXPORT(void) exp_Twofish_decrypt(Twofish_key * xkey, uint8_t c[16], uint8_t p
+ We need a stub init_twofish function so the module will link as a proper module.
+ Do not import _twofish from python; it will not work since _twofish is not a *real* module
+ */
+-PyMODINIT_FUNC init_twofish(void) { }
+-PyMODINIT_FUNC PyInit__twofish(void) { }
++PyMODINIT_FUNC init_twofish(void) { return NULL; }
++PyMODINIT_FUNC PyInit__twofish(void) { return NULL; }
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
index e593f6f2..94fb7109 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
@@ -1,2 +1,15 @@
-require python-twofish.inc
-inherit setuptools3
+SUMMARY = "Bindings for the Twofish implementation by Niels Ferguson"
+DESCRIPTION = "Bindings for the Twofish implementation by Niels Ferguson\
+ libtwofish-dev."
+HOMEPAGE = "http://github.com/keybase/python-twofish"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=33a63abf6d7567b1689d8ce69f00e43b"
+
+SRC_URI += "file://0001-Fix-missing-return-statements-in-module-stubs.patch"
+
+SRC_URI[md5sum] = "d7d22f16dc4ffa0e3ae2200654033abe"
+SRC_URI[sha256sum] = "b09d8bb50d33b23ff34cafb1f9209f858f752935c6a5c901efb92a41acb830fa"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_2.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_2.7.1.bb
new file mode 100644
index 00000000..b62b6056
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_2.7.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Run-time type checker for Python"
+HOMEPAGE = "https://pypi.org/project/typeguard/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f0e423eea5c91e7aa21bdb70184b3e53"
+
+SRC_URI[md5sum] = "ef743359de59f8fe17e7c5e3af70e2c5"
+SRC_URI[sha256sum] = "2d545c71e9439c21bcd7c28f5f55b3606e6106f7031ab58375656a1aed483ef2"
+
+inherit pypi setuptools3
+
+DEPENDS += "\
+ python3-distutils-extra-native \
+ python3-setuptools-scm-native \
+"
+
+RDEPENDS_${PN} += "python3-typing"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.2.bb
new file mode 100644
index 00000000..51e9eda2
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.2.bb
@@ -0,0 +1,13 @@
+HOMEPAGE = "https://github.com/python/typing"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
+
+# The name on PyPi is slightly different.
+PYPI_PACKAGE = "typing_extensions"
+
+SRC_URI[md5sum] = "f2674282966dc088d10170c2347431cc"
+SRC_URI[sha256sum] = "79ee589a3caca649a9bfd2a8de4709837400dfa00b6cc81962a1e6a1815969ae"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_2.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_2.0.0.bb
new file mode 100644
index 00000000..3573b29f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_2.0.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Library to return tzinfo with the local timezone information"
+HOMEPAGE = "https://pypi.org/project/tzlocal/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=57e0bd61643d81d05683cdce65b11d10"
+
+SRC_URI[md5sum] = "b14262cecca16ec9220ca8dff2ca7c5d"
+SRC_URI[sha256sum] = "949b9dd5ba4be17190a80c0268167d7e6c92c62b30026cf9764caf3e308e5590"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest
new file mode 100644
index 00000000..1b391464
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+python3 tests/tests.py
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb
index ae4cc0a8..36abb7ea 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_1.35.bb
@@ -1,2 +1,30 @@
-inherit setuptools3
-require python-ujson.inc
+SUMMARY = "Ultra fast JSON encoder and decoder for Python"
+DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3."
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
+
+SRC_URI[md5sum] = "42f77b0cce686dfa4da2e68480b1dd24"
+SRC_URI[sha256sum] = "f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"
+
+inherit pypi ptest setuptools3
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-numbers \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytz \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.5.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.5.bb
index 0ddc7e2f..ded66f06 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.5.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.5.bb
@@ -1,2 +1,14 @@
-require python-unidiff.inc
-inherit setuptools3
+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] = "47f669d7273541fec45e4cc0fba8d8e9"
+SRC_URI[sha256sum] = "9c9ab5fb96b6988b4cd5def6b275492442c04a570900d33aa6373105780025bc"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-codecs \
+ ${PYTHON_PN}-io \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_3.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_3.0.1.bb
new file mode 100644
index 00000000..952e954c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_3.0.1.bb
@@ -0,0 +1,14 @@
+# This recipe is originally from meta-openstack:
+# https://git.yoctoproject.org/cgit/cgit.cgi/meta-cloud-services/tree/meta-openstack/recipes-devtools/python/python3-uritemplate_3.0.0.bb?h=master
+
+SUMMARY = "Simple python library to deal with URI Templates."
+AUTHOR = "Ian Cordasco"
+LICENSE = "Apache-2.0 | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0f6d769bdcfacac3c1a1ffa568937fe0"
+
+SRC_URI[md5sum] = "869fb44fbd56713490db7272eb36c8ae"
+SRC_URI[sha256sum] = "5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.23.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.23.bb
deleted file mode 100644
index 19eb7025..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.23.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-urllib3.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.7.bb
new file mode 100644
index 00000000..34c15b6c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.7.bb
@@ -0,0 +1,23 @@
+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=65715c2eb961313d71b297dd5a04f85e"
+
+SRC_URI[md5sum] = "85e1e3925f8c1095172bff343f3312ed"
+SRC_URI[sha256sum] = "f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-certifi \
+ ${PYTHON_PN}-cryptography \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-idna \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-pyopenssl \
+ ${PYTHON_PN}-threading \
+"
+
+CVE_PRODUCT = "urllib3"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
index f6372c8d..149078c5 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
@@ -9,12 +9,4 @@ SRC_URI[sha256sum] = "dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa
inherit pypi setuptools3
-do_compile_append() {
- ${PYTHON} setup.py -q bdist_egg --dist-dir ./
-}
-
-do_install_append() {
- install -m 0644 ${S}/vcversioner*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
-}
-
BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-versiontools_1.9.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-versiontools_1.9.1.bb
new file mode 100644
index 00000000..cf0fa30a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-versiontools_1.9.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Smart replacement for plain tuple used in __version__"
+SECTION = "devel/python"
+HOMEPAGE = "https://launchpad.net/versiontools"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=20;md5=02193721a38fd8a05a4ddeb7df8e294d"
+
+SRC_URI[md5sum] = "602b7db8eea30dd29a1d451997adf251"
+SRC_URI[sha256sum] = "a969332887a18a9c98b0df0ea4d4ca75972f24ca94f06fb87d591377e83414f6"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-visitor_0.1.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-visitor_0.1.3.bb
index b9bc51d4..ac3a90ef 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-visitor_0.1.3.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-visitor_0.1.3.bb
@@ -1,2 +1,8 @@
+SUMMARY = "A tiny pythonic visitor implementation."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+SRC_URI[md5sum] = "94a024ed0ec1b02b4497c15267d319ca"
+SRC_URI[sha256sum] = "2c737903b2b6864ebc6167eef7cf3b997126f1aa94bdf590f90f1436d23e480a"
+
inherit pypi setuptools3
-require python-visitor.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.3.bb
new file mode 100644
index 00000000..8ac3e928
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.3.bb
@@ -0,0 +1,12 @@
+SUMMARY = "A WSGI server for Python"
+DESCRIPTION = "Waitress is meant to be a production-quality pure-Python WSGI \
+ server with very acceptable performance."
+HOMEPAGE = "https://github.com/Pylons/waitress"
+SECTION = "devel/python"
+LICENSE = "ZPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=78ccb3640dc841e1baecb3e27a6966b2"
+
+SRC_URI[md5sum] = "4bffad7009d3824ae61ea6c0696e45f6"
+SRC_URI[sha256sum] = "045b3efc3d97c93362173ab1dfc159b52cfa22b46c3334ffc805dbdbf0e4309e"
+
+inherit setuptools3 pypi
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb
deleted file mode 100644
index 5f6259b0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-wcwidth.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.8.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.8.bb
new file mode 100644
index 00000000..f9f6474a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.8.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Library for building powerful interactive command lines in Python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=11fba47286258744a6bc6e43530c32a1"
+
+SRC_URI[md5sum] = "dc6677d099e6f49c0f6fbc310de261e9"
+SRC_URI[sha256sum] = "f28b3e8a6483e5d49e7f8949ac1a78314e740333ae305b4ba5defd3e74fb37a8"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb
index fcd9f707..65eed9e7 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb
@@ -1,2 +1,27 @@
-inherit pypi setuptools3
-require python-webcolors.inc
+SUMMARY = "Simple Python module for working with HTML/CSS color definitions."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=197add016087e6884a012b0f185d44ad"
+
+SRC_URI[md5sum] = "40890db38b2a856e526a568864025fe6"
+SRC_URI[sha256sum] = "030562f624467a9901f0b455fef05486a88cfb5daa1e356bd4aacea043850b59"
+
+inherit pypi setuptools3 ptest
+
+RDEPENDS_${PN}_class-target = "\
+ ${PYTHON_PN}-stringold \
+"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb
index 71fe741e..aa5b8c78 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-webencodings_0.5.1.bb
@@ -1,2 +1,15 @@
-inherit setuptools3
-require python-webencodings.inc
+SUMMARY = "Character encoding aliases for legacy web content"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
+
+SRC_URI[md5sum] = "32f6e261d52e57bf7e1c4d41546d15b8"
+SRC_URI[sha256sum] = "b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-codecs \
+ ${PYTHON_PN}-json \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.56.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.56.0.bb
new file mode 100644
index 00000000..a3e1bcf3
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.56.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "websocket client for python"
+DESCRIPTION = "\
+websocket-client module is WebSocket client for python. \
+This provide the low level APIs for WebSocket. All APIs \
+are the synchronous functions."
+HOMEPAGE = "https://github.com/websocket-client/websocket-client"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c4c4a98fbc4836b81c8c64d6ecb01fc1"
+
+SRC_URI[md5sum] = "89484bd5dac71123ae6a09b2f90fe62c"
+SRC_URI[sha256sum] = "1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a"
+
+PYPI_PACKAGE = "websocket_client"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-six \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb
deleted file mode 100644
index 414129c5..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)"
-HOMEPAGE = "https://github.com/aaugustin/websockets"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5070256738c06d2e59adbec1f4057dac"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "9e8c6b3c70def4146d75fbb0f52bdfc7"
-SRC_URI[sha256sum] = "da4d4fbe059b0453e726d6d993760065d69b823a27efc3040402a6fcfe6a1ed9"
-
-BBCLASSEXTEND = "native nativesdk"
-
-RDEPENDS_${PN} = "\
- ${PYTHON_PN}-asyncio \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.1.bb
new file mode 100644
index 00000000..b09e978a
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)"
+HOMEPAGE = "https://github.com/aaugustin/websockets"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ad5c6d36b3d0098b2f33a5ab69a9e750"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "f12d7f31fe8d0b3e65c12f845bcd0ad8"
+SRC_URI[sha256sum] = "5c65d2da8c6bce0fca2528f69f44b2f977e06954c8512a952222cea50dad430f"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-asyncio \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.14.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.14.1.bb
deleted file mode 100644
index 145a1de0..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.14.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools3
-require python-werkzeug.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.0.bb
new file mode 100644
index 00000000..3e4374ed
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.0.bb
@@ -0,0 +1,50 @@
+SUMMARY = "The Swiss Army knife of Python web development"
+DESCRIPTION = "\
+Werkzeug started as simple collection of various utilities for WSGI \
+applications and has become one of the most advanced WSGI utility modules. \
+It includes a powerful debugger, full featured request and response objects, \
+HTTP utilities to handle entity tags, cache control headers, HTTP dates, \
+cookie handling, file uploads, a powerful URL routing system and a bunch \
+of community contributed addon modules."
+HOMEPAGE = "http://werkzeug.pocoo.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
+
+SRC_URI[md5sum] = "305f75c4a88c96dcdc5654bf2d01bc05"
+SRC_URI[sha256sum] = "169ba8a33788476292d04186ab33b01d6add475033dfc07215e6d219cc077096"
+
+PYPI_PACKAGE = "Werkzeug"
+
+inherit pypi setuptools3
+
+CLEANBROKEN = "1"
+
+PACKAGES =+ "${PN}-tests"
+FILES_${PN}-tests+= " \
+ ${PYTHON_SITEPACKAGES_DIR}/werkzeug/test* \
+ ${PYTHON_SITEPACKAGES_DIR}/werkzeug/__pycache__/test* \
+ ${PYTHON_SITEPACKAGES_DIR}/werkzeug/contrib/test* \
+ ${PYTHON_SITEPACKAGES_DIR}/werkzeug/contrib/__pycache__/test* \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-difflib \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-html \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-unixadmin \
+"
+
+RDEPENDS_${PN}-tests = " \
+ ${PN} \
+ ${PYTHON_PN}-unittest \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb
new file mode 100644
index 00000000..58735c1c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "The Swiss Army knife of Python web development"
+DESCRIPTION = "\
+Werkzeug started as simple collection of various utilities for WSGI \
+applications and has become one of the most advanced WSGI utility modules. \
+It includes a powerful debugger, full featured request and response objects, \
+HTTP utilities to handle entity tags, cache control headers, HTTP dates, \
+cookie handling, file uploads, a powerful URL routing system and a bunch \
+of community contributed addon modules."
+HOMEPAGE = "http://werkzeug.pocoo.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
+
+PYPI_PACKAGE = "Werkzeug"
+
+SRC_URI[md5sum] = "5d499cfdd30de5d9c946994783772efd"
+SRC_URI[sha256sum] = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c"
+
+inherit pypi setuptools3
+
+CLEANBROKEN = "1"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-difflib \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-html \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-simplejson \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-unixadmin \
+ ${PYTHON_PN}-misc \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.33.6.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.33.6.bb
new file mode 100644
index 00000000..025b2eea
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.33.6.bb
@@ -0,0 +1,16 @@
+SUMMARY = "The official binary distribution format for Python "
+HOMEPAGE = "https://github.com/pypa/wheel"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9d66b41bc2a080e7174acc5dffecd752"
+
+SRC_URI = "git://github.com/pypa/wheel.git"
+SRCREV ?= "b227ddd5beaba49294017d061d501f6d433393b0"
+
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
index 5d8af303..3ae4f91e 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
@@ -1,2 +1,40 @@
-inherit pypi setuptools3
-require python-whoosh.inc
+SUMMARY = "Fast, pure-Python full text indexing, search, and spell checking library."
+DESCRIPTION = "\
+Whoosh is a fast, featureful full-text indexing and searching library \
+implemented in pure Python. Programmers can use it to easily add search \
+functionality to their applications and websites. Every part of how \
+Whoosh works can be extended or replaced to meet your needs exactly."
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05303186defc6141143629961c7c8a60"
+
+SRC_URI[md5sum] = "893433e9c0525ac043df33e6e04caab2"
+SRC_URI[sha256sum] = "e0857375f63e9041e03fedd5b7541f97cf78917ac1b6b06c1fcc9b45375dda69"
+
+PYPI_PACKAGE = "Whoosh"
+PYPI_PACKAGE_EXT = "zip"
+
+inherit ptest pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-multiprocessing \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-stringold \
+"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-fcntl \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.10.11.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.10.11.bb
deleted file mode 100644
index 85f446ef..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.10.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-wrapt.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.12.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.12.1.bb
new file mode 100644
index 00000000..49fde100
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.12.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A Python module for decorators, wrappers and monkey patching."
+HOMEPAGE = "http://wrapt.readthedocs.org/"
+LICENSE = "BSD-2-Clause"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fdfc019b57affbe1d7a32e3d34e83db4"
+
+SRC_URI[md5sum] = "6d56ed0de4336462a73350341462f45e"
+SRC_URI[sha256sum] = "b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.2.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.2.1.bb
index add59cf7..2b7af626 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.2.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.2.1.bb
@@ -1,2 +1,17 @@
+DESCRIPTION = "A flexible forms validation and rendering library for python web development."
+HOMEPAGE = "https://pypi.python.org/pypi/WTForms"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c4660c132770d5d0a5757541f6b79493"
+
+SRC_URI[md5sum] = "41c0008dbe7bd98892c58f7457a46a4a"
+SRC_URI[sha256sum] = "0cdbac3e7f6878086c334aa25dc5a33869a3954e9d1e015130d65a69309b3b61"
+
+PYPI_PACKAGE = "WTForms"
+
inherit pypi setuptools3
-require python-wtforms.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.1.0.bb
deleted file mode 100644
index b7bd969c..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.1.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-xlrd.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.2.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.2.0.bb
new file mode 100644
index 00000000..571dba6f
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.2.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
+DESCRIPTION = "Extract data from Excel spreadsheets (.xls and .xlsx,\
+ versions 2.0 onwards) on any platform. Pure Python (2.6, 2.7, 3.2+). \
+Strong support for Excel dates. Unicode-aware."
+HOMEPAGE = "http://www.python-excel.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5f4244d51fcc1e7cc2d43e96891b2f80"
+
+SRC_URI[md5sum] = "e5d5b96924d791b22898b622eb3e918e"
+SRC_URI[sha256sum] = "546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+inherit ptest pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ install -d ${D}${PTEST_PATH}/examples
+ cp -rf ${S}/examples/* ${D}${PTEST_PATH}/examples/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb
new file mode 100644
index 00000000..7e7b5235
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb
@@ -0,0 +1,9 @@
+SUMMARY = "unittest-based test runner with Ant/JUnit like XML reporting"
+HOMEPAGE = "https://github.com/pycontribs/xmlrunner"
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=fa964f202b6ae067ed5828fe43c77c1a"
+
+SRC_URI[md5sum] = "7b0b152ed2d278516aedbc0cac22dfb3"
+SRC_URI[sha256sum] = "5a6113d049eca7646111ee657266966e5bbfb0b5ceb2e83ee0772e16d7110f39"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.12.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.12.0.bb
new file mode 100644
index 00000000..d0788832
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.12.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Makes working with XML feel like you are working with JSON"
+AUTHOR = "Martin Blech"
+HOMEPAGE = "https://github.com/martinblech/xmltodict"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01441d50dc74476db58a41ac10cb9fa2"
+
+SRC_URI[md5sum] = "ddb2bd078cef4f7e3021a578034ad941"
+SRC_URI[sha256sum] = "50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21"
+
+PYPI_PACKAGE = "xmltodict"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb
index 639f80de..b45e96d3 100644
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb
@@ -1,2 +1,17 @@
+DESCRIPTION = "Font Awesome icons packaged for setuptools (easy_install) / pip."
+HOMEPAGE = "https://pypi.python.org/pypi/XStatic-Font-Awesome"
+SECTION = "devel/python"
+LICENSE = "Apache-2"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=313d021898694cd2b0ea6508bdfe51a2"
+
+PYPI_PACKAGE = "XStatic-Font-Awesome"
+
+SRC_URI[md5sum] = "141a0e9a7e21e82f922573a00ae0c166"
+SRC_URI[sha256sum] = "e01fb480caaa7c7963dcb3328a4700e631bef6070db0e8b685816d220e685f6c"
+
+DEPENDS += " \
+ ${PYTHON_PN}-xstatic \
+ ${PYTHON_PN}-pip \
+"
+
inherit pypi setuptools3
-require python-xstatic-font-awesome.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.1.bb
deleted file mode 100644
index 76cb7027..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-xstatic.inc
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.2.bb
new file mode 100644
index 00000000..8de39594
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.2.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "XStatic base package with minimal support code"
+HOMEPAGE = "https://pypi.python.org/pypi/XStatic"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.txt;md5=1418684272f85f400cebf1b1a255c5cd"
+
+PYPI_PACKAGE = "XStatic"
+
+SRC_URI[md5sum] = "dea172b7b14b0dbcd5ed63075221af4b"
+SRC_URI[sha256sum] = "80b78dfe37bce6dee4343d64c65375a80bcf399b46dd47c0c7d56161568a23a8"
+
+DEPENDS += " \
+ ${PYTHON_PN}-pip \
+"
+
+inherit pypi setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash/run-ptest
new file mode 100644
index 00000000..e398fa8c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest tests/test.py -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.3.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.3.bb
new file mode 100644
index 00000000..c114a6c8
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "xxhash is a Python binding for the xxHash library by Yann Collet."
+SECTION = "devel/python"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5a8d76283514a1b7e6a414aba38629b5"
+
+SRC_URI[md5sum] = "ce9cbbcc89620fd47a2468badd08dcf0"
+SRC_URI[sha256sum] = "8b6b1afe7731d7d9cbb0398b4a811ebb5e6be5c174f72c68abf81f919a435de9"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+inherit pypi setuptools3 ptest
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_0.98.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_0.98.bb
deleted file mode 100644
index 07da5b6e..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_0.98.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-yappi.inc
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.0.bb
new file mode 100644
index 00000000..75de4dfb
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Yet Another Python Profiler"
+HOMEPAGE = "http://yappi.googlecode.com/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=9a193c13f346884e597acdcac7fe9ac8"
+
+SRC_URI[md5sum] = "a545101aa8a435b0780f06f4723f58c8"
+SRC_URI[sha256sum] = "7f814131515d51db62b1a3468bcb84de30499124752806a5a6e11caf0b4344bf"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+inherit pypi setuptools3 ptest
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-threading \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-multiprocessing \
+ ${PYTHON_PN}-profile \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ cp -f ${S}/yappi.py ${D}/${PTEST_PATH}/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl/run-ptest b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl/run-ptest
new file mode 100644
index 00000000..3385d689
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.4.2.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.4.2.bb
new file mode 100644
index 00000000..15d92065
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.4.2.bb
@@ -0,0 +1,29 @@
+SUMMARY = "The module provides handy URL class for url parsing and changing"
+HOMEPAGE = "https://github.com/aio-libs/yarl/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b334fc90d45983db318f54fd5bf6c90b"
+
+SRC_URI[md5sum] = "08ba0d6e18f460b44d9e5459f3d217ba"
+SRC_URI[sha256sum] = "58cd9c469eced558cd81aa3f484b2924e8897049e06889e8ff2510435b7ef74b"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+PYPI_PACKAGE = "yarl"
+
+inherit pypi ptest setuptools3
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-multidict \
+ ${PYTHON_PN}-idna \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zipp_0.6.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zipp_0.6.0.bb
new file mode 100644
index 00000000..40db3c07
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zipp_0.6.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files"
+HOMEPAGE = "https://github.com/jaraco/zipp"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+SRC_URI[md5sum] = "d4451a749d8a7c3c392a9edd1864a937"
+SRC_URI[sha256sum] = "3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-compression \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-more-itertools"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.5.0.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.5.0.bb
deleted file mode 100644
index be11858d..00000000
--- a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.5.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools3
-require python-zopeinterface.inc
-
-RDEPENDS_${PN}-test += "python3-unittest python3-doctest"
diff --git a/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.7.1.bb b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.7.1.bb
new file mode 100644
index 00000000..6b65924c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.7.1.bb
@@ -0,0 +1,25 @@
+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] = "1bc66758275c5eb66d169acba3c8e50e"
+SRC_URI[sha256sum] = "4bb937e998be9d5e345f486693e477ba79e4344674484001a0b646be1d530487"
+
+PYPI_PACKAGE = "zope.interface"
+
+inherit pypi setuptools3
+
+PACKAGES =. "${PN}-test "
+
+RPROVIDES_${PN} += "zope-interfaces"
+
+RDEPENDS_${PN}_class-target += "${PYTHON_PN}-datetime"
+RDEPENDS_${PN}-test += "python3-unittest python3-doctest"
+
+FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug"
+FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c"
+FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt"
+FILES_${PN}-test += " \
+ ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \
+ ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \
+"
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
index c77b86a4..90fa387b 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
@@ -1,6 +1,6 @@
-From 648a18bfc447f076d48ae4147d984b8ef56e37aa Mon Sep 17 00:00:00 2001
+From fc8e93530ba017ecfe111e53d3cbdc3a5b3ac286 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 30 Jul 2018 16:13:40 +0800
+Date: Fri, 23 Nov 2018 16:58:38 +0800
Subject: [PATCH 01/11] comment out selinux
Upstream-Status: Inappropriate [oe specific]
@@ -12,7 +12,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/blivet/flags.py b/blivet/flags.py
-index 1840121..8789390 100644
+index 4e26d82..94324ff 100644
--- a/blivet/flags.py
+++ b/blivet/flags.py
@@ -20,7 +20,7 @@
@@ -35,7 +35,7 @@ index 1840121..8789390 100644
self.dmraid = True
self.ibft = True
diff --git a/blivet/util.py b/blivet/util.py
-index 7334ff6..0f2a995 100644
+index 9daf151..4eac8b9 100644
--- a/blivet/util.py
+++ b/blivet/util.py
@@ -3,7 +3,7 @@ import functools
@@ -47,7 +47,7 @@ index 7334ff6..0f2a995 100644
import subprocess
import re
import sys
-@@ -430,6 +430,8 @@ def get_cow_sysfs_path(dev_path, dev_sysfsPath):
+@@ -444,6 +444,8 @@ def get_cow_sysfs_path(dev_path, dev_sysfsPath):
def match_path_context(path):
""" Return the default SELinux context for the given path. """
context = None
@@ -56,7 +56,7 @@ index 7334ff6..0f2a995 100644
try:
context = selinux.matchpathcon(os.path.normpath(path), 0)[1]
except OSError as e:
-@@ -454,6 +456,8 @@ def set_file_context(path, context, root=None):
+@@ -468,6 +470,8 @@ def set_file_context(path, context, root=None):
True if successful, False if not.
"""
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
index fea22540..5b388599 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
@@ -1,20 +1,20 @@
-From 596979ed58109141a7fee680ab95b27296c022b1 Mon Sep 17 00:00:00 2001
+From 713cf821ebe17f9e1771502a85e0905ea04dafae Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 8 May 2017 14:39:56 +0800
+Date: Fri, 23 Nov 2018 17:03:58 +0800
Subject: [PATCH 02/11] run_program support timeout
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- blivet/util.py | 68 +++++++++++++++++++++++++++++++++-------------------------
- 1 file changed, 39 insertions(+), 29 deletions(-)
+ blivet/util.py | 70 ++++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 41 insertions(+), 29 deletions(-)
diff --git a/blivet/util.py b/blivet/util.py
-index 0f2a995..05a253c 100644
+index 4eac8b9..4f05076 100644
--- a/blivet/util.py
+++ b/blivet/util.py
-@@ -157,6 +157,30 @@ class Path(str):
+@@ -158,6 +158,30 @@ class Path(str):
def __hash__(self):
return self._path.__hash__()
@@ -45,12 +45,12 @@ index 0f2a995..05a253c 100644
def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=False, binary_output=False):
if env_prune is None:
-@@ -179,36 +203,22 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+@@ -180,35 +204,23 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
stderr_dir = subprocess.STDOUT
else:
stderr_dir = subprocess.PIPE
- try:
-- proc = subprocess.Popen(argv,
+- proc = subprocess.Popen(argv, # pylint: disable=subprocess-popen-preexec-fn
- stdin=stdin,
- stdout=subprocess.PIPE,
- stderr=stderr_dir,
@@ -78,7 +78,7 @@ index 0f2a995..05a253c 100644
- program_log.debug("Return code: %d", proc.returncode)
-
- return (proc.returncode, out)
-
++
+ res, out = timeout_command(argv, 10,
+ stdin=stdin,
+ stdout=subprocess.PIPE,
@@ -94,9 +94,10 @@ index 0f2a995..05a253c 100644
+ program_log.info("%s", line)
+
+ return (res, out)
++
+
def run_program(*args, **kwargs):
- return _run_program(*args, **kwargs)[0]
--
2.7.4
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
index 38f061ed..861b2cdd 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
@@ -1,4 +1,4 @@
-From 325898f3f2951bbde07da47888175c427b11ddc3 Mon Sep 17 00:00:00 2001
+From 5d5436dfa3bdde7b4e87ce5a40cbc724199847d6 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 8 May 2017 16:18:02 +0800
Subject: [PATCH 03/11] support infinit timeout
@@ -11,10 +11,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/blivet/util.py b/blivet/util.py
-index 05a253c..d6804be 100644
+index 4f05076..7e89949 100644
--- a/blivet/util.py
+++ b/blivet/util.py
-@@ -157,6 +157,7 @@ class Path(str):
+@@ -158,6 +158,7 @@ class Path(str):
def __hash__(self):
return self._path.__hash__()
@@ -22,7 +22,7 @@ index 05a253c..d6804be 100644
def timeout_command(argv, timeout, *args, **kwargs):
"""call shell-command and either return its output or kill it
if it doesn't normally exit within timeout seconds and return None"""
-@@ -168,7 +169,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
+@@ -169,7 +170,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
while proc.poll() is None:
time.sleep(0.1)
now = datetime.datetime.now()
@@ -31,7 +31,7 @@ index 05a253c..d6804be 100644
os.kill(proc.pid, signal.SIGKILL)
os.waitpid(-1, os.WNOHANG)
program_log.debug("%d seconds timeout" % timeout)
-@@ -182,7 +183,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
+@@ -183,7 +184,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
program_log.debug("Return code: %d", proc.returncode)
return (proc.returncode, proc.stdout.read())
@@ -40,7 +40,7 @@ index 05a253c..d6804be 100644
if env_prune is None:
env_prune = []
-@@ -191,7 +192,10 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+@@ -192,7 +193,10 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
os.chroot(root)
with program_log_lock: # pylint: disable=not-context-manager
@@ -52,7 +52,7 @@ index 05a253c..d6804be 100644
env = os.environ.copy()
env.update({"LC_ALL": "C",
-@@ -204,7 +208,7 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+@@ -205,7 +209,7 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
else:
stderr_dir = subprocess.PIPE
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
index be997ac4..526a3b1f 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
@@ -1,4 +1,4 @@
-From c31df1c0f5323ddc70e0d1c6d11db2fbf7a024ad Mon Sep 17 00:00:00 2001
+From 3bb8d08bdec2f79bb13c0a44b81718d26e5bdabc Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 8 May 2017 16:30:20 +0800
Subject: [PATCH 04/11] fix new.roots object is not iterable
@@ -11,10 +11,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/blivet/blivet.py b/blivet/blivet.py
-index 3405810..f42b73b 100644
+index ea08837..91c92b2 100644
--- a/blivet/blivet.py
+++ b/blivet/blivet.py
-@@ -1198,7 +1198,7 @@ class Blivet(object):
+@@ -1206,7 +1206,7 @@ class Blivet(object):
p = partition.disk.format.parted_disk.getPartitionByPath(partition.path)
partition.parted_partition = p
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
index ecb95039..9c5d53b4 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
@@ -1,4 +1,4 @@
-From b30a74671ca603e6bfd514f72d4fd7fd6fceef54 Mon Sep 17 00:00:00 2001
+From f783b9b00da5df176fcd7927b752f574ca6db319 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 26 Aug 2016 02:02:49 -0400
Subject: [PATCH 05/11] fix incorrect timeout while system time changed
@@ -22,10 +22,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/blivet/util.py b/blivet/util.py
-index d6804be..bc08af5 100644
+index 7e89949..5571e73 100644
--- a/blivet/util.py
+++ b/blivet/util.py
-@@ -162,14 +162,14 @@ def timeout_command(argv, timeout, *args, **kwargs):
+@@ -163,14 +163,14 @@ def timeout_command(argv, timeout, *args, **kwargs):
"""call shell-command and either return its output or kill it
if it doesn't normally exit within timeout seconds and return None"""
import subprocess, datetime, os, time, signal
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
index da568a4b..2e53a647 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
@@ -1,4 +1,4 @@
-From 0659d8a85bcdd76c0b23b8b5af6958783d35ac65 Mon Sep 17 00:00:00 2001
+From 8932ae933f2b6acf5e98c9956beff69ae430eed2 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 8 May 2017 16:33:15 +0800
Subject: [PATCH 06/11] tweak btrfs packages
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
index e3012194..b2606d76 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
@@ -1,6 +1,6 @@
-From 9c7a15312259854f12137a30229e52c30fb7c770 Mon Sep 17 00:00:00 2001
+From f53481dc4a56b8a996628733553e080bb0aafdd7 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 31 Aug 2016 21:30:32 -0400
+Date: Fri, 23 Nov 2018 17:07:22 +0800
Subject: [PATCH 07/11] invoking mount with infinite timeout
This large timeout is needed when running on machines with
@@ -14,18 +14,18 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/blivet/util.py b/blivet/util.py
-index bc08af5..b672787 100644
+index 5571e73..02c8033 100644
--- a/blivet/util.py
+++ b/blivet/util.py
-@@ -256,7 +256,7 @@ def mount(device, mountpoint, fstype, options=None):
+@@ -258,7 +258,7 @@ def mount(device, mountpoint, fstype, options=None):
+ makedirs(mountpoint)
argv = ["mount", "-t", fstype, "-o", options, device, mountpoint]
- try:
-- rc = run_program(argv)
-+ rc = run_program(argv, timeout=-1)
- except OSError:
- raise
+- return run_program(argv)
++ return run_program(argv, timeout=-1)
+
+ def umount(mountpoint):
--
2.7.4
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
index feb5647c..ade1862d 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
@@ -1,4 +1,4 @@
-From 7f57b2cd145d67c20beb02d5495b502f7af012cd Mon Sep 17 00:00:00 2001
+From 12e2579333258d1a690f8718e91b0f217078e886 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 8 May 2017 03:54:12 -0400
Subject: [PATCH 08/11] use oe variable to replace hardcoded dir
@@ -11,7 +11,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/setup.py b/setup.py
-index 7edab2c..9be3187 100644
+index b745a79..b5b4258 100644
--- a/setup.py
+++ b/setup.py
@@ -61,10 +61,10 @@ class blivet_sdist(sdist):
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
index 30d2d3ec..f4778779 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
@@ -1,4 +1,4 @@
-From c757666f42f543baeed5df61269798c085665d9b Mon Sep 17 00:00:00 2001
+From 9624b6d0dda40aaecbaf9530be819943575a2ec6 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Thu, 1 Jun 2017 16:05:27 +0800
Subject: [PATCH 09/11] invoking fsck with infinite timeout
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
index b2f45014..f1284904 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
@@ -1,4 +1,4 @@
-From 42d8e57c748951098534bf7f52c4ebc790ef66e9 Mon Sep 17 00:00:00 2001
+From 33844f6773a676bd57240954e402ae9a843663a4 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 16 Jun 2017 15:43:00 +0800
Subject: [PATCH 10/11] invoking mkfs with infinite timeout
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
index f24ce0a8..13c2933f 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
@@ -1,4 +1,4 @@
-From a4753b3cbbd5aee59dc53eb16564cafd9862763e Mon Sep 17 00:00:00 2001
+From 21ca2b859a49e96a230d55a7866dfc7ed5d1366c Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 6 Mar 2018 17:28:56 +0800
Subject: [PATCH 11/11] invoking dd with infinite timeout
@@ -14,10 +14,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/blivet/devices/partition.py b/blivet/devices/partition.py
-index 47ff547..0cd1614 100644
+index 623e1c9..141d8ad 100644
--- a/blivet/devices/partition.py
+++ b/blivet/devices/partition.py
-@@ -621,7 +621,7 @@ class PartitionDevice(StorageDevice):
+@@ -618,7 +618,7 @@ class PartitionDevice(StorageDevice):
cmd = ["dd", "if=/dev/zero", "of=%s" % device, "bs=%d" % bs,
"seek=%d" % start, "count=%d" % count]
try:
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
deleted file mode 100644
index 886e3ff9..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4476e846a1e64dde17df2e2370c803ce695514f9 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 6 Aug 2018 17:18:27 +0800
-Subject: [PATCH] remove dmraid dependency check
-
-OE does not support dmraid, remove it from dependency check
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- blivet/tasks/availability.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/blivet/tasks/availability.py b/blivet/tasks/availability.py
-index 9a87cfd..843cf6a 100644
---- a/blivet/tasks/availability.py
-+++ b/blivet/tasks/availability.py
-@@ -316,8 +316,7 @@ BLOCKDEV_DM_ALL_MODES = (blockdev.DMTechMode.CREATE_ACTIVATE |
- blockdev.DMTechMode.QUERY)
- BLOCKDEV_DM = BlockDevTechInfo(plugin_name="dm",
- check_fn=blockdev.dm_is_tech_avail,
-- technologies={blockdev.DMTech.MAP: BLOCKDEV_DM_ALL_MODES,
-- blockdev.DMTech.RAID: BLOCKDEV_DM_ALL_MODES})
-+ technologies={blockdev.DMTech.MAP: BLOCKDEV_DM_ALL_MODES})
- BLOCKDEV_DM_TECH = BlockDevMethod(BLOCKDEV_DM)
-
- # libblockdev loop plugin required technologies and modes
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
deleted file mode 100644
index 33b5f51f..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From bddbfa499df16b108f2d892ee48d65617523c33d Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 9 Aug 2018 11:00:39 +0800
-Subject: [PATCH] add `-Z y' and `-y' to lvm.pvcreate
-
-While reinstall a crypt fs, it occasionally failed
-[snip]
-|gi.overrides.BlockDev.LVMError: Process reported exit code 5:
-WARNING: atari signature detected on /dev/mapper/luks-0e5f891c
--7701-48bc-a41e-8d626b6ef953 at offset 466. Wipe it? [y/n]:
-[snip]
-
-Add `-Z y' and `-y' to lvm.pvcreate
-
-Upstream-Status: Submitted [https://github.com/storaged-project/blivet/pull/714]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- blivet/formats/lvmpv.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/blivet/formats/lvmpv.py b/blivet/formats/lvmpv.py
-index 260cc0b..4bbb46f 100644
---- a/blivet/formats/lvmpv.py
-+++ b/blivet/formats/lvmpv.py
-@@ -120,9 +120,9 @@ class LVMPhysicalVolume(DeviceFormat):
- log_method_call(self, device=self.device,
- type=self.type, status=self.status)
-
-- # Consider use of -Z|--zero
-- # -f|--force or -y|--yes may be required
-- blockdev.lvm.pvcreate(self.device, data_alignment=self.data_alignment)
-+ ea_zero = blockdev.ExtraArg.new("-Z", "y")
-+ ea_yes = blockdev.ExtraArg.new("-y", "")
-+ blockdev.lvm.pvcreate(self.device, data_alignment=self.data_alignment, extra=[ea_zero, ea_yes])
-
- def _destroy(self, **kwargs):
- log_method_call(self, device=self.device,
---
-2.7.4
-
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
deleted file mode 100644
index 75f02f13..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-DESCRIPTION = "A python module for system storage configuration"
-HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
-LICENSE = "LGPLv2+"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "ddc24c71bad10208b11ea0c45853898fadd7030b"
-SRC_URI = "git://github.com/rhinstaller/blivet;branch=3.1-release \
- file://0001-comment-out-selinux.patch \
- file://0002-run_program-support-timeout.patch \
- file://0003-support-infinit-timeout.patch \
- file://0004-fix-new.roots-object-is-not-iterable.patch \
- file://0005-fix-incorrect-timeout-while-system-time-changed.patch \
- file://0006-tweak-btrfs-packages.patch \
- file://0007-invoking-mount-with-infinite-timeout.patch \
- file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \
- file://0009-invoking-fsck-with-infinite-timeout.patch \
- file://0010-invoking-mkfs-with-infinite-timeout.patch \
- file://0011-invoking-dd-with-infinite-timeout.patch \
- file://0012-remove-dmraid-dependency-check.patch \
- file://0013-add-Z-y-and-y-to-lvm.pvcreate.patch \
-"
-
-UPSTREAM_CHECK_GITTAGREGEX = "blivet-(?P<pver>\d+(\.\d+)+)$"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-inherit setuptools3 python3native
-
-RDEPENDS_${PN} = "python3-pykickstart python3-pyudev \
- parted python3-pyparted multipath-tools \
- lsof cryptsetup libblockdev \
- libbytesize \
-"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/system-services \
-"
-
-inherit systemd
-
-SYSTEMD_AUTO_ENABLE = "disable"
-SYSTEMD_SERVICE_${PN} = "blivet.service"
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.4.bb b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.4.bb
new file mode 100644
index 00000000..2b5b253b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.4.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "A python module for system storage configuration"
+HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
+LICENSE = "LGPLv2+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "9b5ad2d5b5df159963e1c6c24523e1dfe1f71435"
+SRC_URI = "git://github.com/rhinstaller/blivet;branch=3.1-release \
+ file://0001-comment-out-selinux.patch \
+ file://0002-run_program-support-timeout.patch \
+ file://0003-support-infinit-timeout.patch \
+ file://0004-fix-new.roots-object-is-not-iterable.patch \
+ file://0005-fix-incorrect-timeout-while-system-time-changed.patch \
+ file://0006-tweak-btrfs-packages.patch \
+ file://0007-invoking-mount-with-infinite-timeout.patch \
+ file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \
+ file://0009-invoking-fsck-with-infinite-timeout.patch \
+ file://0010-invoking-mkfs-with-infinite-timeout.patch \
+ file://0011-invoking-dd-with-infinite-timeout.patch \
+"
+
+UPSTREAM_CHECK_GITTAGREGEX = "blivet-(?P<pver>\d+(\.\d+)+)$"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit setuptools3 python3native
+
+RDEPENDS_${PN} += "python3-pykickstart python3-pyudev \
+ parted python3-pyparted multipath-tools \
+ lsof cryptsetup libblockdev \
+ libbytesize \
+"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services \
+"
+
+inherit systemd
+
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE_${PN} = "blivet.service"
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch
new file mode 100644
index 00000000..cf805668
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch
@@ -0,0 +1,32 @@
+From 4d0f9f961704bc1dd83fdf6808fb6ab91dc6a768 Mon Sep 17 00:00:00 2001
+From: Vojtech Trefny <vtrefny@redhat.com>
+Date: Thu, 13 Dec 2018 13:39:03 +0100
+Subject: [PATCH] Fix return type of BlivetUtils.get_disks (#1658893)
+
+This must be a list, not a generator, because we are iterating
+over it multiple times in some cases.
+
+Upstream-Status: Backport[git://github.com/rhinstaller/blivet-gui]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ blivetgui/blivet_utils.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivetgui/blivet_utils.py b/blivetgui/blivet_utils.py
+index e2bd802..ddb04fc 100644
+--- a/blivetgui/blivet_utils.py
++++ b/blivetgui/blivet_utils.py
+@@ -204,7 +204,7 @@ class BlivetUtils(object):
+
+ """
+
+- return (device for device in self.storage.disks if device.type != "mdarray")
++ return [device for device in self.storage.disks if device.type != "mdarray"]
+
+ def get_group_devices(self):
+ """ Return list of LVM2 Volume Group devices
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch
deleted file mode 100644
index 25a71d4a..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a7b76f783608033e449ba1e33d040c2b40c01a4d Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam@redhat.com>
-Date: Wed, 17 Jan 2018 10:38:18 -0800
-Subject: [PATCH] Set _supported_filesystems in BlivetGUIAnaconda init
-
-BlivetGUIAnaconda subclasses BlivetGUI, but doesn't call the
-parent class's __init__. c4b6e174 added supported_filesystems
-to BlivetGUI and set _supported_filesystems for caching during
-__init__, but this was not also added to BlivetGUIAnaconda, so
-when anything tries to use the supported_filesystems property
-of a BlivetGUIAnaconda instance, it will crash. This is causing
-all attempts to use blivet-gui in anaconda to crash since 2.1.8
-landed in Rawhide.
-
-Upstream-Status: Backport [https://github.com/storaged-project/blivet-gui]
-
-Signed-off-by: Adam Williamson <awilliam@redhat.com>
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- blivetgui/osinstall.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/blivetgui/osinstall.py b/blivetgui/osinstall.py
-index 21806ca..32ff66b 100644
---- a/blivetgui/osinstall.py
-+++ b/blivetgui/osinstall.py
-@@ -94,6 +94,9 @@ class BlivetGUIAnaconda(BlivetGUI):
- self.builder.set_translation_domain("blivet-gui")
- self.builder.add_from_file(locate_ui_file("blivet-gui.ui"))
-
-+ # supported filesystems
-+ self._supported_filesystems = []
-+
- # CSS styles
- css_provider = Gtk.CssProvider()
- css_provider.load_from_path(locate_css_file("rectangle.css"))
---
-2.20.1
-
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb
new file mode 100644
index 00000000..92402bee
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "GUI tool for storage configuration using blivet library"
+HOMEPAGE = "https://github.com/rhinstaller/blivet-gui"
+LICENSE = "GPLv2+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "67ec0b7a0e065ba24ab87963409bfb21b2aac6dd"
+SRC_URI = "git://github.com/rhinstaller/blivet-gui;branch=master \
+ file://0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch \
+"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "x11 systemd"
+
+inherit setuptools3 python3native
+
+RDEPENDS_${PN} = "python3-pygobject python3 \
+ python3-blivet gtk+3 \
+ python3-pid libreport \
+"
+
+FILES_${PN} += " \
+ ${datadir}/* \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
deleted file mode 100644
index 5f62b9e5..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "GUI tool for storage configuration using blivet library"
-HOMEPAGE = "https://github.com/rhinstaller/blivet-gui"
-LICENSE = "GPLv2+"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "a4fd427ee2acc5a8f5fb030bf7816917cee63bd8"
-SRC_URI = "git://github.com/rhinstaller/blivet-gui;branch=master \
- file://0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch \
-"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "x11 systemd"
-
-inherit setuptools3 python3native
-
-RDEPENDS_${PN} = "python3-pygobject python3 \
- python3-blivet gtk+3 \
- python3-pid libreport \
-"
-
-FILES_${PN} += " \
- ${datadir}/* \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-cson/python-cson_git.bb b/external/meta-openembedded/meta-python/recipes-extended/python-cson/python-cson_git.bb
deleted file mode 100644
index efb338cf..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-cson/python-cson_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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/external/meta-openembedded/meta-python/recipes-extended/python-cson/python3-cson_git.bb b/external/meta-openembedded/meta-python/recipes-extended/python-cson/python3-cson_git.bb
new file mode 100644
index 00000000..5c74c7a3
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-cson/python3-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 setuptools3
+
+BBCLASSEXTEND = "native"
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.47.bb b/external/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.47.bb
deleted file mode 100644
index 95d6d183..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.47.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A python library for handling exceptions"
-DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \
-exceptions."
-HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git"
-LICENSE = "GPLv2+"
-
-inherit setuptools3
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \
-"
-SRCREV = "78d868d99104317ce8820f39f61d207566e61a55"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-FILES_${PN} += "${datadir}/*"
-
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.48.bb b/external/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.48.bb
new file mode 100644
index 00000000..9ca7a56b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.48.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A python library for handling exceptions"
+DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \
+exceptions."
+HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git"
+LICENSE = "GPLv2+"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \
+"
+SRCREV = "760f78a634ecf0e2380abcbd751bc233d29300ef"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+FILES_${PN} += "${datadir}/*"
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-pyephem/python-pyephem_3.7.6.0.bb b/external/meta-openembedded/meta-python/recipes-extended/python-pyephem/python-pyephem_3.7.6.0.bb
deleted file mode 100644
index e28ce6cc..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-pyephem/python-pyephem_3.7.6.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "PyEphem astronomical calculations"
-HOMEPAGE = "http://rhodesmill.org/pyephem/"
-
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f288303760f6e5ceaafe3aaa32186ab1"
-
-SRC_URI[md5sum] = "405a109f3017251ecd8c2890d850f649"
-SRC_URI[sha256sum] = "7a4c82b1def2893e02aec0394f108d24adb17bd7b0ca6f4bc78eb7120c0212ac"
-
-PYPI_PACKAGE = "ephem"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-math \
- "
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_3.7.7.0.bb b/external/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_3.7.7.0.bb
new file mode 100644
index 00000000..38b3c0a4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_3.7.7.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "PyEphem astronomical calculations"
+HOMEPAGE = "http://rhodesmill.org/pyephem/"
+
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f288303760f6e5ceaafe3aaa32186ab1"
+
+SRC_URI[md5sum] = "46c035b4a903ff26e0d8ad0f1fe6cc35"
+SRC_URI[sha256sum] = "607148429f85412915e32265779c0cf6d09f73aa97cf1ff0d101ac22c69c4436"
+
+PYPI_PACKAGE = "ephem"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-math \
+ "
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch b/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
index 81e351b1..7ab73468 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
@@ -17,7 +17,7 @@ fixup! add comments of shutdown for user
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/pykickstart/commands/reboot.py b/pykickstart/commands/reboot.py
-index 2c1b1c0..b3ec717 100644
+index 75a6d916..edfe83ff 100644
--- a/pykickstart/commands/reboot.py
+++ b/pykickstart/commands/reboot.py
@@ -43,6 +43,9 @@ class FC3_Reboot(KickstartCommand):
@@ -31,18 +31,18 @@ index 2c1b1c0..b3ec717 100644
return retval
diff --git a/pykickstart/parser.py b/pykickstart/parser.py
-index e68174d..efd78a6 100644
+index bc59131b..b2d09d45 100644
--- a/pykickstart/parser.py
+++ b/pykickstart/parser.py
-@@ -385,7 +385,7 @@ class Packages(KickstartObject):
+@@ -428,7 +428,7 @@ class Packages(KickstartObject):
if not self.default:
if self.environment:
- pkgs += "@^%s\n" % self.environment
+ pkgs += "#@^%s\n" % self.environment
- grps = self.groupList
- grps.sort()
+ grps = self.groupList
+ grps.sort()
--
2.7.4
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb b/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb
deleted file mode 100644
index 07876a98..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "A python library for manipulating kickstart files"
-HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-DEPENDS = "python3"
-RDEPENDS_${PN} = "python3 \
- python3-requests \
- python3-six \
-"
-
-S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=master \
- file://0001-support-authentication-for-kickstart.patch \
- file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \
- file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \
- file://0004-load.py-retry-to-invoke-request-with-timeout.patch \
- "
-SRCREV = "07c4d89129fa6b460acc86daf58eb5ff64cdc832"
-
-UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"
-
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.22.bb b/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.22.bb
new file mode 100644
index 00000000..041abd3e
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.22.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "A python library for manipulating kickstart files"
+HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+DEPENDS = "python3"
+RDEPENDS_${PN} = "python3 \
+ python3-requests \
+ python3-six \
+"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=master \
+ file://0001-support-authentication-for-kickstart.patch \
+ file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \
+ file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \
+ file://0004-load.py-retry-to-invoke-request-with-timeout.patch \
+ "
+SRCREV = "674c17b1e231f56a0d8a5ced4a204cdbc4c1edf3"
+
+UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"
+
+inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc b/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
index a0ec0281..97054487 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "\
DEPENDS += "parted"
# upstream only publishes releases in github archives which are discouraged
-SRCREV = "1fdb15120f35f5da1dc7ec116522f0c796a8376a"
+SRCREV = "481510c10866851844b19f3d2ffcdaa37efc0cf8"
SRC_URI = "git://github.com/rhinstaller/pyparted.git;protocol=https"
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb b/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb
deleted file mode 100644
index 32aa378c..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require python-pyparted.inc
-
-inherit distutils
-
-RDEPENDS_${PN} += "python-stringold python-codecs python-math python-subprocess"
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb b/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.3.bb
index d83901ff..d83901ff 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.3.bb
diff --git a/external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc b/external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc
index 5151c33e..98508b0c 100644
--- a/external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc
+++ b/external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc
@@ -14,12 +14,15 @@ It also provides a Python provider interface, and is the fastest and easiest \
way to write providers on the planet."
HOMEPAGE = "http://pywbem.github.io"
LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://pywbem/LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
-SRC_URI[md5sum] = "1465dfa92e4cbe558c773838b9b00711"
-SRC_URI[sha256sum] = "2a05f2c1a6ab4b08560a6da55fdaabd0f52f4d1e6df6e288b9ed927bf5c289ed"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
inherit pypi
+SRCREV = "b3386b3bee8876d15f0745147c0b08937d8ab18e"
+PYPI_SRC_URI = "git://github.com/pywbem/pywbem;protocol=https;branch=stable_0.15"
+
+S = "${WORKDIR}/git"
+
DEPENDS += " \
${PYTHON_PN}-ply-native \
${PYTHON_PN}-pyyaml-native \
diff --git a/external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb b/external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb
deleted file mode 100644
index 74107490..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require python-pywbem.inc
-inherit setuptools
-
-DEPENDS += " \
- ${PYTHON_PN}-m2crypto-native \
- ${PYTHON_PN}-typing-native \
-"
-
-RDEPENDS_${PN}_class-target += "\
- ${PYTHON_PN}-argparse \
- ${PYTHON_PN}-m2crypto \
- ${PYTHON_PN}-subprocess \
-"
diff --git a/external/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb b/external/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb
deleted file mode 100644
index 6a35a874..00000000
--- a/external/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pywbem.inc
-inherit setuptools3
diff --git a/external/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.15.0.bb b/external/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.15.0.bb
new file mode 100644
index 00000000..abfb8d92
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.15.0.bb
@@ -0,0 +1,9 @@
+require python-pywbem.inc
+inherit setuptools3 update-alternatives
+
+ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli"
+ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler"
+ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli"
+ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli"
+
+ALTERNATIVE_PRIORITY = "60"
diff --git a/external/meta-openembedded/meta-webserver/README b/external/meta-openembedded/meta-webserver/README
index 4d2c7105..7adeff83 100644
--- a/external/meta-openembedded/meta-webserver/README
+++ b/external/meta-openembedded/meta-webserver/README
@@ -13,14 +13,14 @@ This layer depends on:
URI: git://github.com/openembedded/oe-core.git
subdirectory: meta
-branch: thud
+branch: dunfell
revision: HEAD
For some recipes, the meta-oe layer is required:
URI: git://github.com/openembedded/meta-oe.git
subdirectory: meta-oe
-branch: thud
+branch: dunfell
revision: HEAD
@@ -52,9 +52,9 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-webserver][thud]' in the subject.
+with '[meta-webserver][dunfell]' in the subject.
-Thud Maintainer: Armin Kuster <akuster808@gmail.com>
+dunfell Maintainer: Armin Kuster <akuster808@gmail.com>
License
diff --git a/external/meta-openembedded/meta-webserver/conf/layer.conf b/external/meta-openembedded/meta-webserver/conf/layer.conf
index aaa3a95c..24469115 100644
--- a/external/meta-openembedded/meta-webserver/conf/layer.conf
+++ b/external/meta-openembedded/meta-webserver/conf/layer.conf
@@ -17,10 +17,11 @@ LAYERVERSION_webserver = "1"
LAYERDEPENDS_webserver = "core openembedded-layer"
-LAYERSERIES_COMPAT_webserver = "thud"
+LAYERSERIES_COMPAT_webserver = "thud warrior zeus dunfell"
LICENSE_PATH += "${LAYERDIR}/licenses"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
phpmyadmin->bash \
+ phpmyadmin->php \
"
diff --git a/external/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb b/external/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb
new file mode 100644
index 00000000..a4ce10f6
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb
@@ -0,0 +1,7 @@
+SUMMARY = "meta-webserver build test image"
+
+IMAGE_INSTALL = "packagegroup-core-boot"
+
+LICENSE = "MIT"
+
+inherit core-image
diff --git a/external/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb b/external/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb
new file mode 100644
index 00000000..ce4f8a03
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb
@@ -0,0 +1,3 @@
+require meta-webserver-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-webserver"
diff --git a/external/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb b/external/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb
new file mode 100644
index 00000000..f5d5debe
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Meta-webserver packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-webserver \
+ packagegroup-meta-webserver-http \
+ packagegroup-meta-webserver-php \
+ packagegroup-meta-webserver-support \
+ packagegroup-meta-webserver-webadmin \
+'
+
+RDEPENDS_packagegroup-meta-webserver = "\
+ packagegroup-meta-webserver-http \
+ packagegroup-meta-webserver-php \
+ packagegroup-meta-webserver-support \
+ packagegroup-meta-webserver-webadmin \
+"
+
+RDEPENDS_packagegroup-meta-webserver-http = "\
+ nginx monkey hiawatha nostromo apache-websocket \
+ apache2 sthttpd \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "cherokee", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-webserver-php = "\
+ phpmyadmin xdebug \
+ "
+
+RDEPENDS_packagegroup-meta-webserver-support = "\
+ spawn-fcgi fcgi \
+ "
+
+RDEPENDS_packagegroup-meta-webserver-webadmin = "\
+ netdata webmin \
+ "
+EXCLUDE_FROM_WORLD = "1"
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
index 0beb3ed0..3cbab22c 100644
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
@@ -1,6 +1,6 @@
SUMMARY = "Websocket module for Apache web server"
DESCRIPTION = "Process requests using the WebSocket protocol (RFC 6455)"
-HOMEPAGE = "https://github.com/jchampio/${PN}/"
+HOMEPAGE = "https://github.com/jchampio/apache-websocket/"
SECTION = "net"
LICENSE = "Apache-2.0"
@@ -13,9 +13,9 @@ RDEPENDS_${PN} += "apache2"
# fork contains patches from the modules ML and fixes CVE compliance issues
SRC_URI = "git://github.com/jchampio/apache-websocket.git"
-SRCREV = "f5230d8c520dccf8631da94bf90c23f3c1100dcc"
+SRCREV = "6968083264b90b89b1b9597a4ca03ba29e7ea2e1"
-PV = "0.1.1"
+PV = "0.1.1+git${SRCPV}"
S = "${WORKDIR}/git"
@@ -25,9 +25,9 @@ EXTRA_OECONF = "APACHECTL=${STAGING_DIR_TARGET}${sbindir}/apachectl \
LIBTOOL=${STAGING_DIR_TARGET}${bindir_crossscripts}/${HOST_SYS}-libtool"
do_install() {
- install -d ${D}${libdir}/apache2/modules/
- install ${B}/.libs/mod_websocket.so ${D}${libdir}/apache2/modules/
+ install -d ${D}${libexecdir}/apache2/modules
+ install -m 755 ${B}/.libs/mod_websocket.so ${D}${libexecdir}/apache2/modules
}
-FILES_${PN} += " ${libdir}/apache2/modules/* "
-FILES_${PN}-dbg += " ${libdir}/apache2/modules/.debug/* "
+FILES_${PN} += " ${libexecdir}/apache2/modules/* "
+FILES_${PN}-dbg += " ${libexecdir}/apache2/modules/.debug/* "
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0001-support-apxs.in-force-destdir-to-be-empty-string.patch b/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0001-support-apxs.in-force-destdir-to-be-empty-string.patch
new file mode 100644
index 00000000..bdedd146
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0001-support-apxs.in-force-destdir-to-be-empty-string.patch
@@ -0,0 +1,49 @@
+From 705c0a7e9d9c1e64ee09fc0b54f6b5a4e27de1ca Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <trevor.gamblin@windriver.com>
+Date: Fri, 17 Apr 2020 06:31:35 -0700
+Subject: [PATCH] support/apxs.in: force destdir to be empty string
+
+If destdir is assigned to anything other than the empty string, the
+search path for apache2 config files is appended to itself, and
+related packages like apache-websocket will be unable to locate them:
+
+| cannot open
+/ala-lpggp31/tgamblin/yocto/poky.git/build/tmp/work/core2-64-poky-linux/apache-websocket/0.1.1+gitAUTOINC+6968083264-r0/recipe-sysroot/ala-lpggp31/tgamblin/yocto/poky.git/build/tmp/work/core2-64-poky-linux/apache-websocket/0.1.1+gitAUTOINC+6968083264-r0/recipe-sysroot//usr/share/apache2/build/config_vars.mk:
+No such file or directory at
+/ala-lpggp31/tgamblin/yocto/poky.git/build/tmp/work/core2-64-poky-linux/apache-websocket/0.1.1+gitAUTOINC+6968083264-r0/recipe-sysroot/usr/bin/crossscripts/apxs
+line 213.
+
+Ensure that it is always the empty string so that apache-websocket
+is able to find the required config files.
+
+Upstream-Status: Inappropriate (embedded-specific)
+
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
+---
+ support/apxs.in | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/support/apxs.in b/support/apxs.in
+index 65e1288527..9d96e33728 100644
+--- a/support/apxs.in
++++ b/support/apxs.in
+@@ -28,10 +28,12 @@ package apxs;
+ # is the empty string.
+
+ my $destdir = "";
+-my $ddi = rindex($0, "@exp_bindir@");
+-if ($ddi >= 0) {
+- $destdir = substr($0, 0, $ddi);
+-}
++# Comment out assignment of destdir so that it doesn't affect bitbake
++# cross-compilation setup
++#my $ddi = rindex($0, "@exp_bindir@");
++#if ($ddi >= 0) {
++# $destdir = substr($0, 0, $ddi);
++#}
+
+ my %config_vars = ();
+
+--
+2.17.1
+
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch b/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
new file mode 100644
index 00000000..61669e36
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
@@ -0,0 +1,34 @@
+From 5412077c398dec74321388fe6e593a44c4c80de6 Mon Sep 17 00:00:00 2001
+From: echo <fei.geng@windriver.com>
+Date: Tue, 28 Apr 2009 03:11:06 +0000
+Subject: [PATCH] Fix perl install directory to /usr/bin
+
+Upstream-Status: Inappropriate [configuration]
+
+Add back this patch. Without this patch, apxs's shebang will use
+perl under hosttools, which can be too long for shebang, and cause
+error:
+bad interpreter: No such file or directory
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+---
+ configure.in | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index d828512..be7bd25 100644
+--- a/configure.in
++++ b/configure.in
+@@ -855,10 +855,7 @@ AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${rel_sysconfdir}/${progname}.conf",
+ AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types",
+ [Location of the MIME types config file, relative to the Apache root directory])
+
+-perlbin=`$ac_aux_dir/PrintPath perl`
+-if test "x$perlbin" = "x"; then
+- perlbin="/replace/with/path/to/perl/interpreter"
+-fi
++perlbin='/usr/bin/perl'
+ AC_SUBST(perlbin)
+
+ dnl If we are running on BSD/OS, we need to use the BSD .include syntax.
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb
deleted file mode 100644
index 543d1246..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb
+++ /dev/null
@@ -1,208 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \
- file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \
- file://0004-apache2-log-the-SELinux-context-at-startup.patch \
- file://0005-replace-lynx-to-curl-in-apachectl-script.patch \
- file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \
- file://0007-apache2-allow-to-disable-selinux-support.patch \
- "
-
-SRC_URI_append_class-target = " \
- file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \
- file://init \
- file://apache2-volatile.conf \
- file://apache2.service \
- file://volatiles.04_apache2 \
- "
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d52d0fd0bc788f068e647116c01ddfcd"
-SRC_URI[md5sum] = "dfc674f8f454e3bc2d4ccd73ad3b5f1e"
-SRC_URI[sha256sum] = "133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40"
-
-S = "${WORKDIR}/httpd-${PV}"
-
-inherit autotools update-rc.d pkgconfig systemd update-alternatives
-
-DEPENDS = "openssl expat pcre apr apr-util apache2-native "
-
-CVE_PRODUCT = "http_server"
-
-SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
-
-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"
-PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib"
-
-CFLAGS_append = " -DPATH_MAX=4096"
-
-EXTRA_OECONF_class-target = "\
- --enable-layout=Debian \
- --prefix=${base_prefix} \
- --exec_prefix=${exec_prefix} \
- --includedir=${includedir}/${BPN} \
- --sysconfdir=${sysconfdir}/${BPN} \
- --datadir=${datadir}/${BPN} \
- --libdir=${libdir} \
- --libexecdir=${libdir}/${BPN}/modules \
- --localstatedir=${localstatedir} \
- --enable-ssl \
- --with-dbm=sdbm \
- --with-gdbm=no \
- --with-ndbm=no \
- --with-berkeley-db=no \
- --enable-info \
- --enable-rewrite \
- --enable-mpms-shared \
- ap_cv_void_ptr_lt_long=no \
- ac_cv_have_threadsafe_pollset=no \
- "
-
-EXTRA_OECONF_class-native = "\
- --prefix=${prefix} \
- --includedir=${includedir}/${BPN} \
- --sysconfdir=${sysconfdir}/${BPN} \
- --datadir=${datadir}/${BPN} \
- --libdir=${libdir} \
- --libexecdir=${libdir}/${BPN}/modules \
- --localstatedir=${localstatedir} \
- "
-
-do_configure_prepend() {
- sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout
-}
-
-do_install_append_class-target() {
- 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
-
- 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
-
- sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf
-
- sed -i -e 's,${STAGING_DIR_TARGET},,g' \
- -e 's,${DEBUG_PREFIX_MAP},,g' \
- -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
- -e 's,${HOSTTOOLS_DIR}/,,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,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's,${DEBUG_PREFIX_MAP},,g' \
- -e 's,${RECIPE_SYSROOT},,g' \
- -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
- -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
- -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
-
- 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/
-
- 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
- elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
- fi
-
- rm -rf ${D}${localstatedir}
- chown -R root:root ${D}
-}
-
-do_install_append_class-native() {
- install -d ${D}${bindir} ${D}${libdir}
- install -m 755 server/gen_test_char ${D}${bindir}
-}
-
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " 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"
-
-SYSTEMD_SERVICE_${PN} = "apache2.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-
-ALTERNATIVE_${PN}-doc = "htpasswd.1"
-ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
-
-PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
-
-CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
- ${sysconfdir}/${BPN}/magic \
- ${sysconfdir}/${BPN}/mime.types"
-
-# We override here rather than append so that .so links are
-# included in the runtime package rather than here (-dev)
-# and to get icons, error into the -dev package
-FILES_${PN}-dev = "${datadir}/${BPN}/icons \
- ${datadir}/${BPN}/error \
- ${includedir}/${BPN} \
- "
-
-FILES_${PN}-scripts += "${bindir}/dbmmanage"
-
-# Override this too - here is the default, less datadir
-FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \
- ${sysconfdir} ${libdir}/${BPN}"
-
-# We want htdocs and cgi-bin to go with the binary
-FILES_${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin"
-
-FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
-
-RDEPENDS_${PN} += "openssl libgcc"
-RDEPENDS_${PN}-scripts += "perl ${PN}"
-RDEPENDS_${PN}-dev = "perl"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.43.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.43.bb
new file mode 100644
index 00000000..a7083d80
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.43.bb
@@ -0,0 +1,226 @@
+DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
+extensible web server."
+SUMMARY = "Apache HTTP Server"
+HOMEPAGE = "http://httpd.apache.org/"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+
+SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
+ file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+ file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \
+ file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \
+ file://0004-apache2-log-the-SELinux-context-at-startup.patch \
+ file://0005-replace-lynx-to-curl-in-apachectl-script.patch \
+ file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \
+ file://0007-apache2-allow-to-disable-selinux-support.patch \
+ file://apache-configure_perlbin.patch \
+ file://0001-support-apxs.in-force-destdir-to-be-empty-string.patch \
+ "
+
+SRC_URI_append_class-target = " \
+ file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \
+ file://init \
+ file://apache2-volatile.conf \
+ file://apache2.service \
+ file://volatiles.04_apache2 \
+ "
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3"
+SRC_URI[md5sum] = "791c986b1e70fe61eb44060aacc89a64"
+SRC_URI[sha256sum] = "a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43"
+
+S = "${WORKDIR}/httpd-${PV}"
+
+inherit autotools update-rc.d pkgconfig systemd update-alternatives
+
+DEPENDS = "openssl expat pcre apr apr-util apache2-native "
+
+CVE_PRODUCT = "http_server"
+
+SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
+
+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"
+PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib"
+
+CFLAGS_append = " -DPATH_MAX=4096"
+
+EXTRA_OECONF_class-target = "\
+ --enable-layout=Debian \
+ --prefix=${base_prefix} \
+ --exec_prefix=${exec_prefix} \
+ --includedir=${includedir}/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --libdir=${libdir} \
+ --libexecdir=${libexecdir}/${BPN}/modules \
+ --localstatedir=${localstatedir} \
+ --enable-ssl \
+ --with-dbm=sdbm \
+ --with-gdbm=no \
+ --with-ndbm=no \
+ --with-berkeley-db=no \
+ --enable-info \
+ --enable-rewrite \
+ --enable-mpms-shared \
+ ap_cv_void_ptr_lt_long=no \
+ ac_cv_have_threadsafe_pollset=no \
+ "
+
+EXTRA_OECONF_class-native = "\
+ --prefix=${prefix} \
+ --includedir=${includedir}/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --libdir=${libdir} \
+ --libexecdir=${libdir}/${BPN}/modules \
+ --localstatedir=${localstatedir} \
+ "
+
+do_configure_prepend() {
+ sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' ${S}/config.layout
+}
+
+do_install_append_class-target() {
+ 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
+
+ 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
+
+ sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ sed -i -e 's,${STAGING_DIR_TARGET},,g' \
+ -e 's,${DEBUG_PREFIX_MAP},,g' \
+ -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
+ -e 's,${HOSTTOOLS_DIR}/,,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,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's,${DEBUG_PREFIX_MAP},,g' \
+ -e 's,${RECIPE_SYSROOT},,g' \
+ -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
+ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
+ -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
+
+ 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/
+
+ 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
+ elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
+ fi
+
+ rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars*
+ chown -R root:root ${D}
+}
+
+do_install_append_class-native() {
+ install -d ${D}${bindir} ${D}${libdir}
+ install -m 755 server/gen_test_char ${D}${bindir}
+}
+
+SYSROOT_PREPROCESS_FUNCS_append_class-target = " 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"
+
+SYSTEMD_SERVICE_${PN} = "apache2.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+ALTERNATIVE_${PN}-doc = "htpasswd.1"
+ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
+
+PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
+
+CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
+ ${sysconfdir}/${BPN}/magic \
+ ${sysconfdir}/${BPN}/mime.types \
+ ${sysconfdir}/${BPN}/extra/*"
+
+# 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 \
+ ${includedir}/${BPN} \
+ ${bindir}/apxs \
+ "
+
+# Add the manual to -doc
+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} \
+ ${sysconfdir} ${libdir}/${BPN}"
+
+# We want htdocs and cgi-bin to go with the binary
+FILES_${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin"
+
+FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
+
+RDEPENDS_${PN} += "openssl libgcc"
+RDEPENDS_${PN}-scripts += "perl ${PN}"
+RDEPENDS_${PN}-dev = "perl"
+
+BBCLASSEXTEND = "native"
+
+pkg_postinst_${PN}() {
+ if [ -z "$D" ]; then
+ if type systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+ fi
+}
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch b/external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch
new file mode 100644
index 00000000..0f438427
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch
@@ -0,0 +1,47 @@
+From c73415021f3f3b2b30062ab74b25fe49c51c2242 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 10 Nov 2019 15:59:44 -0800
+Subject: [PATCH] common-internal.h: Define LLONG_MAX if undefined
+
+time_t can also be long long type, therefore check for that as fallback
+Fixes build on 32bit hosts where time_t is fixed for Y2K38
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cherokee/common-internal.h | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/cherokee/common-internal.h b/cherokee/common-internal.h
+index 5c28da97..5646ec0f 100644
+--- a/cherokee/common-internal.h
++++ b/cherokee/common-internal.h
+@@ -222,6 +222,16 @@ char *strcasestr(char *s, char *find);
+ # endif
+ #endif
+
++/* Long Long limit
++ */
++#ifndef LLONG_MAX
++# if (__SIZEOF_LONG_LONG__ == 8)
++# define LLONG_MAX 0x7fffffffffffffffLL
++# else
++# error "Can't define LLONG_MAX"
++# endif
++#endif
++
+ /* time_t limit
+ */
+ #ifndef TIME_MAX
+@@ -229,6 +239,8 @@ char *strcasestr(char *s, char *find);
+ # define TIME_MAX ((time_t)INT_MAX)
+ # elif (SIZEOF_TIME_T == SIZEOF_LONG)
+ # define TIME_MAX ((time_t)LONG_MAX)
++# elif (SIZEOF_TIME_T == __SIZEOF_LONG_LONG__)
++# define TIME_MAX ((time_t)LLONG_MAX)
+ # else
+ # error "Can't define TIME_MAX"
+ # endif
+--
+2.24.0
+
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
index 3f7eae4c..74244679 100644
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "unzip-native libpcre openssl mysql5 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-SRCREV = "75f041e2255e6dd0692db2f14611c2647dbe8425"
+SRCREV = "9a75e65b876bcc376cb6b379dca1f7ce4a055c59"
PV = "1.2.104+git${SRCPV}"
SRC_URI = "git://github.com/cherokee/webserver \
file://cherokee.init \
@@ -15,11 +15,12 @@ SRC_URI = "git://github.com/cherokee/webserver \
file://cherokee-install-configured.py-once.patch \
file://0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch \
file://0001-make-Do-not-build-po-files.patch \
+ file://0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch \
"
S = "${WORKDIR}/git"
-inherit autotools-brokensep pkgconfig binconfig update-rc.d systemd pythonnative
+inherit autotools-brokensep pkgconfig binconfig update-rc.d systemd ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)}
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ffmpeg] = "--with-ffmpeg,--without-ffmpeg,libav"
@@ -69,3 +70,8 @@ RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
SYSTEMD_SERVICE_${PN} = "cherokee.service"
+
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.10.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.10.bb
new file mode 100644
index 00000000..ed3df193
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.10.bb
@@ -0,0 +1,64 @@
+SUMMARY = "Lightweight secure web server"
+HOMEPAGE = "http://www.hiawatha-webserver.org"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "libxml2 libxslt virtual/crypt"
+
+SECTION = "net"
+
+SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \
+ file://hiawatha-init \
+ file://hiawatha.service "
+
+SRC_URI[md5sum] = "3bf2c12c7037ecc3dfdbec72e7a2f04f"
+SRC_URI[sha256sum] = "b5e46f5757fa647e77d21d24f7eea912d59f26a75558cba780b45c1c3a33a4d9"
+
+INITSCRIPT_NAME = "hiawatha"
+INITSCRIPT_PARAMS = "defaults 70"
+
+SYSTEMD_SERVICE_${PN} = "hiawatha.service"
+
+inherit cmake update-rc.d systemd
+
+EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \
+ -DENABLE_CACHE=OFF \
+ -DENABLE_DEBUG=OFF \
+ -DENABLE_TLS=OFF \
+ -DENABLE_TOOLKIT=OFF \
+ -DENABLE_CHROOT=OFF \
+ -DENABLE_XSLT=ON \
+ -DENABLE_TOMAHAWK=OFF \
+ -DCMAKE_INSTALL_MANDIR=${mandir} \
+ -DCMAKE_INSTALL_BINDIR=${bindir} \
+ -DCMAKE_INSTALL_SBINDIR=${sbindir} \
+ -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \
+ -DCMAKE_INSTALL_LIBDIR=${libdir} \
+ -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir}"
+
+do_install_append() {
+ # Copy over init script and sed in the correct sbin path
+ sed -i 's,sed_sbin_path,${sbindir},' ${WORKDIR}/hiawatha-init
+ mkdir -p ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha
+
+ # configure php-fcgi to have a working configuration
+ # by default if php is installed
+ echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system
+ fi
+
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" "${D}${localstatedir}/run"
+}
+
+CONFFILES_${PN} = " \
+ ${sysconfdir}/hiawatha/cgi-wrapper.conf \
+ ${sysconfdir}/hiawatha/hiawatha.conf \
+ ${sysconfdir}/hiawatha/index.xslt \
+ ${sysconfdir}/hiawatha/mimetype.conf \
+ ${sysconfdir}/hiawatha/php-fcgi.conf \
+"
+
+FILES_${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}"
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb
deleted file mode 100644
index d6c449b5..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "Lightweight secure web server"
-HOMEPAGE = "http://www.hiawatha-webserver.org"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "libxml2 libxslt virtual/crypt"
-
-SECTION = "net"
-
-SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \
- file://hiawatha-init \
- file://hiawatha.service "
-
-SRC_URI[md5sum] = "581aa71c831172ba06910deda717302f"
-SRC_URI[sha256sum] = "363e99d84a85dafbb74bcc30b3e30286053ec2abbc7afe08cd87193611735f74"
-
-INITSCRIPT_NAME = "hiawatha"
-INITSCRIPT_PARAMS = "defaults 70"
-
-SYSTEMD_SERVICE_${PN} = "hiawatha.service"
-
-inherit cmake update-rc.d systemd
-
-EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \
- -DENABLE_CACHE=OFF \
- -DENABLE_DEBUG=OFF \
- -DENABLE_TLS=OFF \
- -DENABLE_TOOLKIT=OFF \
- -DENABLE_CHROOT=OFF \
- -DENABLE_XSLT=ON \
- -DENABLE_TOMAHAWK=OFF \
- -DCMAKE_INSTALL_MANDIR=${mandir} \
- -DCMAKE_INSTALL_BINDIR=${bindir} \
- -DCMAKE_INSTALL_SBINDIR=${sbindir} \
- -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \
- -DCMAKE_INSTALL_LIBDIR=${libdir} \
- -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir}"
-
-do_install_append() {
- # Copy over init script and sed in the correct sbin path
- sed -i 's,sed_sbin_path,${sbindir},' ${WORKDIR}/hiawatha-init
- mkdir -p ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha
-
- # configure php-fcgi to have a working configuration
- # by default if php is installed
- echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system
- fi
-
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" "${D}${localstatedir}/run"
-}
-
-CONFFILES_${PN} = " \
- ${sysconfdir}/hiawatha/cgi-wrapper.conf \
- ${sysconfdir}/hiawatha/hiawatha.conf \
- ${sysconfdir}/hiawatha/index.xslt \
- ${sysconfdir}/hiawatha/mimetype.conf \
- ${sysconfdir}/hiawatha/php-fcgi.conf \
-"
-
-FILES_${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}"
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/default_server.site b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/default_server.site
new file mode 100644
index 00000000..7a8a215c
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/default_server.site
@@ -0,0 +1,14 @@
+# Default server configuration
+server {
+ listen 80 default_server;
+ listen [::]:80 default_server;
+
+ root /var/www/localhost/html;
+
+ index index.html index.htm;
+
+ server_name _;
+
+ # redirect server error pages to the static page /50x.html
+ error_page 500 502 503 504 /50x.html;
+}
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-fix-pidfile.patch b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-fix-pidfile.patch
new file mode 100644
index 00000000..90159a66
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-fix-pidfile.patch
@@ -0,0 +1,99 @@
+Description: Fix NGINX pidfile handling
+Author: Tj <ubuntu@iam.tj>
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864
+Last-Update: 2019-06-04
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+
+Upstream-Status: Pending
+
+This patch is from ubuntu, https://github.com/aroth-arsoft/pkg-nginx/blob
+/master/debian/patches/nginx-fix-pidfile.patch, for fix below
+error info:
+nginx.service: failed to parse pid from file /run/nginx/nginx.pid:
+invalid argument
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+diff --git a/src/core/nginx.c b/src/core/nginx.c
+index 9fcb0eb2..083eba1d 100644
+--- a/src/core/nginx.c
++++ b/src/core/nginx.c
+@@ -338,14 +338,21 @@ main(int argc, char *const *argv)
+ ngx_process = NGX_PROCESS_MASTER;
+ }
+
++ /* tell-tale to detect if this is parent or child process */
++ ngx_int_t child_pid = NGX_BUSY;
++
+ #if !(NGX_WIN32)
+
+ if (ngx_init_signals(cycle->log) != NGX_OK) {
+ return 1;
+ }
+
++ /* tell-tale that this code has been executed */
++ child_pid--;
++
+ if (!ngx_inherited && ccf->daemon) {
+- if (ngx_daemon(cycle->log) != NGX_OK) {
++ child_pid = ngx_daemon(cycle->log);
++ if (child_pid == NGX_ERROR) {
+ return 1;
+ }
+
+@@ -358,8 +365,19 @@ main(int argc, char *const *argv)
+
+ #endif
+
+- if (ngx_create_pidfile(&ccf->pid, cycle->log) != NGX_OK) {
+- return 1;
++ /* If ngx_daemon() returned the child's PID in the parent process
++ * after the fork() set ngx_pid to the child_pid, which gets
++ * written to the PID file, then exit.
++ * For NGX_WIN32 always write the PID file
++ * For others, only write it from the parent process */
++ if (child_pid < NGX_OK || child_pid > NGX_OK) {
++ ngx_pid = child_pid > NGX_OK ? child_pid : ngx_pid;
++ if (ngx_create_pidfile(&ccf->pid, cycle->log) != NGX_OK) {
++ return 1;
++ }
++ }
++ if (child_pid > NGX_OK) {
++ exit(0);
+ }
+
+ if (ngx_log_redirect_stderr(cycle) != NGX_OK) {
+diff --git a/src/os/unix/ngx_daemon.c b/src/os/unix/ngx_daemon.c
+index 385c49b6..3719854c 100644
+--- a/src/os/unix/ngx_daemon.c
++++ b/src/os/unix/ngx_daemon.c
+@@ -7,14 +7,17 @@
+
+ #include <ngx_config.h>
+ #include <ngx_core.h>
++#include <unistd.h>
+
+
+ ngx_int_t
+ ngx_daemon(ngx_log_t *log)
+ {
+ int fd;
++ /* retain the return value for passing back to caller */
++ pid_t pid_child = fork();
+
+- switch (fork()) {
++ switch (pid_child) {
+ case -1:
+ ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "fork() failed");
+ return NGX_ERROR;
+@@ -23,7 +26,8 @@ ngx_daemon(ngx_log_t *log)
+ break;
+
+ default:
+- exit(0);
++ /* let caller do the exit() */
++ return pid_child;
+ }
+
+ ngx_parent = ngx_pid;
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf
index 69d3a2ad..6d219422 100644
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf
@@ -1,118 +1,47 @@
-
user www;
-worker_processes 1;
-
-error_log /var/log/nginx/error.log;
-#error_log logs/error.log notice;
-#error_log logs/error.log info;
-
-pid /run/nginx/nginx.pid;
-
+worker_processes 1;
+pid /run/nginx/nginx.pid;
+include /etc/nginx/modules-enabled/*.conf;
events {
- worker_connections 1024;
+ worker_connections 768;
+ # multi_accept on;
}
-
http {
- include mime.types;
+ # Basic Settings
+ sendfile on;
+ tcp_nopush on;
+ tcp_nodelay on;
+ keepalive_timeout 65;
+ types_hash_max_size 2048;
+ # server_tokens off;
+
+ # server_names_hash_bucket_size 64;
+ # server_name_in_redirect off;
+
+ include /etc/nginx/mime.types;
default_type application/octet-stream;
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
-
- access_log /var/log/nginx/access.log main;
-
- sendfile on;
- #tcp_nopush on;
-
- #keepalive_timeout 0;
- keepalive_timeout 65;
-
- #gzip on;
-
- server {
- listen 80;
- server_name localhost;
-
- #charset koi8-r;
-
- #access_log logs/host.access.log main;
-
- location / {
- root /var/www/localhost/html;
- index index.html index.htm;
- }
-
- #error_page 404 /404.html;
-
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root /var/www/localhost/html;
- }
-
- # proxy the PHP scripts to Apache listening on 127.0.0.1:80
- #
- #location ~ \.php$ {
- # proxy_pass http://127.0.0.1;
- #}
-
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- #
- #location ~ \.php$ {
- # root html;
- # fastcgi_pass 127.0.0.1:9000;
- # fastcgi_index index.php;
- # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
- # include fastcgi_params;
- #}
-
- # deny access to .htaccess files, if Apache's document root
- # concurs with nginx's one
- #
- #location ~ /\.ht {
- # deny all;
- #}
- }
-
-
- # another virtual host using mix of IP-, name-, and port-based configuration
- #
- #server {
- # listen 8000;
- # listen somename:8080;
- # server_name somename alias another.alias;
-
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
-
-
- # HTTPS server
- #
- #server {
- # listen 443;
- # server_name localhost;
-
- # ssl on;
- # ssl_certificate cert.pem;
- # ssl_certificate_key cert.key;
+ # SSL Settings
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
+ ssl_prefer_server_ciphers on;
- # ssl_session_timeout 5m;
+ ## Logging
+ access_log /var/log/nginx/access.log;
+ error_log /var/log/nginx/error.log;
- # ssl_protocols SSLv2 SSLv3 TLSv1;
- # ssl_ciphers HIGH:!aNULL:!MD5;
- # ssl_prefer_server_ciphers on;
+ ## Gzip settings
+ gzip on;
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
+ gzip_vary on;
+ gzip_proxied any;
+ gzip_comp_level 6;
+ gzip_buffers 16 8k;
+ gzip_http_version 1.1;
+ gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
+ ## Virtual Host Configs
+ include /etc/nginx/conf.d/*.conf;
+ include /etc/nginx/sites-enabled/*;
}
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
index ce990617..9a6ca965 100644
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
@@ -1,11 +1,15 @@
[Unit]
-Description=Nginx Server
-After=network.target
+Description=The NGINX HTTP and reverse proxy server
+After=syslog.target network.target remote-fs.target nss-lookup.target
+
[Service]
Type=forking
PIDFile=/run/nginx/nginx.pid
+ExecStartPre=@SBINDIR@/nginx -t
ExecStart=@SBINDIR@/nginx
-ExecStop=@SBINDIR@/nginx -s stop
ExecReload=@SBINDIR@/nginx -s reload
+ExecStop=@BASE_BINDIR@/kill -s QUIT $MAINPID
+PrivateTmp=true
+
[Install]
WantedBy=multi-user.target
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/proxy_params b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/proxy_params
new file mode 100644
index 00000000..df75bc5d
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/proxy_params
@@ -0,0 +1,4 @@
+proxy_set_header Host $http_host;
+proxy_set_header X-Real-IP $remote_addr;
+proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+proxy_set_header X-Forwarded-Proto $scheme;
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
index 24c2cedf..de080a2b 100644
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -16,9 +16,12 @@ SRC_URI = " \
file://nginx-cross.patch \
file://0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch \
file://nginx.conf \
+ file://default_server.site \
+ file://proxy_params \
file://nginx.init \
file://nginx-volatile.conf \
file://nginx.service \
+ file://nginx-fix-pidfile.patch \
"
inherit siteinfo update-rc.d useradd systemd
@@ -38,6 +41,7 @@ PACKAGECONFIG ??= "ssl"
PACKAGECONFIG[http2] = "--with-http_v2_module,,"
PACKAGECONFIG[ssl] = "--with-http_ssl_module,,openssl"
+PACKAGECONFIG[http-auth-request] = "--with-http_auth_request_module,,"
do_configure () {
if [ "${SITEINFO_BITS}" = "64" ]; then
@@ -86,13 +90,13 @@ do_install () {
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /run/${BPN} - - - -" \
> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
- echo "d /${localstatedir}/log/${BPN} 0755 root root -" \
+ echo "d ${localstatedir}/log/${BPN} 0755 root root -" \
>> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
fi
install -d ${D}${sysconfdir}/${BPN}
- ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
+ lnr ${D}${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
install -d ${D}${NGINX_WWWDIR}
- mv ${D}/usr/html ${D}${NGINX_WWWDIR}/
+ mv ${D}${exec_prefix}/html ${D}${NGINX_WWWDIR}/
chown ${NGINX_USER}:www-data -R ${D}${NGINX_WWWDIR}
install -d ${D}${sysconfdir}/init.d
@@ -102,23 +106,41 @@ do_install () {
install -d ${D}${sysconfdir}/nginx
install -m 0644 ${WORKDIR}/nginx.conf ${D}${sysconfdir}/nginx/nginx.conf
+ sed -i 's,/etc/,${sysconfdir}/,g' ${D}${sysconfdir}/nginx/nginx.conf
sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/nginx.conf
sed -i 's/^user.*/user ${NGINX_USER};/g' ${D}${sysconfdir}/nginx/nginx.conf
+ install -Dm 0644 ${WORKDIR}/default_server.site ${D}${sysconfdir}/nginx/sites-available/default_server
+ sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/sites-available/default_server
install -d ${D}${sysconfdir}/nginx/sites-enabled
+ ln -s ../sites-available/default_server ${D}${sysconfdir}/nginx/sites-enabled/
+
+ install -m 0644 ${WORKDIR}/proxy_params ${D}${sysconfdir}/nginx/proxy_params
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
+ # cleanup configuration folder
+ rm ${D}${sysconfdir}/nginx/*.default
+
+ # add additional configuration folders
+ install -d ${D}${sysconfdir}/nginx/modules-available
+ install -d ${D}${sysconfdir}/nginx/modules-enabled
+ install -d ${D}${sysconfdir}/nginx/server-conf.d
+ install -d ${D}${sysconfdir}/nginx/conf.d
+
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/nginx.service ${D}${systemd_unitdir}/system/
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-e 's,@LOCALSTATEDIR@,${localstatedir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@BASE_BINDIR@,${base_bindir},g' \
${D}${systemd_unitdir}/system/nginx.service
fi
+
+ rm -rf ${D}${localstatedir}/log/
}
pkg_postinst_${PN} () {
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.1.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.1.bb
deleted file mode 100644
index 0f1ba8f6..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require nginx.inc
-
-# 1.14.x branch is the current stable branch, the recommended default
-# 1.15.x is the current mainline branches containing all new features
-DEFAULT_PREFERENCE = "-1"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe"
-
-SRC_URI[md5sum] = "2dd5a265c54a76b699443931d80a61b9"
-SRC_URI[sha256sum] = "c7206858d7f832b8ef73a45c9b8f8e436bcb1ee88db2bc85b8e438ecec9d5460"
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.2.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.2.bb
deleted file mode 100644
index 3694f5b5..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe"
-
-SRC_URI[md5sum] = "d063f746d3dc4298aed9c518f1684166"
-SRC_URI[sha256sum] = "eeba09aecfbe8277ac33a5a2486ec2d6731739f3c1c701b42a0c3784af67ad90"
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.1.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.1.bb
new file mode 100644
index 00000000..20764257
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.1.bb
@@ -0,0 +1,6 @@
+require nginx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=52e384aaac868b755b93ad5535e2d075"
+
+SRC_URI[md5sum] = "45a80f75336c980d240987badc3dcf60"
+SRC_URI[sha256sum] = "f11c2a6dd1d3515736f0324857957db2de98be862461b5a542a3ac6188dbe32b"
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.8.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.8.bb
new file mode 100644
index 00000000..3d2a5edd
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.8.bb
@@ -0,0 +1,10 @@
+require nginx.inc
+
+# 1.16.x branch is the current stable branch, the recommended default
+# 1.17.x is the current mainline branches containing all new features
+DEFAULT_PREFERENCE = "-1"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=52e384aaac868b755b93ad5535e2d075"
+
+SRC_URI[md5sum] = "29cd861a13aae69a058cbabaae86177b"
+SRC_URI[sha256sum] = "97d23ecf6d5150b30e284b40e8a6f7e3bb5be6b601e373a4d013768d5a25965b"
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb
deleted file mode 100644
index a6b1ff0f..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "A simple, fast and secure HTTP server"
-HOMEPAGE = "http://www.nazgul.ch/dev_nostromo.html"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://src/nhttpd/main.c;beginline=2;endline=14;md5=0bb3711a867b9704d3bfabcf5529b64e"
-
-SRC_URI = "http://www.nazgul.ch/dev/${BPN}-${PV}.tar.gz \
- file://0001-GNUmakefile-add-possibility-to-override-variables.patch \
- file://nhttpd.conf \
- file://volatiles \
- file://tmpfiles.conf \
- file://nostromo \
-"
-
-SRC_URI[md5sum] = "27aa241d78ff78920354c3e03a5026ea"
-SRC_URI[sha256sum] = "541494ecfeafec58c0876ccc90cc23b06e0144f6f42029af44c7cdb1f411e8eb"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-DEPENDS = "openssl groff-native base-passwd virtual/crypt"
-
-inherit update-rc.d
-
-INITSCRIPT_NAME = "nostromo"
-INITSCRIPT_PARAMS = "defaults 70"
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- install -d ${D}/${sbindir}
- install -m 0755 src/nhttpd/nhttpd ${D}/${sbindir}/nhttpd
- install -m 0755 src/tools/crypt ${D}/${sbindir}/crypt
- install -d ${D}/${mandir}/man8
- install -m 0444 src/nhttpd/nhttpd.8 ${D}/${mandir}/man8/nhttpd.8
- install -d ${D}${localstatedir}/nostromo/conf
- install -d ${D}${localstatedir}/nostromo/htdocs/cgi-bin
- install -d ${D}${localstatedir}/nostromo/icons
- install -d ${D}${sysconfdir}/init.d
- install -m 0644 conf/mimes ${D}${localstatedir}/nostromo/conf/mimes
- install -m 0644 ${WORKDIR}/nhttpd.conf ${D}${sysconfdir}
- install -m 0755 ${WORKDIR}/nostromo ${D}${sysconfdir}/init.d
- install -D -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/nostromo
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -D -m 0644 ${WORKDIR}/tmpfiles.conf ${D}${sysconfdir}/tmpfiles.d/nostromo.conf
- fi
- install -m 0644 htdocs/index.html ${D}${localstatedir}/nostromo/htdocs/index.html
- install -m 0644 htdocs/nostromo.gif ${D}${localstatedir}/nostromo/htdocs/nostromo.gif
- install -m 0644 icons/dir.gif ${D}${localstatedir}/nostromo/icons/dir.gif
- install -m 0644 icons/file.gif ${D}${localstatedir}/nostromo/icons/file.gif
- chown -R www-data:www-data ${D}/${localstatedir}/nostromo
-}
-
-CONFFILES_${PN} += "/var/nostromo/conf/mimes ${sysconfdir}/nhttpd.conf"
-
-pkg_postinst_${PN} () {
- if [ -z "$D" ]; then
- if [ -e /sys/fs/cgroup/systemd ]; then
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nostromo.conf
- elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
- fi
- fi
-}
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.7.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.7.bb
new file mode 100644
index 00000000..d13ef74f
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.7.bb
@@ -0,0 +1,64 @@
+SUMMARY = "A simple, fast and secure HTTP server"
+HOMEPAGE = "http://www.nazgul.ch/dev_nostromo.html"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://src/nhttpd/main.c;beginline=2;endline=14;md5=0bb3711a867b9704d3bfabcf5529b64e"
+
+SRC_URI = "http://www.nazgul.ch/dev/${BPN}-${PV}.tar.gz \
+ file://0001-GNUmakefile-add-possibility-to-override-variables.patch \
+ file://nhttpd.conf \
+ file://volatiles \
+ file://tmpfiles.conf \
+ file://nostromo \
+"
+
+SRC_URI[md5sum] = "6189714845b3ad5d0fc490f8cf48dacf"
+SRC_URI[sha256sum] = "33c635f317fb441e10d5297bb4218ae0ea62c48f2fc3029c08f5d2167c6cdfca"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+DEPENDS = "openssl groff-native base-passwd virtual/crypt"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "nostromo"
+INITSCRIPT_PARAMS = "defaults 70"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install -m 0755 src/nhttpd/nhttpd ${D}/${sbindir}/nhttpd
+ install -m 0755 src/tools/crypt ${D}/${sbindir}/crypt
+ install -d ${D}/${mandir}/man8
+ install -m 0444 src/nhttpd/nhttpd.8 ${D}/${mandir}/man8/nhttpd.8
+ install -d ${D}${localstatedir}/nostromo/conf
+ install -d ${D}${localstatedir}/nostromo/htdocs/cgi-bin
+ install -d ${D}${localstatedir}/nostromo/icons
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0644 conf/mimes ${D}${localstatedir}/nostromo/conf/mimes
+ install -m 0644 ${WORKDIR}/nhttpd.conf ${D}${sysconfdir}
+ install -m 0755 ${WORKDIR}/nostromo ${D}${sysconfdir}/init.d
+ install -D -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/nostromo
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0644 ${WORKDIR}/tmpfiles.conf ${D}${sysconfdir}/tmpfiles.d/nostromo.conf
+ fi
+ install -m 0644 htdocs/index.html ${D}${localstatedir}/nostromo/htdocs/index.html
+ install -m 0644 htdocs/nostromo.gif ${D}${localstatedir}/nostromo/htdocs/nostromo.gif
+ install -m 0644 icons/dir.gif ${D}${localstatedir}/nostromo/icons/dir.gif
+ install -m 0644 icons/file.gif ${D}${localstatedir}/nostromo/icons/file.gif
+ chown -R www-data:www-data ${D}/${localstatedir}/nostromo
+}
+
+CONFFILES_${PN} += "/var/nostromo/conf/mimes ${sysconfdir}/nhttpd.conf"
+
+pkg_postinst_${PN} () {
+ if [ -z "$D" ]; then
+ if [ -e /sys/fs/cgroup/systemd ]; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nostromo.conf
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+ fi
+}
diff --git a/external/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb b/external/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
index 8632b97f..560dd9b6 100644
--- a/external/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
+++ b/external/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
@@ -6,18 +6,16 @@ LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dc
DEPENDS += "base-passwd virtual/crypt"
-SRC_URI = "https://github.com/blueness/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+SRCREV = "2845bf5bff2b820d2336c8c8061cbfc5f271e720"
+SRC_URI = "git://github.com/blueness/${BPN} \
file://thttpd.service \
file://thttpd.conf \
file://init"
-SRC_URI[md5sum] = "3cda1b6c8c8542b1510eadb8e540d8b6"
-SRC_URI[sha256sum] = "a1ee2806432eaf5b5dd267a0523701f9f1fa00fefd499d5bec42165a41e05846"
-
UPSTREAM_CHECK_URI = "https://github.com/blueness/sthttpd/releases/"
UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz"
-S = "${WORKDIR}/sthttpd-${PV}"
+S = "${WORKDIR}/git"
inherit autotools update-rc.d systemd update-alternatives
diff --git a/external/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.3.bb b/external/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.3.bb
deleted file mode 100644
index 975f6319..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.3.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Web-based MySQL administration interface"
-HOMEPAGE = "http://www.phpmyadmin.net"
-# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT
-LICENSE = "GPLv2 & LGPLv3 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \
- file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \
-"
-
-SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
- file://apache.conf \
-"
-
-SRC_URI[md5sum] = "c8a603f4b78d1dbcefc191b8ae598c79"
-SRC_URI[sha256sum] = "95f2692094d31c2c323d4767023583ab112ad54fff9e3af372710fcb676151af"
-
-UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/"
-UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P<pver>\d+(\.\d+)+)-all-languages.tar.xz"
-
-S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
-
-inherit allarch
-
-do_install() {
- install -d ${D}${datadir}/${BPN}
- cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN}
- chown -R root:root ${D}${datadir}/${BPN}
- # Don't install patches to target
- rm -rf ${D}${datadir}/${BPN}/patches
-
- install -d ${D}${sysconfdir}/apache2/conf.d
- install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
-
- # Remove a few scripts that explicitly require bash (!)
- rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
-}
-
-FILES_${PN} = "${datadir}/${BPN} \
- ${sysconfdir}/apache2/conf.d"
-
-RDEPENDS_${PN} += "bash php-cli"
diff --git a/external/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.0.2.bb b/external/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.0.2.bb
new file mode 100644
index 00000000..ac878c5f
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.0.2.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Web-based MySQL administration interface"
+HOMEPAGE = "http://www.phpmyadmin.net"
+# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT
+LICENSE = "GPLv2 & LGPLv3 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=dd6470bbcd3436ca317f82d34abaf688 \
+ file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \
+"
+
+SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
+ file://apache.conf \
+"
+
+SRC_URI[md5sum] = "442eb85912d3a2ad2fc0b9d6c21b1527"
+SRC_URI[sha256sum] = "cbcc78d1499308d9329950fcba2ebaa84c559a934fe54efc027d459d8e4161c8"
+
+UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/"
+UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P<pver>\d+(\.\d+)+)-all-languages.tar.xz"
+
+S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/${BPN}
+ cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN}
+ chown -R root:root ${D}${datadir}/${BPN}
+ # Don't install patches to target
+ rm -rf ${D}${datadir}/${BPN}/patches
+
+ install -d ${D}${sysconfdir}/apache2/conf.d
+ install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
+
+ # Remove a few scripts that explicitly require bash (!)
+ rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
+}
+
+FILES_${PN} = "${datadir}/${BPN} \
+ ${sysconfdir}/apache2/conf.d"
+
+RDEPENDS_${PN} += "bash php-cli"
diff --git a/external/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.1.bb b/external/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.1.bb
deleted file mode 100644
index 773dbf33..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Debugging and profiling extension for PHP"
-LICENSE = "Xdebug"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16"
-
-DEPENDS = "php re2c-native"
-
-SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
-
-SRC_URI[md5sum] = "35cc0f2e8b7d40556a9ad9afd9c49aee"
-SRC_URI[sha256sum] = "dae691d6c052073b886e0c6e1306a707bca9fd18a1e3485384ef6c4aacf1bd77"
-
-UPSTREAM_CHECK_REGEX = "xdebug-(?P<pver>\d+(\.\d+)+)\.tgz"
-
-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/external/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.9.5.bb b/external/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.9.5.bb
new file mode 100644
index 00000000..bad4da66
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.9.5.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Debugging and profiling extension for PHP"
+LICENSE = "Xdebug"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=92d94a330d34ee6edc2638450736f119"
+
+DEPENDS = "php re2c-native"
+
+SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
+
+SRC_URI[md5sum] = "c04be1bf225b768bf627dc92e5a1f9df"
+SRC_URI[sha256sum] = "775b1705109611b996d6a713fe14117a67846e157eb7dbf349bc0b055e861a10"
+
+UPSTREAM_CHECK_REGEX = "xdebug-(?P<pver>\d+(\.\d+)+)\.tgz"
+
+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/external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch b/external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch
deleted file mode 100644
index eec9dd7c..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Pending
-
-use automake options "foreign" to set the strictness as appropriate
-
-Signed-off-by: Yang Haibo <b40869@freescale.com>
---- fcgi-ori/configure.in 2014-08-05 14:58:35.000000000 +0800
-+++ fcgi-2.4.0/configure.in 2014-08-05 14:59:08.000000000 +0800
-@@ -4,8 +4,8 @@
- dnl generate the file "configure", which is run during the build
- dnl to configure the system for the local environment.
-
--AC_INIT
--AM_INIT_AUTOMAKE(fcgi, 2.4.1-SNAP-0910052249)
-+AC_INIT([fcgi], [2.4.1-SNAP-0910052249])
-+AM_INIT_AUTOMAKE([foreign])
-
- AM_CONFIG_HEADER(fcgi_config.h)
-
diff --git a/external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb b/external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb
index a17e70f0..6df58ad3 100644
--- a/external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb
+++ b/external/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb
@@ -3,12 +3,11 @@ HOMEPAGE = "http://www.fastcgi.com"
LICENSE = "OML"
LIC_FILES_CHKSUM = "file://LICENSE.TERMS;md5=e3aacac3a647af6e7e31f181cda0a06a"
-SRCREV = "68100b5b8cb26f04b784778ed19ccef4fe389f57"
-PV = "2.4.1+git${SRCPV}"
+SRCREV = "382aa2b0d53a87c27f2f647dfaf670375ba0b85f"
+PV = "2.4.2"
SRC_URI = "git://github.com/FastCGI-Archives/fcgi2.git;protocol=https \
- file://add_foreign_to_AM_INIT_AUTOMAKE.patch \
-"
+ "
S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb b/external/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
index 8b2ff44c..1d66d130 100644
--- a/external/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
+++ b/external/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
@@ -1,7 +1,7 @@
SUMMARRY = "spawn-fcgi is used to spawn FastCGI applications"
HOMEPAGE = "http://redmine.lighttpd.net/projects/spawn-fcgi"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
SRC_URI = "http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-${PV}.tar.gz \
diff --git a/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
deleted file mode 100644
index abea0d66..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: git/plugins.d/charts.d.plugin
-===================================================================
---- git.orig/plugins.d/charts.d.plugin
-+++ git/plugins.d/charts.d.plugin
-@@ -246,16 +246,6 @@ else
- info "configuration file '$myconfig' not found. Using defaults."
- fi
-
--# we check for the timeout command, after we load our
--# configuration, so that the user may overwrite the
--# timeout command we use, providing a function that
--# can emulate the timeout command we need:
--# > timeout SECONDS command ...
--if [ $check_for_timeout -eq 1 ]
-- then
-- require_cmd timeout || exit 1
--fi
--
- # -----------------------------------------------------------------------------
- # internal checks
-
diff --git a/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-timeout-issue.patch b/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-timeout-issue.patch
new file mode 100644
index 00000000..c4be8270
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-timeout-issue.patch
@@ -0,0 +1,42 @@
+From ccaf4225239c3092a51cf44f2ab0a2141b8a5fa6 Mon Sep 17 00:00:00 2001
+From: Luca Palano <github@lpzone.it>
+Date: Wed, 5 Dec 2018 10:36:52 +0100
+Subject: [PATCH 1/2] Correct of timeout issue
+
+The timeout issue has been disabled
+
+Signed-off-by: Luca Palano <github@lpzone.it>
+---
+ collectors/charts.d.plugin/charts.d.plugin.in | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/collectors/charts.d.plugin/charts.d.plugin.in b/collectors/charts.d.plugin/charts.d.plugin.in
+index 0df6c30c..63ea4506 100755
+--- a/collectors/charts.d.plugin/charts.d.plugin.in
++++ b/collectors/charts.d.plugin/charts.d.plugin.in
+@@ -156,7 +156,7 @@ restart_timeout=$((3600 * 4))
+ dryrunner=0
+
+ # check for timeout command
+-check_for_timeout=1
++check_for_timeout=0
+
+ # the default enable/disable value for all charts
+ enable_all_charts="yes"
+@@ -251,9 +251,10 @@ time_divisor=$((time_divisor))
+ # timeout command we use, providing a function that
+ # can emulate the timeout command we need:
+ # > timeout SECONDS command ...
+-if [ $check_for_timeout -eq 1 ]; then
+- require_cmd timeout || exit 1
+-fi
++#if [ $check_for_timeout -eq 1 ]
++# then
++# require_cmd timeout || exit 1
++#fi
+
+ # -----------------------------------------------------------------------------
+ # internal checks
+--
+2.20.1 (Apple Git-117)
+
diff --git a/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch b/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
deleted file mode 100644
index 6a0d75e3..00000000
--- a/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 87f868918a9ae1dcf93e01f3e177d185c19a149a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 14:32:09 -0700
-Subject: [PATCH] makefile: Do not build contrib dir
-
-It contains debian build iteams anyway
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 2ea9e40..acb1bd8 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -56,7 +56,6 @@ SUBDIRS = \
- src \
- system \
- web \
-- contrib \
- tests \
- $(NULL)
-
---
-2.13.2
-
diff --git a/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0002-Makefiles-does-not-build-contrib-dir.patch b/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0002-Makefiles-does-not-build-contrib-dir.patch
new file mode 100644
index 00000000..f0887fed
--- /dev/null
+++ b/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0002-Makefiles-does-not-build-contrib-dir.patch
@@ -0,0 +1,24 @@
+From 95e1da77de80e38068bb2739faeaad49105700cf Mon Sep 17 00:00:00 2001
+From: Luca Palano <github@lpzone.it>
+Date: Mon, 15 Jul 2019 10:16:32 +0200
+Subject: [PATCH 2/2] Makefiles does not build contrib
+
+Signed-off-by: Luca Palano <github@lpzone.it>
+---
+ Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index bc928bba..ba9edc6b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -54,7 +54,6 @@ dist_noinst_DATA= \
+ CHANGELOG.md \
+ cppcheck.sh \
+ configs.signatures \
+- contrib \
+ netdata.cppcheck \
+ netdata.spec \
+ package.json \
+--
+2.20.1 (Apple Git-117)
diff --git a/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
index b0f16025..d6a5ce06 100644
--- a/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
+++ b/external/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
@@ -1,19 +1,17 @@
HOMEPAGE = "https://github.com/firehol/netdata/"
SUMMARY = "Real-time performance monitoring"
LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=95b49e9ea979a337578f13c2a3ab9535 \
- file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- "
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc9b848046ef54b5eaee6071947abd24"
SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \
- file://0001-makefile-Do-not-build-contrib-dir.patch \
+ file://0002-Makefiles-does-not-build-contrib-dir.patch \
"
-SRCREV = "89ed309252981ddd50f697fde4fe93019cb3e652"
-PV = "1.8.0+git${SRCPV}"
+SRCREV = "588ce5a7b18999dfa66698cd3a2f005f7a3c31cf"
+PV = "1.17.0"
# patch to disable timeout because timeout are not available with actual version
# of core-utils
-SRC_URI += "file://0001-Correct-Timeout-issue.patch"
+SRC_URI += "file://0001-Correct-timeout-issue.patch"
# default netdata.conf for netdata configuration
SRC_URI += "file://netdata.conf"
@@ -25,7 +23,12 @@ S = "${WORKDIR}/git"
DEPENDS += "zlib util-linux"
-inherit pkgconfig autotools useradd systemd
+inherit pkgconfig autotools-brokensep useradd systemd
+
+LIBS_toolchain-clang_x86 = "-latomic"
+LIBS_riscv64 = "-latomic"
+LIBS_riscv32 = "-latomic"
+export LIBS
#systemd
SYSTEMD_PACKAGES = "${PN}"
diff --git a/external/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb b/external/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
index ce9bc928..112365d4 100644
--- a/external/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
+++ b/external/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
@@ -1,6 +1,6 @@
SUMMARY = "Web-based administration interface"
HOMEPAGE = "http://www.webmin.com"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENCE;md5=0373ac9f611e542ddebe1ec6394afc3c"
SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \
@@ -160,8 +160,8 @@ python populate_packages_prepend() {
elif os.path.exists(themeinfo):
themes.append(mod)
- do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True)
- do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True)
+ do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', extra_depends='perl', allow_dirs=True, prepend=True)
+ do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', extra_depends='perl', allow_dirs=True, prepend=True)
}
# Time-savers
diff --git a/external/meta-openembedded/meta-xfce/README b/external/meta-openembedded/meta-xfce/README
index 4d8dc459..eaa17175 100644
--- a/external/meta-openembedded/meta-xfce/README
+++ b/external/meta-openembedded/meta-xfce/README
@@ -1,11 +1,11 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: thud
+branch: dunfell
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: thud
+branch: dunfell
revision: HEAD
meta-xfce depends on meta-oe, meta-gnome and meta-multimedia in this repository.
@@ -14,9 +14,9 @@ this to local.conf:
BBMASK = "meta-xfce/recipes-multimedia"
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce][thud]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce][dunfell]' 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][thud][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][dunfell][PATCH'
-Thud Maintainer: Armin Kuster <akuster808@gmail.com>
+dunfell Maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/external/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass b/external/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
index 76b0e723..854d96b3 100644
--- a/external/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
+++ b/external/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
@@ -1,4 +1,4 @@
-inherit xfce distro_features_check
+inherit xfce features_check
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-xfce/classes/xfce-app.bbclass b/external/meta-openembedded/meta-xfce/classes/xfce-app.bbclass
index 1c31c2fa..d1b07d74 100644
--- a/external/meta-openembedded/meta-xfce/classes/xfce-app.bbclass
+++ b/external/meta-openembedded/meta-xfce/classes/xfce-app.bbclass
@@ -1,4 +1,4 @@
-inherit xfce distro_features_check
+inherit xfce features_check
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass b/external/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass
index 29c1245c..594d40d0 100644
--- a/external/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass
+++ b/external/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass
@@ -1,14 +1,14 @@
-inherit xfce distro_features_check
+inherit xfce features_check
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS += "libxfce4ui libxfce4util xfce4-panel"
-SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2"
+SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2"
FILES_${PN} += "${datadir}/xfce4/panel-plugins/"
FILES_${PN} += "${datadir}/xfce4/panel/plugins/"
FILES_${PN} += "${libdir}/xfce4/panel-plugins/*.so"
FILES_${PN} += "${libdir}/xfce4/panel/plugins/*.so"
-FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" \ No newline at end of file
+FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la"
diff --git a/external/meta-openembedded/meta-xfce/conf/layer.conf b/external/meta-openembedded/meta-xfce/conf/layer.conf
index f5f44d64..199c69e7 100644
--- a/external/meta-openembedded/meta-xfce/conf/layer.conf
+++ b/external/meta-openembedded/meta-xfce/conf/layer.conf
@@ -17,9 +17,6 @@ LAYERDEPENDS_xfce-layer += "openembedded-layer"
LAYERDEPENDS_xfce-layer += "gnome-layer"
LAYERDEPENDS_xfce-layer += "multimedia-layer"
LAYERDEPENDS_xfce-layer += "meta-python"
+LAYERDEPENDS_xfce-layer += "networking-layer"
-LAYERSERIES_COMPAT_xfce-layer = "thud"
-
-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
- xfce4-session->machine-host \
-"
+LAYERSERIES_COMPAT_xfce-layer = "thud warrior zeus dunfell"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.13.bb b/external/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.13.bb
new file mode 100644
index 00000000..01a36e1f
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.13.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Catfish is a handy file searching tool for linux and unix"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
+
+inherit xfce-app distutils3 gtk-icon-cache mime-xdg
+
+DEPENDS += "python3-distutils-extra-native"
+
+B = "${S}"
+
+SRC_URI[md5sum] = "750b65401c9445e185e71c808d7509a4"
+SRC_URI[sha256sum] = "58c0ea06e5f286019295545fbfd1dbca23aea74c625762bbb4c89a6f484ae839"
+
+FILES_${PN} += "${datadir}/metainfo"
+
+RDEPENDS_${PN} += "python3-pygobject"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.6.bb b/external/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.6.bb
deleted file mode 100644
index 229f882d..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.6.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Catfish is a handy file searching tool for linux and unix"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-
-inherit xfce-app distutils3 gtk-icon-cache
-
-DEPENDS += "python3-distutils-extra-native"
-
-B = "${S}"
-
-SRC_URI[md5sum] = "879197c9400be2a80d51abf494bfffb6"
-SRC_URI[sha256sum] = "e1caee14c5268ac781434701c0eb26eddfced2c0f1ae066549583ed05f99adbf"
-
-FILES_${PN} += "${datadir}/metainfo"
-
-RDEPENDS_${PN} += "python3-pygobject"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb b/external/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb
deleted file mode 100644
index c846e780..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Gigolo is a frontend to easily manage connections to remote filesystems using GIO/GVfs"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "gtk+ intltool-native xfce4-dev-tools-native"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "4abc6fde56572adf3ec3a0181092584c"
-SRC_URI[sha256sum] = "553fc78fe4e7bd2f01f3851baea7e63f6414fe652dfb4b08c60b5c4b2b909164"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.1.bb b/external/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.1.bb
new file mode 100644
index 00000000..1233fe06
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Gigolo is a frontend to easily manage connections to remote filesystems using GIO/GVfs"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "gtk+3 intltool-native xfce4-dev-tools-native"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "94e89ad3fabba7167760004b64062f4a"
+SRC_URI[sha256sum] = "ca87badb5871e4844579704704ea9e5ede444f710a3b264c12b60b2a0e48e14e"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb b/external/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb
deleted file mode 100644
index b0e4784f..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "An advanced menu editor"
-HOMEPAGE = "https://launchpad.net/menulibre"
-SECTION = "x11/graphics"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = " \
- python3-distutils-extra-native \
- intltool-native \
-"
-
-inherit distutils3 gtk-icon-cache distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "https://launchpad.net/menulibre/2.2/${PV}/+download/${PN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "9690848dbf9196c3f7baa574e90378d8"
-SRC_URI[sha256sum] = "546fec87f451c8f5c220d02b1f36dd850f4ce9ab607f8e9711ed8f2009e349fe"
-
-do_compile() {
-}
-
-do_install_append() {
- sed -i 's:${D}::g' ${D}${datadir}/applications/menulibre.desktop
- sed -i 's:share/share:share:g' ${D}${PYTHON_SITEPACKAGES_DIR}/menulibre_lib/menulibreconfig.py
-}
-
-FILES_${PN} += " \
- ${datadir}/applications \
- ${datadir}/menulibre \
- ${datadir}/icons \
-"
-
-RDEPENDS_${PN} += " \
- gtk+3 \
- gtksourceview3 \
- python3-pygobject \
- gnome-menus3 \
- python3-unixadmin \
- python3-psutil \
-"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.1.bb b/external/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.1.bb
new file mode 100644
index 00000000..f1d9c04b
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.1.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "An advanced menu editor"
+HOMEPAGE = "https://launchpad.net/menulibre"
+SECTION = "x11/graphics"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = " \
+ python3-distutils-extra-native \
+ intltool-native \
+"
+
+inherit distutils3 gtk-icon-cache features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://launchpad.net/menulibre/2.2/${PV}/+download/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "8460ea844a5998c5f722bccb5ce8627a"
+SRC_URI[sha256sum] = "5b3ef8e6073d584f6accf282fa1eb649185ee42eb22fab70231491c7377d7e8f"
+
+do_compile() {
+}
+
+do_install_append() {
+ sed -i 's:${D}::g' ${D}${datadir}/applications/menulibre.desktop
+ sed -i 's:share/share:share:g' ${D}${PYTHON_SITEPACKAGES_DIR}/menulibre_lib/menulibreconfig.py
+}
+
+FILES_${PN} += " \
+ ${datadir}/applications \
+ ${datadir}/menulibre \
+ ${datadir}/icons \
+"
+
+RDEPENDS_${PN} += " \
+ gtk+3 \
+ gtksourceview3 \
+ python3-pygobject \
+ gnome-menus3 \
+ python3-unixadmin \
+ python3-psutil \
+"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.1.bb b/external/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.1.bb
deleted file mode 100644
index d122bfe3..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A simple text editor for Xfce"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-# intltool to provide intltool.m4 with AC_PROG_INTLTOOL
-# xfce4-dev-tools-native for XDT_I18N macro and more importantly XDT_CHECK_OPTIONAL_PACKAGE
-# which fixes mousepad/Makefile.am:72: error: HAVE_DBUS does not appear in AM_CONDITIONAL
-DEPENDS = "gtk+ dbus dbus-glib gtksourceview2 intltool-native xfce4-dev-tools-native"
-
-inherit xfce-app gsettings
-
-SRC_URI[md5sum] = "fb85c23bcb096a46aee9ec22b4e4fdf5"
-SRC_URI[sha256sum] = "39a7379b929d964665299c385b2cf705e32e8760698ccc34f91c990bb733518b"
-
-# we have no gtksourceview 3.x around
-EXTRA_OECONF = "--disable-gtk3"
-
-FILES_${PN} += "${datadir}/glib-2.0/schemas"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.2.bb b/external/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.2.bb
new file mode 100644
index 00000000..29038ac1
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A simple text editor for Xfce"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "gtk+3 gtksourceview3 xfconf xfce4-dev-tools-native"
+
+inherit xfce-app gsettings mime-xdg
+
+SRC_URI[md5sum] = "98d908842d4a93c35756a67d681c08fe"
+SRC_URI[sha256sum] = "84c02adfca7f8b33b9466a306ded72fb9f38f93c9edb78660343854c4a3aded7"
+
+FILES_${PN} += " \
+ ${datadir}/glib-2.0/schemas \
+ ${datadir}/polkit-1 \
+"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/orage/orage/0001-drop-setting-is_utc-member-of-icaltimetype.patch b/external/meta-openembedded/meta-xfce/recipes-apps/orage/orage/0001-drop-setting-is_utc-member-of-icaltimetype.patch
new file mode 100644
index 00000000..517de5f9
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/orage/orage/0001-drop-setting-is_utc-member-of-icaltimetype.patch
@@ -0,0 +1,77 @@
+From 5bdf11fe3638d279edcad911906f801751e024da Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Jul 2019 14:22:08 -0700
+Subject: [PATCH] drop setting is_utc member of icaltimetype
+
+This seems to be gone in libical3
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/ical-code.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/src/ical-code.c b/src/ical-code.c
+index d583140..d8e5543 100644
+--- a/src/ical-code.c
++++ b/src/ical-code.c
+@@ -129,7 +129,6 @@ static struct icaltimetype ical_get_current_local_time()
+ && (strcmp(g_par.local_timezone, "floating") != 0))
+ ctime = icaltime_current_time_with_zone(local_icaltimezone);
+ else { / * use floating time * /
+- ctime.is_utc = 0;
+ ctime.is_date = 0;
+ ctime.is_daylight = 0;
+ ctime.zone = NULL;
+@@ -2579,7 +2578,6 @@ static struct icaltimetype count_first_alarm_time(xfical_period per
+ * when counting alarm time. */
+ if (rel == ICAL_RELATED_START) {
+ per.stime.is_date = 0;
+- per.stime.is_utc = 1;
+ per.stime.is_daylight = 0;
+ per.stime.zone = utc_icaltimezone;
+ per.stime.hour = 0;
+@@ -2588,7 +2586,6 @@ static struct icaltimetype count_first_alarm_time(xfical_period per
+ }
+ else {
+ per.etime.is_date = 0;
+- per.etime.is_utc = 1;
+ per.etime.is_daylight = 0;
+ per.etime.zone = utc_icaltimezone;
+ per.etime.hour = 0;
+@@ -2613,7 +2610,6 @@ static struct icaltimetype count_next_alarm_time(struct icaltimetype start_time
+ /* HACK: convert to UTC time so that we can use time arithmetic
+ * when counting alarm time. */
+ start_time.is_date = 0;
+- start_time.is_utc = 1;
+ start_time.is_daylight = 0;
+ start_time.zone = utc_icaltimezone;
+ start_time.hour = 0;
+@@ -2768,7 +2764,6 @@ static alarm_struct *process_alarm_trigger(icalcomponent *c
+ */
+ if (icaltime_is_date(per.stime)) {
+ if (local_icaltimezone != utc_icaltimezone) {
+- next_alarm_time.is_utc = 0;
+ next_alarm_time.is_daylight = 0;
+ next_alarm_time.zone = local_icaltimezone;
+ }
+@@ -2850,7 +2845,6 @@ orage_message(120, P_N "Alarm rec loop next_start:%s next_alarm:%s per.stime:%s"
+ */
+ if (icaltime_is_date(per.stime)) {
+ if (local_icaltimezone != utc_icaltimezone) {
+- next_alarm_time.is_utc = 0;
+ next_alarm_time.is_daylight = 0;
+ next_alarm_time.zone = local_icaltimezone;
+ }
+@@ -2944,7 +2938,6 @@ orage_message(120, P_N "*****After loop Alarm %s %s", icaltime_as_ical_string(ne
+ */
+ if (icaltime_is_date(per.stime)) {
+ if (local_icaltimezone != utc_icaltimezone) {
+- next_alarm_time.is_utc = 0;
+ next_alarm_time.is_daylight = 0;
+ next_alarm_time.zone = local_icaltimezone;
+ }
+--
+2.22.0
+
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb b/external/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb
index eb9da2df..ae818023 100644
--- a/external/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb
@@ -4,7 +4,9 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
DEPENDS = "gtk+ xfce4-panel libical popt"
-inherit xfce-app
+inherit xfce-app mime-xdg
+
+SRC_URI += "file://0001-drop-setting-is_utc-member-of-icaltimetype.patch"
SRC_URI[md5sum] = "2b7f5d38cb5c6edbcc65d0f52a742e46"
SRC_URI[sha256sum] = "3cf9aa441ae83c8688865f82217025cdf3ebaa152cce4571777b8c2aa8dd9062"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/files/0001-Fix-build-after-update-of-xfconf.patch b/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/files/0001-Fix-build-after-update-of-xfconf.patch
deleted file mode 100644
index 5cdc8c72..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/files/0001-Fix-build-after-update-of-xfconf.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 2b6bdb860ef53975c7e866f393b61d253c00754d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 22 Jan 2018 15:52:09 +0100
-Subject: [PATCH] Fix build after update of xfconf
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-xfconf stopped using dbus-glib so required flags must be included here
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- src/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 36a31dc..3dd56bc 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -30,6 +30,7 @@ ristretto_CFLAGS = \
- $(GIO_UNIX_CFLAGS) \
- $(LIBEXIF_CFLAGS) \
- $(XFCONF_CFLAGS) \
-+ $(DBUS_GLIB_CFLAGS) \
- $(EXO_CFLAGS) \
- $(CAIRO_CFLAGS) \
- $(LIBXFCE4UTIL_CFLAGS) \
-@@ -48,6 +49,7 @@ ristretto_LDADD = \
- $(GIO_UNIX_LIBS) \
- $(LIBEXIF_LIBS) \
- $(XFCONF_LIBS) \
-+ $(DBUS_GLIB_LIBS) \
- $(EXO_LIBS) \
- $(CAIRO_LIBS) \
- $(LIBXFCE4UTIL_LIBS) \
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.10.0.bb b/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.10.0.bb
new file mode 100644
index 00000000..fbca96f6
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.10.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Tiny image-viewer"
+HOMEPAGE = "https://docs.xfce.org/apps/ristretto/start"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=35d145429ad3cbf5308d1dc93f66376b"
+
+DEPENDS = "exo libexif libxfce4ui libxfce4util xfconf cairo file"
+
+inherit xfce-app mime-xdg
+
+RRECOMMENDS_${PN} += "tumbler"
+
+SRC_URI[md5sum] = "4249e14fba78728481d89ce61a8771fc"
+SRC_URI[sha256sum] = "16225dd74245eb6e0f82b9c72c6112f161bb8d8b11f3fc77277b7bc3432d4769"
+
+FILES_${PN} += "${datadir}/metainfo"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.3.bb b/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.3.bb
deleted file mode 100644
index d9b9b2cb..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.3.bb
+++ /dev/null
@@ -1,16 +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 file"
-
-inherit xfce-app
-
-RRECOMMENDS_${PN} += "tumbler"
-
-SRC_URI[md5sum] = "5866b4e11c32a38f72bc737239102544"
-SRC_URI[sha256sum] = "8c9c11760816dfd9ed57fb8b9df86c6a98a2604ab551be3133996a1c32ca2665"
-SRC_URI += "file://0001-Fix-build-after-update-of-xfconf.patch"
-
-FILES_${PN} += "${datadir}/appdata"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
index a27c8f55..64582f28 100644
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
@@ -5,22 +5,29 @@ SECTION = "x11"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ glib-2.0 xfce4-dev-tools-native intltool-native"
+DEPENDS = "gtk+3 glib-2.0 xfce4-dev-tools-native intltool-native"
-SRC_URI = "git://github.com/schnitzeltony/xarchiver.git;branch=master"
-SRCREV = "5a26dd8ceab0af71b30c83286d7c7398a858c814"
-PV = "0.5.3"
+SRC_URI = "git://github.com/ib/xarchiver.git"
+SRCREV = "9ab958a4023b62b43972c55a3143ff0722bd88a6"
+PV = "0.5.4.14"
S = "${WORKDIR}/git"
-inherit xfce-git gettext pkgconfig autotools gtk-icon-cache distro_features_check
+inherit gettext pkgconfig autotools gtk-icon-cache features_check mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
# install tap files for thunar-archive-plugin in ${libdir}/thunar-archive-plugin
EXTRA_OECONF += "--libexecdir=${libdir}"
-EXTRA_OECONF += "--enable-maintainer-mode"
+EXTRA_OECONF += " \
+ --enable-maintainer-mode \
+ --disable-doc \
+"
+
+do_configure_prepend() {
+ touch ${S}/NEWS ${S}/AUTHORS
+}
FILES_${PN} += "${libdir}/thunar-archive-plugin"
-RRECOMMENDS_${PN} = "lzop zip tar bzip2 unzip xz"
+RRECOMMENDS_${PN} = "lzop zip tar bzip2 unzip xz p7zip"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/files/0001-fix-Name-Comment-fields.patch b/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/files/0001-fix-Name-Comment-fields.patch
deleted file mode 100644
index e872249d..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/files/0001-fix-Name-Comment-fields.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From fb1f83c04dd5262897b09e60fa8b39090d0d4619 Mon Sep 17 00:00:00 2001
-From: Rex Dieter <rdieter@math.unl.edu>
-Date: Thu, 12 Nov 2015 13:53:03 -0600
-Subject: [PATCH] fix Name/Comment fields
-
-Validate as a valid .desktop file per
-http://standards.freedesktop.org/desktop-entry-spec/latest/
-
-See also issue #2
-
-Upstream-Status: Applied [1]
-
-[1] https://github.com/ncopa/xfce-polkit/commit/fb1f83c04dd5262897b09e60fa8b39090d0d4619
----
- xfce-polkit.desktop.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/xfce-polkit.desktop.in b/xfce-polkit.desktop.in
-index 8575896..dd9f09c 100644
---- a/xfce-polkit.desktop.in
-+++ b/xfce-polkit.desktop.in
-@@ -1,7 +1,7 @@
- [Desktop Entry]
- Type=Application
--_Name=XFCE PolKit
--_Comment=Policykit Authentication Agent
-+Name=XFCE PolKit
-+Comment=Policykit Authentication Agent
- Exec=@xfce_polkit_libexecdir@/xfce-polkit
- Icon=gtk-dialog-authentication
- NotShowIn=GNOME;KDE;
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb
deleted file mode 100644
index 54bf7c75..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "A simple PolicyKit authentication agent for XFCE"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=758b03f872a88c99fc36d50c5932091c"
-
-DEPENDS = "libxfce4ui polkit"
-
-inherit xfce-app
-
-SRC_URI = " \
- git://github.com/ncopa/${BPN}.git \
- file://0001-fix-Name-Comment-fields.patch \
-"
-SRCREV = "6ad1ee833c9e22e4dd72a8f7d54562d046965283"
-S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.3.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.3.bb
new file mode 100644
index 00000000..2ef81f28
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.3.bb
@@ -0,0 +1,14 @@
+SUMMARY = "A simple PolicyKit authentication agent for XFCE"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=758b03f872a88c99fc36d50c5932091c"
+
+DEPENDS = "libxfce4ui polkit"
+
+inherit xfce-app features_check
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+SRC_URI = " \
+ git://github.com/ncopa/${BPN}.git \
+"
+SRCREV = "6d3282cc1734c305850d48f5bf4b4d94e88885e9"
+S = "${WORKDIR}/git"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/files/fix-inner-dependency.patch b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/files/fix-inner-dependency.patch
new file mode 100644
index 00000000..9cccb892
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/files/fix-inner-dependency.patch
@@ -0,0 +1,28 @@
+It fails to compile xfce4-datetime-setter occasionally when system load is high:
+
+| ../git/xfce/main.c:42:10: fatal error: cc-datetime-resources.h: No such file or directory
+| 42 | #include "cc-datetime-resources.h"
+| | ^~~~~~~~~~~~~~~~~~~~~~~~~
+| compilation terminated.
+
+Update datetime_panel_dep to make sure cc-datetime-resources.h be generated
+before including.
+
+Upstream-Status: Submitted [https://github.com/schnitzeltony/xfce4-datetime-setter/pull/2]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/panels/datetime/meson.build b/panels/datetime/meson.build
+index c5bf39c..241e177 100644
+--- a/panels/datetime/meson.build
++++ b/panels/datetime/meson.build
+@@ -175,7 +175,8 @@ datetime_panel_lib = static_library(
+
+ datetime_panel_dep = declare_dependency(
+ include_directories: [ common_inc, include_directories('.') ],
+- link_with: datetime_panel_lib
++ link_with: datetime_panel_lib,
++ sources: resources
+ )
+
+ subdir('po-timezones')
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb
new file mode 100644
index 00000000..2dd3f01d
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A fork of (early) gnome-control-center datetime panel for XFCE. \
+It is based upon GTK3 and embedds into recent xfce4-settings."
+HOMEPAGE = "https://github.com/schnitzeltony/xfce4-datetime-setter"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+DEPENDS = "glib-2.0-native libxfce4ui"
+
+SRC_URI = "git://github.com/schnitzeltony/xfce4-datetime-setter.git;protocol=https \
+ file://fix-inner-dependency.patch \
+"
+SRCREV = "5c7a73a3824b03b91719e05e2604b97c7a72d50f"
+
+S = "${WORKDIR}/git"
+
+inherit gettext meson features_check
+
+REQUIRED_DISTRO_FEATURES = "systemd x11"
+
+FILES_${PN} += "${datadir}/icons/hicolor"
+
+RDEPENDS_${PN} = "tzdata"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/files/0001-Fix-build-after-update-of-xfconf.patch b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/files/0001-Fix-build-after-update-of-xfconf.patch
deleted file mode 100644
index 31216c03..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/files/0001-Fix-build-after-update-of-xfconf.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 6ecaeced291f935a9d41e9bc33411358c95a5e91 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 22 Jan 2018 15:35:08 +0100
-Subject: [PATCH] Fix build after update of xfconf
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-xfconf stopped using dbus-glib so required flags must be included here
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- panel-plugin/Makefile.am | 2 ++
- xfce4-mixer/Makefile.am | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/panel-plugin/Makefile.am b/panel-plugin/Makefile.am
-index a494682..b094472 100644
---- a/panel-plugin/Makefile.am
-+++ b/panel-plugin/Makefile.am
-@@ -27,6 +27,7 @@ libmixer_la_CFLAGS = \
- $(LIBXFCE4UI_CFLAGS) \
- $(LIBXFCE4PANEL_CFLAGS) \
- $(XFCONF_CFLAGS) \
-+ $(DBUS_GLIB_CFLAGS) \
- $(GST_PLUGINS_BASE_CFLAGS) \
- $(KEYBINDER_CFLAGS)
-
-@@ -48,6 +49,7 @@ libmixer_la_LIBADD = \
- $(LIBXFCE4UI_LIBS) \
- $(LIBXFCE4PANEL_LIBS) \
- $(XFCONF_LIBS) \
-+ $(DBUS_GLIB_LIBS) \
- $(GST_PLUGINS_BASE_LIBS) \
- -lgstaudio-0.10 \
- -lgstinterfaces-0.10 \
-diff --git a/xfce4-mixer/Makefile.am b/xfce4-mixer/Makefile.am
-index 4af69e9..e076fc8 100644
---- a/xfce4-mixer/Makefile.am
-+++ b/xfce4-mixer/Makefile.am
-@@ -32,6 +32,7 @@ xfce4_mixer_CFLAGS = \
- $(UNIQUE_CFLAGS) \
- $(LIBXFCE4UTIL_CFLAGS) \
- $(LIBXFCE4UI_CFLAGS) \
-+ $(DBUS_GLIB_CFLAGS) \
- $(XFCONF_CFLAGS) \
- $(GST_PLUGINS_BASE_CFLAGS)
-
-@@ -46,6 +47,7 @@ xfce4_mixer_LDFLAGS = \
- $(UNIQUE_LIBS) \
- $(LIBXFCE4UTIL_LIBS) \
- $(LIBXFCE4UI_LIBS) \
-+ $(DBUS_GLIB_LIBS) \
- $(XFCONF_LIBS) \
- $(GST_PLUGINS_BASE_LIBS) \
- -lgstaudio-0.10 \
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/xfce4-mixer_4.11.0.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/xfce4-mixer_4.11.0.bb
deleted file mode 100644
index 6c057d88..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/xfce4-mixer_4.11.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A volume control application based on GStreamer"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "glib-2.0 gst-plugins-base gtk+ xfconf libunique"
-
-SRC_URI = " \
- http://archive.xfce.org/src/apps/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2 \
- file://0001-Fix-build-after-update-of-xfconf.patch \
-"
-
-SRC_URI[md5sum] = "1b3753b91224867a3a2dfddda239c28d"
-SRC_URI[sha256sum] = "fb0c1df201ed1130f54f15b914cbe5a59286e994a137acda5609570c57112de2"
-
-RDEPENDS_${PN} = "gst-meta-audio"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.4.3.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.4.3.bb
deleted file mode 100644
index d7719051..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.4.3.bb
+++ /dev/null
@@ -1,35 +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 = " \
- dbus \
- dbus-glib \
- dbus-glib-native \
- libnotify \
- libxfce4util \
- libxfce4ui \
- xfconf \
- xfce4-panel \
-"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "4887c62dfcb4c3e4f45c9acfb3def515"
-SRC_URI[sha256sum] = "293dda084cfca4887ae740e2725fdfc64412bc10eac7a55a924eb14482dceac0"
-
-# Avoid trouble with other desktops e.g KDE which also ships dbus service named
-# org.freedesktop.Notifications
-EXTRA_OECONF = "--disable-dbus-start-daemon"
-
-do_compile_prepend() {
- mkdir -p xfce4-notifyd xfce4-notifyd-config
-}
-
-FILES_${PN} += " \
- ${systemd_user_unitdir} \
- ${datadir}/xfce4 \
- ${datadir}/themes \
- ${datadir}/dbus-1 \
- ${libdir}/xfce4 \
-"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.6.1.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.6.1.bb
new file mode 100644
index 00000000..aed5ce4d
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.6.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Easily themable notification daemon with transparency effects"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-notifyd"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = " \
+ dbus \
+ dbus-glib \
+ libnotify \
+ libxfce4util \
+ libxfce4ui \
+ xfconf \
+ xfce4-panel \
+"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "58e70621d6b9e0e66399ed41ab402a47"
+SRC_URI[sha256sum] = "9b5274999c89bf296a7de03b375e8233eef37940b7444502130b92dfb6a089b4"
+
+# Avoid trouble with other desktops e.g KDE which also ships dbus service named
+# org.freedesktop.Notifications
+EXTRA_OECONF = "--disable-dbus-start-daemon"
+
+do_compile_prepend() {
+ mkdir -p xfce4-notifyd xfce4-notifyd-config
+}
+
+FILES_${PN} += " \
+ ${systemd_user_unitdir} \
+ ${datadir}/xfce4 \
+ ${datadir}/themes \
+ ${datadir}/dbus-1 \
+ ${libdir}/xfce4 \
+"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/not-create-link-to-locale.patch b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/not-create-link-to-locale.patch
new file mode 100644
index 00000000..80cdfb90
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/not-create-link-to-locale.patch
@@ -0,0 +1,22 @@
+It is useless to create a link to $(PREFIX)/share/locale that there is no
+reference to $(PREFIX)/share/$(APPNAME)/locale in source code.
+
+Upstream-Status: Submitted [https://bugzilla.xfce.org/show_bug.cgi?id=16693]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ Makefile.in.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.in.in b/Makefile.in.in
+index c0ce866..c2f26fe 100644
+--- a/Makefile.in.in
++++ b/Makefile.in.in
+@@ -61,7 +61,6 @@ install: all xfce4-panel-profiles.1.gz
+ install data/metainfo/*.xml $(DESTDIR)/$(PREFIX)/share/metainfo
+
+ cp -rf locale $(DESTDIR)/$(PREFIX)/share
+- ln -sf $(PREFIX)/share/locale $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/locale
+
+ install -d $(DESTDIR)/$(PREFIX)/share/man/man1
+ install xfce4-panel-profiles.1.gz $(DESTDIR)/$(PREFIX)/share/man/man1
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.10.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.10.bb
new file mode 100644
index 00000000..7226b1a0
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.10.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Backup, restore, import, and export panel layouts"
+SECTION = "x11/application"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit python3native gettext features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS += "intltool-native"
+
+SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BP}.tar.bz2 \
+ file://not-create-link-to-locale.patch \
+ "
+SRC_URI[md5sum] = "6190678bc701c197babcb2389ba46182"
+SRC_URI[sha256sum] = "a84d5e748d53bc5da269954cc3ad7f5ac0c4f5813acfd3892ea6f9064f17fb68"
+
+do_configure() {
+ # special configure - no autotools...
+ ./configure --prefix=${prefix}
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+ sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles
+}
+
+FILES_${PN} += "${datadir}/metainfo"
+
+RDEPENDS_${PN} += "python3-pygobject python3-pexpect"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.8.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.8.bb
deleted file mode 100644
index 5fa2a7bc..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.8.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Backup, restore, import, and export panel layouts"
-SECTION = "x11/application"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-inherit python3native gettext distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-DEPENDS += "intltool-native"
-
-SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "bc75a143423fba3a82f114f47e86580c"
-SRC_URI[sha256sum] = "a69e20f5e637319e14898b5c13ff7ba31d001a6e38e7516d70dbfd7600ad72db"
-
-do_configure() {
- # special configure - no autotools...
- ./configure --prefix=${prefix}
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
- sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles
-}
-
-FILES_${PN} += "${datadir}/metainfo"
-
-RDEPENDS_${PN} += "python3-pygobject python3-pexpect"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch
new file mode 100644
index 00000000..f726064e
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch
@@ -0,0 +1,60 @@
+It adds '-I$includedir' to CPPFLAGS and adds '-L$libdir' to LDFLAGS in
+configure.ac which causes 'configure-unsafe' QA error. Don't add them for cross
+compile to avoid the QA issues.
+
+Upstream-Status: Inappropriate [cross compile specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+diff --git a/configure.ac b/configure.ac
+index f0ec537..05c393d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -230,9 +230,9 @@ dnl ---------------------------------------------------------------------------
+ #
+ AC_DEFUN([AC_CHECK_X_HEADER], [
+ ac_save_CPPFLAGS="$CPPFLAGS"
+- if test \! -z "$includedir" ; then
+- CPPFLAGS="$CPPFLAGS -I$includedir"
+- fi
++# if test \! -z "$includedir" ; then
++# CPPFLAGS="$CPPFLAGS -I$includedir"
++# fi
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ AC_CHECK_HEADER([$1],[$2],[$3],[$4])
+ CPPFLAGS="$ac_save_CPPFLAGS"])
+@@ -241,9 +241,9 @@ AC_DEFUN([AC_CHECK_X_HEADER], [
+ #
+ AC_DEFUN([AC_TRY_X_COMPILE], [
+ ac_save_CPPFLAGS="$CPPFLAGS"
+- if test \! -z "$includedir" ; then
+- CPPFLAGS="$CPPFLAGS -I$includedir"
+- fi
++# if test \! -z "$includedir" ; then
++# CPPFLAGS="$CPPFLAGS -I$includedir"
++# fi
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ AC_TRY_COMPILE([$1], [$2], [$3], [$4])
+ CPPFLAGS="$ac_save_CPPFLAGS"])
+@@ -257,15 +257,15 @@ AC_DEFUN([AC_CHECK_X_LIB], [
+ ac_save_LDFLAGS="$LDFLAGS"
+ # ac_save_LIBS="$LIBS"
+
+- if test \! -z "$includedir" ; then
+- CPPFLAGS="$CPPFLAGS -I$includedir"
+- fi
++# if test \! -z "$includedir" ; then
++# CPPFLAGS="$CPPFLAGS -I$includedir"
++# fi
+ # note: $X_CFLAGS includes $x_includes
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+
+- if test \! -z "$libdir" ; then
+- LDFLAGS="$LDFLAGS -L$libdir"
+- fi
++# if test \! -z "$libdir" ; then
++# LDFLAGS="$LDFLAGS -L$libdir"
++# fi
+ # note: $X_LIBS includes $x_libraries
+ LDFLAGS="$LDFLAGS $ALL_X_LIBS"
+
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch
new file mode 100644
index 00000000..94cad23f
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch
@@ -0,0 +1,14 @@
+'@include' is not a standard sysntax and not supported by oe.
+
+Upstream-Status: Submitted [https://bugzilla.xfce.org/show_bug.cgi?id=15626]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/data/xfce4-screensaver.common-auth b/data/xfce4-screensaver.common-auth
+index a9fd9ce..3bfea70 100644
+--- a/data/xfce4-screensaver.common-auth
++++ b/data/xfce4-screensaver.common-auth
+@@ -1,2 +1,2 @@
+-@include common-auth
++auth include common-auth
+ auth optional pam_gnome_keyring.so
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.10.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.10.bb
new file mode 100644
index 00000000..62f0640f
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.10.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Xfce screensaver Application"
+DESCRIPTION = "Xfce screensaver is a screen saver and locker that aims to have simple, sane, secure defaults and be well integrated with the desktop."
+HOMEPAGE = "https://git.xfce.org/apps/xfce4-screensaver/about/"
+SECTION = "x11/application"
+
+LICENSE = "GPLv2+ & LGPLv2+ "
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
+ "
+
+DEPENDS = "dbus-glib garcon gtk+3 libxklavier libxscrnsaver virtual/libx11 xfconf libwnck3"
+
+inherit xfce-app
+
+SRC_URI_append = " \
+ file://fix-cross-compile.patch \
+ file://fix-pam-config.patch \
+"
+SRC_URI[md5sum] = "1f093cde5af09e9fd9be017774e032ef"
+SRC_URI[sha256sum] = "586f1c78dd6745a20e9ce9f12d0117189d597ba7ad0c8ffcfcd25c9bb05f1d57"
+
+do_install_append() {
+ install -D -m 0644 ${S}/data/xfce4-screensaver.common-auth ${D}${sysconfdir}/pam.d/xfce4-screensaver
+}
+
+FILES_${PN} += "${datadir}/dbus-1 ${datadir}/desktop-directories"
+RDEPENDS_${PN} += "python3-core"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.3.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.3.bb
deleted file mode 100644
index c6a4cdb9..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Application to take screenshots"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-screenshooter"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
-DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+ glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "f783eb575e2015f39e1c1aae499b113f"
-SRC_URI[sha256sum] = "364ebddc4c9971b4023aa8019d4e3bd08f091b65dc98b218beb55851f69ceda2"
-
-do_compile_prepend() {
- mkdir -p lib
- mkdir -p src panel-plugin
-}
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/xfce4/panel/plugins \
- ${libdir}/xfce4/panel/plugins \
-"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.7.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.7.bb
new file mode 100644
index 00000000..a0de6300
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.7.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Application to take screenshots"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-screenshooter"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
+DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+ glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "9b63c0fa7cbde8ec4e6cacb75fc44b65"
+SRC_URI[sha256sum] = "0f7161053a23a6413376f4d17db6b774d4849384a9b1ffe01fdb2b0035a070d1"
+
+do_compile_prepend() {
+ mkdir -p lib
+ mkdir -p src panel-plugin
+}
+
+FILES_${PN} += " \
+ ${datadir}/metainfo \
+ ${datadir}/xfce4/panel/plugins \
+ ${libdir}/xfce4/panel/plugins \
+"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.1.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.1.bb
deleted file mode 100644
index 8afea1d2..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.1.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 libxmu xfce4-dev-tools-native exo-native"
-
-SRC_URI[md5sum] = "4a2d0b1e8001fb343139a97d57b56eaa"
-SRC_URI[sha256sum] = "22e523e2ee231713f40a48890d8cbae99320ac1173f7c68502f490318e1e0409"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.3.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.3.bb
new file mode 100644
index 00000000..25600948
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.3.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+3 cairo libwnck libxmu xfce4-dev-tools-native exo-native"
+
+SRC_URI[md5sum] = "202928c8ff0678a9df949d22a43f1614"
+SRC_URI[sha256sum] = "dcfc44da7c1f61d03e2c4bd1cdc8f92ce0d48b013bd0d140b3745d79b75dc3c4"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.4.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.4.bb
deleted file mode 100644
index 7fc638e4..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Terminal emulator for the Xfce desktop environment"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui"
-
-inherit xfce-app
-
-FILES_${PN} += "${datadir}/xfce4 \
- ${datadir}/gnome-control-center"
-
-SRC_URI[md5sum] = "c861540dd1dd05f56e62382b3851cf66"
-SRC_URI[sha256sum] = "a88f98af4da72394f2cfbd7f14b0f053ec0a3b58a4f6a577836357c60a6c42ab"
diff --git a/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.9.2.bb b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.9.2.bb
new file mode 100644
index 00000000..ba0f1277
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.9.2.bb
@@ -0,0 +1,14 @@
+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] = "d0308313def5d7cc51070a6db1cf24dc"
+SRC_URI[sha256sum] = "9ba23bf86d350ef8a95d2dfb50bbd1bbb2144d82985a779ec28caf47faaeeeeb"
+
+RRECOMMENDS_${PN} += "vte-prompt"
diff --git a/external/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb b/external/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb
index df0ed50c..5ff48568 100644
--- a/external/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb
@@ -27,5 +27,7 @@ python populate_packages_prepend () {
do_split_packages(d, icondir, '^(.*)', '%s', 'Open Zone cursors %s', allow_dirs=True)
}
+FILES_${PN} += "${datadir}/icons"
+
PACKAGES_DYNAMIC += "^openzone-.*"
ALLOW_EMPTY_${PN} = "1"
diff --git a/external/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb b/external/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb
index b05c7485..89dab492 100644
--- a/external/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8f0e2cd40e05189ec81232da84bd6e1a"
inherit allarch
-SRC_URI = "http://xfce-look.org/CONTENT/content-files/141404-xfce_dusk_gtk3-1_3.tar.gz;subdir=${BPN}-${PV}"
+SRC_URI = "http://sources.openembedded.org/141404-xfce_dusk_gtk3-1_3.tar.gz;subdir=${BPN}-${PV}"
SRC_URI[md5sum] = "b3ad37ad8173b14ec090e60a80e65d8f"
SRC_URI[sha256sum] = "bfa8a88607d1a1da5bd0b9e4e075767c54400a3c5a0fae88b619ed71532f30b4"
diff --git a/external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala/0001-configure.ac-Detect-vapidir-if-not-set-explicitly.patch b/external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala/0001-configure.ac-Detect-vapidir-if-not-set-explicitly.patch
new file mode 100644
index 00000000..a3a9330e
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala/0001-configure.ac-Detect-vapidir-if-not-set-explicitly.patch
@@ -0,0 +1,31 @@
+From 35267d995a81263b98f0ad56399ac3e30f9cf152 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 30 Apr 2019 09:48:08 +0200
+Subject: [PATCH] configure.ac: Detect vala-api version if not set explicitly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9bf4230..c489385 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -38,7 +38,7 @@ AC_ARG_WITH([vala-api],
+ AC_HELP_STRING([--with-vala-api=VERSION],
+ [Use Vala API version VERSION]),
+ [vala_api=$withval],
+- [vala_api='0.16'])
++ [vala_api=`$PKG_CONFIG --variable=vapidir_versioned vapigen | sed -e 's:.*vala-::' -e s:/vapi::`])
+ M8T_CHECK_VALA([$vala_api])
+ AC_ARG_WITH([default-vapidir],
+ AC_HELP_STRING([--with-default-vapidir],
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb b/external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
index 97007bec..2f5d820f 100644
--- a/external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
@@ -3,16 +3,17 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
DEPENDS = "libxfce4util garcon xfconf libxfce4ui xfce4-panel exo vala xfce4-dev-tools-native"
-inherit xfce pkgconfig distro_features_check
+inherit xfce pkgconfig features_check
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI = "http://archive.xfce.org/src/bindings/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2"
+SRC_URI = " \
+ http://archive.xfce.org/src/bindings/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2 \
+ file://0001-configure.ac-Detect-vapidir-if-not-set-explicitly.patch \
+"
SRC_URI[md5sum] = "0bbb1d6e473e0fe9b335b7b1b49d8a71"
SRC_URI[sha256sum] = "07a8f2b7c09fcdd3d86e0c52adea3c58ca011d0142a93997a01b4af77260ae7b"
-EXTRA_OECONF = "-with-vala-api=0.42"
-
FILES_${PN} += "${datadir}/vala-*/vapi"
RDEPENDS_${PN} = "vala"
diff --git a/external/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend b/external/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend
deleted file mode 100644
index c4752237..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-PACKAGECONFIG_append = " thunar"
diff --git a/external/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb b/external/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb
index 21930ba1..8009acdd 100644
--- a/external/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb
@@ -6,7 +6,7 @@ IMAGE_INSTALL = "packagegroup-core-boot \
kernel-modules \
"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES = "x11"
IMAGE_LINGUAS ?= " "
diff --git a/external/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb b/external/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb
deleted file mode 100644
index 8f622bf6..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Delivery framework for general Input Method configuration"
-DESCRIPTION = "IMSettings is a framework that delivers Input Method \
-settings and applies the changes so they take effect \
-immediately without any need to restart applications \
-or the desktop. \
-This package contains the core DBus services and some utilities."
-HOMEPAGE = "http://code.google.com/p/imsettings/"
-SECTION = "Applications/System"
-
-inherit autotools gtk-doc gobject-introspection distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \
- "
-
-SRC_URI[md5sum] = "c6c65a2b2654fe9dfe9ab2e8b80c079a"
-SRC_URI[sha256sum] = "196d3a74cef254ff812c32682d1818d740e36a68b976fef9e99748d23a71a71a"
-
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \
- --disable-static \
- "
-
-DEPENDS = "gtk+ gconf libnotify dbus-glib libgxim xfconf intltool-native"
-
-RDEPENDS_${PN} += "bash"
-
-FILES_${PN} += "${datadir}/dbus-1/* ${datadir}/gir-1.0/* ${libdir}/girepository-1.0/*"
diff --git a/external/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.8.1.bb b/external/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.8.1.bb
new file mode 100644
index 00000000..c8f495ed
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.8.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Delivery framework for general Input Method configuration"
+DESCRIPTION = "IMSettings is a framework that delivers Input Method \
+settings and applies the changes so they take effect \
+immediately without any need to restart applications \
+or the desktop. \
+This package contains the core DBus services and some utilities."
+HOMEPAGE = "http://code.google.com/p/imsettings/"
+SECTION = "Applications/System"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+inherit autotools gtk-doc gobject-introspection gettext features_check
+
+DEPENDS = "gtk+3 libnotify"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "c04341a008d8c60e1532f033f4020f44"
+SRC_URI[sha256sum] = "ebf578299a10c6a1fea9047be6577df6d2b6470d3cc9d40f8a6589a3c13c4c8b"
+
+EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \
+ --disable-static \
+ "
+
+PACKAGECONFIG ??= "xfce"
+PACKAGECONFIG[xfce] = ",,xfconf"
+PACKAGECONFIG[xim] = ",,libgxim"
+
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN} += "${datadir}/dbus-1/*"
diff --git a/external/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique_1.1.6.bb b/external/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique_1.1.6.bb
index a6475cef..a6d335a2 100644
--- a/external/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique_1.1.6.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique_1.1.6.bb
@@ -25,7 +25,7 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-inherit autotools pkgconfig gobject-introspection distro_features_check gtk-doc
+inherit autotools pkgconfig gobject-introspection features_check gtk-doc
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/external/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb b/external/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
index 19a6e2b0..c30c7990 100644
--- a/external/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
@@ -1,6 +1,4 @@
SUMMARY = "All packages multimedia packages available for XFCE"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit packagegroup
diff --git a/external/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.1.bb b/external/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.1.bb
deleted file mode 100644
index 2b4e9749..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-DESCRIPTION = "Parole is a modern simple media player based on the GStreamer framework"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/parole"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-app gtk-doc mime
-
-DEPENDS += " \
- glib-2.0 \
- dbus-glib \
- gtk+3 \
- \
- xfce4-dev-tools-native \
- libxfce4util \
- libxfce4ui \
- xfconf \
- \
- gstreamer1.0-plugins-base \
- taglib \
-"
-
-SRC_URI[md5sum] = "46fe86bbe0c4aa02c53244d66e62e90c"
-SRC_URI[sha256sum] = "8ad2931fdb35415cc3d7551b5f2207bfaa1aba15545accbacbb4984cdabd7099"
-
-RDEPENDS_${PN} += "gstreamer1.0-plugins-good"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-PACKAGECONFIG ??= "notify"
-PACKAGECONFIG[clutter] = "--enable-clutter, --disable-clutter, clutter"
-PACKAGECONFIG[notify] = "--enable-notify-plugin, --disable-notify-plugin, libnotify"
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${libdir}/parole-0/*.so \
-"
-
-FILES_${PN}-dev += "${libdir}/parole-0/*.la"
diff --git a/external/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.5.bb b/external/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.5.bb
new file mode 100644
index 00000000..f55b1945
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.5.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Parole is a modern simple media player based on the GStreamer framework"
+HOMEPAGE = "https://docs.xfce.org/apps/parole/start"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-app gtk-doc mime mime-xdg
+
+DEPENDS += " \
+ dbus-glib \
+ xfce4-dev-tools-native \
+ libxfce4util \
+ libxfce4ui \
+ xfconf \
+ \
+ gstreamer1.0-plugins-base \
+ taglib \
+"
+
+SRC_URI[md5sum] = "74fcde5da018c011e5febd9649817c05"
+SRC_URI[sha256sum] = "1adb4bd96c4cc4b4a79eeafe1316e170f506426e3737e8ba8898f7ea6bec572a"
+
+RDEPENDS_${PN} += "gstreamer1.0-plugins-good"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+PACKAGECONFIG ??= "notify"
+PACKAGECONFIG[clutter] = "--enable-clutter, --disable-clutter, clutter"
+PACKAGECONFIG[notify] = "--enable-notify-plugin, --disable-notify-plugin, libnotify"
+
+FILES_${PN} += " \
+ ${datadir}/metainfo \
+ ${libdir}/parole-0/*.so \
+"
diff --git a/external/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb b/external/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb
deleted file mode 100644
index 9f501f79..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb
+++ /dev/null
@@ -1,18 +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"
-
-# While this item does not require it, it depends on mpd which does
-LICENSE_FLAGS = "commercial"
-
-# for now we recommend our own mpd-server
-RRECOMMENDS_${PN} = "mpd"
-
-SRC_URI[md5sum] = "13d5d95ef0c305bac45fde6231258e5d"
-SRC_URI[sha256sum] = "f1320916ae3112e6825699652a502cebfa78bb006c649b42d3d331dfe57b6cb0"
diff --git a/external/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb b/external/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb
new file mode 100644
index 00000000..9d031dd5
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Simple client plugin for Music Player Daemon"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-mpc-plugin"
+SECTION = "x11/application"
+LICENSE = "BSD-0-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3604d987e6dfdfc672c754d08953b0e0"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "libmpd"
+
+# While this item does not require it, it depends on mpd which does
+LICENSE_FLAGS = "commercial"
+
+# for now we recommend our own mpd-server
+RRECOMMENDS_${PN} = "mpd"
+
+SRC_URI[md5sum] = "26a1e8658df2b51967dc2250e23f467d"
+SRC_URI[sha256sum] = "eefe78b7b6b95312b3a52814b7f632dc92970c1b3e9535de616315749bf67760"
diff --git a/external/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb b/external/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb
deleted file mode 100644
index 869435d6..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb
+++ /dev/null
@@ -1,16 +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"
-
-# While this item does not require it, it depends on mpd which does
-LICENSE_FLAGS = "commercial"
-
-# for now we recommend our own mpd-server
-RRECOMMENDS_${PN} = "mpd"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "e2d2faeb7a6f62813e287f3d12522b71"
-SRC_URI[sha256sum] = "4189c0c82b66b758a6d5bc651493b675d3d46329e5f1a76ff26c448125f4fcb0"
diff --git a/external/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb b/external/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb
new file mode 100644
index 00000000..0f5ed895
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Music Player Daemon (MPD) client written in GTK+"
+HOMEPAGE = "https://goodies.xfce.org/projects/applications/xfmpc"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "libxfce4util libxfce4ui libmpd vala-native"
+
+# While this item does not require it, it depends on mpd which does
+LICENSE_FLAGS = "commercial"
+
+# for now we recommend our own mpd-server
+RRECOMMENDS_${PN} = "mpd"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "e6ff8563f159d1e727d656fb88964998"
+SRC_URI[sha256sum] = "c76e2a88dc3e1d345da7a5c68fa39981494c2b40033748efcac54411c9e65689"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.1.bb
deleted file mode 100644
index af7c65aa..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.1.bb
+++ /dev/null
@@ -1,9 +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[md5sum] = "26941c579ebf4143b7e49aa08ee9b30a"
-SRC_URI[sha256sum] = "1e94969b93e0c1d6da87364b64c0cdfb40bae5e4a055039be8b67b9e5b3dd44b"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb
new file mode 100644
index 00000000..ecbdc265
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A battery monitor panel plugin for Xfce4, compatible with APM and ACP"
+HOMEPAGE = "https://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] = "9f82c7e77de0a417716d68d33367973b"
+SRC_URI[sha256sum] = "12be0a44d16bd1e1618513ee64f946814925872db7d1c1188ab1454b00d040a3"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb
deleted file mode 100644
index de0d0a06..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "A calculator plugin for the Xfce panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-calculator-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=909430f63fddd63f120ba29e8979f65c"
-
-inherit xfce-panel-plugin gtk-icon-cache
-
-SRC_URI[md5sum] = "1b956a89693d039a61b4725cefb23a4d"
-SRC_URI[sha256sum] = "eb51765580ea4650f9cf062382a820fb6483ee5dbe003aeb6f063929e299f9c2"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.0.bb
new file mode 100644
index 00000000..1216456b
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A calculator plugin for the Xfce panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-calculator-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=909430f63fddd63f120ba29e8979f65c"
+
+inherit xfce-panel-plugin gtk-icon-cache
+
+SRC_URI[md5sum] = "1ae192a69834ee2f51f34a0a981181f4"
+SRC_URI[sha256sum] = "7b50ab947ab058e1c079113e7f0f8b38ef242fec36ec9f31bb4e3c19cb3f9de9"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.3.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.3.bb
deleted file mode 100644
index a1ac0572..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.3.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 xorgproto libxtst"
-
-SRC_URI[md5sum] = "fa0acd5f5e3298e56ebd47d2944cd02b"
-SRC_URI[sha256sum] = "29cdb85efb54bd5c9c04cc695b7c4914d6dff972b9fd969cbfb5504e9c632ad2"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[qrencode] = "--enable-libqrencode,--disable-libqrencode,qrencode"
-
-FILES_${PN} += "${datadir}/appdata"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.1.bb
new file mode 100644
index 00000000..f2a145f5
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.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 xorgproto libxtst"
+
+SRC_URI[md5sum] = "c9306940c0ca7abd838a14c9d19b3a7e"
+SRC_URI[sha256sum] = "b3e8317796289196fa78c4526626fe061fd35d11e848cf300ca1ace47febceb4"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[qrencode] = "--enable-libqrencode,--disable-libqrencode,qrencode"
+
+FILES_${PN} += "${datadir}/appdata"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/closebutton/xfce4-closebutton-plugin_git.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/closebutton/xfce4-closebutton-plugin_git.bb
index 3cd4ee65..8dfb2e62 100644
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/closebutton/xfce4-closebutton-plugin_git.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/closebutton/xfce4-closebutton-plugin_git.bb
@@ -5,12 +5,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f"
inherit xfce-panel-plugin xfce-git gtk-icon-cache perlnative
-DEPENDS += "exo-native libwnck xfconf"
+DEPENDS += "exo-native libwnck3 xfconf"
PV = "0.1.0+gitr${SRCPV}"
SRC_URI = "git://github.com/schnitzeltony/xfce4-closebutton-plugin.git;branch=master"
-SRCREV = "02b74f13ad6f639234c8db1854963038b2780a2c"
+SRCREV = "6ed5c3ee1ba7103ca854c5e81fb2c1220b913a40"
S = "${WORKDIR}/git"
EXTRA_OECONF += "--enable-maintainer-mode"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch
new file mode 100644
index 00000000..92a6e838
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch
@@ -0,0 +1,121 @@
+From f86486e128f62ed5a531163535d11f0aa0268928 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 5 May 2019 20:45:26 +0200
+Subject: [PATCH] Fix memory-leak and reduce cpu-load slightly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* when setting font remove old css provider befor setting new
+ -> fix memory leak
+* do call cpufreq_label_set_font only on init and when font was changed
+ -> reduce cpu-load
+
+Fixes https://bugzilla.xfce.org/show_bug.cgi?id=15218
+
+Upstream-Status: Submitted [1]
+
+[1] https://bugzilla.xfce.org/attachment.cgi?id=8492
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ panel-plugin/xfce4-cpufreq-configure.c | 4 ++++
+ panel-plugin/xfce4-cpufreq-plugin.c | 13 +++++++++++--
+ panel-plugin/xfce4-cpufreq-plugin.h | 2 ++
+ 3 files changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/panel-plugin/xfce4-cpufreq-configure.c b/panel-plugin/xfce4-cpufreq-configure.c
+index 1205fc9..48e72ff 100644
+--- a/panel-plugin/xfce4-cpufreq-configure.c
++++ b/panel-plugin/xfce4-cpufreq-configure.c
+@@ -85,7 +85,10 @@ button_fontname_update(GtkWidget *button, gboolean update_plugin)
+ }
+
+ if (update_plugin)
++ {
++ cpufreq_label_set_font ();
+ cpufreq_update_plugin (TRUE);
++ }
+ }
+
+
+@@ -155,6 +158,7 @@ button_fontcolor_clicked (GtkWidget *button, void *data)
+ gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), color);
+ cpuFreq->options->fontcolor = gdk_rgba_to_string (color);
+ g_free (color);
++ cpufreq_label_set_font ();
+ cpufreq_update_plugin (TRUE);
+ }
+
+diff --git a/panel-plugin/xfce4-cpufreq-plugin.c b/panel-plugin/xfce4-cpufreq-plugin.c
+index e886121..8d7c9e5 100644
+--- a/panel-plugin/xfce4-cpufreq-plugin.c
++++ b/panel-plugin/xfce4-cpufreq-plugin.c
+@@ -44,6 +44,7 @@ cpufreq_label_set_font (void)
+ {
+ gchar *css = NULL, *css_font = NULL, *css_color = NULL;
+ GtkCssProvider *provider;
++ GtkStyleContext *context;
+ PangoFontDescription *font;
+
+ if (G_UNLIKELY (cpuFreq->label == NULL))
+@@ -76,11 +77,17 @@ cpufreq_label_set_font (void)
+ if (css)
+ {
+ provider = gtk_css_provider_new ();
++ context = GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (cpuFreq->label)));
++
++ if (currentProvider)
++ gtk_style_context_remove_provider (context, currentProvider);
+
+ gtk_css_provider_load_from_data (provider, css, -1, NULL);
+ gtk_style_context_add_provider (
+- GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (cpuFreq->label))),
++ context,
+ GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
++
++ currentProvider = provider;
+ }
+
+ g_free (css);
+@@ -420,7 +427,6 @@ cpufreq_update_plugin (gboolean reset_label_size)
+
+ if (cpuFreq->layout_changed)
+ {
+- cpufreq_label_set_font ();
+ cpufreq_widgets_layout ();
+ }
+
+@@ -601,6 +607,7 @@ cpufreq_widgets (void)
+
+ gtk_widget_show_all (cpuFreq->button);
+
++ cpufreq_label_set_font ();
+ cpufreq_update_plugin (TRUE);
+ }
+
+@@ -775,6 +782,8 @@ cpufreq_construct (XfcePanelPlugin *plugin)
+ {
+ xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
+
++ currentProvider = NULL;
++
+ cpuFreq = g_new0 (CpuFreqPlugin, 1);
+ cpuFreq->options = g_new0 (CpuFreqPluginOptions, 1);
+ cpuFreq->plugin = plugin;
+diff --git a/panel-plugin/xfce4-cpufreq-plugin.h b/panel-plugin/xfce4-cpufreq-plugin.h
+index a6895e4..6338698 100644
+--- a/panel-plugin/xfce4-cpufreq-plugin.h
++++ b/panel-plugin/xfce4-cpufreq-plugin.h
+@@ -95,6 +95,8 @@ typedef struct
+
+ CpuFreqPlugin *cpuFreq;
+
++GtkCssProvider *currentProvider;
++
+ G_BEGIN_DECLS
+
+ void
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.1.bb
index 3f5587d8..6addc3b6 100644
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.1.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.1.bb
@@ -7,3 +7,4 @@ inherit xfce-panel-plugin
SRC_URI[md5sum] = "ccd8f0f7aef51bc4caf1049986d9614f"
SRC_URI[sha256sum] = "c5e044c0dc401d2066f208a3df82a588b3e51ff01425f155d0a1d0f8fce8f5b5"
+SRC_URI += "file://0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.0.5.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.0.5.bb
deleted file mode 100644
index 83e2bb5c..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.0.5.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin with graphical representation of the cpu frequency"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpugraph-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=415654f59d8fa70fe4eac2c3f86c8f5e"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "f0ebfabb273adf69361b37a3fa4b7912"
-SRC_URI[sha256sum] = "85da0ec89aacfd31e0bbafcefea37cdca618d62e681c1c9da8bdd492f028f4c7"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.1.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.1.0.bb
new file mode 100644
index 00000000..eeb54b31
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.1.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin with graphical representation of the cpu frequency"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-cpugraph-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=415654f59d8fa70fe4eac2c3f86c8f5e"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "48ead9dcc019212795637c170d9e2ca2"
+SRC_URI[sha256sum] = "3ece0a24e55827e0d9b6314129906da60513acdc1748d9dece9f50526e906ba4"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.0.bb
deleted file mode 100644
index af38ba54..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.0.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] = "30caaa94c6c267827a31ad69fa472e51"
-SRC_URI[sha256sum] = "297f3077f7aee52a237449fbd8595e232267bc600b5b9e7ddc5baab306ed67b9"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.0.bb
new file mode 100644
index 00000000..a1fc139b
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin displaying date and time and a calendar when left-clicked"
+HOMEPAGE = "https://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] = "b88e47af4e9e156e43dc993f18218bd3"
+SRC_URI[sha256sum] = "cd358bc2ff0707b8ef1504396a19b0a27f802c2ec7bceb5cebe2c7baf6adebd4"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin/0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin/0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch
deleted file mode 100644
index 007d3e58..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin/0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c35a8cb24e8adafb11cbc261de37d97244e55927 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 10:08:27 -0700
-Subject: [PATCH] panel-plugin: Include sys/sysmacros.h for major/minor
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-glibc 2.28+ needs it
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Andreas Müller <schnitzeltony@googlemail.com>
----
- panel-plugin/devperf.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/panel-plugin/devperf.c b/panel-plugin/devperf.c
-index 175fd44..cb2e88a 100644
---- a/panel-plugin/devperf.c
-+++ b/panel-plugin/devperf.c
-@@ -34,6 +34,7 @@
- #include <errno.h>
- #include <sys/time.h>
- /* for major() and minor() */
-+#include <sys/sysmacros.h>
- #define _BSD_SOURCE
- #include <sys/types.h>
-
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb
deleted file mode 100644
index dc7f1fcd..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb
+++ /dev/null
@@ -1,12 +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 = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2 \
- file://0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch \
- "
-SRC_URI[md5sum] = "63d5f03934c2dbddb3ad7bf7f535cc23"
-SRC_URI[sha256sum] = "212ddc742be3eecb6ad5554e1b1df03d5685cb71f48a558d5f895de37c57e4fa"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.2.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.2.bb
new file mode 100644
index 00000000..6a72c89a
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Panel plugin displaying instant disk/partition performance"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-diskperf-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d3e627798d6a60bece47aa8b3532e1f1"
+
+inherit xfce-panel-plugin
+
+SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "538119ea97a217695b297e2d165b305f"
+SRC_URI[sha256sum] = "fd2e9843da5822de96a7829e50ba496c34a50fb8492d5b5f792558c6b7ce9644"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb
deleted file mode 100644
index 8b924ac7..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.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 = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "c9fcc1ff37f38e6ed518eca3b9887aa8"
-SRC_URI[sha256sum] = "6b038322b49d29625219e6a54497085b8f834b9c1fd15282ce286a6529d7c445"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.1.bb
new file mode 100644
index 00000000..183d521a
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.1.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 = "https://goodies.xfce.org/projects/panel-plugins/xfce4-fsguard-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3434d79d62df09abf5f78bb76d6cd21b"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "d1e1fda4e80c36741643b1d9eca5c5c1"
+SRC_URI[sha256sum] = "d6d05d0a90a68453d65cdceec5ca7eeaef864393ab62eef532a7ba58f374d516"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.1.bb
deleted file mode 100644
index 002e93da..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.1.bb
+++ /dev/null
@@ -1,9 +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[md5sum] = "9dd0681c179302d56d92bbda5765bd09"
-SRC_URI[sha256sum] = "4c6ce37fbe71094548b44862587c2813da991aeaaecff8e572724dbbec83ab86"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.2.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.2.bb
new file mode 100644
index 00000000..3108a776
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.2.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] = "d808fe77a438c95b97ec6feda6162d22"
+SRC_URI[sha256sum] = "256c22526f61aabf43b91b903b976c13e56198657667df443cdb06b31fbf23aa"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb
deleted file mode 100644
index caf55084..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "XFCE panel plugin displaying status of keyboard LEDs"
-DESCRIPTION = "This plugin shows the state of your keyboard LEDs: Caps, Scroll and Num Lock in Xfce panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-kbdleds-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LIB;md5=252890d9eee26aab7b432e8b8a616475 \
-"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "db6ad8e3502f3373f087ba2034141552"
-SRC_URI[sha256sum] = "6d280ad7207bcb9cc87c279dc3ab9084fd93325e87f67858e8917729b50201cd"
-
-FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-kbdleds-plugin"
diff --git a/external/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/external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch
deleted file mode 100644
index e3541819..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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/external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb
deleted file mode 100644
index 35c8861b..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb
+++ /dev/null
@@ -1,12 +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 = "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/external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb
new file mode 100644
index 00000000..13e7b1db
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Panel plugin displaying current load of the network interfaces"
+HOMEPAGE = "https://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"
+SRC_URI[md5sum] = "ae4652711812a77a58c3dc96650a74dc"
+SRC_URI[sha256sum] = "22e40425cfe1e07b01fe275b1afddc7c788af34d9c2c7e2842166963cb41215d"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.7.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.7.0.bb
deleted file mode 100644
index 16be09dc..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.7.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Panel plugin displaying menu with quick access to folders, documents, and removable media"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-places-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "fcae9b38a8affcd82699a94991bba29b"
-SRC_URI[sha256sum] = "4175c614749abbb5bcf6f49c88125fb0dd36db69f4c374df23563907b16e2c3f"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb
new file mode 100644
index 00000000..c88e8439
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Menu for quick access to folders, documents and removable media"
+DESCRIPTION = "Panel plugin displaying menu with quick access to folders, documents and removable media"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-places-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "bde92cbd08f129d517524784e5060816"
+SRC_URI[sha256sum] = "f211219f03c9260f624370e18c79e4176c9d35a8247158e77e5d811327610ab2"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.1.bb
deleted file mode 100644
index b4237076..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Pulseaudio mixer for the xfce panel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f5eac6bb0d6ec0dc655e417781d4015f"
-
-inherit xfce-panel-plugin distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
-
-DEPENDS += "pulseaudio"
-
-SRC_URI[md5sum] = "7df7280c19c2c8b8c5bc4f4f2136d1dd"
-SRC_URI[sha256sum] = "6ca88314dbac3e24c0e1bfc593fad6edb66319766be62e8256c81b0314f049f0"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
-
-RRECOMMENDS_${PN} = "pavucontrol"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.3.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.3.bb
new file mode 100644
index 00000000..f3e4df29
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.3.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Pulseaudio mixer for the xfce panel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f5eac6bb0d6ec0dc655e417781d4015f"
+
+inherit xfce-panel-plugin features_check
+
+REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
+
+DEPENDS += "dbus-glib pulseaudio"
+
+SRC_URI[md5sum] = "3d86032acb9364d47e0a144350c63e1a"
+SRC_URI[sha256sum] = "5a518237e2137341d8ca6584938950525e20c28a0177e30ecaea3ba8e7a2615b"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
+
+RRECOMMENDS_${PN} = "pavucontrol"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin/0001-Do-not-check-for-sys-class-power_supply-we-are-cross.patch b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin/0001-Do-not-check-for-sys-class-power_supply-we-are-cross.patch
new file mode 100644
index 00000000..ac1d603b
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin/0001-Do-not-check-for-sys-class-power_supply-we-are-cross.patch
@@ -0,0 +1,44 @@
+From 9b7e1beca872ca4a5fce8938c58379103787f79a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 23 Feb 2020 22:06:32 +0100
+Subject: [PATCH] Do not check for /sys/class/power_supply - we are cross
+ compiling
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 12 +-----------
+ 1 file changed, 1 insertion(+), 11 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c281af9..60ba0c0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -209,19 +209,9 @@ dnl Check for interface for /sys/class/power_supply to be used
+ AC_ARG_ENABLE([sysfsacpi], [AC_HELP_STRING([--enable-sysfsacpi], [Use /sys/class/power_supply to read your battery value @<:@default=auto@:>@])],
+ [],
+ [
+- enable_sysfsacpi=auto
++ enable_sysfsacpi=yes
+ ])
+
+-if test x"$enable_sysfsacpi" = x"auto"; then
+- AC_CHECK_FILE([/sys/class/power_supply],
+- [
+- enable_sysfsacpi=yes
+- ],
+- [
+- enable_sysfsacpi=no
+- ])
+-fi
+-
+ if test x"$enable_sysfsacpi" = x"yes"; then
+ AC_DEFINE([HAVE_SYSFS_ACPI], [1], [Define to 1 if /sys/class/power_supply is found])
+ enable_procacpi=yes
+--
+2.21.0
+
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.97.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.97.bb
deleted file mode 100644
index 4d78bb2b..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.97.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] = "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/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.3.92.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.3.92.bb
new file mode 100644
index 00000000..3fd0ff6c
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.3.92.bb
@@ -0,0 +1,26 @@
+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] = "7327c4c316ebd5d93665e77b432b8d89"
+SRC_URI[sha256sum] = "3dc6643d2c064b7718badff44b948f8d410f00f13db197820b26ae38045f5112"
+SRC_URI += "file://0001-Do-not-check-for-sys-class-power_supply-we-are-cross.patch"
+
+EXTRA_OECONF = " \
+ --disable-procacpi \
+ --disable-xnvctrl \
+"
+
+do_configure_prepend() {
+ sed -i 's:LIBSENSORS_CFLAGS=.*:LIBSENSORS_CFLAGS=-I${STAGING_INCDIR}:g' ${S}/configure.ac
+}
+
+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/external/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb
deleted file mode 100644
index 6289ad31..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.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] = "6f242fe584ee2fdd2b1d3d69ef3d5914"
-SRC_URI[sha256sum] = "139539c58d54d878de86ef8a882c793cd909981e6b888f7f9d5e230a8fe310a4"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.1.bb
new file mode 100644
index 00000000..fa2c474d
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin allowing to send requests directly to browser"
+HOMEPAGE = "https://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] = "f1c97ac62dd9054e8f2b01568fef3ba6"
+SRC_URI[sha256sum] = "3e28fb7cd2e2251e89a8715684081b862406e3fb4e6d8c0caa1b798a97703600"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb
deleted file mode 100644
index eeb45186..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.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] = "550277af9886c47005117110f6e7ec0d"
-SRC_URI[sha256sum] = "2bf7d0802534a1eb2e9f251af2bb97abc3f58608c1f01511d302c06111d34812"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.3.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.3.bb
new file mode 100644
index 00000000..88d40c49
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.3.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime"
+HOMEPAGE = "https://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] = "5d75865be699d0b3d36a5fc17ed02d44"
+SRC_URI[sha256sum] = "052407c575203da4de2db6f4a5e997220d95ec655d393dc3875a0d5a20520775"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.2.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.2.bb
deleted file mode 100644
index facbb0d8..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "This plugin makes it possible to take periodical breaks"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-time-out-plugin"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "d7d743794a766ba1b00647828a099053"
-SRC_URI[sha256sum] = "c69fb7218c685e516454810291c5245c49a80d774a6bded59c645a1af427c4e5"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.0.bb
new file mode 100644
index 00000000..c3de5964
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "This plugin makes it possible to take periodical breaks"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-time-out-plugin"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "afa0ef865a49f28165098d3fe625df44"
+SRC_URI[sha256sum] = "ee4a51a35076d50cba3824079f8312585373ff2f0d9ebc740d8f3c0426430a19"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb
deleted file mode 100644
index 57951608..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Verve panel plugin is a comfortable command line plugin for the Xfce panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-verve-plugin"
-LICENSE = "GPLv2"
-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/external/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.0.bb
new file mode 100644
index 00000000..36e04a43
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Verve panel plugin is a comfortable command line plugin for the Xfce panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-verve-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "94429b1be9d66ba9b31e4aafb726a8c7"
+SRC_URI[sha256sum] = "9e6510ba6c48fcfc60d1c6ab14613dd7b6ff095cabbf4746f82bf788d8ab4cd2"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb
deleted file mode 100644
index 0c94f3c4..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.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] = "b163b22f8543e5e5767a68af35c9028e"
-SRC_URI[sha256sum] = "4d5bd6654cfd077f3432b08d296f7bd052e765e51b77c629886a9542f4e5ecdc"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.1.bb
new file mode 100644
index 00000000..95c1fe4d
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin displaying stats from a wireless lan interface"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-wavelan-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "e4e3d5240297253d242464e77f6145df"
+SRC_URI[sha256sum] = "f41f81ea063ae3c7d7904e1ee647a6b5efafc7436f47caed662ee417038eed17"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.10.1.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.10.1.bb
new file mode 100644
index 00000000..ad9b6e9e
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.10.1.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] = "203ad16e74d4823f6fb6e9a18bb7df55"
+SRC_URI[sha256sum] = "afb2af5f3effc2ea6181636ed0e82e6dafd556ec1b8478100802f85a5d167a89"
+
+FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.0.bb
deleted file mode 100644
index 1663bb9a..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.0.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] = "25d3d9fb2e688a619201655f6eea51c2"
-SRC_URI[sha256sum] = "34368cf2332774ad2a05226b2914ecb60e7550e9b2164be53ebe8f370198bb3d"
-
-FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.0.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.0.bb
deleted file mode 100644
index 24a32fc0..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "An alternate menu for the Xfce desktop environment"
-HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin cmake
-
-SRC_URI[md5sum] = "d2383c3eb1b54adf5a206973bd20f159"
-SRC_URI[sha256sum] = "7e569bb0dff7e3db3d964e23323f54c6de7249741c6a0e33a0fa501d83040b16"
-
-RRECOMMENDS_${PN} += "menulibre"
diff --git a/external/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.4.4.bb b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.4.4.bb
new file mode 100644
index 00000000..958ee644
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.4.4.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] = "7f6faf5ae5ca276d073798a3ff8b0e5b"
+SRC_URI[sha256sum] = "624acf6d46484bb35608a76424579571423e2aefa6579f6e444f5cfb5342ff9a"
+
+RRECOMMENDS_${PN} += "menulibre"
diff --git a/external/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend b/external/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend
deleted file mode 100644
index 7b449630..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${BPN}_xfce.inc', '', d)}
diff --git a/external/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc b/external/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc
deleted file mode 100644
index 25403e6c..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-do_install_append() {
- # The mouse being autoenabled is just annoying in xfce4-terminal (mouse
- # drag make vim go into visual mode and there is no right click menu),
- # delete the block.
- sed -i '/the mouse works just fine/,+4d' ${D}/${datadir}/${BPN}/vimrc
-}
diff --git a/external/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.0.bb b/external/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.0.bb
deleted file mode 100644
index 994c6528..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Quickly share a folder using Samba from Thunar"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit thunar-plugin distro_features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-SRC_URI[md5sum] = "a1773168c0b3c7c0f253a339f02e5ae2"
-SRC_URI[sha256sum] = "d6adc01ca45a3d2567a2a969a3b16d1799a8975453ab1803a065fa82496b5b65"
-
-RDEPENDS_${PN} += "samba-server"
diff --git a/external/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb b/external/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb
new file mode 100644
index 00000000..75ae03a1
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Quickly share a folder using Samba from Thunar"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit thunar-plugin features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SRC_URI[md5sum] = "0884855d60cf1031b9013b6f5b125372"
+SRC_URI[sha256sum] = "dc1d8c7caa727e76d033d4653dc0742613f57a1711d0050900659c90a84452a0"
+
+RDEPENDS_${PN} += "samba-server"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch b/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch
index 07647758..8c950299 100644
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch
@@ -1,6 +1,6 @@
From e710d8d4a3e3480416826c70d56ea3d2598a77e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 28 Mar 2013 23:41:03 +0100
+Date: Sat, 4 May 2019 14:50:11 +0200
Subject: [PATCH] reduce build to exo-csource only
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -16,11 +16,11 @@ Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
Makefile.am | 10 +---------
- configure.ac | 22 ----------------------
- 2 files changed, 1 insertion(+), 31 deletions(-)
+ configure.ac | 20 --------------------
+ 2 files changed, 1 insertion(+), 29 deletions(-)
diff --git a/Makefile.am b/Makefile.am
-index 62ad18d..bdc5fae 100644
+index 62ad18d..8934f1f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,15 +1,7 @@
@@ -41,10 +41,10 @@ index 62ad18d..bdc5fae 100644
distclean-local:
rm -rf *.cache *~
diff --git a/configure.ac b/configure.ac
-index 3f92d1b..0d4cc38 100644
+index 4e4eb5e..237184c 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -116,15 +116,6 @@ AC_PROG_CC()
+@@ -120,15 +120,6 @@ AC_PROG_CC()
AM_PROG_CC_C_O()
AC_PROG_INSTALL()
IT_PROG_INTLTOOL([intltool_minimum_version], [no-xml])
@@ -60,26 +60,31 @@ index 3f92d1b..0d4cc38 100644
dnl ***************************************
dnl *** Check for standard header files ***
-@@ -171,19 +162,6 @@ dnl ***********************************
+@@ -175,12 +166,6 @@ dnl ***********************************
dnl *** Check for required packages ***
dnl ***********************************
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.42.0])
-XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.42.0])
--XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.24.0])
-XDT_CHECK_PACKAGE([GTK3], [gtk+-3.0], [3.22.0])
-XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.42.0])
-XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.12.0])
--XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.12.0])
-XDT_CHECK_PACKAGE([LIBXFCE4UI2], [libxfce4ui-2], [4.12.0])
-XDT_CHECK_OPTIONAL_PACKAGE([GIO_UNIX], [gio-unix-2.0], [2.42.0], [gio-unix], [GIO-Unix features])
--
+
+ dnl ***********************************************************
+ dnl *** Optional support for a GTK+2 version of the library ***
+@@ -190,11 +175,6 @@ XDT_CHECK_OPTIONAL_PACKAGE([GTK2],
+ [GTK+ 2 support])
+ AM_CONDITIONAL([ENABLE_GTK2_LIBRARY], [test "x$GTK2_FOUND" = "xyes"])
+
-dnl *********************
-dnl *** Check for X11 ***
-dnl *********************
-XDT_CHECK_LIBX11_REQUIRE()
-
+-
dnl *************************
dnl *** Check for gtk-doc ***
+ dnl *************************
--
-2.14.3
+2.20.1
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.11.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.11.bb
new file mode 100644
index 00000000..4a5a7720
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.11.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Application library for the Xfce desktop environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gtk+3 libxfce4ui virtual/libx11 liburi-perl-native cairo"
+DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
+
+inherit xfce perlnative gtk-doc features_check mime-xdg
+
+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] = "efeb039d64b3257e39a1a38e75eb19b1"
+SRC_URI[sha256sum] = "ec892519c08a67f3e0a1f0f8d43446e26871183e5aa6be7f82e214f388d1e5b6"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG_class-target ??= "gtk"
+PACKAGECONFIG[gtk] = "--enable-gtk2,--disable-gtk2,gtk+"
+
+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* \
+"
+
+FILES_exo-csource += "${bindir}/exo-csource"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.3.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.3.bb
deleted file mode 100644
index 9c4829bb..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.3.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION="Application library for the Xfce desktop environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo"
-DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
-
-inherit xfce pythonnative perlnative gtk-doc 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] = "da934c5939f2ee4540f5d48991053f01"
-SRC_URI[sha256sum] = "b96fe86bb504aa9b3332b96105d755f5d9052c903fd6574b512a5ef76c0ad439"
-
-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_exo-csource += "${bindir}/exo-csource"
-
-BBCLASSEXTEND = "native"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb
deleted file mode 100644
index 06e23697..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION="Xfce Menu Library"
-SECTION = "x11/libs"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
-DEPENDS = "xfce4-dev-tools-native libxfce4util libxfce4ui intltool-native"
-
-inherit xfce gtk-doc distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
-SRC_URI[md5sum] = "174690ad19243f7ef9529cb0c24b9080"
-SRC_URI[sha256sum] = "41c31ba0498c2cc39de4a8e0c2367510adbf4bc2104c17feee358e51e6acf603"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-FILES_${PN} += "${datadir}/desktop-directories"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.4.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.4.bb
new file mode 100644
index 00000000..75997de7
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.4.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Xfce Menu Library"
+SECTION = "x11/libs"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
+DEPENDS = "xfce4-dev-tools-native libxfce4ui intltool-native"
+
+inherit xfce gtk-doc features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
+SRC_URI[md5sum] = "9715aa8214be9c553d9b8c44fde90b9f"
+SRC_URI[sha256sum] = "d75e4753037a74733c07b71b8db7a656d869869f0f107f6411a306bbc87a762d"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+FILES_${PN} += "${datadir}/desktop-directories"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch b/external/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch
deleted file mode 100644
index fb891020..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Description: Fix FTBFS with glib 2.54
- glib-mkenums now expects input files to be UTF-8,
- fix the encoding of libgnomeui/gnome-scores.h
-Author: Adrian Bunk <bunk@debian.org>
-
-ported from: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870738
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: gtk-xfce-engine-3.2.0/gtk-3.0/xfce_style_types.h
-===================================================================
---- gtk-xfce-engine-3.2.0.orig/gtk-3.0/xfce_style_types.h
-+++ gtk-xfce-engine-3.2.0/gtk-3.0/xfce_style_types.h
-@@ -19,7 +19,7 @@
- *
- * Portions based Thinice port by
- * Tim Gerla <timg@rrv.net>,
-- * Tomas Ögren <stric@ing.umu.se,
-+ * Tomas Ögren <stric@ing.umu.se>,
- * Richard Hult <rhult@codefactory.se>
- * Portions based on Smooth theme by
- * Andrew Johnson <ajgenius@ajgenius.us>
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb
deleted file mode 100644
index 805e893f..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "XFCE theme for GTK"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gtk+ xfce4-dev-tools-native"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += "file://glib-2.54-ftbfs.patch"
-
-SRC_URI[md5sum] = "363d6c16a48a00e26d45c45c2e1fd739"
-SRC_URI[sha256sum] = "875c9c3bda96faf050a2224649cc42129ffb662c4de33add8c0fd1fb860b47ed"
-
-PACKAGECONFIG ??= "gtk3"
-PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3, gtk+3, gtk3-xfce-engine"
-
-PACKAGES += "${PN}-themes gtk3-xfce-engine"
-FILES_${PN} += "${libdir}/gtk-2.0/*/engines/*.so"
-FILES_gtk3-xfce-engine += "${libdir}/gtk-3.0/*/theming-engines/*.so"
-FILES_${PN}-themes += "${datadir}/themes"
-
-FILES_${PN}-dev += " \
- ${libdir}/gtk-2.0/*/engines/*.la \
- ${libdir}/gtk-3.0/*/theming-engines/*.la \
-"
-
-RDEPENDS_${PN} += "${PN}-themes"
-RDEPENDS_gtk3-xfce-engine += "${PN}-themes"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb
deleted file mode 100644
index 8a385bae..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Xfce4 Widget library and X Window System interaction"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "perl-native glib-2.0 gtk+ gtk+3 intltool-native libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice"
-
-inherit xfce autotools gettext gtk-doc gobject-introspection distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += " \
- file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \
-"
-SRC_URI[md5sum] = "b407cdab73ebd5c33c90db6bdb3ec5ff"
-SRC_URI[sha256sum] = "d63fcdb8e5acb6f0d26075ea17d320dbfbec2058567cd67cb99824c7402a1f79"
-
-EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gladeui] = "--enable-gladeui,--disable-gladeui,glade3"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-
-PACKAGES =+ "${PN}-gtk2 ${PN}-gtk3"
-FILES_${PN}-gtk2 += "${libdir}/libxfce4ui-1.so.* ${libdir}/libxfce4kbd-private-2.so.*"
-FILES_${PN}-gtk3 += "${libdir}/libxfce4ui-2.so.* ${libdir}/libxfce4kbd-private-3.so.*"
-
-PACKAGES += "${PN}-glade"
-FILES_${PN}-glade = "${libdir}/glade3 \
- ${datadir}/glade3"
-
-RDEPENDS_${PN}-gtk2 = "${PN}"
-RDEPENDS_${PN}-gtk3 = "${PN}"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb
new file mode 100644
index 00000000..348b685b
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Xfce4 Widget library and X Window System interaction"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "intltool-native perl-native gtk+ gtk+3 libice libsm libxfce4util xfce4-dev-tools xfconf virtual/libx11"
+
+inherit xfce gtk-doc gobject-introspection features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " \
+ file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \
+"
+SRC_URI[md5sum] = "50eae4bab5eeced186bce16fb5f802ac"
+SRC_URI[sha256sum] = "c449075eaeae4d1138d22eeed3d2ad7032b87fb8878eada9b770325bed87f2da"
+
+EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+
+PACKAGES =+ "${PN}-gtk2 ${PN}-gtk3"
+FILES_${PN}-gtk2 += "${libdir}/libxfce4ui-1.so.* ${libdir}/libxfce4kbd-private-2.so.*"
+FILES_${PN}-gtk3 += "${libdir}/libxfce4ui-2.so.* ${libdir}/libxfce4kbd-private-3.so.*"
+
+PACKAGES += "${PN}-glade"
+FILES_${PN}-glade = " \
+ ${libdir}/glade \
+ ${datadir}/glade \
+"
+
+RDEPENDS_${PN}-gtk2 = "${PN}"
+RDEPENDS_${PN}-gtk3 = "${PN}"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb
deleted file mode 100644
index 21cc1dbf..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Basic utility library for Xfce4"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
-
-inherit xfce gtk-doc gobject-introspection
-
-SRC_URI[md5sum] = "e3e8b9dd7e12028d3e642345b85d6ef1"
-SRC_URI[sha256sum] = "c58275ff650080369e742695862c811cb78402c85f243ea0b5aec186027be361"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.14.0.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.14.0.bb
new file mode 100644
index 00000000..1bb5007f
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.14.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Basic utility library for Xfce4"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
+
+inherit xfce gtk-doc gobject-introspection
+
+SRC_URI[md5sum] = "46f44e36acc3abf1a5ba814c22a773cb"
+SRC_URI[sha256sum] = "32ad79b7992ec3fd863e8ff2f03eebda8740363ef9d7d910a35963ac1c1a6324"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
index 140de416..70ef909e 100644
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
@@ -1,10 +1,8 @@
SUMMARY = "All packages required for a base installation of XFCE"
SECTION = "x11/wm"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r5"
-inherit packagegroup distro_features_check
+inherit packagegroup features_check
REQUIRED_DISTRO_FEATURES = "x11"
@@ -15,7 +13,6 @@ RDEPENDS_${PN} = " \
xfdesktop \
xfce4-panel \
\
- gtk-xfce-engine \
librsvg-gtk \
\
xfce4-panel-plugin-actions \
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
index 5f8c03cc..255d2b5e 100644
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
@@ -1,11 +1,9 @@
SUMMARY = "All packages for full XFCE installation"
SECTION = "x11/wm"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r10"
-inherit packagegroup distro_features_check
+inherit packagegroup features_check
REQUIRED_DISTRO_FEATURES = "x11"
@@ -47,7 +45,6 @@ RRECOMMENDS_${PN} = " \
xfce4-notes-plugin \
xfce4-whiskermenu-plugin \
xfce4-mailwatch-plugin \
- xfce4-kbdleds-plugin \
xfce4-smartbookmark-plugin \
xfce4-hotcorner-plugin \
${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'xfce4-pulseaudio-plugin', '', d)} \
@@ -55,16 +52,16 @@ RRECOMMENDS_${PN} = " \
xfce4-calculator-plugin \
xfce4-verve-plugin \
\
- xfce-polkit \
+ ${@bb.utils.contains('DISTRO_FEATURES','polkit','xfce-polkit','',d)} \
${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "blueman", "", d)} \
\
thunar-media-tags-plugin \
thunar-archive-plugin \
\
xfce4-appfinder \
+ xfce4-screensaver \
xfce4-screenshooter \
xfce4-power-manager \
- xfce4-mixer \
ristretto \
xfce4-taskmanager \
gigolo \
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.0.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.0.bb
deleted file mode 100644
index 5a37b69b..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Automatic management of removable drives and media for thunar"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "exo glib-2.0 libxfce4ui libxfce4util xfconf libnotify libgudev"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "3b403a4f846927391ea4bee765a055df"
-SRC_URI[sha256sum] = "e4bffcfee15530e277fa80865eb1de31e63c7effaf8835c9fa7c71e5a0076b2e"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
-
-RDEPENDS_${PN} = "eject"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.5.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.5.bb
new file mode 100644
index 00000000..d499e22e
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.5.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Automatic management of removable drives and media for thunar"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "exo libnotify libgudev"
+
+inherit xfce features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "f9ef39ed4bbff05eb74058dfff24dd84"
+SRC_URI[sha256sum] = "7ea7c6693334f2248cf399586af8974dfb7db9aad685ee31ac100e62e19a1837"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
+
+RDEPENDS_${PN} = "eject"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.15.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.15.bb
new file mode 100644
index 00000000..b1f1c967
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.15.bb
@@ -0,0 +1,29 @@
+SUMMARY = "File manager for the Xfce Desktop Environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev"
+
+inherit xfce gobject-introspection features_check mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "303010f4959fa23f7c13c0ccd9b8527e"
+SRC_URI[sha256sum] = "7624560cf21f13869804947042610aab22075146b711593f11ceb9e494277c93"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
+
+FILES_${PN} += " \
+ ${libdir}/thunarx-3/* \
+ ${libdir}/xfce4/panel/plugins/* \
+ ${libdir}/Thunar/[Tt]hunar* \
+ ${systemd_user_unitdir} \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/polkit-1 \
+ ${datadir}/Thunar \
+ ${datadir}/xfce4/panel/plugins/* \
+"
+
+RRECOMMENDS_${PN} = "gvfs gvfsd-trash"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.2.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.2.bb
deleted file mode 100644
index d2a0e30c..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.2.bb
+++ /dev/null
@@ -1,32 +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+3 gdk-pixbuf libxfce4util libxfce4ui xfconf libsm dbus-glib startup-notification libnotify xfce4-panel udev"
-
-inherit xfce gobject-introspection 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] = "51a0988625a7e2c944377e75d3effc71"
-SRC_URI[sha256sum] = "75f91045541eb5983e772a564d97f23e5995256bfb9863e0f4a015393421d428"
-
-S = "${WORKDIR}/Thunar-${PV}/"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
-
-FILES_${PN} += " \
- ${libdir}/thunarx-3/* \
- ${libdir}/xfce4/panel/plugins/* \
- ${libdir}/Thunar/[Tt]hunar* \
- ${systemd_user_unitdir} \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
- ${datadir}/polkit-1 \
- ${datadir}/Thunar \
- ${datadir}/xfce4/panel/plugins/* \
-"
-
-RRECOMMENDS_${PN} = "gvfs gvfsd-trash"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch b/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch
deleted file mode 100644
index 5ecc35e3..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From f5c283b1251ad005da7342e654cd2ec5ae9e5fb2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 26 Sep 2014 13:44:36 +0200
-Subject: [PATCH] configure: use pkg-config for freetype2
-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>
----
- acinclude.m4 | 16 +---------------
- 1 file changed, 1 insertion(+), 15 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 66e79d1..4c70b00 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -52,21 +52,7 @@ if test x"$ac_tumbler_font_thumbnailer" = x"yes"; then
- PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0 >= 2.14],
- [
- dnl Check for FreeType 2.x
-- FREETYPE_LIBS=""
-- FREETYPE_CFLAGS=""
-- AC_PATH_PROG([FREETYPE_CONFIG], [freetype-config], [no])
-- if test x"$FREETYPE_CONFIG" != x"no"; then
-- AC_MSG_CHECKING([FREETYPE_CFLAGS])
-- FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
-- AC_MSG_RESULT([$FREETYPE_CFLAGS])
--
-- AC_MSG_CHECKING([FREETYPE_LIBS])
-- FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
-- AC_MSG_RESULT([$FREETYPE_LIBS])
-- else
-- dnl We can only build the font thumbnailer if FreeType 2.x is available
-- ac_tumbler_font_thumbnailer=no
-- fi
-+ PKG_CHECK_MODULES(FREETYPE, freetype2, , [ac_tumbler_font_thumbnailer=no])
- AC_SUBST([FREETYPE_CFLAGS])
- AC_SUBST([FREETYPE_LIBS])
- ], [ac_tumbler_font_thumbnailer=no])
---
-1.8.3.1
-
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
deleted file mode 100644
index 9d266947..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus specification"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "dbus-glib dbus-glib-native freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
-
-inherit xfce gtk-doc
-
-SRC_URI[md5sum] = "dd5f9bae6a2470eb5fff0dc9edd3ea09"
-SRC_URI[sha256sum] = "4e27a59694b0a5cc69ebccbdb00c724e670b5b7c30bc4dc0b461aac93f234fac"
-SRC_URI += "file://0001-configure-use-pkg-config-for-freetype2.patch"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
-
-do_install_append() {
- # Makefile seems to race on creation of symlink. So ensure creation here
- # until fixed properly
- ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so
-}
-
-FILES_${PN} += "${datadir}/dbus-1/services \
- ${libdir}/tumbler-1/tumblerd \
- ${libdir}/tumbler-1/plugins/*.so \
- ${libdir}/tumbler-1/plugins/cache/*.so \
-"
-
-FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \
- ${libdir}/tumbler-1/plugins/cache/*.la \
-"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.8.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.8.bb
new file mode 100644
index 00000000..e0d4845a
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.8.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Thumbnail service implementing the thumbnail management D-Bus specification"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
+
+inherit xfce gtk-doc
+
+SRC_URI[md5sum] = "5d541608b3962fd2b16e23a266fd7a10"
+SRC_URI[sha256sum] = "0999b9a3deb57010956db6630ae7205813999147043171049a7b6c333be93e96"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
+
+do_install_append() {
+ # Makefile seems to race on creation of symlink. So ensure creation here
+ # until fixed properly
+ ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so
+}
+
+FILES_${PN} += "${datadir}/dbus-1/services \
+ ${libdir}/tumbler-1/tumblerd \
+ ${libdir}/tumbler-1/plugins/*.so \
+ ${libdir}/tumbler-1/plugins/cache/*.so \
+"
+
+FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \
+ ${libdir}/tumbler-1/plugins/cache/*.la \
+"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.1.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.1.bb
deleted file mode 100644
index 0336f54b..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION="Xfce4 Application Finder"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS="glib-2.0 gtk+3 libxfce4util libxfce4ui garcon dbus-glib xfconf"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "9e2a1f9b4ae3183c461b79891224c33f"
-SRC_URI[sha256sum] = "5cabb27bbe0a0864b785e1a38535a91516763e38d6bff41a3915a61d28254b03"
-
-FILES_${PN} += "${datadir}/appdata"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.14.0.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.14.0.bb
new file mode 100644
index 00000000..e4f35b0f
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.14.0.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Xfce4 Application Finder"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "glib-2.0 gtk+3 libxfce4util libxfce4ui garcon xfconf"
+
+inherit xfce features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "03b226a2ee20f95243e74d1868e94e0e"
+SRC_URI[sha256sum] = "7ec175d4954fceb2e76cbfbca76ac4a4f53fe799d097a14117e7de68e88a4d98"
+
+FILES_${PN} += "${datadir}/metainfo"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.12.0.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.12.0.bb
deleted file mode 100644
index 5557f6df..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.12.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Xfce4 development tools"
-HOMEPAGE = "http://www.xfce.org"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-DEPENDS = "glib-2.0"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native"
-
-SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "559202c4d9650e23696c44aa94cfc5a9"
-SRC_URI[sha256sum] = "e2e3a654fe9110df81f8c2483c9cbfa6d656fed15d5e5e717d6ef10bd0f5b5cb"
-
-do_install_append() {
- install -d ${D}${datadir}/aclocal
- install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/
-}
-
-FILES_${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4"
-
-RDEPENDS_${PN} = "bash"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.14.0.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.14.0.bb
new file mode 100644
index 00000000..0b119661
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.14.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Xfce4 development tools"
+HOMEPAGE = "http://www.xfce.org"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
+DEPENDS = "glib-2.0"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
+
+SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "5f8fc8af73819c08d9e4c26a3ac457e7"
+SRC_URI[sha256sum] = "2c9eb8e0fe23e47dc31411a93b683fd1b7a49140e9163f0aab9e94a3d8a0b5fd"
+
+do_install_append() {
+ install -d ${D}${datadir}/aclocal
+ install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/
+}
+
+FILES_${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4"
+
+RDEPENDS_${PN} = "bash"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-use-lxdm-to-replace-dm-tool.patch b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-use-lxdm-to-replace-dm-tool.patch
new file mode 100644
index 00000000..b06e26e9
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-use-lxdm-to-replace-dm-tool.patch
@@ -0,0 +1,49 @@
+From b80108f01b1425427f98341168ea44c4b1a5a2cf Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 28 Jun 2019 16:02:13 +0800
+Subject: [PATCH] use lxdm to replace dm-tool
+
+OE does not support lightdm but lxdm,
+so use lxdm to replace dm-tool
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ plugins/actions/actions.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/plugins/actions/actions.c b/plugins/actions/actions.c
+index 474798e..63eb41d 100644
+--- a/plugins/actions/actions.c
++++ b/plugins/actions/actions.c
+@@ -905,12 +905,12 @@ actions_plugin_actions_allowed (void)
+ GError *error = NULL;
+
+ /* check for commands we use */
+- path = g_find_program_in_path ("dm-tool");
++ path = g_find_program_in_path ("lxdm");
+ if (path != NULL)
+ PANEL_SET_FLAG (allow_mask, ACTION_TYPE_SWITCH_USER);
+ else
+ {
+- /* check for gdmflexiserver if dm-tool is not present */
++ /* check for gdmflexiserver if lxdm is not present */
+ g_free (path);
+ path = g_find_program_in_path ("gdmflexiserver");
+ if (path != NULL)
+@@ -1027,9 +1027,9 @@ actions_plugin_action_activate (GtkWidget *widget,
+ break;
+
+ case ACTION_TYPE_SWITCH_USER:
+- path = g_find_program_in_path ("dm-tool");
++ path = g_find_program_in_path ("lxdm");
+ if (path != NULL)
+- succeed = g_spawn_command_line_async ("dm-tool switch-to-greeter", &error);
++ succeed = g_spawn_command_line_async ("lxdm -c USER_SWITCH", &error);
+ else
+ succeed = g_spawn_command_line_async ("gdmflexiserver", &error);
+ g_free (path);
+--
+2.8.1
+
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.3.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.3.bb
deleted file mode 100644
index f1abf667..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.3.bb
+++ /dev/null
@@ -1,40 +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 libwnck3 vala-native"
-
-inherit xfce gtk-doc gobject-introspection distro_features_check gtk-icon-cache remove-libtool
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "0ccb448e3792949eb0ae9db8dc22789b"
-SRC_URI[sha256sum] = "b467feb7ee9797ad12f56a152570e42a96b94ad63580d45536aabee282440ce8"
-SRC_URI += " \
- file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
-"
-
-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}-dev += "${libdir}/xfce4/panel/plugins/*.la"
-
-FILES_${PN}-gtk3 = " \
- ${libdir}/libxfce4panel-2.0${SOLIBS} \
- ${libdir}/xfce4/panel/wrapper-2.0 \
-"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.14.4.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.14.4.bb
new file mode 100644
index 00000000..73cb82a1
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.14.4.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Xfce4 Panel"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
+DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxml2 libwnck3 vala-native"
+
+inherit xfce gtk-doc gobject-introspection features_check remove-libtool mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "76efdbf7fb461f3058919c1309da67ca"
+SRC_URI[sha256sum] = "8e5ea79412ba84cfada897ff309cbe2cd4aca16b9bd4f93df060229528576fd5"
+SRC_URI += " \
+ file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
+ file://0002-use-lxdm-to-replace-dm-tool.patch \
+"
+
+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}-dev += "${libdir}/xfce4/panel/plugins/*.la"
+
+FILES_${PN}-gtk3 = " \
+ ${libdir}/libxfce4panel-2.0${SOLIBS} \
+ ${libdir}/xfce4/panel/wrapper-2.0 \
+"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb
deleted file mode 100644
index ed117b0a..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Power manager for the Xfce desktop environment"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager"
-SECTION = "x11"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-DEPENDS += "gtk+3 glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \
- libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver"
-
-SRC_URI[md5sum] = "17f0e6464ad6b3bc6a657f595bf91430"
-SRC_URI[sha256sum] = "1ea825452343b895566068018b6d5078608f8f46ce8075ba6bbb4b848f48656b"
-
-EXTRA_OECONF = " \
- --enable-network-manager \
- --enable-panel-plugins \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit"
-
-PACKAGES += "xfce4-powermanager-plugin"
-
-FILES_${PN} += " \
- ${datadir}/polkit-1 \
- ${datadir}/appdata \
-"
-
-FILES_xfce4-powermanager-plugin = " \
- ${libdir}/xfce4 \
- ${datadir}/xfce4 \
-"
-
-RDEPENDS_xfce4-powermanager-plugin = "${PN}"
-RDEPENDS_${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
-
-# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin
-RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
-RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
-RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.6.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.6.bb
new file mode 100644
index 00000000..608990ad
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.6.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Power manager for the Xfce desktop environment"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager"
+SECTION = "x11"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS += "libnotify libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver"
+
+SRC_URI[md5sum] = "19873fc8a6de5e37ed57036a0002a5ce"
+SRC_URI[sha256sum] = "1b7bf0d3e8af69b10f7b6a518451e01fc7888e0d9d360bc33f6c89179bb6080b"
+
+EXTRA_OECONF = " \
+ --enable-network-manager \
+ --enable-panel-plugins \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
+PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit"
+
+PACKAGES += "xfce4-powermanager-plugin"
+
+FILES_${PN} += " \
+ ${datadir}/polkit-1 \
+ ${datadir}/metainfo \
+"
+
+FILES_xfce4-powermanager-plugin = " \
+ ${libdir}/xfce4 \
+ ${datadir}/xfce4 \
+"
+
+RDEPENDS_xfce4-powermanager-plugin = "${PN}"
+RDEPENDS_${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
+
+# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin
+RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
+RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
+RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb
deleted file mode 100644
index c7919744..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/machine-host.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Meta package adding machine name to known hosts"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-ALLOW_EMPTY_${PN} = "1"
-
-LOCALHOSTMACHINE = "127.0.0.1 ${MACHINE}"
-
-# on some machines starting applications as xfce4-terminal take ages without
-# machine name in hosts
-pkg_postinst_${PN} () {
-if ! grep -q '${LOCALHOSTMACHINE}' $D/etc/hosts ; then
- echo '${LOCALHOSTMACHINE}' >> $D/etc/hosts
-fi
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb
deleted file mode 100644
index b11aaa4f..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck3 dbus dbus-glib xfconf polkit"
-RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth upower"
-
-inherit xfce update-alternatives distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += " \
- file://0001-configure.in-hard-code-path-to-iceauth.patch \
-"
-SRC_URI[md5sum] = "a47988a2c871a411c19e3af1eefe591e"
-SRC_URI[sha256sum] = "c789f0f8234e06f5266f0c6ccdbdcc3c085e8d9eea06a0eafe8f7cfc4fe23af4"
-
-ALTERNATIVE_${PN} = "x-session-manager"
-ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session"
-ALTERNATIVE_PRIORITY_${PN} = "100"
-
-FILES_${PN} += " \
- ${libdir}/xfce4/*/*/*.so \
- ${libdir}/xfce4/session/*-*-* \
- ${datadir}/xsessions \
- ${datadir}/themes/Default/balou/* \
- ${datadir}/polkit-1 \
-"
-
-FILES_${PN} += " \
- ${libdir}/xfce4/session/splash-engines/*.la \
-"
-
-RDEPENDS_${PN} += "machine-host"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.14.2.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.14.2.bb
new file mode 100644
index 00000000..f497b766
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.14.2.bb
@@ -0,0 +1,40 @@
+SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
+
+DEPENDS = "libwnck3 libsm libxfce4ui virtual/libx11"
+
+inherit xfce update-alternatives features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
+PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit"
+
+SRC_URI += " \
+ file://0001-configure.in-hard-code-path-to-iceauth.patch \
+"
+SRC_URI[md5sum] = "5ad23062fd08ef5f5ad9b4389c7b54c6"
+SRC_URI[sha256sum] = "fbe3a4a60c91589a2024ce12b2d2667625a8fedcbc90ef031831f56319f597af"
+
+ALTERNATIVE_${PN} = "x-session-manager"
+ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session"
+ALTERNATIVE_PRIORITY_${PN} = "100"
+
+FILES_${PN} += " \
+ ${libdir}/xfce4/*/*/*.so \
+ ${libdir}/xfce4/session/*-*-* \
+ ${datadir}/xsessions \
+ ${datadir}/themes/Default/balou/* \
+ ${datadir}/polkit-1 \
+"
+
+RDEPENDS_${PN} = " \
+ dbus-x11 \
+ iceauth \
+ netbase \
+ upower \
+ xinit \
+ xrdb \
+"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch
index 67df05a7..0463d2eb 100644
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch
@@ -9,6 +9,14 @@ Content-Transfer-Encoding: 8bit
Upstram status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
+Theme Xfce doesn't work as expected. For example, no layout in start
+menu and applications' menu bar. And GtkColorButton is blank in config
+tab page from xfce4-terminal -> Edit -> Preference -> Colors.
+
+So use Adwaita as default theme instead.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
xfsettingsd/xsettings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -23,7 +31,7 @@ index 65ba1ee..9efb3cd 100644
<property name="Net" type="empty">
- <property name="ThemeName" type="empty"/>
- <property name="IconThemeName" type="empty"/>
-+ <property name="ThemeName" type="string" value="Xfce"/>
++ <property name="ThemeName" type="string" value="Adwaita"/>
+ <property name="IconThemeName" type="string" value="Adwaita"/>
<property name="DoubleClickTime" type="int" value="400"/>
<property name="DoubleClickDistance" type="int" value="5"/>
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0002-Fix-linking-to-dbus-glib-bug-13633.patch b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0002-Fix-linking-to-dbus-glib-bug-13633.patch
deleted file mode 100644
index 109b7b14..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0002-Fix-linking-to-dbus-glib-bug-13633.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b6e46e6a84e45f7bd954687be703987825a54c1e Mon Sep 17 00:00:00 2001
-From: Eric Koegel <eric.koegel@gmail.com>
-Date: Sun, 11 Jun 2017 11:38:26 +0300
-Subject: [PATCH] Fix linking to dbus-glib (bug #13633)
-
-With xfconf moving to GDBus nothing provides the libs for dbus-glib
-that xfce4-settings requires. This patch adds the libs back in until
-settings can be ported to GDBus.
-
-Signed-off-by: Sean Davis <smd.seandavis@gmail.com>
-
-Upstream-Status: Backport
----
- xfce4-settings-editor/Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/xfce4-settings-editor/Makefile.am b/xfce4-settings-editor/Makefile.am
-index 5964366..c2c7c4b 100644
---- a/xfce4-settings-editor/Makefile.am
-+++ b/xfce4-settings-editor/Makefile.am
-@@ -28,6 +28,7 @@ xfce4_settings_editor_CFLAGS = \
- $(LIBXFCE4UTIL_CFLAGS) \
- $(LIBXFCE4UI_CFLAGS) \
- $(XFCONF_CFLAGS) \
-+ $(DBUS_GLIB_CFLAGS) \
- $(PLATFORM_CFLAGS)
-
- xfce4_settings_editor_LDFLAGS = \
-@@ -39,7 +40,8 @@ xfce4_settings_editor_LDADD = \
- $(DBUS_GLIB_LIBS) \
- $(LIBXFCE4UTIL_LIBS) \
- $(LIBXFCE4UI_LIBS) \
-- $(XFCONF_LIBS)
-+ $(XFCONF_LIBS) \
-+ $(DBUS_GLIB_LIBS)
-
- desktopdir = $(datadir)/applications
- desktop_in_files = xfce4-settings-editor.desktop.in
---
-2.14.3
-
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.14.3.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.14.3.bb
new file mode 100644
index 00000000..08c612aa
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.14.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Xfce4 settings"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "exo exo-native garcon libxi virtual/libx11 xrandr libxcursor libxklavier upower"
+
+inherit xfce features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " \
+ file://0001-xsettings.xml-Set-default-themes.patch \
+"
+SRC_URI[md5sum] = "fe8f7d4221be1467b85c8539344c3f07"
+SRC_URI[sha256sum] = "cab1a4d5351f9871533700523570f86f92bbe6e4055f44e5df950eb4b4f48bb3"
+
+EXTRA_OECONF += "--enable-maintainer-mode --disable-debug"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \
+"
+PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
+PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra-gtk2 sound-theme-freedesktop"
+
+FILES_${PN} += " \
+ ${libdir}/xfce4 \
+ ${datadir}/xfce4 \
+"
+
+RRECOMMENDS_${PN} += "adwaita-icon-theme"
+RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','alsa','libcanberra-alsa','',d)}"
+RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','pulseaudio','libcanberra-pulse','',d)}"
+RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','xfce4-datetime-setter','',d)}"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
deleted file mode 100644
index a4685aed..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Xfce4 settings"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "exo exo-native garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtual/libx11 xrandr libxcursor libxklavier upower"
-
-inherit xfce xfce-git distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# schnitzeltony git repo is the mainline repo
-# + datetime-setter - sent to mainline but strange response
-# + minor bugfixes - sent mainline but no response
-# + option to hide mousepointer for a specific (touch) input device - sent mainline but no response
-SRC_URI = " \
- git://github.com/schnitzeltony/xfce4-settings.git;protocol=git;branch=for-oe-4.12.4 \
- file://0001-xsettings.xml-Set-default-themes.patch \
- file://0002-Fix-linking-to-dbus-glib-bug-13633.patch \
-"
-SRCREV = "75d7c9b15e5ccce12b0864d3659ae9b6de96e245"
-S = "${WORKDIR}/git"
-PV = "4.12.4+git${SRCPV}"
-
-EXTRA_OECONF += "--enable-maintainer-mode --disable-debug"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES','systemd','datetime-setter','',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \
-"
-PACKAGECONFIG[datetime-setter] = "--enable-datetime-settings, --disable-datetime-settings,, tzdata"
-PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
-PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra-gtk2 sound-theme-freedesktop"
-
-FILES_${PN} += " \
- ${libdir}/xfce4 \
- ${datadir}/xfce4 \
-"
-
-RRECOMMENDS_${PN} += "adwaita-icon-theme"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','alsa','libcanberra-alsa','',d)}"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','pulseaudio','libcanberra-pulse','',d)}"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb
deleted file mode 100644
index 2667ff94..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb
+++ /dev/null
@@ -1,18 +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] = "da19df12dbc494c8a4da3974e376d639"
-SRC_URI[sha256sum] = "d1a3d442dae188b5a7380b5815377e5488578cdafb03ae363e9426e3b01185df"
-
-FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \
- ${libdir}/gio/modules/libxfconfgsettingsbackend.so \
- ${datadir}/dbus-1/services/org.xfce.Xfconf.service"
-
-FILES_${PN}-dev += "${libdir}/gio/modules/libxfconfgsettingsbackend.la"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.14.3.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.14.3.bb
new file mode 100644
index 00000000..792f8b16
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.14.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Xfce configuration daemon and utilities"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+DEPENDS = "libxfce4util perl intltool-native xfce4-dev-tools-native"
+
+inherit xfce gtk-doc gobject-introspection
+
+EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl"
+
+SRC_URI[md5sum] = "25c32ed08a43e81f7900c03601dffc02"
+SRC_URI[sha256sum] = "589052a0efc6151c5fb5f438da463502a4fd91848cae7b9376d417be4c5a0c02"
+
+FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \
+ ${libdir}/gio/modules/libxfconfgsettingsbackend.so \
+ ${datadir}/dbus-1/services/org.xfce.Xfconf.service"
+
+FILES_${PN}-dev += "${libdir}/gio/modules/libxfconfgsettingsbackend.la"
+
+PACKAGECONFIG[gsettings-backend] = "--enable-gsettings-backend,--disable-gsettings-backend,"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.2.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.2.bb
deleted file mode 100644
index 85696a19..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Xfce4 Desktop Manager"
-SECTION = "x11/base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libxfce4util libxfce4ui libwnck xfconf dbus-glib dbus-glib-native thunar garcon exo"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "c05569c1c39ccd314fb5da20d5086909"
-SRC_URI[sha256sum] = "387f43d8a4615f44060c019cad212ac12df62c58eea2605813743116f71ad3bd"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
-
-FILES_${PN} += "${datadir}/backgrounds"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.14.2.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.14.2.bb
new file mode 100644
index 00000000..a512a62f
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.14.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Xfce4 Desktop Manager"
+SECTION = "x11/base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "libxfce4ui libwnck thunar garcon exo"
+
+inherit xfce features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "5db09df39b0808f25bd3a3128f8c9e77"
+SRC_URI[sha256sum] = "a30534461fea907f969f608a11c84be0b1aaad687c591c32cd56a9d274ea3e74"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
+
+FILES_${PN} += "${datadir}/backgrounds"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch b/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch
new file mode 100644
index 00000000..04fd623e
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch
@@ -0,0 +1,92 @@
+From acdceb0b28d86199b8c2233880fa8a04cb24d4d4 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 24 Jul 2019 09:48:04 +0800
+Subject: [PATCH] Revert "compositor: Revert to GLX as default vblank method
+ (again)"
+
+This reverts commit e07574d6e7a2dbaa08c3ba4765c6306073d9493e.
+
+It sets the default vblank method (auto) to GLX from 4.13.2. But it
+fails to start xfwm4 on intel-x86-64 boards with error:
+
+| xfwm4: ../mesa-19.1.1/src/mesa/drivers/dri/i965/intel_mipmap_tree.c:1293:
+| intel_miptree_match_image: Assertion `image->TexObject->Target == mt->target' failed.
+| Aborted
+
+There is also a RHEL defect:
+https://bugzilla.redhat.com/show_bug.cgi?id=1678334
+
+Revert the commit to fix the issue.
+
+Upstream-Status: Inappropriate [workaround]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/compositor.c | 41 +++++++++++++++++++----------------------
+ 1 file changed, 19 insertions(+), 22 deletions(-)
+
+diff --git a/src/compositor.c b/src/compositor.c
+index 25615282..daced607 100644
+--- a/src/compositor.c
++++ b/src/compositor.c
+@@ -4483,13 +4483,28 @@ compositorManageScreen (ScreenInfo *screen_info)
+ XClearArea (display_info->dpy, screen_info->output, 0, 0, 0, 0, TRUE);
+ TRACE ("manual compositing enabled");
+
++#ifdef HAVE_PRESENT_EXTENSION
++ screen_info->use_present = display_info->have_present &&
++ (screen_info->vblank_mode == VBLANK_AUTO ||
++ screen_info->vblank_mode == VBLANK_XPRESENT);
++ if (screen_info->use_present)
++ {
++ screen_info->present_pending = FALSE;
++ XPresentSelectInput (display_info->dpy,
++ screen_info->output,
++ PresentCompleteNotifyMask);
++ }
++#else /* HAVE_PRESENT_EXTENSION */
++ screen_info->use_present = FALSE;
++#endif /* HAVE_PRESENT_EXTENSION */
++
+ #ifdef HAVE_EPOXY
+- screen_info->use_glx = (screen_info->vblank_mode == VBLANK_AUTO ||
+- screen_info->vblank_mode == VBLANK_GLX);
++ screen_info->use_glx = !screen_info->use_present &&
+ #ifdef HAVE_XSYNC
+- screen_info->use_glx &= display_info->have_xsync;
++ display_info->have_xsync &&
+ #endif /* HAVE_XSYNC */
+-
++ (screen_info->vblank_mode == VBLANK_AUTO ||
++ screen_info->vblank_mode == VBLANK_GLX);
+ if (screen_info->use_glx)
+ {
+ screen_info->glx_context = None;
+@@ -4503,24 +4518,6 @@ compositorManageScreen (ScreenInfo *screen_info)
+ screen_info->use_glx = FALSE;
+ #endif /* HAVE_EPOXY */
+
+-#ifdef HAVE_PRESENT_EXTENSION
+- screen_info->use_present = display_info->have_present &&
+-#ifdef HAVE_EPOXY
+- !screen_info->use_glx &&
+-#endif /* HAVE_EPOXY */
+- (screen_info->vblank_mode == VBLANK_AUTO ||
+- screen_info->vblank_mode == VBLANK_XPRESENT);
+- if (screen_info->use_present)
+- {
+- screen_info->present_pending = FALSE;
+- XPresentSelectInput (display_info->dpy,
+- screen_info->output,
+- PresentCompleteNotifyMask);
+- }
+-#else /* HAVE_PRESENT_EXTENSION */
+- screen_info->use_present = FALSE;
+-#endif /* HAVE_PRESENT_EXTENSION */
+-
+ if (screen_info->use_present)
+ {
+ g_info ("Compositor using XPresent for vsync");
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb
deleted file mode 100644
index 64ad9f64..00000000
--- a/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-DESCRIPTION="Xfce4 Window Manager"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
-DEPENDS = "virtual/libx11 libxfce4util libxfce4ui xfconf libwnck3 dbus-glib libxinerama exo-native"
-
-inherit xfce update-alternatives distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "1a78bcc2100c03f6fea0dbce0ca813cf"
-SRC_URI[sha256sum] = "75ebc20d313cff4905e76fc320254c30461dbfa985461b8e75dca04770cedf12"
-
-PACKAGECONFIG ?= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'epoxy', '', d)} \
- xpresent \
- startup-notification \
-"
-
-PACKAGECONFIG[epoxy] = "--enable-epoxy,--disable-epoxy,libepoxy"
-PACKAGECONFIG[xpresent] = "--enable-xpresent,--disable-xpresent,libxpresent"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-
-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 \
-"
diff --git a/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.14.2.bb b/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.14.2.bb
new file mode 100644
index 00000000..b6066a52
--- /dev/null
+++ b/external/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.14.2.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "Xfce4 Window Manager"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
+DEPENDS = "virtual/libx11 libxfce4ui libwnck3 libxinerama exo-native"
+
+inherit xfce update-alternatives features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += "file://0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch"
+SRC_URI[md5sum] = "6d61d07b6ea88a429c43e1b9c3293eb8"
+SRC_URI[sha256sum] = "b15b40342596a3b6ab5167a58371262adf5484e165cb25a31fef42f0aa8ffd92"
+
+PACKAGECONFIG ?= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'epoxy', '', d)} \
+ xpresent \
+ startup-notification \
+"
+
+PACKAGECONFIG[epoxy] = "--enable-epoxy,--disable-epoxy,libepoxy"
+PACKAGECONFIG[xpresent] = "--enable-xpresent,--disable-xpresent,libxpresent"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+
+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 \
+"